Hello community, here is the log from the commit of package ghc-rpm-macros for openSUSE:Factory checked in at 2014-11-06 16:50:29 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ghc-rpm-macros (Old) and /work/SRC/openSUSE:Factory/.ghc-rpm-macros.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-rpm-macros" Changes: -------- --- /work/SRC/openSUSE:Factory/ghc-rpm-macros/ghc-rpm-macros.changes 2014-10-23 14:20:25.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.ghc-rpm-macros.new/ghc-rpm-macros.changes 2014-11-06 16:51:37.000000000 +0100 @@ -1,0 +2,21 @@ +Tue Oct 21 15:05:27 UTC 2014 - [email protected] + +- update to 1.3.6 +* remove execstack workaround and prelink requirement +* improve ghc_fix_dynamic_rpath macro +* do not use -O2 optimization (out of memory failures on OBS) +- refresh patches: +* add-group.patch +* files-defattr.patch +* fix-gen-filelists.patch +* suse-disable-debug-packages.patch +* suse-docdir.patch +-drop patch disable-execstack.patch +* fixed in ghc 7.8 +- add fix-runpath.patch +* starting with ghc 7.8 shared objects with RUNPATH work +* support RUNPATH as well as RPATH +- enable shared libraries and dynamic linking on ppc64 and ppc64le +* shared libraries for ppc still disabled (see haskell trac #8024) + +------------------------------------------------------------------- Old: ---- disable-execstack.patch ghc-rpm-macros-48199c851a2c672494e295b3cbfc4eded20c3a11.tar.xz New: ---- fix-runpath.patch ghc-rpm-macros-2da26f9db56515862de9839f12a17be5f2ed2eb7.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ghc-rpm-macros.spec ++++++ --- /var/tmp/diff_new_pack.GpJvjz/_old 2014-11-06 16:51:38.000000000 +0100 +++ /var/tmp/diff_new_pack.GpJvjz/_new 2014-11-06 16:51:38.000000000 +0100 @@ -16,14 +16,14 @@ # -%global git_hash 48199c851a2c672494e295b3cbfc4eded20c3a11 +%global git_hash 2da26f9db56515862de9839f12a17be5f2ed2eb7 %global macros_dir %{_sysconfdir}/rpm %global without_hscolour 1 Name: ghc-rpm-macros -Version: 1.2.7 +Version: 1.3.6 Release: 0 Summary: RPM Macros for building packages for GHC License: GPL-3.0+ @@ -43,17 +43,12 @@ Patch4: suse-docdir.patch # PATCH-FIX_UPSTREAM fix-gen-filelists.patch Patch5: fix-gen-filelists.patch -# PATCH-FIX-OPENSUSE disable-execstack.patch [email protected] -- disable execstack workaround -Patch6: disable-execstack.patch +# PATCH-FIX-UPSTREAM fix-runpath.patch [email protected] -- In openSUSE we patch binutils to default to the "new" RUNPATH dynamic tag and not the obsolete RPATH. This patch adds support for the former and still works for the latter. +Patch7: fix-runpath.patch # PATCH-FIX-SLE sle-sp1-rpmdeps.patch [email protected] -- SLE's RPM is too old in 11 SP1 and SP2 and SP3 Patch100: sle-sp1-rpmdeps.patch BuildRequires: xz -Requires: ghc-srpm-macros = %{version}-%{release} -%ifnarch ppc64le aarch64 %arm -# for execstack -Requires: prelink -%endif Requires: rpm %if %{undefined without_hscolour} Requires: hscolour @@ -99,10 +94,7 @@ %patch3 -p1 %patch4 -p1 %patch5 -p1 -# remove when prelink is available on any of those architectures -%ifarch ppc64le aarch64 %arm -%patch6 -p1 -%endif +%patch7 -p1 %if 0%{?sles_version} %patch -P 100 -p1 %endif @@ -111,16 +103,17 @@ echo no build stage needed %install -install -p -D -m 0644 ./ghc-rpm-macros.ghc %{buildroot}%{macros_dir}/macros.ghc -install -p -D -m 0644 ./ghc-rpm-macros.ghc-extra %{buildroot}/%{macros_dir}/macros.ghc-extra +install -p -D -m 0644 macros.ghc %{buildroot}%{macros_dir}/macros.ghc +install -p -D -m 0644 macros.ghc-extra %{buildroot}/%{macros_dir}/macros.ghc-extra install -p -D -m 0755 ghc-deps.sh %{buildroot}/%{_prefix}/lib/rpm/ghc-deps.sh +install -p -D -m 0644 ghc.attr %{buildroot}/%{_prefix}/lib/rpm/fileattrs/ghc.attr install -p -D -m 0755 cabal-tweak-dep-ver %{buildroot}/%{_bindir}/cabal-tweak-dep-ver install -p -D -m 0755 cabal-tweak-flag %{buildroot}/%{_bindir}/cabal-tweak-flag -install -p -D -m 0644 ghc-rpm-macros.ghc-srpm %{buildroot}/%{macros_dir}/macros.ghc-srpm -# this is why this package is now arch-dependent: -# turn off shared libs and dynamic linking on secondary archs -%ifnarch %{ix86} x86_64 +# this is why this package is (still) arch-dependent: +# turn off shared libs and dynamic linking on ppc +# See Haskell trac #8024 +%ifarch ppc cat >> %{buildroot}%{macros_dir}/macros.ghc <<EOF # shared libraries are only supported on primary intel archs @@ -133,6 +126,7 @@ %defattr(-,root,root,-) %doc COPYING AUTHORS %config %{macros_dir}/macros.ghc +%{_prefix}/lib/rpm/fileattrs/ghc.attr %{_prefix}/lib/rpm/ghc-deps.sh %{_bindir}/cabal-tweak-dep-ver %{_bindir}/cabal-tweak-flag @@ -141,8 +135,4 @@ %defattr(-,root,root,-) %config %{macros_dir}/macros.ghc-extra -%files -n ghc-srpm-macros -%defattr(-,root,root,-) -%config %{macros_dir}/macros.ghc-srpm - %changelog ++++++ add-group.patch ++++++ --- /var/tmp/diff_new_pack.GpJvjz/_old 2014-11-06 16:51:38.000000000 +0100 +++ /var/tmp/diff_new_pack.GpJvjz/_new 2014-11-06 16:51:38.000000000 +0100 @@ -1,8 +1,8 @@ -Index: ghc-rpm-macros-48199c851a2c672494e295b3cbfc4eded20c3a11/ghc-rpm-macros.ghc-extra +Index: ghc-rpm-macros-2da26f9db56515862de9839f12a17be5f2ed2eb7/macros.ghc-extra =================================================================== ---- ghc-rpm-macros-48199c851a2c672494e295b3cbfc4eded20c3a11.orig/ghc-rpm-macros.ghc-extra -+++ ghc-rpm-macros-48199c851a2c672494e295b3cbfc4eded20c3a11/ghc-rpm-macros.ghc-extra -@@ -9,6 +9,7 @@ +--- ghc-rpm-macros-2da26f9db56515862de9839f12a17be5f2ed2eb7.orig/macros.ghc-extra ++++ ghc-rpm-macros-2da26f9db56515862de9839f12a17be5f2ed2eb7/macros.ghc-extra +@@ -8,6 +8,7 @@ %define basepkg ghc-%{pkgname}\ %package -n %{basepkg}\ Summary: Haskell %{pkgname} library\ @@ -10,7 +10,7 @@ %{?1:Version: %{pkgver}}\ %{-l:License: %{-l*}}\ Url: http://hackage.haskell.org/package/%{pkgname}\ -@@ -19,6 +20,7 @@ This package provides the Haskell %{pkgn +@@ -18,6 +19,7 @@ This package provides the Haskell %{pkgn \ %package -n %{basepkg}-devel\ Summary: Haskell %{pkgname} library development files\ ++++++ files-defattr.patch ++++++ --- /var/tmp/diff_new_pack.GpJvjz/_old 2014-11-06 16:51:38.000000000 +0100 +++ /var/tmp/diff_new_pack.GpJvjz/_new 2014-11-06 16:51:38.000000000 +0100 @@ -1,8 +1,8 @@ -Index: ghc-rpm-macros-48199c851a2c672494e295b3cbfc4eded20c3a11/ghc-rpm-macros.ghc-extra +Index: ghc-rpm-macros-2da26f9db56515862de9839f12a17be5f2ed2eb7/macros.ghc-extra =================================================================== ---- ghc-rpm-macros-48199c851a2c672494e295b3cbfc4eded20c3a11.orig/ghc-rpm-macros.ghc-extra -+++ ghc-rpm-macros-48199c851a2c672494e295b3cbfc4eded20c3a11/ghc-rpm-macros.ghc-extra -@@ -40,8 +40,10 @@ This package provides the Haskell %{pkgn +--- ghc-rpm-macros-2da26f9db56515862de9839f12a17be5f2ed2eb7.orig/macros.ghc-extra ++++ ghc-rpm-macros-2da26f9db56515862de9839f12a17be5f2ed2eb7/macros.ghc-extra +@@ -39,8 +39,10 @@ This package provides the Haskell %{pkgn %ghc_pkg_recache\ \ %files -n %{basepkg} -f %{basepkg}.files\ ++++++ fix-gen-filelists.patch ++++++ --- /var/tmp/diff_new_pack.GpJvjz/_old 2014-11-06 16:51:38.000000000 +0100 +++ /var/tmp/diff_new_pack.GpJvjz/_new 2014-11-06 16:51:38.000000000 +0100 @@ -1,7 +1,7 @@ -Index: ghc-rpm-macros-master/ghc-rpm-macros.ghc +Index: ghc-rpm-macros-master/macros.ghc =================================================================== ---- ghc-rpm-macros-master.orig/ghc-rpm-macros.ghc -+++ ghc-rpm-macros-master/ghc-rpm-macros.ghc +--- ghc-rpm-macros-master.orig/macros.ghc ++++ ghc-rpm-macros-master/macros.ghc @@ -48,7 +48,7 @@ fi %define docdir %{ghclibdocdir}/%{pkgname}\ rm -f %{basepkg}.files %{basepkg}-devel.files\ ++++++ fix-runpath.patch ++++++ Index: ghc-rpm-macros-2da26f9db56515862de9839f12a17be5f2ed2eb7/macros.ghc =================================================================== --- ghc-rpm-macros-2da26f9db56515862de9839f12a17be5f2ed2eb7.orig/macros.ghc +++ ghc-rpm-macros-2da26f9db56515862de9839f12a17be5f2ed2eb7/macros.ghc @@ -128,7 +128,7 @@ PDIR=$(pwd)\ for i in %*; do\ PROG=%{buildroot}%{_bindir}/$i\ if [ -x "$PROG" ]; then\ - RPATH=$(chrpath $PROG | sed -e "s@^$PROG: RPATH=@@")\ + RPATH=$(chrpath $PROG | sed -e "s@^$PROG: R\\(UN\\)\\?PATH=@@")\ case $RPATH in\ *$PDIR*)\ NEWRPATH=$(echo $RPATH | sed -e "s@$PDIR/dist/build@%{ghclibdir}/%{pkg_name}-%{version}@g")\ ++++++ ghc-rpm-macros-48199c851a2c672494e295b3cbfc4eded20c3a11.tar.xz -> ghc-rpm-macros-2da26f9db56515862de9839f12a17be5f2ed2eb7.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ghc-rpm-macros-48199c851a2c672494e295b3cbfc4eded20c3a11/ghc-deps.sh new/ghc-rpm-macros-2da26f9db56515862de9839f12a17be5f2ed2eb7/ghc-deps.sh --- old/ghc-rpm-macros-48199c851a2c672494e295b3cbfc4eded20c3a11/ghc-deps.sh 2014-04-30 05:44:15.000000000 +0200 +++ new/ghc-rpm-macros-2da26f9db56515862de9839f12a17be5f2ed2eb7/ghc-deps.sh 2014-09-10 09:07:29.000000000 +0200 @@ -80,5 +80,3 @@ fi fi done - -echo $files | tr [:blank:] '\n' | /usr/lib/rpm/rpmdeps $MODE diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ghc-rpm-macros-48199c851a2c672494e295b3cbfc4eded20c3a11/ghc-rpm-macros.ghc new/ghc-rpm-macros-2da26f9db56515862de9839f12a17be5f2ed2eb7/ghc-rpm-macros.ghc --- old/ghc-rpm-macros-48199c851a2c672494e295b3cbfc4eded20c3a11/ghc-rpm-macros.ghc 2014-04-30 05:44:15.000000000 +0200 +++ new/ghc-rpm-macros-2da26f9db56515862de9839f12a17be5f2ed2eb7/ghc-rpm-macros.ghc 1970-01-01 01:00:00.000000000 +0100 @@ -1,174 +0,0 @@ -# RPM Macros for packaging Haskell cabalized packages -*-rpm-spec-*- -# see https://fedoraproject.org/wiki/Packaging:Haskell for more details - -# "cabal" -%cabal [ -x Setup ] || ghc --make %{!?ghc_user_conf:-no-user-package-db} %{!?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=%{?_pkgdocdir}%{!?_pkgdocdir:%{_docdir}/%{name}-%{version}} --libsubdir='$compiler/$pkgid' --datasubdir='$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 -%ghcdocbasedir %{_docdir}/ghc/html -# libraries doc dir -%ghclibdocdir %{ghcdocbasedir}/libraries -# pkg doc dir -%ghcpkgdocdir %{ghcdocbasedir}/libraries/%{pkg_name} -# 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}/%{pkgname}\ -rm -f %{basepkg}.files %{basepkg}-devel.files\ -if [ -d "%{buildroot}%{pkgdir}" ]; then\ -echo "%dir %{pkgdir}" >> %{basepkg}.files\ -%if %{undefined ghc_without_shared}\ -echo "%attr(755,root,root) %{pkgdir}/libHS%{pkgnamever}-ghc%{ghc_version}.so" >> %{basepkg}.files\ -%endif\ -fi\ -echo "%{ghclibdir}/package.conf.d/%{pkgnamever}*.conf" >> %{basepkg}-devel.files\ -if [ -d "%{buildroot}%{pkgdir}" ]; then\ -find %{buildroot}%{pkgdir} -mindepth 1 -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 %{basepkg}.files %{basepkg}-devel.files; do\ -if [ -f "$i" ]; then\ -sed -i -e "s!%{buildroot}!!g" $i\ -fi\ -done\ -%{nil} - -# 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\ -install -D --mode=0644 %{pkgnamever}.conf %{buildroot}%{ghclibdir}/package.conf.d/%{pkgnamever}.conf\ -%{nil} - -# 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} %{?pkg_name:--htmldir=%{ghclibdocdir}/%{pkg_name}} %{?1:--docdir=%{_docdir}/ghc-%1%{!?fedora:-%2} --htmldir=%{ghclibdocdir}/%1} %{!?1:--global} %{?ghc_with_lib_for_ghci:--enable-library-for-ghci} --ghc-option=-O2\ -%cabal build\ -%{nil} - -# ghc_lib_build [name] [version] -%ghc_lib_build()\ -%ghc_lib_build_without_haddock\ -%if %{undefined without_haddock}\ -%cabal haddock --html %{!?without_hscolour:%(if [ -x %{_bindir}/HsColour ]; then echo --hyperlink-source; fi)} --hoogle\ -%endif\ -%{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_clear_execstack -%ghc_clear_execstack\ -if [ -d "%{buildroot}%{_bindir}" ]; then\ -find %{buildroot}%{_bindir} -type f -exec sh -c "file {} | grep -q ' ELF '" \\; -exec execstack -c "{}" \\;\ -fi - -# 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}\ -%{!?1:%ghc_clear_execstack}\ -%{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}\ -%{!?1:%ghc_clear_execstack}\ -%{nil} - -# ghc_fix_dynamic_rpath prog ... -# (assumes cwd = pkg_name!) -%ghc_fix_dynamic_rpath()\ -%if %{undefined ghc_without_dynamic}\ -if ! type chrpath > /dev/null; then exit 1; fi\ -PDIR=$(cd ..; pwd)\ -for i in %*; do\ - PROG=%{buildroot}%{_bindir}/$i\ - if [ -x "$PROG" ]; then\ - RPATH=$(chrpath $PROG | sed -e "s@^$PROG: RPATH=@@")\ - case $RPATH in\ - *$PDIR*)\ - NEWRPATH=$(echo $RPATH | sed -e "s@$PDIR@%{ghclibdir}@g" -e "s@/dist/build@@g")\ - chrpath -r $NEWRPATH $PROG\ - ;;\ - esac\ - else\ - echo "%%ghc_fix_dynamic_rpath: no such file $PROG"\ - exit 1\ - fi\ -done\ -%endif\ -%{nil} - -%ghc_pkg_recache %{_bindir}/ghc-pkg recache --no-user-package-db || : - -# - 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 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ghc-rpm-macros-48199c851a2c672494e295b3cbfc4eded20c3a11/ghc-rpm-macros.ghc-extra new/ghc-rpm-macros-2da26f9db56515862de9839f12a17be5f2ed2eb7/ghc-rpm-macros.ghc-extra --- old/ghc-rpm-macros-48199c851a2c672494e295b3cbfc4eded20c3a11/ghc-rpm-macros.ghc-extra 2014-04-30 05:44:15.000000000 +0200 +++ new/ghc-rpm-macros-2da26f9db56515862de9839f12a17be5f2ed2eb7/ghc-rpm-macros.ghc-extra 1970-01-01 01:00:00.000000000 +0100 @@ -1,45 +0,0 @@ -# RPM Macros for packaging Haskell packages with multiple libs -*-rpm-spec-*- - -# ghc_lib_subpackage [-c cdepslist] [-l licensetag] [-x] [name] [version] -%ghc_lib_subpackage(c: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}\ -%package -n %{basepkg}\ -Summary: Haskell %{pkgname} library\ -%{?1:Version: %{pkgver}}\ -%{-l:License: %{-l*}}\ -Url: http://hackage.haskell.org/package/%{pkgname}\ -%{?ghc_pkg_obsoletes:Obsoletes: %(echo "%{ghc_pkg_obsoletes}" | sed -e "s/\\(ghc-[^, ]*\\)-devel/\\1/g")}\ -\ -%description -n %{basepkg}\ -This package provides the Haskell %{pkgname} library.\ -\ -%package -n %{basepkg}-devel\ -Summary: Haskell %{pkgname} library development files\ -%{?1:Version: %{pkgver}}\ -%{-l:License: %{-l*}}\ -Requires(post): ghc-compiler = %{ghc_version}\ -Requires(postun): ghc-compiler = %{ghc_version}\ -Requires: ghc-%{pkgname}%{?_isa} = %{pkgver}-%{release}\ -%{?ghc_pkg_c_deps:Requires: %{ghc_pkg_c_deps}}\ -%{-c:Requires: %{-c*}}\ -%{?ghc_pkg_obsoletes:Obsoletes: %{ghc_pkg_obsoletes}}\ -\ -%description -n %{basepkg}-devel\ -This package provides the Haskell %{pkgname} library development files.\ -\ -%post -n %{basepkg}-devel\ -%ghc_pkg_recache\ -\ -%postun -n %{basepkg}-devel\ -%ghc_pkg_recache\ -\ -%files -n %{basepkg} -f %{basepkg}.files\ -%{?base_doc_files:%doc %base_doc_files}\ -\ -%files -n %{basepkg}-devel -f %{basepkg}-devel.files\ -%{?devel_doc_files:%doc %devel_doc_files}\ -%{nil} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ghc-rpm-macros-48199c851a2c672494e295b3cbfc4eded20c3a11/ghc-rpm-macros.ghc-srpm new/ghc-rpm-macros-2da26f9db56515862de9839f12a17be5f2ed2eb7/ghc-rpm-macros.ghc-srpm --- old/ghc-rpm-macros-48199c851a2c672494e295b3cbfc4eded20c3a11/ghc-rpm-macros.ghc-srpm 2014-04-30 05:44:15.000000000 +0200 +++ new/ghc-rpm-macros-2da26f9db56515862de9839f12a17be5f2ed2eb7/ghc-rpm-macros.ghc-srpm 1970-01-01 01:00:00.000000000 +0100 @@ -1,3 +0,0 @@ -# Macros needed for building srpms of Haskell packages - -%ghc_arches_with_ghci %{ix86} x86_64 ppc sparcv9 armv7hl armv5tel diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ghc-rpm-macros-48199c851a2c672494e295b3cbfc4eded20c3a11/ghc-rpm-macros.spec new/ghc-rpm-macros-2da26f9db56515862de9839f12a17be5f2ed2eb7/ghc-rpm-macros.spec --- old/ghc-rpm-macros-48199c851a2c672494e295b3cbfc4eded20c3a11/ghc-rpm-macros.spec 2014-04-30 05:44:15.000000000 +0200 +++ new/ghc-rpm-macros-2da26f9db56515862de9839f12a17be5f2ed2eb7/ghc-rpm-macros.spec 2014-09-10 09:07:29.000000000 +0200 @@ -6,7 +6,7 @@ #%%global without_hscolour 1 Name: ghc-rpm-macros -Version: 1.2.7 +Version: 1.3.6 Release: 1%{?dist} Summary: RPM macros for building packages for GHC @@ -17,24 +17,22 @@ # the distribution. Hence the source is currently only available # from this package. But it could be hosted on fedorahosted.org # for example if other rpm distros would prefer that. -Source0: ghc-rpm-macros.ghc +Source0: macros.ghc Source1: COPYING Source2: AUTHORS Source3: ghc-deps.sh Source4: cabal-tweak-dep-ver Source5: cabal-tweak-flag -Source6: ghc-rpm-macros.ghc-extra -Source7: ghc-rpm-macros.ghc-srpm -Requires: ghc-srpm-macros = %{version}-%{release} +Source6: macros.ghc-extra +Source7: ghc.attr +Requires: ghc-srpm-macros # macros.ghc-srpm moved out from redhat-rpm-config-21 Requires: redhat-rpm-config > 20-1.fc21 %if %{undefined without_hscolour} -%ifarch %{ix86} %{ix86} x86_64 ppc ppc64 alpha sparcv9 armv7hl armv5tel s390 s390x +%ifarch %{ix86} %{ix86} x86_64 ppc ppc64 alpha sparcv9 armv7hl armv5tel s390 s390x ppc64le aarch64 Requires: hscolour %endif %endif -# for execstack -Requires: prelink %description A set of macros for building GHC packages following the Haskell Guidelines @@ -51,15 +49,6 @@ for example in ghc and haskell-platform. -%package -n ghc-srpm-macros -Summary: RPM macros for building Haskell source packages -BuildArch: noarch - - -%description -n ghc-srpm-macros -Macros used when generating source Haskell rpm packages. - - %prep %setup -c -T cp %{SOURCE1} %{SOURCE2} . @@ -72,14 +61,13 @@ %install install -p -D -m 0644 %{SOURCE0} %{buildroot}/%{macros_dir}/macros.ghc install -p -D -m 0644 %{SOURCE6} %{buildroot}/%{macros_dir}/macros.ghc-extra -install -p -D -m 0644 %{SOURCE7} %{buildroot}/%{macros_dir}/macros.ghc-srpm install -p -D -m 0755 %{SOURCE3} %{buildroot}/%{_prefix}/lib/rpm/ghc-deps.sh +install -p -D -m 0644 %{SOURCE7} %{buildroot}/%{_prefix}/lib/rpm/fileattrs/ghc.attr install -p -D -m 0755 %{SOURCE4} %{buildroot}/%{_bindir}/cabal-tweak-dep-ver install -p -D -m 0755 %{SOURCE5} %{buildroot}/%{_bindir}/cabal-tweak-flag -# this is why this package is now arch-dependent: # turn off shared libs and dynamic linking on secondary archs %ifnarch %{ix86} x86_64 cat >> %{buildroot}/%{macros_dir}/macros.ghc <<EOF @@ -94,6 +82,7 @@ %files %doc COPYING AUTHORS %{macros_dir}/macros.ghc +%{_prefix}/lib/rpm/fileattrs/ghc.attr %{_prefix}/lib/rpm/ghc-deps.sh %{_bindir}/cabal-tweak-dep-ver %{_bindir}/cabal-tweak-flag @@ -103,11 +92,63 @@ %{macros_dir}/macros.ghc-extra -%files -n ghc-srpm-macros -%{macros_dir}/macros.ghc-srpm +%changelog +* Wed Sep 10 2014 Jens Petersen <[email protected]> - 1.3.6-1 +- improve ghc_fix_dynamic_rpath not to assume cwd = pkg_name + +* Fri Aug 29 2014 Jens Petersen <[email protected]> - 1.3.5-1 +- no longer disable debuginfo by default: + packages now need to explicitly opt out of debuginfo if appropriate +* Thu Aug 28 2014 Jens Petersen <[email protected]> - 1.3.4-1 +- drop -O2 for ghc-7.8: it uses too much build mem + +* Fri Aug 22 2014 Jens Petersen <[email protected]> - 1.3.3-1 +- temporarily revert to ghc-7.6 config for shared libs + until we move to ghc-7.8 + +* Thu Aug 21 2014 Jens Petersen <[email protected]> - 1.3.2-1 +- add an rpm .attr file for ghc-deps.sh rather than running it + as an external dep generator (#1132275) + (see http://rpm.org/wiki/PackagerDocs/DependencyGenerator) + +* Wed Aug 20 2014 Jens Petersen <[email protected]> - 1.3.1-1 +- fix warning in macros.ghc-extra about unused pkgnamever + +* Sat Aug 16 2014 Fedora Release Engineering <[email protected]> - 1.3.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sat Aug 2 2014 Jens Petersen <[email protected]> - 1.3.0-1 +- shared libs available for all archs in ghc-7.8 +- cabal_configure --disable-shared with ghc_without_shared +- ghc_clear_execstack no longer needed + +* Fri Jun 27 2014 Jens Petersen <[email protected]> - 1.2.13-2 +- ghc-srpm-macros is now a separate source package + +* Fri Jun 6 2014 Jens Petersen <[email protected]> - 1.2.13-1 +- add aarch64 + +* Sun Jun 1 2014 Jens Petersen <[email protected]> - 1.2.12-1 +- add missing ppc64, s390, and s390x to ghc_arches +- add new ppc64le to ghc_arches + +* Fri May 30 2014 Jens Petersen <[email protected]> - 1.2.11-1 +- condition use of execstack since no prelink on ppc64le or arm64 + +* Wed May 21 2014 Dennis Gilmore <[email protected]> - 1.2.10-2 +- add %%ghc_arches back to macros.ghc-srpm to maintain compatability with +- existing specs + +* Fri May 16 2014 Jens Petersen <[email protected]> - 1.2.10-1 +- do bcond cabal configure --enable-tests also for Bin packages + +* Fri May 16 2014 Jens Petersen <[email protected]> - 1.2.9-1 +- enable configure bcond check for tests + +* Tue May 13 2014 Jens Petersen <[email protected]> - 1.2.8-1 +- use -O2 also for executable (Bin) packages and allow it to be overrided -%changelog * Wed Apr 30 2014 Jens Petersen <[email protected]> - 1.2.7-1 - ghc-rpm-macros requires ghc-srpm-macros - ghc-srpm-macros does not require ghc-rpm-macros diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ghc-rpm-macros-48199c851a2c672494e295b3cbfc4eded20c3a11/ghc.attr new/ghc-rpm-macros-2da26f9db56515862de9839f12a17be5f2ed2eb7/ghc.attr --- old/ghc-rpm-macros-48199c851a2c672494e295b3cbfc4eded20c3a11/ghc.attr 1970-01-01 01:00:00.000000000 +0100 +++ new/ghc-rpm-macros-2da26f9db56515862de9839f12a17be5f2ed2eb7/ghc.attr 2014-09-10 09:07:29.000000000 +0200 @@ -0,0 +1,3 @@ +%__ghc_provides %{_rpmconfigdir}/ghc-deps.sh --provides %{buildroot}%{ghclibdir} +%__ghc_requires %{_rpmconfigdir}/ghc-deps.sh --requires %{buildroot}%{ghclibdir} +%__ghc_path ^%{ghclibdir}/.*/libHS.*\\.(so|a) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ghc-rpm-macros-48199c851a2c672494e295b3cbfc4eded20c3a11/macros.ghc new/ghc-rpm-macros-2da26f9db56515862de9839f12a17be5f2ed2eb7/macros.ghc --- old/ghc-rpm-macros-48199c851a2c672494e295b3cbfc4eded20c3a11/macros.ghc 1970-01-01 01:00:00.000000000 +0100 +++ new/ghc-rpm-macros-2da26f9db56515862de9839f12a17be5f2ed2eb7/macros.ghc 2014-09-10 09:07:29.000000000 +0200 @@ -0,0 +1,152 @@ +# RPM Macros for packaging Haskell cabalized packages -*-rpm-spec-*- +# see https://fedoraproject.org/wiki/Packaging:Haskell for more details + +# "cabal" +%cabal [ -x Setup ] || ghc --make %{!?ghc_user_conf:-no-user-package-db} %{!?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=%{?_pkgdocdir}%{!?_pkgdocdir:%{_docdir}/%{name}-%{version}} --libsubdir='$compiler/$pkgid' --datasubdir='$pkgid' --ghc %{!?ghc_without_dynamic:--enable-executable-dynamic} %{?with_tests:--enable-tests} %{?cabal_configure_options} $cabal_configure_extra_options + +# install +%cabal_install %cabal copy --destdir=%{buildroot} -v + +# root dir for ghc docs +%ghcdocbasedir %{_docdir}/ghc/html +# libraries doc dir +%ghclibdocdir %{ghcdocbasedir}/libraries +# pkg doc dir +%ghcpkgdocdir %{ghcdocbasedir}/libraries/%{pkg_name} +# 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}/%{pkgname}\ +rm -f %{basepkg}.files %{basepkg}-devel.files\ +if [ -d "%{buildroot}%{pkgdir}" ]; then\ +echo "%dir %{pkgdir}" >> %{basepkg}.files\ +%if %{undefined ghc_without_shared}\ +echo "%attr(755,root,root) %{pkgdir}/libHS%{pkgnamever}-ghc%{ghc_version}.so" >> %{basepkg}.files\ +%endif\ +fi\ +echo "%{ghclibdir}/package.conf.d/%{pkgnamever}*.conf" >> %{basepkg}-devel.files\ +if [ -d "%{buildroot}%{pkgdir}" ]; then\ +find %{buildroot}%{pkgdir} -mindepth 1 -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 %{basepkg}.files %{basepkg}-devel.files; do\ +if [ -f "$i" ]; then\ +sed -i -e "s!%{buildroot}!!g" $i\ +fi\ +done\ +%{nil} + +# 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\ +install -D --mode=0644 %{pkgnamever}.conf %{buildroot}%{ghclibdir}/package.conf.d/%{pkgnamever}.conf\ +%{nil} + +# ghc_bin_build +%ghc_bin_build\ +%cabal_configure\ +%cabal build + +# ghc_lib_build_without_haddock [name] [version] +%ghc_lib_build_without_haddock()\ +%cabal_configure %{!?without_prof:-p} %{!?ghc_without_shared:--enable-shared} %{?pkg_name:--htmldir=%{ghclibdocdir}/%{pkg_name}} %{?1:--docdir=%{_docdir}/ghc-%1%{!?fedora:-%2} --htmldir=%{ghclibdocdir}/%1} %{!?1:--global} %{?ghc_with_lib_for_ghci:--enable-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 --html %{!?without_hscolour:%(if [ -x %{_bindir}/HsColour ]; then echo --hyperlink-source; fi)} --hoogle\ +%endif\ +%{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 + +# install bin package +%ghc_bin_install()\ +%cabal_install\ +%{!?1:%ghc_strip_dynlinked}\ +%{nil} + +# ghc_lib_install [name] [version] +%ghc_lib_install()\ +%cabal_install\ +%cabal_pkg_conf\ +%ghc_gen_filelists\ +%{!?1:%ghc_strip_dynlinked}\ +%{nil} + +# ghc_fix_dynamic_rpath prog ... +%ghc_fix_dynamic_rpath()\ +%if %{undefined ghc_without_dynamic}\ +if ! type chrpath > /dev/null; then exit 1; fi\ +PDIR=$(pwd)\ +for i in %*; do\ + PROG=%{buildroot}%{_bindir}/$i\ + if [ -x "$PROG" ]; then\ + RPATH=$(chrpath $PROG | sed -e "s@^$PROG: RPATH=@@")\ + case $RPATH in\ + *$PDIR*)\ + NEWRPATH=$(echo $RPATH | sed -e "s@$PDIR/dist/build@%{ghclibdir}/%{pkg_name}-%{version}@g")\ + chrpath -r $NEWRPATH $PROG\ + ;;\ + esac\ + else\ + echo "%%ghc_fix_dynamic_rpath: no such file $PROG"\ + exit 1\ + fi\ +done\ +%endif\ +%{nil} + +%ghc_pkg_recache %{_bindir}/ghc-pkg recache --no-user-package-db || : + +# - without_hscolour, without_testsuite, and ghc_bootstrapping +# need to be set locally in the spec file + +# skip prof libs and documentation +%ghc_bootstrap\ +%global without_prof 1\ +%global without_haddock 1\ +%global without_manual 1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ghc-rpm-macros-48199c851a2c672494e295b3cbfc4eded20c3a11/macros.ghc-extra new/ghc-rpm-macros-2da26f9db56515862de9839f12a17be5f2ed2eb7/macros.ghc-extra --- old/ghc-rpm-macros-48199c851a2c672494e295b3cbfc4eded20c3a11/macros.ghc-extra 1970-01-01 01:00:00.000000000 +0100 +++ new/ghc-rpm-macros-2da26f9db56515862de9839f12a17be5f2ed2eb7/macros.ghc-extra 2014-09-10 09:07:29.000000000 +0200 @@ -0,0 +1,44 @@ +# RPM Macros for packaging Haskell packages with multiple libs -*-rpm-spec-*- + +# ghc_lib_subpackage [-c cdepslist] [-l licensetag] [-x] [name] [version] +%ghc_lib_subpackage(c:l:x)\ +%define pkgname %{?1}%{!?1:%{pkg_name}}\ +%define pkgver %{?2}%{!?2:%{version}}\ +%{!-x:%{?1:%global ghc_packages_list %{?ghc_packages_list} %{pkgname}-%{pkgver}}}\ +%define basepkg ghc-%{pkgname}\ +%package -n %{basepkg}\ +Summary: Haskell %{pkgname} library\ +%{?1:Version: %{pkgver}}\ +%{-l:License: %{-l*}}\ +Url: http://hackage.haskell.org/package/%{pkgname}\ +%{?ghc_pkg_obsoletes:Obsoletes: %(echo "%{ghc_pkg_obsoletes}" | sed -e "s/\\(ghc-[^, ]*\\)-devel/\\1/g")}\ +\ +%description -n %{basepkg}\ +This package provides the Haskell %{pkgname} library.\ +\ +%package -n %{basepkg}-devel\ +Summary: Haskell %{pkgname} library development files\ +%{?1:Version: %{pkgver}}\ +%{-l:License: %{-l*}}\ +Requires(post): ghc-compiler = %{ghc_version}\ +Requires(postun): ghc-compiler = %{ghc_version}\ +Requires: ghc-%{pkgname}%{?_isa} = %{pkgver}-%{release}\ +%{?ghc_pkg_c_deps:Requires: %{ghc_pkg_c_deps}}\ +%{-c:Requires: %{-c*}}\ +%{?ghc_pkg_obsoletes:Obsoletes: %{ghc_pkg_obsoletes}}\ +\ +%description -n %{basepkg}-devel\ +This package provides the Haskell %{pkgname} library development files.\ +\ +%post -n %{basepkg}-devel\ +%ghc_pkg_recache\ +\ +%postun -n %{basepkg}-devel\ +%ghc_pkg_recache\ +\ +%files -n %{basepkg} -f %{basepkg}.files\ +%{?base_doc_files:%doc %base_doc_files}\ +\ +%files -n %{basepkg}-devel -f %{basepkg}-devel.files\ +%{?devel_doc_files:%doc %devel_doc_files}\ +%{nil} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ghc-rpm-macros-48199c851a2c672494e295b3cbfc4eded20c3a11/tests/test-rebuild.sh new/ghc-rpm-macros-2da26f9db56515862de9839f12a17be5f2ed2eb7/tests/test-rebuild.sh --- old/ghc-rpm-macros-48199c851a2c672494e295b3cbfc4eded20c3a11/tests/test-rebuild.sh 2014-04-30 05:44:15.000000000 +0200 +++ new/ghc-rpm-macros-2da26f9db56515862de9839f12a17be5f2ed2eb7/tests/test-rebuild.sh 2014-09-10 09:07:29.000000000 +0200 @@ -24,7 +24,7 @@ if [ -f /etc/os-release ]; then eval $(grep VERSION_ID /etc/os-release) case $VERSION_ID in - 21) BRANCH=master ;; + 22) BRANCH=master ;; 7.*) BRANCH=el7 ;; *) BRANCH="f$VERSION_ID" ;; esac ++++++ suse-disable-debug-packages.patch ++++++ --- /var/tmp/diff_new_pack.GpJvjz/_old 2014-11-06 16:51:38.000000000 +0100 +++ /var/tmp/diff_new_pack.GpJvjz/_new 2014-11-06 16:51:38.000000000 +0100 @@ -1,11 +1,12 @@ -Index: ghc-rpm-macros-master/ghc-rpm-macros.ghc +Index: ghc-rpm-macros-2da26f9db56515862de9839f12a17be5f2ed2eb7/macros.ghc =================================================================== ---- ghc-rpm-macros-master.orig/ghc-rpm-macros.ghc -+++ ghc-rpm-macros-master/ghc-rpm-macros.ghc -@@ -78,15 +78,25 @@ done\ - install -D --mode=0644 %{pkgnamever}.conf %{buildroot}%{ghclibdir}/package.conf.d/%{pkgnamever}.conf\ - %{nil} - +--- ghc-rpm-macros-2da26f9db56515862de9839f12a17be5f2ed2eb7.orig/macros.ghc ++++ ghc-rpm-macros-2da26f9db56515862de9839f12a17be5f2ed2eb7/macros.ghc +@@ -150,3 +150,13 @@ done\ + %global without_prof 1\ + %global without_haddock 1\ + %global without_manual 1 ++ +# ghc_suse_disable_debug_packages +%ghc_suse_disable_debug_packages\ +%global debug_package %{nil}\ @@ -15,18 +16,3 @@ +mkdir -p %{buildroot}/usr/lib/debug\ +echo "/usr/src/debug" > debugsources.list\ +mkdir -p %{buildroot}/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} %{?pkg_name:--htmldir=%{ghclibdocdir}/%{pkg_name}} %{?1:--docdir=%{_docdir}/ghc-%1%{!?fedora:-%2} --htmldir=%{ghclibdocdir}/%1} %{!?1:--global} %{?ghc_with_lib_for_ghci:--enable-library-for-ghci} --ghc-option=-O2\ - %cabal build\ - %{nil} ++++++ suse-docdir.patch ++++++ --- /var/tmp/diff_new_pack.GpJvjz/_old 2014-11-06 16:51:38.000000000 +0100 +++ /var/tmp/diff_new_pack.GpJvjz/_new 2014-11-06 16:51:38.000000000 +0100 @@ -1,7 +1,7 @@ -Index: ghc-rpm-macros-4d2eb25803c01c46ee84cd7f30f1bc5fb4efba52/ghc-rpm-macros.ghc +Index: ghc-rpm-macros-4d2eb25803c01c46ee84cd7f30f1bc5fb4efba52/macros.ghc =================================================================== ---- ghc-rpm-macros-4d2eb25803c01c46ee84cd7f30f1bc5fb4efba52.orig/ghc-rpm-macros.ghc -+++ ghc-rpm-macros-4d2eb25803c01c46ee84cd7f30f1bc5fb4efba52/ghc-rpm-macros.ghc +--- ghc-rpm-macros-4d2eb25803c01c46ee84cd7f30f1bc5fb4efba52.orig/macros.ghc ++++ ghc-rpm-macros-4d2eb25803c01c46ee84cd7f30f1bc5fb4efba52/macros.ghc @@ -18,6 +18,9 @@ proceeding, to avoid dependency ABI brea %endif\ fi -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
