|
|
73b0bd1 |
# RPM Macros for packaging Haskell packages with multiple libs -*-rpm-spec-*-
|
|
|
73b0bd1 |
|
|
|
f1517cd |
# ghc_lib_subpackage [-c cdepslist] [-d] [-l licensetag] [-x] [name-version]
|
|
|
ebdd006 |
# for backward compat also support: ghc_lib_subpackage name version
|
|
|
f1517cd |
%ghc_lib_subpackage(c:dl:x)\
|
|
|
ebdd006 |
%define pkgname %{?2:%{1}}%{!?2:%{lua:\
|
|
|
8539a71 |
local pv = rpm.expand("%1")\
|
|
|
09527a5 |
local _, _, name = string.find(pv, "^([%a%d-]+)-")\
|
|
|
8539a71 |
print(name)\
|
|
|
ebdd006 |
}}\
|
|
|
ebdd006 |
%define pkgver %{?2}%{!?2:%{lua:\
|
|
|
8539a71 |
local pv = rpm.expand("%1")\
|
|
|
8539a71 |
print(string.sub(pv, string.find(pv, "[%d.]+$")))\
|
|
|
ebdd006 |
}}\
|
|
|
7a5198b |
%{!-x:%{?1:%global ghc_packages_list %{?ghc_packages_list} %{pkgname}-%{pkgver}}}\
|
|
|
fb48383 |
%define ghc_prefix %{?ghc_name}%{!?ghc_name:ghc}\
|
|
|
f0f6b55 |
%define basepkg %{ghc_prefix}-%{pkgname}\
|
|
|
73b0bd1 |
%package -n %{basepkg}\
|
|
|
6dad230 |
Summary: Haskell %{pkgname} library\
|
|
|
7e15be0 |
%if 0%{?rhel} && 0%{?rhel} < 7\
|
|
|
7e15be0 |
Group: System/Libraries\
|
|
|
7e15be0 |
%endif\
|
|
|
73b0bd1 |
%{?1:Version: %{pkgver}}\
|
|
|
73b0bd1 |
%{-l:License: %{-l*}}\
|
|
|
48199c8 |
Url: http://hackage.haskell.org/package/%{pkgname}\
|
|
|
f0f6b55 |
%{?ghc_pkg_obsoletes:Obsoletes: %(echo "%{ghc_pkg_obsoletes}" | sed -e "s/\\(%{ghc_prefix}-[^, ]*\\)-devel/\\1/g")}\
|
|
|
73b0bd1 |
\
|
|
|
ecaa014 |
%description -n %{basepkg}\
|
|
|
6dad230 |
This package provides the Haskell %{pkgname} library.\
|
|
|
73b0bd1 |
\
|
|
|
73b0bd1 |
%package -n %{basepkg}-devel\
|
|
|
6dad230 |
Summary: Haskell %{pkgname} library development files\
|
|
|
7e15be0 |
%if 0%{?rhel} && 0%{?rhel} < 7\
|
|
|
7e15be0 |
Group: Development/Languages/Other\
|
|
|
7e15be0 |
%endif\
|
|
|
73b0bd1 |
%{?1:Version: %{pkgver}}\
|
|
|
73b0bd1 |
%{-l:License: %{-l*}}\
|
|
|
f0f6b55 |
Requires(post): %{ghc_prefix}-compiler = %{ghc_version}\
|
|
|
f0f6b55 |
Requires(postun): %{ghc_prefix}-compiler = %{ghc_version}\
|
|
|
f0f6b55 |
Requires: %{ghc_prefix}-%{pkgname}%{?_isa} = %{pkgver}-%{release}\
|
|
|
73b0bd1 |
%{?ghc_pkg_c_deps:Requires: %{ghc_pkg_c_deps}}\
|
|
|
73b0bd1 |
%{-c:Requires: %{-c*}}\
|
|
|
73b0bd1 |
%{?ghc_pkg_obsoletes:Obsoletes: %{ghc_pkg_obsoletes}}\
|
|
|
ecaa014 |
\
|
|
|
73b0bd1 |
%description -n %{basepkg}-devel\
|
|
|
6dad230 |
This package provides the Haskell %{pkgname} library development files.\
|
|
|
73b0bd1 |
\
|
|
|
73b0bd1 |
%post -n %{basepkg}-devel\
|
|
|
73b0bd1 |
%ghc_pkg_recache\
|
|
|
73b0bd1 |
\
|
|
|
73b0bd1 |
%postun -n %{basepkg}-devel\
|
|
|
ecaa014 |
%ghc_pkg_recache\
|
|
|
73b0bd1 |
\
|
|
|
f1517cd |
%files -n %{basepkg} -f %{!-d:%{pkgname}-%{pkgver}/}%{basepkg}.files\
|
|
|
7e15be0 |
%if 0%{?rhel} && 0%{?rhel} < 7\
|
|
|
7e15be0 |
%defattr(-,root,root,-)\
|
|
|
7e15be0 |
%endif\
|
|
|
6dad230 |
%{?base_doc_files:%doc %base_doc_files}\
|
|
|
6dad230 |
\
|
|
|
f1517cd |
%files -n %{basepkg}-devel -f %{!-d:%{pkgname}-%{pkgver}/}%{basepkg}-devel.files\
|
|
|
7e15be0 |
%if 0%{?rhel} && 0%{?rhel} < 7\
|
|
|
7e15be0 |
%defattr(-,root,root,-)\
|
|
|
7e15be0 |
%endif\
|
|
|
ecaa014 |
%{?devel_doc_files:%doc %devel_doc_files}\
|
|
|
73b0bd1 |
%{nil}
|
|
|
986f88a |
|
|
|
ad5af67 |
# ghc_libs_build [name-version] ...
|
|
|
40e1493 |
%ghc_libs_build()\
|
|
|
986f88a |
HOME=$PWD\
|
|
|
89fc885 |
%global ghc_subpackaging 1\
|
|
|
986f88a |
for i in %*; do\
|
|
|
96d4e68 |
name=$(echo $i | sed -e "s/\\(.*\\)-.*/\\1/")\
|
|
|
96d4e68 |
ver=$(echo $i | sed -e "s/.*-\\(.*\\)/\\1/")\
|
|
|
986f88a |
cd $name-$ver\
|
|
|
986f88a |
case $name in\
|
|
|
986f88a |
haskell-platform)\
|
|
|
986f88a |
%ghc_lib_build_without_haddock $name $ver\
|
|
|
986f88a |
;;\
|
|
|
986f88a |
*)\
|
|
|
986f88a |
%ghc_lib_build $name $ver\
|
|
|
986f88a |
./Setup register --inplace\
|
|
|
986f88a |
;;\
|
|
|
986f88a |
esac\
|
|
|
986f88a |
cd ..\
|
|
|
986f88a |
done\
|
|
|
986f88a |
%{nil}
|
|
|
986f88a |
|
|
|
ad5af67 |
# ghc_libs_install [name-version] ...
|
|
|
40e1493 |
%ghc_libs_install()\
|
|
|
986f88a |
HOME=$PWD\
|
|
|
411d61d |
args="%*"\
|
|
|
411d61d |
for i in $args; do\
|
|
|
411d61d |
cd $i\
|
|
|
96d4e68 |
name=$(echo $i | sed -e "s/\\(.*\\)-.*/\\1/")\
|
|
|
96d4e68 |
ver=$(echo $i | sed -e "s/.*-\\(.*\\)/\\1/")\
|
|
|
986f88a |
%ghc_lib_install $name $ver\
|
|
|
986f88a |
cd ..\
|
|
|
986f88a |
done\
|
|
|
411d61d |
%ghc_fix_rpath $args\
|
|
|
986f88a |
%{nil}
|