parent
75294d3203
commit
2d2bfd1d4a
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,3 +1,2 @@
|
||||
DIST dar-2.7.5.tar.gz 2404076 BLAKE2B 2887629cecf069cfb5063132299279b8be985785485c6f04a8389dfd4930f00b073b421fbb17915d69f5efd46ebb4c3d371c10d3936bfb16d82a191218af350d SHA512 a4e01dce8a078ba81b3032a1910d75f0f59a23511246f570a50ade135f49f11e522ed8916a947aece1799dcd1d37308ba6e4a009313b80d6a1561698c3d5623a
|
||||
DIST dar-2.7.6.tar.gz 2410200 BLAKE2B 925b4854c66fec9287e0f42d213f94f208b5248d09eb6abe4e36a41df1fc57641d7a6b41e1f8aaa202e6f74ad04399c70a8cb74dc63685985a5671ba54efdf93 SHA512 517fa06a5b8caa53ad111e4287446583f328ee2027169db067610877e05291e63179c1bdd92312a6885d1c7eba0566a86301e974d1d48df56f0fce9ccfdb3a19
|
||||
DIST dar-2.7.7.tar.gz 2410835 BLAKE2B c2b1cff205a7af0b714808bbb952677ffdfa8d62289d412e4e3056db16f5c204a2eecc8f770ff57d18839218ff1babcb5c56c9729e03316d698a351dacf47e25 SHA512 984328cff1ed3338707858aced83a6a18e950581f02dd686a2a01668f6c374d0af2d98ba49068a61624641fcfbb139ae893d02e5b5f303b8b26d8e05fcb6a229
|
||||
|
@ -1,91 +0,0 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit flag-o-matic
|
||||
|
||||
DESCRIPTION="A full featured backup tool, aimed for disks"
|
||||
HOMEPAGE="http://dar.linux.free.fr/"
|
||||
SRC_URI="mirror://sourceforge/dar/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2+"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 ppc sparc x86 ~amd64-linux"
|
||||
IUSE="argon2 curl dar32 dar64 doc gcrypt gpg lz4 lzo nls rsync threads xattr"
|
||||
|
||||
REQUIRED_USE="?? ( dar32 dar64 )
|
||||
gpg? ( gcrypt )"
|
||||
|
||||
RESTRICT="test" # need to be run as root
|
||||
|
||||
RDEPEND="
|
||||
app-arch/bzip2:=
|
||||
app-arch/xz-utils
|
||||
app-arch/zstd:=
|
||||
sys-libs/libcap
|
||||
>=sys-libs/zlib-1.2.3:=
|
||||
argon2? ( app-crypt/argon2:= )
|
||||
curl? ( net-misc/curl )
|
||||
gcrypt? (
|
||||
dev-libs/libgcrypt:0=
|
||||
dev-libs/libgpg-error
|
||||
)
|
||||
gpg? ( app-crypt/gpgme:= )
|
||||
lz4? ( app-arch/lz4:= )
|
||||
lzo? ( dev-libs/lzo:2 )
|
||||
nls? ( virtual/libintl )
|
||||
rsync? ( net-libs/librsync:= )
|
||||
threads? ( dev-libs/libthreadar )
|
||||
xattr? ( sys-apps/attr )
|
||||
"
|
||||
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
BDEPEND="
|
||||
doc? ( app-doc/doxygen )
|
||||
nls? ( sys-devel/gettext )
|
||||
"
|
||||
|
||||
src_configure() {
|
||||
# configure.ac is totally funked up regarding the AC_ARG_ENABLE
|
||||
# logic.
|
||||
# For example "--enable-dar-static" causes configure to DISABLE
|
||||
# static builds of dar.
|
||||
# Do _not_ use $(use_enable) until you have verified that the
|
||||
# logic has been fixed by upstream.
|
||||
local myconf=(
|
||||
--disable-dar-static
|
||||
--disable-python-binding
|
||||
--disable-upx
|
||||
$(usev !argon2 --disable-libargon2-linking)
|
||||
$(usev !curl --disable-libcurl-linking)
|
||||
$(usev dar32 --enable-mode=32)
|
||||
$(usev dar64 --enable-mode=64)
|
||||
$(usev !doc --disable-build-html)
|
||||
$(usev !gcrypt --disable-libgcrypt-linking)
|
||||
$(usev !gpg --disable-gpgme-linking)
|
||||
$(usev !lz4 --disable-liblz4-linking)
|
||||
$(usev !lzo --disable-liblzo2-linking)
|
||||
$(usev !nls --disable-nls)
|
||||
$(usev !rsync --disable-librsync-linking)
|
||||
$(usev !threads --disable-threadar)
|
||||
$(usev !xattr --disable-ea-support)
|
||||
)
|
||||
|
||||
# Bug 103741
|
||||
filter-flags -fomit-frame-pointer
|
||||
|
||||
econf "${myconf[@]}"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake DESTDIR="${D}" pkgdatadir="${EPREFIX}"/usr/share/doc/${PF}/html install
|
||||
|
||||
einstalldocs
|
||||
|
||||
find "${ED}" -name "*.la" -delete || die
|
||||
|
||||
# Bug 729150
|
||||
rm "${ED}/usr/share/doc/${PF}/html/samples/MyBackup.sh.tar.gz" || die
|
||||
}
|
@ -1,200 +0,0 @@
|
||||
_snapper()
|
||||
{
|
||||
local configdir="/etc/snapper/configs"
|
||||
local cur prev words cword
|
||||
_init_completion || return
|
||||
|
||||
local GLOGAL_SNAPPER_OPTIONS='
|
||||
-q --quiet
|
||||
-v --verbose
|
||||
--utc
|
||||
--iso
|
||||
-t --table-style
|
||||
-c --config
|
||||
-r --root
|
||||
--no-dbus
|
||||
--version
|
||||
--help
|
||||
'
|
||||
|
||||
# see if the user selected a command already
|
||||
local COMMANDS=(
|
||||
"list-configs" "create-config" "delete-config" "set-config"
|
||||
"list" "ls"
|
||||
"create" "modify" "delete" "remove" "rm"
|
||||
"mount" "umount"
|
||||
"status" "diff" "xadiff"
|
||||
"undochange" "rollback"
|
||||
"setup-quota"
|
||||
"cleanup")
|
||||
|
||||
local command i
|
||||
for (( i=0; i < ${#words[@]}-1; i++ )); do
|
||||
if [[ ${COMMANDS[@]} =~ ${words[i]} ]]; then
|
||||
command=${words[i]}
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
case $prev in
|
||||
--version|--help)
|
||||
return 0
|
||||
;;
|
||||
esac
|
||||
|
||||
# supported options per command
|
||||
if [[ "$cur" == -* ]]; then
|
||||
case $command in
|
||||
create-config)
|
||||
COMPREPLY=( $( compgen -W '--fstype -f
|
||||
--templete -t' -- "$cur" ) )
|
||||
return 0
|
||||
;;
|
||||
list|ls)
|
||||
COMPREPLY=( $( compgen -W '--type -t
|
||||
--all-configs -a' -- "$cur" ) )
|
||||
return 0
|
||||
;;
|
||||
create)
|
||||
COMPREPLY=( $( compgen -W '--type -t
|
||||
--pre-number
|
||||
--print-number -p
|
||||
--description -d
|
||||
--cleanup-algorithm -c
|
||||
--userdata -u
|
||||
--command' -- "$cur" ) )
|
||||
return 0
|
||||
;;
|
||||
modify)
|
||||
COMPREPLY=( $( compgen -W '--description -d
|
||||
--cleanup-algorithm -c
|
||||
--userdata -u' -- "$cur" ) )
|
||||
return 0
|
||||
;;
|
||||
delete|remove|rm)
|
||||
COMPREPLY=( $( compgen -W '--sync -s
|
||||
' -- "$cur" ) )
|
||||
return 0
|
||||
;;
|
||||
status)
|
||||
COMPREPLY=( $( compgen -W '--output -o
|
||||
' -- "$cur" ) )
|
||||
return 0
|
||||
;;
|
||||
diff)
|
||||
COMPREPLY=( $( compgen -W '--input -i
|
||||
--diff-cmd
|
||||
--extensions -x' -- "$cur" ) )
|
||||
return 0
|
||||
;;
|
||||
undochange)
|
||||
COMPREPLY=( $( compgen -W '--input -i
|
||||
' -- "$cur" ) )
|
||||
return 0
|
||||
;;
|
||||
rollback)
|
||||
COMPREPLY=( $( compgen -W '--print-number -p
|
||||
--description -d
|
||||
--cleanup-algorithm -c
|
||||
--userdata -u' -- "$cur" ) )
|
||||
return 0
|
||||
;;
|
||||
*)
|
||||
COMPREPLY=( $( compgen -W "$GLOGAL_SNAPPER_OPTIONS" -- "$cur" ) )
|
||||
return 0
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
# specific command arguments
|
||||
if [[ -n $command ]]; then
|
||||
case $command in
|
||||
create-config)
|
||||
case "$prev" in
|
||||
--fstype|-f)
|
||||
COMPREPLY=( $( compgen -W 'btrfs ext4 lvm(xfs) lvm(ext4)
|
||||
' -- "$cur" ) )
|
||||
;;
|
||||
esac
|
||||
return 0
|
||||
;;
|
||||
list)
|
||||
case "$prev" in
|
||||
--type|-t)
|
||||
COMPREPLY=( $( compgen -W 'all single pre-post
|
||||
' -- "$cur" ) )
|
||||
;;
|
||||
esac
|
||||
return 0
|
||||
;;
|
||||
create)
|
||||
case "$prev" in
|
||||
--type|-t)
|
||||
COMPREPLY=( $( compgen -W 'single pre post
|
||||
' -- "$cur" ) )
|
||||
;;
|
||||
--pre-number)
|
||||
COMPREPLY=( $( compgen -W '
|
||||
' -- "$cur" ) )
|
||||
;;
|
||||
--cleanup-algorithm|-c)
|
||||
COMPREPLY=( $( compgen -W 'empty-pre-post timeline number
|
||||
' -- "$cur" ) )
|
||||
;;
|
||||
esac
|
||||
return 0
|
||||
;;
|
||||
modify)
|
||||
case "$prev" in
|
||||
--cleanup-algorithm|-c)
|
||||
COMPREPLY=( $( compgen -W 'empty-pre-post timeline number
|
||||
' -- "$cur" ) )
|
||||
;;
|
||||
esac
|
||||
return 0
|
||||
;;
|
||||
status)
|
||||
case "$prev" in
|
||||
--output|-o)
|
||||
COMPREPLY=( $( compgen -f -- "$cur" ) )
|
||||
;;
|
||||
esac
|
||||
return 0
|
||||
;;
|
||||
cleanup)
|
||||
case "$prev" in
|
||||
empty-pre-post|timeline|number)
|
||||
;;
|
||||
*)
|
||||
COMPREPLY=( $( compgen -W 'empty-pre-post timeline number
|
||||
' -- "$cur" ) )
|
||||
;;
|
||||
esac
|
||||
return 0
|
||||
;;
|
||||
diff)
|
||||
return 0
|
||||
;;
|
||||
undochange)
|
||||
return 0
|
||||
;;
|
||||
rollback)
|
||||
case "$prev" in
|
||||
--cleanup-algorithm|-c)
|
||||
COMPREPLY=( $( compgen -W 'empty-pre-post timeline number
|
||||
' -- "$cur" ) )
|
||||
;;
|
||||
esac
|
||||
return 0
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
# no command yet, show what commands we have
|
||||
if [ "$command" = "" ]; then
|
||||
COMPREPLY=( $( compgen -W '${COMMANDS[@]} ${GLOGAL_SNAPPER_OPTIONS[@]}' -- "$cur" ) )
|
||||
fi
|
||||
|
||||
return 0
|
||||
} &&
|
||||
complete -F _snapper snapper
|
Binary file not shown.
@ -0,0 +1,85 @@
|
||||
# Copyright 2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
GIT_REVISION=9cd3357b7fd7218e4aec3eae239db1f68a5a6ec6
|
||||
inherit go-module systemd
|
||||
|
||||
DESCRIPTION="A daemon to control runC"
|
||||
HOMEPAGE="https://containerd.io/"
|
||||
SRC_URI="https://github.com/containerd/containerd/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
SRC_URI+=" https://dev.gentoo.org/~williamh/dist/${P}-deps.tar.xz"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv ~x86"
|
||||
IUSE="apparmor btrfs device-mapper +cri hardened +seccomp selinux test"
|
||||
|
||||
DEPEND="
|
||||
btrfs? ( sys-fs/btrfs-progs )
|
||||
seccomp? ( sys-libs/libseccomp )
|
||||
"
|
||||
|
||||
# recommended version of runc is found in script/setup/runc-version
|
||||
RDEPEND="
|
||||
${DEPEND}
|
||||
~app-containers/runc-1.1.3
|
||||
"
|
||||
|
||||
BDEPEND="
|
||||
dev-go/go-md2man
|
||||
virtual/pkgconfig
|
||||
"
|
||||
|
||||
# tests require root or docker
|
||||
# upstream does not recommend stripping binary
|
||||
RESTRICT+=" strip test"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
sed -i \
|
||||
-e "s/-s -w//" \
|
||||
Makefile || die
|
||||
sed -i \
|
||||
-e "s:/usr/local:/usr:" \
|
||||
containerd.service || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
local options=(
|
||||
$(usev apparmor)
|
||||
$(usex btrfs "" "no_btrfs")
|
||||
$(usex cri "" "no_cri")
|
||||
$(usex device-mapper "" "no_devmapper")
|
||||
$(usev seccomp)
|
||||
$(usev selinux)
|
||||
)
|
||||
|
||||
myemakeargs=(
|
||||
BUILDTAGS="${options[*]}"
|
||||
LDFLAGS="$(usex hardened '-extldflags -fno-PIC' '')"
|
||||
REVISION="${GIT_REVISION}"
|
||||
VERSION=v${PV}
|
||||
)
|
||||
|
||||
# race condition in man target https://bugs.gentoo.org/765100
|
||||
# we need to explicitly specify GOFLAGS for "go run" to use vendor source
|
||||
emake "${myemakeargs[@]}" man -j1 #nowarn
|
||||
emake "${myemakeargs[@]}" all
|
||||
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dobin bin/*
|
||||
doman man/*
|
||||
newinitd "${FILESDIR}"/${PN}.initd "${PN}"
|
||||
systemd_dounit containerd.service
|
||||
keepdir /var/lib/containerd
|
||||
|
||||
# we already installed manpages, remove markdown source
|
||||
# before installing docs directory
|
||||
rm -r docs/man || die
|
||||
|
||||
local DOCS=( ADOPTERS.md README.md RELEASES.md ROADMAP.md SCOPE.md docs/. )
|
||||
einstalldocs
|
||||
}
|
@ -1,3 +1,4 @@
|
||||
DIST docker-cli-20.10.12.tar.gz 7527161 BLAKE2B 34a90f6df9f43507461307817e72cfb9e37f88d00e6fc50b8b16f3db9c573e54edc2eb2641ff4e091a2a73e936f8844011520efe5aaec37a9eb9880f5f81c51a SHA512 ac7c997f5751f2e34b9bcb9f026d3d0c2cd58c32a13e9255536b0eb0d7eabd81c42f2d608c0fe7725322b619f2360818b08379e847d598dd0bec570602ad224f
|
||||
DIST docker-cli-20.10.14.tar.gz 7508390 BLAKE2B b268a329450540c2e94eced7e7b7bb9387cd208c68bde82607fc56e1f0529d8ca35bb8c16839154443d950c21b0625a13aa8547d9f3053ed19645da683f14419 SHA512 f8b7f1040eccd404e39ec33bcef8bb8423636b0695af65f84c0612e77223844892d219f82cfbb99ccd5326e228f8af27be1870d90ebace77810ea5fce9f86e4a
|
||||
DIST docker-cli-20.10.16.tar.gz 7635926 BLAKE2B eb7ecde2770bb4e937f40b885604f5daa996f5644f78881d9814ae3cdfc7a0eec107519ef24bbabe0c726c8c83eaa475667fa251c3e9346fec597069ec36ba2e SHA512 90451f71f16f3bd1410b13c5df256ef1f422dd5b9b75d63cf318ee91a07bcb3ddb2876d2fee81e835d8daaee48c4e010c2daf4373de1095e2075fed8ee5fe75e
|
||||
DIST docker-cli-20.10.17.tar.gz 7636087 BLAKE2B 2777ca5c310ffeca75a07f2667703a3f1d24b4d1c1691ffb58df3144b7bfe54bb2b9cb9896a253718b7f47ab4c246064c5944a1ca05328fe7924f9bb79e10ff3 SHA512 9c2cff7e248272e234eac9febdfd7c5c844fc65ee4b08fd4ce0f526e4fed33f2d12682d0991ef28b42977b9de2c84d7ef9c6ddd6f31c4e8c34a3985c1cea3316
|
||||
|
@ -0,0 +1,67 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
GIT_COMMIT=100c70180f
|
||||
EGO_PN="github.com/docker/cli"
|
||||
MY_PV=${PV/_/-}
|
||||
inherit bash-completion-r1 golang-vcs-snapshot
|
||||
|
||||
DESCRIPTION="the command line binary for docker"
|
||||
HOMEPAGE="https://www.docker.com/"
|
||||
SRC_URI="https://github.com/docker/cli/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv ~x86"
|
||||
IUSE="hardened selinux"
|
||||
|
||||
RDEPEND="!<app-containers/docker-20.10.1
|
||||
selinux? ( sec-policy/selinux-docker )"
|
||||
BDEPEND="
|
||||
>=dev-lang/go-1.16.6
|
||||
dev-go/go-md2man"
|
||||
|
||||
RESTRICT="installsources strip test"
|
||||
|
||||
S="${WORKDIR}/${P}/src/${EGO_PN}"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
sed -i 's@dockerd\?\.exe@@g' contrib/completion/bash/docker || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
export DISABLE_WARN_OUTSIDE_CONTAINER=1
|
||||
export GOPATH="${WORKDIR}/${P}"
|
||||
# setup CFLAGS and LDFLAGS for separate build target
|
||||
# see https://github.com/tianon/docker-overlay/pull/10
|
||||
export CGO_CFLAGS="-I${ESYSROOT}/usr/include"
|
||||
export CGO_LDFLAGS="-L${ESYSROOT}/usr/$(get_libdir)"
|
||||
emake \
|
||||
LDFLAGS="$(usex hardened '-extldflags -fno-PIC' '')" \
|
||||
VERSION="${PV}" \
|
||||
GITCOMMIT="${GIT_COMMIT}" \
|
||||
dynbinary
|
||||
|
||||
# build man pages
|
||||
# see "cli/scripts/docs/generate-man.sh" (which also does "go get" for go-md2man)
|
||||
mkdir -p ./man/man1 || die "mkdir failed"
|
||||
go build -o "${T}"/gen-manpages ./man ||
|
||||
die 'build gen-manpages failed'
|
||||
"${T}"/gen-manpages --root "$(pwd)" --target "$(pwd)"/man/man1 ||
|
||||
die 'gen-manpages failed'
|
||||
./man/md2man-all.sh -q ||
|
||||
die 'md2man-all.sh failed'
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dobin build/docker
|
||||
doman man/man*/*
|
||||
dobashcomp contrib/completion/bash/*
|
||||
bashcomp_alias docker dockerd
|
||||
insinto /usr/share/fish/vendor_completions.d/
|
||||
doins contrib/completion/fish/docker.fish
|
||||
insinto /usr/share/zsh/site-functions
|
||||
doins contrib/completion/zsh/_*
|
||||
}
|
@ -1,2 +1,3 @@
|
||||
DIST docker-proxy-0.8.0_p20210525.tar.gz 3154432 BLAKE2B 3f273cd4c2dd3c797117bebfe06eb3ae8ce3b3f70d495cb0c77a372d64e23f1d9ad31e8efef64df494cc462e9f4fda9311c99ae7e7218f0fc41b6bf44cf8c08d SHA512 6a94fe23ce1bab0a428ee4bbe20089f5a4470e72c5da156b2b1a89de01cca803374fd9cdcd4c5b25b86af1c4e956c75a1a5ad7fb6639def7bcec69859a77c047
|
||||
DIST docker-proxy-0.8.0_p20220315.tar.gz 3154501 BLAKE2B 1078db00c0206542740736f0ffed3261dd6688a273699d47328edc6d803d267c026343f7377ef748e0359c025dbeb6cfc9015bf9ca6ed664e0220f15229fb032 SHA512 d6c09ba5fd2b0d87e97627ad55fca4bed1a0ea4f17c747550054d0e059ec056588995877a3e59a40e664ec1e3c92cde8572addc0e2bba8b588a100c6032c0d20
|
||||
DIST docker-proxy-0.8.0_p20220601.tar.gz 3154283 BLAKE2B 7651e1862acf60988f6a8bdf3c0befc9b01a388aebda2b86610109bb6affe0d9c64d2750a911f0d1856be0dba970e9e92de2a0d393cc5c3a581d4253c574a623 SHA512 d3d9888f39a9247b6e773b0bfe63e6d248c5c155e7032cdbdd5cfacf995cb6b4cf2f0fb51e09c4554a4b994e3c3d7fc9cd2fde6cf8dda34fba6aa07218ac959c
|
||||
|
@ -0,0 +1,30 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
EGO_PN=github.com/moby/libnetwork
|
||||
GIT_COMMIT=f6ccccb1c082a432c2a5814aaedaca56af33d9ea
|
||||
inherit golang-vcs-snapshot
|
||||
|
||||
DESCRIPTION="Docker container networking"
|
||||
HOMEPAGE="https://github.com/docker/libnetwork"
|
||||
SRC_URI="https://github.com/moby/libnetwork/archive/${GIT_COMMIT}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv ~x86"
|
||||
|
||||
S=${WORKDIR}/${P}/src/${EGO_PN}
|
||||
|
||||
# needs dockerd
|
||||
RESTRICT="strip test"
|
||||
|
||||
src_compile() {
|
||||
GO111MODULE=auto GOPATH="${WORKDIR}/${P}" \
|
||||
go build -o "bin/docker-proxy" ./cmd/proxy || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dobin bin/docker-proxy
|
||||
dodoc README.md CHANGELOG.md
|
||||
}
|
@ -1,3 +1,4 @@
|
||||
DIST docker-20.10.12.tar.gz 11091999 BLAKE2B e3b1c40d2dcd2df9b158942759e035d53481dbd63c0fda188ec8564b0249402f5eff5f25fcb1a53c5d9af5b4c49f0919fc07f1f52d0b7333044c0a9c12631c21 SHA512 f4122c8cbc67e6b7703856dc76d6f15d7fab1b2001d4916b89958d5319c16d8b8445881841ef4804e8d47d64694184aec1be93e22d7baceb021c4a99c2c03753
|
||||
DIST docker-20.10.14.tar.gz 10989937 BLAKE2B 4b510408c8cf2aef3a9777996aadd024e61df519c6c83d8c59e066058fb082f72ee14405b011731cb3663abdf0759d8f005b3336f6e9b6430270a2e1ba337436 SHA512 94ee555337aaf96bb95ce8cbe8fe1d9c8b87fcd4f256d2af5082fc47915f7576882929c1211ef7fba0c754097bdef5e6df59abbdf77456d3babe139f4353ed21
|
||||
DIST docker-20.10.16.tar.gz 11182324 BLAKE2B 8d6676a24b3b53f9155a53eb55a1b5074c5724788102356cae8ead55dbf2f2c2875ea4a0a9eaee4a7720d8f11671b2f748eb8c61b67b81992342d1171feaaaa7 SHA512 5fdf87f98a951af87a334a5a403e36b975ff6c4647d0656dde2bd763d27562c620346f3746adafa1439c205869c721a3bef750f8302734499423ca789218f85d
|
||||
DIST docker-20.10.17.tar.gz 11182479 BLAKE2B 515c048ab6f19e256040122323f394dfa2e8f7a4aefd89e5b374355bd7907f3ba5eaae37d7ce3aed0d1add8fa025b8e5ac3c46c4dc90adf757426fd40af39dbf SHA512 1def92a4f87695b1889e482947f2bc49342ad868ee15425900b0c6f8954ba77aa2a9a8bd4fc500ba124218603aa8c7127daf7192140cace6e652a311391397c4
|
||||
|
@ -0,0 +1,285 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
EGO_PN=github.com/docker/docker
|
||||
MY_PV=${PV/_/-}
|
||||
GIT_COMMIT=a89b84221c
|
||||
inherit linux-info systemd udev golang-vcs-snapshot
|
||||
|
||||
DESCRIPTION="The core functions you need to create Docker images and run Docker containers"
|
||||
HOMEPAGE="https://www.docker.com/"
|
||||
SRC_URI="https://github.com/moby/moby/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv ~x86"
|
||||
IUSE="apparmor aufs btrfs +cli +container-init device-mapper hardened
|
||||
overlay seccomp selinux"
|
||||
|
||||
DEPEND="
|
||||
acct-group/docker
|
||||
>=dev-db/sqlite-3.7.9:3
|
||||
apparmor? ( sys-libs/libapparmor )
|
||||
btrfs? ( >=sys-fs/btrfs-progs-3.16.1 )
|
||||
device-mapper? ( >=sys-fs/lvm2-2.02.89[thin] )
|
||||
seccomp? ( >=sys-libs/libseccomp-2.2.1 )
|
||||
"
|
||||
|
||||
# https://github.com/moby/moby/blob/master/project/PACKAGERS.md#runtime-dependencies
|
||||
# https://github.com/moby/moby/blob/master/project/PACKAGERS.md#optional-dependencies
|
||||
# https://github.com/moby/moby/tree/master//hack/dockerfile/install
|
||||
# make sure docker-proxy is pinned to exact version from ^,
|
||||
# for appropriate branchch/version of course
|
||||
RDEPEND="
|
||||
${DEPEND}
|
||||
>=net-firewall/iptables-1.4
|
||||
sys-process/procps
|
||||
>=dev-vcs/git-1.7
|
||||
>=app-arch/xz-utils-4.9
|
||||
dev-libs/libltdl
|
||||
>=app-containers/containerd-1.6.6[apparmor?,btrfs?,device-mapper?,seccomp?]
|
||||
~app-containers/docker-proxy-0.8.0_p20220601
|
||||
cli? ( ~app-containers/docker-cli-${PV} )
|
||||
container-init? ( >=sys-process/tini-0.19.0[static] )
|
||||
selinux? ( sec-policy/selinux-docker )
|
||||
"
|
||||
|
||||
# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#build-dependencies
|
||||
BDEPEND="
|
||||
>=dev-lang/go-1.16.12
|
||||
dev-go/go-md2man
|
||||
virtual/pkgconfig
|
||||
"
|
||||
# tests require running dockerd as root and downloading containers
|
||||
RESTRICT="installsources strip test"
|
||||
|
||||
S="${WORKDIR}/${P}/src/${EGO_PN}"
|
||||
|
||||
# https://bugs.gentoo.org/748984 https://github.com/etcd-io/etcd/pull/12552
|
||||
PATCHES=(
|
||||
"${FILESDIR}/ppc64-buildmode.patch"
|
||||
"${FILESDIR}/0001-Openrc-Depend-on-containerd-init-script.patch"
|
||||
)
|
||||
|
||||
# see "contrib/check-config.sh" from upstream's sources
|
||||
CONFIG_CHECK="
|
||||
~NAMESPACES ~NET_NS ~PID_NS ~IPC_NS ~UTS_NS
|
||||
~CGROUPS ~CGROUP_CPUACCT ~CGROUP_DEVICE ~CGROUP_FREEZER ~CGROUP_SCHED ~CPUSETS ~MEMCG
|
||||
~CGROUP_NET_PRIO
|
||||
~KEYS
|
||||
~VETH ~BRIDGE ~BRIDGE_NETFILTER
|
||||
~IP_NF_FILTER ~IP_NF_TARGET_MASQUERADE ~NETFILTER_XT_MARK
|
||||
~NETFILTER_NETLINK ~NETFILTER_XT_MATCH_ADDRTYPE ~NETFILTER_XT_MATCH_CONNTRACK ~NETFILTER_XT_MATCH_IPVS
|
||||
~IP_NF_NAT ~NF_NAT
|
||||
~POSIX_MQUEUE
|
||||
|
||||
~USER_NS
|
||||
~SECCOMP
|
||||
~CGROUP_PIDS
|
||||
~MEMCG_SWAP
|
||||
|
||||
~BLK_CGROUP ~BLK_DEV_THROTTLING
|
||||
~CGROUP_PERF
|
||||
~CGROUP_HUGETLB
|
||||
~NET_CLS_CGROUP
|
||||
~CFS_BANDWIDTH ~FAIR_GROUP_SCHED
|
||||
~IP_VS ~IP_VS_PROTO_TCP ~IP_VS_PROTO_UDP ~IP_VS_NFCT ~IP_VS_RR
|
||||
|
||||
~VXLAN
|
||||
~CRYPTO ~CRYPTO_AEAD ~CRYPTO_GCM ~CRYPTO_SEQIV ~CRYPTO_GHASH ~XFRM_ALGO ~XFRM_USER
|
||||
~IPVLAN
|
||||
~MACVLAN ~DUMMY
|
||||
|
||||
~OVERLAY_FS ~!OVERLAY_FS_REDIRECT_DIR
|
||||
~EXT4_FS_SECURITY
|
||||
~EXT4_FS_POSIX_ACL
|
||||
"
|
||||
|
||||
ERROR_KEYS="CONFIG_KEYS: is mandatory"
|
||||
ERROR_MEMCG_SWAP="CONFIG_MEMCG_SWAP: is required if you wish to limit swap usage of containers"
|
||||
ERROR_RESOURCE_COUNTERS="CONFIG_RESOURCE_COUNTERS: is optional for container statistics gathering"
|
||||
|
||||
ERROR_BLK_CGROUP="CONFIG_BLK_CGROUP: is optional for container statistics gathering"
|
||||
ERROR_IOSCHED_CFQ="CONFIG_IOSCHED_CFQ: is optional for container statistics gathering"
|
||||
ERROR_CGROUP_PERF="CONFIG_CGROUP_PERF: is optional for container statistics gathering"
|
||||
ERROR_CFS_BANDWIDTH="CONFIG_CFS_BANDWIDTH: is optional for container statistics gathering"
|
||||
ERROR_XFRM_ALGO="CONFIG_XFRM_ALGO: is optional for secure networks"
|
||||
ERROR_XFRM_USER="CONFIG_XFRM_USER: is optional for secure networks"
|
||||
|
||||
pkg_setup() {
|
||||
|
||||
if kernel_is lt 4 5; then
|
||||
CONFIG_CHECK+="
|
||||
~MEMCG_KMEM
|
||||
"
|
||||
ERROR_MEMCG_KMEM="CONFIG_MEMCG_KMEM: is optional"
|
||||
fi
|
||||
|
||||
if kernel_is lt 4 7; then
|
||||
CONFIG_CHECK+="
|
||||
~DEVPTS_MULTIPLE_INSTANCES
|
||||
"
|
||||
fi
|
||||
|
||||
if kernel_is lt 5 1; then
|
||||
CONFIG_CHECK+="
|
||||
~NF_NAT_IPV4
|
||||
~IOSCHED_CFQ
|
||||
~CFQ_GROUP_IOSCHED
|
||||
"
|
||||
fi
|
||||
|
||||
if kernel_is lt 5 2; then
|
||||
CONFIG_CHECK+="
|
||||
~NF_NAT_NEEDED
|
||||
"
|
||||
fi
|
||||
|
||||
if kernel_is lt 5 8; then
|
||||
CONFIG_CHECK+="
|
||||
~MEMCG_SWAP_ENABLED
|
||||
"
|
||||
fi
|
||||
|
||||
if use aufs; then
|
||||
CONFIG_CHECK+="
|
||||
~AUFS_FS
|
||||
~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY
|
||||
"
|
||||
ERROR_AUFS_FS="CONFIG_AUFS_FS: is required to be set if and only if aufs is patched to kernel instead of using standalone"
|
||||
fi
|
||||
|
||||
if use btrfs; then
|
||||
CONFIG_CHECK+="
|
||||
~BTRFS_FS
|
||||
~BTRFS_FS_POSIX_ACL
|
||||
"
|
||||
fi
|
||||
|
||||
if use device-mapper; then
|
||||
CONFIG_CHECK+="
|
||||
~BLK_DEV_DM ~DM_THIN_PROVISIONING ~EXT4_FS ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY
|
||||
"
|
||||
fi
|
||||
|
||||
linux-info_pkg_setup
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
export DOCKER_GITCOMMIT="${GIT_COMMIT}"
|
||||
export GOPATH="${WORKDIR}/${P}"
|
||||
export VERSION=${PV}
|
||||
|
||||
# setup CFLAGS and LDFLAGS for separate build target
|
||||
# see https://github.com/tianon/docker-overlay/pull/10
|
||||
export CGO_CFLAGS="-I${ESYSROOT}/usr/include"
|
||||
export CGO_LDFLAGS="-L${ESYSROOT}/usr/$(get_libdir)"
|
||||
|
||||
# let's set up some optional features :)
|
||||
export DOCKER_BUILDTAGS=''
|
||||
for gd in aufs btrfs device-mapper overlay; do
|
||||
if ! use $gd; then
|
||||
DOCKER_BUILDTAGS+=" exclude_graphdriver_${gd//-/}"
|
||||
fi
|
||||
done
|
||||
|
||||
for tag in apparmor seccomp; do
|
||||
if use $tag; then
|
||||
DOCKER_BUILDTAGS+=" $tag"
|
||||
fi
|
||||
done
|
||||
|
||||
if use hardened; then
|
||||
sed -i "s/EXTLDFLAGS_STATIC='/&-fno-PIC /" hack/make.sh || die
|
||||
grep -q -- '-fno-PIC' hack/make.sh || die 'hardened sed failed'
|
||||
sed "s/LDFLAGS_STATIC_DOCKER='/&-extldflags -fno-PIC /" \
|
||||
-i hack/make/dynbinary-daemon || die
|
||||
grep -q -- '-fno-PIC' hack/make/dynbinary-daemon || die 'hardened sed failed'
|
||||
fi
|
||||
|
||||
# build daemon
|
||||
./hack/make.sh dynbinary || die 'dynbinary failed'
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dosym containerd /usr/bin/docker-containerd
|
||||
dosym containerd-shim /usr/bin/docker-containerd-shim
|
||||
dosym runc /usr/bin/docker-runc
|
||||
use container-init && dosym tini /usr/bin/docker-init
|
||||
newbin bundles/dynbinary-daemon/dockerd dockerd
|
||||
|
||||
newinitd contrib/init/openrc/docker.initd docker
|
||||
newconfd contrib/init/openrc/docker.confd docker
|
||||
|
||||
systemd_dounit contrib/init/systemd/docker.{service,socket}
|
||||
|
||||
udev_dorules contrib/udev/*.rules
|
||||
|
||||
dodoc AUTHORS CONTRIBUTING.md CHANGELOG.md NOTICE README.md
|
||||
dodoc -r docs/*
|
||||
|
||||
# note: intentionally not using "doins" so that we preserve +x bits
|
||||
dodir /usr/share/${PN}/contrib
|
||||
cp -R contrib/* "${ED}/usr/share/${PN}/contrib"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
udev_reload
|
||||
|
||||
elog
|
||||
elog "To use Docker, the Docker daemon must be running as root. To automatically"
|
||||
elog "start the Docker daemon at boot:"
|
||||
if systemd_is_booted || has_version sys-apps/systemd; then
|
||||
elog " systemctl enable docker.service"
|
||||
else
|
||||
elog " rc-update add docker default"
|
||||
fi
|
||||
elog
|
||||
elog "To use Docker as a non-root user, add yourself to the 'docker' group:"
|
||||
elog ' usermod -aG docker <youruser>'
|
||||
elog
|
||||
|
||||
if use device-mapper; then
|
||||
elog " Devicemapper storage driver has been deprecated"
|
||||
elog " It will be removed in a future release"
|
||||
elog
|
||||
fi
|
||||
|
||||
if use overlay; then
|
||||
elog " Overlay storage driver/USEflag has been deprecated"
|
||||
elog " in favor of overlay2 (enabled unconditionally)"
|
||||
elog
|
||||
fi
|
||||
|
||||
if has_version sys-fs/zfs; then
|
||||
elog " ZFS storage driver is available"
|
||||
elog " Check https://docs.docker.com/storage/storagedriver/zfs-driver for more info"
|
||||
elog
|
||||
fi
|
||||
|
||||
if use cli; then
|
||||
ewarn "Starting with docker 20.10.2, docker has been split into"
|
||||
ewarn "two packages upstream, so Gentoo has followed suit."
|
||||
ewarn
|
||||
ewarn "app-containers/docker contains the daemon and"
|
||||
ewarn "app-containers/docker-cli contains the docker command."
|
||||
ewarn
|
||||
ewarn "docker currently installs docker-cli using the cli use flag."
|
||||
ewarn
|
||||
ewarn "This use flag is temporary, so you need to take the"
|
||||
ewarn "following actions:"
|
||||
ewarn
|
||||
ewarn "First, disable the cli use flag for app-containers/docker"
|
||||
ewarn
|
||||
ewarn "Then, if you need docker-cli and docker on the same machine,"
|
||||
ewarn "run the following command:"
|
||||
ewarn
|
||||
ewarn "# emerge --noreplace docker-cli"
|
||||
ewarn
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
udev_reload
|
||||
}
|
@ -0,0 +1,28 @@
|
||||
From bb69104381805014eb7675682d204fe460a52388 Mon Sep 17 00:00:00 2001
|
||||
From: Jan Breig <git@pygos.space>
|
||||
Date: Mon, 16 May 2022 14:58:36 +0200
|
||||
Subject: [PATCH] Openrc: Depend on containerd init script
|
||||
|
||||
Signed-off-by: Jan Breig <git@pygos.space>
|
||||
---
|
||||
contrib/init/openrc/docker.initd | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/contrib/init/openrc/docker.initd b/contrib/init/openrc/docker.initd
|
||||
index 3229223bad..57defb8f57 100644
|
||||
--- a/contrib/init/openrc/docker.initd
|
||||
+++ b/contrib/init/openrc/docker.initd
|
||||
@@ -17,6 +17,10 @@ rc_ulimit="${DOCKER_ULIMIT:--c unlimited -n 1048576 -u unlimited}"
|
||||
|
||||
retry="${DOCKER_RETRY:-TERM/60/KILL/10}"
|
||||
|
||||
+depend() {
|
||||
+ need containerd
|
||||
+}
|
||||
+
|
||||
start_pre() {
|
||||
checkpath -f -m 0644 -o root:docker "$DOCKER_LOGFILE"
|
||||
}
|
||||
--
|
||||
2.35.1
|
||||
|
@ -0,0 +1,78 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
inherit go-module linux-info
|
||||
|
||||
# update on bump, look for https://github.com/docker\
|
||||
# docker-ce/blob/<docker ver OR branch>/components/engine/hack/dockerfile/install/runc.installer
|
||||
RUNC_COMMIT=6724737f999df9ee0d8ca5c6d7b81f97adc34374
|
||||
CONFIG_CHECK="~USER_NS"
|
||||
|
||||
DESCRIPTION="runc container cli tools"
|
||||
HOMEPAGE="http://github.com/opencontainers/runc/"
|
||||
MY_PV="${PV/_/-}"
|
||||
SRC_URI="https://github.com/opencontainers/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="Apache-2.0 BSD-2 BSD MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv ~x86"
|
||||
IUSE="apparmor hardened +kmem +seccomp selinux test"
|
||||
|
||||
DEPEND="seccomp? ( sys-libs/libseccomp )"
|
||||
|
||||
RDEPEND="
|
||||
${DEPEND}
|
||||
!app-emulation/docker-runc
|
||||
apparmor? ( sys-libs/libapparmor )
|
||||
selinux? ( sec-policy/selinux-container )
|
||||
"
|
||||
|
||||
BDEPEND="
|
||||
dev-go/go-md2man
|
||||
test? ( "${RDEPEND}" )
|
||||
"
|
||||
|
||||
# tests need busybox binary, and portage namespace
|
||||
# sandboxing disabled: mount-sandbox pid-sandbox ipc-sandbox
|
||||
# majority of tests pass
|
||||
RESTRICT+=" test"
|
||||
|
||||
S="${WORKDIR}/${PN}-${MY_PV}"
|
||||
|
||||
src_compile() {
|
||||
# Taken from app-containers/docker-1.7.0-r1
|
||||
export CGO_CFLAGS="-I${ESYSROOT}/usr/include"
|
||||
export CGO_LDFLAGS="$(usex hardened '-fno-PIC ' '')
|
||||
-L${ESYSROOT}/usr/$(get_libdir)"
|
||||
|
||||
# build up optional flags
|
||||
local options=(
|
||||
$(usev apparmor)
|
||||
$(usev seccomp)
|
||||
$(usex kmem '' 'nokmem')
|
||||
)
|
||||
|
||||
myemakeargs=(
|
||||
BUILDTAGS="${options[*]}"
|
||||
COMMIT="${RUNC_COMMIT}"
|
||||
)
|
||||
|
||||
emake "${myemakeargs[@]}" runc man
|
||||
}
|
||||
|
||||
src_install() {
|
||||
myemakeargs+=(
|
||||
PREFIX="${ED}/usr"
|
||||
BINDIR="${ED}/usr/bin"
|
||||
MANDIR="${ED}/usr/share/man"
|
||||
)
|
||||
emake "${myemakeargs[@]}" install install-man install-bash
|
||||
|
||||
local DOCS=( README.md PRINCIPLES.md docs/. )
|
||||
einstalldocs
|
||||
}
|
||||
|
||||
src_test() {
|
||||
emake "${myemakeargs[@]}" localunittest
|
||||
}
|
Binary file not shown.
@ -1,5 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<!-- maintainer-needed -->
|
||||
<!-- maintainer-needed -->
|
||||
<upstream>
|
||||
<remote-id type="sourcehut">~pistos/diakonos</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
||||
|
Binary file not shown.
@ -1,9 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="project">
|
||||
<email>gnu-emacs@gentoo.org</email>
|
||||
<name>Gentoo GNU Emacs project</name>
|
||||
</maintainer>
|
||||
<stabilize-allarches/>
|
||||
<maintainer type="project">
|
||||
<email>gnu-emacs@gentoo.org</email>
|
||||
<name>Gentoo GNU Emacs project</name>
|
||||
</maintainer>
|
||||
<stabilize-allarches/>
|
||||
<upstream>
|
||||
<remote-id type="sourcehut">~bzg/org-contrib</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
||||
|
@ -1,9 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="project">
|
||||
<email>gnu-emacs@gentoo.org</email>
|
||||
<name>Gentoo GNU Emacs project</name>
|
||||
</maintainer>
|
||||
<stabilize-allarches/>
|
||||
<maintainer type="project">
|
||||
<email>gnu-emacs@gentoo.org</email>
|
||||
<name>Gentoo GNU Emacs project</name>
|
||||
</maintainer>
|
||||
<stabilize-allarches/>
|
||||
<upstream>
|
||||
<remote-id type="sourcehut">~pkal/setup</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
||||
|
Binary file not shown.
@ -1,9 +1,9 @@
|
||||
DIST gentoo-wine-patches-20211122.tar.xz 59796 BLAKE2B 21460e6adf4934a52f8841f76f234a764c2dc1ac77eeed1cee10adafec3aa723640ebd4b51559e9ef433070ac731c4648620bd9e75e99f31b2e2f494cf01f02d SHA512 a18cb320617e2157977032c38c322177a2d248f14e43051d38de595af171495546c93d5e71e0dbe1a4f326a2dc819bb03dcfd04454ac85bbcd6b1975ae5d9d96
|
||||
DIST wine-7.11.tar.xz 27975308 BLAKE2B 7031c950de4ee6d00c1006841a2d6fe55cebce644d354eb05cb963207b491a717c6ba7ce8f19c337167ec8bd6c1480427112a32b4363db745e99461be5917c77 SHA512 aff6a5996ba7336d97c59a1402688b109e6cca123c60fa6f03813d81ad6478f4ed4a62fb7813dc6952cca7ec1250182730873f3ac17f0855bbf000bf3c1d86fe
|
||||
DIST wine-7.12.tar.xz 28221024 BLAKE2B 551f37360a6dd2c535b5b1a9896cd9c9c091d56c4d2f3d2988092d48d54aa447fc0dad18034bad7b7beaa9c6587071e8d32bd08092a9ba93acb39dac9ddfc391 SHA512 4746fb1c3d0ec7f20e22d821f8e88e5415b85cb60f53e9ad61b89e8321b6a6b2999eb2b70c7ac46477f633bccb6c2aba49ce2655c380cb85cd5c71dbe4af50b4
|
||||
DIST wine-7.13.tar.xz 28237664 BLAKE2B f65f6ab2ec159d0a25b44e6bcbc83db2c5ada6b0c39dd0e3fe86db74bb964d0b1bcba85e5300d5140e24c305b7e30a58953e7582df8a2117ce5d8127538f484b SHA512 2eca3aa80afa19dd0cc3cfeb8b58b78d22d2925b8201e0b7278638084a529870c1468ffc300e6a1bb343d0f0c7e28c2b3bb6c59af15dec43b8f6c1eb78b46c1e
|
||||
DIST wine-7.14.tar.xz 28274396 BLAKE2B 632c4c77a5b93597b8b217a04e34a4867d9e34497322cbcdf89d3bd2c98ee2ce27983582e1aa6737ec6bf5e080f64bcb4813f3e5c83b67cebd36895251a07e2f SHA512 6727be4a23b1911b36c44ac8d347be1c98bb53e67101355d6ae829d14a3a0867ba83f77a52f4dbc02a35c3b513291dd4800148a31d28f50069d199fdee04b6e9
|
||||
DIST wine-staging-7.11.tar.gz 9643832 BLAKE2B d215353a0163011b964d24d6e0cb3011286ce8d9ad6b42ad2bd389cb65c214db01a67a6f37db3eedd36d34995d7423112bbddbd06abbcbc5bb5f0d565d06a157 SHA512 5985f7536f7d0a8bedcfcdf095861a06589ea6ad9896c87043ca88f9ef3c4bc9854931b51b64471e361378f332cea70adc58ef9303e9e5d1a6dcc9789761c187
|
||||
DIST wine-7.15.tar.xz 28324772 BLAKE2B 2ae7f693acfa3477c5b925cb6bfc6e2c3094cf56049aae9a310206dce3ef26d32af74ab414f06020dc0e9cf782b8e3cf6b65739ae10b71e783415498b7339618 SHA512 9edf9f6169c26fd829255d323ebdda4fd606f9cf9dfebae2c0823c32a2ca40741e10acba6938e0d49a99dd15276795506887ab582fed296beb0202f77b2db1b4
|
||||
DIST wine-staging-7.12.tar.gz 9644343 BLAKE2B 760b34abf245b8d2e5baed13db57a841bba73f9dd6652f958428fec3617000cdc00d6f3ac305f4b580cf462938a56ef9a6f0c6931306c25ce82b7fe4da314d9f SHA512 0cf7554011835052b75a836fca89c6cf9b5fa1653c96a82b0dcd3cf40147602eebaf81aa6b94348432371bef9550c8dc21c9cf7d78b49a422bd113e8a6a8e3b0
|
||||
DIST wine-staging-7.13.tar.gz 9644182 BLAKE2B 1fecdd231e93de44d4327cceef0f72759de331b507ea16cd39749be3195716883a5327804f6379ca563e635fbf317d131d6cf87e4b49f177a45116ee3be55527 SHA512 f0fbd0d96272e457006d0eac350905e2fd27b472943d08771b4cd1cde88afefeb239e46f88979bcb7d45d525610f5d69c74bf8294b101e064ca2051494ab3127
|
||||
DIST wine-staging-7.14.tar.gz 9644603 BLAKE2B d923321c1562e71c7826e73aec52bd0fb451bb8ff302841f7756428c23b80ea00f815d1a6cc5e3354a83ce87137b2af7ac3389c2c018344cf80afdae50f151b1 SHA512 40ffa7a64780a054bdace9fd5f294a45f7648f6db933ba0a74450b5412df5cc989b7aa442dcba1f185f8d0e5a7740a9508203f1ee323f26fd77867caa9d4fcb3
|
||||
DIST wine-staging-7.15.tar.gz 9644942 BLAKE2B 1d04730b540785d03cec919ee643cd182c09c3ad022a6b9f5111348ea82a7c3e34e2108141e544855423224db15a5d954623840b3a0d3e3709d0cd23ad1e3236 SHA512 57b6145b3a39a8fb5e98648072e3c1f4f1528fdcfe1f8612f41dc7e0ea4fcc09e4e78d3bbe8fa7a5c14ff0708328306cf0eb8367016f6b2fda9e34f0f1be0621
|
||||
|
@ -1,6 +1,6 @@
|
||||
DIST gentoo-wine-patches-20211122.tar.xz 59796 BLAKE2B 21460e6adf4934a52f8841f76f234a764c2dc1ac77eeed1cee10adafec3aa723640ebd4b51559e9ef433070ac731c4648620bd9e75e99f31b2e2f494cf01f02d SHA512 a18cb320617e2157977032c38c322177a2d248f14e43051d38de595af171495546c93d5e71e0dbe1a4f326a2dc819bb03dcfd04454ac85bbcd6b1975ae5d9d96
|
||||
DIST wine-7.0.tar.xz 27120912 BLAKE2B 84bfeb28d56f0f40bb93b1b5bf8954c8be2fd90fde5a61608e7c35f48addcce7a4d660e63c3caa3ca2c365d1e83b55a1c3485872b2d6bfa8941e2bce44c4aca6 SHA512 eec17b046ed5447eb540f421c9b2748d9419ce087496c2743a9914fd27bbe5ff9da0cfe47d3cd76fa97323bd1188a1d82b1eef4968d86ed1957dc1a95e28529c
|
||||
DIST wine-7.11.tar.xz 27975308 BLAKE2B 7031c950de4ee6d00c1006841a2d6fe55cebce644d354eb05cb963207b491a717c6ba7ce8f19c337167ec8bd6c1480427112a32b4363db745e99461be5917c77 SHA512 aff6a5996ba7336d97c59a1402688b109e6cca123c60fa6f03813d81ad6478f4ed4a62fb7813dc6952cca7ec1250182730873f3ac17f0855bbf000bf3c1d86fe
|
||||
DIST wine-7.12.tar.xz 28221024 BLAKE2B 551f37360a6dd2c535b5b1a9896cd9c9c091d56c4d2f3d2988092d48d54aa447fc0dad18034bad7b7beaa9c6587071e8d32bd08092a9ba93acb39dac9ddfc391 SHA512 4746fb1c3d0ec7f20e22d821f8e88e5415b85cb60f53e9ad61b89e8321b6a6b2999eb2b70c7ac46477f633bccb6c2aba49ce2655c380cb85cd5c71dbe4af50b4
|
||||
DIST wine-7.13.tar.xz 28237664 BLAKE2B f65f6ab2ec159d0a25b44e6bcbc83db2c5ada6b0c39dd0e3fe86db74bb964d0b1bcba85e5300d5140e24c305b7e30a58953e7582df8a2117ce5d8127538f484b SHA512 2eca3aa80afa19dd0cc3cfeb8b58b78d22d2925b8201e0b7278638084a529870c1468ffc300e6a1bb343d0f0c7e28c2b3bb6c59af15dec43b8f6c1eb78b46c1e
|
||||
DIST wine-7.14.tar.xz 28274396 BLAKE2B 632c4c77a5b93597b8b217a04e34a4867d9e34497322cbcdf89d3bd2c98ee2ce27983582e1aa6737ec6bf5e080f64bcb4813f3e5c83b67cebd36895251a07e2f SHA512 6727be4a23b1911b36c44ac8d347be1c98bb53e67101355d6ae829d14a3a0867ba83f77a52f4dbc02a35c3b513291dd4800148a31d28f50069d199fdee04b6e9
|
||||
DIST wine-7.15.tar.xz 28324772 BLAKE2B 2ae7f693acfa3477c5b925cb6bfc6e2c3094cf56049aae9a310206dce3ef26d32af74ab414f06020dc0e9cf782b8e3cf6b65739ae10b71e783415498b7339618 SHA512 9edf9f6169c26fd829255d323ebdda4fd606f9cf9dfebae2c0823c32a2ca40741e10acba6938e0d49a99dd15276795506887ab582fed296beb0202f77b2db1b4
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,2 +1 @@
|
||||
DIST thefuck-3.30.tar.gz 1383210 BLAKE2B 9d6a7ba2712b5cea0146315f5023a104667531928ade93c4aee1f210f06755efb3488b82ce2bc63adf9ce41aec91528bbb6ee4212adb5eca2af53cacf4510a67 SHA512 99b270d0aa535673c09e7e932212af4ded5639fcf30ad0aeedc89a54e94c0a072a37883b1a1a56301efb82ea1c72cf53d4dacf2e83edcafcf4fbaa55ecd35f3a
|
||||
DIST thefuck-3.32.tar.gz 1234795 BLAKE2B f62aca1601b2cec4cc14dc63f6d7e7fffc8ab0e1cf88e44c3170ec6744998e97e97813e9dc6aaccc0a850b0a15f958483da24bcf1d176e43bad1b2272272e7a0 SHA512 961b9b6dc374cc0b854698455f688cf110adb21cfebd4cb645eb5f1ce11c14de6699bb4d40de86a5f9461273cbfc2eea318a9d437f803dc578dd431966cf26c1
|
||||
|
@ -1,41 +0,0 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{7,8,9} )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Magnificent app which corrects your previous console command"
|
||||
HOMEPAGE="https://github.com/nvbn/thefuck"
|
||||
SRC_URI="https://github.com/nvbn/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
|
||||
RDEPEND="
|
||||
dev-python/psutil[${PYTHON_USEDEP}]
|
||||
dev-python/six[${PYTHON_USEDEP}]
|
||||
dev-python/decorator[${PYTHON_USEDEP}]
|
||||
dev-python/colorama[${PYTHON_USEDEP}]
|
||||
dev-python/pyte[${PYTHON_USEDEP}]"
|
||||
DEPEND="
|
||||
test? (
|
||||
dev-python/mock[${PYTHON_USEDEP}]
|
||||
dev-python/pytest-mock[${PYTHON_USEDEP}]
|
||||
)
|
||||
"
|
||||
|
||||
distutils_enable_tests pytest
|
||||
|
||||
python_prepare_all() {
|
||||
sed -i -e "/import pip/s/^/#/" -e "/pip.__version__/,+3 s/^/#/" setup.py || die
|
||||
|
||||
distutils-r1_python_prepare_all
|
||||
}
|
||||
|
||||
python_test() {
|
||||
py.test -vv || die
|
||||
}
|
Binary file not shown.
@ -1,5 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<!-- maintainer-needed -->
|
||||
<maintainer type="person">
|
||||
<email>arthurzam@gentoo.org</email>
|
||||
<name>Arthur Zamarin</name>
|
||||
</maintainer>
|
||||
<upstream>
|
||||
<remote-id type="sourcehut">~sircmpwn/scdoc</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
||||
|
Binary file not shown.
@ -1,2 +1 @@
|
||||
DIST binary-0.8.7.0.tar.gz 57443 BLAKE2B 27d892ff28410e37fa9c8f3b852bf6c420fee8c7241815737c7c488e0e1754685ad4efe6a93eed055638870c0b64dc311e1c6e6bc6bf498420f1640557d4ef27 SHA512 2648ea70b6615c01a0e336b3fc187ecb0ad298c620df056da250fa237a2614d23f2ad11a0b11216d799aabb107f89b89d8e63daa30868bf8829ba358b9586aff
|
||||
DIST binary-0.8.8.0.tar.gz 57327 BLAKE2B c105f4bf92ec52df51d3c7bda1aae99b3d40727aa4d3c1397431b2b727a934e62ee1f9ab7ed45b3502b17bd7a9a61f95a2a66690e40ae25b177fc8c79c462ae5 SHA512 9e4b116a2661d7970dbcf5ec3432ce88514380cab145358c3368a2dca35a16ab9d1f0d09ce2eb853a456764215744195d593629fb08e29b627345e3ae913592f
|
||||
|
@ -1,31 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
# ebuild generated by hackport 0.6.9999
|
||||
|
||||
CABAL_FEATURES="lib profile haddock hoogle hscolour" # Circular depend: test-suite"
|
||||
# break circular dependencies:
|
||||
# https://github.com/gentoo-haskell/gentoo-haskell/issues/810
|
||||
CABAL_FEATURES+=" nocabaldep"
|
||||
inherit haskell-cabal
|
||||
|
||||
DESCRIPTION="Binary serialisation for Haskell values using lazy ByteStrings"
|
||||
HOMEPAGE="https://github.com/kolmodin/binary"
|
||||
SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0/${PV}"
|
||||
# keep in sync with ghc-8.8
|
||||
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
|
||||
IUSE=""
|
||||
|
||||
RESTRICT=test # circular depend: test-framework->base-orphans->cabal->semigroups->nats->binary
|
||||
|
||||
RDEPEND=">=dev-lang/ghc-7.8.2:=
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
"
|
||||
|
||||
CABAL_CORE_LIB_GHC_PV="PM:8.8.1 PM:8.8.2 PM:8.8.3 PM:8.8.4 PM:8.8.4-r1 PM:8.10.1_alpha1 PM:8.10.1_alpha1 PM:9999"
|
@ -1,2 +1 @@
|
||||
DIST haskeline-0.7.5.0.tar.gz 66156 BLAKE2B b8b2e589681255572393f07d3794647d657d4992979dcf1c6a3eb073dc3b5cfc6ad182b7cb2a7b9ee5b54da797b6a79d710974f2a46068fdea411fa4fdd5086c SHA512 624b102fe2446f347fb8b0f1027dcfcffc47c7ccceb900357aa3d17a1303b25480189c25dbb548d2dd303fe7577e54eacdd232c2dba143e6c8ac4d7e5fcf0b27
|
||||
DIST haskeline-0.8.2.tar.gz 72759 BLAKE2B 389908d07775bd150801c7423f3cdc860e1330c0f13cd754374870b4aea19d5bd01f761aec7aa0f2effe87a80c25dc8e7f4390c095627c4d25ed2976de855a63 SHA512 5e8dccceb2230340a7f07f2e0926a938b52106d8a1638be6c1a031802ecbdf12cb42246096518ac12614d5d48479666a44ad33e5e32ab0ac2043b630a7b53746
|
||||
|
@ -1,41 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
# ebuild generated by hackport 0.6.9999
|
||||
|
||||
CABAL_FEATURES="lib profile haddock hoogle hscolour"
|
||||
inherit haskell-cabal
|
||||
|
||||
DESCRIPTION="A command-line interface for user input, written in Haskell"
|
||||
HOMEPAGE="https://github.com/judah/haskeline"
|
||||
SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0/${PV}"
|
||||
# keep in sync with ghc-8.8
|
||||
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
|
||||
IUSE="+terminfo"
|
||||
|
||||
RDEPEND=">=dev-haskell/stm-2.4:=[profile?] <dev-haskell/stm-2.6:=[profile?]
|
||||
>=dev-lang/ghc-8.0.1:=
|
||||
terminfo? ( >=dev-haskell/terminfo-0.3.1.3:=[profile?] <dev-haskell/terminfo-0.5:=[profile?] )
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
>=dev-haskell/cabal-1.24.0.0
|
||||
"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
cabal_chdeps \
|
||||
'base >=4.9 && < 4.13' 'base >=4.9'
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
haskell-cabal_src_configure \
|
||||
$(cabal_flag terminfo terminfo)
|
||||
}
|
||||
|
||||
CABAL_CORE_LIB_GHC_PV="PM:8.8.1 PM:8.8.2 PM:8.8.3 PM:8.8.4 PM:8.8.4-r1 PM:9999"
|
@ -1,2 +1 @@
|
||||
DIST stm-2.5.0.0.tar.gz 12335 BLAKE2B 4b29efdb620e0528a42a34e0b98e2ba5a7e90f83009e1129f923a77abc427a5f0e3a32255f908d9771406983bbdfab6b9887b031cee7c1a98c99a7d810cccd0d SHA512 64516ff5eba42a469046af51f12cb55afca795c7a897b9ac16c3446d547ad3894d9b80be3716e86291825e8fa91335ee89e9c9c6738c95f3cbd8ee0739236651
|
||||
DIST stm-2.5.0.1.tar.gz 15393 BLAKE2B 3992741861945f22fcfa21333f24dc187b099963eb9a9776451d24ebe85ca65b2c141da8dbfc784342c0c3c2b4c2ffac7affc847ce14fa73519bbdad5c8924b7 SHA512 631de1102c405af879ecf7b2fe1affbac80158f04e1d16b9e83ebbdccb915e9472ddb654048bad2bfbd9831e7ab76b6e7e295743abe2a32bf1e5459703b8cc0b
|
||||
|
@ -1,28 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
# ebuild generated by hackport 0.5.6.9999
|
||||
|
||||
CABAL_FEATURES="lib profile haddock hoogle hscolour"
|
||||
inherit haskell-cabal
|
||||
|
||||
DESCRIPTION="Software Transactional Memory"
|
||||
HOMEPAGE="https://wiki.haskell.org/Software_transactional_memory"
|
||||
SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0/${PV}"
|
||||
# keep in sync with ghc-8.6
|
||||
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND=">=dev-lang/ghc-7.4.1:=
|
||||
>=dev-haskell/nats-0.1.3:=[profile?] <dev-haskell/nats-1.2:=[profile?]
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
>=dev-haskell/cabal-1.10
|
||||
"
|
||||
|
||||
CABAL_CORE_LIB_GHC_PV="PM:8.6.1 PM:8.6.2 PM:8.6.3 PM:8.6.4 PM:8.6.5 PM:8.8.1 PM:8.8.2 PM:8.8.3 PM:8.8.4 PM:8.8.4-r1 PM:8.10.1_alpha1 PM:8.10.1_alpha2 PM:8.10.1 PM:8.10.2 PM:8.10.3 PM:8.10.4 PM:8.10.4-r1 PM:9.0.1 PM:9.0.1-r1 PM:9999"
|
@ -1,4 +1,2 @@
|
||||
DIST text-1.2.4.0.tar.gz 171477 BLAKE2B 29bb6738f5c61e13b218cc57cb0c900fce25ecad190315aea4b0a92d5200e2d54aeeae26c8dfc88ddc74706549b820272fdb3877330c8e1e5bd119cac99deef3 SHA512 a4bd566c7d0aea1bfeacf27332e9cff3ad894e7eed9f826b7e4fc7fb85e272164d18a34a81c89dd1ea802951a80ec1d82000ebef05748d419ddfff792c4525e3
|
||||
DIST text-1.2.4.1.tar.gz 148905 BLAKE2B 5e3429e3f83a2c12c5482e342fb4a1846538bdf453df23c2144af01d0df3f5a8b831fd76513aea6e303b5a36b38dec185fedf960060264fc49fe917e30964b41 SHA512 4170d9a463cebfbd80b7902e4d71ed1a1f29db96d2cc9045b79908509a633a239edb3b1ff8dac6970074c4d7e91c552e106756d8142709f8fee3a960428c23e7
|
||||
DIST text-1.2.4.1_rc1.tar.gz 166148 BLAKE2B c79bbd90c9ccf99668d5a4f0e66b4c75fa7a531d9851355be8a9d859d99578d2e22977ee9514f1743927a8a4fa49d29c252abc39509dd0b6d09bffd96e1f5289 SHA512 27d014d6b870e6cba16ac4a0ac146872d89c363ad1ca786642554bde0cf3ae4876d69ba8dd2655bbdcb88076bf4f5e13b45929ff86cd2bd90d24e607ad7221c6
|
||||
DIST text-1.2.5.0.tar.gz 155890 BLAKE2B aaf7206dad552ff98a465914ad8183ec1ccd57e56504496a5b8d11645b0f0fb395dd801c9b6fe32b51ed3902658eb5e5fb92187de668d32801597b4eb904b820 SHA512 dbda65180fc012324fe45467b63e0f53e7e0fa2da3b11875e458ba6bd31d0ee7634121967d2aa6853ed5c907c0661dcc59b8c68fb55edab2923490d8b50722d6
|
||||
|
@ -1,38 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
# ebuild generated by hackport 0.6.9999
|
||||
#hackport: flags: -bytestring-builder,-developer
|
||||
|
||||
CABAL_FEATURES="lib profile haddock hoogle hscolour" # broken test-suite
|
||||
# break circular dependencies:
|
||||
# https://github.com/gentoo-haskell/gentoo-haskell/issues/810
|
||||
CABAL_FEATURES+=" nocabaldep"
|
||||
inherit haskell-cabal
|
||||
|
||||
DESCRIPTION="An efficient packed Unicode text type"
|
||||
HOMEPAGE="https://github.com/haskell/text"
|
||||
SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
|
||||
|
||||
LICENSE="BSD-2"
|
||||
SLOT="0/${PV}"
|
||||
# keep in sync with ghc-8.8
|
||||
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
|
||||
IUSE=""
|
||||
# break cyclic dependencies, test suite requires porting to >=QC-2.11
|
||||
RESTRICT=test
|
||||
|
||||
RDEPEND=">=dev-lang/ghc-8.8.1:= <dev-lang/ghc-8.10:="
|
||||
|
||||
DEPEND="${RDEPEND}
|
||||
"
|
||||
|
||||
CABAL_CORE_LIB_GHC_PV="PM:8.8.1 PM:8.8.2 PM:8.8.3 PM:8.8.4 PM:8.8.4-r1 PM:9999"
|
||||
src_configure() {
|
||||
haskell-cabal_src_configure \
|
||||
--flag=-bytestring-builder \
|
||||
--flag=-developer \
|
||||
--flag=-integer-simple
|
||||
}
|
@ -1,42 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
# ebuild generated by hackport 0.6.9999
|
||||
#hackport: flags: -bytestring-builder,-developer
|
||||
|
||||
CABAL_FEATURES="lib profile haddock hoogle hscolour" # broken test-suite
|
||||
# break circular dependencies:
|
||||
# https://github.com/gentoo-haskell/gentoo-haskell/issues/810
|
||||
CABAL_FEATURES+=" nocabaldep"
|
||||
inherit haskell-cabal
|
||||
|
||||
MY_PV="$(ver_rs 4 -)"
|
||||
MY_P="${PN}-${MY_PV}"
|
||||
|
||||
DESCRIPTION="An efficient packed Unicode text type"
|
||||
HOMEPAGE="https://github.com/haskell/text"
|
||||
SRC_URI="https://github.com/haskell/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="BSD-2"
|
||||
SLOT="0/${PV}"
|
||||
# keep in sync with ghc-8.10.3
|
||||
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
|
||||
IUSE=""
|
||||
# break cyclic dependencies, test suite requires porting to >=QC-2.11
|
||||
RESTRICT=test
|
||||
RDEPEND=">=dev-lang/ghc-8.10.3:="
|
||||
|
||||
DEPEND="${RDEPEND}
|
||||
"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
CABAL_CORE_LIB_GHC_PV="PM:8.10.3 PM:8.10.4 PM:9999"
|
||||
|
||||
src_configure() {
|
||||
haskell-cabal_src_configure \
|
||||
--flag=-bytestring-builder \
|
||||
--flag=-developer
|
||||
}
|
Binary file not shown.
Binary file not shown.
@ -1,17 +1,9 @@
|
||||
DIST ghc-8.10.4-src.tar.xz 19818108 BLAKE2B 069dd8436c373ccf73c20d8b577243792ffdd3a031e869edd612fe1e273126e60803326542695012dbe62e57654ada18af9342bbe1a741b2bebb41cdb0d86035 SHA512 9bb078cb72535a352243b83b671c871392564efd09e478549f27ae58fc6f46e337a0782f5500d26d5704ad96eace22e77bb36031a1fe9b7e175f265b0b9c028b
|
||||
DIST ghc-8.10.4-testsuite.tar.xz 2236932 BLAKE2B 17d0520ad5c6daa0cc60530279ae7e617e4d79328b9f436abbe75e72f0803d9a997fb9e1ae61425326b070f45794a488d8507957fec9a6ed49eea86d30a1e579 SHA512 1bf129c8d872e3ceff7c19929605adc5d68daab9ded9aa2e5109b0de162089631472c66f04993adf8481291f8128bf804fe64a9d344c81e257f1b962ba5e382c
|
||||
DIST ghc-8.10.6-src.tar.xz 19932832 BLAKE2B f5d0c43aa5df87648e32beeb5ed6866b231cbce4f344fb03110db826b36bbac435f5e89d9ffeef3f87c15e830fdee6b95150b7bdcd06906575bfcd9c83797dff SHA512 6314eb9744d47d803b30b621bd12bf6179dad5cc578ec267b3a65b89e9c9b431bdb4913936f040c7ca4fcc71a676a43e78b5f6173d123a844e7f29004405b8b6
|
||||
DIST ghc-8.10.6-testsuite.tar.xz 2265044 BLAKE2B 72a1e955acecc92a720ee2747d96cacf56f2968c9deabb254c882a969c154baa0fdb639a857844ec91a4e47ee553dd13b58c3b790202e7e73500095c1ec85ee9 SHA512 f74d743bd8f889c2941be8fd5348e92abcaf75bce48140f7f9cc0c6ce33ba24a8479bef48631ffe2a10397c0ecf166b3bddb6ca8ee905859c029175de5d43f2a
|
||||
DIST ghc-8.8.4-src.tar.xz 19395252 BLAKE2B 6fa898b9552398a724f0452f5cc88ba073264a5645288c73507258959efec40ce5a56a0eaafdabe58f15c5a9210b2c9da5954411dff5c81c52e061569d6a350a SHA512 efd23bd819f7429486696a3a929a040471db7ea8a2d1f1d832e4cf0825b9e1e0c5e6ecad0ab8376f58b74e9c28c1d2f773bd126596d6d853c9e57d57e5ceb090
|
||||
DIST ghc-8.8.4-testsuite.tar.xz 1965820 BLAKE2B 3b715700561788b8abdc986961d533b91399461d57a1686ededb4ccc36881503cdc3fc126b9a7b204a728c24b9a9ca97320142348644367aca9b47c87a5b3b51 SHA512 79d8fb0ba8de0fb48c938bd54c8c3278f1895d8ce5c700ce8cf6b3fc550073bb757208e85d4f9818400ebecca96f51d9248b8bbdac9eb2995671756164d08c16
|
||||
DIST ghc-9.0.2-src.tar.xz 27270396 BLAKE2B 0a73d910d3ef11161f895849025fe37ce231932f7cde441fdf620cf8c51678060a804467879eb0ee5c0a30413604c56e28e2aa1cde01e45c620b76987d9c0c0e SHA512 32994c7d2b8f47bae604cd825bfcf9c788d79ce26d1d5f58bd73a7093e11ae6c3c17b31dc0c9e454dbf67ca169b942f92213c388d615768cae86055bf6094dee
|
||||
DIST ghc-9.0.2-testsuite.tar.xz 2403564 BLAKE2B 0e7f6fefb9c972f94073aca8b15147913ffa8d3cd3ff7fc63ef7e20b4efd8b443cf21f12e1ab0f5044790f6d8af6cf7788bda85a21b2f356ddface86eb896670 SHA512 b2375500ae837d74af8085d099899b5a7a589c59bdcc033ca0bd6e00f33c4f8d90b481e0c7c3de113e607fcfafdfe8edde4713e6d242b2d4ee87df2eb960c9c7
|
||||
DIST ghc-bin-8.10.4-i686-pc-linux-gnu.tbz2 123831294 BLAKE2B 1ca4c1b5c34c948011049a73d409c741db89658d10e311cffbe464c631c3733278fc7dede6ad27474832295ded2c26fd4d6419c760505255e29f7cb232a670a4 SHA512 1f87cf63651f7c0e5f7f55d1f4d7d7c48b0a911cc6673a899d4b92190d765b359f9c7d73c329969c1b76f1af102b7e2c18a80382c81d5dade9ac7dd57de4ef65
|
||||
DIST ghc-bin-8.10.4-x86_64-pc-linux-gnu.tbz2 122558873 BLAKE2B 9f07c7bdc3beccfa629d28b2524ccd2f4688a5c0036a45408f5ace2d530a2a0e42f95b3cda5037ebb365317999e1ae776c6f9d21692867abfe85e33f2892b1be SHA512 68bd70f94961547746a696aa2839e156c95858fda0c7ec5b2ecf802070724ab7102b0aa86bcbf93432170d521cce4af10f46b851b470e5dc49dfa5b07380f46d
|
||||
DIST ghc-bin-8.10.6-i686-pc-linux-gnu.tbz2 124324289 BLAKE2B afb34984872b35fdedbdedeb8756cc7c33e5b943dba57dd86910b076d483bb643265d0ab0027784dec5dc489eabd65b5ab17474f25fb2ce657925aa0efaa9033 SHA512 4be13e6dba298d12a4d49ae4633eec83cfaaaf22b5f8cfca5f5952aa294ae52fb3601490beed3bda5a7f7b6a5bd81e0ecc9fc39e8df836cc8fd377a0d0b783a0
|
||||
DIST ghc-bin-8.10.6-x86_64-pc-linux-gnu.tbz2 122871118 BLAKE2B 527b36abf60390c91f91bc650ee25484d39d377739da87b5b6fd1a752705c1f3bc0ce0c68644657c9a7c1fc9a3b858b9dd7d84b25eab1a89125fccb6eb1f6250 SHA512 42b7fae339e82a6078fae8920efea8d0992e4774ea66b100e22dd9df168be57d8bce52558b8501c3c567c40776389d94bde3f17d26d63535140ce26ac16c27e1
|
||||
DIST ghc-bin-8.8.4-i686-pc-linux-gnu.tbz2 120336081 BLAKE2B 55dfbb90d5e55c2af5e93c69249828a85cd9171c164b80dfdaf86512972b2c6854c8e4f07426af4ab52a5fb1a85d96a58c2cf003fb02372c55428001cfaea491 SHA512 ad3b83344349976d3253934195b2dc6299648391572b13735943c5ea2239c031c19b0cafd86c16cfb0c061e73bc72e9248f9c1731494a9a15fbe188f02913c12
|
||||
DIST ghc-bin-8.8.4-x86_64-pc-linux-gnu.tbz2 118897883 BLAKE2B a180b2dd1a3bc222044ece809ad700aee29d0c3e75b57ee9af3ca33c9c0f59dbf36f68202f746d99f80915cb717a9c41fc12db507f1cb469981732703a06b9cc SHA512 9d4be02dbd9704c93ef18feb92ea30bd5d590df31f288bf1b364818424c5019ca9ada26eec88418199f90ae8f4459d0a9352104e3f3186bbdc241891eb1b66c4
|
||||
DIST ghc-bin-9.0.2-i686-pc-linux-gnu.tbz2 123509908 BLAKE2B 45614984803a7bfa266f99d4adb4b5f2ab7b9e5e89c6ecd501296fc99a1d96e798ccb9c832f8dcb15fff9725beb918a7b63e62ff13f59b6506a2ef17930c45d2 SHA512 e0b7f4474c16f0763a2f787027fbdfeb3125b48c987fa1196bc189fefad9f0bfa2806da62af46d61ca911f5275b578076e2b326acf39e0894a8daa9deda0843a
|
||||
DIST ghc-bin-9.0.2-powerpc64le-unknown-linux-gnu.tar.gz 275228045 BLAKE2B d1c68d8396d675f5d4f3712b2ed5bc3c328a4304f9ae4441be586d24eaf3e7d34c36c6cd3bc4d85def3647919a44c3d97cf9199b43c158e3dcc6a304cfb9220b SHA512 2a277eb854b33d7361b5d93dee2747f81fc93dcc08bb3579d6706634313352675a15429eec0b6f4f19a8bd36e8f51f1c09729a2bf4a3bba34ba35dcf2b37f4e0
|
||||
DIST ghc-bin-9.0.2-x86_64-pc-linux-gnu.tbz2 121536759 BLAKE2B 4433e2d266f065d2b2944b711d622ec26288a2187ac03562257a671744b44da35110ce16ac6d76f7062a563488885326be073e0ff03c7e48250051c3b4763d96 SHA512 2de29a9ddbfd0fac797cdd628f3657ff38e6a153151849508bba75d36f84394ed77750435ff5cc1bdfcd30ef2b6e009bde965bd0a83e0496b5027239642f4b6c
|
||||
|
@ -1,17 +0,0 @@
|
||||
https://github.com/gentoo-haskell/gentoo-haskell/issues/704
|
||||
|
||||
Allow users to specify -W,--relax externally and pass
|
||||
-Wl,-no-relax unconditonally on all arches.
|
||||
|
||||
Reported-by: wmyrda
|
||||
diff --git a/compiler/main/DriverPipeline.hs b/compiler/main/DriverPipeline.hs
|
||||
index acd0d61..5830517 100644
|
||||
--- a/compiler/main/DriverPipeline.hs
|
||||
+++ b/compiler/main/DriverPipeline.hs
|
||||
@@ -2172,5 +2172,3 @@ joinObjectFiles dflags o_files output_fn = do
|
||||
-- disable --relax explicitly.
|
||||
- ++ (if platformArch (targetPlatform dflags)
|
||||
- `elem` [ArchSPARC, ArchSPARC64]
|
||||
- && ldIsGnuLd
|
||||
+ ++ (if ldIsGnuLd
|
||||
then [SysTools.Option "-Wl,-no-relax"]
|
@ -1,27 +0,0 @@
|
||||
https://bugs.gentoo.org/792558
|
||||
|
||||
From 83407ffc7acc00cc025b9f6ed063add9ab9f9bcc Mon Sep 17 00:00:00 2001
|
||||
From: Krzysztof Gogolewski <krzysztof.gogolewski@tweag.io>
|
||||
Date: Fri, 25 Sep 2020 02:52:19 +0200
|
||||
Subject: [PATCH] Various documentation fixes
|
||||
|
||||
* Use r'' in conf.py. This fixes a Sphinx warning:
|
||||
WARNING: Support for evaluating Python 2 syntax is deprecated and will be removed in Sphinx 4.0. Convert docs/users_guide/conf.py to Python 3 syntax.
|
||||
--- a/docs/users_guide/conf.py
|
||||
+++ b/docs/users_guide/conf.py
|
||||
@@ -100,13 +100,13 @@ htmlhelp_basename = 'GHCUsersGuide'
|
||||
latex_elements = {
|
||||
'inputenc': '',
|
||||
'utf8extra': '',
|
||||
- 'preamble': '''
|
||||
+ 'preamble': r'''
|
||||
\usepackage{fontspec}
|
||||
\usepackage{makeidx}
|
||||
\setsansfont{DejaVu Sans}
|
||||
\setromanfont{DejaVu Serif}
|
||||
\setmonofont{DejaVu Sans Mono}
|
||||
-\setlength{\\tymin}{45pt}
|
||||
+\setlength{\tymin}{45pt}
|
||||
''',
|
||||
}
|
||||
|
@ -1,23 +0,0 @@
|
||||
Allow using cross-compilers to bootstrap GHC.
|
||||
|
||||
In my case I'm using "cross"-compiler from
|
||||
x86_64-unknown-linux to x86_64-HEAD-linux.
|
||||
|
||||
Those targets have the same ABI and can boot one another.
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index a8b8681a36..791367e8bf 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -228,11 +228,11 @@ FPTOOLS_SET_PLATFORM_VARS
|
||||
if test "$BuildPlatform" != "$bootstrap_target"
|
||||
then
|
||||
echo "This GHC (${WithGhc}) does not generate code for the build platform"
|
||||
echo " GHC target platform : $bootstrap_target"
|
||||
echo " Desired build platform : $BuildPlatform"
|
||||
- exit 1
|
||||
+ #exit 1
|
||||
fi
|
||||
|
||||
# Testing if we shall enable shared libs support on Solaris.
|
||||
# Anything older than SunOS 5.11 aka Solaris 11 (Express) is broken.
|
||||
|
@ -1,22 +0,0 @@
|
||||
Disable automagic NUMA linking.
|
||||
|
||||
Reported-by: Sergey Alirzaev
|
||||
Bug: https://github.com/gentoo-haskell/gentoo-haskell/issues/955
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -1264,10 +1264,14 @@ dnl ** Have libnuma?
|
||||
dnl --------------------------------------------------------------
|
||||
HaveLibNuma=0
|
||||
AC_CHECK_HEADERS([numa.h numaif.h])
|
||||
-
|
||||
if test "$ac_cv_header_numa_h$ac_cv_header_numaif_h" = "yesyes" ; then
|
||||
AC_CHECK_LIB(numa, numa_available,HaveLibNuma=1)
|
||||
fi
|
||||
+AC_ARG_ENABLE(numa,
|
||||
+ [AC_HELP_STRING([--enable-numa],
|
||||
+ [Enable NUMA thread balancing support in the runtime system via numactl's libnuma [default=auto]])])
|
||||
+AS_IF([test "x$enable_numa" = "xno"], [HaveLibNuma=0])
|
||||
+
|
||||
AC_DEFINE_UNQUOTED([HAVE_LIBNUMA], [$HaveLibNuma], [Define to 1 if you have libnuma])
|
||||
if test $HaveLibNuma = "1" ; then
|
||||
AC_SUBST([CabalHaveLibNuma],[True])
|
@ -1,22 +0,0 @@
|
||||
https://bugs.gentoo.org/829162
|
||||
https://gitlab.haskell.org/ghc/ghc/-/issues/19655
|
||||
https://gitlab.haskell.org/ghc/ghc/-/commit/ad2ef3a13f1eb000eab8e3d64592373b91a52806
|
||||
|
||||
From: Moritz Angermann <moritz.angermann@gmail.com>
|
||||
Date: Wed, 17 Feb 2021 21:13:07 +0800
|
||||
Subject: [PATCH] [configure] Fix _AC_PROG_CC_99
|
||||
|
||||
_AC_PROG_CC_99 isn't available anymore in recent autoconf versions.
|
||||
This broke on aarch64-darwin.
|
||||
--- a/aclocal.m4
|
||||
+++ b/aclocal.m4
|
||||
@@ -659,7 +659,7 @@ AC_DEFUN([FP_SET_CFLAGS_C99],
|
||||
CPPFLAGS="$$3"
|
||||
unset ac_cv_prog_cc_c99
|
||||
dnl perform detection
|
||||
- _AC_PROG_CC_C99
|
||||
+ AC_PROG_CC_C99
|
||||
fp_cc_c99="$ac_cv_prog_cc_c99"
|
||||
case "x$ac_cv_prog_cc_c99" in
|
||||
x) ;; # noop
|
||||
GitLab
|
@ -1,812 +0,0 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
# to make make a crosscompiler use crossdev and symlink ghc tree into
|
||||
# cross overlay. result would look like 'cross-sparc-unknown-linux-gnu/ghc'
|
||||
export CBUILD=${CBUILD:-${CHOST}}
|
||||
export CTARGET=${CTARGET:-${CHOST}}
|
||||
if [[ ${CTARGET} = ${CHOST} ]] ; then
|
||||
if [[ ${CATEGORY/cross-} != ${CATEGORY} ]] ; then
|
||||
export CTARGET=${CATEGORY/cross-}
|
||||
fi
|
||||
fi
|
||||
|
||||
PYTHON_COMPAT=( python3_{7..9} )
|
||||
inherit python-any-r1
|
||||
inherit autotools bash-completion-r1 eutils flag-o-matic ghc-package
|
||||
inherit multilib multiprocessing pax-utils toolchain-funcs prefix
|
||||
inherit check-reqs
|
||||
DESCRIPTION="The Glasgow Haskell Compiler"
|
||||
HOMEPAGE="https://www.haskell.org/ghc/"
|
||||
|
||||
# we don't have any binaries yet
|
||||
arch_binaries=""
|
||||
|
||||
BIN_PV=${PV}
|
||||
# sorted!
|
||||
#arch_binaries="$arch_binaries alpha? ( https://slyfox.uni.cx/~slyfox/distfiles/ghc-bin-${PV}-alpha.tbz2 )"
|
||||
#arch_binaries="$arch_binaries arm? ( https://slyfox.uni.cx/~slyfox/distfiles/ghc-bin-${PV}-armv7a-hardfloat-linux-gnueabi.tbz2 )"
|
||||
#arch_binaries="$arch_binaries arm64? ( https://slyfox.uni.cx/~slyfox/distfiles/ghc-bin-${PV}-aarch64-unknown-linux-gnu.tbz2 )"
|
||||
arch_binaries="$arch_binaries amd64? ( https://slyfox.uni.cx/~slyfox/distfiles/ghc-bin-${PV}-x86_64-pc-linux-gnu.tbz2 )"
|
||||
#arch_binaries="$arch_binaries ia64? ( https://slyfox.uni.cx/~slyfox/distfiles/ghc-bin-${PV}-ia64-fixed-fiw.tbz2 )"
|
||||
#arch_binaries="$arch_binaries ppc? ( https://slyfox.uni.cx/~slyfox/distfiles/ghc-bin-${PV}-ppc.tbz2 )"
|
||||
#arch_binaries="$arch_binaries ppc64? ( https://slyfox.uni.cx/~slyfox/distfiles/ghc-bin-${PV}-ppc64.tbz2 )"
|
||||
#arch_binaries="$arch_binaries ppc64? ( !big-endian? ( https://slyfox.uni.cx/~slyfox/distfiles/ghc-bin-${PV}-powerpc64le-unknown-linux-gnu.tbz2 ) )"
|
||||
#arch_binaries="$arch_binaries sparc? ( https://slyfox.uni.cx/~slyfox/distfiles/ghc-bin-${PV}-sparc.tbz2 )"
|
||||
arch_binaries="$arch_binaries x86? ( https://slyfox.uni.cx/~slyfox/distfiles/ghc-bin-${PV}-i686-pc-linux-gnu.tbz2 )"
|
||||
|
||||
# 0 - yet
|
||||
yet_binary() {
|
||||
case "${ARCH}" in
|
||||
#alpha) return 0 ;;
|
||||
#arm64) return 0 ;;
|
||||
#arm) return 0 ;;
|
||||
amd64) return 0 ;;
|
||||
#ia64) return 0 ;;
|
||||
#ppc) return 0 ;;
|
||||
#ppc64)
|
||||
# use big-endian && return 0
|
||||
# return 0
|
||||
# ;;
|
||||
#sparc) return 0 ;;
|
||||
x86) return 0 ;;
|
||||
*) return 1 ;;
|
||||
esac
|
||||
}
|
||||
|
||||
GHC_PV=${PV}
|
||||
#GHC_PV=8.10.0.20200123 # uncomment only for -alpha, -beta, -rc ebuilds
|
||||
GHC_P=${PN}-${GHC_PV} # using ${P} is almost never correct
|
||||
|
||||
SRC_URI="!binary? (
|
||||
https://downloads.haskell.org/ghc/${PV/_/-}/${GHC_P}-src.tar.xz
|
||||
test? ( https://downloads.haskell.org/ghc/${PV/_/-}/${GHC_P}-testsuite.tar.xz )
|
||||
)"
|
||||
S="${WORKDIR}"/${GHC_P}
|
||||
|
||||
[[ -n $arch_binaries ]] && SRC_URI+=" !ghcbootstrap? ( $arch_binaries )"
|
||||
|
||||
BUMP_LIBRARIES=(
|
||||
# "hackage-name hackage-version"
|
||||
)
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0/${PV}"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="big-endian doc elfutils ghcbootstrap ghcmakebinary +gmp numa profile test"
|
||||
IUSE+=" binary"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="
|
||||
>=dev-lang/perl-5.6.1
|
||||
dev-libs/gmp:0=
|
||||
sys-libs/ncurses:=[unicode(+)]
|
||||
elfutils? ( dev-libs/elfutils )
|
||||
!ghcmakebinary? ( dev-libs/libffi:= )
|
||||
numa? ( sys-process/numactl )
|
||||
"
|
||||
|
||||
# This set of dependencies is needed to run
|
||||
# prebuilt ghc. We specifically avoid ncurses
|
||||
# dependency with:
|
||||
# utils/ghc-pkg_HC_OPTS += -DBOOTSTRAPPING
|
||||
PREBUILT_BINARY_DEPENDS="
|
||||
!prefix? ( elibc_glibc? ( >=sys-libs/glibc-2.17 ) )
|
||||
"
|
||||
# This set of dependencies is needed to install
|
||||
# ghc[binary] in system. terminfo package is linked
|
||||
# against ncurses.
|
||||
PREBUILT_BINARY_RDEPENDS="${PREBUILT_BINARY_DEPENDS}
|
||||
sys-libs/ncurses:0/6
|
||||
"
|
||||
|
||||
RDEPEND+="binary? ( ${PREBUILT_BINARY_RDEPENDS} )"
|
||||
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND="
|
||||
virtual/pkgconfig
|
||||
doc? ( app-text/docbook-xml-dtd:4.2
|
||||
app-text/docbook-xml-dtd:4.5
|
||||
app-text/docbook-xsl-stylesheets
|
||||
dev-python/sphinx
|
||||
>=dev-libs/libxslt-1.1.2 )
|
||||
!ghcbootstrap? ( ${PREBUILT_BINARY_DEPENDS} )
|
||||
test? ( ${PYTHON_DEPS} )
|
||||
"
|
||||
|
||||
needs_python() {
|
||||
# test driver is written in python
|
||||
use test && return 0
|
||||
return 1
|
||||
}
|
||||
|
||||
# we build binaries without profiling support
|
||||
REQUIRED_USE="
|
||||
?? ( ghcbootstrap binary )
|
||||
?? ( profile binary )
|
||||
"
|
||||
|
||||
# haskell libraries built with cabal in configure mode, #515354
|
||||
QA_CONFIGURE_OPTIONS+=" --with-compiler --with-gcc"
|
||||
|
||||
is_crosscompile() {
|
||||
[[ ${CHOST} != ${CTARGET} ]]
|
||||
}
|
||||
|
||||
is_native() {
|
||||
[[ ${CHOST} == ${CBUILD} ]] && [[ ${CHOST} == ${CTARGET} ]]
|
||||
}
|
||||
|
||||
if ! is_crosscompile; then
|
||||
PDEPEND="!ghcbootstrap? ( >=app-admin/haskell-updater-1.2 )"
|
||||
fi
|
||||
|
||||
# returns tool prefix for crosscompiler.
|
||||
# Example:
|
||||
# CTARGET=armv7a-unknown-linux-gnueabi
|
||||
# CHOST=x86_64-pc-linux-gnu
|
||||
# "armv7a-unknown-linux-gnueabi-"
|
||||
# CTARGET=${CHOST}
|
||||
# ""
|
||||
# Used in tools and library prefix:
|
||||
# "${ED}"/usr/bin/$(cross)haddock
|
||||
# "${ED}/usr/$(get_libdir)/$(cross)${GHC_P}/package.conf.d"
|
||||
|
||||
cross() {
|
||||
if is_crosscompile; then
|
||||
echo "${CTARGET}-"
|
||||
else
|
||||
echo ""
|
||||
fi
|
||||
}
|
||||
|
||||
append-ghc-cflags() {
|
||||
local persistent compile assemble link
|
||||
local flag ghcflag
|
||||
|
||||
for flag in $*; do
|
||||
case ${flag} in
|
||||
persistent) persistent="yes";;
|
||||
compile) compile="yes";;
|
||||
assemble) assemble="yes";;
|
||||
link) link="yes";;
|
||||
*)
|
||||
[[ ${compile} ]] && ghcflag="-optc${flag}" CFLAGS+=" ${flag}" && GHC_FLAGS+=" ${ghcflag}" &&
|
||||
[[ ${persistent} ]] && GHC_PERSISTENT_FLAGS+=" ${ghcflag}"
|
||||
[[ ${assemble} ]] && ghcflag="-opta${flag}" CFLAGS+=" ${flag}" && GHC_FLAGS+=" ${ghcflag}" &&
|
||||
[[ ${persistent} ]] && GHC_PERSISTENT_FLAGS+=" ${ghcflag}"
|
||||
[[ ${link} ]] && ghcflag="-optl${flag}" LDFLAGS+=" ${flag}" && GHC_FLAGS+=" ${ghcflag}" &&
|
||||
[[ ${persistent} ]] && GHC_PERSISTENT_FLAGS+=" ${ghcflag}"
|
||||
;;
|
||||
esac
|
||||
done
|
||||
}
|
||||
|
||||
# $1 - lib name (under libraries/)
|
||||
# $2 - lib version
|
||||
# example: bump_lib "transformers" "0.4.2.0"
|
||||
bump_lib() {
|
||||
local pn=$1 pv=$2
|
||||
local p=${pn}-${pv}
|
||||
local f
|
||||
|
||||
einfo "Bumping ${pn} up to ${pv}"
|
||||
|
||||
for f in ghc.mk GNUmakefile; do
|
||||
mv libraries/"${pn}"/$f "${WORKDIR}"/"${p}"/$f || die
|
||||
done
|
||||
mv libraries/"${pn}" "${WORKDIR}"/"${pn}".old || die
|
||||
mv "${WORKDIR}"/"${p}" libraries/"${pn}" || die
|
||||
}
|
||||
|
||||
update_SRC_URI() {
|
||||
local p pn pv
|
||||
for p in "${BUMP_LIBRARIES[@]}"; do
|
||||
set -- $p
|
||||
pn=$1 pv=$2
|
||||
|
||||
SRC_URI+=" https://hackage.haskell.org/package/${pn}-${pv}/${pn}-${pv}.tar.gz"
|
||||
done
|
||||
}
|
||||
|
||||
update_SRC_URI
|
||||
|
||||
bump_libs() {
|
||||
local p pn pv
|
||||
for p in "${BUMP_LIBRARIES[@]}"; do
|
||||
set -- $p
|
||||
pn=$1 pv=$2
|
||||
|
||||
bump_lib "${pn}" "${pv}"
|
||||
done
|
||||
}
|
||||
|
||||
ghc_setup_cflags() {
|
||||
# TODO: plumb CFLAGS and BUILD_CFLAGS to respective CONF_CC_OPTS_STAGE<N>
|
||||
if ! is_native; then
|
||||
export CFLAGS=${GHC_CFLAGS-"-O2 -pipe"}
|
||||
export LDFLAGS=${GHC_LDFLAGS-"-Wl,-O1"}
|
||||
einfo "Crosscompiling mode:"
|
||||
einfo " CHOST: ${CHOST}"
|
||||
einfo " CTARGET: ${CTARGET}"
|
||||
einfo " CFLAGS: ${CFLAGS}"
|
||||
einfo " LDFLAGS: ${LDFLAGS}"
|
||||
einfo " prefix: $(cross)"
|
||||
return
|
||||
fi
|
||||
# We need to be very careful with the CFLAGS we ask ghc to pass through to
|
||||
# gcc. There are plenty of flags which will make gcc produce output that
|
||||
# breaks ghc in various ways. The main ones we want to pass through are
|
||||
# -mcpu / -march flags. These are important for arches like alpha & sparc.
|
||||
# We also use these CFLAGS for building the C parts of ghc, ie the rts.
|
||||
strip-flags
|
||||
strip-unsupported-flags
|
||||
|
||||
# Cmm can't parse line numbers #482086
|
||||
replace-flags -ggdb[3-9] -ggdb2
|
||||
|
||||
GHC_FLAGS=""
|
||||
GHC_PERSISTENT_FLAGS=""
|
||||
for flag in ${CFLAGS}; do
|
||||
case ${flag} in
|
||||
|
||||
# Ignore extra optimisation (ghc passes -O to gcc anyway)
|
||||
# -O2 and above break on too many systems
|
||||
-O*) ;;
|
||||
|
||||
# Arch and ABI flags are what we're really after
|
||||
-m*) append-ghc-cflags compile assemble ${flag};;
|
||||
|
||||
# Sometimes it's handy to see backtrace of RTS
|
||||
# to get an idea what happens there
|
||||
-g*) append-ghc-cflags compile ${flag};;
|
||||
|
||||
# Ignore all other flags, including all -f* flags
|
||||
esac
|
||||
done
|
||||
|
||||
for flag in ${LDFLAGS}; do
|
||||
append-ghc-cflags link ${flag}
|
||||
done
|
||||
|
||||
# GHC uses ${CBUILD}-gcc, ${CHOST}-gcc and ${CTARGET}-gcc at a single build.
|
||||
# Skip any gentoo-specific tweaks for cross-case to avoid passing unsupported
|
||||
# options to gcc.
|
||||
if is_native; then
|
||||
# prevent from failing to build unregisterised ghc:
|
||||
# https://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg171602.html
|
||||
use ppc64 && append-ghc-cflags persistent compile -mminimal-toc
|
||||
fi
|
||||
}
|
||||
|
||||
# substitutes string $1 to $2 in files $3 $4 ...
|
||||
relocate_path() {
|
||||
local from=$1
|
||||
local to=$2
|
||||
shift 2
|
||||
local file=
|
||||
for file in "$@"
|
||||
do
|
||||
sed -i -e "s|$from|$to|g" \
|
||||
"$file" || die "path relocation failed for '$file'"
|
||||
done
|
||||
}
|
||||
|
||||
# changes hardcoded ghc paths and updates package index
|
||||
# $1 - new absolute root path
|
||||
relocate_ghc() {
|
||||
local to=$1 ghc_v=${BIN_PV}
|
||||
|
||||
# libdir for prebuilt binary and for current system may mismatch
|
||||
# It does for prefix installation for example: bug #476998
|
||||
local bin_ghc_prefix=${WORKDIR}/usr
|
||||
local bin_libpath=$(echo "${bin_ghc_prefix}"/lib*)
|
||||
local bin_libdir=${bin_libpath#${bin_ghc_prefix}/}
|
||||
|
||||
# backup original script to use it later after relocation
|
||||
local gp_back="${T}/ghc-pkg-${ghc_v}-orig"
|
||||
cp "${WORKDIR}/usr/bin/ghc-pkg-${ghc_v}" "$gp_back" || die "unable to backup ghc-pkg wrapper"
|
||||
|
||||
if [[ ${bin_libdir} != $(get_libdir) ]]; then
|
||||
einfo "Relocating '${bin_libdir}' to '$(get_libdir)' (bug #476998)"
|
||||
# moving the dir itself is not strictly needed
|
||||
# but then USE=binary would result in installing
|
||||
# in '${bin_libdir}'
|
||||
mv "${bin_ghc_prefix}/${bin_libdir}" "${bin_ghc_prefix}/$(get_libdir)" || die
|
||||
|
||||
relocate_path "/usr/${bin_libdir}" "/usr/$(get_libdir)" \
|
||||
"${WORKDIR}/usr/bin/ghc-${ghc_v}" \
|
||||
"${WORKDIR}/usr/bin/ghci-${ghc_v}" \
|
||||
"${WORKDIR}/usr/bin/ghc-pkg-${ghc_v}" \
|
||||
"${WORKDIR}/usr/bin/hsc2hs" \
|
||||
"${WORKDIR}/usr/bin/runghc-${ghc_v}" \
|
||||
"$gp_back" \
|
||||
"${WORKDIR}/usr/$(get_libdir)/${PN}-${ghc_v}/package.conf.d/"*
|
||||
fi
|
||||
|
||||
# Relocate from /usr to ${EPREFIX}/usr
|
||||
relocate_path "/usr" "${to}/usr" \
|
||||
"${WORKDIR}/usr/bin/ghc-${ghc_v}" \
|
||||
"${WORKDIR}/usr/bin/ghci-${ghc_v}" \
|
||||
"${WORKDIR}/usr/bin/ghc-pkg-${ghc_v}" \
|
||||
"${WORKDIR}/usr/bin/haddock-ghc-${ghc_v}" \
|
||||
"${WORKDIR}/usr/bin/hp2ps" \
|
||||
"${WORKDIR}/usr/bin/hpc" \
|
||||
"${WORKDIR}/usr/bin/hsc2hs" \
|
||||
"${WORKDIR}/usr/bin/runghc-${ghc_v}" \
|
||||
"${WORKDIR}/usr/$(get_libdir)/${PN}-${ghc_v}/package.conf.d/"*
|
||||
|
||||
# this one we will use to regenerate cache
|
||||
# so it should point to current tree location
|
||||
relocate_path "/usr" "${WORKDIR}/usr" "$gp_back"
|
||||
|
||||
if use prefix; then
|
||||
hprefixify "${bin_libpath}"/${PN}*/settings
|
||||
fi
|
||||
|
||||
# regenerate the binary package cache
|
||||
"$gp_back" recache || die "failed to update cache after relocation"
|
||||
rm "$gp_back"
|
||||
}
|
||||
|
||||
ghc-check-reqs() {
|
||||
# These are pessimistic values (slightly bigger than worst-case)
|
||||
# Worst case is UNREG USE=profile ia64. See bug #611866 for some
|
||||
# numbers on various arches.
|
||||
CHECKREQS_DISK_BUILD=8G
|
||||
CHECKREQS_DISK_USR=2G
|
||||
# USE=binary roughly takes
|
||||
use binary && CHECKREQS_DISK_BUILD=4G
|
||||
|
||||
"$@"
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
ghc-check-reqs check-reqs_pkg_pretend
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
ghc-check-reqs check-reqs_pkg_setup
|
||||
|
||||
# quiet portage about prebuilt binaries
|
||||
use binary && QA_PREBUILT="*"
|
||||
|
||||
[[ ${MERGE_TYPE} == binary ]] && return
|
||||
|
||||
if use ghcbootstrap; then
|
||||
ewarn "You requested ghc bootstrapping, this is usually only used"
|
||||
ewarn "by Gentoo developers to make binary .tbz2 packages."
|
||||
|
||||
[[ -z $(type -P ghc) ]] && \
|
||||
die "Could not find a ghc to bootstrap with."
|
||||
else
|
||||
if ! yet_binary; then
|
||||
eerror "Please try emerging with USE=ghcbootstrap and report build"
|
||||
eerror "sucess or failure to the haskell team (haskell@gentoo.org)"
|
||||
die "No binary available for '${ARCH}' arch yet, USE=ghcbootstrap"
|
||||
fi
|
||||
fi
|
||||
|
||||
if needs_python; then
|
||||
python-any-r1_pkg_setup
|
||||
fi
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
# Create the ${S} dir if we're using the binary version
|
||||
use binary && mkdir "${S}"
|
||||
|
||||
# the Solaris and Darwin binaries from ghc (maeder) need to be
|
||||
# unpacked separately, so prevent them from being unpacked
|
||||
local ONLYA=${A}
|
||||
case ${CHOST} in
|
||||
*-darwin* | *-solaris*) ONLYA=${GHC_P}-src.tar.xz ;;
|
||||
esac
|
||||
unpack ${ONLYA}
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
ghc_setup_cflags
|
||||
|
||||
if ! use ghcbootstrap && [[ ${CHOST} != *-darwin* && ${CHOST} != *-solaris* ]]; then
|
||||
# Modify the wrapper script from the binary tarball to use GHC_PERSISTENT_FLAGS.
|
||||
# See bug #313635.
|
||||
sed -i -e "s|\"\$topdir\"|\"\$topdir\" ${GHC_PERSISTENT_FLAGS}|" \
|
||||
"${WORKDIR}/usr/bin/ghc-${BIN_PV}"
|
||||
|
||||
# allow hardened users use vanilla binary to bootstrap ghc
|
||||
# ghci uses mmap with rwx protection at it implements dynamic
|
||||
# linking on it's own (bug #299709)
|
||||
pax-mark -m "${WORKDIR}/usr/$(get_libdir)/${PN}-${BIN_PV}/bin/ghc"
|
||||
fi
|
||||
|
||||
if use binary; then
|
||||
if use prefix; then
|
||||
relocate_ghc "${EPREFIX}"
|
||||
fi
|
||||
|
||||
# Move unpacked files to the expected place
|
||||
mv "${WORKDIR}/usr" "${S}"
|
||||
eapply_user
|
||||
else
|
||||
if ! use ghcbootstrap; then
|
||||
case ${CHOST} in
|
||||
*-darwin* | *-solaris*)
|
||||
# UPDATE ME for ghc-7
|
||||
mkdir "${WORKDIR}"/ghc-bin-installer || die
|
||||
pushd "${WORKDIR}"/ghc-bin-installer > /dev/null || die
|
||||
use sparc-solaris && unpack ghc-6.10.4-sparc-sun-solaris2.tar.bz2
|
||||
use x86-solaris && unpack ghc-7.0.3-i386-unknown-solaris2.tar.bz2
|
||||
use x86-macos && unpack ghc-7.4.1-i386-apple-darwin.tar.bz2
|
||||
use x64-macos && unpack ghc-7.4.1-x86_64-apple-darwin.tar.bz2
|
||||
popd > /dev/null
|
||||
|
||||
pushd "${WORKDIR}"/ghc-bin-installer/ghc-[67].?*.? > /dev/null || die
|
||||
# fix the binaries so they run, on Solaris we need an
|
||||
# LD_LIBRARY_PATH which has our prefix libdirs, on
|
||||
# Darwin we need to replace the frameworks with our libs
|
||||
# from the prefix fix before installation, because some
|
||||
# of the tools are actually used during configure/make
|
||||
if [[ ${CHOST} == *-solaris* ]] ; then
|
||||
export LD_LIBRARY_PATH="${EPREFIX}/$(get_libdir):${EPREFIX}/usr/$(get_libdir):${LD_LIBRARY_PATH}"
|
||||
elif [[ ${CHOST} == *-darwin* ]] ; then
|
||||
local readline_framework=GNUreadline.framework/GNUreadline
|
||||
local gmp_framework=/opt/local/lib/libgmp.10.dylib
|
||||
local ncurses_file=/opt/local/lib/libncurses.5.dylib
|
||||
for binary in $(scanmacho -BRE MH_EXECUTE -F '%F' .) ; do
|
||||
install_name_tool -change \
|
||||
${readline_framework} \
|
||||
"${EPREFIX}"/lib/libreadline.dylib \
|
||||
${binary} || die
|
||||
install_name_tool -change \
|
||||
${gmp_framework} \
|
||||
"${EPREFIX}"/usr/lib/libgmp.dylib \
|
||||
${binary} || die
|
||||
install_name_tool -change \
|
||||
${ncurses_file} \
|
||||
"${EPREFIX}"/usr/lib/libncurses.dylib \
|
||||
${binary} || die
|
||||
done
|
||||
# we don't do frameworks!
|
||||
sed -i \
|
||||
-e 's/\(frameworks = \)\["GMP"\]/\1[]/g' \
|
||||
-e 's/\(extraLibraries = \)\["m"\]/\1["m","gmp"]/g' \
|
||||
rts/package.conf.in || die
|
||||
fi
|
||||
|
||||
# it is autoconf, but we really don't want to give it too
|
||||
# many arguments, in fact we do the make in-place anyway
|
||||
./configure --prefix="${WORKDIR}"/usr || die
|
||||
make install || die
|
||||
popd > /dev/null
|
||||
;;
|
||||
*)
|
||||
relocate_ghc "${WORKDIR}"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
sed -i -e "s|\"\$topdir\"|\"\$topdir\" ${GHC_PERSISTENT_FLAGS}|" \
|
||||
"${S}/ghc/ghc.wrapper"
|
||||
|
||||
cd "${S}" # otherwise eapply will break
|
||||
|
||||
eapply "${FILESDIR}"/${PN}-7.0.4-CHOST-prefix.patch
|
||||
eapply "${FILESDIR}"/${PN}-8.2.1-darwin.patch
|
||||
eapply "${FILESDIR}"/${PN}-7.8.3-prim-lm.patch
|
||||
eapply "${FILESDIR}"/${PN}-8.8.1-revert-CPP.patch
|
||||
eapply "${FILESDIR}"/${PN}-8.10.1-allow-cross-bootstrap.patch
|
||||
eapply "${FILESDIR}"/${PN}-8.10.3-C99-typo-ac270.patch
|
||||
eapply "${FILESDIR}"/${PN}-8.10.4-sphinx-quote.patch
|
||||
|
||||
# a bunch of crosscompiler patches
|
||||
# needs newer version:
|
||||
#eapply "${FILESDIR}"/${PN}-8.2.1_rc1-hp2ps-cross.patch
|
||||
|
||||
# mingw32 target
|
||||
pushd "${S}/libraries/Win32"
|
||||
eapply "${FILESDIR}"/${PN}-8.2.1_rc1-win32-cross-2-hack.patch # bad workaround
|
||||
popd
|
||||
|
||||
bump_libs
|
||||
|
||||
eapply_user
|
||||
# as we have changed the build system
|
||||
eautoreconf
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
if ! use binary; then
|
||||
# initialize build.mk
|
||||
echo '# Gentoo changes' > mk/build.mk
|
||||
|
||||
# Put docs into the right place, ie /usr/share/doc/ghc-${GHC_PV}
|
||||
echo "docdir = ${EPREFIX}/usr/share/doc/$(cross)${PF}" >> mk/build.mk
|
||||
echo "htmldir = ${EPREFIX}/usr/share/doc/$(cross)${PF}" >> mk/build.mk
|
||||
|
||||
# We also need to use the GHC_FLAGS flags when building ghc itself
|
||||
echo "SRC_HC_OPTS+=${HCFLAGS} ${GHC_FLAGS}" >> mk/build.mk
|
||||
echo "SRC_CC_OPTS+=${CFLAGS}" >> mk/build.mk
|
||||
echo "SRC_LD_OPTS+=${LDFLAGS}" >> mk/build.mk
|
||||
# Speed up initial Cabal bootstrap
|
||||
echo "utils/ghc-cabal_dist_EXTRA_HC_OPTS+=$(ghc-make-args)" >> mk/build.mk
|
||||
|
||||
# We can't depend on haddock except when bootstrapping when we
|
||||
# must build docs and include them into the binary .tbz2 package
|
||||
# app-text/dblatex is not in portage, can not build PDF or PS
|
||||
echo "BUILD_SPHINX_PDF = NO" >> mk/build.mk
|
||||
echo "BUILD_SPHINX_HTML = $(usex doc YES NO)" >> mk/build.mk
|
||||
echo "BUILD_MAN = $(usex doc YES NO)" >> mk/build.mk
|
||||
|
||||
# this controls presence on 'xhtml' and 'haddock' in final install
|
||||
echo "HADDOCK_DOCS = YES" >> mk/build.mk
|
||||
|
||||
# not used outside of ghc's test
|
||||
if [[ -n ${GHC_BUILD_DPH} ]]; then
|
||||
echo "BUILD_DPH = YES" >> mk/build.mk
|
||||
else
|
||||
echo "BUILD_DPH = NO" >> mk/build.mk
|
||||
fi
|
||||
|
||||
# Any non-native build has to skip as it needs
|
||||
# target haddock binary to be runnabine.
|
||||
if ! is_native; then
|
||||
# disable docs generation as it requires running stage2
|
||||
echo "HADDOCK_DOCS=NO" >> mk/build.mk
|
||||
echo "BUILD_SPHINX_HTML=NO" >> mk/build.mk
|
||||
echo "BUILD_SPHINX_PDF=NO" >> mk/build.mk
|
||||
fi
|
||||
|
||||
if is_crosscompile; then
|
||||
# Install ghc-stage1 crosscompiler instead of
|
||||
# ghc-stage2 cross-built compiler.
|
||||
echo "Stage1Only=YES" >> mk/build.mk
|
||||
fi
|
||||
|
||||
# allows overriding build flavours for libraries:
|
||||
# v - vanilla (static libs)
|
||||
# p - profiled
|
||||
# dyn - shared libraries
|
||||
# example: GHC_LIBRARY_WAYS="v dyn"
|
||||
if [[ -n ${GHC_LIBRARY_WAYS} ]]; then
|
||||
echo "GhcLibWays=${GHC_LIBRARY_WAYS}" >> mk/build.mk
|
||||
fi
|
||||
echo "BUILD_PROF_LIBS = $(usex profile YES NO)" >> mk/build.mk
|
||||
|
||||
# Get ghc from the unpacked binary .tbz2
|
||||
# except when bootstrapping we just pick ghc up off the path
|
||||
if ! use ghcbootstrap; then
|
||||
export PATH="${WORKDIR}/usr/bin:${PATH}"
|
||||
fi
|
||||
|
||||
echo "INTEGER_LIBRARY = $(usex gmp integer-gmp integer-simple)" >> mk/build.mk
|
||||
|
||||
# don't strip anything. Very useful when stage2 SIGSEGVs on you
|
||||
echo "STRIP_CMD = :" >> mk/build.mk
|
||||
|
||||
local econf_args=()
|
||||
|
||||
# GHC embeds toolchain it was built by and uses it later.
|
||||
# Don't allow things like ccache or versioned binary slip.
|
||||
# We use stable thing across gcc upgrades.
|
||||
# User can use EXTRA_ECONF=CC=... to override this default.
|
||||
econf_args+=(
|
||||
AR=${CTARGET}-ar
|
||||
CC=${CTARGET}-gcc
|
||||
# these should be inferred by GHC but ghc defaults
|
||||
# to using bundled tools on windows.
|
||||
Windres=${CTARGET}-windres
|
||||
DllWrap=${CTARGET}-dllwrap
|
||||
# we set the linker explicitly below
|
||||
--disable-ld-override
|
||||
)
|
||||
case ${CTARGET} in
|
||||
arm*)
|
||||
# ld.bfd-2.28 does not work for ghc. Force ld.gold
|
||||
# instead. This should be removed once gentoo gets
|
||||
# a fix for R_ARM_COPY bug: https://sourceware.org/PR16177
|
||||
econf_args+=(LD=${CTARGET}-ld.gold)
|
||||
;;
|
||||
sparc*)
|
||||
# ld.gold-2.28 does not work for ghc. Force ld.bfd
|
||||
# instead. This should be removed once gentoo gets
|
||||
# a fix for missing --no-relax support bug:
|
||||
# https://sourceware.org/ml/binutils/2017-07/msg00183.html
|
||||
econf_args+=(LD=${CTARGET}-ld.bfd)
|
||||
;;
|
||||
*)
|
||||
econf_args+=(LD=${CTARGET}-ld)
|
||||
esac
|
||||
|
||||
if [[ ${CBUILD} != ${CHOST} ]]; then
|
||||
# GHC bug: ghc claims not to support cross-building.
|
||||
# It does, but does not distinct --host= value
|
||||
# for stage1 and stage2 compiler.
|
||||
econf_args+=(--host=${CBUILD})
|
||||
fi
|
||||
|
||||
if use ghcmakebinary; then
|
||||
# When building booting libary we are trying to
|
||||
# bundle or restrict most of external depends
|
||||
# with unstable ABI:
|
||||
# - embed libffi (default GHC behaviour)
|
||||
# - disable ncurses support for ghci (via haskeline)
|
||||
# https://bugs.gentoo.org/557478
|
||||
# - disable ncurses support for ghc-pkg
|
||||
echo "libraries/haskeline_CONFIGURE_OPTS += --flag=-terminfo" >> mk/build.mk
|
||||
echo "utils/ghc-pkg_HC_OPTS += -DBOOTSTRAPPING" >> mk/build.mk
|
||||
elif is_native; then
|
||||
# using ${GTARGET}'s libffi is not supported yet:
|
||||
# GHC embeds full path for ffi includes without /usr/${CTARGET} account.
|
||||
econf_args+=(--with-system-libffi)
|
||||
econf_args+=(--with-ffi-includes=$($(tc-getPKG_CONFIG) libffi --cflags-only-I | sed -e 's@^-I@@'))
|
||||
fi
|
||||
|
||||
einfo "Final mk/build.mk:"
|
||||
cat mk/build.mk || die
|
||||
|
||||
econf ${econf_args[@]} \
|
||||
--enable-bootstrap-with-devel-snapshot \
|
||||
$(use_enable elfutils dwarf-unwind) \
|
||||
$(use_enable numa)
|
||||
|
||||
if [[ ${PV} == *9999* ]]; then
|
||||
GHC_PV="$(grep 'S\[\"PACKAGE_VERSION\"\]' config.status | sed -e 's@^.*=\"\(.*\)\"@\1@')"
|
||||
GHC_P=${PN}-${GHC_PV}
|
||||
fi
|
||||
fi # ! use binary
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
if ! use binary; then
|
||||
# Stage1Only crosscompiler does not build stage2
|
||||
if ! is_crosscompile; then
|
||||
# 1. build/pax-mark compiler binary first
|
||||
emake ghc/stage2/build/tmp/ghc-stage2
|
||||
# 2. pax-mark (bug #516430)
|
||||
pax-mark -m ghc/stage2/build/tmp/ghc-stage2
|
||||
# 2. build/pax-mark haddock using ghc-stage2
|
||||
if is_native; then
|
||||
# non-native build does not build haddock
|
||||
# due to HADDOCK_DOCS=NO, but it could.
|
||||
emake utils/haddock/dist/build/tmp/haddock
|
||||
pax-mark -m utils/haddock/dist/build/tmp/haddock
|
||||
fi
|
||||
fi
|
||||
# 3. and then all the rest
|
||||
emake all
|
||||
fi # ! use binary
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# TODO: deal with:
|
||||
# - sandbox (pollutes environment)
|
||||
# - extra packages (to extend testsuite coverage)
|
||||
# bits are taken from 'validate'
|
||||
local make_test_target='test' # can be fulltest
|
||||
# not 'emake' as testsuite uses '$MAKE' without jobserver available
|
||||
make $make_test_target stage=2 THREADS=$(makeopts_jobs)
|
||||
}
|
||||
|
||||
src_install() {
|
||||
if use binary; then
|
||||
use prefix && mkdir -p "${ED}"
|
||||
mv "${S}/usr" "${ED}"
|
||||
else
|
||||
[[ -f VERSION ]] || emake VERSION
|
||||
|
||||
# -j1 due to a rare race in install script:
|
||||
# make --no-print-directory -f ghc.mk phase=final install
|
||||
# /usr/lib/portage/python3.4/ebuild-helpers/xattr/install -c -m 755 \
|
||||
# -d "/tmp/portage-tmpdir/portage/cross-armv7a-unknown-linux-gnueabi/ghc-9999/image/usr/lib64/armv7a-unknown-linux-gnueabi-ghc-8.3.20170404/include"
|
||||
# /usr/lib/portage/python3.4/ebuild-helpers/xattr/install -c -m 644 utils/hsc2hs/template-hsc.h \
|
||||
# "/tmp/portage-tmpdir/portage/cross-armv7a-unknown-linux-gnueabi/ghc-9999/image/usr/lib64/armv7a-unknown-linux-gnueabi-ghc-8.3.20170404"
|
||||
# /usr/bin/install: cannot create regular file \
|
||||
# '/tmp/portage-tmpdir/portage/cross-armv7a-unknown-linux-gnueabi/ghc-9999/image/usr/lib64/armv7a-unknown-linux-gnueabi-ghc-8.3.20170404': No such file or directory
|
||||
emake -j1 install DESTDIR="${D}"
|
||||
|
||||
# Skip for cross-targets as they all share target location:
|
||||
# /usr/share/doc/ghc-9999/
|
||||
if ! is_crosscompile; then
|
||||
dodoc "distrib/README" "LICENSE" "VERSION"
|
||||
fi
|
||||
|
||||
# rename ghc-shipped files to avoid collision
|
||||
# of external packages. Motivating example:
|
||||
# user had installed:
|
||||
# dev-lang/ghc-7.8.4-r0 (with transformers-0.3.0.0)
|
||||
# dev-haskell/transformers-0.4.2.0
|
||||
# then user tried to update to
|
||||
# dev-lang/ghc-7.8.4-r1 (with transformers-0.4.2.0)
|
||||
# this will lead to single .conf file collision.
|
||||
local shipped_conf renamed_conf
|
||||
local package_confdir="${ED}/usr/$(get_libdir)/$(cross)${GHC_P}/package.conf.d"
|
||||
for shipped_conf in "${package_confdir}"/*.conf; do
|
||||
# rename 'pkg-ver-id.conf' to 'pkg-ver-id-gentoo-${PF}.conf'
|
||||
renamed_conf=${shipped_conf%.conf}-gentoo-${PF}.conf
|
||||
mv "${shipped_conf}" "${renamed_conf}" || die
|
||||
done
|
||||
|
||||
# remove link, but leave 'haddock-${GHC_P}'
|
||||
rm -f "${ED}"/usr/bin/$(cross)haddock
|
||||
|
||||
if ! is_crosscompile; then
|
||||
newbashcomp "${FILESDIR}"/ghc-bash-completion ghc-pkg
|
||||
newbashcomp utils/completion/ghc.bash ghc
|
||||
fi
|
||||
fi
|
||||
|
||||
# path to the package.cache
|
||||
local package_confdir="${ED}/usr/$(get_libdir)/$(cross)${GHC_P}/package.conf.d"
|
||||
PKGCACHE="${package_confdir}"/package.cache
|
||||
# copy the package.conf.d, including timestamp, save it so we can help
|
||||
# users that have a broken package.conf.d
|
||||
cp -pR "${package_confdir}"{,.initial} || die "failed to backup intial package.conf.d"
|
||||
|
||||
# copy the package.conf, including timestamp, save it so we later can put it
|
||||
# back before uninstalling, or when upgrading.
|
||||
cp -p "${PKGCACHE}"{,.shipped} \
|
||||
|| die "failed to copy package.conf.d/package.cache"
|
||||
|
||||
if is_crosscompile; then
|
||||
# When we build a cross-compiler the layout is the following:
|
||||
# usr/lib/${CTARGET}-ghc-${VER}/ contains target libraries
|
||||
# but
|
||||
# usr/lib/${CTARGET}-ghc-${VER}/bin/ directory
|
||||
# containst host binaries (modulo bugs).
|
||||
|
||||
# Portage's stripping mechanism does not skip stripping
|
||||
# foreign binaries. This frequently causes binaries to be
|
||||
# broken.
|
||||
#
|
||||
# Thus below we disable stripping of target libraries and allow
|
||||
# stripping hosts executables.
|
||||
dostrip -x "/usr/$(get_libdir)/$(cross)${GHC_P}"
|
||||
dostrip "/usr/$(get_libdir)/$(cross)${GHC_P}/bin"
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
# have we got an earlier version of ghc installed?
|
||||
if has_version "<${CATEGORY}/${PF}"; then
|
||||
haskell_updater_warn="1"
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
ghc-reregister
|
||||
|
||||
# path to the package.cache
|
||||
PKGCACHE="${EROOT}/usr/$(get_libdir)/$(cross)${GHC_P}/package.conf.d/package.cache"
|
||||
|
||||
# give the cache a new timestamp, it must be as recent as
|
||||
# the package.conf.d directory.
|
||||
touch "${PKGCACHE}"
|
||||
|
||||
if [[ "${haskell_updater_warn}" == "1" ]]; then
|
||||
ewarn
|
||||
ewarn "\e[1;31m************************************************************************\e[0m"
|
||||
ewarn
|
||||
ewarn "You have just upgraded from an older version of GHC."
|
||||
ewarn "You may have to run"
|
||||
ewarn " 'haskell-updater'"
|
||||
ewarn "to rebuild all ghc-based Haskell libraries."
|
||||
ewarn
|
||||
ewarn "\e[1;31m************************************************************************\e[0m"
|
||||
ewarn
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_prerm() {
|
||||
PKGCACHE="${EROOT}/usr/$(get_libdir)/$(cross)${GHC_P}/package.conf.d/package.cache"
|
||||
rm -rf "${PKGCACHE}"
|
||||
|
||||
cp -p "${PKGCACHE}"{.shipped,}
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
ghc-package_pkg_postrm
|
||||
}
|
@ -1,824 +0,0 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
# to make make a crosscompiler use crossdev and symlink ghc tree into
|
||||
# cross overlay. result would look like 'cross-sparc-unknown-linux-gnu/ghc'
|
||||
export CBUILD=${CBUILD:-${CHOST}}
|
||||
export CTARGET=${CTARGET:-${CHOST}}
|
||||
if [[ ${CTARGET} = ${CHOST} ]] ; then
|
||||
if [[ ${CATEGORY/cross-} != ${CATEGORY} ]] ; then
|
||||
export CTARGET=${CATEGORY/cross-}
|
||||
fi
|
||||
fi
|
||||
|
||||
PYTHON_COMPAT=( python3_{7..9} )
|
||||
inherit python-any-r1
|
||||
inherit autotools bash-completion-r1 eutils flag-o-matic ghc-package
|
||||
inherit multilib multiprocessing pax-utils toolchain-funcs prefix
|
||||
inherit check-reqs
|
||||
DESCRIPTION="The Glasgow Haskell Compiler"
|
||||
HOMEPAGE="https://www.haskell.org/ghc/"
|
||||
|
||||
# we don't have any binaries yet
|
||||
arch_binaries=""
|
||||
|
||||
BIN_PV=${PV}
|
||||
# sorted!
|
||||
#arch_binaries="$arch_binaries alpha? ( https://slyfox.uni.cx/~slyfox/distfiles/ghc-bin-${PV}-alpha.tbz2 )"
|
||||
#arch_binaries="$arch_binaries arm? ( https://slyfox.uni.cx/~slyfox/distfiles/ghc-bin-${PV}-armv7a-hardfloat-linux-gnueabi.tbz2 )"
|
||||
#arch_binaries="$arch_binaries arm64? ( https://slyfox.uni.cx/~slyfox/distfiles/ghc-bin-${PV}-aarch64-unknown-linux-gnu.tbz2 )"
|
||||
arch_binaries="$arch_binaries amd64? ( https://slyfox.uni.cx/~slyfox/distfiles/ghc-bin-${PV}-x86_64-pc-linux-gnu.tbz2 )"
|
||||
#arch_binaries="$arch_binaries ia64? ( https://slyfox.uni.cx/~slyfox/distfiles/ghc-bin-${PV}-ia64-fixed-fiw.tbz2 )"
|
||||
#arch_binaries="$arch_binaries ppc? ( https://slyfox.uni.cx/~slyfox/distfiles/ghc-bin-${PV}-ppc.tbz2 )"
|
||||
#arch_binaries="$arch_binaries ppc64? ( !big-endian? ( https://slyfox.uni.cx/~slyfox/distfiles/ghc-bin-${PV}-powerpc64le-unknown-linux-gnu.tbz2 ) )"
|
||||
#arch_binaries="$arch_binaries sparc? ( https://slyfox.uni.cx/~slyfox/distfiles/ghc-bin-${PV}-sparc.tbz2 )"
|
||||
arch_binaries="$arch_binaries x86? ( https://slyfox.uni.cx/~slyfox/distfiles/ghc-bin-${PV}-i686-pc-linux-gnu.tbz2 )"
|
||||
|
||||
# 0 - yet
|
||||
yet_binary() {
|
||||
case "${ARCH}" in
|
||||
#alpha) return 0 ;;
|
||||
#arm64) return 0 ;;
|
||||
#arm) return 0 ;;
|
||||
amd64) return 0 ;;
|
||||
#ia64) return 0 ;;
|
||||
#ppc) return 0 ;;
|
||||
#ppc64)
|
||||
# use big-endian && return 1
|
||||
# return 0
|
||||
# ;;
|
||||
#sparc) return 0 ;;
|
||||
x86) return 0 ;;
|
||||
*) return 1 ;;
|
||||
esac
|
||||
}
|
||||
|
||||
GHC_PV=${PV}
|
||||
#GHC_PV=8.6.0.20180810 # uncomment only for -alpha, -beta, -rc ebuilds
|
||||
GHC_P=${PN}-${GHC_PV} # using ${P} is almost never correct
|
||||
|
||||
SRC_URI="!binary? (
|
||||
https://downloads.haskell.org/~ghc/${PV/_/-}/${GHC_P}-src.tar.xz
|
||||
test? ( https://downloads.haskell.org/~ghc/${PV/_/-}/${GHC_P}-testsuite.tar.xz )
|
||||
)"
|
||||
S="${WORKDIR}"/${GHC_P}
|
||||
|
||||
[[ -n $arch_binaries ]] && SRC_URI+=" !ghcbootstrap? ( $arch_binaries )"
|
||||
|
||||
BUMP_LIBRARIES=(
|
||||
# "hackage-name hackage-version"
|
||||
)
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0/${PV}"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="big-endian doc elfutils ghcbootstrap ghcmakebinary +gmp numa profile test"
|
||||
IUSE+=" binary"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="
|
||||
>=dev-lang/perl-5.6.1
|
||||
dev-libs/gmp:0=
|
||||
sys-libs/ncurses:=[unicode(+)]
|
||||
elfutils? ( dev-libs/elfutils )
|
||||
!ghcmakebinary? ( dev-libs/libffi:= )
|
||||
numa? ( sys-process/numactl )
|
||||
"
|
||||
|
||||
# This set of dependencies is needed to run
|
||||
# prebuilt ghc. We specifically avoid ncurses
|
||||
# dependency with:
|
||||
# utils/ghc-pkg_HC_OPTS += -DBOOTSTRAPPING
|
||||
PREBUILT_BINARY_DEPENDS="
|
||||
!prefix? ( elibc_glibc? ( >=sys-libs/glibc-2.17 ) )
|
||||
"
|
||||
# This set of dependencies is needed to install
|
||||
# ghc[binary] in system. terminfo package is linked
|
||||
# against ncurses.
|
||||
PREBUILT_BINARY_RDEPENDS="${PREBUILT_BINARY_DEPENDS}
|
||||
sys-libs/ncurses:0/6
|
||||
"
|
||||
|
||||
RDEPEND+="binary? ( ${PREBUILT_BINARY_RDEPENDS} )"
|
||||
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND="
|
||||
virtual/pkgconfig
|
||||
doc? ( app-text/docbook-xml-dtd:4.2
|
||||
app-text/docbook-xml-dtd:4.5
|
||||
app-text/docbook-xsl-stylesheets
|
||||
dev-python/sphinx
|
||||
>=dev-libs/libxslt-1.1.2 )
|
||||
!ghcbootstrap? ( ${PREBUILT_BINARY_DEPENDS} )
|
||||
test? ( ${PYTHON_DEPS} )
|
||||
"
|
||||
|
||||
needs_python() {
|
||||
# test driver is written in python
|
||||
use test && return 0
|
||||
return 1
|
||||
}
|
||||
|
||||
# we build binaries without profiling support
|
||||
REQUIRED_USE="
|
||||
?? ( ghcbootstrap binary )
|
||||
?? ( profile binary )
|
||||
"
|
||||
|
||||
# haskell libraries built with cabal in configure mode, #515354
|
||||
QA_CONFIGURE_OPTIONS+=" --with-compiler --with-gcc"
|
||||
|
||||
is_crosscompile() {
|
||||
[[ ${CHOST} != ${CTARGET} ]]
|
||||
}
|
||||
|
||||
is_native() {
|
||||
[[ ${CHOST} == ${CBUILD} ]] && [[ ${CHOST} == ${CTARGET} ]]
|
||||
}
|
||||
|
||||
if ! is_crosscompile; then
|
||||
PDEPEND="!ghcbootstrap? ( >=app-admin/haskell-updater-1.2 )"
|
||||
fi
|
||||
|
||||
# returns tool prefix for crosscompiler.
|
||||
# Example:
|
||||
# CTARGET=armv7a-unknown-linux-gnueabi
|
||||
# CHOST=x86_64-pc-linux-gnu
|
||||
# "armv7a-unknown-linux-gnueabi-"
|
||||
# CTARGET=${CHOST}
|
||||
# ""
|
||||
# Used in tools and library prefix:
|
||||
# "${ED}"/usr/bin/$(cross)haddock
|
||||
# "${ED}/usr/$(get_libdir)/$(cross)${GHC_P}/package.conf.d"
|
||||
|
||||
cross() {
|
||||
if is_crosscompile; then
|
||||
echo "${CTARGET}-"
|
||||
else
|
||||
echo ""
|
||||
fi
|
||||
}
|
||||
|
||||
append-ghc-cflags() {
|
||||
local persistent compile assemble link
|
||||
local flag ghcflag
|
||||
|
||||
for flag in $*; do
|
||||
case ${flag} in
|
||||
persistent) persistent="yes";;
|
||||
compile) compile="yes";;
|
||||
assemble) assemble="yes";;
|
||||
link) link="yes";;
|
||||
*)
|
||||
[[ ${compile} ]] && ghcflag="-optc${flag}" CFLAGS+=" ${flag}" && GHC_FLAGS+=" ${ghcflag}" &&
|
||||
[[ ${persistent} ]] && GHC_PERSISTENT_FLAGS+=" ${ghcflag}"
|
||||
[[ ${assemble} ]] && ghcflag="-opta${flag}" CFLAGS+=" ${flag}" && GHC_FLAGS+=" ${ghcflag}" &&
|
||||
[[ ${persistent} ]] && GHC_PERSISTENT_FLAGS+=" ${ghcflag}"
|
||||
[[ ${link} ]] && ghcflag="-optl${flag}" LDFLAGS+=" ${flag}" && GHC_FLAGS+=" ${ghcflag}" &&
|
||||
[[ ${persistent} ]] && GHC_PERSISTENT_FLAGS+=" ${ghcflag}"
|
||||
;;
|
||||
esac
|
||||
done
|
||||
}
|
||||
|
||||
# $1 - lib name (under libraries/)
|
||||
# $2 - lib version
|
||||
# example: bump_lib "transformers" "0.4.2.0"
|
||||
bump_lib() {
|
||||
local pn=$1 pv=$2
|
||||
local p=${pn}-${pv}
|
||||
local f
|
||||
|
||||
einfo "Bumping ${pn} up to ${pv}"
|
||||
|
||||
for f in ghc.mk GNUmakefile; do
|
||||
mv libraries/"${pn}"/$f "${WORKDIR}"/"${p}"/$f || die
|
||||
done
|
||||
mv libraries/"${pn}" "${WORKDIR}"/"${pn}".old || die
|
||||
mv "${WORKDIR}"/"${p}" libraries/"${pn}" || die
|
||||
}
|
||||
|
||||
update_SRC_URI() {
|
||||
local p pn pv
|
||||
for p in "${BUMP_LIBRARIES[@]}"; do
|
||||
set -- $p
|
||||
pn=$1 pv=$2
|
||||
|
||||
SRC_URI+=" https://hackage.haskell.org/package/${pn}-${pv}/${pn}-${pv}.tar.gz"
|
||||
done
|
||||
}
|
||||
|
||||
update_SRC_URI
|
||||
|
||||
bump_libs() {
|
||||
local p pn pv
|
||||
for p in "${BUMP_LIBRARIES[@]}"; do
|
||||
set -- $p
|
||||
pn=$1 pv=$2
|
||||
|
||||
bump_lib "${pn}" "${pv}"
|
||||
done
|
||||
}
|
||||
|
||||
ghc_setup_cflags() {
|
||||
# TODO: plumb CFLAGS and BUILD_CFLAGS to respective CONF_CC_OPTS_STAGE<N>
|
||||
if ! is_native; then
|
||||
export CFLAGS=${GHC_CFLAGS-"-O2 -pipe"}
|
||||
export LDFLAGS=${GHC_LDFLAGS-"-Wl,-O1"}
|
||||
einfo "Crosscompiling mode:"
|
||||
einfo " CHOST: ${CHOST}"
|
||||
einfo " CTARGET: ${CTARGET}"
|
||||
einfo " CFLAGS: ${CFLAGS}"
|
||||
einfo " LDFLAGS: ${LDFLAGS}"
|
||||
einfo " prefix: $(cross)"
|
||||
return
|
||||
fi
|
||||
# We need to be very careful with the CFLAGS we ask ghc to pass through to
|
||||
# gcc. There are plenty of flags which will make gcc produce output that
|
||||
# breaks ghc in various ways. The main ones we want to pass through are
|
||||
# -mcpu / -march flags. These are important for arches like alpha & sparc.
|
||||
# We also use these CFLAGS for building the C parts of ghc, ie the rts.
|
||||
strip-flags
|
||||
strip-unsupported-flags
|
||||
|
||||
# Cmm can't parse line numbers #482086
|
||||
replace-flags -ggdb[3-9] -ggdb2
|
||||
|
||||
GHC_FLAGS=""
|
||||
GHC_PERSISTENT_FLAGS=""
|
||||
for flag in ${CFLAGS}; do
|
||||
case ${flag} in
|
||||
|
||||
# Ignore extra optimisation (ghc passes -O to gcc anyway)
|
||||
# -O2 and above break on too many systems
|
||||
-O*) ;;
|
||||
|
||||
# Arch and ABI flags are what we're really after
|
||||
-m*) append-ghc-cflags compile assemble ${flag};;
|
||||
|
||||
# Sometimes it's handy to see backtrace of RTS
|
||||
# to get an idea what happens there
|
||||
-g*) append-ghc-cflags compile ${flag};;
|
||||
|
||||
# Ignore all other flags, including all -f* flags
|
||||
esac
|
||||
done
|
||||
|
||||
for flag in ${LDFLAGS}; do
|
||||
append-ghc-cflags link ${flag}
|
||||
done
|
||||
|
||||
# GHC uses ${CBUILD}-gcc, ${CHOST}-gcc and ${CTARGET}-gcc at a single build.
|
||||
# Skip any gentoo-specific tweaks for cross-case to avoid passing unsupported
|
||||
# options to gcc.
|
||||
if is_native; then
|
||||
# hardened-gcc needs to be disabled, because our prebuilt binaries/libraries
|
||||
# are not built with fPIC, bug #606666
|
||||
gcc-specs-pie && append-ghc-cflags persistent compile link -nopie
|
||||
tc-is-gcc && ver_test $(gcc-version) -ge 6.3 && if ! use ghcbootstrap; then
|
||||
# gcc-6.3 has support for -no-pie upstream, but spelling differs from
|
||||
# gentoo-specific '-nopie'. We enable it in non-bootstrap to allow
|
||||
# hardened users try '-pie' in USE=ghcbootstrap mode.
|
||||
append-ghc-cflags compile link -no-pie
|
||||
fi
|
||||
|
||||
# prevent from failing to build unregisterised ghc:
|
||||
# https://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg171602.html
|
||||
use ppc64 && append-ghc-cflags persistent compile -mminimal-toc
|
||||
fi
|
||||
}
|
||||
|
||||
# substitutes string $1 to $2 in files $3 $4 ...
|
||||
relocate_path() {
|
||||
local from=$1
|
||||
local to=$2
|
||||
shift 2
|
||||
local file=
|
||||
for file in "$@"
|
||||
do
|
||||
sed -i -e "s|$from|$to|g" \
|
||||
"$file" || die "path relocation failed for '$file'"
|
||||
done
|
||||
}
|
||||
|
||||
# changes hardcoded ghc paths and updates package index
|
||||
# $1 - new absolute root path
|
||||
relocate_ghc() {
|
||||
local to=$1 ghc_v=${BIN_PV}
|
||||
|
||||
# libdir for prebuilt binary and for current system may mismatch
|
||||
# It does for prefix installation for example: bug #476998
|
||||
local bin_ghc_prefix=${WORKDIR}/usr
|
||||
local bin_libpath=$(echo "${bin_ghc_prefix}"/lib*)
|
||||
local bin_libdir=${bin_libpath#${bin_ghc_prefix}/}
|
||||
|
||||
# backup original script to use it later after relocation
|
||||
local gp_back="${T}/ghc-pkg-${ghc_v}-orig"
|
||||
cp "${WORKDIR}/usr/bin/ghc-pkg-${ghc_v}" "$gp_back" || die "unable to backup ghc-pkg wrapper"
|
||||
|
||||
if [[ ${bin_libdir} != $(get_libdir) ]]; then
|
||||
einfo "Relocating '${bin_libdir}' to '$(get_libdir)' (bug #476998)"
|
||||
# moving the dir itself is not strictly needed
|
||||
# but then USE=binary would result in installing
|
||||
# in '${bin_libdir}'
|
||||
mv "${bin_ghc_prefix}/${bin_libdir}" "${bin_ghc_prefix}/$(get_libdir)" || die
|
||||
|
||||
relocate_path "/usr/${bin_libdir}" "/usr/$(get_libdir)" \
|
||||
"${WORKDIR}/usr/bin/ghc-${ghc_v}" \
|
||||
"${WORKDIR}/usr/bin/ghci-${ghc_v}" \
|
||||
"${WORKDIR}/usr/bin/ghc-pkg-${ghc_v}" \
|
||||
"${WORKDIR}/usr/bin/hsc2hs" \
|
||||
"${WORKDIR}/usr/bin/runghc-${ghc_v}" \
|
||||
"$gp_back" \
|
||||
"${WORKDIR}/usr/$(get_libdir)/${PN}-${ghc_v}/package.conf.d/"*
|
||||
fi
|
||||
|
||||
# Relocate from /usr to ${EPREFIX}/usr
|
||||
relocate_path "/usr" "${to}/usr" \
|
||||
"${WORKDIR}/usr/bin/ghc-${ghc_v}" \
|
||||
"${WORKDIR}/usr/bin/ghci-${ghc_v}" \
|
||||
"${WORKDIR}/usr/bin/ghc-pkg-${ghc_v}" \
|
||||
"${WORKDIR}/usr/bin/haddock-ghc-${ghc_v}" \
|
||||
"${WORKDIR}/usr/bin/hp2ps" \
|
||||
"${WORKDIR}/usr/bin/hpc" \
|
||||
"${WORKDIR}/usr/bin/hsc2hs" \
|
||||
"${WORKDIR}/usr/bin/runghc-${ghc_v}" \
|
||||
"${WORKDIR}/usr/$(get_libdir)/${PN}-${ghc_v}/package.conf.d/"*
|
||||
|
||||
# this one we will use to regenerate cache
|
||||
# so it should point to current tree location
|
||||
relocate_path "/usr" "${WORKDIR}/usr" "$gp_back"
|
||||
|
||||
if use prefix; then
|
||||
hprefixify "${bin_libpath}"/${PN}*/settings
|
||||
fi
|
||||
|
||||
# regenerate the binary package cache
|
||||
"$gp_back" recache || die "failed to update cache after relocation"
|
||||
rm "$gp_back"
|
||||
}
|
||||
|
||||
ghc-check-reqs() {
|
||||
# These are pessimistic values (slightly bigger than worst-case)
|
||||
# Worst case is UNREG USE=profile ia64. See bug #611866 for some
|
||||
# numbers on various arches.
|
||||
CHECKREQS_DISK_BUILD=8G
|
||||
CHECKREQS_DISK_USR=2G
|
||||
# USE=binary roughly takes
|
||||
use binary && CHECKREQS_DISK_BUILD=4G
|
||||
|
||||
"$@"
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
ghc-check-reqs check-reqs_pkg_pretend
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
ghc-check-reqs check-reqs_pkg_setup
|
||||
|
||||
# quiet portage about prebuilt binaries
|
||||
use binary && QA_PREBUILT="*"
|
||||
|
||||
[[ ${MERGE_TYPE} == binary ]] && return
|
||||
|
||||
if use ghcbootstrap; then
|
||||
ewarn "You requested ghc bootstrapping, this is usually only used"
|
||||
ewarn "by Gentoo developers to make binary .tbz2 packages."
|
||||
|
||||
[[ -z $(type -P ghc) ]] && \
|
||||
die "Could not find a ghc to bootstrap with."
|
||||
else
|
||||
if ! yet_binary; then
|
||||
eerror "Please try emerging with USE=ghcbootstrap and report build"
|
||||
eerror "sucess or failure to the haskell team (haskell@gentoo.org)"
|
||||
die "No binary available for '${ARCH}' arch yet, USE=ghcbootstrap"
|
||||
fi
|
||||
fi
|
||||
|
||||
if needs_python; then
|
||||
python-any-r1_pkg_setup
|
||||
fi
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
# Create the ${S} dir if we're using the binary version
|
||||
use binary && mkdir "${S}"
|
||||
|
||||
# the Solaris and Darwin binaries from ghc (maeder) need to be
|
||||
# unpacked separately, so prevent them from being unpacked
|
||||
local ONLYA=${A}
|
||||
case ${CHOST} in
|
||||
*-darwin* | *-solaris*) ONLYA=${GHC_P}-src.tar.xz ;;
|
||||
esac
|
||||
unpack ${ONLYA}
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
ghc_setup_cflags
|
||||
|
||||
if ! use ghcbootstrap && [[ ${CHOST} != *-darwin* && ${CHOST} != *-solaris* ]]; then
|
||||
# Modify the wrapper script from the binary tarball to use GHC_PERSISTENT_FLAGS.
|
||||
# See bug #313635.
|
||||
sed -i -e "s|\"\$topdir\"|\"\$topdir\" ${GHC_PERSISTENT_FLAGS}|" \
|
||||
"${WORKDIR}/usr/bin/ghc-${BIN_PV}"
|
||||
|
||||
# allow hardened users use vanilla binary to bootstrap ghc
|
||||
# ghci uses mmap with rwx protection at it implements dynamic
|
||||
# linking on it's own (bug #299709)
|
||||
pax-mark -m "${WORKDIR}/usr/$(get_libdir)/${PN}-${BIN_PV}/bin/ghc"
|
||||
fi
|
||||
|
||||
if use binary; then
|
||||
if use prefix; then
|
||||
relocate_ghc "${EPREFIX}"
|
||||
fi
|
||||
|
||||
# Move unpacked files to the expected place
|
||||
mv "${WORKDIR}/usr" "${S}"
|
||||
eapply_user
|
||||
else
|
||||
if ! use ghcbootstrap; then
|
||||
case ${CHOST} in
|
||||
*-darwin* | *-solaris*)
|
||||
# UPDATE ME for ghc-7
|
||||
mkdir "${WORKDIR}"/ghc-bin-installer || die
|
||||
pushd "${WORKDIR}"/ghc-bin-installer > /dev/null || die
|
||||
use sparc-solaris && unpack ghc-6.10.4-sparc-sun-solaris2.tar.bz2
|
||||
use x86-solaris && unpack ghc-7.0.3-i386-unknown-solaris2.tar.bz2
|
||||
use x86-macos && unpack ghc-7.4.1-i386-apple-darwin.tar.bz2
|
||||
use x64-macos && unpack ghc-7.4.1-x86_64-apple-darwin.tar.bz2
|
||||
popd > /dev/null
|
||||
|
||||
pushd "${WORKDIR}"/ghc-bin-installer/ghc-[67].?*.? > /dev/null || die
|
||||
# fix the binaries so they run, on Solaris we need an
|
||||
# LD_LIBRARY_PATH which has our prefix libdirs, on
|
||||
# Darwin we need to replace the frameworks with our libs
|
||||
# from the prefix fix before installation, because some
|
||||
# of the tools are actually used during configure/make
|
||||
if [[ ${CHOST} == *-solaris* ]] ; then
|
||||
export LD_LIBRARY_PATH="${EPREFIX}/$(get_libdir):${EPREFIX}/usr/$(get_libdir):${LD_LIBRARY_PATH}"
|
||||
elif [[ ${CHOST} == *-darwin* ]] ; then
|
||||
local readline_framework=GNUreadline.framework/GNUreadline
|
||||
local gmp_framework=/opt/local/lib/libgmp.10.dylib
|
||||
local ncurses_file=/opt/local/lib/libncurses.5.dylib
|
||||
for binary in $(scanmacho -BRE MH_EXECUTE -F '%F' .) ; do
|
||||
install_name_tool -change \
|
||||
${readline_framework} \
|
||||
"${EPREFIX}"/lib/libreadline.dylib \
|
||||
${binary} || die
|
||||
install_name_tool -change \
|
||||
${gmp_framework} \
|
||||
"${EPREFIX}"/usr/lib/libgmp.dylib \
|
||||
${binary} || die
|
||||
install_name_tool -change \
|
||||
${ncurses_file} \
|
||||
"${EPREFIX}"/usr/lib/libncurses.dylib \
|
||||
${binary} || die
|
||||
done
|
||||
# we don't do frameworks!
|
||||
sed -i \
|
||||
-e 's/\(frameworks = \)\["GMP"\]/\1[]/g' \
|
||||
-e 's/\(extraLibraries = \)\["m"\]/\1["m","gmp"]/g' \
|
||||
rts/package.conf.in || die
|
||||
fi
|
||||
|
||||
# it is autoconf, but we really don't want to give it too
|
||||
# many arguments, in fact we do the make in-place anyway
|
||||
./configure --prefix="${WORKDIR}"/usr || die
|
||||
make install || die
|
||||
popd > /dev/null
|
||||
;;
|
||||
*)
|
||||
relocate_ghc "${WORKDIR}"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
sed -i -e "s|\"\$topdir\"|\"\$topdir\" ${GHC_PERSISTENT_FLAGS}|" \
|
||||
"${S}/ghc/ghc.wrapper"
|
||||
|
||||
cd "${S}" # otherwise eapply will break
|
||||
|
||||
eapply "${FILESDIR}"/${PN}-7.0.4-CHOST-prefix.patch
|
||||
eapply "${FILESDIR}"/${PN}-8.2.1-darwin.patch
|
||||
eapply "${FILESDIR}"/${PN}-7.8.3-prim-lm.patch
|
||||
eapply "${FILESDIR}"/${PN}-8.0.2-no-relax-everywhere.patch
|
||||
eapply "${FILESDIR}"/${PN}-8.4.2-allow-cross-bootstrap.patch
|
||||
eapply "${FILESDIR}"/${P}-autoconf-2.71.patch
|
||||
# fixed in 8.8.4. See https://gitlab.haskell.org/ghc/ghc/-/blob/ghc-8.8.4-release/configure.ac#L1273
|
||||
# eapply "${FILESDIR}"/${PN}-8.6.5-numa.patch
|
||||
# rumors say this is fixed properly in 8.8.3. Let's check!
|
||||
#eapply "${FILESDIR}"/${PN}-8.8.1-revert-CPP.patch
|
||||
|
||||
# a bunch of crosscompiler patches
|
||||
# needs newer version:
|
||||
#eapply "${FILESDIR}"/${PN}-8.2.1_rc1-hp2ps-cross.patch
|
||||
|
||||
# mingw32 target
|
||||
pushd "${S}/libraries/Win32"
|
||||
eapply "${FILESDIR}"/${PN}-8.2.1_rc1-win32-cross-2-hack.patch # bad workaround
|
||||
popd
|
||||
|
||||
bump_libs
|
||||
|
||||
eapply_user
|
||||
# as we have changed the build system
|
||||
eautoreconf
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
if ! use binary; then
|
||||
# initialize build.mk
|
||||
echo '# Gentoo changes' > mk/build.mk
|
||||
|
||||
# Put docs into the right place, ie /usr/share/doc/ghc-${GHC_PV}
|
||||
echo "docdir = ${EPREFIX}/usr/share/doc/$(cross)${PF}" >> mk/build.mk
|
||||
echo "htmldir = ${EPREFIX}/usr/share/doc/$(cross)${PF}" >> mk/build.mk
|
||||
|
||||
# We also need to use the GHC_FLAGS flags when building ghc itself
|
||||
echo "SRC_HC_OPTS+=${HCFLAGS} ${GHC_FLAGS}" >> mk/build.mk
|
||||
echo "SRC_CC_OPTS+=${CFLAGS}" >> mk/build.mk
|
||||
echo "SRC_LD_OPTS+=${LDFLAGS}" >> mk/build.mk
|
||||
# Speed up initial Cabal bootstrap
|
||||
echo "utils/ghc-cabal_dist_EXTRA_HC_OPTS+=$(ghc-make-args)" >> mk/build.mk
|
||||
|
||||
# We can't depend on haddock except when bootstrapping when we
|
||||
# must build docs and include them into the binary .tbz2 package
|
||||
# app-text/dblatex is not in portage, can not build PDF or PS
|
||||
echo "BUILD_SPHINX_PDF = NO" >> mk/build.mk
|
||||
echo "BUILD_SPHINX_HTML = $(usex doc YES NO)" >> mk/build.mk
|
||||
echo "BUILD_MAN = $(usex doc YES NO)" >> mk/build.mk
|
||||
|
||||
# this controls presence on 'xhtml' and 'haddock' in final install
|
||||
echo "HADDOCK_DOCS = YES" >> mk/build.mk
|
||||
|
||||
# not used outside of ghc's test
|
||||
if [[ -n ${GHC_BUILD_DPH} ]]; then
|
||||
echo "BUILD_DPH = YES" >> mk/build.mk
|
||||
else
|
||||
echo "BUILD_DPH = NO" >> mk/build.mk
|
||||
fi
|
||||
|
||||
# Any non-native build has to skip as it needs
|
||||
# target haddock binary to be runnabine.
|
||||
if ! is_native; then
|
||||
# disable docs generation as it requires running stage2
|
||||
echo "HADDOCK_DOCS=NO" >> mk/build.mk
|
||||
echo "BUILD_SPHINX_HTML=NO" >> mk/build.mk
|
||||
echo "BUILD_SPHINX_PDF=NO" >> mk/build.mk
|
||||
fi
|
||||
|
||||
if is_crosscompile; then
|
||||
# Install ghc-stage1 crosscompiler instead of
|
||||
# ghc-stage2 cross-built compiler.
|
||||
echo "Stage1Only=YES" >> mk/build.mk
|
||||
fi
|
||||
|
||||
# allows overriding build flavours for libraries:
|
||||
# v - vanilla (static libs)
|
||||
# p - profiled
|
||||
# dyn - shared libraries
|
||||
# example: GHC_LIBRARY_WAYS="v dyn"
|
||||
if [[ -n ${GHC_LIBRARY_WAYS} ]]; then
|
||||
echo "GhcLibWays=${GHC_LIBRARY_WAYS}" >> mk/build.mk
|
||||
fi
|
||||
echo "BUILD_PROF_LIBS = $(usex profile YES NO)" >> mk/build.mk
|
||||
|
||||
# Get ghc from the unpacked binary .tbz2
|
||||
# except when bootstrapping we just pick ghc up off the path
|
||||
if ! use ghcbootstrap; then
|
||||
export PATH="${WORKDIR}/usr/bin:${PATH}"
|
||||
fi
|
||||
|
||||
echo "INTEGER_LIBRARY = $(usex gmp integer-gmp integer-simple)" >> mk/build.mk
|
||||
|
||||
# don't strip anything. Very useful when stage2 SIGSEGVs on you
|
||||
echo "STRIP_CMD = :" >> mk/build.mk
|
||||
|
||||
local econf_args=()
|
||||
|
||||
# GHC embeds toolchain it was built by and uses it later.
|
||||
# Don't allow things like ccache or versioned binary slip.
|
||||
# We use stable thing across gcc upgrades.
|
||||
# User can use EXTRA_ECONF=CC=... to override this default.
|
||||
econf_args+=(
|
||||
AR=${CTARGET}-ar
|
||||
CC=${CTARGET}-gcc
|
||||
# these should be inferred by GHC but ghc defaults
|
||||
# to using bundled tools on windows.
|
||||
Windres=${CTARGET}-windres
|
||||
DllWrap=${CTARGET}-dllwrap
|
||||
# we set the linker explicitly below
|
||||
--disable-ld-override
|
||||
)
|
||||
case ${CTARGET} in
|
||||
arm*)
|
||||
# ld.bfd-2.28 does not work for ghc. Force ld.gold
|
||||
# instead. This should be removed once gentoo gets
|
||||
# a fix for R_ARM_COPY bug: https://sourceware.org/PR16177
|
||||
econf_args+=(LD=${CTARGET}-ld.gold)
|
||||
;;
|
||||
sparc*)
|
||||
# ld.gold-2.28 does not work for ghc. Force ld.bfd
|
||||
# instead. This should be removed once gentoo gets
|
||||
# a fix for missing --no-relax support bug:
|
||||
# https://sourceware.org/ml/binutils/2017-07/msg00183.html
|
||||
econf_args+=(LD=${CTARGET}-ld.bfd)
|
||||
;;
|
||||
*)
|
||||
econf_args+=(LD=${CTARGET}-ld)
|
||||
esac
|
||||
|
||||
if [[ ${CBUILD} != ${CHOST} ]]; then
|
||||
# GHC bug: ghc claims not to support cross-building.
|
||||
# It does, but does not distinct --host= value
|
||||
# for stage1 and stage2 compiler.
|
||||
econf_args+=(--host=${CBUILD})
|
||||
fi
|
||||
|
||||
if use ghcmakebinary; then
|
||||
# When building booting libary we are trying to
|
||||
# bundle or restrict most of external depends
|
||||
# with unstable ABI:
|
||||
# - embed libffi (default GHC behaviour)
|
||||
# - disable ncurses support for ghci (via haskeline)
|
||||
# https://bugs.gentoo.org/557478
|
||||
# - disable ncurses support for ghc-pkg
|
||||
echo "libraries/haskeline_CONFIGURE_OPTS += --flag=-terminfo" >> mk/build.mk
|
||||
echo "utils/ghc-pkg_HC_OPTS += -DBOOTSTRAPPING" >> mk/build.mk
|
||||
elif is_native; then
|
||||
# using ${GTARGET}'s libffi is not supported yet:
|
||||
# GHC embeds full path for ffi includes without /usr/${CTARGET} account.
|
||||
econf_args+=(--with-system-libffi)
|
||||
econf_args+=(--with-ffi-includes=$($(tc-getPKG_CONFIG) libffi --cflags-only-I | sed -e 's@^-I@@'))
|
||||
fi
|
||||
|
||||
einfo "Final mk/build.mk:"
|
||||
cat mk/build.mk || die
|
||||
|
||||
econf ${econf_args[@]} \
|
||||
--enable-bootstrap-with-devel-snapshot \
|
||||
$(use elfutils && echo --enable-dwarf-unwind) \
|
||||
$(use_enable numa)
|
||||
|
||||
if [[ ${PV} == *9999* ]]; then
|
||||
GHC_PV="$(grep 'S\[\"PACKAGE_VERSION\"\]' config.status | sed -e 's@^.*=\"\(.*\)\"@\1@')"
|
||||
GHC_P=${PN}-${GHC_PV}
|
||||
fi
|
||||
fi # ! use binary
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
if ! use binary; then
|
||||
# Stage1Only crosscompiler does not build stage2
|
||||
if ! is_crosscompile; then
|
||||
# 1. build/pax-mark compiler binary first
|
||||
emake ghc/stage2/build/tmp/ghc-stage2
|
||||
# 2. pax-mark (bug #516430)
|
||||
pax-mark -m ghc/stage2/build/tmp/ghc-stage2
|
||||
# 2. build/pax-mark haddock using ghc-stage2
|
||||
if is_native; then
|
||||
# non-native build does not build haddock
|
||||
# due to HADDOCK_DOCS=NO, but it could.
|
||||
emake utils/haddock/dist/build/tmp/haddock
|
||||
pax-mark -m utils/haddock/dist/build/tmp/haddock
|
||||
fi
|
||||
fi
|
||||
# 3. and then all the rest
|
||||
emake all
|
||||
fi # ! use binary
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# TODO: deal with:
|
||||
# - sandbox (pollutes environment)
|
||||
# - extra packages (to extend testsuite coverage)
|
||||
# bits are taken from 'validate'
|
||||
local make_test_target='test' # can be fulltest
|
||||
# not 'emake' as testsuite uses '$MAKE' without jobserver available
|
||||
make $make_test_target stage=2 THREADS=$(makeopts_jobs)
|
||||
}
|
||||
|
||||
src_install() {
|
||||
if use binary; then
|
||||
use prefix && mkdir -p "${ED}"
|
||||
mv "${S}/usr" "${ED}"
|
||||
else
|
||||
[[ -f VERSION ]] || emake VERSION
|
||||
|
||||
# -j1 due to a rare race in install script:
|
||||
# make --no-print-directory -f ghc.mk phase=final install
|
||||
# /usr/lib/portage/python3.4/ebuild-helpers/xattr/install -c -m 755 \
|
||||
# -d "/tmp/portage-tmpdir/portage/cross-armv7a-unknown-linux-gnueabi/ghc-9999/image/usr/lib64/armv7a-unknown-linux-gnueabi-ghc-8.3.20170404/include"
|
||||
# /usr/lib/portage/python3.4/ebuild-helpers/xattr/install -c -m 644 utils/hsc2hs/template-hsc.h \
|
||||
# "/tmp/portage-tmpdir/portage/cross-armv7a-unknown-linux-gnueabi/ghc-9999/image/usr/lib64/armv7a-unknown-linux-gnueabi-ghc-8.3.20170404"
|
||||
# /usr/bin/install: cannot create regular file \
|
||||
# '/tmp/portage-tmpdir/portage/cross-armv7a-unknown-linux-gnueabi/ghc-9999/image/usr/lib64/armv7a-unknown-linux-gnueabi-ghc-8.3.20170404': No such file or directory
|
||||
emake -j1 install DESTDIR="${D}"
|
||||
|
||||
# Skip for cross-targets as they all share target location:
|
||||
# /usr/share/doc/ghc-9999/
|
||||
if ! is_crosscompile; then
|
||||
dodoc "distrib/README" "ANNOUNCE" "LICENSE" "VERSION"
|
||||
fi
|
||||
|
||||
# rename ghc-shipped files to avoid collision
|
||||
# of external packages. Motivating example:
|
||||
# user had installed:
|
||||
# dev-lang/ghc-7.8.4-r0 (with transformers-0.3.0.0)
|
||||
# dev-haskell/transformers-0.4.2.0
|
||||
# then user tried to update to
|
||||
# dev-lang/ghc-7.8.4-r1 (with transformers-0.4.2.0)
|
||||
# this will lead to single .conf file collision.
|
||||
local shipped_conf renamed_conf
|
||||
local package_confdir="${ED}/usr/$(get_libdir)/$(cross)${GHC_P}/package.conf.d"
|
||||
for shipped_conf in "${package_confdir}"/*.conf; do
|
||||
# rename 'pkg-ver-id.conf' to 'pkg-ver-id-gentoo-${PF}.conf'
|
||||
renamed_conf=${shipped_conf%.conf}-gentoo-${PF}.conf
|
||||
mv "${shipped_conf}" "${renamed_conf}" || die
|
||||
done
|
||||
|
||||
# remove link, but leave 'haddock-${GHC_P}'
|
||||
rm -f "${ED}"/usr/bin/$(cross)haddock
|
||||
|
||||
if ! is_crosscompile; then
|
||||
newbashcomp "${FILESDIR}"/ghc-bash-completion ghc-pkg
|
||||
newbashcomp utils/completion/ghc.bash ghc
|
||||
fi
|
||||
fi
|
||||
|
||||
# path to the package.cache
|
||||
local package_confdir="${ED}/usr/$(get_libdir)/$(cross)${GHC_P}/package.conf.d"
|
||||
PKGCACHE="${package_confdir}"/package.cache
|
||||
# copy the package.conf.d, including timestamp, save it so we can help
|
||||
# users that have a broken package.conf.d
|
||||
cp -pR "${package_confdir}"{,.initial} || die "failed to backup intial package.conf.d"
|
||||
|
||||
# copy the package.conf, including timestamp, save it so we later can put it
|
||||
# back before uninstalling, or when upgrading.
|
||||
cp -p "${PKGCACHE}"{,.shipped} \
|
||||
|| die "failed to copy package.conf.d/package.cache"
|
||||
|
||||
if is_crosscompile; then
|
||||
# When we build a cross-compiler the layout is the following:
|
||||
# usr/lib/${CTARGET}-ghc-${VER}/ contains target libraries
|
||||
# but
|
||||
# usr/lib/${CTARGET}-ghc-${VER}/bin/ directory
|
||||
# containst host binaries (modulo bugs).
|
||||
|
||||
# Portage's stripping mechanism does not skip stripping
|
||||
# foreign binaries. This frequently causes binaries to be
|
||||
# broken.
|
||||
#
|
||||
# Thus below we disable stripping of target libraries and allow
|
||||
# stripping hosts executables.
|
||||
dostrip -x "/usr/$(get_libdir)/$(cross)${GHC_P}"
|
||||
dostrip "/usr/$(get_libdir)/$(cross)${GHC_P}/bin"
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
# have we got an earlier version of ghc installed?
|
||||
if has_version "<${CATEGORY}/${PF}"; then
|
||||
haskell_updater_warn="1"
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
ghc-reregister
|
||||
|
||||
# path to the package.cache
|
||||
PKGCACHE="${EROOT}/usr/$(get_libdir)/$(cross)${GHC_P}/package.conf.d/package.cache"
|
||||
|
||||
# give the cache a new timestamp, it must be as recent as
|
||||
# the package.conf.d directory.
|
||||
touch "${PKGCACHE}"
|
||||
|
||||
if [[ "${haskell_updater_warn}" == "1" ]]; then
|
||||
ewarn
|
||||
ewarn "\e[1;31m************************************************************************\e[0m"
|
||||
ewarn
|
||||
ewarn "You have just upgraded from an older version of GHC."
|
||||
ewarn "You may have to run"
|
||||
ewarn " 'haskell-updater'"
|
||||
ewarn "to rebuild all ghc-based Haskell libraries."
|
||||
ewarn
|
||||
ewarn "\e[1;31m************************************************************************\e[0m"
|
||||
ewarn
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_prerm() {
|
||||
PKGCACHE="${EROOT}/usr/$(get_libdir)/$(cross)${GHC_P}/package.conf.d/package.cache"
|
||||
rm -rf "${PKGCACHE}"
|
||||
|
||||
cp -p "${PKGCACHE}"{.shipped,}
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
ghc-package_pkg_postrm
|
||||
}
|
Binary file not shown.
@ -1,4 +1,2 @@
|
||||
DIST libfilezilla-0.36.0.tar.bz2 598327 BLAKE2B d578b7c83cbd440acbb3efe2994c7140bfb0a11271e68a8bae52ac53f10e1ccf428c50d07e8cfc79f63beb0a3bffe8fbffd962413725817ac9df14e0b3b3a1cd SHA512 c6b0240c560afb87426f7ccf01e34eb92975b043697be89f26a12dcfaf4a109d308eed200429f986b14f80111573ea5a869194375c844fa7b666d173e9629a0a
|
||||
DIST libfilezilla-0.37.1.tar.bz2 608419 BLAKE2B ae76a1d9d9829061ec95ae3b94e282a32835db19b85859c39db5b089a478f93b511fce4a798ebe79bf628bcb6b30f3ea40ff34aacfe2201bfa93887d4f8ce48e SHA512 1bcf9da8ec0fbac1ffada95d8dc1e4a67fbd77fca9273fa9e67418c7e89c74139683535fb917db4fa750bd263cb45a8f230e32b6ab890f3ca5ef5af39ef8ecae
|
||||
DIST libfilezilla-0.37.2.tar.bz2 609128 BLAKE2B 8ff4bee0c007c2c527d172bef8a6efd4e3238e9a265d75d5a8bcc50a204e0fcef09876f112d7eacd4df4f4cf6551361e99646dd7729ab09774a7416440c5ee06 SHA512 a8902977bae5f442045faa8a68c2f85e667a2371b1e643fde49e592fa9544b0a672c476246b01b2ba7b52390b37b0f1f33e5196be4499eddf5783f225091c93a
|
||||
DIST libfilezilla-0.38.1.tar.bz2 621099 BLAKE2B f998fda61907edeaa62d29f686a2dfa2ef34f35866010720c4a6d8a7e16ffa7b079d0ed2098ec7df24a3921bf437362fde48d7cd53af9eca2fefd326441e65bd SHA512 486aa4934f3fde4684c134ac7648edd0dfbd2dd2082909cd8ecafcccf9e3e9a86874c250773bc28ad25a8c40c8d34f242008636efdf4d311764682cf89b6fe39
|
||||
|
@ -1,49 +0,0 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
inherit flag-o-matic
|
||||
|
||||
DESCRIPTION="C++ library offering some basic functionality for platform-independent programs"
|
||||
HOMEPAGE="https://lib.filezilla-project.org/"
|
||||
SRC_URI="https://download.filezilla-project.org/${PN}/${P}.tar.bz2"
|
||||
|
||||
LICENSE="GPL-2+"
|
||||
SLOT="0/24" # libfilezilla.so version
|
||||
KEYWORDS="amd64 ~arm ~arm64 ~ia64 ppc ppc64 x86"
|
||||
IUSE="test"
|
||||
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="
|
||||
dev-libs/nettle:0=
|
||||
>=net-libs/gnutls-3.5.7:=
|
||||
virtual/libcrypt:=
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
test? ( dev-util/cppunit )"
|
||||
|
||||
pkg_pretend() {
|
||||
if [[ ${MERGE_TYPE} != binary ]]; then
|
||||
if ! test-flag-CXX -std=c++14; then
|
||||
eerror "${P} requires C++14-capable C++ compiler. Your current compiler"
|
||||
eerror "does not seem to support -std=c++14 option. Please upgrade your compiler"
|
||||
eerror "to gcc-4.9 or an equivalent version supporting C++14."
|
||||
die "Currently active compiler does not support -std=c++14"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
if use ppc || use arm || use hppa; then
|
||||
# bug 727652
|
||||
append-libs -latomic
|
||||
fi
|
||||
|
||||
econf --disable-static
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
find "${ED}" -type f -name "*.la" -delete || die
|
||||
}
|
@ -1,51 +0,0 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
inherit flag-o-matic
|
||||
|
||||
DESCRIPTION="C++ library offering some basic functionality for platform-independent programs"
|
||||
HOMEPAGE="https://lib.filezilla-project.org/"
|
||||
SRC_URI="https://download.filezilla-project.org/${PN}/${P}.tar.bz2"
|
||||
|
||||
LICENSE="GPL-2+"
|
||||
SLOT="0/25" # libfilezilla.so version
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~x86"
|
||||
IUSE="test"
|
||||
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="
|
||||
dev-libs/nettle:0=
|
||||
>=net-libs/gnutls-3.5.7:=
|
||||
virtual/libcrypt:=
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
test? ( dev-util/cppunit )"
|
||||
|
||||
PATCHES=( "${FILESDIR}"/${PN}-0.37.1-pthread.patch )
|
||||
|
||||
pkg_pretend() {
|
||||
if [[ ${MERGE_TYPE} != binary ]]; then
|
||||
if ! test-flag-CXX -std=c++14; then
|
||||
eerror "${P} requires C++14-capable C++ compiler. Your current compiler"
|
||||
eerror "does not seem to support -std=c++14 option. Please upgrade your compiler"
|
||||
eerror "to gcc-4.9 or an equivalent version supporting C++14."
|
||||
die "Currently active compiler does not support -std=c++14"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
if use ppc || use arm || use hppa; then
|
||||
# bug 727652
|
||||
append-libs -latomic
|
||||
fi
|
||||
|
||||
econf --disable-static
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
find "${ED}" -type f -name "*.la" -delete || die
|
||||
}
|
Binary file not shown.
@ -1,11 +1,5 @@
|
||||
DIST PyPDF2-2.10.0.gh.tar.gz 6355180 BLAKE2B 1070e4989609cb1361f966f06a23a972ba0f53d6d02d2f489104a7198111d4e80573e2a54d7446bd85ccc8270ad8cb592c2131f0ba1433b3c1ca246bcd39c466 SHA512 dfc543a9cbc4c4e185abc928a64a8aeb5c69d833d3af0983bc994bb6a62b65732a6ea0a7b260bca4de8854639c0a03e0cc6398a5d9ec4df9125ccf7e4b3b264d
|
||||
DIST PyPDF2-2.4.2.gh.tar.gz 5327738 BLAKE2B 5343d5b7c2efe2ed664f896b030a60ad8570ae8f481376e4ad9c865144b66d912633e4f83294d7f6399230963c02dea262cc247b10ca3c146ab24f823c0d57f3 SHA512 84a13d5b624ca8ca2dc4c474309ffa47d1770e1681ccb527f7fc1df37698037c224939dd062da004cbf7b983744afd3ab9adc9a610bea3f2f297e1ed5b708dd2
|
||||
DIST PyPDF2-2.5.0.gh.tar.gz 5597332 BLAKE2B 40d4fa812f1a70c18d3b2907d83185cd79af3d722e762ec8dec9709cb5c70246c21fa124e419d8b12142b0ae22b1f13958835eaaa23e9f4cc9efbd05793db7ce SHA512 ec7560b4bb3737fe4c830f058f5303cb70c9ff660c3f40637b4b86c8c79bf11a246a3fcc425aa54b5ca160548311c7f93248a1001c75a7e1dbf3119245e3262f
|
||||
DIST PyPDF2-2.6.0.gh.tar.gz 5600718 BLAKE2B 13c8e485d0cbb1a6621e0769840a9894822aeda85fc63d98cd466628d4af0efe7e29ce400f7c71dfae63a6d8273dbceb14c115e14bbaea7592d8fa4aef552d24 SHA512 63ef0297b5b6151ed91d6cfc0e883e996561d9479e9d6bd0742711ffff12c2be173485b0ada052a038e7759d1d819850e0e1030031fdb0bc1df46fa4fa9f912b
|
||||
DIST PyPDF2-2.7.0.gh.tar.gz 5629582 BLAKE2B d6cdf3bdb974c4ffba4bf55a6acc9d8f2a30dd9f460c7ccad71bc836a0deea2ed1b3cc2743eaa0c5a377e7afe034a49412478635454bc6b846186ff3d77298ec SHA512 c04966e1d9175d729bec5f64300bbac41b9eee07ce881bf186faac9774b0a8e6f152c6213e75c81aae8e30ad90e04ed554596c3eba55526f6280e856d9556a4d
|
||||
DIST PyPDF2-2.8.0.gh.tar.gz 5872029 BLAKE2B 3bad15238079cf6e9940c9e8a1b2108e5e810ed8c1223b6dcebf2904ab3f655809a56c8d861743100dfc1267ea6a6e5b0605702d95f2b210820e68a93585ad03 SHA512 a6d258a4ac61acd59ba6f4fa683b080a3b4c70bb0405c2b041d0565319648358236c6cfcefacf1bbea5b3107b7f64a98057c82ac1816f359a5c6fb3b1ce76257
|
||||
DIST PyPDF2-2.8.1.gh.tar.gz 5872212 BLAKE2B 19224d1b38947ad14adfb9b33201e0223f6da43072c6bffb78fae939872d0a025e6d2fd6f1eed0c0b88754a359a5459a45a36130659d81089caa884025a922d1 SHA512 6414339017c154610dbb5affcbf94fcda7ab6d1ea78f35cc348a2b8e5fc8c60216c4f20ffc114cb3abd8245ad7a8b40b4cca6161e3a98caff896fb823acc7bea
|
||||
DIST PyPDF2-2.9.0.gh.tar.gz 5877910 BLAKE2B afea03f9ac21e4b39cd39ce03adf70a8e08b80315f7cdd81440e371396ba48939560a3835de9587be8020e1aab75726409ecec753ef0fb042d69fe7fc6755e80 SHA512 fefbc6e6eb7ac0a0154f662044acb66f1c034efc114e878ced109d54a3e5427bb73088cb88d765c4576c2d67459a2daf64415789f8efe9b66cf8ed2bb78ff297
|
||||
DIST PyPDF2-sample-files-200644f7219811c3930ad1732ef70c570ece2d16.gh.tar.gz 5513604 BLAKE2B 1bfccaf3b50431d32341c24ea7aa203060d40d60a4b3656df35274d056918e7fccf99e11ee2539f65e6de15741ce28acaccd0ddc771ca334a8ba18a8953aee05 SHA512 5d2e1aa06e240957e9ec230406208fc653384b45b9e4b6631580c2eb4f08327e192c6ef57c2310ef3ed0604c85015b15f5ade8ef7d9f525e73733e040fe37fe5
|
||||
DIST PyPDF2-sample-files-4d24ff93dcddf21d55d028d9675d5b5bf9d7a350.gh.tar.gz 5443819 BLAKE2B 6eb440a2db3b58f7e195b8f24438552b2b414296b887cf44d75b14bda367e37ffef75b870152ac3b38e20e5a6f2c6a4cf374087b70daa9036821dd3ebdce2128 SHA512 de631f650098b6fe15830e5a816158d7f352c7a25d0c743b9e4bdf146e1ef2e3a6ea1751ed5d68f34e9a339a793bfb9dc217934595c7a8dffb854c0a4111b963
|
||||
DIST PyPDF2-sample-files-b6f4ff3de00745783d79f25cb8803901d1f20d28.gh.tar.gz 5522867 BLAKE2B 9a6cb3b92032f9ec697b972b1a257b2c2528d36cd4a7e40092ac6dbf0a4955c5b204b8c82d37f9bad4a19fccddf0070b095ee2f3b56de22d738ed3d8a3b555c0 SHA512 74aad38060f441ace87f6650de152a28f4a251e4f47574a8d46066857c8fbbb187cd3cd275caa198dce2c1557e90664b288f071995c2bbb9bf13a341210313e8
|
||||
|
@ -1,112 +0,0 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
PYTHON_COMPAT=( python3_{8..11} )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
SAMPLE_COMMIT=4d24ff93dcddf21d55d028d9675d5b5bf9d7a350
|
||||
DESCRIPTION="Python library to work with PDF files"
|
||||
HOMEPAGE="
|
||||
https://pypi.org/project/PyPDF2/
|
||||
https://github.com/py-pdf/PyPDF2/
|
||||
"
|
||||
SRC_URI="
|
||||
https://github.com/py-pdf/PyPDF2/archive/${PV}.tar.gz
|
||||
-> ${P}.gh.tar.gz
|
||||
test? (
|
||||
https://github.com/py-pdf/sample-files/archive/${SAMPLE_COMMIT}.tar.gz
|
||||
-> ${PN}-sample-files-${SAMPLE_COMMIT}.gh.tar.gz
|
||||
)
|
||||
"
|
||||
|
||||
LICENSE="BSD-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 ~arm64 ~ppc64 x86"
|
||||
|
||||
RDEPEND="
|
||||
$(python_gen_cond_dep '
|
||||
dev-python/typing-extensions[${PYTHON_USEDEP}]
|
||||
' 3.8 3.9)
|
||||
"
|
||||
BDEPEND="
|
||||
dev-python/pillow[${PYTHON_USEDEP}]
|
||||
test? (
|
||||
dev-python/pycryptodome[${PYTHON_USEDEP}]
|
||||
)
|
||||
"
|
||||
|
||||
distutils_enable_tests pytest
|
||||
|
||||
EPYTEST_DESELECT=(
|
||||
# Needs network access
|
||||
tests/test_cmap.py
|
||||
tests/test_filters.py::test_decompress_zlib_error
|
||||
tests/test_filters.py::test_lzw_decode_neg1
|
||||
tests/test_generic.py::test_dict_read_from_stream
|
||||
tests/test_generic.py::test_parse_content_stream_peek_percentage
|
||||
tests/test_generic.py::test_read_inline_image_no_has_q
|
||||
tests/test_generic.py::test_read_inline_image_loc_neg_1
|
||||
tests/test_generic.py::test_text_string_write_to_stream
|
||||
tests/test_generic.py::test_name_object_read_from_stream_unicode_error
|
||||
tests/test_generic.py::test_bool_repr
|
||||
tests/test_generic.py::test_issue_997
|
||||
tests/test_merger.py::test1
|
||||
tests/test_merger.py::test_bookmark
|
||||
tests/test_merger.py::test_sweep_recursion1
|
||||
tests/test_merger.py::test_sweep_recursion2
|
||||
tests/test_merger.py::test_trim_outline
|
||||
tests/test_merger.py::test_trim_outline_list
|
||||
tests/test_merger.py::test_zoom
|
||||
tests/test_merger.py::test_zoom_xyz_no_left
|
||||
tests/test_page.py::test_extract_text_operator_t_star
|
||||
tests/test_page.py::test_extract_text_page_pdf
|
||||
tests/test_page.py::test_extract_text_page_pdf_impossible_decode_xform
|
||||
tests/test_page.py::test_extract_text_single_quote_op
|
||||
'tests/test_page.py::test_page_operations[https://arxiv.org/pdf/2201.00029.pdf-None]'
|
||||
tests/test_reader.py::test_extract_text_pdf15
|
||||
tests/test_reader.py::test_extract_text_xref_issue_2
|
||||
tests/test_reader.py::test_extract_text_xref_issue_3
|
||||
tests/test_reader.py::test_extract_text_xref_table_21_bytes_clrf
|
||||
tests/test_reader.py::test_get_fields
|
||||
tests/test_reader.py::test_get_fields_read_else_block
|
||||
tests/test_reader.py::test_get_fields_read_else_block2
|
||||
tests/test_reader.py::test_get_fields_read_else_block3
|
||||
tests/test_reader.py::test_get_fields_read_write_report
|
||||
tests/test_reader.py::test_iss925
|
||||
tests/test_reader.py::test_metadata_is_none
|
||||
tests/test_reader.py::test_unexpected_destination
|
||||
tests/test_reader.py::test_unexpected_destination
|
||||
tests/test_reader.py::test_xfa_non_empty
|
||||
tests/test_utils.py::test_deprecate_no_replacement
|
||||
tests/test_workflows.py::test_compress
|
||||
tests/test_workflows.py::test_extract_text
|
||||
tests/test_workflows.py::test_extract_textbench
|
||||
tests/test_workflows.py::test_get_fields
|
||||
tests/test_workflows.py::test_get_metadata
|
||||
tests/test_workflows.py::test_merge
|
||||
tests/test_workflows.py::test_merge_with_warning
|
||||
tests/test_workflows.py::test_overlay
|
||||
tests/test_workflows.py::test_scale_rectangle_indirect_object
|
||||
tests/test_writer.py::test_sweep_indirect_references_nullobject_exception
|
||||
tests/test_writer.py::test_write_bookmark_on_page_fitv
|
||||
tests/test_xmp.py::test_custom_properties
|
||||
tests/test_xmp.py::test_dc_creator
|
||||
tests/test_xmp.py::test_dc_description
|
||||
tests/test_xmp.py::test_dc_subject
|
||||
tests/test_xmp.py::test_issue585
|
||||
tests/test_xmp.py::test_xmpmm
|
||||
|
||||
# Broken test
|
||||
tests/test_utils.py::test_deprecate_no_replacement
|
||||
)
|
||||
|
||||
src_unpack() {
|
||||
default
|
||||
if use test; then
|
||||
mv "sample-files-${SAMPLE_COMMIT}"/* "${P}"/sample-files/ || die
|
||||
fi
|
||||
}
|
@ -1,115 +0,0 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
PYTHON_COMPAT=( python3_{8..11} )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
SAMPLE_COMMIT=4d24ff93dcddf21d55d028d9675d5b5bf9d7a350
|
||||
DESCRIPTION="Python library to work with PDF files"
|
||||
HOMEPAGE="
|
||||
https://pypi.org/project/PyPDF2/
|
||||
https://github.com/py-pdf/PyPDF2/
|
||||
"
|
||||
SRC_URI="
|
||||
https://github.com/py-pdf/PyPDF2/archive/${PV}.tar.gz
|
||||
-> ${P}.gh.tar.gz
|
||||
test? (
|
||||
https://github.com/py-pdf/sample-files/archive/${SAMPLE_COMMIT}.tar.gz
|
||||
-> ${PN}-sample-files-${SAMPLE_COMMIT}.gh.tar.gz
|
||||
)
|
||||
"
|
||||
|
||||
LICENSE="BSD-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
|
||||
|
||||
RDEPEND="
|
||||
$(python_gen_cond_dep '
|
||||
dev-python/typing-extensions[${PYTHON_USEDEP}]
|
||||
' 3.8 3.9)
|
||||
"
|
||||
BDEPEND="
|
||||
dev-python/pillow[${PYTHON_USEDEP}]
|
||||
test? (
|
||||
dev-python/pycryptodome[${PYTHON_USEDEP}]
|
||||
)
|
||||
"
|
||||
|
||||
distutils_enable_tests pytest
|
||||
|
||||
EPYTEST_DESELECT=(
|
||||
# Needs network access
|
||||
tests/test_cmap.py
|
||||
tests/test_filters.py::test_decompress_zlib_error
|
||||
tests/test_filters.py::test_lzw_decode_neg1
|
||||
tests/test_generic.py::test_dict_read_from_stream
|
||||
tests/test_generic.py::test_parse_content_stream_peek_percentage
|
||||
tests/test_generic.py::test_read_inline_image_no_has_q
|
||||
tests/test_generic.py::test_read_inline_image_loc_neg_1
|
||||
tests/test_generic.py::test_text_string_write_to_stream
|
||||
tests/test_generic.py::test_name_object_read_from_stream_unicode_error
|
||||
tests/test_generic.py::test_bool_repr
|
||||
tests/test_generic.py::test_issue_997
|
||||
tests/test_merger.py::test1
|
||||
tests/test_merger.py::test_bookmark
|
||||
tests/test_merger.py::test_sweep_indirect_list_newobj_is_None
|
||||
tests/test_merger.py::test_sweep_recursion1
|
||||
tests/test_merger.py::test_sweep_recursion2
|
||||
tests/test_merger.py::test_trim_outline
|
||||
tests/test_merger.py::test_trim_outline_list
|
||||
tests/test_merger.py::test_zoom
|
||||
tests/test_merger.py::test_zoom_xyz_no_left
|
||||
tests/test_page.py::test_extract_text_operator_t_star
|
||||
tests/test_page.py::test_extract_text_page_pdf
|
||||
tests/test_page.py::test_extract_text_page_pdf_impossible_decode_xform
|
||||
tests/test_page.py::test_extract_text_single_quote_op
|
||||
'tests/test_page.py::test_page_operations[https://arxiv.org/pdf/2201.00029.pdf-None]'
|
||||
tests/test_reader.py::test_extract_text_pdf15
|
||||
tests/test_reader.py::test_extract_text_xref_issue_2
|
||||
tests/test_reader.py::test_extract_text_xref_issue_3
|
||||
tests/test_reader.py::test_extract_text_xref_table_21_bytes_clrf
|
||||
tests/test_reader.py::test_get_fields
|
||||
tests/test_reader.py::test_get_fields_read_else_block
|
||||
tests/test_reader.py::test_get_fields_read_else_block2
|
||||
tests/test_reader.py::test_get_fields_read_else_block3
|
||||
tests/test_reader.py::test_get_fields_read_write_report
|
||||
tests/test_reader.py::test_iss925
|
||||
tests/test_reader.py::test_metadata_is_none
|
||||
tests/test_reader.py::test_read_form_416
|
||||
tests/test_reader.py::test_unexpected_destination
|
||||
tests/test_reader.py::test_unexpected_destination
|
||||
tests/test_reader.py::test_xfa_non_empty
|
||||
tests/test_utils.py::test_deprecate_no_replacement
|
||||
tests/test_workflows.py::test_compress
|
||||
tests/test_workflows.py::test_extract_text
|
||||
tests/test_workflows.py::test_extract_textbench
|
||||
tests/test_workflows.py::test_get_fields
|
||||
tests/test_workflows.py::test_get_metadata
|
||||
tests/test_workflows.py::test_image_extraction
|
||||
tests/test_workflows.py::test_merge
|
||||
tests/test_workflows.py::test_merge_with_warning
|
||||
tests/test_workflows.py::test_overlay
|
||||
tests/test_workflows.py::test_scale_rectangle_indirect_object
|
||||
tests/test_writer.py::test_sweep_indirect_references_nullobject_exception
|
||||
tests/test_writer.py::test_write_bookmark_on_page_fitv
|
||||
tests/test_xmp.py::test_custom_properties
|
||||
tests/test_xmp.py::test_dc_creator
|
||||
tests/test_xmp.py::test_dc_description
|
||||
tests/test_xmp.py::test_dc_subject
|
||||
tests/test_xmp.py::test_issue585
|
||||
tests/test_xmp.py::test_xmpmm
|
||||
|
||||
# Broken test
|
||||
tests/test_utils.py::test_deprecate_no_replacement
|
||||
)
|
||||
|
||||
src_unpack() {
|
||||
default
|
||||
if use test; then
|
||||
mv "sample-files-${SAMPLE_COMMIT}"/* "${P}"/sample-files/ || die
|
||||
fi
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue