## START: Set by rpmautospec ## (rpmautospec version 0.8.4) ## RPMAUTOSPEC: autorelease, autochangelog %define autorelease(e:s:pb:n) %{?-p:0.}%{lua: release_number = 1; base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); print(release_number + base_release_number - 1); }%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} ## END: Set by rpmautospec %global git_hash 478ada3bf4fe81ec2e6bbf0fcd4e834c08da4a0b %global git_short_hash %(echo %{git_hash} | cut -b -7) # LLD is orders of magnitude faster and uses much less memory %global linker_command '-fuse-ld=lld' Name: mruby Version: 4.0.0^20260512.%{git_short_hash} Release: %autorelease Summary: Lightweight implementation of the Ruby language # License breakdown: # [LicenseRef-Fedora-Public-Domain] # - mrbgems/mruby-bigint/core/bigint.h (fgmp header) # [BSD-2-Clause] # - src/string.c (memsearch_swar function) # [GPL-3.0-or-later] # - mrbgems/mruby-compiler/core/y.tab.c (Bison output) # Rest is MIT License: MIT AND LicenseRef-Fedora-Public-Domain AND BSD-2-Clause AND GPL-3.0-or-later URL: https://github.com/mruby/mruby # Source0: https://github.com/mruby/mruby/archive/%{version}/%{name}-%{version}.tar.gz Source0: https://github.com/mruby/mruby/archive/%{git_hash}.tar.gz#/%{name}-%{version}.tar.gz Patch: Disable-custom-debug-and-optimization-flags.patch BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: lld BuildRequires: rubygem-rake BuildRequires: doxygen BuildRequires: graphviz BuildRequires: web-assets-devel %description Mruby is the lightweight implementation of the Ruby language complying to (part of) the ISO standard with more recent features provided by Ruby 4.x. Also, its syntax is Ruby 4.x compatible. %package devel Summary: Development libraries and header files for %{name} Requires: %{name}%{?_isa} = %{version}-%{release} %description devel %{summary}. %package static Summary: Static library of %{name} Requires: %{name}-devel%{?_isa} = %{version}-%{release} %description static %{summary}. %package doc BuildArch: noarch Summary: Documentation for %{name} Requires: js-jquery %description doc %{summary}. %prep %autosetup -p1 -C # code used on Windows platform licensed under HPND-Kevlin-Henney rm -r mrbgems/mruby-dir/ports/win %build LDFLAGS+='-lm %{linker_command}' MRUBY_CONFIG='host-shared' LD='gcc %{linker_command}' rake -v all pushd build/host rm bin/* ${CC} ${CFLAGS} -o "bin/mrbc" mrbgems/mruby-bin-mrbc/tools/mrbc/*.o ${LDFLAGS} "lib/libmruby_core.a" ${CC} ${CFLAGS} -o "bin/mirb" mrbgems/mruby-bin-mirb/tools/mirb/*.o ${LDFLAGS} -Llib -Wl,-Bdynamic -lmruby ${CC} ${CFLAGS} -o "bin/mrdb" mrbgems/mruby-bin-debugger/tools/mrdb/*.o ${LDFLAGS} -Llib -Wl,-Bdynamic -lmruby ${CC} ${CFLAGS} -o "bin/mruby" mrbgems/mruby-bin-mruby/tools/mruby/*.o ${LDFLAGS} -Llib -Wl,-Bdynamic -lmruby ${CC} ${CFLAGS} -o "bin/mruby-strip" mrbgems/mruby-bin-strip/tools/mruby-strip/*.o ${LDFLAGS} -Llib -Wl,-Bdynamic -lmruby popd rake -v doc:capi %install PREFIX=%{buildroot}%{_prefix} rake install mv -T --update=none %{buildroot}%{_prefix}/lib %{buildroot}%{_libdir} rm -v %{buildroot}%{_libdir}/libmruby_core.so* ln -f -r -s %{buildroot}%{_libdir}/libmruby.so.* %{buildroot}%{_libdir}/libmruby.so mkdir -p %{buildroot}%{_docdir}/%{name} rm doc/capi/html/jquery.js ln -s %{_webassetdir}/jquery/latest/jquery.js doc/capi/html/jquery.js mv -t %{buildroot}%{_docdir}/%{name} doc/capi/html %check LD_LIBRARY_PATH=%{buildroot}%{_libdir} LD='gcc %{linker_command}' rake -v test %files %license LICENSE LEGAL %doc README.md %{_bindir}/mirb %{_bindir}/mrbc %{_bindir}/mrdb %{_bindir}/mruby %{_libdir}/libmruby.so.* %files devel %{_libdir}/libmruby.so %{_includedir}/* %files static %license LICENSE LEGAL %{_bindir}/mruby-config %{_bindir}/mruby-strip %{_libdir}/libmruby.a %{_libdir}/libmruby.flags.mak %files doc %license LICENSE LEGAL %{_docdir}/%{name}/ %changelog ## START: Generated by rpmautospec * Wed May 13 2026 John Doe - 4.0.0^20260512.478ada3-1 - Uncommitted changes ## END: Generated by rpmautospec