diff --git a/ghc-doc-index b/ghc-doc-index deleted file mode 100755 index a0223fa..0000000 --- a/ghc-doc-index +++ /dev/null @@ -1,38 +0,0 @@ -#!/bin/sh - -LOCKFILE=/var/lock/ghc-doc-index.lock - -# the lockfile is not meant to be perfect, it's just in case -# two cron scripts get run close to each other to keep -# them from stepping on each other's toes. -if [ -f $LOCKFILE ]; then - echo "Locked with $LOCKFILE" - exit 0 -fi - -if [ "$(id -u)" != "0" ]; then - echo Need to be root! - exit 1 -fi - -trap "{ rm -f $LOCKFILE ; exit 255; }" EXIT -touch $LOCKFILE - -PKGDIRCACHE=/var/lib/ghc/pkg-dir.cache -LISTING="env LANG=C ls -dl" - -# only re-index ghc docs when there are changes -cd /usr/share/doc/ghc/html/libraries -if [ -r "$PKGDIRCACHE" ]; then - $LISTING */ > $PKGDIRCACHE.new - DIR_DIFF=$(diff $PKGDIRCACHE $PKGDIRCACHE.new) -else - $LISTING */ > $PKGDIRCACHE -fi -if [ -x "gen_contents_index" -a ! -r "$PKGDIRCACHE.new" -o -n "$DIR_DIFF" ]; then - ./gen_contents_index -fi - -if [ -f $PKGDIRCACHE.new ]; then - mv -f $PKGDIRCACHE.new $PKGDIRCACHE -fi diff --git a/ghc-doc-index.cron b/ghc-doc-index.cron deleted file mode 100755 index 4efe2ff..0000000 --- a/ghc-doc-index.cron +++ /dev/null @@ -1,9 +0,0 @@ -#! /bin/bash -# updates the library documentation index after updates - -# This can be disabled by uninstalling ghc-doc-index -# or adding ghc-doc-index to "./jobs-deny". - -/usr/bin/ghc-doc-index - -exit 0 diff --git a/ghc.spec b/ghc.spec index e794ced..f4eba1a 100644 --- a/ghc.spec +++ b/ghc.spec @@ -1,5 +1,5 @@ -# disable prof, docs, perf build -# NB This SHOULD be disabled (bcond_with) for all koji production builds +# disable prof, docs, perf build, debuginfo +# NB This must be disabled (bcond_with) for all koji production builds %bcond_with quickbuild # make sure ghc libraries' ABI hashes unchanged @@ -8,18 +8,21 @@ # to handle RCs %global ghc_release %{version} +%global base_ver 4.11.1.0 + # build profiling libraries -# build docs (haddock and manuals) -# - combined since disabling haddock seems to cause no manuals built +# build haddock and manuals +# - earlier combined since disabling haddock seems to cause no manuals built? # - # perf production build (disable for quick build) %if %{with quickbuild} -%bcond_with prof -%bcond_with docs +%undefine with_ghc_prof +%undefine with_haddock +%bcond_with manual %bcond_with perf_build +%undefine _enable_debug_packages %else -%bcond_without prof -%bcond_without docs +%bcond_without manual %bcond_without perf_build %endif @@ -33,13 +36,12 @@ %global ghc_unregisterized_arches s390 s390x %{mips} Name: ghc -# ghc must be rebuilt after a version bump to avoid ABI change problems Version: 8.4.4 # Since library subpackages are versioned: # - release can only be reset if *all* library versions get bumped simultaneously # (sometimes after a major release) # - minor release numbers for a branch should be incremented monotonically -Release: 76%{?dist} +Release: 99%{?dist} Summary: Glasgow Haskell Compiler License: BSD and HaskellReport @@ -48,8 +50,6 @@ Source0: https://downloads.haskell.org/~ghc/%{ghc_release}/ghc-%{version}-src.ta %if %{with testsuite} Source1: https://downloads.haskell.org/~ghc/%{ghc_release}/ghc-%{version}-testsuite.tar.xz %endif -Source3: ghc-doc-index.cron -Source4: ghc-doc-index Source5: ghc-pkg.man Source6: haddock.man Source7: runghc.man @@ -61,7 +61,9 @@ Patch5: ghc-configure-fix-sphinx-version-check.patch # https://phabricator.haskell.org/rGHC4eebc8016f68719e1ccdf460754a97d1f4d6ef05 Patch6: ghc-sphinx-1.8-4eebc8016.patch -# Arch dependent packages +# Arch dependent patches + +# arm Patch12: ghc-armv7-VFPv3D16--NEON.patch # for s390x @@ -91,7 +93,7 @@ BuildRequires: ghc-compiler %if %{with abicheck} BuildRequires: ghc %endif -BuildRequires: ghc-rpm-macros-extra +BuildRequires: ghc-rpm-macros-extra >= 2.0 BuildRequires: ghc-binary-devel BuildRequires: ghc-bytestring-devel BuildRequires: ghc-containers-devel @@ -101,15 +103,19 @@ BuildRequires: ghc-process-devel BuildRequires: ghc-transformers-devel BuildRequires: gmp-devel BuildRequires: libffi-devel +BuildRequires: make # for terminfo BuildRequires: ncurses-devel -# for man and docs BuildRequires: perl-interpreter %if %{with testsuite} BuildRequires: python3 %endif -%if %{with docs} +%if %{with manual} +%if 0%{?fedora} >= 31 BuildRequires: python3-sphinx +%else +BuildRequires: python2-sphinx +%endif %endif %ifarch %{ghc_llvm_archs} BuildRequires: llvm%{llvm_major} @@ -122,10 +128,16 @@ BuildRequires: autoconf, automake %endif Requires: ghc-compiler = %{version}-%{release} Requires: ghc-ghc-devel = %{version}-%{release} -Requires: ghc-libraries = %{version}-%{release} -%if %{with docs} -Recommends: ghc-doc-cron = %{version}-%{release} -Recommends: ghc-manual = %{version}-%{release} +Requires: ghc-devel = %{version}-%{release} +%if %{with haddock} +Suggests: ghc-doc = %{version}-%{release} +Suggests: ghc-doc-index = %{version}-%{release} +%endif +%if %{with manual} +Suggests: ghc-manual = %{version}-%{release} +%endif +%if %{with ghc_prof} +Suggests: ghc-prof = %{version}-%{release} %endif Recommends: zlib-devel @@ -156,15 +168,8 @@ for the functional language Haskell. Highlights: Summary: GHC compiler and utilities License: BSD Requires: gcc%{?_isa} -Requires: ghc-base-devel%{?_isa} -# for alternatives -Requires(post): %{_sbindir}/update-alternatives -Requires(postun): %{_sbindir}/update-alternatives -# added in f14 -Obsoletes: ghc-doc < 6.12.3-4 -%if %{without docs} -Obsoletes: ghc-doc-cron < %{version}-%{release} -# added in f28 +Requires: ghc-base-devel%{?_isa} = %{base_ver}-%{release} +%if %{without haddock} Obsoletes: ghc-doc-index < %{version}-%{release} %endif %ifarch %{ghc_llvm_archs} @@ -174,28 +179,34 @@ Requires: llvm%{llvm_major} %description compiler The package contains the GHC compiler, tools and utilities. -The ghc libraries are provided by ghc-libraries. +The ghc libraries are provided by ghc-devel. To install all of ghc (including the ghc library), install the main ghc package. -%if %{with docs} -%package doc-cron -Summary: GHC library documentation indexing cronjob +%if %{with haddock} +%package doc +Summary: Haskell library documentation meta package +License: BSD + +%description doc +Installing this package causes ghc-*-doc packages corresponding to ghc-*-devel +packages to be automatically installed too. + + +%package doc-index +Summary: GHC library documentation indexing License: BSD +Obsoletes: ghc-doc-cron < %{version}-%{release} Requires: ghc-compiler = %{version}-%{release} -Requires: crontabs -# added in f28 -Obsoletes: ghc-doc-index < %{version}-%{release} BuildArch: noarch -%description doc-cron -The package provides a cronjob for re-indexing installed library development -documention. +%description doc-index +The package enables re-indexing of installed library documention. %endif -%if %{with docs} +%if %{with manual} %package manual Summary: GHC manual License: BSD @@ -209,35 +220,21 @@ This package provides the User Guide and Haddock manual. # ghclibdir also needs ghc_version_override for bootstrapping %global ghc_version_override %{version} -# EL7 rpm supports fileattrs ghc.attr -%if 0%{?rhel} && 0%{?rhel} < 7 -# needs ghc_version_override for bootstrapping -%global _use_internal_dependency_generator 0 -%global __find_provides /usr/lib/rpm/rpmdeps --provides -%global __find_requires %{_rpmconfigdir}/ghc-deps.sh --requires %{buildroot}%{ghclibdir} -%endif - -%global ghc_pkg_c_deps ghc-compiler = %{ghc_version_override}-%{release} - %global BSDHaskellReport %{quote:BSD and HaskellReport} # use "./libraries-versions.sh" to check versions %if %{defined ghclibdir} %ghc_lib_subpackage -d -l BSD Cabal-2.2.0.1 %ghc_lib_subpackage -d -l %BSDHaskellReport array-0.5.2.0 -%ghc_lib_subpackage -d -l %BSDHaskellReport -c gmp-devel%{?_isa},libffi-devel%{?_isa} base-4.11.1.0 +%ghc_lib_subpackage -d -l %BSDHaskellReport -c gmp-devel%{?_isa},libffi-devel%{?_isa} base-%{base_ver} %ghc_lib_subpackage -d -l BSD binary-0.8.5.1 %ghc_lib_subpackage -d -l BSD bytestring-0.10.8.2 %ghc_lib_subpackage -d -l %BSDHaskellReport containers-0.5.11.0 %ghc_lib_subpackage -d -l %BSDHaskellReport deepseq-1.4.3.0 %ghc_lib_subpackage -d -l %BSDHaskellReport directory-1.3.1.5 %ghc_lib_subpackage -d -l BSD filepath-1.4.2 -# in ghc not ghc-libraries: -%ghc_lib_subpackage -d -x ghc-%{ghc_version_override} -%ghc_lib_subpackage -d -x -l BSD ghc-boot-%{ghc_version_override} %ghc_lib_subpackage -d -l BSD ghc-boot-th-%{ghc_version_override} %ghc_lib_subpackage -d -l BSD ghc-compact-0.1.0.0 -%ghc_lib_subpackage -d -l BSD -x ghci-%{ghc_version_override} %ghc_lib_subpackage -d -l BSD haskeline-0.7.4.2 %ghc_lib_subpackage -d -l BSD hpc-0.6.0.3 %ghc_lib_subpackage -d -l BSD mtl-2.2.2 @@ -251,30 +248,42 @@ This package provides the User Guide and Haddock manual. %ghc_lib_subpackage -d -l BSD time-1.8.0.2 %ghc_lib_subpackage -d -l BSD transformers-0.5.5.0 %ghc_lib_subpackage -d -l BSD unix-2.7.2.2 -%if %{with docs} +%if %{with haddock} %ghc_lib_subpackage -d -l BSD xhtml-3000.2.2.1 %endif +# in ghc not ghc-devel: +%ghc_lib_subpackage -d -x ghc-%{ghc_version_override} +%ghc_lib_subpackage -d -l BSD -x ghc-boot-%{ghc_version_override} +%ghc_lib_subpackage -d -l BSD -x ghci-%{ghc_version_override} %endif %global version %{ghc_version_override} -%package libraries +%package devel Summary: GHC development libraries meta package License: BSD and HaskellReport Requires: ghc-compiler = %{version}-%{release} -Obsoletes: ghc-devel < %{version}-%{release} -Provides: ghc-devel = %{version}-%{release} -Obsoletes: ghc-prof < %{version}-%{release} -Provides: ghc-prof = %{version}-%{release} -# since f15 -Obsoletes: ghc-libs < 7.0.1-3 +Obsoletes: ghc-libraries < %{version}-%{release} +Provides: ghc-libraries = %{version}-%{release} %{?ghc_packages_list:Requires: %(echo %{ghc_packages_list} | sed -e "s/\([^ ]*\)-\([^ ]*\)/ghc-\1-devel = \2-%{release},/g")} -%description libraries +%description devel This is a meta-package for all the development library packages in GHC except the ghc library, which is installed by the toplevel ghc metapackage. +%if %{with ghc_prof} +%package prof +Summary: GHC profiling libraries meta package +License: BSD +Requires: ghc-compiler = %{version}-%{release} + +%description prof +Installing this package causes ghc-*-prof packages corresponding to ghc-*-devel +packages to be automatically installed too. +%endif + + %prep %setup -q -n %{name}-%{version} %{?with_testsuite:-b1} @@ -284,9 +293,7 @@ except the ghc library, which is installed by the toplevel ghc metapackage. %patch5 -p1 -b .orig %patch6 -p1 -b .orig -%if 0%{?fedora} || 0%{?rhel} > 6 rm -r libffi-tarballs -%endif %ifarch armv7hl %patch12 -p1 -b .orig @@ -309,7 +316,7 @@ rm -r libffi-tarballs %endif %global gen_contents_index gen_contents_index.orig -%if %{with docs} +%if %{with haddock} if [ ! -f "libraries/%{gen_contents_index}" ]; then echo "Missing libraries/%{gen_contents_index}, needed at end of %%install!" exit 1 @@ -331,15 +338,18 @@ BuildFlavour = quick-llvm BuildFlavour = quick %endif %endif -GhcLibWays = v dyn %{?with_prof:p} -%if %{with docs} +GhcLibWays = v dyn %{?with_ghc_prof:p} +%if %{with haddock} HADDOCK_DOCS = YES -BUILD_MAN = YES +EXTRA_HADDOCK_OPTS += --hyperlinked-source %else HADDOCK_DOCS = NO +%endif +%if %{with manual} +BUILD_MAN = YES +%else BUILD_MAN = NO %endif -EXTRA_HADDOCK_OPTS += --hyperlinked-source BUILD_SPHINX_PDF = NO EOF ## for verbose build output @@ -357,9 +367,7 @@ autoreconf autoconf %endif -# replace later with ghc_set_gcc_flags -export CFLAGS="${CFLAGS:-%optflags}" -export LDFLAGS="${LDFLAGS:-%{?__global_ldflags}}" +%ghc_set_gcc_flags # for ghc >= 8.2 export CC=%{_bindir}/gcc # * %%configure induces cross-build due to different target/host/build platform names @@ -369,12 +377,10 @@ export CC=%{_bindir}/gcc --libexecdir=%{_libexecdir} --localstatedir=%{_localstatedir} \ --sharedstatedir=%{_sharedstatedir} --mandir=%{_mandir} \ --docdir=%{_docdir}/ghc \ + --with-system-libffi \ %ifarch %{ghc_unregisterized_arches} --enable-unregisterised \ %endif -%if 0%{?fedora} || 0%{?rhel} > 6 - --with-system-libffi \ -%endif %{nil} # avoid "ghc: hGetContents: invalid argument (invalid byte sequence)" @@ -386,28 +392,33 @@ make %{?_smp_mflags} make DESTDIR=%{buildroot} install %if %{defined _ghcdynlibdir} -mv %{buildroot}%{ghclibdir}/*/libHS*ghc%{ghc_version}.so %{buildroot}%{_libdir}/ -for i in $(find %{buildroot} -type f -exec sh -c "file {} | grep -q 'dynamically linked'" \; -print); do +mv %{buildroot}%{ghclibdir}/*/libHS*ghc%{ghc_version}.so %{buildroot}%{_ghcdynlibdir}/ +for i in $(find %{buildroot} -type f -executable -exec sh -c "file {} | grep -q 'dynamically linked'" \; -print); do chrpath -d $i done for i in %{buildroot}%{ghclibdir}/package.conf.d/*.conf; do - sed -i -e 's!^dynamic-library-dirs: .*!dynamic-library-dirs: %{_libdir}!' $i + sed -i -e 's!^dynamic-library-dirs: .*!dynamic-library-dirs: %{_ghcdynlibdir}!' $i done -sed -i -e 's!^library-dirs: %{ghclibdir}/rts!&\ndynamic-library-dirs: %{_libdir}!' %{buildroot}%{ghclibdir}/package.conf.d/rts.conf +sed -i -e 's!^library-dirs: %{ghclibdir}/rts!&\ndynamic-library-dirs: %{_ghcdynlibdir}!' %{buildroot}%{ghclibdir}/package.conf.d/rts.conf %endif +# libraries licenses +rm %{buildroot}%{ghc_html_libraries_dir}/{ghc-prim,integer-gmp}-*/LICENSE +mkdir -p %{buildroot}%{_ghclicensedir} +for i in $(cd %{buildroot}%{ghc_html_libraries_dir}; ls */LICENSE); do + pkg=$(dirname $i | sed -e "s/\\(.*\\)-.*/\\1/") + mkdir %{buildroot}%{_ghclicensedir}/ghc-$pkg + mv %{buildroot}%{ghc_html_libraries_dir}/$i %{buildroot}%{_ghclicensedir}/ghc-$pkg/ +done + for i in %{ghc_packages_list}; do name=$(echo $i | sed -e "s/\(.*\)-.*/\1/") ver=$(echo $i | sed -e "s/.*-\(.*\)/\1/") %ghc_gen_filelists $name $ver -%if 0%{?rhel} && 0%{?rhel} < 7 -echo "%%doc libraries/$name/LICENSE" >> ghc-$name.files -%else -echo "%%license libraries/$name/LICENSE" >> ghc-$name.files -%endif done echo "%%dir %{ghclibdir}" >> ghc-base%{?_ghcdynlibdir:-devel}.files +echo "%{ghclibdir}/include" >> ghc-base-devel.files %ghc_gen_filelists ghc-boot %{ghc_version_override} %ghc_gen_filelists ghc %{ghc_version_override} @@ -416,66 +427,34 @@ echo "%%dir %{ghclibdir}" >> ghc-base%{?_ghcdynlibdir:-devel}.files %ghc_gen_filelists integer-gmp 1.0.2.0 %define merge_filelist()\ -cat ghc-%1.files >> ghc-%2.files\ -cat ghc-%1-devel.files >> ghc-%2-devel.files\ cp -p libraries/%1/LICENSE libraries/LICENSE.%1\ -%if 0%{?rhel} && 0%{?rhel} < 7\ -echo "%%doc libraries/LICENSE.%1" >> ghc-%2.files\ -%else\ echo "%%license libraries/LICENSE.%1" >> ghc-%2.files\ -%endif +cat ghc-%1.files >> ghc-%2.files\ +for i in devel doc prof; do\ + cat ghc-%1-$i.files >> ghc-%2-$i.files\ +done %merge_filelist integer-gmp base %merge_filelist ghc-prim base # add rts libs -%if %{defined _ghcdynlibdir} -echo "%{ghclibdir}/rts" >> ghc-base-devel.files -%else -echo "%%dir %{ghclibdir}/rts" >> ghc-base.files -ls -d %{buildroot}%{ghclibdir}/rts/lib*.a >> ghc-base-devel.files -%endif -ls %{buildroot}%{?_ghcdynlibdir}%{!?_ghcdynlibdir:%{ghclibdir}/rts}/libHSrts*.so >> ghc-base.files -%if 0%{?rhel} && 0%{?rhel} < 7 -ls %{buildroot}%{ghclibdir}/rts/libffi.so.* >> ghc-base.files -%endif -%if %{defined _ghcdynlibdir} -sed -i -e 's!^library-dirs: %{ghclibdir}/rts!&\ndynamic-library-dirs: %{_libdir}!' %{buildroot}%{ghclibdir}/package.conf.d/rts.conf -%endif - -ls -d %{buildroot}%{ghclibdir}/package.conf.d/rts.conf %{buildroot}%{ghclibdir}/include >> ghc-base-devel.files -%if 0%{?rhel} && 0%{?rhel} < 7 -ls %{buildroot}%{ghclibdir}/rts/libffi.so >> ghc-base-devel.files -%endif - -sed -i -e "s|^%{buildroot}||g" ghc-base*.files - -# these are handled as alternatives -for i in hsc2hs runhaskell; do - if [ -x %{buildroot}%{_bindir}/$i-ghc ]; then - rm %{buildroot}%{_bindir}/$i - else - mv %{buildroot}%{_bindir}/$i{,-ghc} - fi - touch %{buildroot}%{_bindir}/$i -done - -%if %{with docs} -mkdir -p %{buildroot}%{_sysconfdir}/cron.hourly -install -p --mode=0755 %SOURCE3 %{buildroot}%{_sysconfdir}/cron.hourly/ghc-doc-index -mkdir -p %{buildroot}%{_localstatedir}/lib/ghc -touch %{buildroot}%{_localstatedir}/lib/ghc/pkg-dir.cache{,.new} -install -p --mode=0755 %SOURCE4 %{buildroot}%{_bindir}/ghc-doc-index - +rm -f rts.files +touch rts.files +ls %{buildroot}%{?_ghcdynlibdir}%{!?_ghcdynlibdir:%{ghclibdir}/rts}/libHSrts*-ghc%{ghc_version}.so >> rts.files +find %{buildroot}%{ghclibdir}/rts -type d -fprintf rts-devel.files '%%%%dir %p\n' -o -name 'libHSrts*_p.a' -fprint rts-prof.files -o -fprint rts-devel.files +echo "%{ghclibdir}/package.conf.d/rts.conf" >> rts-devel.files +sed -i -e "s!%{buildroot}!!g" rts.files rts-devel.files rts-prof.files +cat rts.files >> ghc-base.files +cat rts-devel.files >> ghc-base-devel.files +cat rts-prof.files >> ghc-base-prof.files + +%if %{with haddock} # generate initial lib doc index cd libraries sh %{gen_contents_index} --intree --verbose cd .. %endif -# we package the library license files separately -find %{buildroot}%{ghc_html_libraries_dir} -name LICENSE -exec rm '{}' ';' - mkdir -p %{buildroot}%{_mandir}/man1 install -p -m 0644 %{SOURCE5} %{buildroot}%{_mandir}/man1/ghc-pkg.1 install -p -m 0644 %{SOURCE6} %{buildroot}%{_mandir}/man1/haddock.1 @@ -536,30 +515,7 @@ make test %endif -%post compiler -# Alas, GHC, Hugs, and nhc all come with different set of tools in -# addition to a runFOO: -# -# * GHC: hsc2hs -# * Hugs: hsc2hs, cpphs -# * nhc: cpphs -# -# Therefore it is currently not possible to use --slave below to form -# link groups under a single name 'runhaskell'. Either these tools -# should be disentangled from the Haskell implementations, or all -# implementations should have the same set of tools. *sigh* - -update-alternatives --install %{_bindir}/runhaskell runhaskell \ - %{_bindir}/runghc 500 -update-alternatives --install %{_bindir}/hsc2hs hsc2hs \ - %{_bindir}/hsc2hs-ghc 500 - -%preun compiler -if [ "$1" = 0 ]; then - update-alternatives --remove runhaskell %{_bindir}/runghc - update-alternatives --remove hsc2hs %{_bindir}/hsc2hs-ghc -fi - +%if %{defined ghclibdir} %transfiletriggerin compiler -- %{ghclibdir}/package.conf.d %ghc_pkg_recache %end @@ -567,6 +523,19 @@ fi %transfiletriggerpostun compiler -- %{ghclibdir}/package.conf.d %ghc_pkg_recache %end +%endif + + +%if %{with haddock} +%transfiletriggerin doc-index -- %{ghc_html_libraries_dir} +%{ghc_html_libraries_dir}/gen_contents_index +%end + +%transfiletriggerpostun doc-index -- %{ghc_html_libraries_dir} +%{ghc_html_libraries_dir}/gen_contents_index +%end +%endif + %files @@ -581,11 +550,10 @@ fi %{_bindir}/ghci-%{version} %{_bindir}/hp2ps %{_bindir}/hpc -%ghost %{_bindir}/hsc2hs -%{_bindir}/hsc2hs-ghc -%{_bindir}/runghc* -%ghost %{_bindir}/runhaskell -%{_bindir}/runhaskell-ghc +%{_bindir}/hsc2hs +%{_bindir}/runghc +%{_bindir}/runghc-%{ghc_version} +%{_bindir}/runhaskell %dir %{ghclibdir}/bin %{ghclibdir}/bin/ghc %{ghclibdir}/bin/ghc-pkg @@ -593,7 +561,7 @@ fi %{ghclibdir}/bin/hsc2hs %{ghclibdir}/bin/ghc-iserv %{ghclibdir}/bin/ghc-iserv-dyn -%if %{with prof} +%if %{with ghc_prof} %{ghclibdir}/bin/ghc-iserv-prof %endif %{ghclibdir}/bin/runghc @@ -617,16 +585,12 @@ fi %{_mandir}/man1/haddock.1* %{_mandir}/man1/runghc.1* -%if %{with docs} -%{_bindir}/ghc-doc-index +%if %{with haddock} %{_bindir}/haddock %{_bindir}/haddock-ghc-%{version} %{ghclibdir}/bin/haddock %{ghclibdir}/html %{ghclibdir}/latex -%if %{with docs} -%{_mandir}/man1/ghc.1* -%endif %dir %{ghc_html_dir}/libraries %{ghc_html_dir}/libraries/gen_contents_index %{ghc_html_dir}/libraries/prologue.txt @@ -640,32 +604,46 @@ fi %ghost %{ghc_html_dir}/libraries/plus.gif %ghost %{ghc_html_dir}/libraries/quick-jump.css %ghost %{ghc_html_dir}/libraries/synopsis.png -%dir %{_localstatedir}/lib/ghc -%ghost %{_localstatedir}/lib/ghc/pkg-dir.cache -%ghost %{_localstatedir}/lib/ghc/pkg-dir.cache.new %endif - -%if %{with docs} -%files doc-cron -%config(noreplace) %{_sysconfdir}/cron.hourly/ghc-doc-index +%if %{with manual} +%{_mandir}/man1/ghc.1* %endif -%files libraries +%files devel +%if %{with haddock} +%files doc -%if %{with docs} +%files doc-index +%endif + +%if %{with manual} %files manual ## needs pandoc #%%{ghc_html_dir}/Cabal -%if %{with docs} +%if %{with haddock} %{ghc_html_dir}/haddock %endif %{ghc_html_dir}/index.html %{ghc_html_dir}/users_guide %endif +%if %{with ghc_prof} +%files prof +%endif + %changelog +* Tue Jul 16 2019 Jens Petersen - 8.4.4-99 +- subpackage library haddock documentation and profiling libraries +- add ghc-doc and ghc-prof metapackages to pull in lib docs and prof libs +- rename ghc-doc-cron with ghc-doc-index using file triggers +- rename ghc-libraries to ghc-devel +- for quickbuild disable debuginfo +- lock ghc-compiler requires ghc-base-devel to ver-rel +- drop alternatives for runhaskell and hsc2hs +- use ghc_set_gcc_flags, with_ghc_prof, and with_haddock + * Thu Jul 25 2019 Fedora Release Engineering - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild