Commit Graph

154 Commits

Author SHA1 Message Date
Jens Petersen 5a531e47b6 re-instate ghc_without_shared since useful for standalone builds 2019-04-09 19:21:22 +08:00
Jens Petersen 14a65baa2a %ghc_fix_rpath was a no-op for ghc_without_dynamic 2019-02-24 13:53:26 +08:00
Jens Petersen fcee7ff4cb always build Setup with -no-user-package-db 2019-02-16 13:07:12 +08:00
Jens Petersen c1326d82af use C.utf8 for building instead of en_US.utf8 2019-02-02 01:21:29 +08:00
Jens Petersen b60ddd4560 leave stripping to generic rpm macros 2019-02-02 01:17:16 +08:00
Jens Petersen b82b10135e use haddock --hyperlink-source unconditionally 2019-02-02 01:15:55 +08:00
Jens Petersen e35da2ef75 disable debuginfo by undefining _enable_debug_packages 2019-02-02 01:15:02 +08:00
Jens Petersen 4e2983c83c disable -Werror=format-security too on s390x
cc1: error: -Wformat-security ignored without -Wformat [-Werror=format-security]
cc1: some warnings being treated as errors
`gcc' failed in phase `C Compiler'. (Exit code: 1)
2018-10-25 00:48:27 +09:00
Jens Petersen 5b2544a8cc silence C Wunused-label warnings flood on s390x again 2018-10-25 00:12:12 +09:00
Jens Petersen 153f50041f keep %ghc_set_gcc_flags name 2018-10-06 01:47:11 +09:00
Jens Petersen 975f21c108 disable hardened ldflags again
only breaks x86_64 and armv7hl for static linking?:

/usr/bin/ld.gold: error: /usr/lib64/ghc-8.2.2/rts/libHSrts_thr.a(MarkWeak.thr_o): requires unsupported dynamic reloc 11; recompile with -fPIC

/usr/bin/ld.gold: error: /usr/lib/ghc-8.2.2/rts/libHSrts_thr.a(GCUtils.thr_o): requires unsupported dynamic reloc R_ARM_MOVW_ABS_NC; recompile with -fPIC
2018-10-06 01:13:16 +09:00
Jens Petersen 55f62273c3 %cabal_configure: use %ghc_set_gcc_flags 2018-10-05 19:02:12 +09:00
Jens Petersen 7de08b499a disable dynamic linking of executables for better portability 2018-10-05 17:58:58 +09:00
Jens Petersen d190fa9b04 replace %ghc_set_cflags with simplified %ghc_set_gcc_flags
tested in ghc.spec in ghc:8.4 module
2018-10-05 17:58:43 +09:00
Jens Petersen 8bce457cb2 insert a Setup.hs file if none shipped in package
current foundation and rio have no Setup.hs
2018-07-31 01:30:50 +09:00
Jens Petersen 5c4bfea95e remove -Wall and -Werror=format-security separately (for aarch64 and s390x) 2018-07-24 17:44:34 +09:00
Jens Petersen 37fe2b4ab7 support packaging Cabal bundled internal libraries
for some reason installing with Cabal (rather than cabal-install)
gives different hashes for the sublibrary

simplification of initial work in opensuse by Ondřej Súkup
https://github.com/fedora-haskell/ghc-rpm-macros/pull/7

