Sync with portage [Wed Mar 11 20:16:00 MSK 2020].

develop 1605
root 4 years ago
parent 5467bc8a87
commit 2c8770dde3

Binary file not shown.

Binary file not shown.

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>gentoo@seichter.de</email>
<name>Ralph Seichter</name>
</maintainer>
<maintainer type="project">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
</pkgmetadata>

@ -0,0 +1,9 @@
# Copyright 2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit acct-group
ACCT_GROUP_ID=330
DESCRIPTION="Group for net-analyzer/ossec-hids"

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata> <pkgmetadata>
<maintainer type="project"> <maintainer type="person">
<email>python@gentoo.org</email> <name>Sven Wegener</name>
<name>Python</name> <email>swegener@gentoo.org</email>
</maintainer> </maintainer>
</pkgmetadata> </pkgmetadata>

@ -0,0 +1,8 @@
# Copyright 2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit acct-group
ACCT_GROUP_ID=423

@ -5,4 +5,4 @@ EAPI=7
inherit acct-group inherit acct-group
ACCT_GROUP_ID=425 ACCT_GROUP_ID=424

Binary file not shown.

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>gentoo@seichter.de</email>
<name>Ralph Seichter</name>
</maintainer>
<maintainer type="project">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
</pkgmetadata>

@ -0,0 +1,13 @@
# Copyright 2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit acct-user
ACCT_USER_ID=330
ACCT_USER_GROUPS=( ossec )
ACCT_USER_HOME=/var/ossec
DESCRIPTION="net-analyzer/ossec-hids (agentlessd, analysisd, monitord)"
acct-user_add_deps

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>gentoo@seichter.de</email>
<name>Ralph Seichter</name>
</maintainer>
<maintainer type="project">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
</pkgmetadata>

@ -0,0 +1,12 @@
# Copyright 2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit acct-user
ACCT_USER_ID=331
ACCT_USER_GROUPS=( ossec )
DESCRIPTION="net-analyzer/ossec-hids (csyslogd, maild)"
acct-user_add_deps

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>gentoo@seichter.de</email>
<name>Ralph Seichter</name>
</maintainer>
<maintainer type="project">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
</pkgmetadata>

@ -0,0 +1,12 @@
# Copyright 2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit acct-user
ACCT_USER_ID=332
ACCT_USER_GROUPS=( ossec )
DESCRIPTION="net-analyzer/ossec-hids (remoted)"
acct-user_add_deps

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata> <pkgmetadata>
<maintainer type="project"> <maintainer type="person">
<email>kde@gentoo.org</email> <name>Sven Wegener</name>
<name>Gentoo KDE Project</name> <email>swegener@gentoo.org</email>
</maintainer> </maintainer>
</pkgmetadata> </pkgmetadata>

@ -0,0 +1,11 @@
# Copyright 2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit acct-user
ACCT_USER_ID=423
ACCT_USER_GROUPS=( pdns )
acct-user_add_deps

@ -5,7 +5,7 @@ EAPI=7
inherit acct-user inherit acct-user
ACCT_USER_ID=425 ACCT_USER_ID=424
ACCT_USER_GROUPS=( quagga ) ACCT_USER_GROUPS=( quagga )
acct-user_add_deps acct-user_add_deps

Binary file not shown.

@ -1,3 +1,2 @@
DIST ansible-2.9.4.tar.gz 14170264 BLAKE2B e230837360d29df460906d118b3c2ebb9a9dc1ac2a4427809a16716e67a79db8e737ed1beca757bd8a75b631c8cb6c26e58b1caeaaeb613731d63031f1e4e34e SHA512 21020548100fc31b59d4ee1b461f2a14359f2f18752d431cd041eb987c8c8b308f1aa1687461a9b3f5a086485b77b3a38c8f006b942cc24cb2157b45e6582822
DIST ansible-2.9.5.tar.gz 14186885 BLAKE2B c64fb384ab55c5b9cca753319fba911b8a40d634b59998f2e4c65ccafaa536788f3ac8c18a45a4b0d322ecca9b7fa2c580311a35a202ad70c2de2157ab04bfaf SHA512 cd2ce807b3136e2c02856339ea910b0a5cae8ca946da804ed7d3ec5725d3eff0fe5b4bd8527b2a17d6f3109e16859d52045b50f2ffd21169b30768e65b813407 DIST ansible-2.9.5.tar.gz 14186885 BLAKE2B c64fb384ab55c5b9cca753319fba911b8a40d634b59998f2e4c65ccafaa536788f3ac8c18a45a4b0d322ecca9b7fa2c580311a35a202ad70c2de2157ab04bfaf SHA512 cd2ce807b3136e2c02856339ea910b0a5cae8ca946da804ed7d3ec5725d3eff0fe5b4bd8527b2a17d6f3109e16859d52045b50f2ffd21169b30768e65b813407
DIST ansible-2.9.6.tar.gz 14201258 BLAKE2B 29da78035291a252f215a49945e82d9f3598a91c9c8993c69623668e9f8a667882330d51c75e1ae27ee5242f4a6320ee947af338c4c38e23f4f9d04cf19364ca SHA512 7111fd72b4e029b2f661bfb849b4323b69ea796f8a069ad3120e8de390effa670180c69ca0fd5e0a1c2e444db6d574a52d530a2b0343c76cd81ba963b3c3a7cb DIST ansible-2.9.6.tar.gz 14201258 BLAKE2B 29da78035291a252f215a49945e82d9f3598a91c9c8993c69623668e9f8a667882330d51c75e1ae27ee5242f4a6320ee947af338c4c38e23f4f9d04cf19364ca SHA512 7111fd72b4e029b2f661bfb849b4323b69ea796f8a069ad3120e8de390effa670180c69ca0fd5e0a1c2e444db6d574a52d530a2b0343c76cd81ba963b3c3a7cb

@ -1,68 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{6,7} )
inherit distutils-r1 eutils
DESCRIPTION="Model-driven deployment, config management, and command execution framework"
HOMEPAGE="https://ansible.com/"
SRC_URI="https://releases.ansible.com/${PN}/${P}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="amd64 ~arm ~arm64 x86 ~x64-macos"
IUSE="doc test"
RESTRICT="test"
RDEPEND="
dev-python/paramiko[${PYTHON_USEDEP}]
dev-python/jinja[${PYTHON_USEDEP}]
dev-python/pyyaml[${PYTHON_USEDEP}]
dev-python/setuptools[${PYTHON_USEDEP}]
dev-python/cryptography[${PYTHON_USEDEP}]
dev-python/httplib2[${PYTHON_USEDEP}]
dev-python/six[${PYTHON_USEDEP}]
dev-python/netaddr[${PYTHON_USEDEP}]
dev-python/pexpect[${PYTHON_USEDEP}]
net-misc/sshpass
virtual/ssh
"
DEPEND="
dev-python/setuptools[${PYTHON_USEDEP}]
>=dev-python/packaging-16.6[${PYTHON_USEDEP}]
doc? (
dev-python/sphinx[${PYTHON_USEDEP}]
dev-python/sphinx-notfound-page[${PYTHON_USEDEP}]
>=dev-python/pygments-2.4.0[${PYTHON_USEDEP}]
)
test? (
${RDEPEND}
dev-python/nose[${PYTHON_USEDEP}]
>=dev-python/mock-1.0.1[${PYTHON_USEDEP}]
dev-python/passlib[${PYTHON_USEDEP}]
dev-python/coverage[${PYTHON_USEDEP}]
dev-python/unittest2[${PYTHON_USEDEP}]
dev-vcs/git
)"
python_compile_all() {
if use doc; then
cd docs/docsite || die
export CPUS=4
emake -f Makefile.sphinx html
fi
}
python_test() {
nosetests -d -w test/units -v --with-coverage --cover-package=ansible --cover-branches || die
}
python_install_all() {
use doc && local HTML_DOCS=( docs/docsite/_build/html/. )
distutils-r1_python_install_all
dodoc -r examples
}

@ -13,7 +13,7 @@ SRC_URI="https://releases.ansible.com/${PN}/${P}.tar.gz"
LICENSE="GPL-3" LICENSE="GPL-3"
SLOT="0" SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~x64-macos" KEYWORDS="amd64 ~arm ~arm64 x86 ~x64-macos"
IUSE="doc test" IUSE="doc test"
RESTRICT="test" RESTRICT="test"

@ -1 +1,2 @@
DIST entr-4.3.tar.gz 23756 BLAKE2B 0272b0185932d7c388818df0cc615e991c9545473a823c478ad9f0b6a23c97c0f4b2727b109a7bb18e2b0792f18d94d188d4a5d3fc90c479628ea078b1288f96 SHA512 f65dfc3f106e25ec4ff39eaec94222d8a547eb35390c654f6a741f92541c1b86d7d303a795308fcbfced44ac8eca6ad67e70393802ac9d46153e037dc1eab902 DIST entr-4.3.tar.gz 23756 BLAKE2B 0272b0185932d7c388818df0cc615e991c9545473a823c478ad9f0b6a23c97c0f4b2727b109a7bb18e2b0792f18d94d188d4a5d3fc90c479628ea078b1288f96 SHA512 f65dfc3f106e25ec4ff39eaec94222d8a547eb35390c654f6a741f92541c1b86d7d303a795308fcbfced44ac8eca6ad67e70393802ac9d46153e037dc1eab902
DIST entr-4.4.tar.gz 24125 BLAKE2B c77b4a862c0b4a2861d7e2784fbaa3f60899a9934314a5cf3abb01d70df946e3786957cbaa9ed58cea7171390d115157f0d9a48093f6e7a8c05bcabf34da9792 SHA512 355bc19cfee9a9b5a460b136d8db014a1d129b6e4c95d905c1c4557cf7d845a076d260798ae8b84221563c049a9bd6d81974f00eea681abaf2eac2f2f5e6d087

@ -0,0 +1,31 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit toolchain-funcs
DESCRIPTION="Run arbitrary commands when files change"
HOMEPAGE="http://entrproject.org"
SRC_URI="http://entrproject.org/code/${P}.tar.gz"
LICENSE="ISC"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
IUSE="test"
RESTRICT="!test? ( test )"
src_configure() {
sh configure || die
sed -i -e 's#\(^PREFIX \).*#\1\?= /usr#' Makefile.bsd || die
}
src_compile() {
export CC=$(tc-getCC)
default
}
src_test() {
export CC=$(tc-getCC)
default
}

@ -700,17 +700,29 @@ RESTRICT+=" test"
src_prepare() { src_prepare() {
default default
mv ../vendor . # Makefile:
sed -i -e "s/git rev-parse HEAD/echo ${GIT_COMMIT}/"\ # - change GIT & LDFLAGS variable assignments from immediate ":=" to
-e "s/git rev-parse --short HEAD/echo ${GIT_COMMIT:0:7}/"\ # deferred "=", to allow better overrides.
-e "s#git describe --tags --abbrev=0 --exact-match 2>/dev/null#echo v${PV}#"\ # - Remove GOFLAGS entirely
-e 's/test -n "`git status --porcelain`" && echo "dirty" || //' \ # - Remove -w & -s from LDFLAGS
-e "/GOFLAGS :=/d" \ # - Git spec will be passed later
sed -r -i \
-e '/^GIT_(COMMIT|SHA|TAG|DIRTY)/s,:?=.*,=,g' \
-e "/^GOFLAGS[[:space:]]+:?=/d" \
-e '/^LDFLAGS[[:space:]]+:?=/{s,-[ws],,g;s,:=,=,g}' \
Makefile || die Makefile || die
} }
src_compile() { src_compile() {
emake GOFLAGS="-mod=vendor" LDFLAGS= build # Do not pass LDFLAGS directly here, as the upstream Makefile adds some
# data to it via +=
emake \
GOFLAGS="${GOFLAGS}" \
GIT_SHA=${GIT_COMMIT} \
GIT_COMMIT=${GIT_COMMIT:0:7} \
GIT_TAG=v${PV} \
GIT_DIRTY=clean \
build
bin/${PN} completion bash > ${PN}.bash || die bin/${PN} completion bash > ${PN}.bash || die
bin/${PN} completion zsh > ${PN}.zsh || die bin/${PN} completion zsh > ${PN}.zsh || die
} }

@ -1,3 +1 @@
DIST keepassxc-2.4.3-src.tar.xz 3301944 BLAKE2B ba95d5d48049367e7d3c39b5fdc9fc9816dfe2b257530068f229d1b5bd4eb9c137607f63bcce0aac4bc67ed41ee00c0385be800720acfdc3920c44444cade180 SHA512 893f1d18ab8051143d29c568ba87adcc42a13d28d0c3a7af04396cd91d6724f8a98d76d2e20ca15138c4642ec060d48b9e957857251f3a0df6066af08cd0765d
DIST keepassxc-2.5.2-src.tar.xz 6835848 BLAKE2B 4c536ec062295655c04a360ba3c94ff97078aa03b96e5bb29e246f6ad13cce16ba77bcf5e7232de4df669706bc612f6b157e3050f0d8b9eb4b1f47e4308af0d0 SHA512 f87408362e5fbba10e2e66ff1cead2f8495214197e142c16cd3c95ea47956570b6cfc561d7b593c9a962f476637b8bd6b5e21e2fc3e4f20224506bd97d16bb23
DIST keepassxc-2.5.3-src.tar.xz 6839148 BLAKE2B b3cc32f9abb42e662edec0c28967fca65a4f3c794f70bfe6c40c39375cad8cbc35eba95431b33119268230a324f83f2e5a53186ee8fc64cd366e20eac1341dc5 SHA512 8b1e3360b4ae5de170be6936291f7b309de09b2462fcd5a48f239c22f1c8b6ffe721aca8d1e9b6ae3881f7b16374850d7f4b809733244fd16d45eed6ad4f60c6 DIST keepassxc-2.5.3-src.tar.xz 6839148 BLAKE2B b3cc32f9abb42e662edec0c28967fca65a4f3c794f70bfe6c40c39375cad8cbc35eba95431b33119268230a324f83f2e5a53186ee8fc64cd366e20eac1341dc5 SHA512 8b1e3360b4ae5de170be6936291f7b309de09b2462fcd5a48f239c22f1c8b6ffe721aca8d1e9b6ae3881f7b16374850d7f4b809733244fd16d45eed6ad4f60c6

@ -1,100 +0,0 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit cmake xdg
DESCRIPTION="KeePassXC - KeePass Cross-platform Community Edition"
HOMEPAGE="https://keepassxc.org"
if [[ "${PV}" != 9999 ]] ; then
if [[ "${PV}" == *_beta* ]] ; then
SRC_URI="https://github.com/keepassxreboot/keepassxc/archive/${PV/_/-}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/${P/_/-}"
else
#SRC_URI="https://github.com/keepassxreboot/keepassxc/archive/${PV}.tar.gz -> ${P}.tar.gz"
SRC_URI="https://github.com/keepassxreboot/keepassxc/releases/download/${PV}/${P}-src.tar.xz"
KEYWORDS="amd64 x86"
fi
else
inherit git-r3
EGIT_REPO_URI="https://github.com/keepassxreboot/${PN}"
fi
LICENSE="LGPL-2.1 GPL-2 GPL-3"
SLOT="0"
IUSE="autotype browser debug keeshare +network test yubikey"
RESTRICT="!test? ( test )"
RDEPEND="
app-crypt/argon2:=
dev-libs/libgcrypt:=
>=dev-libs/libsodium-1.0.12:=
dev-qt/qtconcurrent:5
dev-qt/qtcore:5
dev-qt/qtdbus:5
dev-qt/qtgui:5
dev-qt/qtnetwork:5
dev-qt/qtsvg:5
dev-qt/qtwidgets:5
media-gfx/qrencode:=
sys-libs/zlib:=
autotype? (
dev-qt/qtx11extras:5
x11-libs/libX11
x11-libs/libXi
x11-libs/libXtst
)
browser? ( >=dev-libs/libsodium-1.0.12 )
keeshare? ( dev-libs/quazip )
yubikey? ( sys-auth/ykpers )
"
DEPEND="
${RDEPEND}
dev-qt/linguist-tools:5
dev-qt/qttest:5
"
# Not a runtime dependency but still needed (see bug #667092)
PDEPEND="
x11-misc/xsel
"
src_prepare() {
use test || \
sed -e "/^find_package(Qt5Test/d" -i CMakeLists.txt || die
cmake_src_prepare
}
src_configure() {
local mycmakeargs=(
-DWITH_GUI_TESTS=OFF
-DWITH_TESTS="$(usex test)"
-DWITH_XC_AUTOTYPE="$(usex autotype)"
-DWITH_XC_BROWSER="$(usex browser)"
-DWITH_XC_KEESHARE="$(usex keeshare)"
-DWITH_XC_NETWORKING="$(usex network)"
-DWITH_XC_SSHAGENT=ON
-DWITH_XC_UPDATECHECK=OFF
-DWITH_XC_YUBIKEY="$(usex yubikey)"
)
if [[ "${PV}" == *_beta* ]] ; then
mycmakeargs+=( -DOVERRIDE_VERSION="${PV/_/-}" )
fi
cmake_src_configure
}
pkg_preinst() {
xdg_pkg_preinst
}
pkg_postinst() {
xdg_pkg_postinst
}
pkg_postrm() {
xdg_pkg_postrm
}

@ -1,97 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit cmake xdg
DESCRIPTION="KeePassXC - KeePass Cross-platform Community Edition"
HOMEPAGE="https://keepassxc.org"
if [[ "${PV}" != 9999 ]] ; then
if [[ "${PV}" == *_beta* ]] ; then
SRC_URI="https://github.com/keepassxreboot/keepassxc/archive/${PV/_/-}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/${P/_/-}"
else
#SRC_URI="https://github.com/keepassxreboot/keepassxc/archive/${PV}.tar.gz -> ${P}.tar.gz"
SRC_URI="https://github.com/keepassxreboot/keepassxc/releases/download/${PV}/${P}-src.tar.xz"
KEYWORDS="~amd64 ~x86"
fi
else
inherit git-r3
EGIT_REPO_URI="https://github.com/keepassxreboot/${PN}"
fi
LICENSE="LGPL-2.1 GPL-2 GPL-3"
SLOT="0"
IUSE="autotype browser ccache debug keeshare +network test yubikey"
RDEPEND="
app-crypt/argon2:=
dev-libs/libgcrypt:=
>=dev-libs/libsodium-1.0.12:=
dev-qt/qtconcurrent:5
dev-qt/qtcore:5
dev-qt/qtdbus:5
dev-qt/qtgui:5
dev-qt/qtnetwork:5
dev-qt/qtsvg:5
dev-qt/qtwidgets:5
media-gfx/qrencode:=
sys-libs/readline:0=
sys-libs/zlib:=
autotype? (
dev-qt/qtx11extras:5
x11-libs/libX11
x11-libs/libXi
x11-libs/libXtst
)
keeshare? ( dev-libs/quazip )
yubikey? ( sys-auth/ykpers )
"
DEPEND="
${RDEPEND}
dev-qt/linguist-tools:5
dev-qt/qttest:5
"
BDEPEND="
ccache? ( dev-util/ccache )
"
# Not a runtime dependency but still needed (see bug #667092)
PDEPEND="
x11-misc/xsel
"
RESTRICT="!test? ( test )"
PATCHES=(
"${FILESDIR}/${PN}-2.5.2-ccache_switch.patch"
)
src_prepare() {
use test || \
sed -e "/^find_package(Qt5Test/d" -i CMakeLists.txt || die
cmake_src_prepare
}
src_configure() {
local mycmakeargs=(
-DWITH_CCACHE="$(usex ccache)"
-DWITH_GUI_TESTS=OFF
-DWITH_TESTS="$(usex test)"
-DWITH_XC_AUTOTYPE="$(usex autotype)"
-DWITH_XC_BROWSER="$(usex browser)"
-DWITH_XC_FDOSECRETS=ON
-DWITH_XC_KEESHARE="$(usex keeshare)"
-DWITH_XC_NETWORKING="$(usex network)"
-DWITH_XC_SSHAGENT=ON
-DWITH_XC_UPDATECHECK=OFF
-DWITH_XC_YUBIKEY="$(usex yubikey)"
)
if [[ "${PV}" == *_beta* ]] ; then
mycmakeargs+=( -DOVERRIDE_VERSION="${PV/_/-}" )
fi
cmake_src_configure
}

@ -15,7 +15,7 @@ if [[ "${PV}" != 9999 ]] ; then
else else
#SRC_URI="https://github.com/keepassxreboot/keepassxc/archive/${PV}.tar.gz -> ${P}.tar.gz" #SRC_URI="https://github.com/keepassxreboot/keepassxc/archive/${PV}.tar.gz -> ${P}.tar.gz"
SRC_URI="https://github.com/keepassxreboot/keepassxc/releases/download/${PV}/${P}-src.tar.xz" SRC_URI="https://github.com/keepassxreboot/keepassxc/releases/download/${PV}/${P}-src.tar.xz"
KEYWORDS="~amd64 ~x86" KEYWORDS="amd64 x86"
fi fi
else else
inherit git-r3 inherit git-r3

@ -1 +1,2 @@
DIST needrestart-3.3.tar.gz 59814 BLAKE2B bfba00dee7c0f225efcaaa80b301eb38d0ea82645f253c8bef9294102f9f4183433ed1b6efe71a9dc34c65f76364ff3fc2344e840b34f97361f3ddcd0dc9ab4b SHA512 ea2f3cbe228a6b879905bd3b3de8b5e0bb2362e8d3cd566817d2e7d519d54207ff5923eb8e49cbd8ffe8ed50729f4da04bf4d55268e806f49157860584058d50
DIST needrestart-3.4.tar.gz 63219 BLAKE2B 892bb610001575b7e653e06380ba39bb91608db6b5cc491d1e89543a72a17f69547f2610ebe7f3e51835dc1af5a32604fe54f79b6565c9f97df194a87f5f7bdf SHA512 3d63a9c32112b1d4f5d0c6d66430323761c9e7c17f01f52d0572b64ebf113fc9b52838dada363667632ae51894312d891ae8016e8eb5cbd4e0d06fa37c603f25 DIST needrestart-3.4.tar.gz 63219 BLAKE2B 892bb610001575b7e653e06380ba39bb91608db6b5cc491d1e89543a72a17f69547f2610ebe7f3e51835dc1af5a32604fe54f79b6565c9f97df194a87f5f7bdf SHA512 3d63a9c32112b1d4f5d0c6d66430323761c9e7c17f01f52d0572b64ebf113fc9b52838dada363667632ae51894312d891ae8016e8eb5cbd4e0d06fa37c603f25

