## START: Set by rpmautospec
## (rpmautospec version 0.7.3)
## 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

Name:           moarvm
Version:        2024.12
Release:        %autorelease
Summary:        Metamodel On A Runtime Virtual Machine
License:        Artistic-2.0
URL:            https://moarvm.org/
Source:         https://github.com/MoarVM/MoarVM/releases/download/%{version}/MoarVM-%{version}.tar.gz

BuildRequires:  gcc
BuildRequires:  make
BuildRequires:  perl
BuildRequires:  libffi-devel
BuildRequires:  libatomic_ops-devel
BuildRequires:  libtommath-devel
BuildRequires:  libuv-devel
BuildRequires:  libzstd-devel
BuildRequires:  mimalloc-devel

%description
MoarVM (short for Metamodel On A Runtime Virtual Machine) is a runtime built
for the 6model object system. It is primarily aimed at running NQP and Rakudo,
but should be able to serve as a backend for any compilers built using the NQP
compiler toolchain.

%package        devel
Summary:        Development files for %{name}
Requires:       %{name}%{?_isa} = %{version}-%{release}
Requires:       libuv-devel
Requires:       mimalloc-devel
Requires:       libffi-devel
Requires:       libtommath-devel
Requires:       libzstd-devel

%description devel
This package contains development files for developing applications that use
%{name}.

%prep
%autosetup -p1 -n MoarVM-%{version}

# remove bundled libraries
rm -rf 3rdparty/{libuv,libatomicops,dyncall,libtommath,mimalloc}/

%build
%{__perl} Configure.pl --prefix=%{_prefix} --libdir=%{_libdir} \
  --has-libuv \
  --has-libffi \
  --has-libatomic_ops \
  --has-libtommath \
  --has-mimalloc

%make_build

%install
%make_install

chmod 755 %{buildroot}%{_libdir}/libmoar.so

%files
%license LICENSE
%doc CREDITS docs
%{_bindir}/moar
%{_libdir}/libmoar.so
%{_datadir}/nqp/

%files devel
%{_includedir}/moar/
%{_datadir}/pkgconfig/moar.pc

%changelog
## START: Generated by rpmautospec
* Sun Dec 15 2024 topazus <topazus@outlook.com> - 2024.12-1
- 2024.12

* Sat Sep 28 2024 topazus <topazus@outlook.com> - 2024.09-1
- 2024.09

* Tue Aug 13 2024 Felix Wang <topazus@outlook.com> - 2024.07-1
- 2024.07

* Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2024.04-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild

* Fri Apr 26 2024 topazus <topazus@outlook.com> - 2024.04-1
- 2024.04

* Fri Mar 29 2024 Packit <hello@packit.dev> - 2024.03-1
- [packit] 2024.03 upstream release
- Resolves: rhbz#2272196

* Fri Mar 01 2024 Packit <hello@packit.dev> - 2024.02-1
- [packit] 2024.02 upstream release
- Resolves rhbz#2267365

* Sat Jan 27 2024 Packit <hello@packit.dev> - 2024.01-1
- [packit] 2024.01 upstream release
- Resolves rhbz#2260667

* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2023.12-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild

* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2023.12-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild

* Sat Dec 23 2023 topazus <topazus@outlook.com> - 2023.12-2
- remove source file

* Sat Dec 23 2023 Packit <hello@packit.dev> - 2023.12-1
- [packit] 2023.12 upstream release
- Resolves rhbz#2250948

* Wed Nov 22 2023 topazus <topazus@outlook.com> - 2023.10-2
- add packit configuration file

* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.2020.07-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild

* Fri Jun 24 2022 Petr Pisar <ppisar@redhat.com> - 0.2020.07-6
- Disable package-notes (bug #2070099)

* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.2020.07-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild

* Sat Jan 08 2022 Miro HronĨok <mhroncok@redhat.com> - 0.2020.07-4
- Rebuilt for https://fedoraproject.org/wiki/Changes/LIBFFI34

* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.2020.07-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild

* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.2020.07-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild

* Wed Aug 12 2020 Gerd Pokorra <gp@zimt.uni-siegen.de> 0.2020.07-1
- update to 2020.07

* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.2020.02-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild

* Mon Feb 24 2020 Gerd Pokorra <gp@zimt.uni-siegen.de> 0.2020.02-1
- update to 2020.02

* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.2019.11-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild

* Sat Nov 30 2019 Gerd Pokorra <gp@zimt.uni-siegen.de> 0.2019.11-1
- update to 2019.11

* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.2019.03-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild

* Tue Mar 19 2019 Gerd Pokorra <gp@zimt.uni-siegen.de> 0.2019.03-1
- update to 2019.03

* Mon Oct 29 2018 Gerd Pokorra <gp@zimt.uni-siegen.de> 0.2018.10-1
- update to 2018.10
- add BuildRequires perl(Data::Dumper)

* Mon Apr 30 2018 Gerd Pokorra <gp@zimt.uni-siegen.de> 0.2018.04.1-1
- update to 2018.04.1, that fix denormals and precision issues in Num parser
- include the libatomic_ops header files, which are needed for EPEL

* Wed Apr 25 2018 Gerd Pokorra <gp@zimt.uni-siegen.de> 0.2018.04-1
- update to 2018.04
- change the remove of the libatomic_ops sources to the new different directory

* Mon Aug 21 2017 Gerd Pokorra <gp@zimt.uni-siegen.de> 0.2017.08.1-1
- change the work around of libtommath and add the definition of
  'MP_GEN_RANDOM_MAX'
- update to 2017.08.1

* Sun Jun 18 2017 Gerd Pokorra <gp@zimt.uni-siegen.de> 0.2017.06-1
- use the environment variables CFLAGS and LDFLAGS
- update to 2017.06

* Mon May 08 2017 Gerd Pokorra <gp@zimt.uni-siegen.de> 0.2017.04-2
- add $RPM_OPT_FLAGS to cflags again (bug #1448686)

* Fri Apr 28 2017 Gerd Pokorra <gp@zimt.uni-siegen.de> 0.2017.04-1
- use the option has-libffi
- update to 2017.04

* Fri Dec 09 2016 Gerd Pokorra <gp@zimt.uni-siegen.de> 0.2016.11-1
- build on epel7
- update to 2016.11

* Fri Jan 29 2016 Gerd Pokorra <gp@zimt.uni-siegen.de> 0.2016.01-1
- sha1, msinttypes and tinymt header files will no longer installed
- update to 2016.01

* Fri Jun 19 2015 Gerd Pokorra <gp@zimt.uni-siegen.de> 0.2015.06-1
- add HTML files and man-page generation
- change Summary text
- update to 2015.06

* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.2015.05-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild

* Sat May 23 2015 Gerd Pokorra <gp@zimt.uni-siegen.de> 0.2015.05-1
- 3rdparty/linenoise is gone, no readline are used
- update to 2015.05

* Sat Apr 25 2015 Gerd Pokorra <gp@zimt.uni-siegen.de> 0.2015.04-2
- change MoarVM build to that NQP builds on top

* Sat Apr 25 2015 Gerd Pokorra <gp@zimt.uni-siegen.de> 0.2015.04-1
- update to 2015.04

* Sat Jan 24 2015 Gerd Pokorra <gp@zimt.uni-siegen.de> 0.2014.12-1
- update to 2014.12
- add pkgconfig/moar.pc file
- --libdir option could used

* Thu Jan 22 2015 Gerd Pokorra <gp@zimt.uni-siegen.de> 0.2014.04-6
- add BuildRequies: perl(ExtUtils::Command) perl(autodie)
- rebuild to solve dependency

* Fri Aug 29 2014 Gerd Pokorra <gp@zimt.uni-siegen.de> 0.2014.04-5
- remove of libtommath 3rdparty source files
- remove of libatomic_ops only if fedora > 20

* Fri Aug 22 2014 Gerd Pokorra <gp@zimt.uni-siegen.de> 0.2014.04-4
- add 'BuildRequires: libatomic_ops-devel >= 7.4'
- first remove of 3rdparty source files

* Wed May 07 2014 Gerd Pokorra <gp@zimt.uni-siegen.de> 0.2014.04-3
- modify Configure.pl so that the Fedora specific flags for cflags and ldflags
  will be written to the Makefile
- make lib64 directory creation more general

* Wed Apr 30 2014 Gerd Pokorra <gp@zimt.uni-siegen.de> 0.2014.04-2
- add optimize flag to Configure.pl
- add CFLAGS and LDFLAGS to make
- change summary tag

* Sat Apr 26 2014 Gerd Pokorra <gp@zimt.uni-siegen.de> 0.2014.04-1
- update to 2014.04
- remove patches that are included in upstream
- add BuildRequires perl(Pod::Usage)

* Mon Mar 31 2014 Gerd Pokorra <gp@zimt.uni-siegen.de> 0.2014.03-2
- add patch to have more configuration flags
- call Confiugre.pl with has-libatomic_ops

* Wed Mar 26 2014 Gerd Pokorra <gp@zimt.uni-siegen.de> 0.2014.03-1
- update to 2014.03
- call Configure.pl with has-sha and add BuildRequires sha-devel
- call Configure.pl with has-libuv and add BuildRequires libuv-devel
- exclude libuv and sha1 header file
- exclude header files for Microsoft Visual Studio (msinittypes)

* Mon Mar 17 2014 Gerd Pokorra <gp@zimt.uni-siegen.de> 0.2014.02-3
- call Configure.pl with use-readline flag
- add BuildRequires readline-devel and libtommath-devel
- exclude linenoise and libtommath header file
- add patch to link with libtommath from the system and use it as a flag

* Fri Mar 14 2014 Gerd Pokorra <gp@zimt.uni-siegen.de> 0.2014.02-2
- improve devel package tags
- description is no longer than 80 chars per line any more
- RPM_BUILD_ROOT cleanup is removed

* Sat Feb 22 2014 Gerd Pokorra <gp@zimt.uni-siegen.de> 0.2014.02-1
- create initial spec file from the template 'rpmdev-newspec moarvm'
- add changing permission of libmoar.so
- add Group tag
- add devel-subpackage

## END: Generated by rpmautospec