diff --git a/ghc-rpm-macros.changes b/ghc-rpm-macros.changes index a54bcc2..f9ed158 100644 --- a/ghc-rpm-macros.changes +++ b/ghc-rpm-macros.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Sat Nov 17 12:41:05 UTC 2012 - peter.trommler@ohm-hochschule.de + +- openSUSE specific macros to disable debug packages +- refresh and remove .orig files from sle-sp1-rpmdeps.patch + ------------------------------------------------------------------- Mon Jun 25 06:57:15 UTC 2012 - peter.trommler@ohm-hochschule.de diff --git a/ghc-rpm-macros.spec b/ghc-rpm-macros.spec index 8273aec..3277c19 100644 --- a/ghc-rpm-macros.spec +++ b/ghc-rpm-macros.spec @@ -1,8 +1,7 @@ # -# spec file for ghc-rpm-macros +# spec file for package ghc-rpm-macros # - -# Copyright (c) 2012 Peter Trommler peter.trommler@ohm-hochschule.de +# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,18 +15,17 @@ # Please submit bugfixes or comments via http://bugs.opensuse.org/ # -%global debug_package %{nil} %global macros_file %{_sysconfdir}/rpm/macros.ghc Name: ghc-rpm-macros Version: 0.95.5.1 -Release: 1 +Release: 0 Summary: Macros for building packages for GHC - -Group: Development/Libraries/Other License: GPL-3.0 -URL: https://fedoraproject.org/wiki/Haskell_SIG +Group: Development/Libraries/Other + +Url: https://fedoraproject.org/wiki/Haskell_SIG # This is a Fedora maintained package which is specific to # our distribution. Thus the source is only available from @@ -39,7 +37,8 @@ Source3: ghc-deps.sh Source4: macros.ghc-suse Source5: cabal-tweak-dep-ver Patch: buildService.patch -Patch1: sle-sp1-rpmdeps.patch +Patch1: suse-disable-debug-packages.patch +Patch100: sle-sp1-rpmdeps.patch #Requires: redhat-rpm-config Requires: rpm @@ -55,16 +54,15 @@ these macros. %setup -c -T cp %{SOURCE1} %{SOURCE2} . cp %{SOURCE0} %{SOURCE3} . -%patch -p1 -%if %{defined sles_version} -%patch1 -p1 +%patch -p1 -b .obs +%patch1 -p1 -b .debug +%if 0%{?sles_version} +%patch -P 100 -p1 %endif - %build echo no build stage needed - %install install -p -D -m 0644 ./ghc-rpm-macros.ghc ${RPM_BUILD_ROOT}/%{macros_file} install -p -D -m 0644 %{SOURCE4} ${RPM_BUILD_ROOT}/%{_sysconfdir}/rpm/macros.ghc-suse @@ -83,7 +81,6 @@ cat >> %{buildroot}/%{macros_file} <> %{basepkg}.files\ -+echo "%attr(755,root,root) %{pkgdir}/libHS%{pkgnamever}-ghc%{ghc_version}.so" >> %{basepkg}.files\ -+fi\ -+%endif\ -+%if %{defined ghc_without_shared}\ -+if [ "%{name}" = "%{basepkg}" -o -n "%{?1}" ]; then\ -+ if [ -d "%{buildroot}%{_docdir}/%{basepkg}" ]; then\ -+ mv %{buildroot}%{_docdir}/%{basepkg} %{buildroot}%{_docdir}/%{basepkg}-devel\ -+%if %{undefined ghc_exclude_docdir}\ -+ echo "%{_docdir}/%{basepkg}-devel" >> %{basepkg}-devel.files\ -+%endif\ -+ fi\ -+fi\ -+%endif\ -+%if %{undefined ghc_exclude_docdir}\ -+if [ -d "%{buildroot}%{_docdir}/%{name}" ]; then\ -+ echo "%{_docdir}/%{name}" >> %{basepkg}%{?ghc_without_shared:-devel}.files\ -+elif [ -d "%{buildroot}%{_docdir}/ghc-%{pkgname}" ]; then\ -+ echo "%{_docdir}/ghc-%{pkgname}" >> %{basepkg}%{?ghc_without_shared:-devel}.files\ -+fi\ -+%endif\ -+echo "%{ghclibdir}/package.conf.d/%{pkgnamever}*.conf" >> %{basepkg}-devel.files\ -+if [ -d "%{buildroot}%{pkgdir}" ]; then\ -+find %{buildroot}%{pkgdir} -type d | sed "s/^/%dir /" >> %{basepkg}-devel.files\ -+find %{buildroot}%{pkgdir} ! \\( -type d -o -name "libHS*.so" \\) >> %{basepkg}-devel.files\ -+fi\ -+if [ -d "%{buildroot}%{docdir}" ]; then\ -+echo "%{docdir}" >> %{basepkg}-devel.files\ -+fi\ -+for i in %{!?ghc_without_shared:%{basepkg}.files} %{basepkg}-devel.files; do\ -+if [ -f "$i" ]; then\ -+sed -i -e "s!%{buildroot}!!g" $i\ -+fi\ -+done\ -+%{nil} -+ -+%ghc_add_basepkg_file()\ -+%define basepkg ghc-%{pkg_name}\ -+echo "%*" >> %{basepkg}%{?ghc_without_shared:-devel}.files -+ -+# compiler version -+%ghc_version %{!?ghc_version_override:%(ghc --numeric-version)}%{?ghc_version_override} -+ -+# create and install package.conf file -+# cabal_pkg_conf [name] [version] -+%cabal_pkg_conf()\ -+%define pkgname %{?1}%{!?1:%{pkg_name}}\ -+%define pkgver %{?2}%{!?2:%{version}}\ -+%define pkgnamever %{pkgname}-%{pkgver}\ -+%cabal register --gen-pkg-config\ -+mkdir -p %{buildroot}%{ghclibdir}/package.conf.d\ -+install --mode=0644 %{pkgnamever}.conf %{buildroot}%{ghclibdir}/package.conf.d\ -+%{nil} -+ -+# devel pkg basic requires -+%ghc_devel_requires Requires: ghc-compiler = %{ghc_version}\ -+Requires(post): ghc-compiler = %{ghc_version}\ -+Requires(postun): ghc-compiler = %{ghc_version}\ -+%if %{undefined ghc_without_shared} && 0%{!?-m:1}\ -+Requires: ghc-%{?pkg_name}%{!?pkg_name:%{pkgname}} = %{?pkgver}%{!?pkgver:%{version}}-%{release}\ -+%endif -+ -+%ghc_shared_files\ -+%if %{undefined ghc_without_shared}\ -+%files -n %{basepkg} -f %{basepkg}.files\ -+%defattr(-,root,root,-)\ -+%{?base_doc_files:%doc %base_doc_files}\ -+%endif\ -+%{nil} -+ -+# ghc_lib_package [-c cdepslist] [-h pkgdepslist] -+%ghc_lib_package(c:h:)\ -+%define pkgname %{?1}%{!?1:%{pkg_name}}\ -+%define basepkg ghc-%{pkgname}\ -+%ghc_shared_files\ -+\ -+%ghc_package_devel\ -+%{nil} -+ -+# ghc_package [-l licensetag] [name] [version] -+%ghc_package(l:)\ -+%define pkgname %{?1}%{!?1:%{pkg_name}}\ -+%define pkgver %{?2}%{!?2:%{version}}\ -+%define basepkg ghc-%{pkgname}\ -+%package -n %{basepkg}\ -+Summary: %{?common_summary}%{!?common_summary:Haskell %{pkgname} library}\ -+Group: Development/Libraries/Other\ -+%{?1:Version: %{pkgver}}\ -+%{-l:License: %{-l*}}\ -+%{?ghc_pkg_obsoletes:Obsoletes: %(echo "%{ghc_pkg_obsoletes}" | sed -e "s/\\(ghc-[^, ]*\\)-devel/\\1/g")} -+ -+# ghc_description [name] [version] -+%ghc_description()\ -+%define pkgname %{?1}%{!?1:%{pkg_name}}\ -+%define basepkg ghc-%{pkgname}\ -+%description -n %{basepkg}\ -+%{?common_description}%{!?common_description:Haskell %{pkgname} library.}\ -+%if %{defined ghc_version} && %{undefined ghc_without_shared}\ -+This package provides the shared library.\ -+%endif -+ -+# 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}\ -+%{!-x:%{?1:%global ghc_packages_list %{?ghc_packages_list} %{pkgnamever}}}\ -+%define basepkg ghc-%{pkgname}\ -+%ghc_package\ -+\ -+%ghc_description\ -+\ -+%ghc_lib_package\ -+%{nil} -+ -+%ghc_pkg_recache %{_bindir}/ghc-pkg recache --no-user-package-conf || : -+ -+# (deprecated) for docs post and postun -+%ghc_reindex_haddock : -+ -+%ghc_devel_files\ -+%files -n %{basepkg}-devel -f %{basepkg}-devel.files\ -+%defattr(-,root,root,-)\ -+%if %{defined ghc_without_shared}\ -+%{?base_doc_files:%doc %base_doc_files}\ -+%endif\ -+%{?devel_doc_files:%doc %devel_doc_files}\ -+%{nil} -+ -+%ghc_files()\ -+%{?1:%define base_doc_files %*}\ -+%define basepkg ghc-%{pkg_name}\ -+%ghc_shared_files\ -+\ -+%ghc_devel_files\ -+%{nil} -+ -+# ghc_devel_package [-c cdepslist] [-h pkgdepslist] [-l licensetag] [-m] [name] [version] -+# -m : meta-package -+%ghc_devel_package(c:h:l:m)\ -+%define pkgname %{?1}%{!?1:%{pkg_name}}\ -+%define pkgver %{?2}%{!?2:%{version}}\ -+%define basepkg ghc-%{pkgname}\ -+%package -n %{basepkg}-devel\ -+Summary: %{?common_summary}%{!?common_summary:Haskell %{pkgname} library} development files\ -+Group: Development/Libraries/Other\ -+%{?1:Version: %{pkgver}}\ -+%{-l:License: %{-l*}}\ -+%{?ghc_devel_requires}\ -+%{-h:Requires: %{-h*}}\ -+%{?ghc_pkg_c_deps:Requires: %{ghc_pkg_c_deps}}\ -+%{-c:Requires: %{-c*}}\ -+%{?ghc_pkg_obsoletes:Obsoletes: %{ghc_pkg_obsoletes}}\ -+%{?ghc_pkg_obsoletes:Obsoletes: %(echo "%{ghc_pkg_obsoletes}" | sed -e "s/\\(ghc-[^, ]*\\)-devel/\\1-doc/g")}\ -+Obsoletes: %{basepkg}-doc < %{pkgver}-%{release}\ -+Obsoletes: %{basepkg}-prof < %{pkgver}-%{release}\ -+%if %{undefined without_prof}\ -+Provides: %{basepkg}-prof = %{pkgver}-%{release}\ -+%endif -+ -+# ghc_devel_description -+%ghc_devel_description()\ -+%define pkgname %{?1}%{!?1:%{pkg_name}}\ -+%define basepkg ghc-%{pkgname}\ -+%description -n %{basepkg}-devel\ -+%{?common_description}%{!?common_description:Haskell %{pkgname} library.}\ -+\ -+This package contains the development files. -+ -+# ghc_devel_post_postun -+%ghc_devel_post_postun()\ -+%define pkgname %{?1}%{!?1:%{pkg_name}}\ -+%define basepkg ghc-%{pkgname}\ -+%post -n %{basepkg}-devel\ -+%ghc_pkg_recache\ -+\ -+%postun -n %{basepkg}-devel\ -+%ghc_pkg_recache -+ -+# ghc_package_devel [-c cdepslist] [-h pkgdepslist] [-l licensetag] [name] [version] -+%ghc_package_devel(c:h:l:)\ -+%define pkgname %{?1}%{!?1:%{pkg_name}}\ -+%define basepkg ghc-%{pkgname}\ -+%ghc_devel_package\ -+\ -+%ghc_devel_description\ -+\ -+%ghc_devel_post_postun\ -+\ -+%ghc_devel_files\ -+%{nil} -+ -+# ghc_strip_dynlinked -+%ghc_strip_dynlinked\ -+%if %{undefined __debug_package}\ -+find %{buildroot} -type f -exec sh -c "file {} | grep -q 'dynamically linked'" \\; -exec strip "{}" \\;\ -+%endif -+ -+# ghc_bin_build -+%ghc_bin_build\ -+%global debug_package %{nil}\ -+%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 --htmldir=%{ghclibdocdir}/%1} %{!?ghc_with_lib_for_ghci:--disable-library-for-ghci}\ -+%cabal build\ -+%{nil} -+ -+# ghc_lib_build [name] [version] -+%ghc_lib_build()\ -+%ghc_lib_build_without_haddock\ -+%if %{undefined without_haddock}\ -+%cabal haddock %{!?without_hscolour:%(if [ -x %{_bindir}/HsColour ]; then echo --hyperlink-source; fi)}\ -+%endif\ -+%{nil} -+ -+# SLE does not define _rpmconfigdir (yet) -+%_rpmconfigdir %{_prefix}/lib/rpm -+ -+# install bin package -+%ghc_bin_install()\ -+%global _use_internal_dependency_generator 0\ -+%global __find_requires %{_rpmconfigdir}/ghc-deps.sh --requires %{buildroot}%{ghclibdir}\ -+%cabal_install\ -+%{!?1:%ghc_strip_dynlinked}\ -+%{nil} -+ -+# ghc_lib_install [name] [version] -+%ghc_lib_install()\ -+%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}\ -+%cabal_install\ -+%cabal_pkg_conf\ -+%ghc_gen_filelists\ -+%{!?1:%ghc_strip_dynlinked}\ -+%{nil} -+ -+# - without_hscolour, without_testsuite, and ghc_bootstrapping -+# need to be set locally in the spec file -+ -+# skip prof libs, and documentation -+%ghc_test\ -+%global without_prof 1\ -+%global without_haddock 1\ -+%global without_manual 1 -+ -+# skip shared and prof libs, documentation, and testsuite -+%ghc_bootstrap\ -+%global ghc_without_shared 1\ -+%global ghc_without_dynamic 1\ -+%ghc_test -+ -+%ghc_exclude_docdir 1 -diff -Nur 0.95.1-suse-packaging/ghc-rpm-macros.ghc.orig 0.95.1-sle-sp1-rpmdeps/ghc-rpm-macros.ghc.orig ---- 0.95.1-suse-packaging/ghc-rpm-macros.ghc.orig 1970-01-01 01:00:00.000000000 +0100 -+++ 0.95.1-sle-sp1-rpmdeps/ghc-rpm-macros.ghc.orig 2012-06-24 11:17:51.000000000 +0200 -@@ -0,0 +1,299 @@ -+# RPM Macros for packaging Haskell cabalized packages -*-rpm-spec-*- -+# see https://fedoraproject.org/wiki/PackagingDrafts/Haskell for more details -+ -+# "cabal" -+%cabal [ -x Setup ] || ghc --make %{!?ghc_user_conf:-no-user-package-conf} %{!?ghc_without_dynamic:-dynamic} Setup\ -+./Setup -+ -+# check ghc version was rebuilt against self -+%ghc_check_bootstrap\ -+if [ ! "$(ghc --info | grep \\"Booter\\ version\\",\\"%{ghc_version}\\")" ]; then\ -+ echo "Warning: this ghc build is not self-bootstrapped."\ -+%if %{undefined ghc_bootstrapping}\ -+ echo "The ghc package should be rebuilt against its current version before\ -+proceeding, to avoid dependency ABI breakage from a future ghc rebuild."\ -+ echo "To override set ghc_bootstrapping."\ -+ echo "Aborting."\ -+ exit 1\ -+%endif\ -+fi -+ -+# configure -+%cabal_configure\ -+%ghc_check_bootstrap\ -+%cabal configure --prefix=%{_prefix} --libdir=%{_libdir} --docdir=%{_docdir}/%{name} %{?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 -+ -+# root dir for ghc docs -+%ghcdocroot %{_datadir}/doc/ghc -+%ghcdocbasedir %{ghcdocroot}/html -+# libraries doc dir -+%ghclibdocdir %{ghcdocbasedir}/libraries -+# top library dir -+%ghclibdir %{_libdir}/ghc-%{ghc_version} -+ -+# ghc_gen_filelists [name] [version] -+%ghc_gen_filelists()\ -+%define pkgname %{?1}%{!?1:%{pkg_name}}\ -+%define pkgver %{?2}%{!?2:%{version}}\ -+%define pkgnamever %{pkgname}-%{pkgver}\ -+%define basepkg ghc-%{pkgname}\ -+%define pkgdir %{ghclibdir}/%{pkgnamever}\ -+%define docdir %{ghclibdocdir}/%{pkgnamever}\ -+rm -f %{basepkg}.files %{basepkg}-devel.files\ -+%if %{undefined ghc_without_shared}\ -+if [ -d "%{buildroot}%{pkgdir}" ]; then\ -+echo "%dir %{pkgdir}" >> %{basepkg}.files\ -+echo "%attr(755,root,root) %{pkgdir}/libHS%{pkgnamever}-ghc%{ghc_version}.so" >> %{basepkg}.files\ -+fi\ -+%endif\ -+%if %{defined ghc_without_shared}\ -+if [ "%{name}" = "%{basepkg}" -o -n "%{?1}" ]; then\ -+ if [ -d "%{buildroot}%{_docdir}/%{basepkg}" ]; then\ -+ mv %{buildroot}%{_docdir}/%{basepkg} %{buildroot}%{_docdir}/%{basepkg}-devel\ -+%if %{undefined ghc_exclude_docdir}\ -+ echo "%{_docdir}/%{basepkg}-devel" >> %{basepkg}-devel.files\ -+%endif\ -+ fi\ -+fi\ -+%endif\ -+%if %{undefined ghc_exclude_docdir}\ -+if [ -d "%{buildroot}%{_docdir}/%{name}" ]; then\ -+ echo "%{_docdir}/%{name}" >> %{basepkg}%{?ghc_without_shared:-devel}.files\ -+elif [ -d "%{buildroot}%{_docdir}/ghc-%{pkgname}" ]; then\ -+ echo "%{_docdir}/ghc-%{pkgname}" >> %{basepkg}%{?ghc_without_shared:-devel}.files\ -+fi\ -+%endif\ -+echo "%{ghclibdir}/package.conf.d/%{pkgnamever}*.conf" >> %{basepkg}-devel.files\ -+if [ -d "%{buildroot}%{pkgdir}" ]; then\ -+find %{buildroot}%{pkgdir} -type d | sed "s/^/%dir /" >> %{basepkg}-devel.files\ -+find %{buildroot}%{pkgdir} ! \\( -type d -o -name "libHS*.so" \\) >> %{basepkg}-devel.files\ -+fi\ -+if [ -d "%{buildroot}%{docdir}" ]; then\ -+echo "%{docdir}" >> %{basepkg}-devel.files\ -+fi\ -+for i in %{!?ghc_without_shared:%{basepkg}.files} %{basepkg}-devel.files; do\ -+if [ -f "$i" ]; then\ -+sed -i -e "s!%{buildroot}!!g" $i\ -+fi\ -+done\ -+%{nil} -+ -+%ghc_add_basepkg_file()\ -+%define basepkg ghc-%{pkg_name}\ -+echo "%*" >> %{basepkg}%{?ghc_without_shared:-devel}.files -+ -+# compiler version -+%ghc_version %{!?ghc_version_override:%(ghc --numeric-version)}%{?ghc_version_override} -+ -+# create and install package.conf file -+# cabal_pkg_conf [name] [version] -+%cabal_pkg_conf()\ -+%define pkgname %{?1}%{!?1:%{pkg_name}}\ -+%define pkgver %{?2}%{!?2:%{version}}\ -+%define pkgnamever %{pkgname}-%{pkgver}\ -+%cabal register --gen-pkg-config\ -+mkdir -p %{buildroot}%{ghclibdir}/package.conf.d\ -+install --mode=0644 %{pkgnamever}.conf %{buildroot}%{ghclibdir}/package.conf.d\ -+%{nil} -+ -+# devel pkg basic requires -+%ghc_devel_requires Requires: ghc-compiler = %{ghc_version}\ -+Requires(post): ghc-compiler = %{ghc_version}\ -+Requires(postun): ghc-compiler = %{ghc_version}\ -+%if %{undefined ghc_without_shared} && 0%{!?-m:1}\ -+Requires: ghc-%{?pkg_name}%{!?pkg_name:%{pkgname}} = %{?pkgver}%{!?pkgver:%{version}}-%{release}\ -+%endif -+ -+%ghc_shared_files\ -+%if %{undefined ghc_without_shared}\ -+%files -n %{basepkg} -f %{basepkg}.files\ -+%defattr(-,root,root,-)\ -+%{?base_doc_files:%doc %base_doc_files}\ -+%endif\ -+%{nil} -+ -+# ghc_lib_package [-c cdepslist] [-h pkgdepslist] -+%ghc_lib_package(c:h:)\ -+%define pkgname %{?1}%{!?1:%{pkg_name}}\ -+%define basepkg ghc-%{pkgname}\ -+%ghc_shared_files\ -+\ -+%ghc_package_devel\ -+%{nil} -+ -+# ghc_package [-l licensetag] [name] [version] -+%ghc_package(l:)\ -+%define pkgname %{?1}%{!?1:%{pkg_name}}\ -+%define pkgver %{?2}%{!?2:%{version}}\ -+%define basepkg ghc-%{pkgname}\ -+%package -n %{basepkg}\ -+Summary: %{?common_summary}%{!?common_summary:Haskell %{pkgname} library}\ -+Group: Development/Libraries/Other\ -+%{?1:Version: %{pkgver}}\ -+%{-l:License: %{-l*}}\ -+%{?ghc_pkg_obsoletes:Obsoletes: %(echo "%{ghc_pkg_obsoletes}" | sed -e "s/\\(ghc-[^, ]*\\)-devel/\\1/g")} -+ -+# ghc_description [name] [version] -+%ghc_description()\ -+%define pkgname %{?1}%{!?1:%{pkg_name}}\ -+%define basepkg ghc-%{pkgname}\ -+%description -n %{basepkg}\ -+%{?common_description}%{!?common_description:Haskell %{pkgname} library.}\ -+%if %{defined ghc_version} && %{undefined ghc_without_shared}\ -+This package provides the shared library.\ -+%endif -+ -+# 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}\ -+%{!-x:%{?1:%global ghc_packages_list %{?ghc_packages_list} %{pkgnamever}}}\ -+%define basepkg ghc-%{pkgname}\ -+%ghc_package\ -+\ -+%ghc_description\ -+\ -+%ghc_lib_package\ -+%{nil} -+ -+%ghc_pkg_recache %{_bindir}/ghc-pkg recache --no-user-package-conf || : -+ -+# (deprecated) for docs post and postun -+%ghc_reindex_haddock : -+ -+%ghc_devel_files\ -+%files -n %{basepkg}-devel -f %{basepkg}-devel.files\ -+%defattr(-,root,root,-)\ -+%if %{defined ghc_without_shared}\ -+%{?base_doc_files:%doc %base_doc_files}\ -+%endif\ -+%{?devel_doc_files:%doc %devel_doc_files}\ -+%{nil} -+ -+%ghc_files()\ -+%{?1:%define base_doc_files %*}\ -+%define basepkg ghc-%{pkg_name}\ -+%ghc_shared_files\ -+\ -+%ghc_devel_files\ -+%{nil} -+ -+# ghc_devel_package [-c cdepslist] [-h pkgdepslist] [-l licensetag] [-m] [name] [version] -+# -m : meta-package -+%ghc_devel_package(c:h:l:m)\ -+%define pkgname %{?1}%{!?1:%{pkg_name}}\ -+%define pkgver %{?2}%{!?2:%{version}}\ -+%define basepkg ghc-%{pkgname}\ -+%package -n %{basepkg}-devel\ -+Summary: %{?common_summary}%{!?common_summary:Haskell %{pkgname} library} development files\ -+Group: Development/Libraries/Other\ -+%{?1:Version: %{pkgver}}\ -+%{-l:License: %{-l*}}\ -+%{?ghc_devel_requires}\ -+%{-h:Requires: %{-h*}}\ -+%{?ghc_pkg_c_deps:Requires: %{ghc_pkg_c_deps}}\ -+%{-c:Requires: %{-c*}}\ -+%{?ghc_pkg_obsoletes:Obsoletes: %{ghc_pkg_obsoletes}}\ -+%{?ghc_pkg_obsoletes:Obsoletes: %(echo "%{ghc_pkg_obsoletes}" | sed -e "s/\\(ghc-[^, ]*\\)-devel/\\1-doc/g")}\ -+%if %{undefined without_prof}\ -+Provides: %{basepkg}-prof = %{pkgver}-%{release}\ -+%endif -+ -+# ghc_devel_description -+%ghc_devel_description()\ -+%define pkgname %{?1}%{!?1:%{pkg_name}}\ -+%define basepkg ghc-%{pkgname}\ -+%description -n %{basepkg}-devel\ -+%{?common_description}%{!?common_description:Haskell %{pkgname} library.}\ -+\ -+This package contains the development files. -+ -+# ghc_devel_post_postun -+%ghc_devel_post_postun()\ -+%define pkgname %{?1}%{!?1:%{pkg_name}}\ -+%define basepkg ghc-%{pkgname}\ -+%post -n %{basepkg}-devel\ -+%ghc_pkg_recache\ -+\ -+%postun -n %{basepkg}-devel\ -+%ghc_pkg_recache -+ -+# ghc_package_devel [-c cdepslist] [-h pkgdepslist] [-l licensetag] [name] [version] -+%ghc_package_devel(c:h:l:)\ -+%define pkgname %{?1}%{!?1:%{pkg_name}}\ -+%define basepkg ghc-%{pkgname}\ -+%ghc_devel_package\ -+\ -+%ghc_devel_description\ -+\ -+%ghc_devel_post_postun\ -+\ -+%ghc_devel_files\ -+%{nil} -+ -+# ghc_strip_dynlinked -+%ghc_strip_dynlinked\ -+%if %{undefined __debug_package}\ -+find %{buildroot} -type f -exec sh -c "file {} | grep -q 'dynamically linked'" \\; -exec strip "{}" \\;\ -+%endif -+ -+# ghc_bin_build -+%ghc_bin_build\ -+%global debug_package %{nil}\ -+%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 --htmldir=%{ghclibdocdir}/%1} %{!?ghc_with_lib_for_ghci:--disable-library-for-ghci}\ -+%cabal build\ -+%{nil} -+ -+# ghc_lib_build [name] [version] -+%ghc_lib_build()\ -+%ghc_lib_build_without_haddock\ -+%if %{undefined without_haddock}\ -+%cabal haddock %{!?without_hscolour:%(if [ -x %{_bindir}/HsColour ]; then echo --hyperlink-source; fi)}\ -+%endif\ -+%{nil} -+ -+# install bin package -+%ghc_bin_install()\ -+%global _use_internal_dependency_generator 0\ -+%global __find_requires %{_rpmconfigdir}/ghc-deps.sh --requires %{buildroot}%{ghclibdir}\ -+%cabal_install\ -+%{!?1:%ghc_strip_dynlinked}\ -+%{nil} -+ -+# ghc_lib_install [name] [version] -+%ghc_lib_install()\ -+%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}\ -+%cabal_install\ -+%cabal_pkg_conf\ -+%ghc_gen_filelists\ -+%{!?1:%ghc_strip_dynlinked}\ -+%{nil} -+ -+# - without_hscolour, without_testsuite, and ghc_bootstrapping -+# need to be set locally in the spec file -+ -+# skip prof libs, and documentation -+%ghc_test\ -+%global without_prof 1\ -+%global without_haddock 1\ -+%global without_manual 1 -+ -+# skip shared and prof libs, documentation, and testsuite -+%ghc_bootstrap\ -+%global ghc_without_shared 1\ -+%global ghc_without_dynamic 1\ -+%ghc_test -+ -+%ghc_exclude_docdir 1 diff --git a/suse-disable-debug-packages.patch b/suse-disable-debug-packages.patch new file mode 100644 index 0000000..92a2789 --- /dev/null +++ b/suse-disable-debug-packages.patch @@ -0,0 +1,33 @@ +Index: ghc-rpm-macros/ghc-rpm-macros.ghc +=================================================================== +--- ghc-rpm-macros.orig/ghc-rpm-macros.ghc ++++ ghc-rpm-macros/ghc-rpm-macros.ghc +@@ -241,15 +241,26 @@ This package contains the development fi + find %{buildroot} -type f -exec sh -c "file {} | grep -q 'dynamically linked'" \\; -exec strip "{}" \\;\ + %endif + ++# ghc_suse_disable_debug_packages ++%ghc_suse_disable_debug_packages\ ++%global debug_package %{nil}\ ++%global __debug_install_post %{nil}\ ++%global suse_insert_debug_package %{nil}\ ++echo "/usr/lib/debug" > debugfiles.list\ ++mkdir -p $RPM_BUILD_ROOT/usr/lib/debug\ ++echo "/usr/src/debug" > debugsources.list\ ++mkdir -p $RPM_BUILD_ROOT/usr/src/debug ++ ++ + # ghc_bin_build + %ghc_bin_build\ +-%global debug_package %{nil}\ ++%ghc_suse_disable_debug_packages\ + %cabal_configure\ + %cabal build + + # ghc_lib_build_without_haddock [name] [version] + %ghc_lib_build_without_haddock()\ +-%global debug_package %{nil}\ ++%ghc_suse_disable_debug_packages\ + %cabal_configure %{!?without_prof:-p} %{!?ghc_without_shared:--enable-shared} %{?1:--docdir=%{_docdir}/ghc-%1 --htmldir=%{ghclibdocdir}/%1} %{!?ghc_with_lib_for_ghci:--disable-library-for-ghci}\ + %cabal build\ + %{nil}