@ -0,0 +1,41 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
if [[ ${PV} == "9999" ]] ; then
EGIT_REPO_URI="https://github.com/liske/${PN}.git"
inherit git-r3
SRC_URI=""
KEYWORDS="amd64 x86"
else
SRC_URI="https://github.com/liske/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="amd64 x86"
fi
DESCRIPTION="Restart daemons after library updates"
HOMEPAGE="https://fiasko-nw.net/~thomas/tag/needrestart.html https://github.com/liske/needrestart"
SLOT="0"
LICENSE="GPL-2+"
RDEPEND="
>=sys-apps/sed-4.2.2
dev-lang/perl:=
dev-perl/libintl-perl
dev-perl/Module-Find
dev-perl/Module-ScanDeps
dev-perl/Proc-ProcessTable
dev-perl/Sort-Naturally
dev-perl/TermReadKey
sys-apps/init-system-helpers
"
DEPEND="${RDEPEND}
sys-devel/gettext
"
src_install() {
default
doman man/*.1
dodoc -r ex
}

@ -1,2 +1,4 @@
DIST puppet-agent_6.13.0-1stretch_amd64.deb 22432484 BLAKE2B 231f8683afbf4d2c5ded7bfec323baecbfd52446bb3483c2c16764bc57b79a18d256ecf94b27d4db1bbe88038d7f3eef037c500a39e3b66d641e4effa94cd2d3 SHA512 6101e84e5dbfa64bd336bb23595fe559165e4a159fa5de739aa1617e6825ab11ad62d1abbee26ff94b9f68caa7a192c0339a0c721efcc534ae9ddbba161af907 DIST puppet-agent_6.13.0-1stretch_amd64.deb 22432484 BLAKE2B 231f8683afbf4d2c5ded7bfec323baecbfd52446bb3483c2c16764bc57b79a18d256ecf94b27d4db1bbe88038d7f3eef037c500a39e3b66d641e4effa94cd2d3 SHA512 6101e84e5dbfa64bd336bb23595fe559165e4a159fa5de739aa1617e6825ab11ad62d1abbee26ff94b9f68caa7a192c0339a0c721efcc534ae9ddbba161af907
DIST puppet-agent_6.13.0-1stretch_i386.deb 22787442 BLAKE2B 1bcea00b2da5c5b0db51fdd12d3828492a9a56af3a8c84919258ac7b90f7d135df708aba602a6d517364ac8b42f1ee3f1c11596cca0e89809a72d1d04c7ecc58 SHA512 55afd1ec6d331808a2a5adcd9c41803d932bcd7e2653da42c81c8ea1179649ae7ac642993813d527b2f365fb4f21d67015a0c2eb5379de2184585475521f8726 DIST puppet-agent_6.13.0-1stretch_i386.deb 22787442 BLAKE2B 1bcea00b2da5c5b0db51fdd12d3828492a9a56af3a8c84919258ac7b90f7d135df708aba602a6d517364ac8b42f1ee3f1c11596cca0e89809a72d1d04c7ecc58 SHA512 55afd1ec6d331808a2a5adcd9c41803d932bcd7e2653da42c81c8ea1179649ae7ac642993813d527b2f365fb4f21d67015a0c2eb5379de2184585475521f8726
DIST puppet-agent_6.14.0-1stretch_amd64.deb 22450130 BLAKE2B fe6e30d99357328a884944e59d7cb1c66ad9fc36642ba377ed99e23551c5cbf06cffc4336b47440389fee7a9f1996b8325d18335768187f5d052fcecae041f5b SHA512 41d87f1ab4ead019eb5ef90ad21e557db686729151618e4ec642ea6636feda383874f7d457de7e9e323cf44d9d410e7fb650edd6e69b186c2fdff5657955ac5a
DIST puppet-agent_6.14.0-1stretch_i386.deb 22792198 BLAKE2B 7638fd1edfeb22377ab22484dd0fd5377bab6ee5e3e01c64ffd8eae29b08e0182204446db23d8cf68018a58c2419ce22c4dda4fd10a6dfac64356d68a5478bfa SHA512 dc787dfeb2565fde00da6e991fb94435c56e804657a38268ad49d72783b9857de4e359d6d9002525759684ddcb48a00e2fdb73f069cd79da74237bcb9530a116

@ -0,0 +1,75 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit eutils systemd unpacker
DESCRIPTION="general puppet client utils along with hiera and facter"
HOMEPAGE="https://puppetlabs.com/"
SRC_BASE="http://apt.puppetlabs.com/pool/stretch/puppet/${PN:0:1}/${PN}/${PN}_${PV}-1stretch"
SRC_URI="
amd64? ( ${SRC_BASE}_amd64.deb )
x86? ( ${SRC_BASE}_i386.deb )"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="puppetdb selinux"
RESTRICT="strip"
CDEPEND="!app-admin/puppet
!dev-ruby/hiera
!dev-ruby/facter
!app-emulation/virt-what
acct-user/puppet
acct-group/puppet"
DEPEND="
${CDEPEND}
app-admin/augeas"
RDEPEND="${CDEPEND}
app-portage/eix
sys-apps/dmidecode
sys-libs/libselinux
sys-libs/glibc
sys-libs/readline:0/7
sys-libs/ncurses:0[tinfo]
selinux? (
sys-libs/libselinux[ruby]
sec-policy/selinux-puppet
)
puppetdb? ( >=dev-ruby/puppetdb-termini-5.0.1 )"
S=${WORKDIR}
src_install() {
# conf.d
doconfd etc/default/puppet
doconfd etc/default/pxp-agent
# logrotate.d
insinto /etc/logrotate.d
doins etc/logrotate.d/pxp-agent
# puppet itself
insinto /etc/puppetlabs
doins -r etc/puppetlabs/*
# logdir for systemd
dodir var/log/puppetlabs/puppet/
fperms 0750 var/log/puppetlabs/puppet/
# the rest
insinto /opt
dodir opt/puppetlabs/puppet/cache
doins -r opt/*
fperms 0750 /opt/puppetlabs/puppet/cache
# init
newinitd "${FILESDIR}/puppet.initd" puppet
systemd_dounit lib/systemd/system/puppet.service
systemd_dounit lib/systemd/system/pxp-agent.service
systemd_newtmpfilesd "${FILESDIR}/puppet-agent.conf.tmpfilesd" puppet-agent.conf
# symlinks
chmod 0755 -R "${D}/opt/puppetlabs/puppet/bin/"
chmod 0755 "${D}//opt/puppetlabs/puppet/lib/virt-what/virt-what-cpuid-helper"
dosym ../../opt/puppetlabs/bin/facter /usr/bin/facter
dosym ../../opt/puppetlabs/bin/hiera /usr/bin/hiera
dosym ../../opt/puppetlabs/bin/puppet /usr/bin/puppet
dosym ../../opt/puppetlabs/puppet/bin/virt-what /usr/bin/virt-what
}

@ -1,3 +1,5 @@
DIST puppet-5.5.17.tar.gz 3090402 BLAKE2B 7722ec4196ee766c29eddd7dc73539a4a5a0e4cc781a84af25210488328b5ae01178ca64e8eef14152cbeca06dc8fe145b5e39ce6a120d7689fc32cbbbe16f9f SHA512 95c6cd836a9f732ccfe2d8b83096e79c32428c43390c0826663f896ca1388e1fe3b55d93a5a7548831e95de85247db717866c36786d591e207341c734d70168b DIST puppet-5.5.17.tar.gz 3090402 BLAKE2B 7722ec4196ee766c29eddd7dc73539a4a5a0e4cc781a84af25210488328b5ae01178ca64e8eef14152cbeca06dc8fe145b5e39ce6a120d7689fc32cbbbe16f9f SHA512 95c6cd836a9f732ccfe2d8b83096e79c32428c43390c0826663f896ca1388e1fe3b55d93a5a7548831e95de85247db717866c36786d591e207341c734d70168b
DIST puppet-5.5.18.tar.gz 2984835 BLAKE2B d5a1d023d3d26e04ccc81efa772131c06fc7ace8ec59c7efa97bddb775bb492d3256290824a87d54df5c28862cbba98c58cf41bb4a0c27a4128701652c06eee0 SHA512 86f210ee783ca36340b22463cd4ac237d8dc1c6a35526530af0696bb3f0373b0b22f690d3e3f8e31655ea182a33eb60b66b5826bd6c4d1b0059a8e46152416e6 DIST puppet-5.5.18.tar.gz 2984835 BLAKE2B d5a1d023d3d26e04ccc81efa772131c06fc7ace8ec59c7efa97bddb775bb492d3256290824a87d54df5c28862cbba98c58cf41bb4a0c27a4128701652c06eee0 SHA512 86f210ee783ca36340b22463cd4ac237d8dc1c6a35526530af0696bb3f0373b0b22f690d3e3f8e31655ea182a33eb60b66b5826bd6c4d1b0059a8e46152416e6
DIST puppet-5.5.19.tar.gz 2993740 BLAKE2B aa6bde89489279769ee9a1ed5508fb223f7f0153b1b1991970018908eee70ff0816688c702b8dc779d01e1978ea7f9290c80523648730d5408a17674c11345fd SHA512 996fa155ca04c8c3c96c29cf65cd24eaf9e19e89fcf85345509dbd3673b28c263df5b62d6f016b8ac1c1da8ed86f0acf3100eae2656252bb10c542972db81de3
DIST puppet-6.13.0.tar.gz 2837171 BLAKE2B dc64b23fa2d5fcb978cfb03bf67f89ff0ae084883320f267bbb7fd613fd8948193658d717ecbf30f73e313c4530f872617a186675547509db9492589e4f226d6 SHA512 fb7abc9cf79a3de1daf597c0c1768ab4abcc11a236beb8294c5fc69d07ae23149216f7c8d33599365d3c10485f3fb3f8f5fe492e0e7312d19ffdaa0bc8b87d0c DIST puppet-6.13.0.tar.gz 2837171 BLAKE2B dc64b23fa2d5fcb978cfb03bf67f89ff0ae084883320f267bbb7fd613fd8948193658d717ecbf30f73e313c4530f872617a186675547509db9492589e4f226d6 SHA512 fb7abc9cf79a3de1daf597c0c1768ab4abcc11a236beb8294c5fc69d07ae23149216f7c8d33599365d3c10485f3fb3f8f5fe492e0e7312d19ffdaa0bc8b87d0c
DIST puppet-6.14.0.tar.gz 2842351 BLAKE2B db9a467d8e0f4f25d45c2f735ee9d11ac6ed4e47c16b95ded3ff9f1c5055ea866735bcda27c19c2988035d9592035e433ef0d79a19781c99f4e97388edf46b93 SHA512 066ad8de6393cb58b1f92fae450dc72dabcbe912cdbb3417848a66955fe17696a68abf67d86b107a2b1c54e7037d38da7264a9234a8833b56065c8e407ff57a4

@ -0,0 +1,141 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
USE_RUBY="ruby24 ruby25 ruby26"
RUBY_FAKEGEM_RECIPE_TEST="rspec3"
RUBY_FAKEGEM_TASK_DOC="doc:all"
RUBY_FAKEGEM_EXTRAINSTALL="locales"
inherit eutils user ruby-fakegem eapi7-ver
DESCRIPTION="A system automation and configuration management software."
HOMEPAGE="https://puppet.com/"
SRC_URI="http://downloads.puppetlabs.com/puppet/${P}.tar.gz"
LICENSE="Apache-2.0 GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86"
IUSE="augeas diff doc emacs ldap rrdtool selinux shadow sqlite vim-syntax"
RESTRICT="test"
ruby_add_rdepend "
dev-ruby/hiera
dev-ruby/json:=
>=dev-ruby/facter-3.0.0
augeas? ( dev-ruby/ruby-augeas )
diff? ( dev-ruby/diff-lcs )
doc? ( dev-ruby/rdoc )
ldap? ( dev-ruby/ruby-ldap )
shadow? ( dev-ruby/ruby-shadow )
sqlite? ( dev-ruby/sqlite3 )
virtual/ruby-ssl
dev-ruby/hocon"
ruby_add_bdepend "
doc? ( dev-ruby/yard )
test? (
dev-ruby/mocha
dev-ruby/rack
dev-ruby/rspec-its
)"
# this should go in the above lists, but isn't because of test deps not being keyworded
# dev-ruby/rspec-collection_matchers
RDEPEND+=" ${RDEPEND}
rrdtool? ( >=net-analyzer/rrdtool-1.2.23[ruby] )
selinux? (
sys-libs/libselinux[ruby]
sec-policy/selinux-puppet
)
vim-syntax? ( >=app-vim/puppet-syntax-3.0.1 )
>=app-portage/eix-0.18.0"
PDEPEND="emacs? ( >=app-emacs/puppet-mode-0.3-r1 )"
pkg_setup() {
enewgroup puppet
enewuser puppet -1 -1 /var/lib/puppet puppet
}
all_ruby_prepare() {
# Avoid spec that require unpackaged json-schema.
rm spec/lib/matchers/json.rb $( grep -Rl matchers/json spec) || die
# fix systemd path
epatch "${FILESDIR}/puppet-systemd.patch"
# Avoid specs that can only run in the puppet.git repository. This
# should be narrowed down to the specific specs.
rm spec/integration/parser/compiler_spec.rb || die
# Avoid failing spec that need further investigation.
rm spec/unit/module_tool/metadata_spec.rb || die
}
each_ruby_install() {
each_fakegem_install
# dosym "/usr/$(get_libdir)/ruby/gems/$(ruby_get_version)/gems/${P}" "/usr/$(get_libdir)/ruby/gems/$(ruby_get_version)/gems/${PN}"
}
all_ruby_install() {
all_fakegem_install
# systemd stuffs
insinto /usr/lib/systemd/system
doins "${WORKDIR}/all/${P}/ext/systemd/puppet.service"
# tmpfiles stuff
insinto /usr/lib/tmpfiles.d
newins "${FILESDIR}/tmpfiles.d" "puppet.conf"
# openrc init stuff
newinitd "${FILESDIR}"/puppet.init-4.x puppet
newinitd "${FILESDIR}"/puppetmaster.init-4.x puppetmaster
newconfd "${FILESDIR}"/puppetmaster.confd puppetmaster
keepdir /etc/puppetlabs/puppet/ssl
keepdir /var/lib/puppet/facts
keepdir /var/lib/puppet/files
fowners -R puppet:puppet /var/lib/puppet
fperms 0750 /var/lib/puppet
fperms 0750 /etc/puppetlabs
fperms 0750 /etc/puppetlabs/puppet
fperms 0750 /etc/puppetlabs/puppet/ssl
fowners -R :puppet /etc/puppetlabs
fowners -R :puppet /var/lib/puppet
if use ldap ; then
insinto /etc/openldap/schema; doins ext/ldap/puppet.schema
fi
# ext and examples files
for f in $(find ext examples -type f) ; do
docinto "$(dirname ${f})"; dodoc "${f}"
done
}
pkg_postinst() {
elog
elog "Please, *don't* include the --ask option in EMERGE_EXTRA_OPTS as this could"
elog "cause puppet to hang while installing packages."
elog
elog "Portage Puppet module with Gentoo-specific resources:"
elog "http://forge.puppetlabs.com/gentoo/portage"
elog
for v in ${REPLACING_VERSIONS}; do
if [ "$(ver_cut 1 "$v")" -eq "4" ]; then
elog
elog "Please see the following url for the release notes for puppet-5"
elog "https://docs.puppet.com/puppet/5.0/release_notes.html#if-youre-upgrading-from-puppet-4x"
elog
fi
done
}

@ -0,0 +1,136 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
USE_RUBY="ruby23 ruby24 ruby25"
RUBY_FAKEGEM_RECIPE_TEST="rspec3"
RUBY_FAKEGEM_TASK_DOC="doc:all"
RUBY_FAKEGEM_EXTRAINSTALL="locales"
inherit eutils ruby-fakegem eapi7-ver
DESCRIPTION="A system automation and configuration management software."
HOMEPAGE="https://puppet.com/"
SRC_URI="http://downloads.puppetlabs.com/puppet/${P}.tar.gz"
LICENSE="Apache-2.0 GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86"
IUSE="augeas diff doc emacs ldap rrdtool selinux shadow sqlite vim-syntax"
RESTRICT="test"
ruby_add_rdepend "
dev-ruby/hiera
dev-ruby/json:=
dev-ruby/semantic_puppet
>=dev-ruby/facter-3.0.0
dev-ruby/concurrent-ruby
augeas? ( dev-ruby/ruby-augeas )
diff? ( dev-ruby/diff-lcs )
doc? ( dev-ruby/rdoc )
ldap? ( dev-ruby/ruby-ldap )
shadow? ( dev-ruby/ruby-shadow )
sqlite? ( dev-ruby/sqlite3 )
virtual/ruby-ssl
dev-ruby/hocon"
ruby_add_bdepend "
doc? ( dev-ruby/yard )
test? (
dev-ruby/mocha
dev-ruby/rack
dev-ruby/rspec-its
)"
# this should go in the above lists, but isn't because of test deps not being keyworded
# dev-ruby/rspec-collection_matchers
RDEPEND+=" ${RDEPEND}
rrdtool? ( >=net-analyzer/rrdtool-1.2.23[ruby] )
selinux? (
sys-libs/libselinux[ruby]
sec-policy/selinux-puppet
)
vim-syntax? ( >=app-vim/puppet-syntax-3.0.1 )
>=app-portage/eix-0.18.0
acct-user/puppet
acct-group/puppet"
PDEPEND="emacs? ( >=app-emacs/puppet-mode-0.3-r1 )"
all_ruby_prepare() {
# Avoid spec that require unpackaged json-schema.
rm spec/lib/matchers/json.rb $( grep -Rl matchers/json spec) || die
# can't be run within portage.
epatch "${FILESDIR}/puppet-fix-tests-6.10.1.patch"
# fix systemd path
epatch "${FILESDIR}/puppet-systemd.patch"
# Avoid specs that can only run in the puppet.git repository. This
# should be narrowed down to the specific specs.
rm spec/integration/parser/compiler_spec.rb || die
# Avoid failing spec that need further investigation.
rm spec/unit/module_tool/metadata_spec.rb || die
}
each_ruby_install() {
each_fakegem_install
# dosym "/usr/$(get_libdir)/ruby/gems/$(ruby_get_version)/gems/${P}" "/usr/$(get_libdir)/ruby/gems/$(ruby_get_version)/gems/${PN}"
}
all_ruby_install() {
all_fakegem_install
# systemd stuffs
insinto /usr/lib/systemd/system
doins "${WORKDIR}/all/${P}/ext/systemd/puppet.service"
# tmpfiles stuff
insinto /usr/lib/tmpfiles.d
newins "${FILESDIR}/tmpfiles.d" "puppet.conf"
# openrc init stuff
newinitd "${FILESDIR}"/puppet.init-4.x puppet
keepdir /etc/puppetlabs/puppet/ssl
keepdir /var/lib/puppet/facts
keepdir /var/lib/puppet/files
fowners -R puppet:puppet /var/lib/puppet
fperms 0750 /var/lib/puppet
fperms 0750 /etc/puppetlabs
fperms 0750 /etc/puppetlabs/puppet
fperms 0750 /etc/puppetlabs/puppet/ssl
fowners -R :puppet /etc/puppetlabs
fowners -R :puppet /var/lib/puppet
if use ldap ; then
insinto /etc/openldap/schema; doins ext/ldap/puppet.schema
fi
# ext and examples files
for f in $(find ext examples -type f) ; do
docinto "$(dirname ${f})"; dodoc "${f}"
done
}
pkg_postinst() {
elog
elog "Please, *don't* include the --ask option in EMERGE_EXTRA_OPTS as this could"
elog "cause puppet to hang while installing packages."
elog
elog "Portage Puppet module with Gentoo-specific resources:"
elog "http://forge.puppetlabs.com/gentoo/portage"
elog
elog "If updating from puppet 5 to 6, keep in mind that webrick (server/master)"
elog "suppert was removed for >=6.x, please migrate to puppetserver if you have"
elog "not already done so."
elog
}

@ -1,2 +1,3 @@
DIST puppetdb-6.8.0.tar.gz 44216021 BLAKE2B ac5641ee0bceef3948d108c725e2ff53d76e897cafd75c9bc6978462f4b157c3d30146ce2f57fd2aa7610b2defc4e074c168847d8aba5501cde16ee0ab7b5aaf SHA512 2dd01058edbd8a4bb3f4717dc518e58ac57139ccc0651e8e39c721a32651bd932fe4ec747c7da23561ab33d7d4d7ddc448fe9b05734d1562f799e183c5e236d5 DIST puppetdb-6.8.0.tar.gz 44216021 BLAKE2B ac5641ee0bceef3948d108c725e2ff53d76e897cafd75c9bc6978462f4b157c3d30146ce2f57fd2aa7610b2defc4e074c168847d8aba5501cde16ee0ab7b5aaf SHA512 2dd01058edbd8a4bb3f4717dc518e58ac57139ccc0651e8e39c721a32651bd932fe4ec747c7da23561ab33d7d4d7ddc448fe9b05734d1562f799e183c5e236d5
DIST puppetdb-6.9.0.tar.gz 44270700 BLAKE2B 2346bf8cf3c944b1a75d0ed9fc32678909f0a6615ea615b7d89316ce470eaaa9540b56550b655214711564c6f0f0e2931a0f037e0ffad983f5578a54b4b180ec SHA512 2450f82bcbcd84fd63f107ea69dc3890a77fc94a54b2c5601c5aa3ed80fcc12e26302f6150777fbcbc1fbedb3c9fb9dd60e6aea37101c0abb2cf19a1696be2e7 DIST puppetdb-6.9.0.tar.gz 44270700 BLAKE2B 2346bf8cf3c944b1a75d0ed9fc32678909f0a6615ea615b7d89316ce470eaaa9540b56550b655214711564c6f0f0e2931a0f037e0ffad983f5578a54b4b180ec SHA512 2450f82bcbcd84fd63f107ea69dc3890a77fc94a54b2c5601c5aa3ed80fcc12e26302f6150777fbcbc1fbedb3c9fb9dd60e6aea37101c0abb2cf19a1696be2e7
DIST puppetdb-6.9.1.tar.gz 44274016 BLAKE2B eaf1fe6ee88d2f4a1d147032db017eefd95a3edaba6fe5b114be6ac4ce37584ee58fa96c34fdac97b9b8b1aecd8abc982107024d2155bb78781d1c2c2f2112e1 SHA512 8db39c7571af597be2cff7e21ec5818d422f83f1c3188896e8eb9391e52d0f4bb1f85358a25998db599e9db2b93baec60415a43b519be3da600a9c1de0f073bc

@ -0,0 +1,87 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit multilib systemd
DESCRIPTION="PuppetDB collects data generated by Puppet."
HOMEPAGE="http://docs.puppetlabs.com/puppetdb/"
SRC_URI="https://downloads.puppetlabs.com/${PN}/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
IUSE=""
KEYWORDS="~amd64 ~x86"
RDEPEND+=">=virtual/jdk-1.8.0"
DEPEND+="acct-user/puppetdb
acct-group/puppetdb"
src_prepare() {
sed -i 's/sysconfig/conf\.d/g' ext/redhat/puppetdb.service || die
sed -i 's/sysconfig/conf\.d/g' ext/bin/puppetdb || die
sed -i 's/sysconfig/conf\.d/g' install.sh || die
sed -i 's/var\/run/run/g' ext/puppetdb.tmpfiles.conf || die
sed -i 's/var\/run/run/g' install.sh || die
default
}
src_compile() {
einfo "not compiling"
}
src_install() {
dodir /opt/puppetlabs/server/data/puppetdb
insinto /opt/puppetlabs/server/apps/puppetdb
insopts -m0744
doins ext/ezbake-functions.sh
insopts -m0644
doins ext/ezbake.manifest
doins puppetdb.jar
insinto /etc/puppetlabs/puppetdb
doins ext/config/logback.xml
doins ext/config/bootstrap.cfg
doins ext/config/request-logging.xml
insinto /etc/puppetlabs/puppetdb/conf.d
doins ext/config/conf.d/jetty.ini
doins ext/config/conf.d/repl.ini
doins ext/config/conf.d/database.ini
doins ext/config/conf.d/config.ini
insopts -m0755
insinto /opt/puppetlabs/server/apps/puppetdb/scripts
doins install.sh
insinto /opt/puppetlabs/server/apps/puppetdb/cli/apps
doins ext/cli/foreground
doins ext/cli/ssl-setup
doins ext/cli/config-migration
doins ext/cli/foreground
doins ext/cli/anonymize
doins ext/cli/reload
doins ext/cli/start
doins ext/cli/stop
insinto /opt/puppetlabs/server/apps/puppetdb/bin
doins ext/bin/puppetdb
insopts -m0644
dodir /opt/puppetlabs/server/bin
dosym ../apps/puppetdb/bin/puppetdb /opt/puppetlabs/server/bin/puppetdb
dodir /opt/puppetlabs/bin
dosym ../server/apps/puppetdb/bin/puppetdb /opt/puppetlabs/bin/puppetdb
dosym ../../opt/puppetlabs/server/apps/puppetdb/bin/puppetdb /usr/bin/puppetdb
# init type tasks
newconfd ext/default puppetdb
systemd_dounit ext/redhat/puppetdb.service
systemd_newtmpfilesd ext/puppetdb.tmpfiles.conf puppetdb.conf
newinitd "${FILESDIR}/puppetdb.initd-r2" puppetdb
# misc
insinto /etc/logrotate.d
newins ext/puppetdb.logrotate.conf puppetdb
fowners -R puppetdb:puppetdb /opt/puppetlabs/server/data/puppetdb
fperms -R 770 /opt/puppetlabs/server/data/puppetdb
}
pkg_postinst() {
elog "to install please run '/opt/puppetlabs/server/bin/puppetdb ssl-setup'"
elog
elog "to upgrade please run '/opt/puppetlabs/server/bin/puppetdb config-migration'"
}

@ -1,2 +1,3 @@
DIST puppetserver-6.8.0.tar.gz 59370389 BLAKE2B 227512d3a054980867730882459bff32559f8baa5fb0c807a14fcc827b8f41fc1da2cceab6bdbd6162bb4e6e6e4312f5d47d478f6887a978c359c6a4225d663d SHA512 9e4d0ea1aad1209342151cfcfd304e4a296df0e95fefde46d4e4a28a9da62422194492d430c3492cc717a7c872ee0f448a89a40fe1e1cb565f865fc0aca7089b DIST puppetserver-6.8.0.tar.gz 59370389 BLAKE2B 227512d3a054980867730882459bff32559f8baa5fb0c807a14fcc827b8f41fc1da2cceab6bdbd6162bb4e6e6e4312f5d47d478f6887a978c359c6a4225d663d SHA512 9e4d0ea1aad1209342151cfcfd304e4a296df0e95fefde46d4e4a28a9da62422194492d430c3492cc717a7c872ee0f448a89a40fe1e1cb565f865fc0aca7089b
DIST puppetserver-6.9.0.tar.gz 59495229 BLAKE2B 17e02d201dd39a7c9a060c8898c76de3b85c5ffceb8dae128c032352e8f2959b6084558790c14979f95b7904bc70db0b3374d81f2b0c1f70bfb286084d6ba3a4 SHA512 b1446d407d50e3da502e2cd882647379fb51334bf5d4cc13d3654c8f7cbec2d6c4d7efd8acdfbdc1c70c6e30e3b420ed642cbdb97ee5f6a16b3b404dbd42bba7 DIST puppetserver-6.9.0.tar.gz 59495229 BLAKE2B 17e02d201dd39a7c9a060c8898c76de3b85c5ffceb8dae128c032352e8f2959b6084558790c14979f95b7904bc70db0b3374d81f2b0c1f70bfb286084d6ba3a4 SHA512 b1446d407d50e3da502e2cd882647379fb51334bf5d4cc13d3654c8f7cbec2d6c4d7efd8acdfbdc1c70c6e30e3b420ed642cbdb97ee5f6a16b3b404dbd42bba7
DIST puppetserver-6.9.1.tar.gz 59496176 BLAKE2B 1599380ebf731fb4d67c04abc06303647d5d29c99f2b9721d049972eaaf3d4c2b108c6ac2f1a45efce3c52e9a57ebd362c874c36093027ebca77a2ae1d4c0323 SHA512 3a794adfa48c7bf9bd241c9da0578ea192b8551e75093e4d95c7c10fa659ef59d59ae72b33561d13ac31e839245d266301a6067d30b466138a95a6c4879bc58a

@ -0,0 +1,131 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit multilib systemd
DESCRIPTION="Puppet Server is the next-generation application for managing Puppet agents."
HOMEPAGE="http://docs.puppetlabs.com/puppetserver/"
SRC_URI="https://downloads.puppetlabs.com/puppet/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
IUSE="puppetdb"
# will need the same keywords as puppet
KEYWORDS="~amd64 ~x86"
RDEPEND+="
>=virtual/jdk-1.8.0
app-admin/puppet-agent[puppetdb?]"
DEPEND+="acct-user/puppet
acct-group/puppet"
src_prepare() {
sed -i 's/sysconfig\/puppetserver/default\/puppetserver/g' ext/redhat/puppetserver.service || die
sed -i 's/sysconfig\/puppetserver/default\/puppetserver/g' ext/bin/puppetserver || die
sed -i 's/sysconfig\/puppetserver/default\/puppetserver/g' install.sh || die
sed -i 's/var\/run/run/g' ext/config/conf.d/puppetserver.conf || die
sed -i 's/var\/run/run/g' ext/redhat/puppetserver.service || die
sed -i 's/var\/run/run/g' install.sh || die
default
}
src_compile() {
einfo "not compiling"
}
src_install() {
insinto /opt/puppetlabs/server/apps/puppetserver
insopts -m0774
doins ext/ezbake-functions.sh
insopts -m0644
doins ext/ezbake.manifest
doins puppet-server-release.jar
insinto /etc/puppetlabs/puppetserver
doins ext/config/logback.xml
doins ext/config/request-logging.xml
insinto /etc/puppetlabs/puppetserver/services.d
doins ext/system-config/services.d/bootstrap.cfg
doins ext/config/services.d/ca.cfg
insinto /etc/puppetlabs/puppetserver/conf.d
doins ext/config/conf.d/puppetserver.conf
doins ext/config/conf.d/auth.conf
doins ext/config/conf.d/global.conf
doins ext/config/conf.d/web-routes.conf
doins ext/config/conf.d/metrics.conf
doins ext/config/conf.d/webserver.conf
insopts -m0755
insinto /opt/puppetlabs/server/apps/puppetserver/scripts
doins install.sh
insinto /opt/puppetlabs/server/apps/puppetserver/cli/apps
doins ext/cli/ca
doins ext/cli/irb
doins ext/cli/foreground
doins ext/cli/gem
doins ext/cli/ruby
doins ext/cli/reload
doins ext/cli/start
doins ext/cli/stop
insinto /opt/puppetlabs/server/apps/puppetserver/cli
doins ext/cli_defaults/cli-defaults.sh
insinto /opt/puppetlabs/server/apps/puppetserver/bin
doins ext/bin/puppetserver
insopts -m0644
dodir /opt/puppetlabs/server/bin
dosym ../apps/puppetserver/bin/puppetserver /opt/puppetlabs/server/bin/puppetserver
dodir /opt/puppetlabs/bin
dosym ../server/apps/puppetserver/bin/puppetserver /opt/puppetlabs/bin/puppetserver
dosym ../../opt/puppetlabs/server/apps/puppetserver/bin/puppetserver /usr/bin/puppetserver
dodir /opt/puppetlabs/server/apps/puppetserver/config/services.d
# other sys stuff
dodir /etc/puppetlabs/code
# needed for systemd
dodir /var/log/puppetlabs/puppetserver
dodir /etc/puppetlabs/puppet/ssl
fowners -R puppet:puppet /etc/puppetlabs/puppet/ssl
fperms -R 771 /etc/puppetlabs/puppet/ssl
# systemd type things
insinto /etc/systemd/system/puppetserver.service.d/
systemd_dounit ext/redhat/puppetserver.service
insinto /etc/default
newins ext/default puppetserver
# normal init type tasks
dosym ../default/puppetserver /etc/conf.d/puppetserver
newinitd "${FILESDIR}/puppetserver.init-r1" puppetserver
# misc
insinto /etc/logrotate.d
newins ext/puppetserver.logrotate.conf puppetserver
# cleanup
dodir /opt/puppetlabs/server/data/puppetserver/jruby-gems
fowners -R puppet:puppet /opt/puppetlabs/server/data
fperms -R 775 /opt/puppetlabs/server/data/puppetserver
fperms -R 700 /var/log/puppetlabs/puppetserver
insinto /opt/puppetlabs/server/data
doins ext/build-scripts/jruby-gem-list.txt
doins ext/build-scripts/mri-gem-list-no-dependencies.txt
insopts -m 0644
insinto /usr/lib/tmpfiles.d
newins ext/puppetserver.tmpfiles.conf puppetserver.conf
}
pkg_postinst() {
elog "to install you may want to run the following:"
elog
elog "puppet config set --section master vardir /opt/puppetlabs/server/data/puppetserver"
elog "puppet config set --section master logdir /var/log/puppetlabs/puppetserver"
elog "puppet config set --section master rundir /run/puppetlabs/puppetserver"
elog "puppet config set --section master pidfile /run/puppetlabs/puppetserver/puppetserver.pid"
elog "puppet config set --section master codedir /etc/puppetlabs/code"
elog
elog "# install puppetserver gems"
elog "cd /opt/puppetlabs/server/apps/puppetserver"
elog "echo \"jruby-puppet: { gem-home: ${DESTDIR}/opt/puppetlabs/server/data/puppetserver/vendored-jruby-gems }\" > jruby.conf"
elog "while read LINE; do"
elog " java -cp puppet-server-release.jar:jruby-9k.jar clojure.main -m puppetlabs.puppetserver.cli.gem --config jruby.conf -- install --no-ri --no-rdoc \$(echo \$LINE |awk '{print \$1}') --version \$(echo \$LINE |awk '{print \$2}')"
elog "done < /opt/puppetlabs/server/data/jruby-gem-list.txt"
elog "echo \"jruby-puppet: { gem-home: ${DESTDIR}/opt/puppetlabs/puppet/lib/ruby/vendor_gems }\" > jruby.conf"
elog "while read LINE; do"
elog " java -cp puppet-server-release.jar:jruby-9k.jar clojure.main -m puppetlabs.puppetserver.cli.gem --config jruby.conf -- install --no-ri --no-rdoc \$(echo \$LINE |awk '{print \$1}') --version \$(echo \$LINE |awk '{print \$2}')"
elog "done < /opt/puppetlabs/server/data/mri-gem-list-no-dependencies.txt"
}

@ -1,3 +1,4 @@
DIST salt-2018.3.4.tar.gz 14404085 BLAKE2B 932b30b1ba60aefd3a6874a8ebe4cb6c469d82e31f6acdbe8a5641d09e3316796b5403ef803a355cec6255c1aede8bac3b66af179bd1bbaa5418c7076229cef9 SHA512 f17e06fdbf4741f231d9e769be57de4f6079e9283881b4bafa0d23928d7626a1f9c02b9f49c654b29c3e6ee8ed3d3ddf42c21baecef158ad63a97dc87895b21b DIST salt-2018.3.4.tar.gz 14404085 BLAKE2B 932b30b1ba60aefd3a6874a8ebe4cb6c469d82e31f6acdbe8a5641d09e3316796b5403ef803a355cec6255c1aede8bac3b66af179bd1bbaa5418c7076229cef9 SHA512 f17e06fdbf4741f231d9e769be57de4f6079e9283881b4bafa0d23928d7626a1f9c02b9f49c654b29c3e6ee8ed3d3ddf42c21baecef158ad63a97dc87895b21b
DIST salt-2019.2.0.tar.gz 14952746 BLAKE2B aa3bba4b7d9548a8d333c242fc0265a743f56ff1a259da7c8618d37b3b022e12f09ac594a09f0ceec80fd9d3a6b6b9ec35b33e879b7a124e6612f2ec2a63a01c SHA512 de5a976213d011c230e423a172952effddb87168367958b8657eaaaf8fd2a8bec8471f547b6ff9e896a17064a13d387dbc12e12c605c8a241062e3238bd19eca DIST salt-2019.2.0.tar.gz 14952746 BLAKE2B aa3bba4b7d9548a8d333c242fc0265a743f56ff1a259da7c8618d37b3b022e12f09ac594a09f0ceec80fd9d3a6b6b9ec35b33e879b7a124e6612f2ec2a63a01c SHA512 de5a976213d011c230e423a172952effddb87168367958b8657eaaaf8fd2a8bec8471f547b6ff9e896a17064a13d387dbc12e12c605c8a241062e3238bd19eca
DIST salt-2019.2.2.tar.gz 14420887 BLAKE2B 84e8a0aa72b88a66a1020b695849926669728ee02f8cb51a14853b5e9c2ab692fe65810367e5d53268f7b234c10911f16d063ce665b3761432ab1d9c0aa52d16 SHA512 2bbf9765384f1f6c2336a3f421298c8900cf459e6d1ebc7fb89284014ef8db9f5215a68de2bb06dfa3404983160a0c4c589ffa3dc046611dd5409bd502938677 DIST salt-2019.2.2.tar.gz 14420887 BLAKE2B 84e8a0aa72b88a66a1020b695849926669728ee02f8cb51a14853b5e9c2ab692fe65810367e5d53268f7b234c10911f16d063ce665b3761432ab1d9c0aa52d16 SHA512 2bbf9765384f1f6c2336a3f421298c8900cf459e6d1ebc7fb89284014ef8db9f5215a68de2bb06dfa3404983160a0c4c589ffa3dc046611dd5409bd502938677
DIST salt-2019.2.3.tar.gz 14572686 BLAKE2B 770b815f43ca8651408c1c057377b02c8037e673584c719e0a9b5c56c13c8db2db0e2c8641a17323f2b890d4a69d1508b0090624c7067869d9fa84303c2f8585 SHA512 cd694ca19696a84e3370e39c61da180e508592253713d99dd6dd5342b57c2814fee22e46bade30d7604f5730d9e1a736e59c3a512161f744d3f097f74a2836c5

@ -0,0 +1,151 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_6 )
inherit eutils systemd distutils-r1
DESCRIPTION="Salt is a remote execution and configuration manager"
HOMEPAGE="https://www.saltstack.com/resources/community/
https://github.com/saltstack"
if [[ ${PV} == 9999* ]]; then
inherit git-r3
EGIT_REPO_URI="git://github.com/${PN}stack/${PN}.git"
EGIT_BRANCH="develop"
SRC_URI=""
KEYWORDS=""
else
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
KEYWORDS="~amd64 ~x86"
fi
LICENSE="Apache-2.0"
SLOT="0"
IUSE="cherrypy ldap libcloud libvirt gnupg keyring mako mongodb neutron nova"
IUSE+=" openssl portage profile redis selinux test raet +zeromq vim-syntax"
RDEPEND="sys-apps/pciutils
dev-python/jinja[${PYTHON_USEDEP}]
dev-python/libnacl[${PYTHON_USEDEP}]
>=dev-python/msgpack-0.3[${PYTHON_USEDEP}]
dev-python/pyyaml[${PYTHON_USEDEP}]
dev-python/markupsafe[${PYTHON_USEDEP}]
>=dev-python/requests-1.0.0[${PYTHON_USEDEP}]
dev-python/setuptools[${PYTHON_USEDEP}]
>=www-servers/tornado-4.2.1[${PYTHON_USEDEP}]
<www-servers/tornado-5.0[${PYTHON_USEDEP}]
virtual/python-futures[${PYTHON_USEDEP}]
libcloud? ( >=dev-python/libcloud-0.14.0[${PYTHON_USEDEP}] )
mako? ( dev-python/mako[${PYTHON_USEDEP}] )
ldap? ( dev-python/python-ldap[${PYTHON_USEDEP}] )
libvirt? ( dev-python/libvirt-python[${PYTHON_USEDEP}] )
openssl? (
dev-libs/openssl:0=[-bindist]
dev-python/pyopenssl[${PYTHON_USEDEP}]
)
raet? (
>=dev-python/libnacl-1.0.0[${PYTHON_USEDEP}]
>=dev-python/ioflo-1.1.7[${PYTHON_USEDEP}]
>=dev-python/raet-0.6.0[${PYTHON_USEDEP}]
)
zeromq? (
>=dev-python/pyzmq-2.2.0[${PYTHON_USEDEP}]
dev-python/pycryptodome[${PYTHON_USEDEP}]
)
cherrypy? ( >=dev-python/cherrypy-3.2.2[${PYTHON_USEDEP}] )
mongodb? ( dev-python/pymongo[${PYTHON_USEDEP}] )
portage? ( sys-apps/portage[${PYTHON_USEDEP}] )
keyring? ( dev-python/keyring[${PYTHON_USEDEP}] )
redis? ( dev-python/redis-py[${PYTHON_USEDEP}] )
selinux? ( sec-policy/selinux-salt )
nova? ( >=dev-python/python-novaclient-2.17.0[${PYTHON_USEDEP}] )
neutron? ( >=dev-python/python-neutronclient-2.3.6[${PYTHON_USEDEP}] )
gnupg? ( dev-python/python-gnupg[${PYTHON_USEDEP}] )
profile? ( dev-python/yappi[${PYTHON_USEDEP}] )
vim-syntax? ( app-vim/salt-vim )"
DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
test? (
>=dev-python/pytest-salt-2018.12.8[${PYTHON_USEDEP}]
>=dev-python/jsonschema-3.0[${PYTHON_USEDEP}]
dev-python/pytest-helpers-namespace[${PYTHON_USEDEP}]
dev-python/psutil[${PYTHON_USEDEP}]
dev-python/pytest[${PYTHON_USEDEP}]
dev-python/pytest-catchlog[${PYTHON_USEDEP}]
dev-python/pip[${PYTHON_USEDEP}]
dev-python/virtualenv[${PYTHON_USEDEP}]
>=dev-python/mock-2.0.0[${PYTHON_USEDEP}]
>=dev-python/boto-2.32.1[${PYTHON_USEDEP}]
!x86? ( >=dev-python/boto3-1.2.1[${PYTHON_USEDEP}] )
>=dev-python/moto-0.3.6[${PYTHON_USEDEP}]
>=dev-python/SaltTesting-2016.5.11[${PYTHON_USEDEP}]
>=dev-python/libcloud-0.14.0[${PYTHON_USEDEP}]
${RDEPEND}
)"
DOCS=( README.rst AUTHORS )
REQUIRED_USE="|| ( raet zeromq )"
RESTRICT="!test? ( test ) x86? ( test )"
PATCHES=(
"${FILESDIR}/salt-2017.7.0-dont-realpath-tmpdir.patch"
"${FILESDIR}/salt-2019.2.0-tests.patch"
"${FILESDIR}/salt-2019.2.0-skip-tests-that-oom-machine.patch"
"${FILESDIR}/salt-2019.2.2-newer-deps.patch"
"${FILESDIR}/salt-2019.2.2-workaround-broken-mock-on-py2.patch"
)
python_prepare() {
# remove tests with external dependencies that may not be available
rm tests/unit/{test_zypp_plugins.py,utils/test_extend.py} || die
rm tests/unit/modules/test_{file,boto_{vpc,secgroup,elb}}.py || die
rm tests/unit/states/test_boto_vpc.py || die
# allow the use of the renamed msgpack
sed -i '/^msgpack/d' requirements/base.txt || die
}
python_install_all() {
local svc
USE_SETUPTOOLS=1 distutils-r1_python_install_all
for svc in minion master syndic api; do
newinitd "${FILESDIR}"/${svc}-initd-4 salt-${svc}
newconfd "${FILESDIR}"/${svc}-confd-1 salt-${svc}
systemd_dounit "${FILESDIR}"/salt-${svc}.service
done
insinto /etc/${PN}
doins -r conf/*
}
python_test() {
local tempdir
# testsuite likes lots of files
ulimit -n 3072 || die
# ${T} is too long a path for the tests to work
tempdir="$(mktemp -du --tmpdir=/tmp salt-XXX)"
mkdir "${T}/$(basename "${tempdir}")"
mkdir "${BUILD_DIR}"/../{templates,conf/cloud.{providers,profiles,maps}.d} || die
(
cleanup() {
rm -f "${tempdir}"
rmdir "${BUILD_DIR}"/../{templates,conf/cloud.{providers,profiles,maps}.d} || die
}
trap cleanup EXIT
addwrite "${tempdir}"
ln -s "$(realpath --relative-to=/tmp "${T}/$(basename "${tempdir}")")" "${tempdir}"
USE_SETUPTOOLS=1 SHELL="/bin/bash" \
TMPDIR="${tempdir}" \
${EPYTHON} tests/runtests.py \
--unit-tests --no-report --verbose
) || die "testing failed"
}

Binary file not shown.

@ -1,2 +1 @@
DIST libarchive-3.4.0.tar.gz 6908093 BLAKE2B 6da5798ceabb542d8b877b3d672f6e6431ed7340ec0160a5d8cef28591b516b55d426002379eddc632a478bfd2f034a358f8552f55c9f066fd7f5c31c218b462 SHA512 2f9e2a551a6bcab56fb1a030b5d656df7299a3d151465aa02f0420d344d2fada49dee4755b3abff9095f62519e14dc9af8afa1695ecc6d5fdb4f0b28e6ede852
DIST libarchive-3.4.2.tar.gz 6979481 BLAKE2B eea90e4751ae487cd1a9b0eecd16598d1b81ffff665ae97a160e3858c8ffe60b82003f081af644f3f32260d0e1d3f3077240125e8279bf8111a79d93c68ac25d SHA512 a8922e54f2e985889d205ee8a0594c1d30dad950438b602a5be6bb1b274a735ad20a48ed484efd458013a0810d26ee4ae76e3a6c820823243d24ea0593ed7021 DIST libarchive-3.4.2.tar.gz 6979481 BLAKE2B eea90e4751ae487cd1a9b0eecd16598d1b81ffff665ae97a160e3858c8ffe60b82003f081af644f3f32260d0e1d3f3077240125e8279bf8111a79d93c68ac25d SHA512 a8922e54f2e985889d205ee8a0594c1d30dad950438b602a5be6bb1b274a735ad20a48ed484efd458013a0810d26ee4ae76e3a6c820823243d24ea0593ed7021

@ -1,160 +0,0 @@
From 64333cef68d7bcc67bef6ecf177fbeaa549b9139 Mon Sep 17 00:00:00 2001
From: Martin Matuska <martin@matuska.org>
Date: Sat, 29 Jun 2019 00:20:58 +0200
Subject: [PATCH] Unbreak compilation without zlib
Fixes #1214
---
libarchive/archive_read_support_filter_gzip.c | 54 ++++++++++++-------
libarchive/test/test_read_format_raw.c | 4 ++
2 files changed, 39 insertions(+), 19 deletions(-)
diff --git a/libarchive/archive_read_support_filter_gzip.c b/libarchive/archive_read_support_filter_gzip.c
index 458b6f729..9fa9e2b0d 100644
--- a/libarchive/archive_read_support_filter_gzip.c
+++ b/libarchive/archive_read_support_filter_gzip.c
@@ -131,12 +131,20 @@ archive_read_support_filter_gzip(struct archive *_a)
*/
static ssize_t
peek_at_header(struct archive_read_filter *filter, int *pbits,
- struct private_data *state)
+#ifdef HAVE_ZLIB_H
+ struct private_data *state
+#else
+ void *state
+#endif
+ )
{
const unsigned char *p;
ssize_t avail, len;
int bits = 0;
int header_flags;
+#ifndef HAVE_ZLIB_H
+ (void)state; /* UNUSED */
+#endif
/* Start by looking at the first ten bytes of the header, which
* is all fixed layout. */
@@ -153,8 +161,10 @@ peek_at_header(struct archive_read_filter *filter, int *pbits,
bits += 3;
header_flags = p[3];
/* Bytes 4-7 are mod time in little endian. */
+#ifdef HAVE_ZLIB_H
if (state)
state->mtime = archive_le32dec(p + 4);
+#endif
/* Byte 8 is deflate flags. */
/* XXXX TODO: return deflate flags back to consume_header for use
in initializing the decompressor. */
@@ -171,7 +181,9 @@ peek_at_header(struct archive_read_filter *filter, int *pbits,
/* Null-terminated optional filename. */
if (header_flags & 8) {
+#ifdef HAVE_ZLIB_H
ssize_t file_start = len;
+#endif
do {
++len;
if (avail < len)
@@ -181,11 +193,13 @@ peek_at_header(struct archive_read_filter *filter, int *pbits,
return (0);
} while (p[len - 1] != 0);
+#ifdef HAVE_ZLIB_H
if (state) {
/* Reset the name in case of repeat header reads. */
free(state->name);
state->name = strdup((const char *)&p[file_start]);
}
+#endif
}
/* Null-terminated optional comment. */
@@ -236,24 +250,6 @@ gzip_bidder_bid(struct archive_read_filter_bidder *self,
return (0);
}
-static int
-gzip_read_header(struct archive_read_filter *self, struct archive_entry *entry)
-{
- struct private_data *state;
-
- state = (struct private_data *)self->data;
-
- /* A mtime of 0 is considered invalid/missing. */
- if (state->mtime != 0)
- archive_entry_set_mtime(entry, state->mtime, 0);
-
- /* If the name is available, extract it. */
- if (state->name)
- archive_entry_set_pathname(entry, state->name);
-
- return (ARCHIVE_OK);
-}
-
#ifndef HAVE_ZLIB_H
/*
@@ -277,6 +273,24 @@ gzip_bidder_init(struct archive_read_filter *self)
#else
+static int
+gzip_read_header(struct archive_read_filter *self, struct archive_entry *entry)
+{
+ struct private_data *state;
+
+ state = (struct private_data *)self->data;
+
+ /* A mtime of 0 is considered invalid/missing. */
+ if (state->mtime != 0)
+ archive_entry_set_mtime(entry, state->mtime, 0);
+
+ /* If the name is available, extract it. */
+ if (state->name)
+ archive_entry_set_pathname(entry, state->name);
+
+ return (ARCHIVE_OK);
+}
+
/*
* Initialize the filter object.
*/
@@ -306,7 +320,9 @@ gzip_bidder_init(struct archive_read_filter *self)
self->read = gzip_filter_read;
self->skip = NULL; /* not supported */
self->close = gzip_filter_close;
+#ifdef HAVE_ZLIB_H
self->read_header = gzip_read_header;
+#endif
state->in_stream = 0; /* We're not actually within a stream yet. */
diff --git a/libarchive/test/test_read_format_raw.c b/libarchive/test/test_read_format_raw.c
index 0dac8bfba..3961723b4 100644
--- a/libarchive/test/test_read_format_raw.c
+++ b/libarchive/test/test_read_format_raw.c
@@ -36,7 +36,9 @@ DEFINE_TEST(test_read_format_raw)
const char *reffile1 = "test_read_format_raw.data";
const char *reffile2 = "test_read_format_raw.data.Z";
const char *reffile3 = "test_read_format_raw.bufr";
+#ifdef HAVE_ZLIB_H
const char *reffile4 = "test_read_format_raw.data.gz";
+#endif
/* First, try pulling data out of an uninterpretable file. */
extract_reference_file(reffile1);
@@ -119,6 +121,7 @@ DEFINE_TEST(test_read_format_raw)
assertEqualIntA(a, ARCHIVE_OK, archive_read_close(a));
assertEqualInt(ARCHIVE_OK, archive_read_free(a));
+#ifdef HAVE_ZLIB_H
/* Fourth, try with gzip which has metadata. */
extract_reference_file(reffile4);
assert((a = archive_read_new()) != NULL);
@@ -144,4 +147,5 @@ DEFINE_TEST(test_read_format_raw)
assertEqualIntA(a, ARCHIVE_EOF, archive_read_next_header(a, &ae));
assertEqualIntA(a, ARCHIVE_OK, archive_read_close(a));
assertEqualInt(ARCHIVE_OK, archive_read_free(a));
+#endif
}

@ -1,135 +0,0 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit libtool multilib-minimal toolchain-funcs
DESCRIPTION="Multi-format archive and compression library"
HOMEPAGE="https://www.libarchive.org/"
SRC_URI="https://www.libarchive.org/downloads/${P}.tar.gz"
LICENSE="BSD BSD-2 BSD-4 public-domain"
SLOT="0/13"
KEYWORDS="~alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 ~riscv s390 sh sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="acl blake2 +bzip2 +e2fsprogs expat +iconv kernel_linux libressl lz4 +lzma lzo nettle static-libs +threads xattr +zlib zstd"
RDEPEND="
acl? ( virtual/acl[${MULTILIB_USEDEP}] )
blake2? ( app-crypt/libb2[${MULTILIB_USEDEP}] )
bzip2? ( app-arch/bzip2[${MULTILIB_USEDEP}] )
expat? ( dev-libs/expat[${MULTILIB_USEDEP}] )
!expat? ( dev-libs/libxml2[${MULTILIB_USEDEP}] )
iconv? ( virtual/libiconv[${MULTILIB_USEDEP}] )
kernel_linux? (
xattr? ( sys-apps/attr[${MULTILIB_USEDEP}] )
)
!libressl? ( dev-libs/openssl:0=[${MULTILIB_USEDEP}] )
libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP}] )
lz4? ( >=app-arch/lz4-0_p131:0=[${MULTILIB_USEDEP}] )
lzma? ( app-arch/xz-utils[threads=,${MULTILIB_USEDEP}] )
lzo? ( >=dev-libs/lzo-2[${MULTILIB_USEDEP}] )
nettle? ( dev-libs/nettle:0=[${MULTILIB_USEDEP}] )
zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )
zstd? ( app-arch/zstd[${MULTILIB_USEDEP}] )"
DEPEND="${RDEPEND}
kernel_linux? (
virtual/os-headers
e2fsprogs? ( sys-fs/e2fsprogs )
)"
PATCHES=(
"${FILESDIR}"/${PN}-3.3.3-libressl.patch
"${FILESDIR}"/${P}-without_zlib_build_fix.patch #693202
)
# Various test problems, starting with the fact that sandbox
# explodes on long paths. https://bugs.gentoo.org/598806
RESTRICT="test"
src_prepare() {
default
elibtoolize # is required for Solaris sol2_ld linker fix
}
multilib_src_configure() {
export ac_cv_header_ext2fs_ext2_fs_h=$(usex e2fsprogs) #354923
local myconf=(
$(use_enable acl)
$(use_enable static-libs static)
$(use_enable xattr)
$(use_with blake2 libb2)
$(use_with bzip2 bz2lib)
$(use_with expat)
$(use_with !expat xml2)
$(use_with iconv)
$(use_with lz4)
$(use_with lzma)
$(use_with lzo lzo2)
$(use_with nettle)
$(use_with zlib)
$(use_with zstd)
# Windows-specific
--without-cng
)
if multilib_is_native_abi ; then
myconf+=(
--enable-bsdcat=$(tc-is-static-only && echo static || echo shared)
--enable-bsdcpio=$(tc-is-static-only && echo static || echo shared)
--enable-bsdtar=$(tc-is-static-only && echo static || echo shared)
)
else
myconf+=(
--disable-bsdcat
--disable-bsdcpio
--disable-bsdtar
)
fi
ECONF_SOURCE="${S}" econf "${myconf[@]}"
}
multilib_src_compile() {
if multilib_is_native_abi ; then
emake
else
emake libarchive.la
fi
}
multilib_src_test() {
# Replace the default src_test so that it builds tests in parallel
multilib_is_native_abi && emake check
}
multilib_src_install() {
if multilib_is_native_abi ; then
emake DESTDIR="${D}" install
# Create symlinks for FreeBSD
if ! use prefix && [[ ${CHOST} == *-freebsd* ]]; then
# Exclude cat for the time being #589876
for bin in cpio tar; do
dosym bsd${bin} /usr/bin/${bin}
echo '.so bsd${bin}.1' > "${T}"/${bin}.1
doman "${T}"/${bin}.1
done
fi
else
local install_targets=(
install-includeHEADERS
install-libLTLIBRARIES
install-pkgconfigDATA
)
emake DESTDIR="${D}" "${install_targets[@]}"
fi
# Libs.private: should be used from libarchive.pc instead
find "${ED}" -type f -name "*.la" -delete || die
}
multilib_src_install_all() {
cd "${S}" || die
einstalldocs
}

