f293e15
# RPM Macros for packaging Haskell packages with multiple libs  -*-rpm-spec-*-
f293e15
f293e15
# ghc_lib_subpackage [-c cdepslist] [-l licensetag] [-x] [name] [version]
f293e15
%ghc_lib_subpackage(c:l:x)\
f293e15
%define pkgname %{?1}%{!?1:%{pkg_name}}\
f293e15
%define pkgver %{?2}%{!?2:%{version}}\
f293e15
%define pkgnamever %{pkgname}-%{pkgver}\
f293e15
%{!-x:%{?1:%global ghc_packages_list %{?ghc_packages_list} %{pkgnamever}}}\
f293e15
%define basepkg ghc-%{pkgname}\
f293e15
%ghc_package\
f293e15
\
f293e15
%ghc_description\
f293e15
\
f293e15
%ghc_devel_package\
f293e15
\
f293e15
%ghc_devel_description\
f293e15
\
f293e15
%ghc_devel_post_postun\
f293e15
\
f293e15
%ghc_shared_files\
f293e15
\
f293e15
%ghc_devel_files\
f293e15
%{nil}
f293e15
f293e15
# ghc_package [-l licensetag] [name] [version]
f293e15
%ghc_package(l:)\
f293e15
%define pkgname %{?1}%{!?1:%{pkg_name}}\
f293e15
%define pkgver %{?2}%{!?2:%{version}}\
f293e15
%define basepkg ghc-%{pkgname}\
f293e15
%package -n %{basepkg}\
f293e15
Summary:        %{?common_summary}%{!?common_summary:Haskell %{pkgname} library}\
f293e15
%{?1:Version:        %{pkgver}}\
f293e15
%{-l:License:        %{-l*}}\
f293e15
Url:            http://hackage.haskell.org/package/%{pkgname}\
f293e15
%{?ghc_pkg_obsoletes:Obsoletes:      %(echo "%{ghc_pkg_obsoletes}" | sed -e "s/\\(ghc-[^, ]*\\)-devel/\\1/g")}\
f293e15
%{nil}
f293e15
f293e15
# ghc_description [name] [version]
f293e15
%ghc_description()\
f293e15
%define pkgname %{?1}%{!?1:%{pkg_name}}\
f293e15
%define basepkg ghc-%{pkgname}\
f293e15
%description -n %{basepkg}\
f293e15
%{?common_description}%{!?common_description:Haskell %{pkgname} library.}\
f293e15
%if %{defined ghc_version} && %{undefined ghc_without_shared}\
f293e15
This package provides the shared library.\
f293e15
%endif\
f293e15
%{nil}
f293e15
f293e15
# ghc_devel_package [-c cdepslist] [-l licensetag] [-m] [name] [version]
f293e15
#  -m : meta-package
f293e15
%ghc_devel_package(c:l:m)\
f293e15
%define pkgname %{?1}%{!?1:%{pkg_name}}\
f293e15
%define pkgver %{?2}%{!?2:%{version}}\
f293e15
%define basepkg ghc-%{pkgname}\
f293e15
%package -n %{basepkg}-devel\
f293e15
Summary:        %{?common_summary}%{!?common_summary:Haskell %{pkgname} library} development files\
f293e15
%{?1:Version:        %{pkgver}}\
f293e15
%{-l:License:        %{-l*}}\
f293e15
Requires:       ghc-compiler = %{ghc_version}\
f293e15
Requires(post): ghc-compiler = %{ghc_version}\
f293e15
Requires(postun): ghc-compiler = %{ghc_version}\
f293e15
%if 0%{!?-m:1}\
f293e15
Requires:       ghc-%{?pkg_name}%{!?pkg_name:%{pkgname}} = %{?pkgver}%{!?pkgver:%{version}}-%{release}\
ce2ed10
%endif\
f293e15
%{?ghc_pkg_c_deps:Requires:       %{ghc_pkg_c_deps}}\
f293e15
%{-c:Requires:       %{-c*}}\
f293e15
%{?ghc_pkg_obsoletes:Obsoletes:      %{ghc_pkg_obsoletes}}\
f293e15
%{?ghc_pkg_obsoletes:Obsoletes:      %(echo "%{ghc_pkg_obsoletes}" | sed -e "s/\\(ghc-[^, ]*\\)-devel/\\1-doc/g")}\
f293e15
Obsoletes:      %{basepkg}-doc < %{pkgver}-%{release}\
f293e15
Provides:       %{basepkg}-doc = %{pkgver}-%{release}\
f293e15
Obsoletes:      %{basepkg}-prof < %{pkgver}-%{release}\
f293e15
%if %{undefined without_prof}\
f293e15
Provides:       %{basepkg}-prof = %{pkgver}-%{release}\
f293e15
%endif\
f293e15
%{nil}
f293e15
f293e15
# ghc_devel_description
f293e15
%ghc_devel_description()\
f293e15
%define pkgname %{?1}%{!?1:%{pkg_name}}\
f293e15
%define basepkg ghc-%{pkgname}\
f293e15
%description -n %{basepkg}-devel\
f293e15
%{?common_description}%{!?common_description:Haskell %{pkgname} library.}\
f293e15
\
f293e15
This package contains the development files.\
f293e15
%{nil}
f293e15
f293e15
# ghc_devel_post_postun
f293e15
%ghc_devel_post_postun()\
f293e15
%define pkgname %{?1}%{!?1:%{pkg_name}}\
f293e15
%define basepkg ghc-%{pkgname}\
f293e15
%post -n %{basepkg}-devel\
f293e15
%ghc_pkg_recache\
f293e15
\
f293e15
%postun -n %{basepkg}-devel\
f293e15
%ghc_pkg_recache\
f293e15
%{nil}
f293e15
f293e15
%ghc_files()\
f293e15
%{?1:%define base_doc_files %*}\
f293e15
%define basepkg ghc-%{pkg_name}\
f293e15
%ghc_shared_files\
f293e15
\
f293e15
%ghc_devel_files\
f293e15
%{nil}
f293e15
f293e15
%ghc_shared_files\
f293e15
%files -n %{basepkg} -f %{basepkg}.files\
f293e15
%{?base_doc_files:%doc %base_doc_files}\
f293e15
%{nil}
f293e15
f293e15
%ghc_devel_files\
f293e15
%files -n %{basepkg}-devel -f %{basepkg}-devel.files\
f293e15
%{?devel_doc_files:%doc %devel_doc_files}\
f293e15
%{nil}