Compare commits

...

369 Commits

Author SHA1 Message Date
Troy Dawson 5eeb12394c Bump release 2020-09-09 15:20:40 +00:00
Troy Dawson 5caca1ad23 Remove all un-needed %if
Remove all %if's that deal with old fedora releases.
2020-08-18 15:12:05 +00:00
Troy Dawson 7ab1af8634 Remove un-needed %if
This %if statement is no longer needed because it addresses unsupported Fedora releases.
This also causes ELN builds to not be the same as Fedora Rawhide builds.

Signed-off-by: Troy Dawson <tdawson@redhat.com>
2020-08-12 20:01:37 +00:00
Fedora Release Engineering 8c86b056b8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-27 18:40:52 +00:00
Jens Petersen 9fdeb09153 8.8.4 bugfix release 2020-07-16 21:29:42 +08:00
Jens Petersen 263754c55c correct oversized tarball 2020-07-16 15:19:40 +08:00
Jens Petersen 308eac11f6 update sources for 8.8.3 2020-07-15 12:00:13 +08:00
Jens Petersen bc4cb4c3a0 add fix-build-using-unregisterised-v8.6.patch from Debian 2020-07-15 03:03:49 +08:00
Jens Petersen a07f9ed8a0 rebase to 8.8.3 from ghc:8.8 2020-07-15 01:53:44 +08:00
Jens Petersen 915a022b3c remove redundant unused ghc-configure-fix-sphinx-version-check.patch 2020-07-14 19:54:43 +08:00
Jens Petersen db12ef1861 use python3-sphinx also for rhel8 2020-07-06 15:38:46 +08:00
Jens Petersen 8abb3a79a1 drop "recommends: ghc-base-doc" comment
warning: Macro expanded in comment on line 236: %{base_ver}-%{release}
2020-04-09 19:23:49 +08:00
Jens Petersen 0be02c427b fix gen_contents_index also when no docs (#1813548)
- cronjob used to switch to /usr/share/doc/ghc/html/libraries
- since docs now subpackaged, need to check for no docs

- we could also recommend ghc-base-doc
2020-04-09 19:03:57 +08:00
Jens Petersen 8d4b4ec6e9 rename dwarf_unwind to dwarf and use dwarf flavour 2020-03-11 01:00:50 +08:00
Jens Petersen a82189be91 add bcond for dwarf-unwind debuginfo 2020-03-10 20:07:34 +08:00
Jens Petersen 3a08236cd2 rebuild against ghc-rpm-macros fixed for subpackage prof deps
testcase: ghc-prof(...) was missing from generated Requires
2020-02-10 19:30:18 +08:00
Fedora Release Engineering 8bb182a80d - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-01-28 20:07:50 +00:00
Jens Petersen 6dbb99b200 try %bcond haddock for full build
since macros.ghc-os only available in full builtroot
2019-07-31 16:54:40 +00:00
Jens Petersen 1b033f2096 order previous changelog too 2019-07-31 10:21:42 +00:00
Jens Petersen 8619be5910 reset changelog date 2019-07-31 10:17:47 +00:00
Jens Petersen 7ef199a259 update changelog with latest patches 2019-07-31 10:11:29 +00:00
Jens Petersen 826e5b4b12 use Debian fix-build-using-unregisterized-v8.4.patch
https://gitlab.haskell.org/ghc/ghc/issues/15913

- remove ghc wrapper script hack!
2019-07-31 10:11:29 +00:00
Jens Petersen 6250e0ee75 add some patches from Debian (thanks!)
https://salsa.debian.org/haskell-team/DHG_packages/tree/master/p/ghc/debian/patches

- rename 35a897782b6b0a252da7fdcf4921198ad4e1d96c.patch -> PprC-Add-support-for-adjacent-floats.patch
- add_-latomic_to_ghc-prim.patch
- e175aaf6918bb2b497b83618dc4c270a0d231a1c.patch (rts osReserveHeapMemory block alignment)
2019-07-31 10:11:29 +00:00
Jens Petersen bbd41d24d2 fix initgroups issue in process library
https://github.com/haskell/process/pull/148
2019-07-31 10:11:29 +00:00
Jens Petersen 5ee2271b2b update to ghc-8.6.5 (backported from ghc:8.6) 2019-07-31 10:11:29 +00:00
Jens Petersen 63a3f34ef2 haddock: add --hoogle & --quickjump 2019-07-31 10:11:29 +00:00
Jens Petersen 850e71d743 lock manual bcond to with_haddock
We should probably just use haddock until Hadrian...
2019-07-31 10:11:29 +00:00
Jens Petersen 48dd6aa4cd major rework of ghc packaging: particularly prof and doc subpackages
- bump release to 99
- drop ghc-doc-index script and cronjob
- lock compiler to ghc-base-devel verrel
- switch from %without_prof to %with_ghc_prof
- split docs bcond to %with_haddock and %with_manual
- disable debuginfo for quickbuild
- BR ghc-rpm-macros 2.0 and make
- allow python2-sphinx for current fedora releases
- lighten ghc: only suggest ghc-doc, ghc-doc-index, ghc-manual, ghc-prof
- drop support for rhel6 builds
- use %ghc_set_gcc_flags
- remove alternatives
- filetriggers for haddock index updating

- in future we might separate static devel subpackages too (if cabal
  can handle vanilla or dyn only)
2019-07-31 10:11:29 +00:00
Fedora Release Engineering 79d5111c4f - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-07-25 01:58:32 +00:00
Jens Petersen 0d665079cd add transfiletriggers to replace individual post/postun scriptlets 2019-06-28 04:15:51 +00:00
Jens Petersen 05e47a1520 fix 32bit adjacent floats on 64bit unregisterized
upstream patch for https://ghc.haskell.org/trac/ghc/ticket/15853
2019-03-04 14:04:48 +08:00
Jens Petersen 81d7c8d8c4 leave stripping to rpm 2019-02-16 07:50:45 +08:00
Jens Petersen cf89f14c20 add upstream fix for sphinx-1.8 2019-02-16 01:30:47 +08:00
Jens Petersen 40733c85d7 update to 8.4 (rebase to 8.4 branch) 2019-02-16 00:30:41 +08:00
Jens Petersen 0e2215916b backport tweaks from ghc:8.4
- add ghc_unregisterized_arches
- Recommends zlib-devel
- epel6 tweaks
2019-02-08 10:29:42 +08:00
Fedora Release Engineering bbb03aa71e - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-01-31 21:03:15 +00:00
Zbigniew Jędrzejewski-Szmek 93ee9c0485 Use C.UTF-8 locale 2018-11-18 23:52:46 +01:00
Jens Petersen 4ada0e9763 Recommends for ghc-manual and ghc-doc-cron 2018-10-22 17:56:17 +09:00
Jens Petersen c2ba5d5fdd update ghc wiki Platforms url 2018-10-17 18:22:46 +09:00
Jens Petersen aba55d0da9 add missing ghc-warnings.mk-CC-Wall.patch 2018-10-17 12:33:07 +09:00
Jens Petersen 65eec31b69 backport build configs from 8.4 module; extend quickbuild to perf_build
- backport quickbuild config from 8.4 module
- disable -Wall on s390x like in 8.4 module to silence warning flood
  and simplify setting of CFLAGS
- setup build.mk in setup section, taken from copr and module
- enable buildpath-abi-stability.patch (from Debian)
2018-10-17 12:07:29 +09:00
Peter Robinson 20edd0d34e Update alternatives dependencies 2018-10-16 12:33:21 +01:00
Miro Hrončok 381b73e8f4 Use python3-sphinx to build the docs 2018-08-06 21:53:40 +02:00
Jens Petersen c07f27990b (aarch64/s390) remove -Wall and -Werror=format-security separately 2018-07-24 19:14:11 +09:00
Fedora Release Engineering ccd70e89cb - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-07-13 01:28:32 +00:00
Jens Petersen 11936da42f ghc manpage is now built 2018-07-09 12:29:54 +02:00
Jens Petersen eccc41df53 improve testsuite comment 2018-07-08 07:50:52 +02:00
Jens Petersen 849bd207fc add manpages from Debian 2018-07-08 07:50:26 +02:00
Jens Petersen ee61410c16 use uppercase YES and NO in build.mk
lowercase is not supported
2018-07-01 20:39:51 +09:00
Jens Petersen 5219736e17 disable testsuite, bootstrap and build fixes 2018-06-01 16:05:10 +09:00
Jens Petersen f77e76b10e add ghc_llvm_archs 2018-05-30 16:45:25 +09:00
Jens Petersen e8d82ec703 add changelogs for docs build changes 2018-05-29 00:03:28 +09:00
Jens Petersen 7f6a73b913 merge manual and haddock bcond to docs
disabling haddock seems to disable manual anyway
https://ghc.haskell.org/trac/ghc/ticket/15190
2018-05-28 20:37:39 +09:00
Jens Petersen 52da5da5ad try fixing sphinx-build --version detection in configure
https://github.com/ghc/ghc/pull/143
2018-05-28 13:29:30 +09:00
Jens Petersen 8a638fc974 extend and simplify bcond for build configuration
- move manuals to ghc-manual.noarch
- rename ghc-doc-index to ghc-doc-cron.noarch
- drop bootstrap builds and do ABI hash checks unless ghc version changed
- no longer need autotools on aarch64
2018-05-28 11:58:23 +09:00
Jens Petersen d42cad8307 drop unstable url from D4159.patch and add D4159 url 2018-05-23 11:18:05 +09:00
Jens Petersen 4e4a2d2f6b silence the ghc-pkg abi-depends warnings when installing packages
forward-port from f28 branch
2018-05-03 00:52:51 +09:00
Jens Petersen 330a973466 move manuals to ghc-doc package again
after a long break...
2018-05-02 22:41:06 +09:00
Jens Petersen 7552d58a21 ghost ghc-doc-index local state and more libraries index files 2018-05-02 22:36:35 +09:00
Igor Gnatenko d6663edd84
Escape macros in %changelog
Reference: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/Y2ZUKK2B7T2IKXPMODNF6HB2O5T5TS6H/
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2018-02-09 09:04:35 +01:00
Fedora Release Engineering bdcdb9aad9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-02-07 11:11:05 +00:00
Jens Petersen 22bda2eed9 upstream patch under review in Phabricator to workaround shadow hash issue
https://ghc.haskell.org/trac/ghc/ticket/14381
2018-01-30 00:58:52 +01:00
Jens Petersen a389265b13 add 8.2.2 testsuite tarball 2018-01-24 18:45:50 +01:00
Jens Petersen e7dfcf7528 8.2.2 perf build 2018-01-24 18:34:47 +01:00
Jens Petersen f54dabd8b3 update to 8.2.2: backport from fedora-haskell/ghc
bootstrap build
2018-01-24 00:12:56 +01:00
Jens Petersen a122fc3e75 python2 and comment out %mandir properly 2017-12-28 17:41:20 +01:00
Jens Petersen 32be9d0079 correct source url 2017-11-22 15:23:53 +05:30
Jens Petersen 428b709769 update source urls to the ones they redirected to 2017-10-27 13:59:40 +09:00
Jens Petersen 7a8b99ca5e mark other subpackages correctly as BSD license 2017-10-26 23:24:17 +09:00
Jens Petersen 98bb662b6d more license fields cleanup
put in explicit BSD's and only use %quote for macros args
2017-10-26 23:17:19 +09:00
Jens Petersen 6b6b783809 fix space %BSDHaskellReport macro for rpm-4.14 2017-10-26 20:21:58 +09:00
Jens Petersen 8ad1d461c8 exclude ghc-boot from ghc-libraries
but ghc-boot-th should be there for TH
2017-10-26 20:19:31 +09:00
Fedora Release Engineering 1564a79df6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild 2017-08-02 21:09:08 +00:00
Fedora Release Engineering 8bcd1313fb - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild 2017-07-26 09:30:47 +00:00
Petr Písař 30f7d48eb5 perl dependency renamed to perl-interpreter <https://fedoraproject.org/wiki/Changes/perl_Package_to_Install_Core_Modules> 2017-07-12 14:16:12 +02:00
Jens Petersen 51ebe87923 do not fail id (ABI) check if package uninstalled 2017-02-18 07:15:15 +09:00
Jens Petersen 494c76ae55 fix ABI check for uninstalled package
(which may be redundant now)

ghc-xhtml is not built for bootstrap, so check was failing
2017-02-18 00:35:18 +09:00
Jens Petersen c044884574 8.0.2 perf build 2017-02-17 21:55:41 +09:00
Jens Petersen c46f228d49 add ghc-8.0.2/ to .gitignore 2017-02-17 16:43:39 +09:00
Jens Petersen 6bf3b9f3c5 update to ghc-8.0.2 2017-02-17 14:29:06 +09:00
Jens Petersen 9eb04c2900 fix rebuild with latest ghc-rpm-macros; config llc and optc 2017-02-13 19:31:13 +09:00
Fedora Release Engineering d5dd5b3d98 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild 2017-02-10 10:30:21 +00:00
Igor Gnatenko 052e0f7eef Rebuild for readline 7.x
Signed-off-by: Igor Gnatenko <ignatenko@redhat.com>
2017-01-12 17:30:28 +01:00
Jens Petersen f523fd5da5 quote echo'd %license and %dir macros 2016-10-26 15:27:24 +09:00
Jens Petersen 9ddab99f44 condition removal of libffi-tarballs for rhel7/fedora 2016-10-26 15:26:19 +09:00
Jens Petersen f12a79f598 BR perl 2016-10-26 12:46:05 +09:00
Jens Petersen c0222f1be5 some lesser spec file cleanups
- drop ghc_without_shared comment block
- drop mention of haskell-platform
- update url to https
- drop dph and feldspar obsoletes
- minor refresh and reformat of description
- obsolete ghc-doc-index when building without_haddock
2016-10-26 11:43:58 +09:00
Jens Petersen a652054958 backport some trivial changes from github fedora-haskell/ghc
ghclibdocdir -> ghc_html_libraries_dir
ghcdocbasedir -> ghc_html_dir
2016-10-07 18:25:20 +09:00
Jens Petersen 025bb04cd1 use %license 2016-09-28 18:17:28 +09:00
Jens Petersen 3374f6364c update subpackaging for latest ghc-rpm-macros 2016-09-05 17:37:07 +09:00
Jens Petersen d8e33b5510 the ABI hash checking requires all of ghc to be installed 2016-07-14 16:35:20 +09:00
Jens Petersen d25903fbb8 more ABI hash fix/improvements 2016-07-14 14:55:11 +09:00
Jens Petersen 3687ae4b04 ABI check tweaks and fix 2016-07-13 18:58:26 +09:00
Jens Petersen 4874a3b925 add an ABI change check to prevent unexpected hash changes 2016-07-13 17:18:25 +09:00
Jens Petersen 7748407e4e obsolete haskell98 and haskell2010 2016-07-12 14:45:27 +09:00
Jens Petersen a88a864e2e perf build 2016-06-03 16:09:48 +09:00
Jens Petersen 96eae76cd8 add missing changelog for 7.10.3-49! 2016-06-03 16:09:01 +09:00
Jens Petersen f50ec379b6 update to 7.10.3 from petersen/ghc-7.10.3 copr
- quick build
- use 7.10.3b respin tarballs
- no longer need:
  - ghc-glibc-2.20_BSD_SOURCE.patch
  - ghc-7.8-arm-use-ld-gold.patch
  - ghc-7.8-arm7_saner-linker-opt-handling-9873.patch
  - ghc-config.mk.in-Enable-SMP-and-GHCi-support-for-Aarch64.patch
  - build_minimum_smp
- add Debian packages:
  - buildpath-abi-stability
  - no-missing-haddock-file-warning
  - reproducible-tmp-names
- use llvm35
- add libraries-versions.sh script
- all library versions updates except xhtml
- BR ghc-rpm-macros-extra for all OS versions
- support building on EL6
- deprecated libraries: haskell2010, haskell98, old-locale, old-time
- symlink for integer-gmp2
- add llvm_major
2016-06-03 14:29:26 +09:00
Jens Petersen 9f9aa45539 do not package ghc-split on MIPS (#1294873) 2016-03-08 01:24:41 +09:00
Jens Petersen 9451e9f663 drop the last use of %ghc_arches_with_ghci 2016-03-07 22:38:31 +09:00
Dennis Gilmore e48880c434 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild 2016-02-03 21:21:56 +00:00
Jens Petersen c80b9281a9 rebuild
for unstable 64bit array ABI hash
2015-06-16 18:12:59 +09:00
Jens Petersen 27128a0af5 fix aarch64 case in aclocal.m4 2015-06-15 17:47:33 +09:00
Jens Petersen 31153d40ac use ld.gold and re-enable dynamic linking of ghc programs
Reverting "revert ld.gold to armv7 only; static ghc progs for aarch64"

This reverts commit bc51500a32.
2015-06-11 22:56:02 +09:00
Jens Petersen bc51500a32 revert ld.gold to armv7 only; static ghc progs for aarch64
- ld.gold patch didn't fix subprocess output problem

aarch64 ghci crashes with both gold and bfd but TH seems to work
2015-04-28 13:02:15 +09:00
Jens Petersen 8b0348fcf1 use "make -j2" for s390 (#1212374) 2015-04-24 14:11:15 +09:00
Jens Petersen 6bb2991c51 use ld.gold for aarch64 and "make -j3" for s390 2015-04-22 19:04:55 +09:00
Jens Petersen 4a07cbb90c turn on SMP and ghci for aarch64
patch by Erik de Castro Lopo from
https://ghc.haskell.org/trac/ghc/ticket/9673
2015-04-10 22:33:17 +05:30
Jens Petersen 682be3ab66 aarch64 production build 2015-03-30 23:19:15 +09:00
Jens Petersen 23bd910b3d bootstrap aarch64 again for ghc-deps.sh fixes 2015-03-23 18:56:46 +09:00
Jens Petersen b86c4e0703 aarch64 production build; use -j16 again on intel archs 2015-03-23 12:52:09 +09:00
Jens Petersen 164918f877 abi-check.sh now downloads builds from koji and compares their hashes 2015-03-23 12:50:33 +09:00
Jens Petersen 07d0caef36 make abi-check.sh executable 2015-03-23 11:48:00 +09:00
Jens Petersen d5825747ca a primitive ABI checking script 2015-03-23 11:45:54 +09:00
Jens Petersen 6441298c76 disable ld hardening also for armv7 and secondary 64bit archs 2015-03-20 17:57:55 +09:00
Jens Petersen 915ee24569 aarch64 bootstrap without dyn ghc(i) and llvm, disable ld hardening on 64bit
llvm needs 3.6
2015-03-20 09:12:59 +09:00
Jens Petersen 42fee54b90 setup make -j more carefully, add %build_minimum_smp
minimum -j12 for intel, can be overriden with %build_minimum_smp
2015-03-01 20:04:36 +09:00
Jens Petersen 25a760a22f use llvm for aarch64 and fix build.mk BuildFlavour setup 2015-03-01 19:58:47 +09:00
Jens Petersen b42ca29adc override "make %{?_smp_mflags}" in mock/koji if not -j16
- in koji HOSTNAME is ""
- from testing in koji: -j8 was too small and -j12 seemed big enough
2015-02-15 21:59:29 +09:00
Jens Petersen 3118c56ef3 better _smp_mflags echo output 2015-02-15 01:15:38 +09:00
Jens Petersen 932a5964b8 only echo _smp_mflags if it is defined 2015-02-15 01:11:15 +09:00
Jens Petersen f8a0b1d0a6 try "make -j16" on Intel arches to keep ABI hashes same as -40 2015-02-15 01:06:21 +09:00
Jens Petersen dfca0e839a production build; use %ghc_bootstrapping to control bootstrap setup 2015-02-09 18:16:47 +01:00
Jens Petersen 37dd51b1af update the arm64 patch for 7.8.4 2015-02-07 18:25:23 +01:00
Jens Petersen 43f536af8e bootstrap for secondary arches, with bindir/ghci 2015-02-07 16:55:30 +01:00
Jens Petersen 1cb2f64c61 drop unversioned htmldir patch
remove two old patches
2015-01-18 22:55:40 +09:00
Jens Petersen 3cca06965a production build 2015-01-18 15:58:37 +09:00
Jens Petersen b032d481b4 use ld.gold on ARMv7
see https://ghc.haskell.org/trac/ghc/ticket/8976
for workaround patches posted upstream by nomeata

remove some old leftover patches (fedpkg unused-patches)
2015-01-17 23:13:52 +09:00
Jens Petersen 98bb637a26 Revert back to ghc-7.8 and update to 7.8.4
version bumps for base and Cabal

This reverts commit 083d826dd6.

Conflicts:
	ghc.spec
2015-01-17 16:55:56 +09:00
Jens Petersen 10d9a860f8 update changelog date 2014-11-18 18:28:18 +09:00
Jens Petersen 47fc293b36 backport more changes from 7.8.3 spec to 7.6.3 spec
- remove the build hack to switch from llvm to llvm34 (#1161049)
- use rpm internal dependency generator with ghc.attr on F21+
- fix bash-ism in ghc-doc-index (#1146733)
- do "quick" build when bootstrapping
- setup LDFLAGS
2014-11-18 12:44:57 +09:00
Jens Petersen 44c2d294cb require and use llvm34 instead of llvm-3.5 for arm 2014-11-17 17:53:19 +09:00
Jens Petersen 083d826dd6 revert to 7.6.3-26 (current f21) 2014-11-17 12:24:08 +09:00
Jens Petersen cfae44c249 update patches for armv7 for ghc-7.8
- LlvmCodeGen-llvm-version-warning patch no needed
  since 3.4 supported now, but rawhide is now on 3.5!
- update no NEON patch
2014-11-05 12:28:37 +09:00
Jens Petersen 138479e435 - undefine ghc_without_shared if it is defined for now
- ghc-ppc64el.patch is in 7.8.3
- use quick/quick-llvm when building
- set LDFLAGS
- probably no bindir/ghci now on archs without ghci
2014-10-20 11:43:44 +09:00
Jens Petersen 6066ff4e49 update Debian/Ubuntu arm64 patch to 7.8.3 2014-10-01 11:27:29 +09:00
Jens Petersen 3f871b8dab add changelog entry for bash-ism fix 2014-09-29 13:39:30 +09:00
Jens Petersen 597b182ead ghc-doc-index: drop bash-ism (#1146733) 2014-09-29 13:35:40 +09:00
Jens Petersen 4ebfefdb13 use rpm internal dependency generator with ghc.attr on F22
requires ghc-rpm-macros ghc.attr - currently only in rawhide
2014-09-05 16:15:21 +09:00
Jens Petersen b5e06b43ba change Cabal install bindir warning; drop use of ghc_without_shared 2014-08-29 17:01:38 +09:00
Peter Robinson 994a85e95f - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild 2014-08-16 14:26:57 +00:00
Jens Petersen adee73e6ef major update to 7.8.3: bootstrap build 2014-08-03 23:54:24 +09:00
Jens Petersen 622b604627 disable NEON on arm; only unversion docdir on f21+; hide llvm-3.4 warnings on arm 2014-07-25 20:23:17 +09:00
Jens Petersen a7021c26de update ghc-glibc-2.20_BSD_SOURCE.patch to version submitted upstream 2014-06-09 17:04:51 +09:00
Jens Petersen 6979350950 move library versions to after patches for easier reading of top of ghc.spec 2014-06-09 14:46:34 +09:00
Jens Petersen 06bebb578d add aarch64; silence glibc _BSD_SOURCE warnings on unregisterized archs 2014-06-06 13:26:12 +09:00
Jens Petersen 939281139a bump release 2014-05-30 21:44:41 +09:00
Jens Petersen de62eeb865 add ppc64le support with patch from Debian (Fedora bootstrap by jcapik)
add *_ver macros variables for library versions
2014-05-30 12:11:35 +09:00
Jens Petersen 1086f85751 do not link executables with executable stack flag set (#973512)
- upstream patch by Edward Z Yang
- http://ghc.haskell.org/trac/ghc/ticket/703
- note this changes the ABI hash of the ghc library
2014-01-30 14:02:36 +09:00
Jens Petersen f22b491c67 comment on a couple of patches upstream 2014-01-29 13:01:43 +09:00
Jens Petersen 79d69f534e fix segfault on i686 when using ffi double-mapping for selinux (#907515)
- originally noticed with gtk2hs
- see http://hackage.haskell.org/trac/ghc/ticket/7629
- thanks Garrett Mitchener for patch committed upstream
2014-01-29 11:26:21 +09:00
Jens Petersen 70f2b5d09d document RTS debugging build option 2013-12-22 21:56:20 +09:00
Jens Petersen 6ee0cad912 enable debuginfo
production build
2013-10-30 00:21:19 +09:00
Jens Petersen bf23eb900b bootstrap build to fix hangs on 64bit bigendian
- rts hang patch from Gustavo Luiz Duarte (#989593)
- generate and ship library doc index for ghc bundled libraries
- build with utf8 encoding (needed for verbose ghc output
  and makes better sense anyway)
- change ghc-cabal to make library html docdirs unversioned
2013-10-29 14:59:08 +09:00
Jens Petersen ddf9e36cdc follow http://fedoraproject.org/wiki/Packaging:CronFiles
thanks Jóhann Guðmundsson
2013-07-29 11:35:56 +09:00
Jens Petersen 0d40f8dbbf silence warnings about unsupported llvm version (> 3.1) on ARM
+You are using a new version of LLVM that hasn't been tested yet!
+We will try though...

(ghc-7.6 only officially supports 2.8 <= llvm <= 3.1)
2013-07-24 18:08:02 +09:00
Jens Petersen b019f63051 Revert "temporary bootstrap build for ARM with llvm-3.3 fix"
This reverts commit a044dc3f8a.
2013-07-24 14:18:09 +09:00
Jens Petersen a044dc3f8a temporary bootstrap build for ARM with llvm-3.3 fix 2013-07-24 11:20:37 +09:00
Jens Petersen 0752284aa9 Revert "turn off executable stack flag in executables (#973512)"
While it seems to fix the flag for intermediate object files
final executables still seems to have the flag set somehow.
Further the patch apparently changed the ABI of the ghc library.
2013-07-11 17:30:54 +09:00
Jens Petersen 4e3e8f4b7c turn off executable stack flag in executables (#973512)
- reported by Dhiru Kholia
- upstream patch by Edward Zhang:
  see http://ghc.haskell.org/trac/ghc/ticket/703 and
  08a38628f2
- this affects both ghc 7.4 and 7.6
2013-07-10 11:07:23 +09:00
Jens Petersen 3c760a9a18 fix compilation with llvm-3.3 2013-06-25 16:56:39 +09:00
Jens Petersen 7b74369001 production build 2013-06-20 17:41:31 +09:00
Jens Petersen d5b07bcada bump release to integer 12 2013-06-20 14:21:18 +09:00
Jens Petersen 4d0408ebce correct the option list name in the Cabal dynexe TH patch 2013-06-12 12:14:35 +09:00
Jens Petersen 025408ab14 reinstate and refresh Cabal-fix-dynamic-exec-for-TH.patch 2013-06-12 11:43:49 +09:00
Jens Petersen 2b100fabe7 production build with BuildFlavour perf; obsolete process-leksah 2013-06-06 11:58:43 +09:00
Jens Petersen 67bcee1c1c only require ghc-doc-index if we package it 2013-04-23 19:52:22 +09:00
Jens Petersen 9340b05892 update to new stable major version 7.6.3
- bootstrap build
- use new ghc-rpm-macros-extra
- no longer filter type-level package from haddock index
2013-04-23 18:33:35 +09:00
Jens Petersen 83540ee652 move ghclibdir ownership from compiler to base lib for runtime (#907671) 2013-02-05 13:04:03 +09:00
Jens Petersen 7c4664cfd4 rebuild 2013-01-18 18:53:01 +09:00
Jens Petersen be3e3d6503 fix permissions of ghc-doc-index and only run when root
cronjob no longer checks /etc/sysconfig/ghc-doc-index
2012-11-21 16:55:59 +09:00
Jens Petersen b94bbde71c turn off bootstrapping for proper bootstrapped build 2012-11-17 21:27:53 +09:00
Jens Petersen d429c0f8f5 install ghc-doc-index in bindir 2012-11-17 20:38:54 +09:00
Jens Petersen f3e1561131 "bogus date in %changelog: Tue Dec 12 2007" 2012-11-17 20:35:05 +09:00
Jens Petersen 19f6f35b16 define doc-index subpackage and set without_haddock for bootstrap
- drop Group fields
2012-11-17 18:43:22 +09:00
Jens Petersen c4cf8af204 update changelog timestamp 2012-11-17 12:28:31 +09:00
Jens Petersen f6ebb90def revert rpm-state and bring back ghc-doc-index cronjob in ghc-doc-index subpackage
- add new ghc-doc-index script
- forward port ghc-7.4-silence-gen_contents_index.patch
- remove /var/lib/rpm-state/ghc/
2012-11-16 16:57:46 +09:00
Jens Petersen 483b090ae7 drop doc re-indexing cronjob and add a rpm-state dir for posttrans scripts (#870694) 2012-10-29 20:14:11 +09:00
Jens Petersen 356d662fcc enable hscolour normally, drop BR hscolour, without_hscolour bootstrap now in ghc-rpm-macros 2012-10-25 16:49:08 +09:00
Jens Petersen f39feba3da revert the removal of ghci HS*.o lib files (see http://hackage.haskell.org/trac/ghc/ticket/7249) 2012-10-24 14:00:31 +09:00
Jens Petersen ac56c4ea87 use %buildroot instead of $RPM_BUILD_ROOT ; remove HS*.o files 2012-09-30 17:52:34 +09:00
Jens Petersen e866330046 really add ghc-7.4.2-src.tar.bz2 2012-08-29 19:17:04 +09:00
Jens Petersen a3e1a4bd2b disable Cabal building ghci lib files 2012-08-24 21:33:48 +09:00
Jens Petersen d69bc0fa37 update to 7.4.2 bootstrap
- drop arm StgCRun patches
- update arm hf patch
- use _smp_mflags
2012-08-24 16:30:44 +09:00
Dennis Gilmore d27beede6c - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild 2012-07-19 00:11:59 -05:00
Jens Petersen 64f38f75fa use ghc_lib_subpackage instead of ghc_binlib_package 2012-06-15 16:55:18 +09:00
Jens Petersen 7c3c69245e update-package.sh long moved to haskell-sig/rebuild/ 2012-05-07 23:41:50 +09:00
Jens Petersen df25dd92de ghc-wrapper-libffi-include.patch for "missing libffi.h" when compiling prof on secondary archs
eg on armv7:

[ 1 of 21] Compiling Data.Functor.Product ( Data/Functor/Product.hs, dist/build/Data/Functor/Product.p_o )

/tmp/ghc1692_0/ghc1692_0.c:4:17:
     fatal error: ffi.h: No such file or directory
2012-05-02 19:54:30 +09:00
Jens Petersen 8dcd7bb8c1 full build for ARM 2012-04-28 13:37:49 +09:00
Jens Petersen 3443bff0bf BR autoconf for armv7hl patch 2012-04-27 23:48:28 +09:00
Jens Petersen 2d889de3ba Reverting last patch "avoid actually running aclocal (for +d16) by using hard float patch closer to Ubuntu" and run autoreconf 2012-04-27 23:18:42 +09:00
Jens Petersen deef098bfc avoid actually running aclocal (for +d16) by using hard float patch closer to Ubuntu
-drop the original debian armhf llvm driver patches
2012-04-27 10:56:12 +09:00
Jens Petersen 8d5c7715aa remove the erroneous doublequote after -D__ARM_PCS_VFP 2012-04-23 19:13:27 +09:00
Jens Petersen 02d6827bb4 revert dropping ghc-debian-ARM-VFPv3D16.patch and define __ARM_PCS_VFP in build.mk 2012-04-23 17:57:54 +09:00
Jens Petersen 759e833d8b try disabling debian ARM-VFPv3D16 patch
/usr/bin/ld: error: /tmp/ghc24961_0/ghc24961_0.o uses VFP register arguments, libraries/base/dist-install/build/GHC/Event/Clock.o does not
2012-04-14 12:18:52 +09:00
Jens Petersen 9bcd864566 the armel patches are -p1 2012-04-14 02:14:37 +09:00
Jens Petersen 3d57944f93 add the new debian ARM patches 2012-04-14 01:46:47 +09:00
Jens Petersen 822ef01b54 add 4 ARM patches from Debian for armel and armhf
- BR llvm not clang
- remove arm from unregisterised_archs
- revert dropping --with-gcc
2012-04-14 01:37:26 +09:00
Jens Petersen 4bbcdfba1a set CC to clang for ARM 2012-04-14 00:23:08 +09:00
Jens Petersen 5042efe9e9 drop --with-gcc 2012-04-13 23:27:46 +09:00
Jens Petersen 279ebd2aeb BR clang not just llvm for ARM; bootstrap build 2012-04-10 11:20:14 +09:00
Jens Petersen aeeb8ec996 turn off bootstrapping options for full build 2012-03-21 20:49:32 +09:00
Jens Petersen 7f77651f38 move ghc manpage out of without_manual in filelist 2012-03-21 19:36:26 +09:00
Jens Petersen 33b5ed2c09 major update to ghc-7.4.1
- http://www.haskell.org/ghc/docs/7.4.1/html/users_guide/release-7-4-1.html
- add Cabal-fix-dynamic-exec-for-TH.patch
- use Debian's system-libffi patch
- drop ppc64 config, pthread and mmap patches
- add s390 and s390x to unregisterised_archs
2012-03-21 19:05:22 +09:00
Jens Petersen 7e4b4dd180 tweak release for test scm build 2012-02-24 11:27:37 +09:00
Jens Petersen d6e745ac28 try temporarily disabling all the ppc64 "hacks" to see if really all needed 2012-02-24 11:17:31 +09:00
Jens Petersen d2fbf7eeec add %_isa to external dependencies 2012-02-24 11:16:14 +09:00
Jens Petersen 45d7805f80 minor ghc.spec cleanup
- add another #%%global without_testsuite 1
- make versioned ghc-compiler BR conditional on no ghc_bootstrapping
- reformat library BRs
- symlink to system libffi headers
2012-02-19 15:57:17 +09:00
Jens Petersen 04c4201e69 fix build with system libffi
- add rest of debian system-libffi patch,
- copy libffi headers into rts build dir
- acknowledge Debian's patch
2012-02-16 15:16:20 +09:00
Jens Petersen 1998ace9af update to new 7.4.1 major release
(still doesn't build: system libffi patch seems incomplete -
can't find the libffi headers)
2012-02-16 10:46:28 +09:00
Jens Petersen e45f98193a move ghc-ghc-devel from ghc-libraries to the ghc metapackage 2012-01-19 12:13:37 +09:00
Dennis Gilmore 233adc0172 - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild 2012-01-12 21:19:12 -06:00
Jens Petersen d0209980c8 move listing of haddock into conditional doc block 2011-11-15 09:21:18 +09:00
Jens Petersen d43d5d920b fix the ghost listing of hsc2hs 2011-11-15 09:06:42 +09:00
Jens Petersen 72942f48a7 fix alternatives usage to follow Packaging:Alternatives (#753661) 2011-11-14 19:29:08 +09:00
Jens Petersen b24f66d05f move ghc-doc and ghc-libs obsoletes; add HaskellReport license to base and libraries subpackages 2011-11-14 12:09:28 +09:00
Jens Petersen ec9ab4a788 make the post and postun scripts now be for the compiler subpackage 2011-11-10 18:23:09 +09:00
Jens Petersen 4a3e507ba5 also rename %files devel to libraries 2011-11-02 13:15:00 +09:00
Jens Petersen b0af02e9fe rename ghc-devel metapackage to ghc-libraries and require ghc-rpm-macros-0.14 2011-11-02 13:12:03 +09:00
Jens Petersen a8b3c2830f move compiler and tools to ghc-compiler, and make ghc metapackage for all ghc 2011-11-01 21:27:14 +09:00
Jens Petersen 583bb8c9d1 rebuild in the right dist tag 2011-10-28 19:09:35 +09:00
Jens Petersen 6d2d60012f add HaskellReport license tag to subpackages with Haskell Report code 2011-10-28 18:14:37 +09:00
Marcela Mašláňová a627cf8286 rebuild with new gmp without compat lib 2011-10-20 19:23:08 +02:00
Jens Petersen 975f671fc0 setup ghc-deps.sh after ghc_version_override for bootstrapping 2011-10-20 10:19:50 +09:00
Jens Petersen e274f6227d add armv5tel and use ghc-deps.sh when bootstrapping 2011-10-18 18:15:34 +09:00
Jens Petersen 6ca8b93328 improve system libffi changelog comment 2011-10-17 15:31:53 +09:00
Jens Petersen 2d092a21c2 remove libffi_archs and include ghci lib in ghc-devel 2011-10-17 14:17:35 +09:00
Marcela Mašláňová 652f7a1e3d rebuild with new gmp 2011-10-11 09:45:13 +02:00
Jens Petersen 6654f847c4 use ghc-rpm-macros-0.13.11 to fix devel subpackages' provides/obsoletes versions 2011-09-30 11:15:57 +09:00
Jens Petersen 458ba66b67 no need to specify -lffi in build.mk (Henrik Nordström) 2011-09-29 15:42:49 +09:00
Jens Petersen a36940c06b port to armv7hl by Henrik Nordström (#741725) 2011-09-28 11:33:44 +09:00
Jens Petersen 5e668afb67 setup ghc-deps.sh when not bootstrapping\! 2011-09-14 17:16:02 +09:00
Jens Petersen f0b82bb38a setup ghc-deps.sh here now since no longer in %ghc_package_devel 2011-09-14 16:12:47 +09:00
Jens Petersen c761d8e338 fix one last old %{with doc} 2011-06-17 22:22:22 +09:00
Jens Petersen 840ac941d3 skip failing ghc_check_bootstrap for now 2011-06-17 18:35:15 +09:00
Jens Petersen 580ab063fd bump ghc-rpm-macros 2011-06-17 18:25:02 +09:00
Jens Petersen 19346d4500 add new bootstrapping mode using ghc_bootstrap (ghc-rpm-macros-0.13.5)
- BR same ghc version unless ghc_bootstrapping defined
- use ghc_check_bootstrap
- put dyn before p in GhcLibWays
2011-06-17 18:19:04 +09:00
Jens Petersen 012f178446 drop ghc_check_bootstrap for now until work out why failing in koji 2011-06-17 14:56:34 +09:00
Jens Petersen 0e85ce156f don't need to condition ghc_check_bootstrap 2011-06-17 14:32:54 +09:00
Jens Petersen 08500177f1 add ghc_bootstrap build mode
- add ghc_bootstrap build mode using: ghc_without_shared, without_prof,
  without_haddock, without_manual, without_testsuite
- add libffi_archs
- use ghc-rpm-macros-0.13.4 for ghc_check_bootstrap
- drop the quick build profile
2011-06-17 14:11:07 +09:00
Jens Petersen beb07b602f update summary in addition to description 2011-06-16 18:16:39 +09:00
Jens Petersen 5423156d0b update to 7.0.4 bugfix release
- strip static again (upstream #5004 fixed)
- Cabal updated to 1.10.2.0
- re-enable testsuite
2011-06-16 18:12:59 +09:00
Jens Petersen ce45e5bc6e change from ExclusiveArch to ExcludeArch to target more archs 2011-06-14 17:11:44 +09:00
Jens Petersen 20d7047bee obsolete dph libraries and feldspar-language 2011-05-21 23:22:35 +09:00
Jens Petersen 88df269cee improve the prof merge changelog entry 2011-05-16 14:10:51 +09:00
Jens Petersen b3c9b98bb6 merge prof subpackages into the devel subpackages with ghc-rpm-macros-0.13 2011-05-16 11:39:27 +09:00
Jens Petersen c5a50faad5 specify /usr/bin/gcc to help bootstrapping; drop redundant posttrans scriplet 2011-05-11 11:46:06 +09:00
Jens Petersen b03062c00b be explicit about release for devel, prof; add explicit ghc requires for ghc-*-devel 2011-05-09 00:17:42 +09:00
Jiri Skala 62c28163cc fixes path to gcc on ppc64 arch 2011-05-05 10:04:28 +02:00
Jens Petersen 03f30c40ef replace hscolour bcond by without_hscolour like in ghc-rpm-macros 2011-05-02 20:34:56 +09:00
Jens Petersen 109aae23e7 apply the powerpc linker patch also to ppc 2011-04-27 16:33:18 +09:00
Jens Petersen 98a946c2f0 add upstream ghc-powerpc-linker-mmap.patch for ppc64 (Jiri Skala) 2011-04-26 17:40:21 +09:00
Jens Petersen f103ae83ed ppc64 bootstrapping by Jiri Skala 2011-04-21 18:24:42 +09:00
Jens Petersen 23ba9b32ed rebuild against ghc-rpm-macros-0.11.14 to provide ghc-*-doc 2011-04-01 16:57:19 +09:00
Jens Petersen 5ca78665ef provides ghc-doc again; ghc-prof requires ghc-devel; ghc-devel requires ghc 2011-04-01 13:34:49 +09:00
Jens Petersen 1ef5ad0bee remove trailing backquote after %{defined ghclibdir} 2011-03-30 15:17:48 +09:00
Jens Petersen 37c681b884 dont strip static libs (it breaks ghci-7.0.2 loading libHSghc.a); no longer provide ghc-doc nor obsolete haddock 2011-03-30 15:11:54 +09:00
Jens Petersen 573d38cfd0 bring back LICENSE files to library subpackages and drop ghc_reindex_haddock 2011-03-29 11:51:29 +09:00
Jens Petersen 00673ae358 update ghc-rpm-macros BR to 0.11.12 2011-03-25 14:37:33 +09:00
Jens Petersen f6e34f287d bump for rebuild against 7.0.2 2011-03-10 17:22:36 +09:00
Jens Petersen 128f5fdf44 need -devel in ghc_pkg_obsoletes 2011-03-10 15:28:38 +09:00
Jens Petersen 80412c3eb5 new source 2011-03-10 13:36:33 +09:00
Jens Petersen dec209180b disable broken testsuite 2011-03-10 13:34:21 +09:00
Jens Petersen fe4ed8a6bc update to 7.0.2 release; move bin-package-db into ghc-ghc 2011-03-10 13:25:14 +09:00
Fabio M. Di Nitto 552a01acd7 Fix changelog version
Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
2011-02-23 14:49:11 +01:00
Fabio M. Di Nitto 6d562261fb enable ghc build on sparcv9
Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
2011-02-23 14:46:08 +01:00
Jens Petersen 693bc7da88 hackage/ and pkgdeps.sh moved to fedorahosted haskell-sig repo 2011-02-13 23:00:35 +10:00
Jens Petersen 05d6abb239 without_shared renamed to ghc_without_shared 2011-02-13 22:59:34 +10:00
Jens Petersen 2c5003301b fix singleton sed 2011-02-13 22:53:48 +10:00
Jens Petersen 282277c016 back to previous state
This reverts commit f78d369c4a.
2011-02-11 01:52:41 +10:00
Jens Petersen f78d369c4a back to the "bootstrapping" rebuild for ppc with minor bump 2011-02-11 00:57:11 +10:00
Jens Petersen 12c3f9e897 rebuild 2011-02-10 18:16:12 +10:00
Jens Petersen 3fbd3f5085 disable testsuite for a faster build 2011-02-10 16:42:26 +10:00
Jens Petersen d5612c1ed5 handle HSffi.o for without_shared 2011-02-10 16:15:17 +10:00
Jens Petersen e3544f2e61 disable system libffi and ghc-*-devel BRs for secondary archs 2011-02-10 14:10:31 +10:00
Jens Petersen b1d29b1633 more non shared filelist fixes 2011-02-10 12:58:13 +10:00
Jens Petersen f2a0998a3b fix non shared build for ppc, etc 2011-02-10 11:41:10 +10:00
Jens Petersen 87eac70ff3 filter singleton packages from pkg-deps.sh 2011-02-09 18:31:32 +10:00
Jens Petersen fea00ecd5b Merge branch 'master' of ssh://pkgs.fedoraproject.org/ghc 2011-02-09 14:35:33 +10:00
Jens Petersen 7b59d95ee7 add a fedora release arg to hackage.py and save to release file 2011-02-09 13:26:33 +10:00
Jens Petersen 36efa9cc14 add hackage data for f15 2011-02-09 13:25:11 +10:00
Jens Petersen 817bcc6cbd add hackage data for f13 2011-02-09 13:19:18 +10:00
Jens Petersen ce8c5b40e7 add pandoc and texmath 2011-02-09 13:08:25 +10:00
Dennis Gilmore 13585e85ad - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild 2011-02-08 18:52:26 -06:00
Jens Petersen e2101b7d18 add a colon to pkgdeps.sh missing pkg output 2011-02-08 11:19:10 +10:00
Jens Petersen 260de588e1 hackage: add ansi-terminal, attempt, blaze-builder, bytestring-nums, haddock, mtlparse, process-leksah, safe, xml, zlib-bindings 2011-02-08 11:18:03 +10:00
Jens Petersen 19eb96d973 add hedgewars-server and wiki url to pkg-deps.sh 2011-02-02 16:44:28 +10:00
Jens Petersen 98e495428e add hackage/Makefile 2011-02-02 16:43:17 +10:00
Jens Petersen aa31ff096e tweak shared lib comment for x86 2011-01-31 15:17:56 +10:00
Jens Petersen 5328c73f9c update hackage url to community 2011-01-29 20:56:01 +10:00
Jens Petersen 8b7e421999 include LICENSE files in the shared lib subpackages 2011-01-29 20:51:59 +10:00
Jens Petersen 7efe962fb7 update hackage package url to use community pages 2011-01-29 20:51:26 +10:00
Jens Petersen 4c6af669eb save latest F14 packages 2011-01-29 20:50:36 +10:00
Jens Petersen da7d52601e the ghc API lib pkgname is ghc not ghc-ghc 2011-01-22 21:49:39 +10:00
Jens Petersen 95d33c27f0 need to generate filelist for ghc-ghc 2011-01-22 21:02:26 +10:00
Jens Petersen 1ed4374f25 comment out the new inplace runghc test in %check since it doesn't work 2011-01-22 20:09:14 +10:00
Jens Petersen b3347be799 condition ghc_binlib_packages on new ghclibdir instead of ghc_version 2011-01-22 18:10:46 +10:00
Jens Petersen c08038f454 fix the Cabal %patch line 2011-01-22 15:30:08 +10:00
Jens Petersen f688990ca4 add Cabal-option-executable-dynamic.patch 2011-01-22 15:26:49 +10:00
Jens Petersen 48b6b02543 add cabal configure --enable-executable-dynamic and exclude ghc lib from lib metapackages
- patch Cabal to add configure option --enable-executable-dynamic
- exclude huge ghc API library from devel and prof metapackages
- add a runghc test to check
2011-01-22 15:16:08 +10:00
Jens Petersen 09d837536f add update-package.sh script to update and commit fedora hackages to latest cabal2spec 2011-01-15 22:26:35 +09:00
Jens Petersen 381ac69fec fix haddock and manual filelists for no doc or no manual builds
- drop build.mk assignment indents
2011-01-13 10:29:27 +09:00
Jens Petersen 8e04f60166 add BRs for various subpackaged ghc libraries needed to build ghc 2011-01-13 08:05:28 +09:00
Jens Petersen 4696271717 fix %ghc_binlib_package's appearing in srpm description 2011-01-06 17:01:41 +09:00
Jens Petersen cc31fc0a97 fix an old changelog typo of obsolete 2011-01-06 15:43:34 +09:00
Jens Petersen 199162c70a test ghc_packages_list in requires for mock 2011-01-05 21:48:11 +09:00
Jens Petersen 5f0d8db6a1 changelog tweaks 2011-01-05 21:38:20 +09:00
Jens Petersen 46cf23cbed subpackage all the libraries with ghc-rpm-macros-0.11.1
- put rts, integer-gmp and ghc-prim in base, and ghc-binary in bin-package-db
- drop the libs mega-subpackage
- prof now a meta-package for backward compatibility
- add devel meta-subpackage to easily install all ghc libraries
- store doc cronjob package cache file under /var (#664850)
- drop old extralibs bcond
- no longer need to define or clean buildroot
- ghc base package now requires ghc-base-devel
- drop ghc-time obsoletes
2011-01-05 21:34:43 +09:00
Jens Petersen 04dec3dc5e move package cache file for doc cronjob to /var (#664850)
Also cache long listing to notice library rebuilds.
2010-12-30 11:06:23 +09:00
Jens Petersen 9556d647dd Fedora.hackage: latest f14 stable packages 2010-12-20 14:32:47 +10:00
Jens Petersen 58a611dd44 keep a copy of http://petersen.fedorapeople.org/hackage/Fedora file here for now 2010-12-20 14:31:45 +10:00
Jens Petersen 8bc1e4a38e hackage: track f14 for now and sort the output 2010-12-09 16:28:58 +10:00
Jens Petersen eed0f8bfc5 convert hackage-status.sh to hackage-fedora.py which reads package list straight from pkgdb 2010-12-08 17:47:26 +10:00
Jens Petersen 8843244384 pkg-deps.sh: exclude older syb-0.1 for ghc < 7 2010-12-06 14:34:23 +10:00
Jens Petersen f55b572964 hackage-status.sh: write data to a file 2010-12-06 11:43:22 +10:00
Jens Petersen 8ebc64b8d3 in pkg-deps.sh only filter ^bytestring$ 2010-12-06 11:00:27 +10:00
Jens Petersen a2b5f257a1 pkg-deps.sh: no longer filter syb since it is not in ghc7 2010-12-05 16:54:22 +10:00
Jens Petersen 2e4876ac87 hackage-status.sh generate a Fedora distro file for hackage.haskell.org 2010-12-04 22:09:49 +10:00
Jens Petersen 8037450608 update pkg-deps.sh not to assume ghc6 2010-11-30 19:22:17 +10:00
Jens Petersen 379f54b3ed require libffi-devel 2010-11-24 00:41:15 +10:00
Jens Petersen e9e73e9ffc drop -o from ghc_binlib_package 2010-11-23 17:41:14 +10:00
Jens Petersen 802b9bee4e update ghc-use-system-libffi.patch for ghc-7.0.1 2010-11-16 19:09:11 +10:00
Jens Petersen 7df9981038 update to 7.0.1 and turn system libffi back on 2010-11-16 17:41:09 +10:00
Jens Petersen 6cb68b9d15 use libffi bcond for the ghc-tarballs removal too 2010-11-08 11:12:12 +10:00
Jens Petersen 256ed2a656 need BR libffi-devel anyway 2010-11-08 10:57:01 +10:00
Jens Petersen c8ba9dfcd6 disable the libffi changes since they broke libHSffi*.so 2010-11-08 10:40:15 +10:00
Jens Petersen 086548f84e simplify ghc-gen_contents_index-cron-batch.patch case context 2010-11-05 21:14:26 +10:00
Jens Petersen a426f6ec13 prefix cronjob path with buildroot 2010-11-05 19:00:40 +10:00
Jens Petersen 8b84ee0dba add bcond for system libffi and fix system libffi build
- rename ghc-use-system-libffi-debian.patch to ghc-use-system-libffi.patch.
- add ffi to SRC_HC_OPTS
- use pkgconfig-depends in compiler/ghc.cabal for libffi
2010-11-05 18:28:54 +10:00
Jens Petersen 5311ca59f4 use system libffi with ghc-use-system-libffi-debian.patch 2010-11-05 11:33:43 +10:00
Jens Petersen ddea701dae fix ghc-gen_contents_index-cron-batch.patch so that it applies 2010-11-05 11:25:54 +10:00
Jens Petersen 8b1ef566da fix the name of the --batch patch 2010-11-04 18:50:53 +10:00
Jens Petersen e89f5f0022 add a cronjob for haddock indexing and disable gen_contents_index by default
gen_contents_index is run with --batch by cronjob, otherwise does nothing.
This avoids overhead of running of re-indexing each time
a ghc-*-devel package is installed, updated, or removed.
2010-11-04 18:41:32 +10:00
Jens Petersen a7486154e6 skip huge type-level docs from haddock re-indexing (#649228) 2010-11-04 16:48:25 +10:00
Jens Petersen 9ce1080bad try again to fix smp build to no more than 4 cpus 2010-10-01 16:21:16 +10:00
Jens Petersen 265cc3642b export RPM_BUILD_NCPUS to make 2010-10-01 14:49:38 +10:00
Jens Petersen bb76f118e1 4 cpu build broke: make max smp 2 cpus 2010-10-01 14:33:11 +10:00
Jens Petersen 9a030f8971 smp build with max 4 cpus 2010-10-01 13:57:32 +10:00
Jens Petersen 9648738001 try smp build again 2010-09-30 19:22:52 +10:00
Jens Petersen 4c524f7b2a drop happy buildrequires 2010-09-30 19:18:00 +10:00
Jens Petersen 3982dc4985 Merge branch 'master' of ssh://pkgs.fedoraproject.org/ghc 2010-09-30 18:21:34 +10:00
Jens Petersen 06db986bc2 move gtk2hs obsoletes to ghc-glib and ghc-gtk 2010-09-30 18:21:06 +10:00
Jens Petersen ebe2874e17 better missing graphviz message 2010-09-30 17:57:22 +10:00
Jens Petersen a90b89c92a pkg-deps.sh: comment list binlib progs and warn about missing graphviz 2010-09-24 12:44:42 +10:00
Jens Petersen 96dece0e90 pkg-deps.sh: check for graphviz 2010-09-24 12:35:22 +10:00
Jens Petersen 6453beb234 pkg-deps.sh: drop hedgewars and kaya, and add warning for missing bin packages 2010-09-24 12:23:10 +10:00
Jens Petersen 9d63a496e3 add xmobar to pkg-deps.sh and ignore ghc-rpm-macros 2010-09-13 13:40:56 +10:00
Jens Petersen 78073395b5 obsolete old gtk2hs packages for smooth upgrades 2010-07-30 12:15:23 +10:00
Fedora Release Engineering 354b3e302a dist-git conversion 2010-07-28 15:33:45 +00:00
Jens Petersen b39bdb20c7 add gtk2hs-buildtools to pkg-deps.sh 2010-07-20 09:07:52 +00:00
Jens Petersen 355e48379d obsolete ghc-ghc-doc (ghc-rpm-macros-0.8.0) 2010-07-15 15:35:32 +00:00
Jens Petersen 9956691973 - merge ghc-doc into base package
- note that ghc-6.12.3 is part of haskell-platform-2010.2.0.0
2010-07-15 13:48:00 +00:00
Jens Petersen 24005bb6f4 obsolete ghc-time to smooth f13 upgrades 2010-07-15 09:16:11 +00:00
Jens Petersen e328bbd33c more hacks to add singleton packages 2010-06-28 05:52:48 +00:00
Jens Petersen a362bcafa0 add hlint to pkg-deps.sh 2010-06-24 23:52:16 +00:00
Jens Petersen dc71f25047 - drop the broken summary and description args to the ghc-ghc package and
use ghc-rpm-macros-0.6.1
2010-06-24 03:16:12 +00:00
Jens Petersen aee0ea8fc1 strip all dynlinked files not just shared objects (ghc-rpm-macros-0.5.9) 2010-06-23 10:30:14 +00:00
Jens Petersen d3940a51d0 remove erroneous -o pkg merge option to ghc-ghc 2010-06-20 23:19:09 +00:00
Jens Petersen 2c2e6bed6c fix description of ghc-ghc 2010-06-20 23:13:58 +00:00
Jens Petersen b6bfcab66d - 6.12.3 release
- build with hscolour
- use ghc-rpm-macro-0.5.8 for ghc_strip_shared macro
2010-06-20 13:01:02 +00:00
Jens Petersen 63986ca7f5 - drop binlib packages from bin rpm hack
- special-case haskell-platform bin
- bring back utf8-string
- include ghc lib since we subpackage it
2010-06-03 12:38:38 +00:00
Jens Petersen 0cb619abe6 fix test for display 2010-06-03 07:25:14 +00:00
Jens Petersen c3e8b642b9 only run xdg-open if there is DISPLAY 2010-06-03 07:22:29 +00:00
Jens Petersen 5e9ae7fc32 also include haskell-platform binary package 2010-06-03 04:59:32 +00:00
Jens Petersen 495747b710 - add hack to include bin packages too
- ignore rts and ffi from ghc too
2010-06-02 08:31:03 +00:00
Jens Petersen 9d4f5cb613 - (6.12.3 rc1)
- ghost package.cache
- fix description and summary of ghc internal library (John Obbele)
2010-05-28 06:40:59 +00:00
Jens Petersen d06a8f2815 - drop ghc-utf8-string obsoletes since it is no longer provided
- run testsuite fast
2010-05-25 10:20:06 +00:00
Jens Petersen 17699b895c - add utf8-string-0.3.4
- run xdg-open on svg file
- short description
2010-05-25 10:02:47 +00:00
Jens Petersen c698ee76c3 script to generate dependency graph of fedora haskell packages 2010-05-25 04:13:45 +00:00
25 changed files with 2428 additions and 252 deletions

View File

@ -1,2 +0,0 @@
ghc-6.12.2-src.tar.bz2
testsuite-6.12.2.tar.bz2

33
.gitignore vendored Normal file
View File

@ -0,0 +1,33 @@
ghc-6.12.3-src.tar.bz2
testsuite-6.12.3.tar.bz2
/ghc-7.0.1-src.tar.bz2
/testsuite-7.0.1.tar.bz2
/ghc-7.0.2-src.tar.bz2
/ghc-7.0.4-src.tar.bz2
/testsuite-7.0.4.tar.bz2
/ghc-7.4.1-testsuite.tar.bz2
/ghc-7.4.1-src.tar.bz2
/ghc-7.4.2-src.tar.bz2
/ghc-7.4.2-testsuite.tar.bz2
/ghc-7.6.3-src.tar.bz2
/ghc-7.6.3-testsuite.tar.bz2
/ghc-7.6.3/
/ghc-7.8.3-src.tar.xz
/ghc-7.8.3-testsuite.tar.xz
/ghc-7.8.4-src.tar.xz
/ghc-7.8.4-testsuite.tar.xz
/ghc-7.8.4/
/ghc-7.10.3/
/ghc-7.10.3b-src.tar.xz
/ghc-7.10.3b-testsuite.tar.xz
/ghc-8.0.2-testsuite.tar.xz
/ghc-8.0.2-src.tar.xz
/ghc-8.0.2/
/ghc-8.2.2-src.tar.xz
/ghc-8.2.2-testsuite.tar.xz
/ghc-8.4.4-src.tar.xz
/ghc-8.6.5-src.tar.xz
/ghc-8.8.3-src.tar.xz
/ghc-8.8.3-src.tar.xz.sig
/ghc-8.8.4-src.tar.xz.sig
/ghc-8.8.4-src.tar.xz

View File

@ -0,0 +1,277 @@
From 6e361d895dda4600a85e01c72ff219474b5c7190 Mon Sep 17 00:00:00 2001
From: Kavon Farvardin <kavon@farvard.in>
Date: Thu, 4 Oct 2018 13:44:55 -0400
Subject: [PATCH] Multiple fixes / improvements for LLVM backend
- Fix for #13904 -- stop "trashing" callee-saved registers, since it is
not actually doing anything useful.
- Fix for #14251 -- fixes the calling convention for functions passing
raw SSE-register values by adding padding as needed to get the values
in the right registers. This problem cropped up when some args were
unused an dropped from the live list.
- Fixed a typo in 'readnone' attribute
- Added 'lower-expect' pass to level 0 LLVM optimization passes to
improve block layout in LLVM for stack checks, etc.
Test Plan: `make test WAYS=optllvm` and `make test WAYS=llvm`
Reviewers: bgamari, simonmar, angerman
Reviewed By: angerman
Subscribers: rwbarton, carter
GHC Trac Issues: #13904, #14251
Differential Revision: https://phabricator.haskell.org/D5190
(cherry picked from commit adcb5fb47c0942671d409b940d8884daa9359ca4)
---
compiler/llvmGen/Llvm/Types.hs | 2 +-
compiler/llvmGen/LlvmCodeGen/Base.hs | 62 ++++++++++++++++++++----
compiler/llvmGen/LlvmCodeGen/CodeGen.hs | 59 +++++-----------------
compiler/main/DriverPipeline.hs | 2 +-
testsuite/tests/codeGen/should_run/all.T | 4 +-
5 files changed, 67 insertions(+), 62 deletions(-)
diff --git a/compiler/llvmGen/Llvm/Types.hs b/compiler/llvmGen/Llvm/Types.hs
index 87111499fc0..c1c51afcf0f 100644
--- a/compiler/llvmGen/Llvm/Types.hs
+++ b/compiler/llvmGen/Llvm/Types.hs
@@ -560,7 +560,7 @@ instance Outputable LlvmFuncAttr where
ppr OptSize = text "optsize"
ppr NoReturn = text "noreturn"
ppr NoUnwind = text "nounwind"
- ppr ReadNone = text "readnon"
+ ppr ReadNone = text "readnone"
ppr ReadOnly = text "readonly"
ppr Ssp = text "ssp"
ppr SspReq = text "ssqreq"
diff --git a/compiler/llvmGen/LlvmCodeGen/Base.hs b/compiler/llvmGen/LlvmCodeGen/Base.hs
index 6e20da48c1b..ec91bacc4c8 100644
--- a/compiler/llvmGen/LlvmCodeGen/Base.hs
+++ b/compiler/llvmGen/LlvmCodeGen/Base.hs
@@ -26,7 +26,7 @@ module LlvmCodeGen.Base (
cmmToLlvmType, widthToLlvmFloat, widthToLlvmInt, llvmFunTy,
llvmFunSig, llvmFunArgs, llvmStdFunAttrs, llvmFunAlign, llvmInfAlign,
- llvmPtrBits, tysToParams, llvmFunSection,
+ llvmPtrBits, tysToParams, llvmFunSection, padLiveArgs, isSSE,
strCLabel_llvm, strDisplayName_llvm, strProcedureName_llvm,
getGlobalPtr, generateExternDecls,
@@ -58,6 +58,8 @@ import ErrUtils
import qualified Stream
import Control.Monad (ap)
+import Data.List (sort)
+import Data.Maybe (mapMaybe)
-- ----------------------------------------------------------------------------
-- * Some Data Types
@@ -147,16 +149,58 @@ llvmFunSection dflags lbl
-- | A Function's arguments
llvmFunArgs :: DynFlags -> LiveGlobalRegs -> [LlvmVar]
llvmFunArgs dflags live =
- map (lmGlobalRegArg dflags) (filter isPassed (activeStgRegs platform))
+ map (lmGlobalRegArg dflags) (filter isPassed allRegs)
where platform = targetPlatform dflags
- isLive r = not (isSSE r) || r `elem` alwaysLive || r `elem` live
+ allRegs = activeStgRegs platform
+ paddedLive = map (\(_,r) -> r) $ padLiveArgs live
+ isLive r = r `elem` alwaysLive || r `elem` paddedLive
isPassed r = not (isSSE r) || isLive r
- isSSE (FloatReg _) = True
- isSSE (DoubleReg _) = True
- isSSE (XmmReg _) = True
- isSSE (YmmReg _) = True
- isSSE (ZmmReg _) = True
- isSSE _ = False
+
+
+isSSE :: GlobalReg -> Bool
+isSSE (FloatReg _) = True
+isSSE (DoubleReg _) = True
+isSSE (XmmReg _) = True
+isSSE (YmmReg _) = True
+isSSE (ZmmReg _) = True
+isSSE _ = False
+
+sseRegNum :: GlobalReg -> Maybe Int
+sseRegNum (FloatReg i) = Just i
+sseRegNum (DoubleReg i) = Just i
+sseRegNum (XmmReg i) = Just i
+sseRegNum (YmmReg i) = Just i
+sseRegNum (ZmmReg i) = Just i
+sseRegNum _ = Nothing
+
+-- the bool indicates whether the global reg was added as padding.
+-- the returned list is not sorted in any particular order,
+-- but does indicate the set of live registers needed, with SSE padding.
+padLiveArgs :: LiveGlobalRegs -> [(Bool, GlobalReg)]
+padLiveArgs live = allRegs
+ where
+ sseRegNums = sort $ mapMaybe sseRegNum live
+ (_, padding) = foldl assignSlots (1, []) $ sseRegNums
+ allRegs = padding ++ map (\r -> (False, r)) live
+
+ assignSlots (i, acc) regNum
+ | i == regNum = -- don't need padding here
+ (i+1, acc)
+ | i < regNum = let -- add padding for slots i .. regNum-1
+ numNeeded = regNum-i
+ acc' = genPad i numNeeded ++ acc
+ in
+ (regNum+1, acc')
+ | otherwise = error "padLiveArgs -- i > regNum ??"
+
+ genPad start n =
+ take n $ flip map (iterate (+1) start) (\i ->
+ (True, FloatReg i))
+ -- NOTE: Picking float should be fine for the following reasons:
+ -- (1) Float aliases with all the other SSE register types on
+ -- the given platform.
+ -- (2) The argument is not live anyways.
+
-- | Llvm standard fun attributes
llvmStdFunAttrs :: [LlvmFuncAttr]
diff --git a/compiler/llvmGen/LlvmCodeGen/CodeGen.hs b/compiler/llvmGen/LlvmCodeGen/CodeGen.hs
index e812dd445f1..a7121b7909a 100644
--- a/compiler/llvmGen/LlvmCodeGen/CodeGen.hs
+++ b/compiler/llvmGen/LlvmCodeGen/CodeGen.hs
@@ -14,7 +14,7 @@ import LlvmCodeGen.Base
import LlvmCodeGen.Regs
import BlockId
-import CodeGen.Platform ( activeStgRegs, callerSaves )
+import CodeGen.Platform ( activeStgRegs )
import CLabel
import Cmm
import PprCmm
@@ -211,7 +211,6 @@ genCall t@(PrimTarget (MO_Prefetch_Data localityInt)) [] args
fptr <- liftExprData $ getFunPtr funTy t
argVars' <- castVarsW Signed $ zip argVars argTy
- doTrashStmts
let argSuffix = [mkIntLit i32 0, mkIntLit i32 localityInt, mkIntLit i32 1]
statement $ Expr $ Call StdCall fptr (argVars' ++ argSuffix) []
| otherwise = panic $ "prefetch locality level integer must be between 0 and 3, given: " ++ (show localityInt)
@@ -294,7 +293,6 @@ genCall t@(PrimTarget op) [] args
fptr <- getFunPtrW funTy t
argVars' <- castVarsW Signed $ zip argVars argTy
- doTrashStmts
let alignVal = mkIntLit i32 align
arguments = argVars' ++ (alignVal:isVolVal)
statement $ Expr $ Call StdCall fptr arguments []
@@ -446,7 +444,6 @@ genCall target res args = runStmtsDecls $ do
| never_returns = statement $ Unreachable
| otherwise = return ()
- doTrashStmts
-- make the actual call
case retTy of
@@ -1759,12 +1756,9 @@ genLit _ CmmHighStackMark
funPrologue :: LiveGlobalRegs -> [CmmBlock] -> LlvmM StmtData
funPrologue live cmmBlocks = do
- trash <- getTrashRegs
let getAssignedRegs :: CmmNode O O -> [CmmReg]
getAssignedRegs (CmmAssign reg _) = [reg]
- -- Calls will trash all registers. Unfortunately, this needs them to
- -- be stack-allocated in the first place.
- getAssignedRegs (CmmUnsafeForeignCall _ rs _) = map CmmGlobal trash ++ map CmmLocal rs
+ getAssignedRegs (CmmUnsafeForeignCall _ rs _) = map CmmLocal rs
getAssignedRegs _ = []
getRegsBlock (_, body, _) = concatMap getAssignedRegs $ blockToList body
assignedRegs = nub $ concatMap (getRegsBlock . blockSplit) cmmBlocks
@@ -1794,14 +1788,9 @@ funPrologue live cmmBlocks = do
funEpilogue :: LiveGlobalRegs -> LlvmM ([LlvmVar], LlvmStatements)
funEpilogue live = do
- -- Have information and liveness optimisation is enabled?
- let liveRegs = alwaysLive ++ live
- isSSE (FloatReg _) = True
- isSSE (DoubleReg _) = True
- isSSE (XmmReg _) = True
- isSSE (YmmReg _) = True
- isSSE (ZmmReg _) = True
- isSSE _ = False
+ -- the bool indicates whether the register is padding.
+ let alwaysNeeded = map (\r -> (False, r)) alwaysLive
+ livePadded = alwaysNeeded ++ padLiveArgs live
-- Set to value or "undef" depending on whether the register is
-- actually live
@@ -1813,39 +1802,17 @@ funEpilogue live = do
let ty = (pLower . getVarType $ lmGlobalRegVar dflags r)
return (Just $ LMLitVar $ LMUndefLit ty, nilOL)
platform <- getDynFlag targetPlatform
- loads <- flip mapM (activeStgRegs platform) $ \r -> case () of
- _ | r `elem` liveRegs -> loadExpr r
- | not (isSSE r) -> loadUndef r
+ let allRegs = activeStgRegs platform
+ loads <- flip mapM allRegs $ \r -> case () of
+ _ | (False, r) `elem` livePadded
+ -> loadExpr r -- if r is not padding, load it
+ | not (isSSE r) || (True, r) `elem` livePadded
+ -> loadUndef r
| otherwise -> return (Nothing, nilOL)
let (vars, stmts) = unzip loads
return (catMaybes vars, concatOL stmts)
-
--- | A series of statements to trash all the STG registers.
---
--- In LLVM we pass the STG registers around everywhere in function calls.
--- So this means LLVM considers them live across the entire function, when
--- in reality they usually aren't. For Caller save registers across C calls
--- the saving and restoring of them is done by the Cmm code generator,
--- using Cmm local vars. So to stop LLVM saving them as well (and saving
--- all of them since it thinks they're always live, we trash them just
--- before the call by assigning the 'undef' value to them. The ones we
--- need are restored from the Cmm local var and the ones we don't need
--- are fine to be trashed.
-getTrashStmts :: LlvmM LlvmStatements
-getTrashStmts = do
- regs <- getTrashRegs
- stmts <- flip mapM regs $ \ r -> do
- reg <- getCmmReg (CmmGlobal r)
- let ty = (pLower . getVarType) reg
- return $ Store (LMLitVar $ LMUndefLit ty) reg
- return $ toOL stmts
-
-getTrashRegs :: LlvmM [GlobalReg]
-getTrashRegs = do plat <- getLlvmPlatform
- return $ filter (callerSaves plat) (activeStgRegs plat)
-
-- | Get a function pointer to the CLabel specified.
--
-- This is for Haskell functions, function type is assumed, so doesn't work
@@ -1967,7 +1934,3 @@ getCmmRegW = lift . getCmmReg
genLoadW :: Atomic -> CmmExpr -> CmmType -> WriterT LlvmAccum LlvmM LlvmVar
genLoadW atomic e ty = liftExprData $ genLoad atomic e ty
-doTrashStmts :: WriterT LlvmAccum LlvmM ()
-doTrashStmts = do
- stmts <- lift getTrashStmts
- tell $ LlvmAccum stmts mempty
diff --git a/compiler/main/DriverPipeline.hs b/compiler/main/DriverPipeline.hs
index 86dd913461c..f4d5e7f553c 100644
--- a/compiler/main/DriverPipeline.hs
+++ b/compiler/main/DriverPipeline.hs
@@ -1465,7 +1465,7 @@ runPhase (RealPhase LlvmOpt) input_fn dflags
-- we always (unless -optlo specified) run Opt since we rely on it to
-- fix up some pretty big deficiencies in the code we generate
llvmOpts = case optLevel dflags of
- 0 -> "-mem2reg -globalopt"
+ 0 -> "-mem2reg -globalopt -lower-expect"
1 -> "-O1 -globalopt"
_ -> "-O2"

View File

@ -0,0 +1,10 @@
--- ghc-8.8.0.20190721/libraries/containers/containers/include/containers.h~ 2019-06-26 20:39:26.000000000 +0000
+++ ghc-8.8.0.20190721/libraries/containers/containers/include/containers.h 2019-07-27 08:55:10.747060247 +0000
@@ -35,7 +35,6 @@
#ifdef __GLASGOW_HASKELL__
# define USE_ST_MONAD 1
-# define USE_UNBOXED_ARRAYS 1
#endif
#endif

View File

@ -1,21 +0,0 @@
# Makefile for source rpm: ghc
# $Id$
NAME := ghc
SPECFILE = $(NAME).spec
define find-makefile-common
for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
endef
MAKEFILE_COMMON := $(shell $(find-makefile-common))
ifeq ($(MAKEFILE_COMMON),)
# attept a checkout
define checkout-makefile-common
test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2
endef
MAKEFILE_COMMON := $(shell $(checkout-makefile-common))
endif
include $(MAKEFILE_COMMON)

48
abi-check.sh Executable file
View File

@ -0,0 +1,48 @@
#!/bin/sh
[ $# -ne 2 ] && echo "Usage: $(basename $0) ver-rel1 ver-rel2" && exit 1
if [ "$1" = "$2" ]; then
echo "ver-rel's must be different!"
exit 1
fi
#set -x
mkdir -p koji
cd koji
for i in $1 $2; do
if [ ! -d "$i" ]; then
mkdir -p $i/{x86_64,i686,armv7hl}
cd $i
for a in x86_64 i686 armv7hl; do
cd $a
koji download-build --arch=$a ghc-$i
cd ..
done
cd ..
fi
done
for a in x86_64 i686 armv7hl; do
echo "= $a ="
for i in $1/$a/*; do
PKGVER=$(rpm -qp --qf "%{name}-%{version}" $i)
PKG2=$(ls $2/$a/$PKGVER*.$a.rpm)
PROV1=$(rpm -qp --provides $i | grep ^ghc\( | grep -v =)
PROV2=$(rpm -qp --provides $PKG2 | grep ^ghc\( | grep -v =)
# if [ -n "$PROV1" ]; then
# echo $PROV1
# else
# echo "no provides for $i"
# fi
if [ -n "$PROV2" ]; then
if [ "$PROV1" != "$PROV2" ]; then
echo $PROV2
fi
# else
# echo "no provides for $PKG2"
fi
done
done

View File

@ -0,0 +1,23 @@
Forwarded to https://ghc.haskell.org/trac/ghc/ticket/10424
--- a/compiler/iface/MkIface.hs
+++ b/compiler/iface/MkIface.hs
@@ -681,7 +681,7 @@ addFingerprints hsc_env mb_old_fingerpri
iface_hash <- computeFingerprint putNameLiterally
(mod_hash,
ann_fn (mkVarOcc "module"), -- See mkIfaceAnnCache
- mi_usages iface0,
+ usages,
sorted_deps,
mi_hpc iface0)
@@ -714,6 +714,9 @@ addFingerprints hsc_env mb_old_fingerpri
(non_orph_fis, orph_fis) = mkOrphMap ifFamInstOrph (mi_fam_insts iface0)
fix_fn = mi_fix_fn iface0
ann_fn = mkIfaceAnnCache (mi_anns iface0)
+ -- Do not allow filenames to affect the interface
+ usages = [ case u of UsageFile _ fp -> UsageFile "" fp; _ -> u | u <- mi_usages iface0 ]
+
-- | Retrieve the orphan hashes 'mi_orphan_hash' for a list of modules
-- (in particular, the orphan modules which are transitively imported by the

View File

@ -0,0 +1,31 @@
Description: Allow unregisterised ghc-8.6 to build newer GHC
Commit af9b744bbf1 introduced a regression stopping existing unregisterised
compilers from being able to compile newer versions of GHC. The problem is
that the bootstrap compiler uses the newer `includes/stg/MiscClosures.h` file
where some defines have been renamed, resulting in the following error:
.
error: stg_atomicModifyMutVarzh undeclared (first use in this function); did you mean stg_atomicModifyMutVar2zh?
.
For more information, see https://gitlab.haskell.org/ghc/ghc/issues/17111.
.
This patch can be removed, once ghc-8.6 is no longer the bootstrap compiler.
Author: Ilias Tsitsimpis <iliastsi@debian.org>
Bug: https://gitlab.haskell.org/ghc/ghc/issues/17111
Index: b/includes/stg/MiscClosures.h
===================================================================
--- a/includes/stg/MiscClosures.h
+++ b/includes/stg/MiscClosures.h
@@ -390,8 +390,12 @@ RTS_FUN_DECL(stg_copySmallMutableArrayzh
RTS_FUN_DECL(stg_casSmallArrayzh);
RTS_FUN_DECL(stg_newMutVarzh);
+#if __GLASGOW_HASKELL__ < 808
+RTS_FUN_DECL(stg_atomicModifyMutVarzh);
+#else
RTS_FUN_DECL(stg_atomicModifyMutVar2zh);
RTS_FUN_DECL(stg_atomicModifyMutVarzuzh);
+#endif
RTS_FUN_DECL(stg_casMutVarzh);
RTS_FUN_DECL(stg_isEmptyMVarzh);

View File

@ -0,0 +1,51 @@
Description: Allow unregisterised ghc-8.2 to build newer GHC
Commit b68697e579d38ca29c2b84377dc2affa04659a28 introduced a regression
stopping existing unregisteristed compilers from being used to compile a newer
version of GHC. The problem is that the bootstrap compiler uses the newer Stg.h
where EB_, IB_, etc, definitions have changed resulting in the following error:
.
error: conflicting types for 'ghc_GhcPrelude_zdtrModule4_bytes'
note: in definition of macro 'EB_'
#define EB_(X) extern const char X[]
note: previous definition of 'ghc_GhcPrelude_zdtrModule4_bytes' was here
char ghc_GhcPrelude_zdtrModule4_bytes[] = "ghc";
.
For more information about the problem, see https://phabricator.haskell.org/D4114.
.
This patch is a rework of https://phabricator.haskell.org/D3741.
It modifies Stg.h to include the old definitions, if a compiler older than
8.4 is being used.
.
This patch can be removed, once ghc-8.2 is no longer the bootstrap compiler.
Author: Ilias Tsitsimpis <iliastsi@debian.org>
Bug: https://ghc.haskell.org/trac/ghc/ticket/15201
Index: b/includes/Stg.h
===================================================================
--- a/includes/Stg.h
+++ b/includes/Stg.h
@@ -232,6 +232,16 @@ typedef StgInt I_;
typedef StgWord StgWordArray[];
typedef StgFunPtr F_;
+#if __GLASGOW_HASKELL__ < 804
+#define EB_(X) extern char X[]
+#define IB_(X) static char X[]
+#define EI_(X) extern StgWordArray (X) GNU_ATTRIBUTE(aligned (8))
+#define II_(X) static StgWordArray (X) GNU_ATTRIBUTE(aligned (8))
+#define IF_(f) static StgFunPtr GNUC3_ATTRIBUTE(used) f(void)
+#define FN_(f) StgFunPtr f(void)
+#define EF_(f) StgFunPtr f(void) /* External Cmm functions */
+#define EFF_(f) void f() /* See Note [External function prototypes] */
+#else
/* byte arrays (and strings): */
#define EB_(X) extern const char X[]
#define IB_(X) static const char X[]
@@ -250,6 +260,7 @@ typedef StgFunPtr F_;
#define EF_(f) StgFunPtr f(void) /* External Cmm functions */
/* foreign functions: */
#define EFF_(f) void f() /* See Note [External function prototypes] */
+#endif /* __GLASGOW_HASKELL__ < 804 */
/* Note [External function prototypes] See Trac #8965, #11395
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

View File

@ -0,0 +1,58 @@
Description: Allow unregisterised ghc-8.4 to build newer GHC
Commit 4075656e8bb introduced a regression stopping existing unregisteristed
compilers from being able to compile newer versions of GHC. The problem is
that the bootstrap compiler uses the newer `rts/storage/ClosureTypes.h` file
where some defines have been renamed, resulting in the following error:
.
error: stg_MUT_ARR_PTRS_FROZEN0_info undeclared (first use in this function); did you mean stg_MUT_ARR_PTRS_FROZEN_DIRTY_info?
.
For more information, see https://gitlab.haskell.org/ghc/ghc/issues/15913.
.
This patch can be removed, once ghc-8.4 is no longer the bootstrap compiler.
Author: Ilias Tsitsimpis <iliastsi@debian.org>
Bug: https://gitlab.haskell.org/ghc/ghc/issues/15913
Bug-Debian: https://bugs.debian.org/932941
Index: b/includes/rts/storage/ClosureTypes.h
===================================================================
--- a/includes/rts/storage/ClosureTypes.h
+++ b/includes/rts/storage/ClosureTypes.h
@@ -82,5 +82,11 @@
#define SMALL_MUT_ARR_PTRS_DIRTY 60
#define SMALL_MUT_ARR_PTRS_FROZEN_DIRTY 61
#define SMALL_MUT_ARR_PTRS_FROZEN_CLEAN 62
+#if __GLASGOW_HASKELL__ < 806
+#define SMALL_MUT_ARR_PTRS_FROZEN0 SMALL_MUT_ARR_PTRS_FROZEN_DIRTY
+#define SMALL_MUT_ARR_PTRS_FROZEN SMALL_MUT_ARR_PTRS_FROZEN_CLEAN
+#define MUT_ARR_PTRS_FROZEN0 MUT_ARR_PTRS_FROZEN_DIRTY
+#define MUT_ARR_PTRS_FROZEN MUT_ARR_PTRS_FROZEN_CLEAN
+#endif
#define COMPACT_NFDATA 63
#define N_CLOSURE_TYPES 64
Index: b/includes/stg/MiscClosures.h
===================================================================
--- a/includes/stg/MiscClosures.h
+++ b/includes/stg/MiscClosures.h
@@ -116,12 +116,22 @@ RTS_ENTRY(stg_ARR_WORDS);
RTS_ENTRY(stg_MUT_ARR_WORDS);
RTS_ENTRY(stg_MUT_ARR_PTRS_CLEAN);
RTS_ENTRY(stg_MUT_ARR_PTRS_DIRTY);
+#if __GLASGOW_HASKELL__ < 806
+RTS_ENTRY(stg_MUT_ARR_PTRS_FROZEN);
+RTS_ENTRY(stg_MUT_ARR_PTRS_FROZEN0);
+#else
RTS_ENTRY(stg_MUT_ARR_PTRS_FROZEN_CLEAN);
RTS_ENTRY(stg_MUT_ARR_PTRS_FROZEN_DIRTY);
+#endif
RTS_ENTRY(stg_SMALL_MUT_ARR_PTRS_CLEAN);
RTS_ENTRY(stg_SMALL_MUT_ARR_PTRS_DIRTY);
+#if __GLASGOW_HASKELL__ < 806
+RTS_ENTRY(stg_SMALL_MUT_ARR_PTRS_FROZEN);
+RTS_ENTRY(stg_SMALL_MUT_ARR_PTRS_FROZEN0);
+#else
RTS_ENTRY(stg_SMALL_MUT_ARR_PTRS_FROZEN_CLEAN);
RTS_ENTRY(stg_SMALL_MUT_ARR_PTRS_FROZEN_DIRTY);
+#endif
RTS_ENTRY(stg_MUT_VAR_CLEAN);
RTS_ENTRY(stg_MUT_VAR_DIRTY);
RTS_ENTRY(stg_END_TSO_QUEUE);

View File

@ -1,12 +0,0 @@
diff -u ghc-6.12.1/libraries/gen_contents_index\~ ghc-6.12.1/libraries/gen_contents_index
--- ghc-6.12.1/libraries/gen_contents_index~ 2009-12-11 04:11:33.000000000 +1000
+++ ghc-6.12.1/libraries/gen_contents_index 2009-12-12 21:08:02.000000000 +1000
@@ -20,7 +20,7 @@
done
;;
*)
- HADDOCK=../../../../../bin/haddock
+ HADDOCK=/usr/bin/haddock
# We don't want the GHC API to swamp the index
HADDOCK_FILES=`ls -1 */*.haddock | grep -v '/ghc\.haddock' | sort`
for HADDOCK_FILE in $HADDOCK_FILES

View File

@ -0,0 +1,35 @@
--- ghc-8.6.3/docs/users_guide/flags.py~ 2018-09-21 06:18:23.000000000 +0800
+++ ghc-8.6.3/docs/users_guide/flags.py 2019-03-05 10:20:38.639782096 +0800
@@ -49,6 +49,8 @@
import sphinx
from sphinx import addnodes
from sphinx.domains.std import GenericObject
+from sphinx.domains import ObjType
+from sphinx.roles import XRefRole
from sphinx.errors import SphinxError
from distutils.version import LooseVersion
from utils import build_table_from_list
@@ -603,14 +605,21 @@
sphinx_version = LooseVersion(sphinx.__version__)
override_arg = {'override': True} if sphinx_version >= LooseVersion('1.8') else {}
+ # Yuck: We can't use app.add_object_type since we need to provide the
+ # Directive instance ourselves.
+ std_object_types = app.registry.domain_object_types.setdefault('std', {})
+
# Add ghc-flag directive, and override the class with our own
- app.add_object_type('ghc-flag', 'ghc-flag')
app.add_directive_to_domain('std', 'ghc-flag', Flag, **override_arg)
+ app.add_role_to_domain('std', 'ghc-flag', XRefRole())
+ std_object_types['ghc-flag'] = ObjType('ghc-flag', 'ghc-flag')
# Add extension directive, and override the class with our own
- app.add_object_type('extension', 'extension')
app.add_directive_to_domain('std', 'extension', LanguageExtension,
**override_arg)
+ app.add_role_to_domain('std', 'extension', XRefRole())
+ std_object_types['extension'] = ObjType('ghc-flag', 'ghc-flag')
+
# NB: language-extension would be misinterpreted by sphinx, and produce
# lang="extensions" XML attributes

View File

@ -0,0 +1,12 @@
--- ghc-8.2.2/libraries/Cabal/Cabal/Distribution/Simple/Install.hs~ 2017-05-05 23:51:43.000000000 +0900
+++ ghc-8.2.2/libraries/Cabal/Cabal/Distribution/Simple/Install.hs 2018-02-27 12:22:13.159432104 +0900
@@ -215,8 +215,7 @@
++ " in " ++ binPref)
inPath <- isInSearchPath binPref
when (not inPath) $
- warn verbosity ("The directory " ++ binPref
- ++ " is not in the system search path.")
+ warn verbosity ("Executable installed in " ++ binPref)
case compilerFlavor (compiler lbi) of
GHC -> GHC.installExe verbosity lbi binPref buildPref progFix pkg_descr exe
GHCJS -> GHCJS.installExe verbosity lbi binPref buildPref progFix pkg_descr exe

View File

@ -0,0 +1,11 @@
--- ghc-7.8.3/aclocal.m4~ 2014-07-10 13:27:16.000000000 +0900
+++ ghc-7.8.3/aclocal.m4 2014-11-05 12:19:08.530044128 +0900
@@ -408,7 +408,7 @@
)],
[changequote(, )dnl
ARM_ISA=ARMv7
- ARM_ISA_EXT="[VFPv3,NEON]"
+ ARM_ISA_EXT="[VFPv3D16]"
changequote([, ])dnl
])
])

View File

@ -0,0 +1,10 @@
--- ghc-7.6.3/libraries/gen_contents_index~ 2013-04-19 06:22:46.000000000 +0900
+++ ghc-7.6.3/libraries/gen_contents_index 2013-04-22 12:07:48.922152864 +0900
@@ -60,6 +60,6 @@
done
else
- HADDOCK=../../../../../bin/haddock
+ HADDOCK=/usr/bin/haddock
# We don't want the GHC API to swamp the index
HADDOCK_FILES=`ls -1 */*.haddock | grep -v '/ghc\.haddock' | sort`
HADDOCK_ARGS="-p prologue.txt"

View File

@ -0,0 +1,11 @@
--- ghc-8.6.5/libraries/gen_contents_index~ 2020-02-24 15:02:26.318866694 +0800
+++ ghc-8.6.5/libraries/gen_contents_index 2020-04-09 18:18:40.290722327 +0800
@@ -47,6 +47,8 @@
HADDOCK_ARGS="$HADDOCK_ARGS $HADDOCK_ARG"
done
else
+ if ! ls */*.haddock &>/dev/null; then exit 0; fi
+
HADDOCK=/usr/bin/haddock
# We don't want the GHC API to swamp the index
HADDOCK_FILES=`ls -1 */*.haddock | grep -v '/ghc\.haddock' | sort`

228
ghc-pkg.man Normal file
View File

@ -0,0 +1,228 @@
.TH ghc-pkg 1 "2010-01-27"
.SH NAME
ghc-pkg \- GHC Haskell Cabal package manager
.SH SYNOPSIS
.B ghc-pkg
.I action
.RI [ OPTION ]...
.SH DESCRIPTION
A package is a library of Haskell modules known to the compiler. The
.B ghc-pkg
tool allows adding or removing them from a package database. By
default, the system-wide package database is modified, but
alternatively the user's local package database or another specified
file can be used.
.PP
To make a package available for
.BR ghc ,
.B ghc-pkg
can be used to register it. Unregistering it removes it from the
database. Also, packages can be hidden, to make
.B ghc
ignore the package by default, without uninstalling it. Exposing a
package makes a hidden package available. Additionally,
.B ghc-pkg
has various commands to query the package database.
.PP
Where a package name is required, the package can be named in full
including the version number (e.g.
.BR network-1.0 ),
or without the version number. Naming a package without the version
number matches all versions of the package; the specified action will
be applied to all the matching packages. A package specifier that
matches all version of the package can also be written
.BR pkg-* ,
to make it clearer that multiple packages are being matched.
.SH ACTIONS
.TP
\fBregister\fP \fIfilename\fP|\fB-\fP
Register the package using the specified installed package
description.
.TP
\fBupdate\fP \fIfilename\fP|\fB-\fP
Register the package, overwriting any other package with the same
name.
.TP
\fBunregister\fP \fIpkg-id\fP
Unregister the specified package.
.TP
\fBexpose\fP \fIpkg-id\fP
Expose the specified package.
.TP
\fBhide\fP \fIpkg-id\fP
Hide the specified package
.TP
\fBlist\fP \fR[\fIpkg\fR]...\fP
List registered packages in the global database, and also the user
database if
.B --user
is given. If a package name is given all the registered versions will
be listed in ascending order. Accepts the
.B --simple-output
flag.
.TP
.B dot
Generate a graph of the package dependencies in a form suitable for
input for the graphviz tools. For example, to generate a PDF of the
dependency graph:
.br
\fB dot \| tred \| dot -Tpdf >pkgs.pdf\fP
.TP
\fBfind-module\fP \fImodule\fP
List registered packages exposing module
.I module
in the global database, and also the user database if
.B --user
is given. All the registered versions will be listed in ascending
order. Accepts the
.B --simple-output
flag.
.TP
\fBlatest\fP \fIpkg-id\fP
Prints the highest registered version of a package.
.TP
.B check
Check the consistency of package dependencies and list broken
packages. Accepts the
.B --simple-output
flag.
.TP
\fBdescribe\fP \fIpkg\fP
Give the registered description for the
specified package. The description is returned in precisely the syntax
required by ghc-pkg register.
.TP
\fBfield\fP \fIpkg field\fP
Extract the specified field of the package description for the
specified package. Accepts comma-separated multiple fields.
.TP
.B dump
Dump the registered description for every package. This is like
.BR ghc-pkg\ describe\ '*' ,
expect that it is intended to be used by tools that parse the results,
rather than humans.
.TP
.B recache
Regenerate the package database cache. This command should only be
necessary if you added a package to the database by dropping a file
into the database directory manyally. By default, the global DB is
recached; to recache a different DB use
.B --user
or
.B --package-conf
as appropriate.
.SH OPTIONS
When asked to modify a database
.RB ( register ,\ unregister ,\ update ,\ hide ,\ expose ,\ and\ also\ check ),
.B ghc-pkg
modifies the global database by
default. Specifying
.B --user
causes it to act on the user database,
or
.B --package-conf
can be used to act on another database
entirely. When multiple of these options are given, the rightmost
one is used as the database to act upon.
.PP
Commands that query the package database
.RB ( list ,\ latest ,\ describe ,\ field )
operate on the list of databases specified by the flags
.BR --user ,\ --global ,
and
.BR --package-conf .
If none of these flags are
given, the default is
.BR --global\ --user .
.TP
.B --user
Use the current user's package database.
.TP
.B --global
Use the global package database.
.TP
\fB-f\fP \fIFILE\fP, \fB--package-conf=\fIFILE\fP
Use the specified package config file.
.TP
.BI --global-conf= FILE
Location of the global package config.
.TP
.B --force
Ignore missing dependencies, directories, and libraries.
.TP
.B --force-files
Ignore missing directories and libraries only.
.TP
.BR -g ,\ --auto-ghc-libs
Automatically build libs for GHCi (with register).
.TP
.BR -? ,\ --help
Display a help message and exit.
.TP
.BR -V ,\ --version
Output version information and exit.
.TP
.B --simple-output
Print output in easy-to-parse format for some commands.
.TP
.B --names-only
Only print package names, not versions; can only be used with
.BR list\ --simple-output .
.TP
.B --ignore-case
Ignore case for substring matching.
.SH ENVIRONMENT VARIABLES
.TP
.B GHC_PACKAGE_PATH
The
.B GHC_PACKAGE_PATH
environment variable may be set to a
.BR : -separated
list of files containing package databases. This list of package
databases is used by
.B ghc
and
.BR ghc-pkg ,
with earlier databases in the list overriding later ones. This order
was chosen to match the behaviour of the
.B PATH
environment variable; think of it as a list of package databases that
are searched left-to-right for packages.
If
.B GHC_PACKAGE_PATH
ends in a separator, then the default user and system package
databases are appended, in that order. e.g. to augment the usual set
of packages with a database of your own, you could say:
.br
\fB export GHC_PACKAGE_PATH=$HOME/.my-ghc-packages.conf:\fP
.br
To check whether your
.B GHC_PACKAGE_PATH
setting is doing the right thing,
.B ghc-pkg list
will list all the databases in use, in the reverse order they are
searched.
.SH FILES
Both of these locations are changed for Debian. Upstream still keeps
these under
.IR /usr .
Some programs may refer to that, but look in
.I /var
instead.
.TP
.I /var/lib/ghc/package.conf
Global package.conf file.
.TP
.I /var/lib/ghc/package.conf.d/
Directory for library specific package.conf files. These are added to
the global registry.
.SH "SEE ALSO"
.BR ghc (1),
.BR runghc (1),
.BR hugs (1).
.SH AUTHOR
This manual page was written by Kari Pahula <kaol@debian.org>, for the
Debian project (and may be used by others).

View File

@ -0,0 +1,12 @@
--- ghc-8.4.3/mk/warnings.mk~ 2018-02-04 02:30:11.000000000 +0900
+++ ghc-8.4.3/mk/warnings.mk 2018-09-29 14:33:37.607884921 +0900
@@ -1,6 +1,6 @@
# See Note [Order of warning flags].
-SRC_CC_OPTS += -Wall $(WERROR)
+#SRC_CC_OPTS += -Wall $(WERROR)
SRC_HC_OPTS += -Wall
# Don't add -Werror to SRC_HC_OPTS_STAGE0 (or SRC_HC_OPTS), because otherwise
# validate may unnecessarily fail when booting with an older compiler.
# It would be better to only exclude certain warnings from becoming errors
Diff finished. Sat Sep 29 14:35:43 2018

1456
ghc.spec

File diff suppressed because it is too large Load Diff

231
haddock.man Normal file
View File

@ -0,0 +1,231 @@
.TH HADDOCK 1 "July 2010" "Haddock, version 2.6.1" "Haddock documentation generator"
.SH NAME
haddock \- documentation tool for annotated Haskell source code
.SH SYNOPSIS
.B haddock
.RI [ options ] " file" ...
.SH DESCRIPTION
This manual page documents briefly the
.B haddock
command.
Extensive documentation is available in various other formats including DVI,
PostScript and HTML; see below.
.PP
.I file
is a filename containing a Haskell source module.
All the modules specified on the command line will be processed together.
When one module refers to an entity in another module being processed, the
documentation will link directly to that entity.
Entities that cannot be found, for example because they are in a module that
is not being processed as part of the current batch, simply will not be
hyperlinked in the generated documentation.
.B haddock
will emit warnings listing all the identifiers it could not resolve.
The modules should not be mutually recursive, as
.B haddock
does not like swimming in circles.
.SH OPTIONS
The programs follow the usual GNU command line syntax, with long
options starting with two dashes (`--').
A summary of options is included below.
For a complete description, see the other documentation.
.TP
\fB\-o \fIDIR\fP, \-\-odir=\fIDIR\fP
directory in which to put the output files
.TP
\fB\-i \fIFILE\fP, \-\-read-interface=\fIFILE\fP
read an interface from
.IR FILE .
.TP
\fB\-D \fIFILE\fP, \-\-dump\-interface=\fIFILE\fP
dump an interface for these modules in
.IR FILE .
.TP
\fB\-l \fIDIR\fP, \-\-lib=\fIDIR\fP
location of Haddock's auxiliary files
.TP
.BR \-h ", " \-\-html
Generate documentation in HTML format.
Several files will be generated into the current directory (or the specified
directory if the
.B \-o
option is given), including the following:
.RS
.TP
.I index.html
The top level page of the documentation:
lists the modules available, using indentation to represent the hierarchy if
the modules are hierarchical.
.TP
.I haddock.css
The stylesheet used by the generated HTML.
Feel free to modify this to change the colors or layout, or even specify
your own stylesheet using the
.B \-\-css
option.
.TP
.I module.html
An HTML page for each module.
.TP
.IR doc-index.html ", " doc-index-XX.html
The index, split into two (functions/constructors and types/classes, as per
Haskell namespaces) and further split alphabetically.
.RE
.TP
.B \-\-hoogle
output for Hoogle
.TP
\fB\-\-html\-help=\fIformat
produce index and table of contents in mshelp, mshelp2 or devhelp format
(with \fI\-h\fP)
.TP
\fB\-\-source\-base=\fPURL
Include links to the source files in the generated documentation, where URL
is the base URL where the source files can be found.
.TP
\fB\-s \fPURL, \fB\-\-source\-module=\fPURL
Include links to the source files in the generated documentation, where URL
is a source code link for each module (using the %{FILE} or %{MODULE} vars).
.TP
\fB\-\-source\-entity=\fPURL
Include links to the source files in the generated documentation, where URL
is a source code link for each entity (using the %{FILE}, %{MODULE} or %{NAME} vars).
.TP
\fB\-\-comments\-base=\fPURL
URL for a comments link on the contents and index pages.
.TP
\fB\-\-comments\-module=\fPURL
URL for a comments link for each module (using the %{MODULE} var).
.TP
\fB\-\-comments\-entity=\fPURL
URL for a comments link for each entity (using the %{FILE}, %{MODULE} or %{NAME} vars).
.TP
.BI \-\-css= FILE
Use the CSS
.I FILE
instead of the default stylesheet that comes with
.B haddock
for HTML output. It should specify certain classes: see the default stylesheet for details.
.TP
\fB\-p \fIFILE\fP, \-\-prologue=\fIFILE\fP
Specify a file containing prologue text.
.TP
\fB\-t \fITITLE\fP, \-\-title=\fITITLE\fP
Use \fITITLE\fP as the page heading for each page in the documentation.
This will normally be the name of the library being documented.
The title should be a plain string (no markup please!).
.TP
\fB\-k \fINAME\fP, \-\-package=\fINAME\fP
Specify the package name (optional).
.TP
.BR \-n ", " \-\-no\-implicit\-prelude
do not assume Prelude is imported
.TP
.BR \-d ", " \-\-debug
Enable extra debugging output.
.TP
.BR \-? ", " \-\-help
Display help.
.TP
.BR \-V ", " \-\-version
Display version.
.TP
.BR \-v ", " \-\-verbose
Verbose status reporting.
.TP
\fB\-\-use\-contents=\fPURL
Use a separately-generated HTML contents page.
.TP
.B \-\-gen\-contents
Generate an HTML contents from specified interfaces.
.TP
\fB\-\-use\-index=\fPURL
Use a separately-generated HTML index.
.TP
.B \-\-gen\-index
Generate an HTML index from specified interfaces.
.TP
.B \-\-ignore\-all\-exports
Behave as if all modules have the ignore-exports atribute
.TP
\fB\-\-hide=\fIMODULE
Behave as if \fIMODULE\fP has the hide attribute.
.TP
\fB\-\-use\-package=\fIPACKAGE
The modules being processed depend on \fIPACKAGE\fP.
.SH FILES
.I /usr/bin/haddock
.br
.I /usr/share/haddock-2.6.1/html/plus.gif
.br
.I /usr/share/haddock-2.6.1/html/minus.gif
.br
.I /usr/share/haddock-2.6.1/html/haskell_icon.gif
.br
.I /usr/share/haddock-2.6.1/html/haddock.js
.br
.I /usr/share/haddock-2.6.1/html/haddock.css
.br
.I /usr/share/haddock-2.6.1/html/haddock-DEBUG.css
.SH SEE ALSO
.IR /usr/share/doc/haddock/ ,
.br
the Haddock homepage
.UR http://haskell.org/haddock/
(http://haskell.org/haddock/)
.UE
.SH COPYRIGHT
Haddock version 2.6.1
Copyright 2006-2010 Simon Marlow <simonmar@microsoft.com>, Dawid Waern <david.waern@gmail.com>.
All rights reserved.
.SH AUTHOR
This manual page was written by Michael Weber <michaelw@debian.org>
for the Debian GNU/Linux system (but may be used by others).
.\" Local variables:
.\" mode: nroff
.\" End:

10
libraries-versions.sh Executable file
View File

@ -0,0 +1,10 @@
#!/bin/sh
if [ ! -d libraries ]; then
echo Is CWD a ghc source tree?
exit 1
fi
cd libraries
grep -i ^version: Cabal/Cabal/Cabal.cabal */*.cabal | grep -v -e "\(Win32\|gmp.old\|gmp2\|integer-simple\)" | sed -e "s!/.*: \+!-!"

View File

@ -0,0 +1,22 @@
Description: Do not emit a warning if the .haddock file is missing
As it is quite common on Debian installations to install the -dev package
without the -doc package.
Author: Joachim Breitner <nomeata@debian.org>
Index: ghc-8.0.2/utils/ghc-pkg/Main.hs
===================================================================
--- ghc-8.0.2.orig/utils/ghc-pkg/Main.hs
+++ ghc-8.0.2/utils/ghc-pkg/Main.hs
@@ -1588,8 +1588,10 @@
mapM_ (checkDir True "dynamic-library-dirs") (libraryDynDirs pkg)
mapM_ (checkDir True "include-dirs") (includeDirs pkg)
mapM_ (checkDir True "framework-dirs") (frameworkDirs pkg)
- mapM_ (checkFile True "haddock-interfaces") (haddockInterfaces pkg)
- mapM_ (checkDirURL True "haddock-html") (haddockHTMLs pkg)
+ -- In Debian, it is quite normal that the package is installed without the
+ -- documentation. Do not print a warning there.
+ -- mapM_ (checkFile True "haddock-interfaces") (haddockInterfaces pkg)
+ -- mapM_ (checkDirURL True "haddock-html") (haddockHTMLs pkg)
checkDuplicateModules pkg
checkExposedModules db_stack pkg
checkOtherModules pkg

45
runghc.man Normal file
View File

@ -0,0 +1,45 @@
.TH RUNGHC 1 "28 NOVEMBER 2007"
.SH NAME
runghc \- program to run Haskell programs without first having to compile them.
.SH SYNOPSIS
.B runghc
.RI
[runghc|flags] [GHC|flags] module [program|flags]...
.br
.SH DESCRIPTION
.B runghc
is considered a non-interactive interpreter and part of The Glasgow Haskell Compiler.
.B runghc
is a compiler that automatically runs its results at the end.
.PP
.SH OPTIONS
.TP
the flags are:
.TP
.B \-f
it tells runghc which GHC to use to run the program. If it is not given then runghc will search for GHC in the directories in the system search path. runghc -f /path/to/ghc
.TP
.B \--
runghc will try to work out where the boundaries between [runghc flags] and [GHC flags], and [GHC flags] and module are, but you can use a -- flag if it doesn't get it right. For example, runghc -- -fglasgow-exts Foo
means runghc won't try to use glasgow-exts as the path to GHC, but instead will pass the flag to GHC.
.SH EXAMPLES
.TP
.B runghc foo
.PP
.B runghc -f /path/to/ghc foo
.TP
.B runghc -- -fglasgow-exts Foo
.SH SEE ALSO
.BR ghc (1),
.BR ghci (1).
.br
.SH COPYRIGHT
Copyright 2002, The University Court of the University of Glasgow. All rights reserved.
.SH AUTHOR
This manual page was written by Efrain Valles Pulgar <effie.jayx@gmail.com>. This is free documentation; see the GNU
General Public Licence version 2 or later for copying conditions. There is NO WARRANTY.

View File

@ -1,2 +1,2 @@
b7ab3d3c2d58534cb3f31a00e2c12c67 ghc-6.12.2-src.tar.bz2
07e7bdf0f0742889cebf47e5b977bf6c testsuite-6.12.2.tar.bz2
SHA512 (ghc-8.8.4-src.tar.xz.sig) = 1ed2e64e8b75a147d7c66b0018119f54ac740131b6f74612aa975c9120d8f7a8a2286829cef22ef2cd16262af0604659daa41c09ef3bdec6c22b8d086fbc1166
SHA512 (ghc-8.8.4-src.tar.xz) = efd23bd819f7429486696a3a929a040471db7ea8a2d1f1d832e4cf0825b9e1e0c5e6ecad0ab8376f58b74e9c28c1d2f773bd126596d6d853c9e57d57e5ceb090

View File

@ -0,0 +1,27 @@
Description: Use native x86_64 instructions on x32
This patch enables a few native 64-bit integer instructions
on x32 which are available on this architecture despite using
32-bit pointers. These instructions are present on x86_64 but
not on x86 and ghc checks the size of (void *) to determine
that. This method fails on x32 since despite using 32-bit
pointers and hence sizeof(void *) == 4, it still uses the
full x86_64 instruction set and software-emulated variants
of the aforementioned 64-bit integer instructions are
therefore not present in the toolchain which will make ghc
fail to build on x32.
See: https://ghc.haskell.org/trac/ghc/ticket/11571
.
Index: ghc-8.0.2/rts/RtsSymbols.c
===================================================================
--- ghc-8.0.2.orig/rts/RtsSymbols.c
+++ ghc-8.0.2/rts/RtsSymbols.c
@@ -857,7 +857,7 @@
// 64-bit support functions in libgcc.a
-#if defined(__GNUC__) && SIZEOF_VOID_P <= 4 && !defined(_ABIN32)
+#if defined(__GNUC__) && SIZEOF_VOID_P <= 4 && !defined(_ABIN32) && !(defined(__x86_64__) && defined(__ILP32__))
#define RTS_LIBGCC_SYMBOLS \
SymI_NeedsProto(__divdi3) \
SymI_NeedsProto(__udivdi3) \