@ -12,7 +12,7 @@ SRC_URI="mirror://sourceforge/sevenzip/${MY_P}.tar.bz2 -> ${P}.tar.bz2"
LICENSE="public-domain" LICENSE="public-domain"
SLOT="0" SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos" KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ia64 ~mips ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
IUSE="doc" IUSE="doc"
S=${WORKDIR} S=${WORKDIR}

@ -1,3 +1,3 @@
DIST XADMaster-1.10.6.tar.gz 2064628 BLAKE2B 34203e5280a8e450db616849a953eb9f5147c8fe2922fabdcfce8585fd4bbe2c3aad76921368818e546d60d64b9c59de942cb63008edec83efa29ce4f5caae7f SHA512 f6e51943fd3ced9d0a0a2189db0a7a45d7f59e8109e78406b8c434f568fb53d791613e51437996cb1debae7d4490cdfabc9fa1fdfcc621ad97a43770af6b13e8 DIST XADMaster-1.10.6.tar.gz 2064628 BLAKE2B 34203e5280a8e450db616849a953eb9f5147c8fe2922fabdcfce8585fd4bbe2c3aad76921368818e546d60d64b9c59de942cb63008edec83efa29ce4f5caae7f SHA512 f6e51943fd3ced9d0a0a2189db0a7a45d7f59e8109e78406b8c434f568fb53d791613e51437996cb1debae7d4490cdfabc9fa1fdfcc621ad97a43770af6b13e8
DIST unar1.10.1_src.zip 2552535 BLAKE2B 678c90dae6572cf9de6f90d044de650d82293df3918eb298de27fe5a557efdda1c1da284c6829c667bb2812033627fcb1a31bf22318d277e9467ca965435f6b2 SHA512 2755f1e2dcca68912f748587f195887d785d5c30933ca0d7a7de1dd35c6c1c115571e49f462fe15722e1b34560f02503382727e1df19a1f23d4a3cc75750434e DIST XADMaster-1.10.7.tar.gz 2064770 BLAKE2B f6119dfb46f3d617fafb5847f41d6c0f3e5e87c8cd0763cd8e5986fae1d5b1c6e6761e9e7e4fa84125003979151b2b34d35ff47dc9be3271107cf53f1be22644 SHA512 3447b6d8f3f4fa5eea93c6628a1633017da6ff09c580d5ce4fd422027b3b79acbf38d6e41a059806d1e60eb25a9d66889938b32599168dc2c0ca648e1c1976b1
DIST universal-detector-1.1.tar.gz 196274 BLAKE2B d84dc1f850031213d88c288341edcbb588197f23ae0d10632ed129e73e4cc2b7670c8c862bba2165fcc7421c265e4dc3e791ea188e3d2b647bd1ab9b428bb866 SHA512 e514670b3d37b2472ed3e9cb0fdc3298a8479772264b7573411f104be554222bec2e01f73e1f35db95620fe785bee2dcf9ddc9c2b1f4ff6b522fa64d14d020f5 DIST universal-detector-1.1.tar.gz 196274 BLAKE2B d84dc1f850031213d88c288341edcbb588197f23ae0d10632ed129e73e4cc2b7670c8c862bba2165fcc7421c265e4dc3e791ea188e3d2b647bd1ab9b428bb866 SHA512 e514670b3d37b2472ed3e9cb0fdc3298a8479772264b7573411f104be554222bec2e01f73e1f35db95620fe785bee2dcf9ddc9c2b1f4ff6b522fa64d14d020f5

