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
|
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
|
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
|
|
||||||
}
|
|
@ -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
|
||||||
|
}
|
@ -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
|
|
||||||
}
|
|
@ -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
|
|
||||||
}
|
|
@ -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.
Binary file not shown.
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}]"
|
@ -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
|
||||||
|
Binary file not shown.
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
|
@ -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';
|
Binary file not shown.
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.
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue