Skip to content

Commit

Permalink
Add static OBS project files to the repo
Browse files Browse the repository at this point in the history
  • Loading branch information
patrickbkr committed Nov 6, 2023
1 parent d83866d commit 7f15d1b
Show file tree
Hide file tree
Showing 8 changed files with 1,216 additions and 0 deletions.
13 changes: 13 additions & 0 deletions misc/OBS-setup/moarvm/moarvm-segfault.diff
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
diff --git a/build/setup.pm b/build/setup.pm
index 40c0ada5b..de2fbc061 100644
--- a/build/setup.pm
+++ b/build/setup.pm
@@ -532,7 +532,7 @@ my %OS_AIX = (
my %OS_LINUX = (
%OS_POSIX,

- syslibs => [ @{$OS_POSIX{syslibs}}, qw( rt dl ) ],
+ syslibs => [ @{$OS_POSIX{syslibs}}, qw( rt dl SegFault ) ],

-thirdparty => {
uv => { %TP_UVDUMMY, objects => '$(UV_LINUX)' },
97 changes: 97 additions & 0 deletions misc/OBS-setup/moarvm/moarvm.spec
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
#
# spec file for package moarvm
#
# Copyright (c) 2021 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via https://bugs.opensuse.org/
#

%global moar_rev 388924D67C75569C85DAD83A1772F98D32525FA9_D397598A16ACA9AA7C62513B7FA9411E0820C394_3AE8A31C168A08430BB8764A25CEAFAB3B98F172

Name: moarvm
Version: %moar_rev
Release: 2.1
Summary: A virtual machine built especially for Rakudo
License: Artistic-2.0
Group: Development/Libraries/Other
URL: http://moarvm.org
Source: http://raku-ci.org/test/12345/%{moar_rev}-moar.tar.xz
# PATCH-FIX-OPENSUSE boo#1100677
Patch0: reproducible.patch
BuildRequires: perl(ExtUtils::Command)
BuildRequires: pkgconfig(libffi)
%if 0%{?suse_version} >= 1550
BuildRequires: pkgconfig(libtommath)
BuildRequires: pkgconfig(libuv)
%endif
%if !0%{?rhel_version}
BuildRequires: pkgconfig(libzstd)
%endif

%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: MoarVM development headers and libraries
Group: Development/Libraries/Other
Requires: %{name} = %{version}
Requires: pkgconfig(libffi)
%if 0%{?suse_version} >= 1550
Requires: pkgconfig(libtommath)
Requires: pkgconfig(libuv)
%endif
%if !0%{?rhel_version}
Requires: pkgconfig(libzstd)
%endif

%description devel
MoarVM (Metamodel On A Runtime) development headers.

%prep
%setup -q -n %{moar_rev}-moar
%patch0 -p1

%build
extra_config_args=
%if 0%{?suse_version} >= 1550
extra_config_args+=" --has-libtommath --has-libuv"
%endif
%ifarch riscv64
extra_config_args+=" --c11-atomics"
%endif
CFLAGS="%{optflags}" \
perl Configure.pl --prefix=%{_usr} --libdir=%{_libdir} --debug --optimize=3 --has-libffi $extra_config_args
make NOISY=1 %{?_smp_mflags}

%install
%make_install
find %buildroot -type f \( -name '*.so' -o -name '*.so.*' \) -exec chmod 755 {} +
mkdir -p $RPM_BUILD_ROOT/%{_libdir}/moar/share

%files
%defattr(-,root,root)
%doc CREDITS Artistic2.txt docs
%license LICENSE
%{_bindir}/moar
%{_libdir}/libmoar*
%{_libdir}/moar
%{_datadir}/nqp

%files devel
%defattr(-,root,root)
%{_includedir}/*
%{_datadir}/pkgconfig/*

%changelog
17 changes: 17 additions & 0 deletions misc/OBS-setup/moarvm/reproducible.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
diff --git a/build/probe.pm b/build/probe.pm
index 7c81e1a6f..8e94a592e 100644
--- a/build/probe.pm
+++ b/build/probe.pm
@@ -1022,12 +1022,6 @@ sub rdtscp {
#endif

int main(int argc, char **argv) {
- unsigned int _tsc_aux;
- unsigned int tscValue;
- tscValue = __rdtscp(&_tsc_aux);
-
- if (tscValue > 1)
- return EXIT_SUCCESS;
return EXIT_FAILURE;
}
EOT
64 changes: 64 additions & 0 deletions misc/OBS-setup/nqp-moarvm/nqp-moarvm.spec
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
#
# spec file for package nqp-moarvm
#
# Copyright (c) 2021 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via https://bugs.opensuse.org/
#

%global nqp_rev 388924D67C75569C85DAD83A1772F98D32525FA9_D397598A16ACA9AA7C62513B7FA9411E0820C394_3AE8A31C168A08430BB8764A25CEAFAB3B98F172
%global moar_rev 388924D67C75569C85DAD83A1772F98D32525FA9_D397598A16ACA9AA7C62513B7FA9411E0820C394_3AE8A31C168A08430BB8764A25CEAFAB3B98F172

Name: nqp-moarvm
Version: %nqp_rev
Release: 1.1
Summary: NQP
License: Artistic-2.0
Group: Development/Languages/Other
URL: https://github.com/Raku/nqp/
Source: http://raku-ci.org/test/12345/%{version}-nqp.tar.xz
Patch0: nqp-test-log.diff
BuildRequires: moarvm-devel = %moar_rev
BuildRequires: perl(YAML::Tiny)
Requires: moarvm = %moar_rev
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%ifarch s390x
BuildRequires: libffi-devel
%endif

%description
This is "Not Quite Perl" -- a compiler for a subset of Raku used
to implement the full Rakudo compiler. This package provides NQP running
on the MoarVM virtual machine.

%prep
%setup -q -n %{nqp_rev}-nqp
%patch0 -p1

%build
perl Configure.pl --backends=moar --prefix=%{_usr} --with-moar=/usr/bin/moar --ignore-errors
make

%check
make test

%install
make install DESTDIR=$RPM_BUILD_ROOT

%files
%defattr(-,root,root)
%doc CREDITS
%license LICENSE
%{_bindir}/*
%{_datadir}/nqp

%changelog
Loading

0 comments on commit 7f15d1b

Please sign in to comment.