%ifarch aarch64 %define longarch aarch64 %define arch aarch64 %endif %ifarch x86_64 %define longarch x86_64 %define sysname unknown %define arch x86_64 %endif %ifarch riscv64 %define longarch riscv64 %define arch riscv64 %endif %ifarch aarch64 riscv64 %define sysname unknown %endif Name: ghc-bootstrap Version: 9.8.2 Release: 1%{?dist} Summary: Bootstrap GHC with this package License: BSD-3-Clause URL: https://download.opensuse.org/repositories/devel:/languages:/haskell/openSUSE_Tumbleweed/src/ Source1: ghc-%{version}-x86_64-unknown-linux.tar.xz Source2: ghc-%{version}-aarch64-unknown-linux.tar.xz Source3: ghc-%{version}-riscv64-unknown-linux.tar.xz Source4: README.openSUSE Source5: LICENSE BuildRequires: chrpath BuildRequires: fdupes BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: pkgconfig(gmp) BuildRequires: pkgconfig(libffi) >= 3.4.4 BuildRequires: pkgconfig(ncurses) BuildRequires: pkgconfig BuildRequires: pkgconfig(libffi) Requires: pkconfig(gmp) Requires: pkgconfig(libffi) >= 3.4.4 Requires: pkgconfig(ncurses) Conflicts: ghc-base # This package is not meant to be used outside our build system as # OpenSUSE doesn't use it outside of their OBS Requires: this-is-only-for-build-envs Requires: pkgconfig(libffi) Provides: ghc-bootstrap-devel = %{version}-%{release} ExclusiveArch: x86_64 aarch64 riscv64 AutoReq: off %ifnarch s390x BuildRequires: pkgconfig(numa) %endif %ifarch s390x riscv64 Requires: clang Requires: llvm %endif %ifnarch s390x Requires: pkgconfig(libffi) Requires: pkgconfig(numa) %endif %description This package contains a binary distribution of "The Glorious Glasgow Haskell Compilation System". See README.openSUSE on how the tarballs were produced. Do not install this package! Install 'ghc' instead. %prep cp %{SOURCE1} . cp %{SOURCE2} . cp %{SOURCE3} . cp %{SOURCE4} . cp %{SOURCE5} . %build tar Jxf ghc-%{version}-%{longarch}-%{sysname}-linux.tar.xz cd ghc-%{version}-%{longarch}-%{sysname}-linux %install cd ghc-%{version}-%{longarch}-%{sysname}-linux %configure --prefix=%{_bindir} --libdir=%{_libdir} mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d echo "%{_bindir}/lib/ghc-%{version}/lib/%{arch}-linux-ghc-%{version}" > %{buildroot}%{_sysconfdir}/ld.so.conf.d/ghc.conf %make_install %fdupes -s %{buildroot} for i in $(find %{buildroot} -type f -executable -exec sh -c "file {} | grep -q 'dynamically linked'" \; -print); do chrpath -d $i done rm %{buildroot}/%{_libdir}/ghc-%{version}/lib/package.conf.d/.stamp (cd %{buildroot}/%{_libdir}/ghc-%{version}/lib/package.conf.d/ for i in *.conf; do mv $i.copy $i done ) %post %{_sbindir}/ldconfig %{_bindir}/ghc-pkg recache %postun -p %{_sbindir}/ldconfig %files %{_docdir}/* %license LICENSE %{_libdir}/* %{_bindir}/* %config %{_sysconfdir}/ld.so.conf.d/ghc.conf