summaryrefslogtreecommitdiff
path: root/eclass/haskell-cabal.eclass
AgeCommit message (Collapse)Author
2025-05-15haskell-cabal.eclass: Add early check for invalid GHC cachehololeap
If the GHC cache is invalid, it can create a confusing error during src_compile. Add a check in haskell-cabal-pkg_setup that checks for and fixes an invalid cache. Closes: https://bugs.gentoo.org/916785 Closes: https://bugs.gentoo.org/916971 Closes: https://bugs.gentoo.org/920879 Closes: https://github.com/gentoo-haskell/gentoo-haskell/issues/1469 Thanks-to: Tom Gillespie <tgbugs@gmail.com> Signed-off-by: hololeap <hololeap@protonmail.com> Part-of: https://github.com/gentoo/gentoo/pull/41562 Closes: https://github.com/gentoo/gentoo/pull/41562 Signed-off-by: Arsen Arsenović <arsen@gentoo.org>
2025-05-15haskell-cabal.eclass: Output ghc version in src_configurehololeap
This will provide valuable ghc version info in build logs Signed-off-by: hololeap <hololeap@protonmail.com> Part-of: https://github.com/gentoo/gentoo/pull/41562 Signed-off-by: Arsen Arsenović <arsen@gentoo.org>
2025-04-23haskell-cabal.eclass: use 'QA Notice:' prefix in eqawarnSam James
This makes life easier for tinderboxes, but we should improve this in some future EAPI. Signed-off-by: Sam James <sam@gentoo.org>
2023-12-11haskell-cabal.eclass: Fix typosUlrich Müller
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
2023-12-11haskell-cabal.eclass: Drop support for EAPI 6Ulrich Müller
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
2023-11-19haskell-cabal.eclass: Fix default_exposed_pkgshololeap
The array package has been available via dev-lang/ghc for years but was not included as a default for GHC_BOOTSTRAP_PKGS. This adds 'array' to default_exposed_pkgs. Signed-off-by: hololeap <hololeap@protonmail.com> Signed-off-by: Sam James <sam@gentoo.org>
2023-10-23haskell-cabal.eclass: Sync from ::haskellhololeap
Signed-off-by: hololeap <hololeap@protonmail.com> Signed-off-by: Sam James <sam@gentoo.org>
2023-03-26haskell-cabal.eclass: fix spellingSam James
Thanks to codespell. Signed-off-by: Sam James <sam@gentoo.org> Signed-off-by: Ulrich Müller <ulm@gentoo.org>
2023-03-26haskell-cabal.eclass: Quote argument of ":" commandUlrich Müller
This avoids globbing, see: https://www.shellcheck.net/wiki/SC2223 Signed-off-by: Ulrich Müller <ulm@gentoo.org>
2023-03-17eclass: standardize prologue/epilogueDavid Seifert
Closes: https://github.com/gentoo/gentoo/pull/30061 Signed-off-by: David Seifert <soap@gentoo.org>
2023-01-06haskell-cabal.eclass: add time to default_exposed_pkgsFlorian Schmaus
Add time to default list of exposed packages, as it is bundled with GHC. This pulls in the eclass change from ::haskell [1], as suggested by hololeap. 1: https://github.com/gentoo-haskell/gentoo-haskell/commit/ad4015edfc83519a639ddef4fa542a109798d888 Signed-off-by: Florian Schmaus <flow@gentoo.org>
2022-09-15haskell-cabal.eclass: synchronize with gentoo-haskell overlayMiezhiko
Closes: https://github.com/gentoo/gentoo/pull/27252 Signed-off-by: Sam James <sam@gentoo.org>
2022-09-12haskell-cabal.eclass: fix UnquotedVariable of EPREFIXArthur Zamarin
Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
2022-09-03haskell-cabal.eclass: fix egrep resurgenceSam James
Thanks to ionen for spotting. Fixes: acecfa43882156c2e00e6babae105289e4d29675 See: 35f856adc153ee2697e71a280f80613ad3dedb20 Signed-off-by: Sam James <sam@gentoo.org>
2022-07-23haskell-cabal.eclass: sync from ::haskellJack Todaro
The eclass has a number of additions and some changes which allow for automated revision handling from hackage.haskell.org packages. For those that are unaware, Hackage trustees as well as package authors are able to make limited changes to a package's build file (the .cabal file) on the Hackage package index. These changes are mostly to do with either loosening upper bounds on dependency version ranges, or adding them in when a new package version causes other packages to silently break. See the PVP for more information on Haskell versioning, if need be. A hackage revision does _not_ affect the tarball. Instead, the revised .cabal file sits atop the tarball and is used by tools like cabal-install to reset the dependency version bounds at build time. hackport, the tool we use to automate writing new ebuilds and bumping package versions, always brought in the revised .cabal file if it existed, as under the hood it is using the exact same Cabal and cabal-install libraries to navigate the Hackage package index. However, it did not patch the .cabal file in the tarball, which Portage uses for building. As such, it could be the case that RDEPENDs and the underlying dependencies in the .cabal file would not match up, and src_configure could fail due to 'missing dependencies'. hackport HEAD, in conjunction with this eclass change, automatically handles replacing the underlying .cabal file with the latest revised one from the Hackage index - and this is now all visible to the developer. As such, this eclass change in conjunction with the newer hackport reduces silent breakages. Signed-off-by: Jack Todaro <solpeth@posteo.org> Signed-off-by: Sam James <sam@gentoo.org>
2022-05-20haskell-cabal.eclass: Update function callUlrich Müller
ghc-extractportageversion was renamed to ghc-extract-pm-version. Bug: https://bugs.gentoo.org/843713 Signed-off-by: Ulrich Müller <ulm@gentoo.org>
2022-05-16haskell-cabal.eclass: egrep -> grep -ESam James
Deprecated for a while but newer grep emits deprecation warnings. Signed-off-by: Sam James <sam@gentoo.org>
2022-03-24*.eclass: @ECLASS-VARIABLE renamed to @ECLASS_VARIABLEUlrich Müller
Bug: https://bugs.gentoo.org/835396 Signed-off-by: Ulrich Müller <ulm@gentoo.org>
2021-09-11haskell-cabal.eclass: Set @PROVIDESMichał Górny
Signed-off-by: Michał Górny <mgorny@gentoo.org>
2021-07-12haskell-cabal.eclass: Fix eclass documentationUlrich Müller
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
2021-07-10haskell-cabal.eclass: unify error message for unsupported EAPISergei Trofimovich
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
2021-07-10haskell-cabal.eclass: allow EAPI=8Sergei Trofimovich
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
2021-07-10haskell-cabal.eclass: drop EAPI={0..5} supportSergei Trofimovich
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
2021-07-05haskell-cabal.eclass: add SUPPORTED_EAPIS {0..7} annotationSergei Trofimovich
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
2021-03-31haskell-cabal.eclass: mark various CABAL_EXTRA_* as @USER_VARIABLESam James
Signed-off-by: Sam James <sam@gentoo.org>
2021-01-30haskell-cabal.eclass: add CABAL_EXTRA_*_FLAGS for haddockhololeap
Add functionality to append arguments to `./setup haddock` and `./setup hscolour`. This also merited cleanup of some relevant chunks of code. This adds the eclass variables: - CABAL_EXTRA_HADDOCK_FLAGS - CABAL_EXTRA_HOOGLE_FLAGS - CABAL_ExTRA_HSCOLOUR_FLAGS Signed-off-by: hololeap <hololeap@gmail.com> Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
2021-01-30haskell-cabal.eclass: add CABAL_FEATURE=rebuild-after-doc-workaroundWolfgang E. Sanyer
This is added as a temporary workaround until [this upstream][1] issue can be closed out [1]: https://github.com/haskell/cabal/issues/7213 Signed-off-by: Wolfgang E. Sanyer <WolfgangESanyer@gmail.com> Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
2021-01-30haskell-cabal.eclass: filter out -flto|-flto=* flagsSergei Trofimovich
`ghc` uses partial linking to glue together object files produced by `gcc` and `ghc`. In case of -flto* flags we have a chance to mix IR section incorrectly due to ld deficiency: https://sourceware.org/PR12291 Let's filter out -flto-related flags until binutils is ready. Reported-by: matoro Closes: https://github.com/gentoo-haskell/gentoo-haskell/issues/1110 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
2020-12-20haskell-cabal.eclass: unconditionally use bundled haddock for USE=docSergei Trofimovich
Reported-by: Toralf Förster Bug: https://bugs.gentoo.org/760863#c10 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
2019-12-11haskell-cabal.eclass: Fix MissingTestRestrictMichał Górny
This fixes 564 cases of MissingTestRestrict. According to md5-cache inspection, no other changes in metadata occur. Signed-off-by: Michał Górny <mgorny@gentoo.org> Closes: https://github.com/gentoo/gentoo/pull/13945 Signed-off-by: Michał Górny <mgorny@gentoo.org>
2019-12-07haskell-cabal.eclass: add a variable to disable verbose build failuresSergei Trofimovich
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
2019-12-07haskell-cabal.eclass: pass _EXTRA variables after "$@".Sergei Trofimovich
That way user's override has highest precedence. Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
2018-11-11eclass: update haskell-cabal.eclass for EAPI 7, sync with ::haskellJack Todaro
Signed-off-by: Jack Todaro <jackmtodaro@gmail.com> Closes: https://github.com/gentoo/gentoo/pull/10390 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
2017-02-28Drop $Id$ per council decision in bug #611234.Robin H. Johnson
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
2016-12-22haskell-cabal.eclass: respect AR optionSergei Trofimovich
That allows us to build not-so-broken static libraries for LTO users. Tuhs usually have environment like: CFLAGS=-flto AR=${CHOST}-gcc-ar Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
2016-09-13haskell-cabal.eclass: drop unused CABAL_FEATURES="alex happy c2hs cpphs"Sergei Trofimovich
While at it: - dropped internal 'ghc-sanecabal()' helper - factored out parallelism setup to new 'ghc-make-args()' function - building initial Setup binary now also uses 'ghc-make-args()' - dropped unused CABAL_MIN_VERSION global variable Fixed bug in 'ghc-make-args()' to work on NOSMP ports of GHC: We use 'qb0' to enable parallel GC. Parallel GC requires SMP support and threaded runtime. Reported by iota__ on arm/ghc-8 where there is support for parallel make but not the SMP support: ,("Host platform","arm-unknown-linux") ,("Support SMP","NO") ,("Support parallel --make","YES") ,("RTS ways","l debug thr... Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
2016-09-02haskell-cabal.eclass: unleash full parallelism of parallel ghcSergei Trofimovich
I've explored scalability of 'ghc --make -j' a bit in https://ghc.haskell.org/trac/ghc/ticket/9221 Some takeaways: - never specify -j<N> with N > CPU. garbage collector threads waste kernel time running sched_yield() - GHC allocates A Lot: large nursery decreases GC interruptions. We fix it with '-A256M' - for large nursery enabling work-stealing makes GC finish faster on each collection cycle. We fix it with -qb0 While at it move HCFLAGS setup after parallel defaults. That allows user to override defaults with own HCFLAGS. Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
2016-07-26ghc-package.eclass, haskell-cabal.eclass: remove ghc-host-root.Benda Xu
Bug: 534194
2016-06-01haskell-cabal.eclass: drop IUSE=hoogleSergei Trofimovich
commit 2db4176c329e5e99e68f47dcb058c55d434bb64e accidentally exposed IUSE=hoogle to ::gentoo. It's meant to be used only in ::haskell. The patch reverts accidental change back. Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
2016-05-31haskell-cabal.eclass: add basic support for ROOT!=/, bug #534194Sergei Trofimovich
Reported-by: Dennis Schridde Bug: https://bugs.gentoo.org/534194 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
2016-03-25haskell-cabal.eclass: allow EAPI=6, add trivial Setup.hs autogenerationSergei Trofimovich
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
2015-10-24haskell-cabal.eclass: add missing '|| die' on pushd/popdJulian Ospald
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
2015-09-21haskell-cabal.eclass: don't require haddock on ghc-7.10Sergei Trofimovich
While at it update default Cabal stub Setup code. Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
2015-08-08proj/gentoo: Initial commitRobin H. Johnson
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed