Commit Graph

46 Commits

Author SHA1 Message Date
Jens Petersen
cfbb8bcbb7 ghc-deps.sh: ShellCheck tweaks and sort uniq output 2022-06-11 12:40:42 +08:00
Jens Petersen
f6aa817b92 ghc-deps.sh: split off buildroot from the ghclibdir arg for more precise paths
This allows using the ghclibdir for checking for prof libs,
avoiding collisions with other ghcX.Y-*-prof files:

Processing files: ghc-doctemplates-prof-0.9-7.fc37.x86_64
/usr/lib/rpm/ghc-deps.sh: line 60: [: too many arguments
/usr/lib/rpm/ghc-deps.sh: line 60: [: too many arguments
/usr/lib/rpm/ghc-deps.sh: line 60: [: too many arguments
2022-06-10 14:36:23 +08:00
Jens Petersen
6bd7262956 ghc-deps.sh: also match 'rts' if first, last, or only output 2022-01-05 15:13:52 +08:00
Jens Petersen
bff7a5f6ac ghc-deps.sh: fix the rts deps erasure cleanly
was breaking ghc-ghci-devel deps:
ghc*-devel(ghc-heap-8.10.7template-haskell-2.16.0.0)
for non-Hadrian
2022-01-05 14:48:15 +08:00
Jens Petersen
9e7ffdac88 ghc-deps.sh: only exclude unversioned rts.conf
- Hadrian's rts.conf is versioned
- bin-package-db disappeared in ghc7

This change prevents:
nothing provides ghc-9.2.1-devel(ghc-prim-0.8.0-1.0.2) needed by ghc9.2-base-devel-4.16.0.0-2.fc36.x86_64
2021-12-20 14:23:29 +08:00
Jens Petersen
5136c98a2f fix Hadrian ghc dependency generation 2021-12-20 01:36:16 +08:00
Jens Petersen
ac98514a64 use ghcliblib/ghclibplatform paths for Hadrian dependency generation 2021-12-19 01:19:56 +08:00
Jens Petersen
b3062773f5 for ghcMAJOR generate ghc-VERSION-devel(pkg-ver-hash) metadata
also fix lowercase typo of PKGCONFDIR which just happened to work by glob
2021-12-09 11:54:32 +08:00
Jens Petersen
78bda0dce5 ghc-deps.sh: be careful when filtering out rts (#1873687) 2020-08-29 15:37:00 +08:00
Jens Petersen
1f6b86fa4b ghc-deps.sh: ignore internal libraries (#1822444) 2020-05-10 21:49:27 +08:00
Jens Petersen
640d44dbc6 ghc-deps.sh: fix prof deps for subpackages 2020-02-10 18:54:19 +08:00
Jens Petersen
bf725e3e8b fix ghc-deps.sh generation of prof deps
broken in 2.0.3 - now should correctly glob for installed prof libs
2019-08-27 16:45:37 +03:00
Jens Petersen
8532ad674a ghc-deps.sh: only depend on ghc-prof(pkgid) if libHS*_p.a exists
testcase: haskell-gi-overloading dummy package
2019-08-10 22:46:33 +02:00
Jens Petersen
25cfe11f3d fix deps generation for devel package.conf and prof libHS*_p.a 2019-07-31 10:05:10 +00:00
Jens Petersen
e046298ce0 update deps generation for prof subpackages 2019-07-31 10:05:10 +00: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
7855aaa8f1 ghc-pkg < 8 only accepts pkg-ver not pkg-ver-id_hash 2017-03-26 20:12:10 +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
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
b7996800fb ghc-deps.sh: use GHC_PKG 2016-10-12 19:22:07 +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
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
0c236fe8e5 fix ghc-deps.sh for ghc builds: use .a files again instead of .conf
- .conf handling broke since ghc .conf filenames include hash
- now extract pkg-ver from filename rather than dir (for 7.10 support)
- ignore prof libs
2015-03-23 17:49:30 +09:00
Jens Petersen
ab3cb96b9e hopefully fix %__ghc_lib_path for package .conf 2015-03-02 16:19:39 +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
87f872d02b ghc-deps.sh: also support ghc-pkg for ghc build before 7.6
Now test for "%buildroot%_bindir/ghc-pkg-$GHC_VER" and if it exists it means
we are doing a ghc build and then condition on GHC_VER to set GHC_PKG.
Otherwise just use %_bindir/ghc-pkg-$GHC_VER as usual.

There are 3 cases: 7.8, 7.6, and earlier.
2014-10-23 15:48:27 +09:00
Jens Petersen
d02dbabc22 add ghc.attr for running ghc-deps.sh and use internal rpm dep generator
- update test-rebuild.sh to f22 for master
2014-08-21 15:34:31 +09:00
Jens Petersen
e4c93cb77e set datasubdir in cabal_configure for ghc-7.8
pkg datadir should not be arch dependent!
2014-02-10 18:36:05 +09:00
Jens Petersen
795c0c522b ghc-deps.sh: fix ghc-pkg path when bootstrapping new ghc version
ghc-7.7 has bin subdir
2013-09-10 12:42:26 +09:00
Jens Petersen
0cd6abba00 fix ghc-deps.sh when bootstrapping a new ghc version
ie do not assume bindir/ghc is the same ghc version just built
2013-09-09 23:17:35 +09:00
Jens Petersen
db486c2fbb use objdump -p instead of ldd to read executable dependencies
hopefully more robust against ghc-7.7's relocatable dynamic linking
2013-09-09 22:55:47 +09:00
Jens Petersen
a2f7c2b71a update ghc-deps.sh for rts changes as of ghc-7.7.20130828
ghc-7.8 rts now lives in its own subdir
2013-09-07 22:08:03 +09:00
Jens Petersen
6910d07de7 for ghc-7.6 use --global-package-db and --no-user-package-db 2013-04-23 20:09:58 +09:00
Jens Petersen
a23376405b fix broken duplicate hash output for haskell-platform binaries when locally installed 2012-09-19 20:00:54 +09:00
Jens Petersen
8e22621418 ghc-dep.sh: only use buildroot package.conf.d if it exists 2012-06-09 22:00:32 +09:00
Jens Petersen
1b8536abf1 ghc-deps.sh: look in buildroot package.conf.d for program deps 2012-06-08 14:00:43 +09:00
Jens Petersen
7ffdbdc6d5 change of rpm metadata hash format for new ghc-7.4
- drop prof meta hash data
- no longer include doc files automatically by default
- no longer provide doc subpackage
- do not provide prof when without_prof set
2012-03-21 17:41:59 +09:00
Jens Petersen
0b163b3d06 add ghc_bootstrapping to ghc_bootstrap; fix ghc-deps.sh when bootstrapping 2011-10-18 17:43:47 +09:00
Jens Petersen
c81c65671b ghc-deps.sh: fix ghclibdir path documentation 2011-05-09 13:59:58 +09:00
Jens Petersen
8af86b797a drop ghc_pkg_deps from ghc_package_devel and ghc_package_prof 2011-05-08 23:09:07 +09:00
Jens Petersen
cd30bb3547 check PKGBASEDIR, ghc bootstrapping, ghc_reindex_haddock nop, drop ghc-*-doc provides
- ghc-deps.sh: check PKGBASEDIR exists to avoid warning for bin package
- abort cabal_configure if ghc is not self-bootstrapped
- make ghc_reindex_haddock a safe no-op
- no longer provide ghc-*-doc
- no longer run ghc_reindex_haddock in ghc-*-devel scripts
2011-03-28 15:57:59 +09:00
Jens Petersen
1f4312aeaa fix ghc-deps.sh for without_shared libraries 2011-02-10 22:11:02 +10:00
Jens Petersen
a1abcaaa78 add rpm hash requires for dynamic executables in ghc-deps.sh
- compile Setup in cabal macro
- use _rpmconfigdir
2011-01-23 15:05:38 +10:00
Jens Petersen
2f1663e620 ignore ghc's builtin pseudo-libs 2010-11-23 23:48:16 +10:00
Jens Petersen
7232a81da9 implement rpm ghc-pkg hash metadata for precise automatic library dependency tracking
- add buildroot/ghcpkgbasedir to ghc-deps.sh args
- calculate package and metadata by checking all library files in stdin
- prof depends on devel, devel on base
- update macros.ghc:
  -  rename ghc_requires to ghc_devel_requires
  - drop ghc_doc_requires
  - ghc_reindex_haddock is deprecated and now a no-op
2010-11-23 15:01:27 +10:00
Jens Petersen
742ca58b86 add ghc-deps.sh for hash rpm metadata and add ghc_pkg_obsoletes
- add ghc-deps.sh for ghc package hash rpm metadata provides and requires
- turn on hash provides and disable debuginfo by default
- make shared and hscolour default
- use without_shared and without_hscolour to disble them
- add ghc_pkg_obsoletes for obsoleting old packages
- use ghcpkgbasedir
- always obsolete -doc packages, but keep -o for now for backward compatibility
2010-09-30 12:21:16 +10:00