From 575d1a366ab342c087536cf2934082cfe1fb8396 Mon Sep 17 00:00:00 2001 From: Jens Petersen Date: Wed, 11 Jul 2012 20:26:17 +0900 Subject: [PATCH] backport rest of subpackaging improvements from f18 rawhide - let ghc_bin_install take an arg to disable implicit stripping for subpackages - fix doc handling of subpackages for ghc_without_shared - without ghc_exclude_docdir include doc dir also for subpackages - rename ghc_binlib_package to ghc_lib_subpackage - add ghc_lib_build_without_haddock - no longer drop into package dirs when subpackaging with ghc_lib_build and ghc_lib_install --- ghc-rpm-macros.ghc | 42 ++++++++++++++++++++---------------------- ghc-rpm-macros.spec | 11 ++++++++++- 2 files changed, 30 insertions(+), 23 deletions(-) diff --git a/ghc-rpm-macros.ghc b/ghc-rpm-macros.ghc index 1ad6e7a..23f6f52 100644 --- a/ghc-rpm-macros.ghc +++ b/ghc-rpm-macros.ghc @@ -21,7 +21,7 @@ fi # configure %cabal_configure\ %ghc_check_bootstrap\ -%cabal configure --prefix=%{_prefix} --libdir=%{_libdir} --docdir=%{_docdir}/%{name}-%{version} %{?pkg_name:--htmldir=%{ghclibdocdir}/%{pkg_name}-%{version}} --libsubdir='$compiler/$pkgid' --ghc %{!?ghc_without_shared:--enable-shared} %{!?ghc_without_dynamic:--enable-executable-dynamic} %{?cabal_configure_options} $cabal_configure_extra_options +%cabal configure --prefix=%{_prefix} --libdir=%{_libdir} --docdir=%{_docdir}/%{name}-%{version} %{?pkg_name:--htmldir=%{ghclibdocdir}/%{pkg_name}-%{version}} --libsubdir='$compiler/$pkgid' --ghc %{!?ghc_without_dynamic:--enable-executable-dynamic} %{?cabal_configure_options} $cabal_configure_extra_options # install %cabal_install %cabal copy --destdir=%{buildroot} -v @@ -48,17 +48,17 @@ echo "%dir %{pkgdir}" >> %{basepkg}.files\ echo "%attr(755,root,root) %{pkgdir}/libHS%{pkgnamever}-ghc%{ghc_version}.so" >> %{basepkg}.files\ fi\ %endif\ -%if 0%{!?1:1} && %{defined ghc_without_shared}\ -if [ "%{name}" = "ghc-%{pkg_name}" ]; then\ - if [ -d "%{buildroot}%{_docdir}/%{name}-%{version}" ]; then\ - mv %{buildroot}%{_docdir}/%{name}-%{version} %{buildroot}%{_docdir}/%{name}-devel-%{version}\ +%if %{defined ghc_without_shared}\ +if [ "%{name}" = "%{basepkg}" -o -n "%{?1}" ]; then\ + if [ -d "%{buildroot}%{_docdir}/%{basepkg}-%{pkgver}" ]; then\ + mv %{buildroot}%{_docdir}/%{basepkg}-%{pkgver} %{buildroot}%{_docdir}/%{basepkg}-devel-%{pkgver}\ %if %{undefined ghc_exclude_docdir}\ - echo "%{_docdir}/%{name}-devel-%{version}" >> %{basepkg}-devel.files\ + echo "%{_docdir}/%{basepkg}-devel-%{version}" >> %{basepkg}-devel.files\ %endif\ fi\ fi\ %endif\ -%if 0%{!?1:1} && %{undefined ghc_exclude_docdir}\ +%if %{undefined ghc_exclude_docdir}\ if [ -d "%{buildroot}%{_docdir}/%{name}-%{version}" ]; then\ echo "%{_docdir}/%{name}-%{version}" >> %{basepkg}%{?ghc_without_shared:-devel}.files\ elif [ -d "%{buildroot}%{_docdir}/ghc-%{pkgnamever}" ]; then\ @@ -144,8 +144,8 @@ Group: System Environment/Libraries\ This package provides the shared library.\ %endif -# ghc_binlib_package [-c cdepslist] [-h pkgdepslist] [-l licensetag] [-x] [name] [version] -%ghc_binlib_package(c:h:l:x)\ +# ghc_lib_subpackage [-c cdepslist] [-h pkgdepslist] [-l licensetag] [-x] [name] [version] +%ghc_lib_subpackage(c:h:l:x)\ %define pkgname %{?1}%{!?1:%{pkg_name}}\ %define pkgver %{?2}%{!?2:%{version}}\ %define pkgnamever %{pkgname}-%{pkgver}\ @@ -247,38 +247,36 @@ find %{buildroot} -type f -exec sh -c "file {} | grep -q 'dynamically linked'" \ %cabal_configure\ %cabal build +# ghc_lib_build_without_haddock [name] [version] +%ghc_lib_build_without_haddock()\ +%global debug_package %{nil}\ +%cabal_configure %{!?without_prof:-p} %{!?ghc_without_shared:--enable-shared} %{?1:--docdir=%{_docdir}/ghc-%1-%2 --htmldir=%{ghclibdocdir}/%1-%2}\ +%cabal build\ +%{nil} + # ghc_lib_build [name] [version] %ghc_lib_build()\ -%global debug_package %{nil}\ -%{?1:cd %1-%2}\ -%cabal_configure %{!?without_prof:-p} %{?1:--docdir=%{_docdir}/ghc-%1-%2 --htmldir=%{ghclibdocdir}/%1-%2}\ -%cabal build\ +%ghc_lib_build_without_haddock\ %if %{undefined without_haddock}\ %cabal haddock %{!?without_hscolour:%(if [ -x %{_bindir}/HsColour ]; then echo --hyperlink-source; fi)}\ %endif\ -%{?1:cd -}\ %{nil} # install bin package -%ghc_bin_install\ -%if %{undefined ghc_bootstrapping}\ +%ghc_bin_install()\ %global _use_internal_dependency_generator 0\ %global __find_requires %{_rpmconfigdir}/ghc-deps.sh --requires %{buildroot}%{ghclibdir}\ -%endif\ %cabal_install\ -%ghc_strip_dynlinked +%{!?1:%ghc_strip_dynlinked}\ +%{nil} # ghc_lib_install [name] [version] %ghc_lib_install()\ -%if %{undefined ghc_bootstrapping}\ %global _use_internal_dependency_generator 0\ %global __find_provides %{_rpmconfigdir}/ghc-deps.sh --provides %{buildroot}%{ghclibdir}\ %global __find_requires %{_rpmconfigdir}/ghc-deps.sh --requires %{buildroot}%{ghclibdir}\ -%endif\ -%{?1:cd %1-%2}\ %cabal_install\ %cabal_pkg_conf\ -%{?1:cd -}\ %ghc_gen_filelists\ %{!?1:%ghc_strip_dynlinked}\ %{nil} diff --git a/ghc-rpm-macros.spec b/ghc-rpm-macros.spec index e488727..d6cc139 100644 --- a/ghc-rpm-macros.spec +++ b/ghc-rpm-macros.spec @@ -3,7 +3,7 @@ %global macros_file %{_sysconfdir}/rpm/macros.ghc Name: ghc-rpm-macros -Version: 0.15.6.1 +Version: 0.15.7 Release: 1%{?dist} Summary: Macros for building packages for GHC @@ -64,6 +64,15 @@ EOF %changelog +* Wed Jul 11 2012 Jens Petersen - 0.15.7-1 +- let ghc_bin_install take an arg to disable implicit stripping for subpackages +- fix doc handling of subpackages for ghc_without_shared +- without ghc_exclude_docdir include doc dir also for subpackages +- rename ghc_binlib_package to ghc_lib_subpackage +- add ghc_lib_build_without_haddock +- no longer drop into package dirs when subpackaging with ghc_lib_build and + ghc_lib_install + * Fri Jun 22 2012 Jens Petersen - 0.15.6.1-1 - cabal-tweak-dep-ver: be careful only to match complete dep name and do not match beyond ","