diff options
Diffstat (limited to 'repo/cabal')
-rw-r--r-- | repo/cabal/cabal.project.freeze | 68 | ||||
-rw-r--r-- | repo/cabal/cabal.xibuild | 60 |
2 files changed, 128 insertions, 0 deletions
diff --git a/repo/cabal/cabal.project.freeze b/repo/cabal/cabal.project.freeze new file mode 100644 index 0000000..f4c0bd7 --- /dev/null +++ b/repo/cabal/cabal.project.freeze @@ -0,0 +1,68 @@ +active-repositories: hackage.haskell.org:merge +constraints: any.Cabal ==3.8.1.0, + any.Cabal-syntax ==3.8.1.0, + any.HTTP ==4000.4.1, + HTTP -conduit10 +network-uri -warn-as-error -warp-tests, + any.array ==0.5.4.0, + any.async ==2.2.4, + async -bench, + any.base ==4.15.1.0, + any.base-orphans ==0.8.7, + any.base16-bytestring ==1.0.2.0, + any.base64-bytestring ==1.2.1.0, + any.binary ==0.8.8.0, + any.bytestring ==0.10.12.1, + cabal-install +lukko +native-dns, + any.cabal-install-solver ==3.8.1.0, + cabal-install-solver -debug-conflict-sets -debug-expensive-assertions -debug-tracetree, + any.containers ==0.6.4.1, + any.cryptohash-sha256 ==0.11.102.1, + cryptohash-sha256 -exe +use-cbits, + any.deepseq ==1.4.5.0, + any.directory ==1.3.6.2, + any.echo ==0.1.4, + echo -example, + any.ed25519 ==0.0.5.0, + ed25519 +no-donna +test-doctests +test-hlint +test-properties, + any.edit-distance ==0.2.2.1, + any.exceptions ==0.10.4, + any.filepath ==1.4.2.1, + any.ghc-bignum ==1.1, + any.ghc-boot-th ==9.0.2, + any.ghc-prim ==0.7.0, + any.hackage-security ==0.6.2.2, + hackage-security +base48 -cabal-syntax +lukko -mtl21 -old-directory +use-network-uri, + any.hashable ==1.4.1.0, + hashable +containers +integer-gmp -random-initial-seed, + any.hsc2hs ==0.68.8, + hsc2hs -in-ghc-tree, + any.lukko ==0.1.1.3, + lukko +ofd-locking, + any.mtl ==2.2.2, + any.network ==3.1.2.7, + network -devel, + any.network-uri ==2.6.4.1, + any.parsec ==3.1.14.0, + any.pretty ==1.1.3.6, + any.process ==1.6.15.0, + any.random ==1.2.1.1, + any.regex-base ==0.94.0.2, + any.regex-posix ==0.96.0.1, + regex-posix -_regex-posix-clib, + any.resolv ==0.1.2.0, + any.rts ==1.0.2, + any.safe-exceptions ==0.1.7.3, + any.splitmix ==0.1.0.4, + splitmix -optimised-mixer, + any.stm ==2.5.0.0, + any.tar ==0.5.1.1, + tar -old-bytestring -old-time, + any.template-haskell ==2.17.0.0, + any.text ==1.2.5.0, + any.th-compat ==0.1.4, + any.time ==1.9.3, + any.transformers ==0.5.6.2, + any.unix ==2.7.2.2, + any.zlib ==0.6.3.0, + zlib -bundled-c-zlib -non-blocking-ffi -pkg-config +index-state: hackage.haskell.org 2022-08-16T18:13:49Z diff --git a/repo/cabal/cabal.xibuild b/repo/cabal/cabal.xibuild new file mode 100644 index 0000000..64bcd18 --- /dev/null +++ b/repo/cabal/cabal.xibuild @@ -0,0 +1,60 @@ +#!/bin/sh + +NAME="cabal" +DESC="The Haskell Cabal" + +MAKEDEPS="ghc gmp libffi zlib cabal-bootstrap" + +PKG_VER=3.8.1.0 +SOURCE="https://hackage.haskell.org/package/cabal-install-$PKG_VER/cabal-install-$PKG_VER.tar.gz" + +ADDITIONAL=" +cabal.project.freeze +" + +cabal_update() { + cd $BUILD_ROOT + # Build a freeze file to make the build reproducible. + # This freeze file is stored in $source and thus tracked in Git. + HOME="$_cabal_home" cabal v2-update --allow-newer + ( + cd "$BUILD_ROOT" + HOME="$_cabal_home" cabal v2-freeze \ + --allow-newer --shadow-installed-packages + mv cabal.project.freeze "$startdir/" + ) +} + +prepare() { + apply_patches + ln -sf "$BUILD_ROOT/cabal.project.freeze" \ + "$BUILD_ROOT/cabal.project.freeze" +} + +build() { + HOME="$_cabal_home" cabal v2-update + HOME="$_cabal_home" cabal v2-build all \ + --allow-newer \ + --jobs=${JOBS:-1} \ + --prefix=/usr \ + --docdir=/usr/share/doc/cabal \ + --sysconfdir=/etc +} + +package() { + # With v2- cabal no longer wants us to separate v2-build and + # v2-install, however, we don't want to build everything in a + # fakeroot. We work around this by copying binaries build in the + # previous step manually. + # + # See https://github.com/haskell/cabal/issues/6919#issuecomment-761563498 + HOME="$_cabal_home" cabal list-bin --allow-newer all:exes | \ + xargs install -Dm755 -t "$PKG_DEST"/usr/bin + + mkdir -p "$PKG_DEST"/usr/share/man/man1 + HOME="$_cabal_home" cabal man --raw \ + > "$PKG_DEST"/usr/share/man/man1/cabal.1 + + install -Dm644 LICENSE "$PKG_DEST/usr/share/licenses/cabal/LICENSE" +} + |