@ -1,54 +0,0 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit toolchain-funcs
DESCRIPTION="unpacker for various archiving formats, e.g. rar v3"
HOMEPAGE="https://unarchiver.c3.cx/"
SRC_URI="https://unarchiver.c3.cx/downloads/${PN}${PV}_src.zip"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="amd64"
IUSE=""
RDEPEND="
app-arch/bzip2:=
dev-libs/icu:=
gnustep-base/gnustep-base
sys-libs/zlib:=
"
DEPEND="${RDEPEND}
app-arch/unzip
>=gnustep-base/gnustep-make-2.6.0[native-exceptions]
sys-devel/gcc[objc]
"
S="${WORKDIR}/The Unarchiver/XADMaster"
src_prepare() {
default
# avoid jobserver warning, upstream bug:
# https://bitbucket.org/WAHa_06x36/theunarchiver/issues/918/dont-call-make-from-makefile
sed -i -e 's:make:$(MAKE):g' Makefile.linux || die
}
src_compile() {
emake -f Makefile.linux \
AR="$(tc-getAR)" \
CC="$(tc-getCC)" \
CXX="$(tc-getCXX)" \
OBJCC="$(tc-getCC)" \
CFLAGS="${CFLAGS}" \
CXXFLAGS="${CXXFLAGS}" \
OBJCFLAGS="${CFLAGS}" \
LD="$(tc-getCXX)" \
LDFLAGS="-Wl,--whole-archive -fexceptions -fgnu-runtime ${LDFLAGS}"
}
src_install() {
dobin {ls,un}ar
doman ../Extra/{ls,un}ar.1
}

@ -0,0 +1,60 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit bash-completion-r1 toolchain-funcs
DESCRIPTION="Unpacker for various archiving formats, e.g. rar v3"
HOMEPAGE="https://unarchiver.c3.cx/"
SRC_URI="
https://github.com/MacPaw/XADMaster/archive/v${PV}/XADMaster-${PV}.tar.gz
https://github.com/MacPaw/universal-detector/archive/1.1/universal-detector-1.1.tar.gz
"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="~amd64"
BDEPEND="
sys-devel/gcc[objc]
"
RDEPEND="
app-arch/bzip2:=
dev-libs/icu:=
gnustep-base/gnustep-base
media-sound/wavpack
sys-libs/zlib
"
DEPEND="${RDEPEND}
${BDEPEND}
gnustep-base/gnustep-make[native-exceptions]
"
S="${WORKDIR}/XADMaster-${PV}"
src_prepare() {
default
# avoid jobserver warning "make[1]: warning: jobserver unavailable: using -j1"
sed -i -e 's:make:$(MAKE):g' Makefile.linux || die
mv "${WORKDIR}/universal-detector-1.1" "${WORKDIR}/UniversalDetector" || die
}
src_compile() {
emake -f Makefile.linux \
AR="$(tc-getAR)" \
CC="$(tc-getCC)" \
CXX="$(tc-getCXX)" \
OBJCC="$(tc-getCC)" \
CFLAGS="${CFLAGS}" \
CXXFLAGS="${CXXFLAGS}" \
OBJCFLAGS="${CFLAGS}" \
LD="$(tc-getCXX)" \
LDFLAGS="-Wl,--whole-archive -fexceptions -fgnu-runtime ${LDFLAGS}"
}
src_install() {
dobin {ls,un}ar
doman Extra/{ls,un}ar.1
dobashcomp Extra/{ls,un}ar.bash_completion
}

Binary file not shown.

@ -1 +1,2 @@
DIST borgbackup-1.1.10.tar.gz 3610011 BLAKE2B 9c13d89a0441b5403019ed24b2f36fd55f4d133219b68802b79c76f5086324f4a249124a89c67049fecbadb78d5dae64b007ed6c53a579c115ce248db3e83054 SHA512 9315335208f10427e3105e10819817d15fd05171479252903bd51eaacb016bc3ff792d505b9203ce0b9b41ec350472bdb9a23b0128e7fe156aaa47c1608451c0 DIST borgbackup-1.1.10.tar.gz 3610011 BLAKE2B 9c13d89a0441b5403019ed24b2f36fd55f4d133219b68802b79c76f5086324f4a249124a89c67049fecbadb78d5dae64b007ed6c53a579c115ce248db3e83054 SHA512 9315335208f10427e3105e10819817d15fd05171479252903bd51eaacb016bc3ff792d505b9203ce0b9b41ec350472bdb9a23b0128e7fe156aaa47c1608451c0
DIST borgbackup-1.1.11.tar.gz 3718055 BLAKE2B ea03d538bd7936cc12705f73c3f8e63dc28167f1930e84bdd04fc13bcc34c2b9f35e7e6ed945ba20b647dbdefe12c66c04645414c7efc974e53a312e3dff6991 SHA512 cf629f31d38d27ce6350670ff27b4937f2f30eddf9e0cd9209cd9d57a4ffa653f5a291ea1e1c79614dd2c08bcf5c50bc3e4e0f222e0d3cd1bbfb2d756b4a4573

@ -0,0 +1,52 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{6,7} )
inherit distutils-r1
if [[ ${PV} == "9999" ]] ; then
EGIT_REPO_URI="https://github.com/${PN}/borg.git"
inherit git-r3
else
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
KEYWORDS="~amd64 ~x86"
fi
DESCRIPTION="Deduplicating backup program with compression and authenticated encryption"
HOMEPAGE="https://borgbackup.readthedocs.io/"
LICENSE="BSD"
SLOT="0"
IUSE="libressl"
# Unfortunately we have a file conflict with app-office/borg, bug #580402
RDEPEND="
!!app-office/borg
app-arch/lz4
virtual/acl
dev-python/llfuse[${PYTHON_USEDEP}]
~dev-python/msgpack-0.5.6[${PYTHON_USEDEP}]
dev-python/pyzmq[${PYTHON_USEDEP}]
!libressl? ( dev-libs/openssl:0= )
libressl? ( dev-libs/libressl:0= )
"
DEPEND="
dev-python/setuptools_scm[${PYTHON_USEDEP}]
dev-python/cython[${PYTHON_USEDEP}]
${RDEPEND}
"
python_prepare_all() {
rm -rf src/borg/algorithms/msgpack
eapply "${FILESDIR}"/${P}-unbundle-msgpack.patch
distutils-r1_python_prepare_all
}
src_install() {
distutils-r1_src_install
doman docs/man/*
}

@ -0,0 +1,110 @@
diff -Naur borgbackup-1.1.11.orig/setup.cfg borgbackup-1.1.11/setup.cfg
--- borgbackup-1.1.11.orig/setup.cfg 2020-03-07 18:44:15.000000000 -0500
+++ borgbackup-1.1.11/setup.cfg 2020-03-11 10:28:25.168481822 -0400
@@ -6,7 +6,7 @@
F401,F405,F811,
W504
max-line-length = 255
-exclude = build,dist,.git,.idea,.cache,.tox,docs/conf.py,src/borg/algorithms/msgpack
+exclude = build,dist,.git,.idea,.cache,.tox,docs/conf.py
[egg_info]
tag_build =
diff -Naur borgbackup-1.1.11.orig/setup.py borgbackup-1.1.11/setup.py
--- borgbackup-1.1.11.orig/setup.py 2020-03-07 18:32:06.000000000 -0500
+++ borgbackup-1.1.11/setup.py 2020-03-11 10:28:15.568759338 -0400
@@ -25,8 +25,6 @@
# True: use the shared libb2 from the system, False: use the bundled blake2 code
prefer_system_libb2 = True
-# prefer_system_msgpack is another option, but you need to set it in src/borg/helpers.py.
-
min_python = (3, 4)
my_python = sys.version_info
@@ -79,8 +77,6 @@
platform_syncfilerange_source = 'src/borg/platform/syncfilerange.pyx'
platform_darwin_source = 'src/borg/platform/darwin.pyx'
platform_freebsd_source = 'src/borg/platform/freebsd.pyx'
-msgpack_packer_source = 'src/borg/algorithms/msgpack/_packer.pyx'
-msgpack_unpacker_source = 'src/borg/algorithms/msgpack/_unpacker.pyx'
cython_c_sources = [
# these .pyx will get compiled to .c
@@ -98,12 +94,6 @@
platform_darwin_source,
]
-cython_cpp_sources = [
- # these .pyx will get compiled to .cpp
- msgpack_packer_source,
- msgpack_unpacker_source,
-]
-
try:
from Cython.Distutils import build_ext
import Cython.Compiler.Main as cython_compiler
@@ -133,8 +123,6 @@
'src/borg/platform/syncfilerange.c',
'src/borg/platform/freebsd.c',
'src/borg/platform/darwin.c',
- 'src/borg/algorithms/msgpack/_packer.cpp',
- 'src/borg/algorithms/msgpack/_unpacker.cpp',
])
super().make_distribution()
@@ -155,14 +143,12 @@
platform_freebsd_source = platform_freebsd_source.replace('.pyx', '.c')
platform_darwin_source = platform_darwin_source.replace('.pyx', '.c')
- msgpack_packer_source = msgpack_packer_source.replace('.pyx', '.cpp')
- msgpack_unpacker_source = msgpack_unpacker_source.replace('.pyx', '.cpp')
from distutils.command.build_ext import build_ext
if not on_rtd and not all(os.path.exists(path) for path in [
compress_source, crypto_ll_source, chunker_source, hashindex_source, item_source, checksums_source,
platform_posix_source, platform_linux_source, platform_syncfilerange_source, platform_freebsd_source, platform_darwin_source,
- msgpack_packer_source, msgpack_unpacker_source]):
+ ]):
raise ImportError('The GIT version of Borg needs Cython. Install Cython or use a released version.')
@@ -805,26 +791,7 @@
system_prefix=libb2_prefix, system=libb2_system,
**crypto_ext_kwargs)
- msgpack_endian = '__BIG_ENDIAN__' if (sys.byteorder == 'big') else '__LITTLE_ENDIAN__'
- msgpack_macros = [(msgpack_endian, '1')]
- msgpack_packer_ext_kwargs = dict(
- sources=[msgpack_packer_source],
- include_dirs=include_dirs,
- library_dirs=library_dirs,
- define_macros=msgpack_macros,
- language='c++',
- )
- msgpack_unpacker_ext_kwargs = dict(
- sources=[msgpack_unpacker_source],
- include_dirs=include_dirs,
- library_dirs=library_dirs,
- define_macros=msgpack_macros,
- language='c++',
- )
-
ext_modules += [
- Extension('borg.algorithms.msgpack._packer', **msgpack_packer_ext_kwargs),
- Extension('borg.algorithms.msgpack._unpacker', **msgpack_unpacker_ext_kwargs),
Extension('borg.compress', **compress_ext_kwargs),
Extension('borg.crypto.low_level', **crypto_ext_kwargs),
Extension('borg.hashindex', [hashindex_source]),
diff -Naur borgbackup-1.1.11.orig/src/borg/helpers.py borgbackup-1.1.11/src/borg/helpers.py
--- borgbackup-1.1.11.orig/src/borg/helpers.py 2020-03-07 18:32:06.000000000 -0500
+++ borgbackup-1.1.11/src/borg/helpers.py 2020-03-11 10:28:42.519980213 -0400
@@ -55,7 +55,7 @@
# any feedback related to issues caused by this will be ignored.
# - especially, it is known that msgpack 0.6.x does NOT work for borg 1.1.x.
-prefer_system_msgpack = False
+prefer_system_msgpack = True
try:
if prefer_system_msgpack:

@ -0,0 +1,50 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python2_7 python3_6 python3_7 )
inherit distutils-r1
DESCRIPTION="Secure backup system using gnupg to encrypt data"
HOMEPAGE="http://www.nongnu.org/duplicity/"
SRC_URI="https://code.launchpad.net/${PN}/$(ver_cut 1-2)-series/$(ver_cut 1-3)/+download/${P}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
IUSE="s3 test"
CDEPEND="
net-libs/librsync
app-crypt/gnupg
dev-python/fasteners[${PYTHON_USEDEP}]
"
DEPEND="${CDEPEND}
dev-python/setuptools[${PYTHON_USEDEP}]
test? (
app-arch/par2cmdline
dev-python/mock[${PYTHON_USEDEP}]
dev-python/pexpect[${PYTHON_USEDEP}]
)
"
RDEPEND="${CDEPEND}
dev-python/paramiko[${PYTHON_USEDEP}]
dev-python/future[${PYTHON_USEDEP}]
s3? ( dev-python/boto[${PYTHON_USEDEP}] )
"
RESTRICT="test"
PATCHES=(
"${FILESDIR}/${P}-fix-docs.patch"
)
python_test() {
esetup.py test
}
pkg_postinst() {
elog "Duplicity has many optional dependencies to support various backends."
elog "Currently it's up to you to install them as necessary."
}

Binary file not shown.

@ -15,23 +15,16 @@ SRC_URI="mirror://gnupg/gpgme/${P}.tar.bz2"
LICENSE="GPL-2 LGPL-2.1" LICENSE="GPL-2 LGPL-2.1"
SLOT="1/11" # subslot = soname major version SLOT="1/11" # subslot = soname major version
KEYWORDS="~alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~riscv s390 sh sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" KEYWORDS="~alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~riscv s390 sh sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="common-lisp static-libs cxx python qt5" IUSE="common-lisp static-libs +cxx python qt5"
COMMON_DEPEND=">=app-crypt/gnupg-2 RDEPEND=">=app-crypt/gnupg-2
>=dev-libs/libassuan-2.5.3:= >=dev-libs/libassuan-2.5.3:=
>=dev-libs/libgpg-error-1.29:= >=dev-libs/libgpg-error-1.29:=
python? ( ${PYTHON_DEPS} ) python? ( ${PYTHON_DEPS} )
qt5? ( dev-qt/qtcore:5 )" qt5? ( dev-qt/qtcore:5 )"
#doc? ( app-doc/doxygen[dot] ) #doc? ( app-doc/doxygen[dot] )
DEPEND="${COMMON_DEPEND} DEPEND="${RDEPEND}
qt5? ( dev-qt/qttest:5 )" qt5? ( dev-qt/qttest:5 )"
RDEPEND="${COMMON_DEPEND}
cxx? (
!<kde-apps/gpgmepp-4.14.11_pre20160611:4
!kde-apps/gpgmepp:5
!<kde-apps/kdepimlibs-4.14.10_p20160611:4
!=kde-apps/kdepimlibs-4.14.11_pre20160211*:4
)"
BDEPEND="python? ( dev-lang/swig )" BDEPEND="python? ( dev-lang/swig )"
REQUIRED_USE="qt5? ( cxx ) python? ( ${PYTHON_REQUIRED_USE} )" REQUIRED_USE="qt5? ( cxx ) python? ( ${PYTHON_REQUIRED_USE} )"

@ -15,23 +15,16 @@ SRC_URI="mirror://gnupg/gpgme/${P}.tar.bz2"
LICENSE="GPL-2 LGPL-2.1" LICENSE="GPL-2 LGPL-2.1"
SLOT="1/11" # subslot = soname major version SLOT="1/11" # subslot = soname major version
KEYWORDS="~alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 ~riscv sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" KEYWORDS="~alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 ~riscv sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="common-lisp static-libs cxx python qt5" IUSE="common-lisp static-libs +cxx python qt5"
COMMON_DEPEND=">=app-crypt/gnupg-2 RDEPEND=">=app-crypt/gnupg-2
>=dev-libs/libassuan-2.0.2:= >=dev-libs/libassuan-2.0.2:=
>=dev-libs/libgpg-error-1.29:= >=dev-libs/libgpg-error-1.29:=
python? ( ${PYTHON_DEPS} ) python? ( ${PYTHON_DEPS} )
qt5? ( dev-qt/qtcore:5 )" qt5? ( dev-qt/qtcore:5 )"
#doc? ( app-doc/doxygen[dot] ) #doc? ( app-doc/doxygen[dot] )
DEPEND="${COMMON_DEPEND} DEPEND="${RDEPEND}
qt5? ( dev-qt/qttest:5 )" qt5? ( dev-qt/qttest:5 )"
RDEPEND="${COMMON_DEPEND}
cxx? (
!<kde-apps/gpgmepp-4.14.11_pre20160611:4
!kde-apps/gpgmepp:5
!<kde-apps/kdepimlibs-4.14.10_p20160611:4
!=kde-apps/kdepimlibs-4.14.11_pre20160211*:4
)"
BDEPEND="python? ( dev-lang/swig )" BDEPEND="python? ( dev-lang/swig )"
REQUIRED_USE="qt5? ( cxx ) python? ( ${PYTHON_REQUIRED_USE} )" REQUIRED_USE="qt5? ( cxx ) python? ( ${PYTHON_REQUIRED_USE} )"

@ -15,23 +15,16 @@ SRC_URI="mirror://gnupg/gpgme/${P}.tar.bz2"
LICENSE="GPL-2 LGPL-2.1" LICENSE="GPL-2 LGPL-2.1"
SLOT="1/11" # subslot = soname major version SLOT="1/11" # subslot = soname major version
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="common-lisp static-libs cxx python qt5" IUSE="common-lisp static-libs +cxx python qt5"
COMMON_DEPEND=">=app-crypt/gnupg-2 RDEPEND=">=app-crypt/gnupg-2
>=dev-libs/libassuan-2.5.3:= >=dev-libs/libassuan-2.5.3:=
>=dev-libs/libgpg-error-1.29:= >=dev-libs/libgpg-error-1.29:=
python? ( ${PYTHON_DEPS} ) python? ( ${PYTHON_DEPS} )
qt5? ( dev-qt/qtcore:5 )" qt5? ( dev-qt/qtcore:5 )"
#doc? ( app-doc/doxygen[dot] ) #doc? ( app-doc/doxygen[dot] )
DEPEND="${COMMON_DEPEND} DEPEND="${RDEPEND}
qt5? ( dev-qt/qttest:5 )" qt5? ( dev-qt/qttest:5 )"
RDEPEND="${COMMON_DEPEND}
cxx? (
!<kde-apps/gpgmepp-4.14.11_pre20160611:4
!kde-apps/gpgmepp:5
!<kde-apps/kdepimlibs-4.14.10_p20160611:4
!=kde-apps/kdepimlibs-4.14.11_pre20160211*:4
)"
BDEPEND="python? ( dev-lang/swig )" BDEPEND="python? ( dev-lang/swig )"
REQUIRED_USE="qt5? ( cxx ) python? ( ${PYTHON_REQUIRED_USE} )" REQUIRED_USE="qt5? ( cxx ) python? ( ${PYTHON_REQUIRED_USE} )"

Binary file not shown.

@ -6,7 +6,7 @@ PYTHON_COMPAT=( python3_6 )
CMAKE_MAKEFILE_GENERATOR="emake" CMAKE_MAKEFILE_GENERATOR="emake"
inherit cmake-utils eutils python-any-r1 inherit cmake-utils eutils llvm python-any-r1
if [[ ${PV} = *9999* ]]; then if [[ ${PV} = *9999* ]]; then
inherit git-r3 inherit git-r3
EGIT_REPO_URI="https://github.com/doxygen/doxygen.git" EGIT_REPO_URI="https://github.com/doxygen/doxygen.git"
@ -27,7 +27,7 @@ RDEPEND="app-text/ghostscript-gpl
dev-lang/perl dev-lang/perl
media-libs/libpng:0= media-libs/libpng:0=
virtual/libiconv virtual/libiconv
clang? ( >=sys-devel/clang-4.0.0:= ) clang? ( <sys-devel/clang-10:= )
dot? ( dot? (
media-gfx/graphviz media-gfx/graphviz
media-libs/freetype media-libs/freetype
@ -67,7 +67,10 @@ PATCHES=(
DOCS=( LANGUAGE.HOWTO README.md ) DOCS=( LANGUAGE.HOWTO README.md )
LLVM_MAX_SLOT=9
pkg_setup() { pkg_setup() {
use clang && llvm_pkg_setup
use doc && python-any-r1_pkg_setup use doc && python-any-r1_pkg_setup
} }

@ -6,7 +6,7 @@ PYTHON_COMPAT=( python3_6 )
CMAKE_MAKEFILE_GENERATOR="emake" CMAKE_MAKEFILE_GENERATOR="emake"
inherit cmake-utils eutils python-any-r1 inherit cmake-utils eutils llvm python-any-r1
if [[ ${PV} = *9999* ]]; then if [[ ${PV} = *9999* ]]; then
inherit git-r3 inherit git-r3
EGIT_REPO_URI="https://github.com/doxygen/doxygen.git" EGIT_REPO_URI="https://github.com/doxygen/doxygen.git"
@ -28,7 +28,7 @@ RDEPEND="app-text/ghostscript-gpl
dev-lang/perl dev-lang/perl
media-libs/libpng:0= media-libs/libpng:0=
virtual/libiconv virtual/libiconv
clang? ( >=sys-devel/clang-4.0.0:= ) clang? ( <sys-devel/clang-10:= )
dot? ( dot? (
media-gfx/graphviz media-gfx/graphviz
media-libs/freetype media-libs/freetype
@ -68,8 +68,10 @@ PATCHES=(
) )
DOCS=( LANGUAGE.HOWTO README.md ) DOCS=( LANGUAGE.HOWTO README.md )
LLVM_MAX_SLOT=9
pkg_setup() { pkg_setup() {
use clang && llvm_pkg_setup
use doc && python-any-r1_pkg_setup use doc && python-any-r1_pkg_setup
} }

@ -6,7 +6,7 @@ PYTHON_COMPAT=( python3_{6,7,8} )
CMAKE_MAKEFILE_GENERATOR="emake" CMAKE_MAKEFILE_GENERATOR="emake"
inherit cmake-utils eutils python-any-r1 inherit cmake-utils eutils llvm python-any-r1
if [[ ${PV} = *9999* ]]; then if [[ ${PV} = *9999* ]]; then
inherit git-r3 inherit git-r3
EGIT_REPO_URI="https://github.com/doxygen/doxygen.git" EGIT_REPO_URI="https://github.com/doxygen/doxygen.git"
@ -28,7 +28,7 @@ RDEPEND="app-text/ghostscript-gpl
dev-lang/perl dev-lang/perl
media-libs/libpng:0= media-libs/libpng:0=
virtual/libiconv virtual/libiconv
clang? ( >=sys-devel/clang-4.0.0:= ) clang? ( <sys-devel/clang-10:= )
dot? ( dot? (
media-gfx/graphviz media-gfx/graphviz
media-libs/freetype media-libs/freetype
@ -66,7 +66,10 @@ PATCHES=(
DOCS=( LANGUAGE.HOWTO README.md ) DOCS=( LANGUAGE.HOWTO README.md )
LLVM_MAX_SLOT=9
pkg_setup() { pkg_setup() {
use clang && llvm_pkg_setup
use doc && python-any-r1_pkg_setup use doc && python-any-r1_pkg_setup
} }

Binary file not shown.

@ -1 +1,2 @@
DIST diskimage-builder-2.33.0.tar.gz 434041 BLAKE2B 16d14c68e7a54b785426516ecced4adb53b4e84f36d36846732ef7c4823644375373249ceacd1371e39262ebc9050f2f86184718dc3fb17b44eaa20f561410c0 SHA512 125bdcc0a2d4249918485115c49482746e4f86cb7883d3689afd4288a0d18ca97bcb669b811034ccb159879520172ca37bd9f9d7ba4ea509f788be0f3cf2259b DIST diskimage-builder-2.33.0.tar.gz 434041 BLAKE2B 16d14c68e7a54b785426516ecced4adb53b4e84f36d36846732ef7c4823644375373249ceacd1371e39262ebc9050f2f86184718dc3fb17b44eaa20f561410c0 SHA512 125bdcc0a2d4249918485115c49482746e4f86cb7883d3689afd4288a0d18ca97bcb669b811034ccb159879520172ca37bd9f9d7ba4ea509f788be0f3cf2259b
DIST diskimage-builder-2.34.0.tar.gz 436267 BLAKE2B b234385fedb48ec32c7fb8b684bd5531e04e342b237cc2090bd69742774a58868a1021767fb281a06cff1507d7d0c109ecb26caea61d0075ddf1a0fff9b1b48b SHA512 ddad45d57fc59c64a07276492354a7ea6d6aea76e300f1fce202208159a285c51dfc851f6630287b19c9f5685315cdcab1125e37cea90a92c361ea38e82a5a33

@ -0,0 +1,39 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{6,7} )
inherit distutils-r1
DESCRIPTION="Golden Disk Image builder."
HOMEPAGE="http://docs.openstack.org/developer/diskimage-builder/"
if [[ ${PV} == 9999* ]]; then
inherit git-r3
EGIT_REPO_URI="https://opendev.org/openstack/diskimage-builder.git"
else
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-linux ~x86-linux"
fi
LICENSE="Apache-2.0"
SLOT="0"
IUSE=""
CDEPEND=">=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
!~dev-python/pbr-2.1.0[${PYTHON_USEDEP}]"
DEPEND="${CDEPEND}
dev-python/setuptools[${PYTHON_USEDEP}]"
RDEPEND="${CDEPEND}
>=dev-python/Babel-2.3.4[${PYTHON_USEDEP}]
!~dev-python/Babel-2.4.0[${PYTHON_USEDEP}]
>=dev-python/networkx-1.10[${PYTHON_USEDEP}]
>=dev-python/pyyaml-3.12[${PYTHON_USEDEP}]
>=dev-python/six-1.10.0[${PYTHON_USEDEP}]
>=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
app-emulation/qemu
sys-block/parted
sys-fs/multipath-tools
sys-fs/dosfstools
sys-apps/gptfdisk
!dev-python/dib-utils[${PYTHON_USEDEP}]"

@ -41,11 +41,15 @@ src_prepare() {
# Disable installation of python modules here, since those are # Disable installation of python modules here, since those are
# installed by separate ebuilds. # installed by separate ebuilds.
sed -e '/^GIT_.*/d' \ local makefile_sed_args=(
-e 's:GO111MODULE=off:GO111MODULE=on:' \ -e '/^GIT_.*/d'
-e 's/$(GO) build/$(GO) build -v -work -x/' \ -e 's/$(GO) build/$(GO) build -v -work -x/'
-e 's/^\(install:.*\) install\.python$/\1/' \ -e 's/^\(install:.*\) install\.python$/\1/'
-i Makefile || die )
has_version -b '>=dev-lang/go-1.14' || makefile_sed_args+=(-e 's:GO111MODULE=off:GO111MODULE=on:')
sed "${makefile_sed_args[@]}" -i Makefile || die
sed -e 's|OUTPUT="${CIRRUS_TAG:.*|OUTPUT='v${PV}'|' \ sed -e 's|OUTPUT="${CIRRUS_TAG:.*|OUTPUT='v${PV}'|' \
-i hack/get_release_info.sh || die -i hack/get_release_info.sh || die

