summaryrefslogtreecommitdiff
path: root/ghc-bootstrap.spec
blob: bc5ed44ee964de3b23825d34a4fccc41428bd62d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
Name:           ghc-bootstrap
Version:        9.2.3
Release:        1
Summary:        Binary distributions of The Glorious Glasgow Haskell Compiler
License:        BSD-3-Clause
URL:            https://gitee.com/src-openeuler/ghc-bootstrap
Source0:        LICENSE
Source1:        ghc-9.2.3-x86_64-unknown-linux.tar.xz
Source2:        ghc-9.2.3-aarch64-unknown-linux.tar.xz

BuildRequires:  chrpath
BuildRequires:  fdupes
BuildRequires:  gmp-devel
BuildRequires:  libffi
BuildRequires:  libatomic
BuildRequires:  ncurses-libs
BuildRequires:  pkgconfig
BuildRequires:  pkgconfig(libffi)
BuildRequires:  numactl-devel
Requires:       gmp-devel
Requires:       libffi
Requires:       libatomic
Requires:       ncurses-libs
Requires:       pkgconfig(libffi)
Requires:       numactl-devel
Requires:       libffi-devel

Conflicts:      ghc-base
Provides:       ghc-bootstrap-devel
ExclusiveArch:  x86_64 aarch64 
AutoReq:        off

%description
This package contains a binary distribution of The Glorious Glasgow
Haskell Compilation System. 

The tarballs come from the ghc download page.
This package is only used for bootstraping ghc.

Do not install this package! Install 'ghc' instead.

%prep
cp %{SOURCE0} .
cp %{SOURCE1} .
cp %{SOURCE2} .

%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 x86_64 aarch64 
%define sysname unknown
%endif

%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=/opt
mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d
echo "/opt/lib/ghc-%{version}/lib/%{arch}-linux-ghc-%{version}" > %{buildroot}%{_sysconfdir}/ld.so.conf.d/ghc.conf
%make_install
for i in $(find %{buildroot} -type f -executable -exec sh -c "file {} | grep -q 'dynamically linked'" \; -print); do
    chrpath -d $i
done

rm %{buildroot}/opt/lib/ghc-%{version}/lib/package.conf.d/.stamp
(cd %{buildroot}/opt/lib/ghc-%{version}/lib/package.conf.d/
for i in *.conf; do
    mv $i.copy $i
done
)

%post
/sbin/ldconfig
/opt/bin/ghc-pkg recache

%postun -p /sbin/ldconfig

%files
%license LICENSE
/opt/*
%config %{_sysconfdir}/ld.so.conf.d/ghc.conf

%changelog
* Sat Jul 22 2023 Lin Runze <lrzlin@163.com> - 9.2.3-1
- Initial packaging. (Version 9.2.3)