%global soversion %(echo '%{version}' | cut -f 1-2 -d '.') Name: mruby Version: 3.3.0 Release: %autorelease Summary: Lightweight implementation of the Ruby language # License breakdown: # [Public Domain] # - mrbgems/mruby-bigint/* # - src/fmt_fp.c # - src/readfloat.c # [GPL-3.0-or-later] # - mrbgems/mruby-compiler/core/y.tab.c License: MIT AND Public Domain AND GPL-3.0-or-later URL: https://github.com/mruby/mruby Source0: https://github.com/mruby/mruby/archive/refs/tags/%{version}.tar.gz#/%{name}-%{version}.tar.gz BuildRequires: gcc BuildRequires: gcc-c++ 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 3.x. Also, its syntax is Ruby 3.x compatible except for pattern matching. %package devel Summary: Development libraries and header files for %{name} %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 # code used on Windows platform licensed under HPND-Kevlin-Henney rm -r mrbgems/mruby-dir/src/Win %build CFLAGS+='-fpic' LDFLAGS+='-lm' rake -v all pushd build/host rm bin/* ${CC} -shared -o lib/libmruby.so.%{soversion} ${LDFLAGS} -Wl,-soname,libmruby.so.%{soversion} -Wl,--whole-archive lib/libmruby.a -Wl,--no-whole-archive ${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 export PREFIX=%{buildroot}%{_prefix} rake install mv -T -n %{buildroot}%{_prefix}/lib %{buildroot}%{_libdir} ln -s libmruby.so.%{soversion} %{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 export LD_LIBRARY_PATH=%{buildroot}%{_libdir} rake test %files %license LICENSE LEGAL %doc README.md %{_bindir}/mirb %{_bindir}/mrbc %{_bindir}/mrdb %{_bindir}/mruby %{_libdir}/libmruby.so.%{soversion} %files devel %{_libdir}/libmruby.so %{_includedir}/* %files static %license LICENSE LEGAL %{_bindir}/mruby-config %{_bindir}/mruby-strip %{_libdir}/libmruby.a %{_libdir}/libmruby_core.a %{_libdir}/libmruby.flags.mak %files doc %license LICENSE LEGAL %{_docdir}/%{name}/ %changelog %autochangelog