testcase was haddock-library-1.4.5
2018-05-25 19:24:07 +09:00
Jens Petersen 3124474192 drop %ghc_check_bootstrap and add %ghc_quick_build
- according to upstream it is redundant now to build ghc against itself
- %ghc_quick_build replaces %ghc_bootstrap
2018-05-23 10:49:21 +09:00
Robert-André Mauchin 3c4760fac8 Define pkgdir as %{ghclibdir}/%{pkgnamever} instead of %{ghclibdir}/${key} 2018-04-07 12:54:16 +02:00
Jens Petersen 4887078b34 use pkgid for libexecsubdir and libsubdir (#1563863)
libexecsubdir is only available in Cabal 2
2018-04-05 18:33:56 +09:00
Jens Petersen 1ffadfb29d drop ghc_bootstrapping from comment in macros.ghc 2018-02-28 17:47:10 +09:00
Jens Petersen 47ac404ddc no longer need to prune -z defs from LDFLAGS 2018-02-04 00:08:03 +09:00
Jens Petersen 2e2b672417 make the recent dynlib changes conditional on _ghcdynlibdir and disable
(without_shared remains gone)
2018-01-28 08:02:46 +01:00
Jens Petersen b058836dae no whitespace after '-z defs' 2018-01-25 07:23:26 +01:00
Jens Petersen ba39d46794 remove "-z defs" from LDFLAGS since it breaks linking
dist/build/Language/Haskell/HsColour.dyn_o:hscolourzm1zi24zi2zmBwYhdEbf2m3fdRy45AMG_LanguageziHaskellziHsColour_zdfShowLit6_info: error: undefined reference to 'newCAF'
:
dist/build/Language/Haskell/HsColour.dyn_o:sQ3F_info: error: undefined reference to 'stg_upd_frame_info'
2018-01-25 07:02:40 +01:00
Jens Petersen bd0af716de %ghc_fix_rpath: remove leading or trailing ':' 2018-01-23 15:24:11 +01:00
Jens Petersen 5f6ff9c55c do not handle ghc libs location specially; ghc-pkg-wrapper rpath 2018-01-23 12:49:58 +01:00
Jens Petersen bc93aaa088 changes for ghc-8.2: _ghcdynlibdir, drop ghc_without_shared, chrpath
- add _ghcdynlibdir for Cabal --dynlibdir
- dynlibs in _libdir except ghc's libs
- drop ghc_without_shared
- ghc_fix_rpath removes RPATHs for 8.2+
2018-01-22 09:23:36 +01:00
Jens Petersen 32c4fa64af add %ghc_set_cflags macro 2017-12-04 21:24:21 +09:00
Jens Petersen 7faec45fdd use shell variable instead of macro to carry licensedir version 2017-11-15 11:25:18 +09:00
Jens Petersen 97922d41b7 for rhel > 7 noarch and no license dir version 2017-11-14 19:22:31 +09:00
Jens Petersen 3643446b23 -Werror=format-security fails without -Wall 2017-11-10 12:12:46 +09:00
Jens Petersen 272d2b048a do not set -Wall on aarch64 and s390x
-Wunused-label is extremely noisy

[1 of 2] Compiling Text.Html.BlockTable ( Text/Html/BlockTable.hs, dist/build/Text/Html/BlockTable.o )
/tmp/ghcbd98_0/ghc_2.hc: In function ‘htmlzm1zi0zi1zi2zm8wVtehjIxUEBYXzzRus7033_TextziHtmlziBlockTable_getMatrix_entry’:
/tmp/ghcbd98_0/ghc_2.hc:63:1: error:
     warning: label ‘_c2qm’ defined but not used [-Wunused-label]
     _c2qm:
2017-11-10 11:49:21 +09:00
Jens Petersen ea9bb846fc temporarily set Wall for all archs to see which are noisy 2017-11-10 10:56:09 +09:00
Jens Petersen b78d93fec3 fix the package.conf existence check 2017-09-13 19:17:01 +09:00
Jens Petersen 430e328400 make some macro call args explicit for rpm-4.14 scope change 2017-09-13 18:36:31 +09:00
Jens Petersen 5d5eac137c %ghc_gen_filelists: check package.conf exists 2017-08-02 11:07:36 +01:00
Jens Petersen 5969f32695 add %_ghclicensedir and %ghc_smp_mflags macros
backport from github
2017-07-30 21:05:03 +01:00
Jens Petersen 38f99a79b3 fix %ghc_fix_rpath for ghc-7.10 2017-04-07 19:09:23 +09:00
Jens Petersen c17dd21b04 %cabal_configure now outputs Cabal version 2017-03-26 19:57:33 +09:00
Jens Petersen 78b7c8e144 haddock generation failing since f25 ghc-7.10 due to [ -f *.a] failing 2017-03-24 18:17:14 +09:00
Jens Petersen 195cbddf39 %ghc_fix_dynamic_rpath define lowercase RPATH 2017-03-16 13:15:39 +09:00
Jens Petersen 2fb629fb9b %ghc_bin_install and %ghc_lib_install now run ghc_fix_rpath on subpkgs 2017-03-03 11:00:57 +09:00
Jens Petersen b1fc196577 fixes for when (subpackage) pkg-ver already installed
macros.ghc no longer uses ghc-pkg-wrapper

- %ghc_fix_rpath gets lib dir directly by globbing buildroot
- %ghc_gen_filelists reads pkg key from .conf
- ghc-deps.sh: read unique pkg id from .conf

before this preinstalled libs were interfering and this was further
exasperated on ghc8 where .conf filenames are not keyed so we were querying
`ghc-pkg list pkg` instead of pkg-ver.
2017-03-03 10:57:59 +09:00
Jens Petersen 09527a512d subpackages can contain numbers and need --user 2017-02-23 20:58:38 +09:00
Jens Petersen 473b736053 fix fixing of rpaths 2017-02-22 14:50:26 +09:00
Jens Petersen 66fe267a12 fix generation of haddock's 2017-02-22 13:32:26 +09:00
Jens Petersen df54044203 quieten ppc64 and ppc64le logs by not setting CFLAGS
-Wunused-label very noisy with ghc-7.10

I think this can be dropped for ghc-8.0
2017-02-14 11:12:12 +09:00
Jens Petersen f1517cd581 fix handling of ghc's .files with new ghc_lib_subpackage -d option 2017-02-13 19:25:12 +09:00
Jens Petersen 89fc8859a1 fix subpackage builds
if %ghc_subpackaging set configure with --user otherwise --global
2017-02-10 12:50:57 +09:00
Jens Petersen ae0985a107 build subpackages inside main package dir 2017-02-09 10:52:59 +09:00
Jens Petersen 5517c1f361 new cabal-tweak-drop-dep and other merges from github
- no longer use a topdir for subpackage building
- only autopackage license if subpackaging
- move uniq to ghc-pkg-wrapper
- add macros.ghc-fedora for Fedora specific config
- replace cabal_verbose with cabal_configure_verbose, cabal_build_verbose,
  cabal_install_verbose, cabal_haddock_verbose, and cabal_test_verbose
- new _ghcdocdir
2017-02-08 15:26:07 +09:00
Jens Petersen 3a48002a94 reenable dynlink on arm archs; condition _defaultlicensedir 2016-11-25 11:20:05 +09:00
Jens Petersen 9c211a6a35 add a comment about -Wunused-label for aarch64
can be removed for ghc-8.0
2016-10-26 17:48:51 +09:00
Jens Petersen 55f359cbaa disable dynlinking on aarch64 and set LDFLAGS again 2016-10-17 12:14:17 +09:00
Jens Petersen deba8275bf ghc-pkg-wrapper output is simple now 2016-10-17 11:37:36 +09:00
Jens Petersen 28274f8b3a only pass CFLAGS and LDFLAGS to ghc if set 2016-10-17 11:37:21 +09:00
Jens Petersen 46a6bfd423 try not setting CFLAGS and LDFLAGS for aarch64 (for ghc-7.10.3)
- -Wall is very noisy (unused warnings)
- dynlink failing
2016-10-17 10:48:52 +09:00
Jens Petersen 411d61ddf0 new ghc_fix_rpath macro deprecates ghc_fix_dynamic_rpath
- ghc-pkg-wrapper: quieter and simple output
- ghc_libs_install now runs ghc_fix_rpath to fix subpackage rpaths
2016-09-27 14:30:59 +09:00
Jens Petersen 83eef9382a drop %ghc_licensedir and look for license correctly 2016-09-06 19:09:36 +09:00
Jens Petersen d0eef0681b licensedir fixes 2016-09-06 11:45:19 +09:00
Jens Petersen 68da07a47a set Cabal docdir to licensedir
so licenses end up in right place
2016-09-06 11:20:41 +09:00
Jens Petersen 52dc56db34 additional fixes for handling binlib packages 2016-08-31 11:14:00 +09:00
Jens Petersen 701fee7294 %ghc_gen_filelists: improve license handling for binlib packages 2016-08-31 10:02:44 +09:00
Jens Petersen 452a250213 fix %license path when not subpackaging 2016-08-27 12:13:06 +02:00
Jens Petersen 64dfda4d2c _defaultlicensedir not _licensedir 2016-08-26 18:16:55 +02:00
Jens Petersen c43600a4a0 ghc_gen_filelists: support packages with multiple license files
move licenses out of docdir instead of removing, also for ghc_bin_install
2016-08-26 14:21:24 +02:00
Jens Petersen 84a7696ad1 move license handling from %ghc_libs_install to %ghc_gen_filelists 2016-08-25 19:12:58 +02:00
Jens Petersen d8c629ddd4 remove subpackaging --package-db=user which breaks 2016-08-18 15:21:00 +09:00
Jens Petersen 0592593f31 drop _smp_mflags for now since it can overwhelm armv7hl 2016-08-17 19:01:03 +09:00
Jens Petersen 27b17fb15e merge cabal_verbose from github
thanks mimi1vx for the original patch
2016-08-06 17:28:06 +02:00
Jens Petersen 41e9ee727e %ghc_gen_filelists: uniq keyname to prevent build failure for installed version 2016-06-13 16:16:29 +09:00
Jens Petersen d364972a87 disable debuginfo again
at least until work out how to get it working
2016-06-06 17:22:42 +09:00
Jens Petersen 7e15be0963 backport changes from ghc-7.10.3 copr as 1.6.0
- ghc_gen_filelists: determine keyname with pkgnamever not just pkgname
  (fixes building newer version of installed package)
- use _rpmconfigdir macro
- support el6 (no fileattrs or /usr/lib/rpm/macros.d)
- change url to github
- add and use ghc-pkg-wrapper script
- use ghc-pkg key field (for ghc-7.10)
- configure libsubdir using pkgkey like ghc-cabal
- handle no ghc-srpm-macros for fedora < 21
- fix ghc-pkg path in ghc-deps.sh for ghc-7.10
- version ghc-pkg in ghc_pkg_recache
- update ghc_gen_filelists to use new keyed library filepaths
  and specify libHS*.so more loosely
- ghc-dep.sh now just makes versioned devel reqs
- rename ghc_lib.attr to ghc.attr and drop ghc_bin.attr

- enable debuginfo package
2016-06-03 13:19:05 +09:00
Jens Petersen 124ef72e77 use %ghc_name for %ghc_html_dir 2016-02-01 23:16:39 +09:00
Jens Petersen d609014ce9 tests comment in macros.ghc 2015-10-08 19:20:20 +09:00
Jens Petersen c5902ba33f %cabal now uses utf8 locale; set %ghc_without_dynamic on aarch64 2015-05-07 19:14:08 +09:00
Jens Petersen e5d78dcff4 add explicit --enable-shared again for arm64 2015-04-02 12:52:27 +09:00
Jens Petersen cfbdfc60ac add ghc_pkgdocdir for RHEL compatibility
no _pkgdocdir in current RHEL
2015-03-20 17:39:03 +09:00
Jens Petersen d1251119aa version ghc-pkg in %ghc_pkg_recache
this will work for ghc784 where ghc_override is defined but not ghc784-PKG
2015-03-08 14:41:30 +09:00
Jens Petersen f0f6b5560d allow overriding ghc- prefix with %ghc_name (for ghc784 etc) 2015-03-07 22:38:07 +09:00
Jens Petersen 0b6b0198da fix ghc-deps.sh to handle obsoleted meta libraries
use --disable-shared for %ghc_without_shared
2015-03-02 13:21:32 +09:00
Jens Petersen c2213a0236 turn off hardening in %cabal_configure: set %_hardened_ldflags to %nil
%ghc_lib_build* was too late
2015-02-28 00:58:30 +09:00
Jens Petersen 47247e4150 turn off _hardened_build for libs since it breaks linking
With "%_hardened_build 1" errors like:

  /usr/bin/ld: -r and -shared may not be used together

and

  /usr/bin/ld.gold: fatal error: -pie and -r are incompatible

occur when building libraries
2015-02-27 22:57:15 +09:00
Jens Petersen 81726e4857 drop %cabal_tests_not_working since not all tests failing on ARMv7 2015-02-01 07:56:35 +00:00
Jens Petersen efcc8cce75 %cabal_tests_not_working fixes: add %cabal_test
correct the arch
2015-01-31 20:22:21 +00:00
Jens Petersen 9460154623 touch %{basepkg}.files so that %files -f works for meta packages 2015-01-31 18:14:30 +00:00
Jens Petersen c13aaea995 don't run cabal haddock for meta libraries 2015-01-31 18:03:52 +00:00
Jens Petersen d80a2ea958 disable Cabal tests on armv7 since they give internal error 2015-01-31 17:38:02 +00:00
Jens Petersen edf9be1b39 fix the R*PATH regexp 2015-01-31 10:44:28 +00:00
Jens Petersen 07399a8849 on arm chrpath outputs RUNPATH= instead of RPATH=
%ghc_fix_dynamic_rpath now handles both program names and absolute paths
2015-01-31 09:43:03 +00:00
Jens Petersen 856d8134b6 version ghcpkgdocdir and add new html doc dir names
(ghcpkgdocdir used by JuicyPixels)

in future:

%ghcdocbasedir -> %ghc_html_dir
%ghclibdocdir -> %ghc_html_libraries_dir
%ghcpkgdocdir -> %ghc_html_libraries_dir

Hopefully the new names should be clearer
2015-01-22 16:58:30 +09:00
Jens Petersen 4b3c2433d5 version doc htmldirs again
haddock generates versioned cross-links anyway!

This reverts commit c7830b0.
2015-01-18 15:26:18 +09:00
Jens Petersen a93d10698f enable shared libraries and dynamic linking on all archs; disable debuginfo
- ghc-7.8 support dynamic libs and linking on all arches now
- ghc-7.10 will support dwarf debugging output
2015-01-17 14:40:38 +09:00
Jens Petersen e5c8c16492 fix handling of CFLAGS and LDFLAGS 2014-10-27 12:16:40 +09:00
Jens Petersen 83e7a4f045 pass CFLAGS and LDFLAGS to ghc via %cabal_configure
thanks to Ville for pushing for this in #1138982
and Sergei Trofimovich for explaining how Archlinux does it
2014-10-27 11:52:27 +09:00
Jens Petersen 2da26f9db5 improve %ghc_fix_dynamic_rpath not to assume cwd = pkg_name 2014-09-10 16:07:29 +09:00
Jens Petersen 3efe41dd0c no longer disable debuginfo by default
cblrpm checks if there are C files in a package
if not it disables debuginfo
2014-08-29 16:04:33 +09:00
Jens Petersen 19ad5a530b drop -O2 for ghc-7.8
it uses too much build mem

eg
- highlighting-kate OOM with 4GB ram
- happy needs > 3GB
2014-08-28 17:34:35 +09:00
Jens Petersen 8479b07853 disable shared/dyn for non-intel until we move to ghc-7.8 2014-08-22 11:48:32 +09:00