@ -1,6 +1,6 @@
DIST xen-4.11.3-upstream-patches-1.tar.xz 30200 BLAKE2B c63fd2d15efda1ae9aab534c13cd1826a87a5fbd2757f3d82461b1ef2dada0ee23dbb814328e3f8695e0819094d80584fc388536c927c386f02201d4d26a8287 SHA512 e48c60f724fa0f2d5e2bbea3d71590d7c3be2973c35c4b73ff0737f03207dcbfd7f9e43b43783bb739f7059778862693a50354178ae2fd53b04e5d39429e59cf DIST xen-4.11.3-upstream-patches-1.tar.xz 30200 BLAKE2B c63fd2d15efda1ae9aab534c13cd1826a87a5fbd2757f3d82461b1ef2dada0ee23dbb814328e3f8695e0819094d80584fc388536c927c386f02201d4d26a8287 SHA512 e48c60f724fa0f2d5e2bbea3d71590d7c3be2973c35c4b73ff0737f03207dcbfd7f9e43b43783bb739f7059778862693a50354178ae2fd53b04e5d39429e59cf
DIST xen-4.11.3.tar.gz 25180826 BLAKE2B 56041bcef9adec754ee21032cf849745c6011224463f73b763ea186b37460f8456cb1f10614cb51ee4d2d77f03cba311f025e8999687888d15ac59cc122cd172 SHA512 2204e490e9fc357a05983a9bf4e7345e1d364fe00400ce473988dcb9ca7d4e2b921fe10f095cbbc64248130a92d22c6f0d154dcae250a57a7f915df32e3dc436 DIST xen-4.11.3.tar.gz 25180826 BLAKE2B 56041bcef9adec754ee21032cf849745c6011224463f73b763ea186b37460f8456cb1f10614cb51ee4d2d77f03cba311f025e8999687888d15ac59cc122cd172 SHA512 2204e490e9fc357a05983a9bf4e7345e1d364fe00400ce473988dcb9ca7d4e2b921fe10f095cbbc64248130a92d22c6f0d154dcae250a57a7f915df32e3dc436
DIST xen-4.12.2-upstream-patches-0.tar.xz 3976 BLAKE2B 4527b5699b13e1b5bed9b82b67c7a3ddfbe39dc69f63b3bb1fda81cb315c6d78a34441219b8d4ae3d95ae2bc52ef0779410b65813212fa07867061fcb2b599ac SHA512 462de147b0474ca8e051219b41b088f25eb4be3962cde399403be5fbcfd4747054f84bf8c732ba8d86c1ba1980c518b67cd8e4f342e4120dd8bf6594d185a92e DIST xen-4.12.2-upstream-patches-1.tar.xz 17016 BLAKE2B 5bd27f6187c13b1c4792aa81c0ca8cde0d687566e0fde322e7cb249e1c8665fca0def5a137493a04598b617c46f052cf69701257ea1b97823fd1534d94cabd8f SHA512 dab5e7a3ac1a82faff3069f07945dc0b9651f90e8e87b3c342bb98a06ac244d212dc0baf8c7f1997f285b06baca9dc57d4823bfb220ca34274bd3d6d31421b02
DIST xen-4.12.2.tar.gz 26985135 BLAKE2B 530821011a6dd0ac0a99fb135ff5311eb8e975c3791818093b5e250eed7854d153de6d4340197f9b949c0ad2c3d7b2b7180deb42bc71748ff70ff6fad195269d SHA512 7d9e7921271830c9eadf1bb8eca1aec20d343ad7475b0dc3165ef6d681759e7cb70739f8d9f85622a23aef960988820e822267fb198b12ee3dd657ad6164069f DIST xen-4.12.2.tar.gz 26985135 BLAKE2B 530821011a6dd0ac0a99fb135ff5311eb8e975c3791818093b5e250eed7854d153de6d4340197f9b949c0ad2c3d7b2b7180deb42bc71748ff70ff6fad195269d SHA512 7d9e7921271830c9eadf1bb8eca1aec20d343ad7475b0dc3165ef6d681759e7cb70739f8d9f85622a23aef960988820e822267fb198b12ee3dd657ad6164069f
DIST xen-4.13.0-upstream-patches-0.tar.xz 11156 BLAKE2B e704a3fc1a9213a79208cf60b9972f5480214c0f050fce15245e225b67a34f90ca46e77a74c286d7aef90718295ec6968c2671b72f1994a4372bc191681d38f8 SHA512 594194021d0786016e8e214d477892c1ea721e1964729a15ab6928c3cb14b986cbc628d1522ccbf9d53fe568f680acb056d2ff2a37e64261d183589accea4983 DIST xen-4.13.0-upstream-patches-1.tar.xz 26000 BLAKE2B 0ab884f4b64f318c256d1959fde34da85e85a1d6974f00001125e29838f3f7d9b06ff767dff437635648eed1449976ff88250cbe141e9175d4430135e8923667 SHA512 f37514bf7ad92f8d8be798129c446fe9ec0d409e904f6b4971f07dd8b899dd20f40424a72106d7c50da83fed1f7097c575fbdeee06e18f9f4255bf6b2a71f08a
DIST xen-4.13.0.tar.gz 39005191 BLAKE2B cd85bfe549e20447afb8ec6b2ab33ea1893f45392c08737730d7898706748ebb96b2e842b2ff3e4af8c5d8a705e6d25a2bfb8acf0d7cc771805d0cc97757a949 SHA512 5b2ded9a2fe3f7ddf40eed1fa9858baead06233a01eb6099cc45b3c78b6c3823acfe7b731910733e87125dfa49d08c53f74c215fb1b320a92b44b87a0a105225 DIST xen-4.13.0.tar.gz 39005191 BLAKE2B cd85bfe549e20447afb8ec6b2ab33ea1893f45392c08737730d7898706748ebb96b2e842b2ff3e4af8c5d8a705e6d25a2bfb8acf0d7cc771805d0cc97757a949 SHA512 5b2ded9a2fe3f7ddf40eed1fa9858baead06233a01eb6099cc45b3c78b6c3823acfe7b731910733e87125dfa49d08c53f74c215fb1b320a92b44b87a0a105225

@ -16,7 +16,7 @@ if [[ $PV == *9999 ]]; then
SRC_URI="" SRC_URI=""
else else
KEYWORDS="~amd64 ~arm -x86" KEYWORDS="~amd64 ~arm -x86"
UPSTREAM_VER=0 UPSTREAM_VER=1
SECURITY_VER= SECURITY_VER=
GENTOO_VER= GENTOO_VER=

@ -16,7 +16,7 @@ if [[ $PV == *9999 ]]; then
SRC_URI="" SRC_URI=""
else else
KEYWORDS="~amd64 ~arm -x86" KEYWORDS="~amd64 ~arm -x86"
UPSTREAM_VER=0 UPSTREAM_VER=1
SECURITY_VER= SECURITY_VER=
GENTOO_VER= GENTOO_VER=

Binary file not shown.

@ -3,9 +3,9 @@
EAPI="6" EAPI="6"
PYTHON_COMPAT=( python2_7 ) PYTHON_COMPAT=( python2_7 )
USE_RUBY="ruby24" USE_RUBY="ruby25 ruby26 ruby27"
inherit autotools python-single-r1 ruby-single inherit autotools python-single-r1 ruby-utils
DESCRIPTION="Japanese handwriting recognition engine" DESCRIPTION="Japanese handwriting recognition engine"
HOMEPAGE="http://tomoe.osdn.jp/" HOMEPAGE="http://tomoe.osdn.jp/"
@ -17,17 +17,7 @@ KEYWORDS="amd64 x86"
IUSE="hyperestraier mysql python ruby ${USE_RUBY//ruby/ruby_targets_ruby} static-libs subversion" IUSE="hyperestraier mysql python ruby ${USE_RUBY//ruby/ruby_targets_ruby} static-libs subversion"
RESTRICT="test" RESTRICT="test"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} ) REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )
ruby? ( || ( ${USE_RUBY//ruby/ruby_targets_ruby} ) )" ruby? ( ^^ ( ${USE_RUBY//ruby/ruby_targets_ruby} ) )"
_ruby_set_globals() {
local ruby
for ruby in ${USE_RUBY}; do
RUBY_USEDEP="${RUBY_USEDEP}ruby_targets_${ruby}?,"
done
RUBY_USEDEP="${RUBY_USEDEP%,}"
}
_ruby_set_globals
unset -f _ruby_set_globals
RDEPEND="dev-libs/glib:2 RDEPEND="dev-libs/glib:2
hyperestraier? ( app-text/hyperestraier ) hyperestraier? ( app-text/hyperestraier )
@ -40,8 +30,12 @@ RDEPEND="dev-libs/glib:2
') ')
) )
ruby? ( ruby? (
${RUBY_DEPS} $(for ruby in ${USE_RUBY}; do
dev-ruby/ruby-glib2[${RUBY_USEDEP}] echo "ruby_targets_${ruby}? (
$(_ruby_implementation_depend "${ruby}")
dev-ruby/ruby-glib2[ruby_targets_${ruby}]
)"
done)
) )
subversion? ( dev-vcs/subversion )" subversion? ( dev-vcs/subversion )"
DEPEND="${RDEPEND} DEPEND="${RDEPEND}
@ -75,7 +69,7 @@ src_prepare() {
src_configure() { src_configure() {
local ruby local ruby
for ruby in ${RUBY_TARGETS_PREFERENCE}; do for ruby in ${USE_RUBY}; do
if use ruby_targets_${ruby}; then if use ruby_targets_${ruby}; then
break break
fi fi
@ -85,7 +79,7 @@ src_configure() {
$(use_enable ruby dict-ruby) \ $(use_enable ruby dict-ruby) \
$(use_enable static-libs static) \ $(use_enable static-libs static) \
$(use_with python python "") \ $(use_with python python "") \
$(use_with ruby ruby "$(type -p ${ruby})") \ $(use_with ruby ruby "$(type -P ${ruby})") \
--with-svn-include="${EPREFIX}"/usr/include \ --with-svn-include="${EPREFIX}"/usr/include \
--with-svn-lib="${EPREFIX}"/usr/$(get_libdir) --with-svn-lib="${EPREFIX}"/usr/$(get_libdir)
} }

Binary file not shown.

@ -1 +1,2 @@
DIST todo-2.10.tar.gz 56509 BLAKE2B ec89d12506b5025bab8d05bab1122d48ef2e9edb811c4091c1ff96b4b18c2ced54026d3d908a565278804c15c6fbde8aef3ae5a0cb23d4b12bb36133fce5bb2c SHA512 b14d9d13948836d971f72b941770e8e2c59d171d35f074205900619c5c3efd7ca0a482887046c1865890afb6595fe27c69677c54ea5824163d291e16fa5329d3 DIST todo-2.10.tar.gz 56509 BLAKE2B ec89d12506b5025bab8d05bab1122d48ef2e9edb811c4091c1ff96b4b18c2ced54026d3d908a565278804c15c6fbde8aef3ae5a0cb23d4b12bb36133fce5bb2c SHA512 b14d9d13948836d971f72b941770e8e2c59d171d35f074205900619c5c3efd7ca0a482887046c1865890afb6595fe27c69677c54ea5824163d291e16fa5329d3
DIST todo-2.11.0.tar.gz 712455 BLAKE2B f9d0fa53712a49c2f6ee94c02a62c16b8184734f7bb0c9354db9d640e2f619c75e3b3468065cb51204c7872f1f155bda51b9e3387f62f0f478f80f6a99f199b4 SHA512 5500ed1aa10eceaaa3e5116605eed4f4228337fdc0f2ceaa5b889753a60576918c0953adbfbf80c40008d6dfdf854e8a538103bfed4d1015aa1c5a9876c2e47c

@ -0,0 +1,15 @@
diff --git a/todo_completion b/todo_completion
index 644be6e..964383e 100755
--- a/todo_completion
+++ b/todo_completion
@@ -85,6 +85,10 @@ _todo()
}
complete -F _todo todo.sh
+# Gentoo bug 614400
+complete -F _todo todocli
+complete -F _todo todotxt
+
# If you define an alias (e.g. "t") to todo.sh, you need to explicitly enable
# completion for it, too:
#complete -F _todo t

@ -5,6 +5,14 @@
<email>monsieurp@gentoo.org</email> <email>monsieurp@gentoo.org</email>
<name>Patrice Clement</name> <name>Patrice Clement</name>
</maintainer> </maintainer>
<maintainer type="person">
<email>erkiferenc@gmail.com</email>
<name>Ferenc Erki</name>
</maintainer>
<maintainer type="project">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
<upstream> <upstream>
<remote-id type="github">ginatrapani/todo.txt-cli</remote-id> <remote-id type="github">ginatrapani/todo.txt-cli</remote-id>
</upstream> </upstream>

@ -0,0 +1,68 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit bash-completion-r1
DESCRIPTION="A CLI-based TODO list manager"
HOMEPAGE="http://todotxt.org"
SRC_URI="https://github.com/todotxt/${PN}.txt-cli/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="test"
RESTRICT="!test? ( test )"
RDEPEND="app-shells/bash"
PATCHES=( "${FILESDIR}/${P}-fix-bash-completion.patch" )
DOCS=( README.md CONTRIBUTING.md LICENSE todo.cfg )
S="${WORKDIR}/${PN}.txt-cli-${PV}"
src_prepare() {
default
# fix version string
sed -i -e "s/@DEV_VERSION@/${PV}/" todo.sh || die
# TODO_DIR variable is bogus
sed -i -e '/export TODO_DIR/d' todo.cfg || die
sed -i -e '4i export TODO_DIR="$HOME/.todo"' todo.cfg || die
}
src_test() {
make test || die "tests failed"
}
src_install() {
dobin "${PN}.sh"
dosym "${PN}.sh" "/usr/bin/${PN}cli"
dosym "${PN}.sh" "/usr/bin/${PN}txt"
newbashcomp "${PN}_completion" "${PN}.sh"
bashcomp_alias "${PN}.sh" "${PN}cli" "${PN}txt"
einstalldocs
}
pkg_postinst() {
einfo
einfo 'Before starting todo, make sure to create'
einfo 'a .todo directory in your home directory:'
einfo ' $ mkdir -p $HOME/.todo'
einfo
einfo 'and make sure to copy the default todo'
einfo 'configuration file in the same location:'
einfo " $ bzcat /usr/share/doc/${PF}/todo.cfg.bz2 > \$HOME/.todo/config"
einfo
einfo 'Alternatively, you can use XDG directories instead:'
einfo ' $ mkdir -p $HOME/.local/share/todo'
einfo ' $ mkdir -p $HOME/.config/todo'
einfo " $ bzcat /usr/share/doc/${PF}/todo.cfg.bz2 > \$HOME/.config/todo/config"
einfo
einfo 'You can then edit this file as you see fit.'
einfo 'Enjoy!'
einfo
}

@ -0,0 +1,30 @@
diff --git a/ttyrec.c b/ttyrec.c
index 3392f70..86a59ee 100644
--- a/ttyrec.c
+++ b/ttyrec.c
@@ -57,7 +57,9 @@
#if defined(SVR4)
#include <fcntl.h>
+#if !(defined(__FreeBSD__) || defined(__NetBSD__) || defined(__APPLE__) || defined(__linux__))
#include <stropts.h>
+#endif
#endif /* SVR4 */
#include <sys/time.h>
@@ -449,6 +451,7 @@ getslave()
perror("open(fd, O_RDWR)");
fail();
}
+#ifndef __linux__
if (isastream(slave)) {
if (ioctl(slave, I_PUSH, "ptem") < 0) {
perror("ioctl(fd, I_PUSH, ptem)");
@@ -466,6 +469,7 @@ getslave()
#endif
(void) ioctl(0, TIOCGWINSZ, (char *)&win);
}
+#endif
#else /* !SVR4 */
#ifndef HAVE_openpty
line[strlen("/dev/")] = 't';

@ -12,7 +12,10 @@ SRC_URI="http://0xcc.net/ttyrec/${P}.tar.gz"
LICENSE="BSD" LICENSE="BSD"
SLOT="0" SLOT="0"
KEYWORDS="~alpha amd64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos" KEYWORDS="~alpha amd64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
PATCHES=( "${FILESDIR}/${P}-flags.patch" ) PATCHES=(
"${FILESDIR}/${P}-flags.patch"
"${FILESDIR}/${P}-glibc-2.30.patch"
)
src_compile() { src_compile() {
# Bug 106530 # Bug 106530

Binary file not shown.

@ -1,9 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata> <pkgmetadata>
<maintainer type="person"> <!-- maintainer-needed -->
<email>monsieurp@gentoo.org</email>
</maintainer>
<longdescription>Calcurse is a text-based personal organizer which helps keeping <longdescription>Calcurse is a text-based personal organizer which helps keeping
track of events and everyday tasks. It contains a calendar, a 'todo' list, and track of events and everyday tasks. It contains a calendar, a 'todo' list, and
puts your appointments in order. The user interface is configurable, and one can puts your appointments in order. The user interface is configurable, and one can

Binary file not shown.

@ -0,0 +1,685 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DESCRIPTION="Utilities for users of Gentoo Prefix"
HOMEPAGE="https://prefix.gentoo.org/"
SRC_URI=""
LICENSE="GPL-3"
SLOT="0"
[[ ${PV} == 9999 ]] ||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
DEPEND="
!app-portage/prefix-chain-setup
!sys-apps/prefix-chain-utils
"
BDEPEND="${DEPEND}
>sys-apps/portage-2.3.62
"
# In prefix-stack, these dependencies actually are the @system set,
# as we rely on the base prefix anyway for package management,
# which should have a proper @system set.
# See als: pkg_preinst
RDEPEND="${DEPEND}
prefix-stack? (
>=sys-apps/baselayout-prefix-2.6
sys-apps/gentoo-functions
app-portage/elt-patches
sys-devel/gnuconfig
sys-devel/gcc-config
elibc_Winnt? (
dev-libs/pthreads4w
)
)
"
S="${WORKDIR}"
my_unpack() {
local infile=$1
local outfile=${2:-${infile}}
ebegin "extracting ${outfile}"
sed -ne "/^: ${infile} /,/EOIN/{/EOIN/d;p}" "${EBUILD}" \
> "${outfile}" || die "Failed to unpack ${outfile}"
eend $?
}
src_unpack() {
if use prefix-stack ; then
my_unpack prefix-stack.bash_login
my_unpack prefix-stack.bashrc
my_unpack prefix-stack.envd.99stack
my_unpack prefix-stack-ccwrap
local editor pager
for editor in "${EDITOR}" {"${EPREFIX}","${BROOT}"}/bin/nano
do
[[ -x ${editor} ]] || continue
done
for pager in "${PAGER}" {"${EPREFIX}","${BROOT}"}/usr/bin/less
do
[[ -x ${pager} ]] || continue
done
printf '%s\n' "EDITOR=\"${editor}\"" "PAGER=\"${pager}\"" > 000fallback
else
my_unpack prefix-stack-setup
fi
my_unpack startprefix
}
my_prefixify() {
local ebash eenv
if use prefix-stack ; then
ebash="${BROOT}/bin/bash"
eenv="${BROOT}/usr/bin/env"
else
ebash="${EPREFIX}/bin/bash"
eenv="${EPREFIX}/usr/bin/env"
fi
# the @=@ prevents repoman from believing we set readonly vars
sed -e "s,@GENTOO_PORTAGE_BPREFIX@,${BROOT},g" \
-e "s,@GENTOO_PORTAGE_EPREFIX@,${EPREFIX},g" \
-e "s,@GENTOO_PORTAGE_CHOST@,${CHOST},g" \
-e "s,@GENTOO_PORTAGE_EBASH@,${ebash},g" \
-e "s,@GENTOO_PORTAGE_EENV@,${eenv},g" \
-e "s,@=@,=,g" \
-i "$@" || die
}
src_configure() {
# do not eprefixify during unpack, to allow userpatches to apply
my_prefixify *
}
src_install-prefix-stack-ccwrap() {
# install toolchain wrapper.
local wrapperdir=/usr/${CHOST}/gcc-bin/${CHOST}-${PN}/${PV}
local wrappercfg=${CHOST}-${P}
exeinto $wrapperdir
doexe prefix-stack-ccwrap
local cc
for cc in \
gcc \
g++ \
cpp \
c++ \
windres \
; do
dosym prefix-stack-ccwrap $wrapperdir/${CHOST}-${cc}
dosym ${CHOST}-${cc} $wrapperdir/${cc}
done
# LDPATH is required to keep gcc-config happy :(
cat > ./${wrappercfg} <<-EOF
GCC_PATH="${EPREFIX}$wrapperdir"
LDPATH="${EPREFIX}$wrapperdir"
EOF
insinto /etc/env.d/gcc
doins ./${wrappercfg}
}
src_install() {
if use prefix-stack; then
src_install-prefix-stack-ccwrap
insinto /etc
doins prefix-stack.bash_login
insinto /etc/bash
newins prefix-stack.bashrc bashrc
newenvd prefix-stack.envd.99stack 99stack
doenvd 000fallback
else
dobin prefix-stack-setup
fi
exeinto /
doexe startprefix
}
pkg_preinst() {
use prefix-stack || return 0
ebegin "Purging @system package set for prefix stack"
# In prefix stack we empty out the @system set defined via make.profile,
# as we may be using some normal profile, but that @system set applies
# to the base prefix only.
# Instead, we only put ourselve into the @system set, and have additional
# @system packages in our RDEPEND.
my_lsprofile() {
(
cd -P "${1:-.}" || exit 1
[[ -r ./parent ]] &&
for p in $(<parent)
do
my_lsprofile "${p}" || exit 1
done
pwd -P
)
}
local systemset="/etc/portage/profile/packages"
dodir "${systemset%/*}"
[[ -s ${EROOT}${systemset} ]] &&
grep -v "# maintained by ${PN}" \
"${EROOT}${systemset}" \
> "${ED}${systemset}"
local p
for p in $(my_lsprofile "${EPREFIX}"/etc/portage/make.profile)
do
[[ -s ${p}/${systemset##*/} ]] || continue
awk '/^[ \t]*[^-#]/{print "-" $1 " # maintained by '"${PN}-${PVR}"'"}' \
< "${p}"/packages || die
done | sort -u >> "${ED}${systemset}"
[[ ${PIPESTATUS[@]} == "0 0" ]] || die "failed to collect for ${systemset}"
echo "*${CATEGORY}/${PN} # maintained by ${PN}-${PVR}" >> "${ED}${systemset}" || die
eend $?
}
return 0
: startprefix <<'EOIN'
#!@GENTOO_PORTAGE_EBASH@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# Fabian Groffen <grobian@gentoo.org> -- 2007-03-10
# Enters the prefix environment by starting a login shell from the
# prefix. The SHELL environment variable is elevated in order to make
# applications that start login shells to work, such as `screen`.
# if you come from a substantially polluted environment (another
# Prefix), a cleanup as follows resolves most oddities I've ever seen:
# env -i HOME=$HOME TERM=$TERM USER=$USER $SHELL -l
# hence this script starts the Prefix shell like this
if [[ ${SHELL#@GENTOO_PORTAGE_EPREFIX@} != ${SHELL} ]]
then
echo "You appear to be in prefix already (SHELL=${SHELL})" > /dev/stderr
exit -1
elif [[ ${SHELL#@GENTOO_PORTAGE_BPREFIX@} != ${SHELL} ]] &&
[[ ${EPREFIX-unset} == '@GENTOO_PORTAGE_EPREFIX@' ]]
then
echo "You appear to be in stacked prefix already (EPREFIX=${EPREFIX})" > /dev/stderr
exit -1
fi
# What is our prefix?
EPREFIX@=@'@GENTOO_PORTAGE_EPREFIX@'
BPREFIX@=@'@GENTOO_PORTAGE_BPREFIX@'
# not all systems have the same location for shells, however what it
# boils down to, is that we need to know what the shell is, and then we
# can find it in the bin dir of our prefix
for SHELL in \
"${EPREFIX}/bin/${SHELL##*/}" \
"${BPREFIX}/bin/${SHELL##*/}" \
${SHELL##*/}
do
[[ ${SHELL} == */* && -x ${SHELL} ]] && break
done
# check if the shell exists
if [[ ${SHELL} != */* ]]
then
echo "Failed to find the Prefix shell, this is probably" > /dev/stderr
echo "because you didn't emerge the shell ${SHELL}" > /dev/stderr
exit 1
fi
# set the prefix shell in the environment
export SHELL
# give a small notice
echo "Entering Gentoo Prefix ${EPREFIX}"
# start the login shell, clean the entire environment but what's needed
RETAIN="HOME=$HOME TERM=$TERM USER=$USER SHELL=$SHELL"
# PROFILEREAD is necessary on SUSE not to wipe the env on shell start
[[ -n ${PROFILEREAD} ]] && RETAIN+=" PROFILEREAD=$PROFILEREAD"
# ssh-agent is handy to keep, of if set, inherit it
[[ -n ${SSH_AUTH_SOCK} ]] && RETAIN+=" SSH_AUTH_SOCK=$SSH_AUTH_SOCK"
# if we're on some X terminal, makes sense to inherit that too
[[ -n ${DISPLAY} ]] && RETAIN+=" DISPLAY=$DISPLAY"
if [[ -d /proc/registry ]]; then # we're on Cygwin
# crucial to Windows but cannot be restored, see
# https://cygwin.com/ml/cygwin/2019-08/msg00072.html
[[ -n ${SYSTEMDRIVE} ]] && RETAIN+=" SYSTEMDRIVE=$SYSTEMDRIVE"
# COMSPEC is to native Windows what SHELL is to *nix
[[ -n ${COMSPEC} ]] && RETAIN+=" COMSPEC=$COMSPEC"
# some Windows programs (e.g. devenv.exe) need TMP or TEMP
[[ -n ${TEMP} ]] && RETAIN+=" TEMP=$TEMP"
fi
# do it!
if [[ ${SHELL#${EPREFIX}} != ${SHELL} ]] ; then
'@GENTOO_PORTAGE_EENV@' -i $RETAIN $SHELL -l
elif [[ ' bash ' == *" ${SHELL##*/} "* ]] ; then
# shell coming from different prefix would load it's own
# etc/profile upon -l, so we have to override
'@GENTOO_PORTAGE_EENV@' -i ${RETAIN} "${SHELL}" --rcfile "${EPREFIX}"/etc/prefix-stack.bash_login -i
else
echo "Only bash is supported with stacked Prefix (you have ${SHELL##*/}), sorry!" > /dev/stderr
exit 1
fi
# and leave a message when we exit... the shell might return non-zero
# without having real problems, so don't send alarming messages about
# that
echo "Leaving Gentoo Prefix with exit status $?"
EOIN
: prefix-stack.bashrc <<'EOIN'
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
#
# In stacked Prefix there is no bash installed, yet
# etc/bash/bashrc from base Prefix still is useful.
#
if [[ $- != *i* ]] ; then
# Shell is non-interactive, bashrc does not apply
return
fi
if [[ -r @GENTOO_PORTAGE_BPREFIX@/etc/bash/bashrc ]] ; then
source '@GENTOO_PORTAGE_BPREFIX@/etc/bash/bashrc'
# only if base Prefix does have an etc/bash/bashrc, we also
# run bashrc snippets provided by packages in stacked Prefix
for sh in '@GENTOO_PORTAGE_EPREFIX@'/etc/bash/bashrc.d/* ; do
[[ -r ${sh} ]] && source "${sh}"
done
unset sh
else
# etc/profile does expect etc/bash/bashrc to set PS1
PS1='\u@\h \w \$ '
fi
EOIN
: prefix-stack.bash_login <<'EOIN'
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
#
# In stacked Prefix there is no bash installed, so there is
# no bash able to load this Prefix' profile as login shell.
# Instead, you can specify this one as bash rcfile to mimic
# a bash login shell using this stacked Prefix profile.
#
if [[ -s '@GENTOO_PORTAGE_EPREFIX@/etc/profile' ]] ; then
. '@GENTOO_PORTAGE_EPREFIX@/etc/profile'
fi
if [[ -s ~/.bash_profile ]] ; then
. ~/.bash_profile
elif [[ -s ~/.bash_login ]] ; then
. ~/.bash_login
elif [[ -s ~/.profile ]] ; then
. ~/.profile
fi
EOIN
: prefix-stack.envd.99stack <<'EOIN'
PKG_CONFIG_PATH@=@"@GENTOO_PORTAGE_EPREFIX@/usr/lib/pkgconfig:@GENTOO_PORTAGE_EPREFIX@/usr/share/pkgconfig"
PORTAGE_CONFIGROOT@=@"@GENTOO_PORTAGE_EPREFIX@"
EPREFIX@=@"@GENTOO_PORTAGE_EPREFIX@"
EOIN
: prefix-stack-setup <<'EOIN'
#!@GENTOO_PORTAGE_EPREFIX@/bin/bash
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
PARENT_EPREFIX="@GENTOO_PORTAGE_EPREFIX@"
PARENT_CHOST="@GENTOO_PORTAGE_CHOST@"
CHILD_EPREFIX=
CHILD_PROFILE=
CHILD_CHOST=
#
# get ourselfs the functions.sh script for ebegin/eend/etc.
#
for f in \
/lib/gentoo/functions.sh \
/etc/init.d/functions.sh \
/sbin/functions.sh \
; do
if [[ -r ${PARENT_EPREFIX}${f} ]] ; then
. "${PARENT_EPREFIX}${f}"
f=found
break
fi
done
if [[ ${f} != found ]] ; then
echo "Cannot find Gentoo functions, aborting." >&2
exit 1
fi
for arg in "$@"; do
case "${arg}" in
--eprefix=*) CHILD_EPREFIX="${arg#--eprefix=}" ;;
--profile=*) CHILD_PROFILE="${arg#--profile=}" ;;
--chost=*) CHILD_CHOST="${arg#--chost=}" ;;
--help)
einfo "$0 usage:"
einfo " --eprefix=[PATH] Path to new EPREFIX to create stacked to the prefix"
einfo " where this script is installed (${PARENT_EPREFIX})"
einfo " --profile=[PATH] The absolute path to the profile to use. This path"
einfo " must point to a directory within ${PARENT_EPREFIX}"
einfo " --chost=[CHOST] The CHOST to use for the new EPREFIX, required if"
einfo " the profile does not set CHOST, or to override."
exit 0
;;
esac
done
#
# sanity check of given values
#
test -n "${CHILD_EPREFIX}" || { eerror "no eprefix argument given"; exit 1; }
test -d "${CHILD_EPREFIX}" && { eerror "${CHILD_EPREFIX} already exists"; exit 1; }
test -n "${CHILD_PROFILE}" || { eerror "no profile argument given"; exit 1; }
test -d "${CHILD_PROFILE}" || { eerror "${CHILD_PROFILE} does not exist"; exit 1; }
if [[ -z ${CHILD_CHOST} ]]
then
my_lsprofile() {
(
cd -P "${1:-.}" || exit 1
[[ -r ./parent ]] &&
for p in $(<parent)
do
my_lsprofile "${p}" || exit 1
done
pwd -P
)
}
for profile in $(my_lsprofile "${CHILD_PROFILE}") missing
do
if [[ ${profile} == missing ]]
then
eerror "profile does not set CHOST, need --chost argument"
exit 1
fi
[[ -s "${profile}/make.defaults" ]] || continue
grep -q '^[ ]*CHOST@=@' "${profile}/make.defaults" && break
done
fi
einfo "creating stacked prefix ${CHILD_EPREFIX}"
#
# functions needed below.
#
eend_exit() {
eend $1
[[ $1 != 0 ]] && exit 1
}
#
# create the directories required to bootstrap the least.
#
ebegin "creating directory structure"
(
set -e
mkdir -p "${CHILD_EPREFIX}"/var/tmp/portage
mkdir -p "${CHILD_EPREFIX}"/etc/portage/profile/use.mask
mkdir -p "${CHILD_EPREFIX}"/etc/portage/profile/use.force
mkdir -p "${CHILD_EPREFIX}"/etc/portage/env
mkdir -p "${CHILD_EPREFIX}"/etc/portage/package.env
ln -s "${PARENT_EPREFIX}"/etc/portage/repos.conf "${CHILD_EPREFIX}"/etc/portage/repos.conf
)
eend_exit $?
#
# create a make.conf and set PORTDIR and PORTAGE_TMPDIR
#
ebegin "creating make.conf"
(
set -e
echo "#"
echo "# These are sane default compiler flags, feel free to adopt them as you like."
echo "# Extending the flags is done to respect flags probably set by some profile."
echo "#"
echo "CFLAGS=\"\${CFLAGS} -O2 -pipe\""
echo "CXXFLAGS=\"${CXXFLAGS} -O2 -pipe\""
echo "MAKEOPTS=\"$(portageq envvar MAKEOPTS)\""
niceness=$(portageq envvar PORTAGE_NICENESS || true)
[[ -n ${niceness} ]] &&
echo "PORTAGE_NICENESS=\"${niceness}\""
echo
echo "# Mirrors from parent prefix."
echo "GENTOO_MIRRORS=\"$(portageq envvar GENTOO_MIRRORS || true)\""
echo
echo "# Below comes the prefix-stack setup. Only change things"
echo "# if you know exactly what you are doing!"
echo "EPREFIX=\"${CHILD_EPREFIX}\""
echo "PORTAGE_OVERRIDE_EPREFIX=\"${PARENT_EPREFIX}\""
echo "BROOT=\"${PARENT_EPREFIX}\""
echo "PORTAGE_TMPDIR=\"\${EPREFIX}/var/tmp\""
# Since EAPI 7 there is BDEPEND, which is DEPEND in EAPI up to 6.
# We do not want to pull DEPEND from EAPI <= 6, but RDEPEND only.
echo "EMERGE_DEFAULT_OPTS=\"--root-deps=rdeps\""
if [[ -n ${CHILD_CHOST} ]] ; then
echo "CHOST=\"${CHILD_CHOST}\""
fi
) > "${CHILD_EPREFIX}"/etc/portage/make.conf
eend_exit $?
ebegin "creating use.mask/prefix-stack"
printf -- '-%s\n' prefix{,-guest,-stack} > "${CHILD_EPREFIX}"/etc/portage/profile/use.mask/prefix-stack
eend_exit $?
ebegin "creating use.force/prefix-stack"
printf -- '%s\n' prefix{,-guest,-stack} > "${CHILD_EPREFIX}"/etc/portage/profile/use.force/prefix-stack
eend_exit $?
ebegin "creating env/host-cc.conf"
cat > "${CHILD_EPREFIX}"/etc/portage/env/host-cc.conf <<-EOM
CC=${PARENT_CHOST}-gcc
CXX=${PARENT_CHOST}-g++
# Inherited compiler flags from parent prefix,
# as the child prefix may have a different compiler.
CFLAGS="$(portageq envvar CFLAGS)"
CXXFLAGS="$(portageq envvar CXXFLAGS)"
EOM
eend_exit $?
ebegin "creating package.env/prefix-stack"
cat > "${CHILD_EPREFIX}"/etc/portage/package.env/prefix-stack <<-'EOM'
# merge with the parent's chost. this forces the use of the parent
# compiler, which generally would be illegal - this is an exception.
# This is required for example on winnt, because the wrapper has to
# be able to use/resolve symlinks, etc. native winnt binaries miss
# that ability, but cygwin binaries don't.
sys-devel/gcc-config host-cc.conf
sys-apps/gentoo-functions host-cc.conf
EOM
eend_exit $?
#
# create the make.profile symlinks.
#
ebegin "creating make.profile"
(
ln -s "${CHILD_PROFILE}" "${CHILD_EPREFIX}/etc/portage/make.profile"
)
eend_exit $?
#
# adjust permissions of generated files.
#
ebegin "adjusting permissions"
(
set -e
chmod 644 "${CHILD_EPREFIX}"/etc/portage/make.conf
chmod 644 "${CHILD_EPREFIX}"/etc/portage/env/host-cc.conf
chmod 644 "${CHILD_EPREFIX}"/etc/portage/package.env/prefix-stack
)
eend_exit $?
#
# now merge some basics.
#
ebegin "installing required basic packages"
(
set -e
export PORTAGE_CONFIGROOT@=@"${CHILD_EPREFIX}"
export EPREFIX@=@"${CHILD_EPREFIX}"
export PORTAGE_OVERRIDE_EPREFIX@=@"${PARENT_EPREFIX}"
# let baselayout create the directories
USE@=@"${USE} build" \
emerge --verbose --nodeps --oneshot \
'>=baselayout-prefix-2.6'
# In prefix-stack, app-portage/prefix-toolkit does
# install/update an etc/portage/profile/packages file,
# removing all @system packages from current make.profile,
# and adding itself to @system set instead.
emerge --verbose --nodeps --oneshot \
app-portage/prefix-toolkit
# In prefix-stack, prefix-toolkit does have an RDEPEND on them,
# to hold them in the @system set.
emerge --verbose --nodeps --oneshot \
sys-apps/gentoo-functions \
app-portage/elt-patches \
sys-devel/gnuconfig \
sys-devel/gcc-config
# get eventual dependencies, add to world
emerge --verbose --update --deep \
app-portage/prefix-toolkit
# select the stack wrapper profile from gcc-config
env -i PORTAGE_CONFIGROOT="${CHILD_EPREFIX}" \
"$(type -P bash)" "${CHILD_EPREFIX}"/usr/bin/gcc-config 1
)
eend_exit $?
#
# wow, all ok :)
#
ewarn
ewarn "all done. don't forget to tune ${CHILD_EPREFIX}/etc/portage/make.conf."
ewarn "to enter the new prefix, run \"${CHILD_EPREFIX}/startprefix\"."
ewarn
EOIN
: prefix-stack-ccwrap <<'EOIN'
#!@GENTOO_PORTAGE_BPREFIX@/bin/bash
if [ -r /cygdrive/. ]; then
winpath2unix() { cygpath -u "$1"; }
unixpath2win() { cygpath -w "$1"; }
fi
myself=${0##*/} # basename $0
link_dirs=()
linkopts=()
opts=()
chost="@GENTOO_PORTAGE_CHOST@"
prefix="@GENTOO_PORTAGE_EPREFIX@"
absprefix=${prefix}
if [[ ${chost} == *"-winnt"* ]]; then
# we may get called from windows binary, like pkgdata in dev-libs/icu
# in this case, PATH elements get the "/dev/fs/C/WINDOWS/SUA" prefix
absprefix=$(winpath2unix "$(unixpath2win "${absprefix}")")
fi
[[ ${myself} == *windres* ]] && mode=compile || mode=link
orig_args=("$@")
for opt in "$@"
do
if [[ ${chost} == *"-winnt"* ]]; then
# We depend on dev-libs/pthreads4w, no?
case ${opt} in
-pthread | -lpthread)
case " ${linkopts[*]} " in
*" -lpthread "*) ;;
*) linkopts=( "${linkopts[@]}" "-lpthread" ) ;;
esac
continue
;;
esac
fi
case "$opt" in
-L)
link_dirs=("${link_dirs[@]}" "-L$1")
shift
;;
-L*)
link_dirs=("${link_dirs[@]}" "${opt}")
;;
*)
case "${opt}" in
-v)
# -v done right: only use mode version if -v is the _only_
# argument on the command line.
[[ ${#orig_args[@]} -gt 1 ]] || mode=version
;;
--version) mode=version ;;
-c|-E|-S) mode=compile ;;
-print-search-dirs) mode=dirs ;;
esac
opts=("${opts[@]}" "${opt}")
;;
esac
done
# remove any path to current prefix, need base prefix only
new_path=
save_ifs=$IFS
IFS=':'
for p in $PATH
do
IFS=$save_ifs
[[ ${p#${absprefix}} != "${p}" ]] && continue
if [[ -z "${new_path}" ]]; then
new_path="${p}"
else
new_path="${new_path}:${p}"
fi
done
IFS=$save_ifs
PATH=${new_path}
pfx_comp=("-I${prefix}/include" "-I${prefix}/usr/include")
pfx_link=("-L${prefix}/usr/lib" "-L${prefix}/lib")
# binutils-config's ldwrapper understands '-R' for aix and hpux too.
pfx_link_r=("-Wl,-R,${prefix}/lib" "-Wl,-R,${prefix}/usr/lib")
case "${chost}" in
*-winnt*)
# parity (winnt) understands -rpath only ...
pfx_link_r=("-Wl,-rpath,${prefix}/lib" "-Wl,-rpath,${prefix}/usr/lib")
;;
*-linux*)
# With gcc, -isystem would avoid warning messages in installed headers,
# but that breaks with AIX host headers.
pfx_comp=("-isystem" "${prefix}/include" "-isystem" "${prefix}/usr/include")
;;
esac
# ensure we run the right chost program in base prefix
[[ ${myself} == *-*-*-* ]] || myself=${chost}-${myself#${chost}-}
case "$mode" in
link) exec "${myself}" "${link_dirs[@]}" "${pfx_link[@]}" "${opts[@]}" "${pfx_comp[@]}" "${pfx_link_r[@]}" "${linkopts[@]}" ;;
compile) exec "${myself}" "${link_dirs[@]}" "${opts[@]}" "${pfx_comp[@]}" ;;
version) exec "${myself}" "${orig_args[@]}" ;;
dirs)
"${myself}" "${orig_args[@]}" | while read line; do
if [[ "${line}" == "libraries: ="* ]]; then
echo "libraries: =${prefix}/usr/lib:${prefix}/lib:${line#"libraries: ="}"
else
echo "${line}"
fi
done
;;
*) echo "cannot infer ${myself}'s mode from comamnd line arguments"; exit 1 ;;
esac
EOIN

@ -0,0 +1,692 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DESCRIPTION="Utilities for users of Gentoo Prefix"
HOMEPAGE="https://prefix.gentoo.org/"
SRC_URI=""
LICENSE="GPL-3"
SLOT="0"
[[ ${PV} == 9999 ]] ||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
DEPEND="
!app-portage/prefix-chain-setup
!sys-apps/prefix-chain-utils
"
BDEPEND="${DEPEND}
>sys-apps/portage-2.3.62
"
# In prefix-stack, these dependencies actually are the @system set,
# as we rely on the base prefix anyway for package management,
# which should have a proper @system set.
# See als: pkg_preinst
RDEPEND="${DEPEND}
prefix-stack? (
>=sys-apps/baselayout-prefix-2.6
sys-apps/gentoo-functions
app-portage/elt-patches
sys-devel/gnuconfig
sys-devel/gcc-config
elibc_Winnt? (
dev-libs/pthreads4w
)
)
"
S="${WORKDIR}"
my_unpack() {
local infile=$1
local outfile=${2:-${infile}}
ebegin "extracting ${outfile}"
sed -ne "/^: ${infile} /,/EOIN/{/EOIN/d;p}" "${EBUILD}" \
> "${outfile}" || die "Failed to unpack ${outfile}"
eend $?
}
src_unpack() {
if use prefix-stack ; then
my_unpack prefix-stack.bash_login
my_unpack prefix-stack.bashrc
my_unpack prefix-stack.envd.99stack
my_unpack prefix-stack-ccwrap
local editor pager
for editor in "${EDITOR}" {"${EPREFIX}","${BROOT}"}/bin/nano
do
[[ -x ${editor} ]] || continue
done
for pager in "${PAGER}" {"${EPREFIX}","${BROOT}"}/usr/bin/less
do
[[ -x ${pager} ]] || continue
done
printf '%s\n' "EDITOR=\"${editor}\"" "PAGER=\"${pager}\"" > 000fallback
else
my_unpack prefix-stack-setup
fi
my_unpack startprefix
}
my_prefixify() {
local ebash eenv
if use prefix-stack ; then
ebash="${BROOT}/bin/bash"
eenv="${BROOT}/usr/bin/env"
else
ebash="${EPREFIX}/bin/bash"
eenv="${EPREFIX}/usr/bin/env"
fi
# the @=@ prevents repoman from believing we set readonly vars
sed -e "s,@GENTOO_PORTAGE_BPREFIX@,${BROOT},g" \
-e "s,@GENTOO_PORTAGE_EPREFIX@,${EPREFIX},g" \
-e "s,@GENTOO_PORTAGE_CHOST@,${CHOST},g" \
-e "s,@GENTOO_PORTAGE_EBASH@,${ebash},g" \
-e "s,@GENTOO_PORTAGE_EENV@,${eenv},g" \
-e "s,@=@,=,g" \
-i "$@" || die
}
src_configure() {
# do not eprefixify during unpack, to allow userpatches to apply
my_prefixify *
}
src_install-prefix-stack-ccwrap() {
# install toolchain wrapper.
local wrapperdir=/usr/${CHOST}/gcc-bin/${CHOST}-${PN}/${PV}
local wrappercfg=${CHOST}-${P}
exeinto $wrapperdir
doexe prefix-stack-ccwrap
local cc
for cc in \
gcc \
g++ \
cpp \
c++ \
windres \
; do
dosym prefix-stack-ccwrap $wrapperdir/${CHOST}-${cc}
dosym ${CHOST}-${cc} $wrapperdir/${cc}
done
# LDPATH is required to keep gcc-config happy :(
cat > ./${wrappercfg} <<-EOF
GCC_PATH="${EPREFIX}$wrapperdir"
LDPATH="${EPREFIX}$wrapperdir"
EOF
insinto /etc/env.d/gcc
doins ./${wrappercfg}
}
src_install() {
if use prefix-stack; then
src_install-prefix-stack-ccwrap
insinto /etc
doins prefix-stack.bash_login
insinto /etc/bash
newins prefix-stack.bashrc bashrc
newenvd prefix-stack.envd.99stack 99stack
doenvd 000fallback
else
dobin prefix-stack-setup
fi
exeinto /
doexe startprefix
}
pkg_preinst() {
use prefix-stack || return 0
ebegin "Purging @system package set for prefix stack"
# In prefix stack we empty out the @system set defined via make.profile,
# as we may be using some normal profile, but that @system set applies
# to the base prefix only.
# Instead, we only put ourselve into the @system set, and have additional
# @system packages in our RDEPEND.
my_lsprofile() {
(
cd -P "${1:-.}" || exit 1
[[ -r ./parent ]] &&
for p in $(<parent)
do
my_lsprofile "${p}" || exit 1
done
pwd -P
)
}
local systemset="/etc/portage/profile/packages"
dodir "${systemset%/*}"
[[ -s ${EROOT}${systemset} ]] &&
grep -v "# maintained by ${PN}" \
"${EROOT}${systemset}" \
> "${ED}${systemset}"
local p
for p in $(my_lsprofile "${EPREFIX}"/etc/portage/make.profile)
do
[[ -s ${p}/${systemset##*/} ]] || continue
awk '/^[ \t]*[^-#]/{print "-" $1 " # maintained by '"${PN}-${PVR}"'"}' \
< "${p}"/packages || die
done | sort -u >> "${ED}${systemset}"
[[ ${PIPESTATUS[@]} == "0 0" ]] || die "failed to collect for ${systemset}"
echo "*${CATEGORY}/${PN} # maintained by ${PN}-${PVR}" >> "${ED}${systemset}" || die
eend $?
}
pkg_postinst() {
use prefix-stack || return 0
[[ -x ${EROOT}/usr/bin/gcc-config ]] || return 0
"${EROOT}"/usr/bin/gcc-config ${CHOST}-${P}
}
return 0
: startprefix <<'EOIN'
#!@GENTOO_PORTAGE_EBASH@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# Fabian Groffen <grobian@gentoo.org> -- 2007-03-10
# Enters the prefix environment by starting a login shell from the
# prefix. The SHELL environment variable is elevated in order to make
# applications that start login shells to work, such as `screen`.
# if you come from a substantially polluted environment (another
# Prefix), a cleanup as follows resolves most oddities I've ever seen:
# env -i HOME=$HOME TERM=$TERM USER=$USER $SHELL -l
# hence this script starts the Prefix shell like this
if [[ ${SHELL#@GENTOO_PORTAGE_EPREFIX@} != ${SHELL} ]]
then
echo "You appear to be in prefix already (SHELL=${SHELL})" > /dev/stderr
exit -1
elif [[ ${SHELL#@GENTOO_PORTAGE_BPREFIX@} != ${SHELL} ]] &&
[[ ${EPREFIX-unset} == '@GENTOO_PORTAGE_EPREFIX@' ]]
then
echo "You appear to be in stacked prefix already (EPREFIX=${EPREFIX})" > /dev/stderr
exit -1
fi
# What is our prefix?
EPREFIX@=@'@GENTOO_PORTAGE_EPREFIX@'
BPREFIX@=@'@GENTOO_PORTAGE_BPREFIX@'
# not all systems have the same location for shells, however what it
# boils down to, is that we need to know what the shell is, and then we
# can find it in the bin dir of our prefix
for SHELL in \
"${EPREFIX}/bin/${SHELL##*/}" \
"${BPREFIX}/bin/${SHELL##*/}" \
${SHELL##*/}
do
[[ ${SHELL} == */* && -x ${SHELL} ]] && break
done
# check if the shell exists
if [[ ${SHELL} != */* ]]
then
echo "Failed to find the Prefix shell, this is probably" > /dev/stderr
echo "because you didn't emerge the shell ${SHELL}" > /dev/stderr
exit 1
fi
# set the prefix shell in the environment
export SHELL
# give a small notice
echo "Entering Gentoo Prefix ${EPREFIX}"
# start the login shell, clean the entire environment but what's needed
RETAIN="HOME=$HOME TERM=$TERM USER=$USER SHELL=$SHELL"
# PROFILEREAD is necessary on SUSE not to wipe the env on shell start
[[ -n ${PROFILEREAD} ]] && RETAIN+=" PROFILEREAD=$PROFILEREAD"
# ssh-agent is handy to keep, of if set, inherit it
[[ -n ${SSH_AUTH_SOCK} ]] && RETAIN+=" SSH_AUTH_SOCK=$SSH_AUTH_SOCK"
# if we're on some X terminal, makes sense to inherit that too
[[ -n ${DISPLAY} ]] && RETAIN+=" DISPLAY=$DISPLAY"
if [[ -d /proc/registry ]]; then # we're on Cygwin
# crucial to Windows but cannot be restored, see
# https://cygwin.com/ml/cygwin/2019-08/msg00072.html
[[ -n ${SYSTEMDRIVE} ]] && RETAIN+=" SYSTEMDRIVE=$SYSTEMDRIVE"
# COMSPEC is to native Windows what SHELL is to *nix
[[ -n ${COMSPEC} ]] && RETAIN+=" COMSPEC=$COMSPEC"
# some Windows programs (e.g. devenv.exe) need TMP or TEMP
[[ -n ${TEMP} ]] && RETAIN+=" TEMP=$TEMP"
fi
# do it!
if [[ ${SHELL#${EPREFIX}} != ${SHELL} ]] ; then
'@GENTOO_PORTAGE_EENV@' -i $RETAIN $SHELL -l
elif [[ ' bash ' == *" ${SHELL##*/} "* ]] ; then
# shell coming from different prefix would load it's own
# etc/profile upon -l, so we have to override
'@GENTOO_PORTAGE_EENV@' -i ${RETAIN} "${SHELL}" --rcfile "${EPREFIX}"/etc/prefix-stack.bash_login -i
else
echo "Only bash is supported with stacked Prefix (you have ${SHELL##*/}), sorry!" > /dev/stderr
exit 1
fi
# and leave a message when we exit... the shell might return non-zero
# without having real problems, so don't send alarming messages about
# that
echo "Leaving Gentoo Prefix with exit status $?"
EOIN
: prefix-stack.bashrc <<'EOIN'
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
#
# In stacked Prefix there is no bash installed, yet
# etc/bash/bashrc from base Prefix still is useful.
#
if [[ $- != *i* ]] ; then
# Shell is non-interactive, bashrc does not apply
return
fi
if [[ -r @GENTOO_PORTAGE_BPREFIX@/etc/bash/bashrc ]] ; then
source '@GENTOO_PORTAGE_BPREFIX@/etc/bash/bashrc'
# only if base Prefix does have an etc/bash/bashrc, we also
# run bashrc snippets provided by packages in stacked Prefix
for sh in '@GENTOO_PORTAGE_EPREFIX@'/etc/bash/bashrc.d/* ; do
[[ -r ${sh} ]] && source "${sh}"
done
unset sh
else
# etc/profile does expect etc/bash/bashrc to set PS1
PS1='\u@\h \w \$ '
fi
EOIN
: prefix-stack.bash_login <<'EOIN'
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
#
# In stacked Prefix there is no bash installed, so there is
# no bash able to load this Prefix' profile as login shell.
# Instead, you can specify this one as bash rcfile to mimic
# a bash login shell using this stacked Prefix profile.
#
if [[ -s '@GENTOO_PORTAGE_EPREFIX@/etc/profile' ]] ; then
. '@GENTOO_PORTAGE_EPREFIX@/etc/profile'
fi
if [[ -s ~/.bash_profile ]] ; then
. ~/.bash_profile
elif [[ -s ~/.bash_login ]] ; then
. ~/.bash_login
elif [[ -s ~/.profile ]] ; then
. ~/.profile
fi
EOIN
: prefix-stack.envd.99stack <<'EOIN'
PKG_CONFIG_PATH@=@"@GENTOO_PORTAGE_EPREFIX@/usr/lib/pkgconfig:@GENTOO_PORTAGE_EPREFIX@/usr/share/pkgconfig"
AT_SYS_M4DIR@=@"@GENTOO_PORTAGE_EPREFIX@/usr/share/aclocal"
PORTAGE_CONFIGROOT@=@"@GENTOO_PORTAGE_EPREFIX@"
EPREFIX@=@"@GENTOO_PORTAGE_EPREFIX@"
EOIN
: prefix-stack-setup <<'EOIN'
#!@GENTOO_PORTAGE_EPREFIX@/bin/bash
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
PARENT_EPREFIX="@GENTOO_PORTAGE_EPREFIX@"
PARENT_CHOST="@GENTOO_PORTAGE_CHOST@"
CHILD_EPREFIX=
CHILD_PROFILE=
CHILD_CHOST=
#
# get ourselfs the functions.sh script for ebegin/eend/etc.
#
for f in \
/lib/gentoo/functions.sh \
/etc/init.d/functions.sh \
/sbin/functions.sh \
; do
if [[ -r ${PARENT_EPREFIX}${f} ]] ; then
. "${PARENT_EPREFIX}${f}"
f=found
break
fi
done
if [[ ${f} != found ]] ; then
echo "Cannot find Gentoo functions, aborting." >&2
exit 1
fi
for arg in "$@"; do
case "${arg}" in
--eprefix=*) CHILD_EPREFIX="${arg#--eprefix=}" ;;
--profile=*) CHILD_PROFILE="${arg#--profile=}" ;;
--chost=*) CHILD_CHOST="${arg#--chost=}" ;;
--help)
einfo "$0 usage:"
einfo " --eprefix=[PATH] Path to new EPREFIX to create stacked to the prefix"
einfo " where this script is installed (${PARENT_EPREFIX})"
einfo " --profile=[PATH] The absolute path to the profile to use. This path"
einfo " must point to a directory within ${PARENT_EPREFIX}"
einfo " --chost=[CHOST] The CHOST to use for the new EPREFIX, required if"
einfo " the profile does not set CHOST, or to override."
exit 0
;;
esac
done
#
# sanity check of given values
#
test -n "${CHILD_EPREFIX}" || { eerror "no eprefix argument given"; exit 1; }
test -d "${CHILD_EPREFIX}" && { eerror "${CHILD_EPREFIX} already exists"; exit 1; }
test -n "${CHILD_PROFILE}" || { eerror "no profile argument given"; exit 1; }
test -d "${CHILD_PROFILE}" || { eerror "${CHILD_PROFILE} does not exist"; exit 1; }
if [[ -z ${CHILD_CHOST} ]]
then
my_lsprofile() {
(
cd -P "${1:-.}" || exit 1
[[ -r ./parent ]] &&
for p in $(<parent)
do
my_lsprofile "${p}" || exit 1
done
pwd -P
)
}
for profile in $(my_lsprofile "${CHILD_PROFILE}") missing
do
if [[ ${profile} == missing ]]
then
eerror "profile does not set CHOST, need --chost argument"
exit 1
fi
[[ -s "${profile}/make.defaults" ]] || continue
grep -q '^[ ]*CHOST@=@' "${profile}/make.defaults" && break
done
fi
einfo "creating stacked prefix ${CHILD_EPREFIX}"
#
# functions needed below.
#
eend_exit() {
eend $1
[[ $1 != 0 ]] && exit 1
}
#
# create the directories required to bootstrap the least.
#
ebegin "creating directory structure"
(
set -e
mkdir -p "${CHILD_EPREFIX}"/var/tmp/portage
mkdir -p "${CHILD_EPREFIX}"/etc/portage/profile/use.mask
mkdir -p "${CHILD_EPREFIX}"/etc/portage/profile/use.force
mkdir -p "${CHILD_EPREFIX}"/etc/portage/env
mkdir -p "${CHILD_EPREFIX}"/etc/portage/package.env
ln -s "${PARENT_EPREFIX}"/etc/portage/repos.conf "${CHILD_EPREFIX}"/etc/portage/repos.conf
)
eend_exit $?
#
# create a make.conf and set PORTDIR and PORTAGE_TMPDIR
#
ebegin "creating make.conf"
(
set -e
echo "#"
echo "# These are sane default compiler flags, feel free to adopt them as you like."
echo "# Extending the flags is done to respect flags probably set by some profile."
echo "#"
echo "CFLAGS=\"\${CFLAGS} -O2 -pipe\""
echo "CXXFLAGS=\"${CXXFLAGS} -O2 -pipe\""
echo "MAKEOPTS=\"$(portageq envvar MAKEOPTS)\""
niceness=$(portageq envvar PORTAGE_NICENESS || true)
[[ -n ${niceness} ]] &&
echo "PORTAGE_NICENESS=\"${niceness}\""
echo
echo "# Mirrors from parent prefix."
echo "GENTOO_MIRRORS=\"$(portageq envvar GENTOO_MIRRORS || true)\""
echo
echo "# Below comes the prefix-stack setup. Only change things"
echo "# if you know exactly what you are doing!"
echo "EPREFIX=\"${CHILD_EPREFIX}\""
echo "PORTAGE_OVERRIDE_EPREFIX=\"${PARENT_EPREFIX}\""
echo "BROOT=\"${PARENT_EPREFIX}\""
echo "PORTAGE_TMPDIR=\"\${EPREFIX}/var/tmp\""
# Since EAPI 7 there is BDEPEND, which is DEPEND in EAPI up to 6.
# We do not want to pull DEPEND from EAPI <= 6, but RDEPEND only.
echo "EMERGE_DEFAULT_OPTS=\"--root-deps=rdeps\""
if [[ -n ${CHILD_CHOST} ]] ; then
echo "CHOST=\"${CHILD_CHOST}\""
fi
) > "${CHILD_EPREFIX}"/etc/portage/make.conf
eend_exit $?
ebegin "creating use.mask/prefix-stack"
printf -- '-%s\n' prefix{,-guest,-stack} > "${CHILD_EPREFIX}"/etc/portage/profile/use.mask/prefix-stack
eend_exit $?
ebegin "creating use.force/prefix-stack"
printf -- '%s\n' prefix{,-guest,-stack} > "${CHILD_EPREFIX}"/etc/portage/profile/use.force/prefix-stack
eend_exit $?
ebegin "creating env/host-cc.conf"
cat > "${CHILD_EPREFIX}"/etc/portage/env/host-cc.conf <<-EOM
CC=${PARENT_CHOST}-gcc
CXX=${PARENT_CHOST}-g++
# Inherited compiler flags from parent prefix,
# as the child prefix may have a different compiler.
CFLAGS="$(portageq envvar CFLAGS)"
CXXFLAGS="$(portageq envvar CXXFLAGS)"
EOM
eend_exit $?
ebegin "creating package.env/prefix-stack"
cat > "${CHILD_EPREFIX}"/etc/portage/package.env/prefix-stack <<-'EOM'
# merge with the parent's chost. this forces the use of the parent
# compiler, which generally would be illegal - this is an exception.
# This is required for example on winnt, because the wrapper has to
# be able to use/resolve symlinks, etc. native winnt binaries miss
# that ability, but cygwin binaries don't.
sys-devel/gcc-config host-cc.conf
sys-apps/gentoo-functions host-cc.conf
EOM
eend_exit $?
#
# create the make.profile symlinks.
#
ebegin "creating make.profile"
(
ln -s "${CHILD_PROFILE}" "${CHILD_EPREFIX}/etc/portage/make.profile"
)
eend_exit $?
#
# adjust permissions of generated files.
#
ebegin "adjusting permissions"
(
set -e
chmod 644 "${CHILD_EPREFIX}"/etc/portage/make.conf
chmod 644 "${CHILD_EPREFIX}"/etc/portage/env/host-cc.conf
chmod 644 "${CHILD_EPREFIX}"/etc/portage/package.env/prefix-stack
)
eend_exit $?
#
# now merge some basics.
#
ebegin "installing required basic packages"
(
set -e
export PORTAGE_CONFIGROOT@=@"${CHILD_EPREFIX}"
export EPREFIX@=@"${CHILD_EPREFIX}"
export PORTAGE_OVERRIDE_EPREFIX@=@"${PARENT_EPREFIX}"
# let baselayout create the directories
USE@=@"${USE} build" \
emerge --verbose --nodeps --oneshot \
'>=baselayout-prefix-2.6'
# In prefix-stack, app-portage/prefix-toolkit does
# install/update an etc/portage/profile/packages file,
# removing all @system packages from current make.profile,
# and adding itself to @system set instead.
emerge --verbose --nodeps --oneshot \
app-portage/prefix-toolkit
# In prefix-stack, prefix-toolkit does have an RDEPEND on them,
# to hold them in the @system set.
emerge --verbose --nodeps --oneshot \
sys-apps/gentoo-functions \
app-portage/elt-patches \
sys-devel/gnuconfig \
sys-devel/gcc-config
# get eventual dependencies, add to world
emerge --verbose --update --deep \
app-portage/prefix-toolkit
# select the stack wrapper profile from gcc-config
env -i PORTAGE_CONFIGROOT="${CHILD_EPREFIX}" \
"$(type -P bash)" "${CHILD_EPREFIX}"/usr/bin/gcc-config 1
)
eend_exit $?
#
# wow, all ok :)
#
ewarn
ewarn "all done. don't forget to tune ${CHILD_EPREFIX}/etc/portage/make.conf."
ewarn "to enter the new prefix, run \"${CHILD_EPREFIX}/startprefix\"."
ewarn
EOIN
: prefix-stack-ccwrap <<'EOIN'
#!@GENTOO_PORTAGE_BPREFIX@/bin/bash
if [ -r /cygdrive/. ]; then
winpath2unix() { cygpath -u "$1"; }
unixpath2win() { cygpath -w "$1"; }
fi
myself=${0##*/} # basename $0
link_dirs=()
linkopts=()
opts=()
chost="@GENTOO_PORTAGE_CHOST@"
prefix="@GENTOO_PORTAGE_EPREFIX@"
absprefix=${prefix}
if [[ ${chost} == *"-winnt"* ]]; then
# we may get called from windows binary, like pkgdata in dev-libs/icu
# in this case, PATH elements get the "/dev/fs/C/WINDOWS/SUA" prefix
absprefix=$(winpath2unix "$(unixpath2win "${absprefix}")")
fi
[[ ${myself} == *windres* ]] && mode=compile || mode=link
orig_args=("$@")
for opt in "$@"
do
if [[ ${chost} == *"-winnt"* ]]; then
# We depend on dev-libs/pthreads4w, no?
case ${opt} in
-pthread | -lpthread)
case " ${linkopts[*]} " in
*" -lpthread "*) ;;
*) linkopts=( "${linkopts[@]}" "-lpthread" ) ;;
esac
continue
;;
esac
fi
case "$opt" in
-L)
link_dirs=("${link_dirs[@]}" "-L$1")
shift
;;
-L*)
link_dirs=("${link_dirs[@]}" "${opt}")
;;
*)
case "${opt}" in
-v)
# -v done right: only use mode version if -v is the _only_
# argument on the command line.
[[ ${#orig_args[@]} -gt 1 ]] || mode=version
;;
--version) mode=version ;;
-c|-E|-S) mode=compile ;;
-print-search-dirs) mode=dirs ;;
esac
opts=("${opts[@]}" "${opt}")
;;
esac
done
# remove any path to current prefix, need base prefix only
new_path=
save_ifs=$IFS
IFS=':'
for p in $PATH
do
IFS=$save_ifs
[[ ${p#${absprefix}} != "${p}" ]] && continue
if [[ -z "${new_path}" ]]; then
new_path="${p}"
else
new_path="${new_path}:${p}"
fi
done
IFS=$save_ifs
PATH=${new_path}
pfx_comp=("-I${prefix}/include" "-I${prefix}/usr/include")
pfx_link=("-L${prefix}/usr/lib" "-L${prefix}/lib")
# binutils-config's ldwrapper understands '-R' for aix and hpux too.
pfx_link_r=("-Wl,-R,${prefix}/lib" "-Wl,-R,${prefix}/usr/lib")
case "${chost}" in
*-winnt*)
# parity (winnt) understands -rpath only ...
pfx_link_r=("-Wl,-rpath,${prefix}/lib" "-Wl,-rpath,${prefix}/usr/lib")
;;
*-linux*)
# With gcc, -isystem would avoid warning messages in installed headers,
# but that breaks with AIX host headers.
pfx_comp=("-isystem" "${prefix}/include" "-isystem" "${prefix}/usr/include")
;;
esac
# ensure we run the right chost program in base prefix
[[ ${myself} == *-*-*-* ]] || myself=${chost}-${myself#${chost}-}
case "$mode" in
link) exec "${myself}" "${link_dirs[@]}" "${pfx_link[@]}" "${opts[@]}" "${pfx_comp[@]}" "${pfx_link_r[@]}" "${linkopts[@]}" ;;
compile) exec "${myself}" "${link_dirs[@]}" "${opts[@]}" "${pfx_comp[@]}" ;;
version) exec "${myself}" "${orig_args[@]}" ;;
dirs)
"${myself}" "${orig_args[@]}" | while read line; do
if [[ "${line}" == "libraries: ="* ]]; then
echo "libraries: =${prefix}/usr/lib:${prefix}/lib:${line#"libraries: ="}"
else
echo "${line}"
fi
done
;;
*) echo "cannot infer ${myself}'s mode from comamnd line arguments"; exit 1 ;;
esac
EOIN

@ -0,0 +1,693 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DESCRIPTION="Utilities for users of Gentoo Prefix"
HOMEPAGE="https://prefix.gentoo.org/"
SRC_URI=""
LICENSE="GPL-3"
SLOT="0"
[[ ${PV} == 9999 ]] ||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
DEPEND="
!app-portage/prefix-chain-setup
!sys-apps/prefix-chain-utils
"
BDEPEND="${DEPEND}
>sys-apps/portage-2.3.62
"
# In prefix-stack, these dependencies actually are the @system set,
# as we rely on the base prefix anyway for package management,
# which should have a proper @system set.
# See als: pkg_preinst
RDEPEND="${DEPEND}
prefix-stack? (
>=sys-apps/baselayout-prefix-2.6
sys-apps/gentoo-functions
app-portage/elt-patches
sys-devel/gnuconfig
sys-devel/gcc-config
elibc_Winnt? (
dev-libs/pthreads4w
)
)
"
S="${WORKDIR}"
my_unpack() {
local infile=$1
local outfile=${2:-${infile}}
ebegin "extracting ${outfile}"
sed -ne "/^: ${infile} /,/EOIN/{/EOIN/d;p}" "${EBUILD}" \
> "${outfile}" || die "Failed to unpack ${outfile}"
eend $?
}
src_unpack() {
if use prefix-stack ; then
my_unpack prefix-stack.bash_login
my_unpack prefix-stack.bashrc
my_unpack prefix-stack.envd.99stack
my_unpack prefix-stack-ccwrap
local editor pager
for editor in "${EDITOR}" {"${EPREFIX}","${BROOT}"}/bin/nano
do
[[ -x ${editor} ]] || continue
done
for pager in "${PAGER}" {"${EPREFIX}","${BROOT}"}/usr/bin/less
do
[[ -x ${pager} ]] || continue
done
printf '%s\n' "EDITOR=\"${editor}\"" "PAGER=\"${pager}\"" > 000fallback
else
my_unpack prefix-stack-setup
fi
my_unpack startprefix
}
my_prefixify() {
local ebash eenv
if use prefix-stack ; then
ebash="${BROOT}/bin/bash"
eenv="${BROOT}/usr/bin/env"
else
ebash="${EPREFIX}/bin/bash"
eenv="${EPREFIX}/usr/bin/env"
fi
# the @=@ prevents repoman from believing we set readonly vars
sed -e "s,@GENTOO_PORTAGE_BPREFIX@,${BROOT},g" \
-e "s,@GENTOO_PORTAGE_EPREFIX@,${EPREFIX},g" \
-e "s,@GENTOO_PORTAGE_CHOST@,${CHOST},g" \
-e "s,@GENTOO_PORTAGE_EBASH@,${ebash},g" \
-e "s,@GENTOO_PORTAGE_EENV@,${eenv},g" \
-e "s,@=@,=,g" \
-i "$@" || die
}
src_configure() {
# do not eprefixify during unpack, to allow userpatches to apply
my_prefixify *
}
src_install-prefix-stack-ccwrap() {
# install toolchain wrapper.
local wrapperdir=/usr/${CHOST}/gcc-bin/${CHOST}-${PN}/${PV}
local wrappercfg=${CHOST}-${P}
exeinto $wrapperdir
doexe prefix-stack-ccwrap
local cc
for cc in \
gcc \
g++ \
cpp \
c++ \
windres \
; do
dosym prefix-stack-ccwrap $wrapperdir/${CHOST}-${cc}
dosym ${CHOST}-${cc} $wrapperdir/${cc}
done
# LDPATH is required to keep gcc-config happy :(
cat > ./${wrappercfg} <<-EOF
GCC_PATH="${EPREFIX}$wrapperdir"
LDPATH="${EPREFIX}$wrapperdir"
EOF
insinto /etc/env.d/gcc
doins ./${wrappercfg}
}
src_install() {
if use prefix-stack; then
src_install-prefix-stack-ccwrap
insinto /etc
doins prefix-stack.bash_login
insinto /etc/bash
newins prefix-stack.bashrc bashrc
newenvd prefix-stack.envd.99stack 99stack
doenvd 000fallback
keepdir /usr/share/aclocal
else
dobin prefix-stack-setup
fi
exeinto /
doexe startprefix
}
pkg_preinst() {
use prefix-stack || return 0
ebegin "Purging @system package set for prefix stack"
# In prefix stack we empty out the @system set defined via make.profile,
# as we may be using some normal profile, but that @system set applies
# to the base prefix only.
# Instead, we only put ourselve into the @system set, and have additional
# @system packages in our RDEPEND.
my_lsprofile() {
(
cd -P "${1:-.}" || exit 1
[[ -r ./parent ]] &&
for p in $(<parent)
do
my_lsprofile "${p}" || exit 1
done
pwd -P
)
}
local systemset="/etc/portage/profile/packages"
dodir "${systemset%/*}"
[[ -s ${EROOT}${systemset} ]] &&
grep -v "# maintained by ${PN}" \
"${EROOT}${systemset}" \
> "${ED}${systemset}"
local p
for p in $(my_lsprofile "${EPREFIX}"/etc/portage/make.profile)
do
[[ -s ${p}/${systemset##*/} ]] || continue
awk '/^[ \t]*[^-#]/{print "-" $1 " # maintained by '"${PN}-${PVR}"'"}' \
< "${p}"/packages || die
done | sort -u >> "${ED}${systemset}"
[[ ${PIPESTATUS[@]} == "0 0" ]] || die "failed to collect for ${systemset}"
echo "*${CATEGORY}/${PN} # maintained by ${PN}-${PVR}" >> "${ED}${systemset}" || die
eend $?
}
pkg_postinst() {
use prefix-stack || return 0
[[ -x ${EROOT}/usr/bin/gcc-config ]] || return 0
"${EROOT}"/usr/bin/gcc-config ${CHOST}-${P}
}
return 0
: startprefix <<'EOIN'
#!@GENTOO_PORTAGE_EBASH@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# Fabian Groffen <grobian@gentoo.org> -- 2007-03-10
# Enters the prefix environment by starting a login shell from the
# prefix. The SHELL environment variable is elevated in order to make
# applications that start login shells to work, such as `screen`.
# if you come from a substantially polluted environment (another
# Prefix), a cleanup as follows resolves most oddities I've ever seen:
# env -i HOME=$HOME TERM=$TERM USER=$USER $SHELL -l
# hence this script starts the Prefix shell like this
if [[ ${SHELL#@GENTOO_PORTAGE_EPREFIX@} != ${SHELL} ]]
then
echo "You appear to be in prefix already (SHELL=${SHELL})" > /dev/stderr
exit -1
elif [[ ${SHELL#@GENTOO_PORTAGE_BPREFIX@} != ${SHELL} ]] &&
[[ ${EPREFIX-unset} == '@GENTOO_PORTAGE_EPREFIX@' ]]
then
echo "You appear to be in stacked prefix already (EPREFIX=${EPREFIX})" > /dev/stderr
exit -1
fi
# What is our prefix?
EPREFIX@=@'@GENTOO_PORTAGE_EPREFIX@'
BPREFIX@=@'@GENTOO_PORTAGE_BPREFIX@'
# not all systems have the same location for shells, however what it
# boils down to, is that we need to know what the shell is, and then we
# can find it in the bin dir of our prefix
for SHELL in \
"${EPREFIX}/bin/${SHELL##*/}" \
"${BPREFIX}/bin/${SHELL##*/}" \
${SHELL##*/}
do
[[ ${SHELL} == */* && -x ${SHELL} ]] && break
done
# check if the shell exists
if [[ ${SHELL} != */* ]]
then
echo "Failed to find the Prefix shell, this is probably" > /dev/stderr
echo "because you didn't emerge the shell ${SHELL}" > /dev/stderr
exit 1
fi
# set the prefix shell in the environment
export SHELL
# give a small notice
echo "Entering Gentoo Prefix ${EPREFIX}"
# start the login shell, clean the entire environment but what's needed
RETAIN="HOME=$HOME TERM=$TERM USER=$USER SHELL=$SHELL"
# PROFILEREAD is necessary on SUSE not to wipe the env on shell start
[[ -n ${PROFILEREAD} ]] && RETAIN+=" PROFILEREAD=$PROFILEREAD"
# ssh-agent is handy to keep, of if set, inherit it
[[ -n ${SSH_AUTH_SOCK} ]] && RETAIN+=" SSH_AUTH_SOCK=$SSH_AUTH_SOCK"
# if we're on some X terminal, makes sense to inherit that too
[[ -n ${DISPLAY} ]] && RETAIN+=" DISPLAY=$DISPLAY"
if [[ -d /proc/registry ]]; then # we're on Cygwin
# crucial to Windows but cannot be restored, see
# https://cygwin.com/ml/cygwin/2019-08/msg00072.html
[[ -n ${SYSTEMDRIVE} ]] && RETAIN+=" SYSTEMDRIVE=$SYSTEMDRIVE"
# COMSPEC is to native Windows what SHELL is to *nix
[[ -n ${COMSPEC} ]] && RETAIN+=" COMSPEC=$COMSPEC"
# some Windows programs (e.g. devenv.exe) need TMP or TEMP
[[ -n ${TEMP} ]] && RETAIN+=" TEMP=$TEMP"
fi
# do it!
if [[ ${SHELL#${EPREFIX}} != ${SHELL} ]] ; then
'@GENTOO_PORTAGE_EENV@' -i $RETAIN $SHELL -l
elif [[ ' bash ' == *" ${SHELL##*/} "* ]] ; then
# shell coming from different prefix would load it's own
# etc/profile upon -l, so we have to override
'@GENTOO_PORTAGE_EENV@' -i ${RETAIN} "${SHELL}" --rcfile "${EPREFIX}"/etc/prefix-stack.bash_login -i
else
echo "Only bash is supported with stacked Prefix (you have ${SHELL##*/}), sorry!" > /dev/stderr
exit 1
fi
# and leave a message when we exit... the shell might return non-zero
# without having real problems, so don't send alarming messages about
# that
echo "Leaving Gentoo Prefix with exit status $?"
EOIN
: prefix-stack.bashrc <<'EOIN'
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
#
# In stacked Prefix there is no bash installed, yet
# etc/bash/bashrc from base Prefix still is useful.
#
if [[ $- != *i* ]] ; then
# Shell is non-interactive, bashrc does not apply
return
fi
if [[ -r @GENTOO_PORTAGE_BPREFIX@/etc/bash/bashrc ]] ; then
source '@GENTOO_PORTAGE_BPREFIX@/etc/bash/bashrc'
# only if base Prefix does have an etc/bash/bashrc, we also
# run bashrc snippets provided by packages in stacked Prefix
for sh in '@GENTOO_PORTAGE_EPREFIX@'/etc/bash/bashrc.d/* ; do
[[ -r ${sh} ]] && source "${sh}"
done
unset sh
else
# etc/profile does expect etc/bash/bashrc to set PS1
PS1='\u@\h \w \$ '
fi
EOIN
: prefix-stack.bash_login <<'EOIN'
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
#
# In stacked Prefix there is no bash installed, so there is
# no bash able to load this Prefix' profile as login shell.
# Instead, you can specify this one as bash rcfile to mimic
# a bash login shell using this stacked Prefix profile.
#
if [[ -s '@GENTOO_PORTAGE_EPREFIX@/etc/profile' ]] ; then
. '@GENTOO_PORTAGE_EPREFIX@/etc/profile'
fi
if [[ -s ~/.bash_profile ]] ; then
. ~/.bash_profile
elif [[ -s ~/.bash_login ]] ; then
. ~/.bash_login
elif [[ -s ~/.profile ]] ; then
. ~/.profile
fi
EOIN
: prefix-stack.envd.99stack <<'EOIN'
PKG_CONFIG_PATH@=@"@GENTOO_PORTAGE_EPREFIX@/usr/lib/pkgconfig:@GENTOO_PORTAGE_EPREFIX@/usr/share/pkgconfig"
AT_SYS_M4DIR@=@"@GENTOO_PORTAGE_EPREFIX@/usr/share/aclocal"
PORTAGE_CONFIGROOT@=@"@GENTOO_PORTAGE_EPREFIX@"
EPREFIX@=@"@GENTOO_PORTAGE_EPREFIX@"
EOIN
: prefix-stack-setup <<'EOIN'
#!@GENTOO_PORTAGE_EPREFIX@/bin/bash
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
PARENT_EPREFIX="@GENTOO_PORTAGE_EPREFIX@"
PARENT_CHOST="@GENTOO_PORTAGE_CHOST@"
CHILD_EPREFIX=
CHILD_PROFILE=
CHILD_CHOST=
#
# get ourselfs the functions.sh script for ebegin/eend/etc.
#
for f in \
/lib/gentoo/functions.sh \
/etc/init.d/functions.sh \
/sbin/functions.sh \
; do
if [[ -r ${PARENT_EPREFIX}${f} ]] ; then
. "${PARENT_EPREFIX}${f}"
f=found
break
fi
done
if [[ ${f} != found ]] ; then
echo "Cannot find Gentoo functions, aborting." >&2
exit 1
fi
for arg in "$@"; do
case "${arg}" in
--eprefix=*) CHILD_EPREFIX="${arg#--eprefix=}" ;;
--profile=*) CHILD_PROFILE="${arg#--profile=}" ;;
--chost=*) CHILD_CHOST="${arg#--chost=}" ;;
--help)
einfo "$0 usage:"
einfo " --eprefix=[PATH] Path to new EPREFIX to create stacked to the prefix"
einfo " where this script is installed (${PARENT_EPREFIX})"
einfo " --profile=[PATH] The absolute path to the profile to use. This path"
einfo " must point to a directory within ${PARENT_EPREFIX}"
einfo " --chost=[CHOST] The CHOST to use for the new EPREFIX, required if"
einfo " the profile does not set CHOST, or to override."
exit 0
;;
esac
done
#
# sanity check of given values
#
test -n "${CHILD_EPREFIX}" || { eerror "no eprefix argument given"; exit 1; }
test -d "${CHILD_EPREFIX}" && { eerror "${CHILD_EPREFIX} already exists"; exit 1; }
test -n "${CHILD_PROFILE}" || { eerror "no profile argument given"; exit 1; }
test -d "${CHILD_PROFILE}" || { eerror "${CHILD_PROFILE} does not exist"; exit 1; }
if [[ -z ${CHILD_CHOST} ]]
then
my_lsprofile() {
(
cd -P "${1:-.}" || exit 1
[[ -r ./parent ]] &&
for p in $(<parent)
do
my_lsprofile "${p}" || exit 1
done
pwd -P
)
}
for profile in $(my_lsprofile "${CHILD_PROFILE}") missing
do
if [[ ${profile} == missing ]]
then
eerror "profile does not set CHOST, need --chost argument"
exit 1
fi
[[ -s "${profile}/make.defaults" ]] || continue
grep -q '^[ ]*CHOST@=@' "${profile}/make.defaults" && break
done
fi
einfo "creating stacked prefix ${CHILD_EPREFIX}"
#
# functions needed below.
#
eend_exit() {
eend $1
[[ $1 != 0 ]] && exit 1
}
#
# create the directories required to bootstrap the least.
#
ebegin "creating directory structure"
(
set -e
mkdir -p "${CHILD_EPREFIX}"/var/tmp/portage
mkdir -p "${CHILD_EPREFIX}"/etc/portage/profile/use.mask
mkdir -p "${CHILD_EPREFIX}"/etc/portage/profile/use.force
mkdir -p "${CHILD_EPREFIX}"/etc/portage/env
mkdir -p "${CHILD_EPREFIX}"/etc/portage/package.env
ln -s "${PARENT_EPREFIX}"/etc/portage/repos.conf "${CHILD_EPREFIX}"/etc/portage/repos.conf
)
eend_exit $?
#
# create a make.conf and set PORTDIR and PORTAGE_TMPDIR
#
ebegin "creating make.conf"
(
set -e
echo "#"
echo "# These are sane default compiler flags, feel free to adopt them as you like."
echo "# Extending the flags is done to respect flags probably set by some profile."
echo "#"
echo "CFLAGS=\"\${CFLAGS} -O2 -pipe\""
echo "CXXFLAGS=\"${CXXFLAGS} -O2 -pipe\""
echo "MAKEOPTS=\"$(portageq envvar MAKEOPTS)\""
niceness=$(portageq envvar PORTAGE_NICENESS || true)
[[ -n ${niceness} ]] &&
echo "PORTAGE_NICENESS=\"${niceness}\""
echo
echo "# Mirrors from parent prefix."
echo "GENTOO_MIRRORS=\"$(portageq envvar GENTOO_MIRRORS || true)\""
echo
echo "# Below comes the prefix-stack setup. Only change things"
echo "# if you know exactly what you are doing!"
echo "EPREFIX=\"${CHILD_EPREFIX}\""
echo "PORTAGE_OVERRIDE_EPREFIX=\"${PARENT_EPREFIX}\""
echo "BROOT=\"${PARENT_EPREFIX}\""
echo "PORTAGE_TMPDIR=\"\${EPREFIX}/var/tmp\""
# Since EAPI 7 there is BDEPEND, which is DEPEND in EAPI up to 6.
# We do not want to pull DEPEND from EAPI <= 6, but RDEPEND only.
echo "EMERGE_DEFAULT_OPTS=\"--root-deps=rdeps\""
if [[ -n ${CHILD_CHOST} ]] ; then
echo "CHOST=\"${CHILD_CHOST}\""
fi
) > "${CHILD_EPREFIX}"/etc/portage/make.conf
eend_exit $?
ebegin "creating use.mask/prefix-stack"
printf -- '-%s\n' prefix{,-guest,-stack} > "${CHILD_EPREFIX}"/etc/portage/profile/use.mask/prefix-stack
eend_exit $?
ebegin "creating use.force/prefix-stack"
printf -- '%s\n' prefix{,-guest,-stack} > "${CHILD_EPREFIX}"/etc/portage/profile/use.force/prefix-stack
eend_exit $?
ebegin "creating env/host-cc.conf"
cat > "${CHILD_EPREFIX}"/etc/portage/env/host-cc.conf <<-EOM
CC=${PARENT_CHOST}-gcc
CXX=${PARENT_CHOST}-g++
# Inherited compiler flags from parent prefix,
# as the child prefix may have a different compiler.
CFLAGS="$(portageq envvar CFLAGS)"
CXXFLAGS="$(portageq envvar CXXFLAGS)"
EOM
eend_exit $?
ebegin "creating package.env/prefix-stack"
cat > "${CHILD_EPREFIX}"/etc/portage/package.env/prefix-stack <<-'EOM'
# merge with the parent's chost. this forces the use of the parent
# compiler, which generally would be illegal - this is an exception.
# This is required for example on winnt, because the wrapper has to
# be able to use/resolve symlinks, etc. native winnt binaries miss
# that ability, but cygwin binaries don't.
sys-devel/gcc-config host-cc.conf
sys-apps/gentoo-functions host-cc.conf
EOM
eend_exit $?
#
# create the make.profile symlinks.
#
ebegin "creating make.profile"
(
ln -s "${CHILD_PROFILE}" "${CHILD_EPREFIX}/etc/portage/make.profile"
)
eend_exit $?
#
# adjust permissions of generated files.
#
ebegin "adjusting permissions"
(
set -e
chmod 644 "${CHILD_EPREFIX}"/etc/portage/make.conf
chmod 644 "${CHILD_EPREFIX}"/etc/portage/env/host-cc.conf
chmod 644 "${CHILD_EPREFIX}"/etc/portage/package.env/prefix-stack
)
eend_exit $?
#
# now merge some basics.
#
ebegin "installing required basic packages"
(
set -e
export PORTAGE_CONFIGROOT@=@"${CHILD_EPREFIX}"
export EPREFIX@=@"${CHILD_EPREFIX}"
export PORTAGE_OVERRIDE_EPREFIX@=@"${PARENT_EPREFIX}"
# let baselayout create the directories
USE@=@"${USE} build" \
emerge --verbose --nodeps --oneshot \
'>=baselayout-prefix-2.6'
# In prefix-stack, app-portage/prefix-toolkit does
# install/update an etc/portage/profile/packages file,
# removing all @system packages from current make.profile,
# and adding itself to @system set instead.
emerge --verbose --nodeps --oneshot \
app-portage/prefix-toolkit
# In prefix-stack, prefix-toolkit does have an RDEPEND on them,
# to hold them in the @system set.
emerge --verbose --nodeps --oneshot \
sys-apps/gentoo-functions \
app-portage/elt-patches \
sys-devel/gnuconfig \
sys-devel/gcc-config
# get eventual dependencies, add to world
emerge --verbose --update --deep \
app-portage/prefix-toolkit
# select the stack wrapper profile from gcc-config
env -i PORTAGE_CONFIGROOT="${CHILD_EPREFIX}" \
"$(type -P bash)" "${CHILD_EPREFIX}"/usr/bin/gcc-config 1
)
eend_exit $?
#
# wow, all ok :)
#
ewarn
ewarn "all done. don't forget to tune ${CHILD_EPREFIX}/etc/portage/make.conf."
ewarn "to enter the new prefix, run \"${CHILD_EPREFIX}/startprefix\"."
ewarn
EOIN
: prefix-stack-ccwrap <<'EOIN'
#!@GENTOO_PORTAGE_BPREFIX@/bin/bash
if [ -r /cygdrive/. ]; then
winpath2unix() { cygpath -u "$1"; }
unixpath2win() { cygpath -w "$1"; }
fi
myself=${0##*/} # basename $0
link_dirs=()
linkopts=()
opts=()
chost="@GENTOO_PORTAGE_CHOST@"
prefix="@GENTOO_PORTAGE_EPREFIX@"
absprefix=${prefix}
if [[ ${chost} == *"-winnt"* ]]; then
# we may get called from windows binary, like pkgdata in dev-libs/icu
# in this case, PATH elements get the "/dev/fs/C/WINDOWS/SUA" prefix
absprefix=$(winpath2unix "$(unixpath2win "${absprefix}")")
fi
[[ ${myself} == *windres* ]] && mode=compile || mode=link
orig_args=("$@")
for opt in "$@"
do
if [[ ${chost} == *"-winnt"* ]]; then
# We depend on dev-libs/pthreads4w, no?
case ${opt} in
-pthread | -lpthread)
case " ${linkopts[*]} " in
*" -lpthread "*) ;;
*) linkopts=( "${linkopts[@]}" "-lpthread" ) ;;
esac
continue
;;
esac
fi
case "$opt" in
-L)
link_dirs=("${link_dirs[@]}" "-L$1")
shift
;;
-L*)
link_dirs=("${link_dirs[@]}" "${opt}")
;;
*)
case "${opt}" in
-v)
# -v done right: only use mode version if -v is the _only_
# argument on the command line.
[[ ${#orig_args[@]} -gt 1 ]] || mode=version
;;
--version) mode=version ;;
-c|-E|-S) mode=compile ;;
-print-search-dirs) mode=dirs ;;
esac
opts=("${opts[@]}" "${opt}")
;;
esac
done
# remove any path to current prefix, need base prefix only
new_path=
save_ifs=$IFS
IFS=':'
for p in $PATH
do
IFS=$save_ifs
[[ ${p#${absprefix}} != "${p}" ]] && continue
if [[ -z "${new_path}" ]]; then
new_path="${p}"
else
new_path="${new_path}:${p}"
fi
done
IFS=$save_ifs
PATH=${new_path}
pfx_comp=("-I${prefix}/include" "-I${prefix}/usr/include")
pfx_link=("-L${prefix}/usr/lib" "-L${prefix}/lib")
# binutils-config's ldwrapper understands '-R' for aix and hpux too.
pfx_link_r=("-Wl,-R,${prefix}/lib" "-Wl,-R,${prefix}/usr/lib")
case "${chost}" in
*-winnt*)
# parity (winnt) understands -rpath only ...
pfx_link_r=("-Wl,-rpath,${prefix}/lib" "-Wl,-rpath,${prefix}/usr/lib")
;;
*-linux*)
# With gcc, -isystem would avoid warning messages in installed headers,
# but that breaks with AIX host headers.
pfx_comp=("-isystem" "${prefix}/include" "-isystem" "${prefix}/usr/include")
;;
esac
# ensure we run the right chost program in base prefix
[[ ${myself} == *-*-*-* ]] || myself=${chost}-${myself#${chost}-}
case "$mode" in
link) exec "${myself}" "${link_dirs[@]}" "${pfx_link[@]}" "${opts[@]}" "${pfx_comp[@]}" "${pfx_link_r[@]}" "${linkopts[@]}" ;;
compile) exec "${myself}" "${link_dirs[@]}" "${opts[@]}" "${pfx_comp[@]}" ;;
version) exec "${myself}" "${orig_args[@]}" ;;
dirs)
"${myself}" "${orig_args[@]}" | while read line; do
if [[ "${line}" == "libraries: ="* ]]; then
echo "libraries: =${prefix}/usr/lib:${prefix}/lib:${line#"libraries: ="}"
else
echo "${line}"
fi
done
;;
*) echo "cannot infer ${myself}'s mode from comamnd line arguments"; exit 1 ;;
esac
EOIN

Binary file not shown.

@ -1 +1,2 @@
DIST hstr-2.0.tar.gz 1242802 BLAKE2B 24f1a870e6aa12b6544a38601c6bc654e01aa1a185c4f7735559aa3220ed8d9fb840e298526b9e4a177000f2ec5c08caee5da97e13783e4114bde5276ee1e85e SHA512 50d5e8e61aa853dab0093f4225d3329e98bc59609d8d59abf832cd4cb616d78a2fa091d1ad8d16f3543276c4ead95a419f33a13a96f423bf93dc648da32740b7 DIST hstr-2.0.tar.gz 1242802 BLAKE2B 24f1a870e6aa12b6544a38601c6bc654e01aa1a185c4f7735559aa3220ed8d9fb840e298526b9e4a177000f2ec5c08caee5da97e13783e4114bde5276ee1e85e SHA512 50d5e8e61aa853dab0093f4225d3329e98bc59609d8d59abf832cd4cb616d78a2fa091d1ad8d16f3543276c4ead95a419f33a13a96f423bf93dc648da32740b7
DIST hstr-2.1.tar.gz 1244067 BLAKE2B aa37f26a5ba8ee465a03212cc80e55b9581e59cbb535f17fda8e59bed062f0b0065d456d8566927c089595b92270b83235f0bf73f26ac88704bd933c1926cd5b SHA512 ea217ac2b6dcb7e283f83d15524b47f88c5c8cfb82e5728537750a2ec8526f03304503a5bb67970d893e10057aba087aa86a67548aa361c892b6ee3e81903122

@ -0,0 +1,81 @@
diff --git a/configure.ac b/configure.ac
index 1676ec8..73c8be5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -47,39 +47,33 @@ then
fi
# PKG_CHECK_MODULES macro is NOT used to avoid confusing syntax errors in case that pkg-config is NOT installed
-AC_CHECK_LIB(ncursesw, killwchar, [],
-[
- AC_CHECK_LIB(ncurses, killwchar, [],
- [
- AC_SUBST([NCURSESW_CFLAGS])
- AC_SUBST([NCURSESW_LIBS])
- if pkg-config --exists ncursesw
- then
- AC_MSG_NOTICE([Module ncursesw found])
- NCURSESW_CFLAGS=`pkg-config --cflags ncursesw`
- NCURSESW_LIBS=`pkg-config --libs ncursesw`
- else
- if pkg-config --exists ncurses
- then
- AC_MSG_NOTICE([Module ncurses found])
- NCURSESW_CFLAGS=`pkg-config --cflags ncursesw`
- NCURSESW_LIBS=`pkg-config --libs ncurses`
- else
- AS_CASE([$host_os],
- [darwin*],
- [
- AC_CHECK_LIB(ncurses, killwchar, [], [AC_MSG_ERROR([Could not find ncurses library])])
- AC_CHECK_HEADER(curses.h)
- ],
- [
- AC_CHECK_LIB(ncursesw, killwchar, [], [AC_MSG_ERROR([Could not find ncursesw library])])
- AC_CHECK_HEADER(ncursesw/curses.h)
- ]
- )
- fi
- fi
- ]) # FAIL of ncurses
-]) # FAIL of ncursesw
+AC_SUBST([NCURSESW_CFLAGS])
+AC_SUBST([NCURSESW_LIBS])
+if pkg-config --exists ncursesw
+then
+ AC_MSG_NOTICE([Module ncursesw found])
+ NCURSESW_CFLAGS=`pkg-config --cflags ncursesw`
+ NCURSESW_LIBS=`pkg-config --libs ncursesw`
+else
+ if pkg-config --exists ncurses
+ then
+ AC_MSG_NOTICE([Module ncurses found])
+ NCURSESW_CFLAGS=`pkg-config --cflags ncursesw`
+ NCURSESW_LIBS=`pkg-config --libs ncurses`
+ else
+ AS_CASE([$host_os],
+ [darwin*],
+ [
+ AC_CHECK_LIB(ncurses, killwchar, [], [AC_MSG_ERROR([Could not find ncurses library])])
+ AC_CHECK_HEADER(curses.h)
+ ],
+ [
+ AC_CHECK_LIB(ncursesw, killwchar, [], [AC_MSG_ERROR([Could not find ncursesw library])])
+ AC_CHECK_HEADER(ncursesw/curses.h)
+ ]
+ )
+ fi
+fi
# Checks for libraries.
diff --git a/src/Makefile.am b/src/Makefile.am
index 7640d21..17a82b7 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -37,4 +37,4 @@ hstr_SOURCES = \
install-exec-hook:
ln $(DESTDIR)$(bindir)/hstr$(EXEEXT) $(DESTDIR)$(bindir)/hh$(EXEEXT)
-hstr_LDADD = $(NCURSES_LIBS)
+hstr_LDADD = $(NCURSESW_LIBS)

@ -0,0 +1,33 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit autotools
DESCRIPTION="Shell history suggest box"
HOMEPAGE="https://github.com/dvorka/hstr http://www.mindforger.com"
SRC_URI="https://github.com/dvorka/hstr/archive/${PV}.tar.gz -> ${P}.tar.gz"
SLOT="0"
LICENSE="Apache-2.0"
KEYWORDS="~amd64 ~x86"
RDEPEND="
sys-libs/ncurses:0=[unicode]"
DEPEND="
${RDEPEND}
virtual/pkgconfig"
DOCS=( CONFIGURATION.md README.md )
PATCHES=( ${FILESDIR}/${P}-fix-ncurses-configure.patch )
src_prepare() {
default
sed \
-e 's:-O2::g' \
-i src/Makefile.am || die
eautoreconf
}

Binary file not shown.

@ -19,7 +19,7 @@ DESCRIPTION="PDF rendering library based on the xpdf-3.0 code base"
HOMEPAGE="https://poppler.freedesktop.org/" HOMEPAGE="https://poppler.freedesktop.org/"
LICENSE="GPL-2" LICENSE="GPL-2"
IUSE="cairo cjk curl cxx debug doc +introspection +jpeg +jpeg2k +lcms nss png qt5 tiff +utils" IUSE="cairo cjk curl +cxx debug doc +introspection +jpeg +jpeg2k +lcms nss png qt5 tiff +utils"
# No test data provided # No test data provided
RESTRICT="test" RESTRICT="test"

@ -19,7 +19,7 @@ DESCRIPTION="PDF rendering library based on the xpdf-3.0 code base"
HOMEPAGE="https://poppler.freedesktop.org/" HOMEPAGE="https://poppler.freedesktop.org/"
LICENSE="GPL-2" LICENSE="GPL-2"
IUSE="cairo cjk curl cxx debug doc +introspection +jpeg +jpeg2k +lcms nss png qt5 tiff +utils" IUSE="cairo cjk curl +cxx debug doc +introspection +jpeg +jpeg2k +lcms nss png qt5 tiff +utils"
# No test data provided # No test data provided
RESTRICT="test" RESTRICT="test"

@ -19,7 +19,7 @@ DESCRIPTION="PDF rendering library based on the xpdf-3.0 code base"
HOMEPAGE="https://poppler.freedesktop.org/" HOMEPAGE="https://poppler.freedesktop.org/"
LICENSE="GPL-2" LICENSE="GPL-2"
IUSE="cairo cjk curl cxx debug doc +introspection +jpeg +jpeg2k +lcms nss png qt5 tiff +utils" IUSE="cairo cjk curl +cxx debug doc +introspection +jpeg +jpeg2k +lcms nss png qt5 tiff +utils"
# No test data provided # No test data provided
RESTRICT="test" RESTRICT="test"

@ -19,7 +19,7 @@ DESCRIPTION="PDF rendering library based on the xpdf-3.0 code base"
HOMEPAGE="https://poppler.freedesktop.org/" HOMEPAGE="https://poppler.freedesktop.org/"
LICENSE="GPL-2" LICENSE="GPL-2"
IUSE="cairo cjk curl cxx debug doc +introspection +jpeg +jpeg2k +lcms nss png qt5 tiff +utils" IUSE="cairo cjk curl +cxx debug doc +introspection +jpeg +jpeg2k +lcms nss png qt5 tiff +utils"
# No test data provided # No test data provided
RESTRICT="test" RESTRICT="test"

@ -19,7 +19,7 @@ DESCRIPTION="PDF rendering library based on the xpdf-3.0 code base"
HOMEPAGE="https://poppler.freedesktop.org/" HOMEPAGE="https://poppler.freedesktop.org/"
LICENSE="GPL-2" LICENSE="GPL-2"
IUSE="cairo cjk curl cxx debug doc +introspection +jpeg +jpeg2k +lcms nss png qt5 tiff +utils" IUSE="cairo cjk curl +cxx debug doc +introspection +jpeg +jpeg2k +lcms nss png qt5 tiff +utils"
# No test data provided # No test data provided
RESTRICT="test" RESTRICT="test"

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save