parent
45d612401c
commit
c9ea9f4350
Binary file not shown.
Binary file not shown.
@ -0,0 +1,53 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{10..12} )
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Model-driven deployment, config management, and command execution framework"
|
||||
HOMEPAGE="https://www.ansible.com/"
|
||||
|
||||
if [[ ${PV} == 9999 ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://github.com/ansible/ansible.git"
|
||||
EGIT_BRANCH="devel"
|
||||
else
|
||||
inherit pypi
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86 ~x64-macos"
|
||||
fi
|
||||
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
RESTRICT="test"
|
||||
|
||||
RDEPEND="
|
||||
dev-python/paramiko[${PYTHON_USEDEP}]
|
||||
dev-python/jinja[${PYTHON_USEDEP}]
|
||||
dev-python/pyyaml[${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}]
|
||||
>=dev-python/resolvelib-0.5.3[${PYTHON_USEDEP}]
|
||||
<dev-python/resolvelib-1.1.0[${PYTHON_USEDEP}]
|
||||
net-misc/sshpass
|
||||
virtual/ssh
|
||||
"
|
||||
BDEPEND="
|
||||
>=dev-python/packaging-16.6[${PYTHON_USEDEP}]
|
||||
test? (
|
||||
dev-python/botocore[${PYTHON_USEDEP}]
|
||||
dev-python/pytz[${PYTHON_USEDEP}]
|
||||
)"
|
||||
|
||||
distutils_enable_tests pytest
|
||||
|
||||
python_compile() {
|
||||
export ANSIBLE_SKIP_CONFLICT_CHECK=1
|
||||
distutils-r1_python_compile
|
||||
}
|
@ -0,0 +1,29 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
|
||||
PYTHON_COMPAT=( python3_{10..12} )
|
||||
|
||||
inherit distutils-r1 pypi
|
||||
|
||||
DESCRIPTION="Model-driven deployment, config management, and command execution framework"
|
||||
HOMEPAGE="https://www.ansible.com/"
|
||||
|
||||
LICENSE="GPL-3+"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86 ~x64-macos"
|
||||
RESTRICT="test"
|
||||
|
||||
RDEPEND=">=app-admin/ansible-core-2.16.0
|
||||
<app-admin/ansible-core-2.17"
|
||||
|
||||
python_compile() {
|
||||
local -x ANSIBLE_SKIP_CONFLICT_CHECK=1
|
||||
distutils-r1_python_compile
|
||||
}
|
||||
python_install() {
|
||||
local -x ANSIBLE_SKIP_CONFLICT_CHECK=1
|
||||
distutils-r1_python_install
|
||||
}
|
@ -1,6 +1,3 @@
|
||||
DIST aws-cli-1.32.74.gh.tar.gz 2682208 BLAKE2B aba8be6e597a6d07197bd06d51f167f7a2dbed317c630572585cd006f6edfceac054726a20afe20faf6de381cbb75e352a7d6ab9e232b6e669fd59ca5888e122 SHA512 2f19b7c383c91528f15b93b00df285bdf32685c08e41e4f8f3a62cbbd5cff2615ca98c5eb925a5a2a2d13b452a0a08658749f4f7a48045a537ee7ec7e23cd663
|
||||
DIST aws-cli-1.32.79.gh.tar.gz 2685785 BLAKE2B 3bbfad927d9d882e6b502f47919ce963df498c614a92730c5d6b1fb4efd7a8bd805a5c8cc82c705b97d8ee0ddbee4d6ddfa9cb46661fe7e9337add53bda3d9a1 SHA512 e0e369b6a5fca4d72365e54ef99c862e2d6f68caed61ac431516777e82ec8b292cf50516f379d8e94787b2a0ee58ad6e68d0951624f1ed742079295c4d2987ce
|
||||
DIST aws-cli-1.32.84.gh.tar.gz 2691519 BLAKE2B 4cb78f14975d74013803af0f6397d959294cca6046ee19c1a907ca3e60fd224539d39535416ddcc2713b1de653b78ba03965dc78415dd915e80d11fcd6fbe02f SHA512 19d2030201806b336ede2c5e09f761e39959a156057d68316180145232e54013f2e5fa57023146488d407aa7e655fdb2245058e45eb5c4d6778eecd867f6eac1
|
||||
DIST aws-cli-1.32.85.gh.tar.gz 2692681 BLAKE2B 1b74cd51dd71ce01b492f21de40d25e7ea4b2e3e3572cf2346b0fd293a4ba2dbb870acb1f0b2f41494f5fb065d5eb20c6e3f98a4035d7426bf6926535c8ef83e SHA512 7f471978f4a306944d30ad2cacd3feaea6a821be79aa814300a2833824328414f878ee2d0a6d42371d38e3d841530be7f25f0e14b81360e81182d9c9e35227b5
|
||||
DIST aws-cli-1.32.86.gh.tar.gz 2692809 BLAKE2B b0c9956d7b2b81f05b8f59ccbcd14baca3acb9f006ac965d0df06d86309bdd4d71c430514d22ef5c5c871e6009a174e8abc25b47ab8cd4471230e301bc0e50a1 SHA512 ab689fc5997bd14223e76307c1c4609950b5e4a62932163bd68d8a4d7a9c09db55b17c4377cba3901cd9518ac2b6ccc191fd9c7692dd0e188bfdd475bfcfc0ac
|
||||
DIST aws-cli-1.32.87.gh.tar.gz 2692945 BLAKE2B 5c22caaad9f9134013e96a665681de698510b77048dbbd2f84748b5dc3283dfc2f34aa62e8669265fe8e686e8497ab72d67bb401a343d9f036eb6ba2558cd0ff SHA512 48779efe4d2ee34e5f145fdf753619fd39ef48085705d7fe67e6b0d51c70fc2b0a43eb4a7d07c4d9befeb596d9c59b8725eea9b9619ac614b4cdd6dbdacc81a4
|
||||
DIST aws-cli-1.32.88.gh.tar.gz 2693435 BLAKE2B 043f4eb08711760b7f8e15a5eba879524788cb65823215ed9d1c8ee5337a085ab6975dfc1c90aea29b7137f050a6d4f201eba57e8c8c83c09625401d8075eb6c SHA512 cb0ed179b9549d988e19963607fe28ca6fb02c92280c451c8651a8149d60a929158f9ae04a1c764540648b8b42417e908cb956fe71ce787c4b788f83cc2ef488
|
||||
|
@ -1,90 +0,0 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
PYTHON_COMPAT=( python3_{10..12} )
|
||||
|
||||
inherit bash-completion-r1 distutils-r1
|
||||
|
||||
MY_P=aws-cli-${PV}
|
||||
DESCRIPTION="Universal Command Line Environment for AWS"
|
||||
HOMEPAGE="
|
||||
https://github.com/aws/aws-cli/
|
||||
https://pypi.org/project/awscli/
|
||||
"
|
||||
SRC_URI="
|
||||
https://github.com/aws/aws-cli/archive/${PV}.tar.gz
|
||||
-> ${MY_P}.gh.tar.gz
|
||||
"
|
||||
S=${WORKDIR}/${MY_P}
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv sparc x86"
|
||||
|
||||
# botocore is x.(y+2).z
|
||||
BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) + 2)).$(ver_cut 3-)"
|
||||
RDEPEND="
|
||||
>=dev-python/botocore-${BOTOCORE_PV}[${PYTHON_USEDEP}]
|
||||
dev-python/colorama[${PYTHON_USEDEP}]
|
||||
dev-python/docutils[${PYTHON_USEDEP}]
|
||||
dev-python/rsa[${PYTHON_USEDEP}]
|
||||
>=dev-python/s3transfer-0.10.0[${PYTHON_USEDEP}]
|
||||
dev-python/pyyaml[${PYTHON_USEDEP}]
|
||||
!app-admin/awscli-bin
|
||||
"
|
||||
BDEPEND="
|
||||
test? (
|
||||
dev-python/packaging[${PYTHON_USEDEP}]
|
||||
dev-python/pytest-forked[${PYTHON_USEDEP}]
|
||||
)
|
||||
"
|
||||
|
||||
EPYTEST_XDIST=1
|
||||
distutils_enable_tests pytest
|
||||
|
||||
src_prepare() {
|
||||
# do not rely on bundled deps in botocore (sic!)
|
||||
find -name '*.py' -exec sed -i \
|
||||
-e 's:from botocore[.]vendored import:import:' \
|
||||
-e 's:from botocore[.]vendored[.]:from :' \
|
||||
{} + || die
|
||||
# strip overzealous upper bounds on requirements
|
||||
sed -i -e 's:,<[0-9.]*::' -e 's:==:>=:' setup.py || die
|
||||
distutils-r1_src_prepare
|
||||
}
|
||||
|
||||
python_test() {
|
||||
local serial_tests=(
|
||||
tests/functional/ecs/test_execute_command.py::TestExecuteCommand::test_execute_command_success
|
||||
tests/functional/ssm/test_start_session.py::TestSessionManager::test_start_session_{fails,success}
|
||||
tests/functional/ssm/test_start_session.py::TestSessionManager::test_start_session_with_new_version_plugin_success
|
||||
tests/unit/customizations/codeartifact/test_adapter_login.py::TestDotNetLogin::test_login_dotnet_sources_listed_with_backtracking
|
||||
tests/unit/customizations/codeartifact/test_adapter_login.py::TestDotNetLogin::test_login_dotnet_sources_listed_with_backtracking_windows
|
||||
tests/unit/customizations/codeartifact/test_adapter_login.py::TestNuGetLogin::test_login_nuget_sources_listed_with_backtracking
|
||||
tests/unit/customizations/ecs/test_executecommand_startsession.py::TestExecuteCommand::test_execute_command_success
|
||||
tests/unit/customizations/test_sessionmanager.py
|
||||
tests/unit/test_compat.py::TestIgnoreUserSignals
|
||||
tests/unit/test_help.py
|
||||
tests/unit/test_utils.py::TestIgnoreCtrlC::test_ctrl_c_is_ignored
|
||||
)
|
||||
local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
|
||||
EPYTEST_XDIST= epytest "${serial_tests[@]}"
|
||||
|
||||
local EPYTEST_DESELECT=( "${serial_tests[@]}" )
|
||||
# integration tests require AWS credentials and Internet access
|
||||
epytest tests/{functional,unit}
|
||||
}
|
||||
|
||||
python_install_all() {
|
||||
newbashcomp bin/aws_bash_completer aws
|
||||
|
||||
insinto /usr/share/zsh/site-functions
|
||||
newins bin/aws_zsh_completer.sh _aws
|
||||
|
||||
distutils-r1_python_install_all
|
||||
|
||||
rm "${ED}"/usr/bin/{aws.cmd,aws_bash_completer,aws_zsh_completer.sh} || die
|
||||
}
|
@ -1,90 +0,0 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
PYTHON_COMPAT=( python3_{10..12} )
|
||||
|
||||
inherit bash-completion-r1 distutils-r1
|
||||
|
||||
MY_P=aws-cli-${PV}
|
||||
DESCRIPTION="Universal Command Line Environment for AWS"
|
||||
HOMEPAGE="
|
||||
https://github.com/aws/aws-cli/
|
||||
https://pypi.org/project/awscli/
|
||||
"
|
||||
SRC_URI="
|
||||
https://github.com/aws/aws-cli/archive/${PV}.tar.gz
|
||||
-> ${MY_P}.gh.tar.gz
|
||||
"
|
||||
S=${WORKDIR}/${MY_P}
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
|
||||
|
||||
# botocore is x.(y+2).z
|
||||
BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) + 2)).$(ver_cut 3-)"
|
||||
RDEPEND="
|
||||
>=dev-python/botocore-${BOTOCORE_PV}[${PYTHON_USEDEP}]
|
||||
dev-python/colorama[${PYTHON_USEDEP}]
|
||||
dev-python/docutils[${PYTHON_USEDEP}]
|
||||
dev-python/rsa[${PYTHON_USEDEP}]
|
||||
>=dev-python/s3transfer-0.10.0[${PYTHON_USEDEP}]
|
||||
dev-python/pyyaml[${PYTHON_USEDEP}]
|
||||
!app-admin/awscli-bin
|
||||
"
|
||||
BDEPEND="
|
||||
test? (
|
||||
dev-python/packaging[${PYTHON_USEDEP}]
|
||||
dev-python/pytest-forked[${PYTHON_USEDEP}]
|
||||
)
|
||||
"
|
||||
|
||||
EPYTEST_XDIST=1
|
||||
distutils_enable_tests pytest
|
||||
|
||||
src_prepare() {
|
||||
# do not rely on bundled deps in botocore (sic!)
|
||||
find -name '*.py' -exec sed -i \
|
||||
-e 's:from botocore[.]vendored import:import:' \
|
||||
-e 's:from botocore[.]vendored[.]:from :' \
|
||||
{} + || die
|
||||
# strip overzealous upper bounds on requirements
|
||||
sed -i -e 's:,<[0-9.]*::' -e 's:==:>=:' setup.py || die
|
||||
distutils-r1_src_prepare
|
||||
}
|
||||
|
||||
python_test() {
|
||||
local serial_tests=(
|
||||
tests/functional/ecs/test_execute_command.py::TestExecuteCommand::test_execute_command_success
|
||||
tests/functional/ssm/test_start_session.py::TestSessionManager::test_start_session_{fails,success}
|
||||
tests/functional/ssm/test_start_session.py::TestSessionManager::test_start_session_with_new_version_plugin_success
|
||||
tests/unit/customizations/codeartifact/test_adapter_login.py::TestDotNetLogin::test_login_dotnet_sources_listed_with_backtracking
|
||||
tests/unit/customizations/codeartifact/test_adapter_login.py::TestDotNetLogin::test_login_dotnet_sources_listed_with_backtracking_windows
|
||||
tests/unit/customizations/codeartifact/test_adapter_login.py::TestNuGetLogin::test_login_nuget_sources_listed_with_backtracking
|
||||
tests/unit/customizations/ecs/test_executecommand_startsession.py::TestExecuteCommand::test_execute_command_success
|
||||
tests/unit/customizations/test_sessionmanager.py
|
||||
tests/unit/test_compat.py::TestIgnoreUserSignals
|
||||
tests/unit/test_help.py
|
||||
tests/unit/test_utils.py::TestIgnoreCtrlC::test_ctrl_c_is_ignored
|
||||
)
|
||||
local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
|
||||
EPYTEST_XDIST= epytest "${serial_tests[@]}"
|
||||
|
||||
local EPYTEST_DESELECT=( "${serial_tests[@]}" )
|
||||
# integration tests require AWS credentials and Internet access
|
||||
epytest tests/{functional,unit}
|
||||
}
|
||||
|
||||
python_install_all() {
|
||||
newbashcomp bin/aws_bash_completer aws
|
||||
|
||||
insinto /usr/share/zsh/site-functions
|
||||
newins bin/aws_zsh_completer.sh _aws
|
||||
|
||||
distutils-r1_python_install_all
|
||||
|
||||
rm "${ED}"/usr/bin/{aws.cmd,aws_bash_completer,aws_zsh_completer.sh} || die
|
||||
}
|
@ -1,90 +0,0 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
PYTHON_COMPAT=( python3_{10..12} )
|
||||
|
||||
inherit bash-completion-r1 distutils-r1
|
||||
|
||||
MY_P=aws-cli-${PV}
|
||||
DESCRIPTION="Universal Command Line Environment for AWS"
|
||||
HOMEPAGE="
|
||||
https://github.com/aws/aws-cli/
|
||||
https://pypi.org/project/awscli/
|
||||
"
|
||||
SRC_URI="
|
||||
https://github.com/aws/aws-cli/archive/${PV}.tar.gz
|
||||
-> ${MY_P}.gh.tar.gz
|
||||
"
|
||||
S=${WORKDIR}/${MY_P}
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
|
||||
|
||||
# botocore is x.(y+2).z
|
||||
BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) + 2)).$(ver_cut 3-)"
|
||||
RDEPEND="
|
||||
>=dev-python/botocore-${BOTOCORE_PV}[${PYTHON_USEDEP}]
|
||||
dev-python/colorama[${PYTHON_USEDEP}]
|
||||
dev-python/docutils[${PYTHON_USEDEP}]
|
||||
dev-python/rsa[${PYTHON_USEDEP}]
|
||||
>=dev-python/s3transfer-0.10.0[${PYTHON_USEDEP}]
|
||||
dev-python/pyyaml[${PYTHON_USEDEP}]
|
||||
!app-admin/awscli-bin
|
||||
"
|
||||
BDEPEND="
|
||||
test? (
|
||||
dev-python/packaging[${PYTHON_USEDEP}]
|
||||
dev-python/pytest-forked[${PYTHON_USEDEP}]
|
||||
)
|
||||
"
|
||||
|
||||
EPYTEST_XDIST=1
|
||||
distutils_enable_tests pytest
|
||||
|
||||
src_prepare() {
|
||||
# do not rely on bundled deps in botocore (sic!)
|
||||
find -name '*.py' -exec sed -i \
|
||||
-e 's:from botocore[.]vendored import:import:' \
|
||||
-e 's:from botocore[.]vendored[.]:from :' \
|
||||
{} + || die
|
||||
# strip overzealous upper bounds on requirements
|
||||
sed -i -e 's:,<[0-9.]*::' -e 's:==:>=:' setup.py || die
|
||||
distutils-r1_src_prepare
|
||||
}
|
||||
|
||||
python_test() {
|
||||
local serial_tests=(
|
||||
tests/functional/ecs/test_execute_command.py::TestExecuteCommand::test_execute_command_success
|
||||
tests/functional/ssm/test_start_session.py::TestSessionManager::test_start_session_{fails,success}
|
||||
tests/functional/ssm/test_start_session.py::TestSessionManager::test_start_session_with_new_version_plugin_success
|
||||
tests/unit/customizations/codeartifact/test_adapter_login.py::TestDotNetLogin::test_login_dotnet_sources_listed_with_backtracking
|
||||
tests/unit/customizations/codeartifact/test_adapter_login.py::TestDotNetLogin::test_login_dotnet_sources_listed_with_backtracking_windows
|
||||
tests/unit/customizations/codeartifact/test_adapter_login.py::TestNuGetLogin::test_login_nuget_sources_listed_with_backtracking
|
||||
tests/unit/customizations/ecs/test_executecommand_startsession.py::TestExecuteCommand::test_execute_command_success
|
||||
tests/unit/customizations/test_sessionmanager.py
|
||||
tests/unit/test_compat.py::TestIgnoreUserSignals
|
||||
tests/unit/test_help.py
|
||||
tests/unit/test_utils.py::TestIgnoreCtrlC::test_ctrl_c_is_ignored
|
||||
)
|
||||
local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
|
||||
EPYTEST_XDIST= epytest "${serial_tests[@]}"
|
||||
|
||||
local EPYTEST_DESELECT=( "${serial_tests[@]}" )
|
||||
# integration tests require AWS credentials and Internet access
|
||||
epytest tests/{functional,unit}
|
||||
}
|
||||
|
||||
python_install_all() {
|
||||
newbashcomp bin/aws_bash_completer aws
|
||||
|
||||
insinto /usr/share/zsh/site-functions
|
||||
newins bin/aws_zsh_completer.sh _aws
|
||||
|
||||
distutils-r1_python_install_all
|
||||
|
||||
rm "${ED}"/usr/bin/{aws.cmd,aws_bash_completer,aws_zsh_completer.sh} || die
|
||||
}
|
@ -1,3 +1,4 @@
|
||||
DIST checksec-2.4.0.tar.gz 2242079 BLAKE2B c1878c1312d13591147f0efd1a2d535ae8e75292dbc53e7ba0802c8d165b18b4bc0b22a5cc3a9159ddcf05a1518d58c18cb54700ea5a52ff29d261068194b96a SHA512 1a02dfac48b5979cb5c2eb7b8f1fe290d3ac090726d1b95a14864bfc4bc3d32eefc10e2cc227c9dc01809c78fe003d1faea9b720d5cb5fbc16599fc0e2512947
|
||||
DIST checksec-2.5.0.tar.gz 2623122 BLAKE2B b4a876dfc8b9f02d5d74b6720b59ee216fbdab4e7df471aa4a78e7e6a98830b1b03f9a66d8b9dd344261fe1a253db4e5e9bede53f47e1fd171b2d23b0e04f031 SHA512 dd76061976d7f97c250b9d24b9cc7c6ea26c9df7e3521e3a1f39f56812485afaae6d60c611e1b7f4817b1585d10fc2116eaa032bb690e39a0243529e324943ab
|
||||
DIST checksec-2.6.0.tar.gz 2624551 BLAKE2B bfda79dfdfc672119d70612497893ba91f093719f95e2b387d27da81d7f8b50e2bc54e9d030d84db76dc2a599bb1f866608529149896259ce517450318640c82 SHA512 71ba0f24b7db0c7fa74dfeaa74b2722ffe792c77941316da916dc7aae888f147c81f98d1522f63b96aa3a76aff7bb1d98522a02efa312b3b3a9dd9a137239010
|
||||
DIST checksec-2.7.0.tar.gz 2631553 BLAKE2B c44bcc1a5090a29563ce7e8694ead74230d43f469a71e8388c06138afe5192280366315f3921961adddb367cbab81a1948f45096cbb64a7d8fdb6de849dc1698 SHA512 194a6f33042fcec94bbc463659066abdda644da42f68dd8001ba263a2679bd49a4443229cd5ddffd75afe693d255dc7f081c95eeeff940ac8a0e53313972f03b
|
||||
|
@ -0,0 +1,37 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="8"
|
||||
|
||||
MY_PN=${PN}.sh
|
||||
DESCRIPTION="Tool to check properties of executables (e.g. ASLR/PIE, RELRO, PaX, Canaries)"
|
||||
HOMEPAGE="https://github.com/slimm609/checksec.sh"
|
||||
SRC_URI="https://github.com/slimm609/${MY_PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
|
||||
IUSE=""
|
||||
|
||||
S="${WORKDIR}"/${MY_PN}-${PV}
|
||||
|
||||
RDEPEND="!<dev-util/pwntools-4.10.0_beta0-r2"
|
||||
|
||||
DOCS=( ChangeLog README.md )
|
||||
|
||||
src_prepare() {
|
||||
sed 's,^pkg_release=false,pkg_release=true,' -i ${PN} || die
|
||||
rm Makefile || die
|
||||
default
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
|
||||
doman extras/man/*
|
||||
|
||||
insinto /usr/share/zsh/site-functions
|
||||
doins extras/zsh/_${PN}
|
||||
|
||||
dobin ${PN}
|
||||
}
|
@ -0,0 +1,91 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
inherit systemd unpacker tmpfiles
|
||||
|
||||
DESCRIPTION="general puppet client utils along with hiera and facter"
|
||||
HOMEPAGE="https://puppetlabs.com/"
|
||||
SRC_URI="amd64? ( http://apt.puppetlabs.com/pool/focal/puppet8/${PN:0:1}/${PN}/${PN}_${PV}-1focal_amd64.deb )
|
||||
arm64? ( http://apt.puppetlabs.com/pool/focal/puppet8/${PN:0:1}/${PN}/${PN}_${PV}-1focal_arm64.deb )"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 ~arm64"
|
||||
IUSE="puppetdb selinux"
|
||||
RESTRICT="strip"
|
||||
|
||||
# virtual/libcrypt:= is in here despite being a pre-built package
|
||||
# to ensure that the has_version logic for the symlink doesn't become stale
|
||||
CDEPEND="!app-admin/puppet
|
||||
!dev-ruby/hiera
|
||||
!dev-ruby/facter
|
||||
app-emulation/virt-what
|
||||
acct-user/puppet
|
||||
acct-group/puppet
|
||||
virtual/libcrypt:="
|
||||
|
||||
DEPEND="
|
||||
${CDEPEND}
|
||||
app-admin/augeas"
|
||||
RDEPEND="${CDEPEND}
|
||||
app-portage/eix
|
||||
sys-apps/dmidecode
|
||||
sys-libs/libselinux
|
||||
sys-libs/glibc
|
||||
sys-libs/readline:0/8
|
||||
sys-libs/libxcrypt[compat]
|
||||
sys-libs/ncurses:0[tinfo]
|
||||
selinux? (
|
||||
sys-libs/libselinux[ruby]
|
||||
sec-policy/selinux-puppet
|
||||
)
|
||||
puppetdb? ( >=dev-ruby/puppetdb-termini-5.0.1 )"
|
||||
|
||||
S=${WORKDIR}
|
||||
|
||||
QA_PREBUILT="*"
|
||||
|
||||
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
|
||||
keepdir var/log/puppetlabs/puppet/
|
||||
chmod 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.initd2" puppet
|
||||
systemd_dounit lib/systemd/system/puppet.service
|
||||
systemd_dounit lib/systemd/system/pxp-agent.service
|
||||
newtmpfiles usr/lib/tmpfiles.d/puppet-agent.conf puppet-agent.conf
|
||||
# symlinks
|
||||
chmod 0755 -R "${D}/opt/puppetlabs/puppet/bin/"
|
||||
dosym ../../opt/puppetlabs/bin/facter /usr/bin/facter
|
||||
dosym ../../opt/puppetlabs/bin/hiera /usr/bin/hiera
|
||||
dosym ../../opt/puppetlabs/bin/puppet /usr/bin/puppet
|
||||
|
||||
# Handling of the path to the crypt library during the ongoing migration
|
||||
# from glibc[crypt] to libxcrypt
|
||||
# https://www.gentoo.org/support/news-items/2021-07-23-libxcrypt-migration.html
|
||||
if has_version "sys-libs/glibc[crypt]"; then
|
||||
local crypt_target='../../../../usr/lib64/xcrypt/libcrypt.so.1'
|
||||
else
|
||||
local crypt_target='../../../../usr/lib/libcrypt.so.1'
|
||||
fi
|
||||
dosym $crypt_target /opt/puppetlabs/puppet/lib/libcrypt.so.1
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
tmpfiles_process puppet-agent.conf
|
||||
}
|
@ -0,0 +1,115 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="7"
|
||||
|
||||
USE_RUBY="ruby31"
|
||||
RUBY_FAKEGEM_RECIPE_TEST="rspec3"
|
||||
RUBY_FAKEGEM_TASK_DOC="doc:all"
|
||||
RUBY_FAKEGEM_EXTRAINSTALL="locales"
|
||||
|
||||
inherit ruby-fakegem systemd tmpfiles
|
||||
|
||||
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 ~arm64 ~hppa ~ppc ~ppc64 ~riscv x86"
|
||||
IUSE="augeas diff doc emacs hiera ldap rrdtool selinux shadow sqlite vim-syntax"
|
||||
RESTRICT="test"
|
||||
|
||||
ruby_add_rdepend "
|
||||
hiera? ( dev-ruby/hiera )
|
||||
dev-ruby/json:=
|
||||
dev-ruby/semantic_puppet
|
||||
>=dev-ruby/facter-3.0.0
|
||||
dev-ruby/deep_merge
|
||||
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() {
|
||||
# fix systemd path
|
||||
eapply -p0 "${FILESDIR}/puppet-systemd.patch"
|
||||
}
|
||||
|
||||
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
|
||||
systemd_dounit "${WORKDIR}/all/${P}/ext/systemd/puppet.service"
|
||||
|
||||
# tmpfiles stuff
|
||||
newtmpfiles "${FILESDIR}/tmpfiles.d-2" "puppet.conf"
|
||||
|
||||
# openrc init stuff
|
||||
newinitd "${FILESDIR}"/puppet.init 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
|
||||
|
||||
# ext and examples files
|
||||
for f in $(find ext examples -type f) ; do
|
||||
docinto "$(dirname ${f})"
|
||||
dodoc "${f}"
|
||||
done
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
tmpfiles_process puppet.conf
|
||||
|
||||
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
|
||||
}
|
@ -1,3 +1,4 @@
|
||||
DIST puppetdb-7.13.0.tar.gz 49917440 BLAKE2B 7cb01b2dbd6b6b22aad11a7fbcabff1c8452d51437bd0b3db3c8afe9d72bb853b66a9c8056c4c7c33f284efc4a90c788a05411fe6f80ae081ef817bb7f609bf3 SHA512 ba94031b3c15d38a2719390145e034be453a5f8368b5c53420bf3b371cc36a49f0b416447ec4d9de41ef0618b32ec806b9bae996ec3c4ca0ce05fb152940c2f2
|
||||
DIST puppetdb-8.2.0.tar.gz 59250096 BLAKE2B ed1009e87cad366a1d3399eb55b51d8aaad325f1b2da9c2fc5f77a1ad43581009ebc23f5e6756cd86430eb300d389a9022b14c29bdd4ea392cf956627df0f1fe SHA512 59d894710c2591566f9900a7fc1a396f971152e66ae423b54d73b0b9d474eaf4f58926fb6dc4815865dac8bd2dc458161685876ffdc9db5a3d049d0ffeb9b601
|
||||
DIST puppetdb-8.4.1.tar.gz 60378645 BLAKE2B eb107fd2016335f814ce9de5431abb2573fd71e8b1a37faf3dad0079ca464f15785bde79eaa49f343a8dd146b9977dbb9ce4e23bce61ba39e5526e422995a497 SHA512 89f405e5364eff1ecf1482ff620de1a7fbb818b3a7ab2463f6ff47fcba0552ac440639c72f2875de956127ea3da9a5d59aa3bb220e59d0994ed3683cac22309c
|
||||
DIST puppetdb-8.5.0.tar.gz 60440356 BLAKE2B 8c3116b040c91a1b406e56b419ddd7e31a5ecc7aae97c73b03fcecebeedefb1b8eed44ce54b07881cbbb025b79bfa076618c6fd6df861a6dcf03c047e7c8f480 SHA512 92808758271c43eabbd508fcb321b3e52a92d0aa860f2c9b42d1df6dcffedb41110c8cc2e72c599fa1762404112f1fc76699f449858a627dd1ca5caa84a2d381
|
||||
|
@ -0,0 +1,90 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit systemd tmpfiles
|
||||
|
||||
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-11"
|
||||
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
|
||||
doins ext/config/conf.d/auth.conf
|
||||
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
|
||||
newtmpfiles 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() {
|
||||
tmpfiles_process puppetdb.conf
|
||||
|
||||
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,3 +1,4 @@
|
||||
DIST puppetserver-7.11.0.tar.gz 59927771 BLAKE2B dcf2543ac6d5427f57bb451ff9cc6db6748522ffed6fd5a7e81bd63be899fbf722016975fdfca5154489bcaf93d973d11669dd455ad44c79b3be50ccc5e0f636 SHA512 4c9c8d05048ccc35fd729a9a37151451e97655eed131f7192be2dac7614c309ffa4cdb0dd77f1c9eb2666d7df630690faa52ad2b01266010533522b58fb06f79
|
||||
DIST puppetserver-8.3.0.tar.gz 63318772 BLAKE2B 863337c364573b340b802b83f0593fdc510424bfbcf6c6b9f8a8e56729a4db689ce5d4c0d9e1a91399e123e05f42ed0547e6a2e86905d0166c189c79966cd9f3 SHA512 c9aa0f84f989dc544ee5d8d268f753b0961f6766531d832a2c99012701dd219d1c2abf4371835242b3445428a7518e86718552678b559b3bf9b027cbf72977fb
|
||||
DIST puppetserver-8.5.0.tar.gz 64463953 BLAKE2B 305f75165f919299301209c5a502237bf931342a9d0bf77d91f81f7801760faa421f1767eff283ac82e2cc49792b94126354b177e7b68bda9be61430d123621f SHA512 cb826e2450aa36380a93e95ee8055e6187944d2eecc6d5c339d4b183662d4a56d1e14847fd17b2bc50316f029dbe36791441947832686c9bfb6b0176edf7b22e
|
||||
DIST puppetserver-8.6.0.tar.gz 64667765 BLAKE2B bb367a2ed980a6335a6d1e2bc09ad10ccdcc636eee6b658cab5d4bc530f656c76d75545d17e11d7b58288867edcb39bd54af0ddfd5bde2f13cb5000ed33d0bd0 SHA512 e780c78371865e754a3a7fc5343b11f9a0319caf34dcf6ca998295243d1fa2137a617867782878d9bb735c96d5dd1f3e3174898eef240353d3af63eb87cdc4a2
|
||||
|
@ -0,0 +1,131 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit systemd tmpfiles
|
||||
|
||||
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 in puppet-agent (puppet-agent now has arm64)
|
||||
KEYWORDS="amd64"
|
||||
|
||||
RDEPEND+="
|
||||
>=virtual/jdk-11
|
||||
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
|
||||
keepdir /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
|
||||
newtmpfiles ext/puppetserver.tmpfiles.conf puppetserver.conf
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
tmpfiles_process puppetserver.conf
|
||||
|
||||
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-document \$(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-document --ignore-dependencies \$(echo \$LINE |awk '{print \$1}') --version \$(echo \$LINE |awk '{print \$2}')"
|
||||
elog "done < /opt/puppetlabs/server/data/mri-gem-list-no-dependencies.txt"
|
||||
}
|
Binary file not shown.
Binary file not shown.
@ -1 +1,2 @@
|
||||
DIST file-roller-44.1.tar.xz 927156 BLAKE2B 60ced1711298989eda90a675095b5e7b8f1e9b84b5f4cf364bce4683ba9eac6a8a4a1857b0248cd9a49ea2161cbc5c2c36df94ebc164e195de528ba50220d1da SHA512 de0d0ce93ecba822ec495227cd484cb164a81f8b5349033d80207acc19584985f0c88bfa766a46468349e2b16b020371e2e6b73b4fb7f2f18f40f115f2391b30
|
||||
DIST file-roller-44.tar.xz 924236 BLAKE2B 12eebd312afdec8f87141d384d1476be7296073f911791328158af1ab93fcb4092ee79e0c65743c36eaa28e06b5b59503357b6c4cff87b4896d3969a67d08e45 SHA512 d40ac036161397828ded2bab7bdf1c029ef0b53fad65e0922e6eeec40442eb7a9898a7d5c3208f6dfda3ad6f51b0771f248ab64c177769b655493a44c403f824
|
||||
|
@ -0,0 +1,103 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit gnome.org gnome2-utils meson readme.gentoo-r1 xdg
|
||||
|
||||
DESCRIPTION="Archive manager for GNOME"
|
||||
HOMEPAGE="https://wiki.gnome.org/Apps/FileRoller"
|
||||
|
||||
LICENSE="GPL-2+ CC-BY-SA-3.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
|
||||
IUSE="gtk-doc +introspection nautilus"
|
||||
REQUIRED_USE="gtk-doc? ( introspection )"
|
||||
|
||||
# gdk-pixbuf used extensively in the source
|
||||
# cairo used in eggtreemultidnd.c
|
||||
# pango used in fr-window
|
||||
RDEPEND="
|
||||
>=dev-libs/glib-2.38:2
|
||||
>=gui-libs/gtk-4.8.1:4[introspection?]
|
||||
>=gui-libs/libadwaita-1.2:1
|
||||
nautilus? ( >=gnome-base/nautilus-43.0 )
|
||||
>=dev-libs/json-glib-0.14
|
||||
>=app-arch/libarchive-3.2:=
|
||||
introspection? ( dev-libs/gobject-introspection )
|
||||
x11-libs/cairo
|
||||
x11-libs/gdk-pixbuf:2
|
||||
x11-libs/pango
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND="
|
||||
dev-util/glib-utils
|
||||
dev-util/itstool
|
||||
>=sys-devel/gettext-0.19.8
|
||||
virtual/pkgconfig
|
||||
gtk-doc? ( dev-util/gi-docgen )
|
||||
"
|
||||
|
||||
DISABLE_AUTOFORMATTING="yes"
|
||||
DOC_CONTENTS="
|
||||
${PN} is a frontend for several archiving utilities. If you want a
|
||||
particular archive format support, see ${HOMEPAGE}
|
||||
and install the relevant package. For example:
|
||||
7-zip - app-arch/p7zip
|
||||
ace - app-arch/unace
|
||||
arj - app-arch/arj
|
||||
brotli - app-arch/brotli
|
||||
cpio - app-alternatives/cpio
|
||||
deb - app-arch/dpkg
|
||||
iso - app-cdr/cdrtools
|
||||
jar,zip - app-arch/zip and app-arch/unzip
|
||||
lha - app-arch/lha
|
||||
lzop - app-arch/lzop
|
||||
lz4 - app-arch/lz4
|
||||
rar - app-arch/unrar or app-arch/unar
|
||||
rpm - app-arch/rpm
|
||||
unstuff - app-arch/stuffit
|
||||
zstd - app-arch/zstd
|
||||
zoo - app-arch/zoo"
|
||||
|
||||
src_prepare() {
|
||||
# File providing Gentoo package names for various archivers
|
||||
cp -v "${FILESDIR}"/3.36-packages.match data/packages.match || die
|
||||
|
||||
default
|
||||
xdg_environment_reset
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local emesonargs=(
|
||||
-Drun-in-place=false
|
||||
$(meson_feature nautilus nautilus-actions)
|
||||
-Dnotification=enabled
|
||||
-Duse_native_appchooser=false
|
||||
-Dpackagekit=false
|
||||
-Dlibarchive=enabled
|
||||
$(meson_feature introspection)
|
||||
$(meson_feature gtk-doc api_docs)
|
||||
)
|
||||
meson_src_configure
|
||||
}
|
||||
|
||||
src_install() {
|
||||
meson_src_install
|
||||
if use gtk-doc; then
|
||||
mkdir -p "${ED}"/usr/share/gtk-doc/ || die
|
||||
mv "${ED}"/usr/share/doc/file-roller "${ED}"/usr/share/gtk-doc/file-roller || die
|
||||
fi
|
||||
readme.gentoo_create_doc
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
xdg_pkg_postinst
|
||||
gnome2_schemas_update
|
||||
readme.gentoo_print_elog
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
xdg_pkg_postrm
|
||||
gnome2_schemas_update
|
||||
}
|
@ -0,0 +1,79 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit multilib toolchain-funcs
|
||||
|
||||
MY_PN="${PN}src"
|
||||
|
||||
DESCRIPTION="Uncompress rar files"
|
||||
HOMEPAGE="https://www.rarlab.com/rar_add.htm"
|
||||
SRC_URI="https://www.rarlab.com/rar/${MY_PN}-${PV}.tar.gz -> ${P}.tar.gz"
|
||||
S="${WORKDIR}/unrar"
|
||||
|
||||
LICENSE="unRAR"
|
||||
SLOT="0/7" # subslot = soname version
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
|
||||
|
||||
PATCHES=( "${FILESDIR}/${PN}-6.2.6-honor-flags.patch" )
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
local sed_args=( -e "/libunrar/s:.so:$(get_libname ${PV%.*.*}):" )
|
||||
if [[ ${CHOST} == *-darwin* ]] ; then
|
||||
sed_args+=( -e "s:-shared:-dynamiclib -install_name ${EPREFIX}/usr/$(get_libdir)/libunrar$(get_libname ${PV%.*.*}):" )
|
||||
else
|
||||
sed_args+=( -e "s:-shared:& -Wl,-soname -Wl,libunrar$(get_libname ${PV%.*.*}):" )
|
||||
fi
|
||||
sed -i "${sed_args[@]}" makefile || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
mkdir -p build-{lib,bin} || die
|
||||
printf 'VPATH = ..\ninclude ../makefile' > build-lib/Makefile || die
|
||||
cp build-{lib,bin}/Makefile || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
unrar_make() {
|
||||
emake AR="$(tc-getAR)" CXX="$(tc-getCXX)" CXXFLAGS="${CXXFLAGS}" STRIP=true "$@"
|
||||
}
|
||||
|
||||
unrar_make CXXFLAGS+=" -fPIC" -C build-lib lib
|
||||
ln -s libunrar$(get_libname ${PV%.*.*}) build-lib/libunrar$(get_libname) || die
|
||||
ln -s libunrar$(get_libname ${PV%.*.*}) build-lib/libunrar$(get_libname ${PV}) || die
|
||||
|
||||
unrar_make -C build-bin
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dobin build-bin/unrar
|
||||
dodoc readme.txt
|
||||
|
||||
dolib.so build-lib/libunrar*
|
||||
|
||||
# unrar doesn't officially install headers, but unofficially, software
|
||||
# depends on it anyway. There is no standard for where to install them,
|
||||
# but the most common location (shared by nearly all vendors) is "unrar".
|
||||
# FreeBSD alone uses "libunrar". Gentoo formerly used "libunrar6" and
|
||||
# had a compat symlink for FreeBSD, then passed the compat location in
|
||||
# ./configure scripts e.g. for sys-fs/rar2fs. Software in the wild
|
||||
# seems to expect either "unrar" or "libunrar".
|
||||
# See: https://bugs.gentoo.org/916036
|
||||
#
|
||||
# We now use the "standard" (hah) location, and keep the compat symlink but
|
||||
# change the destination. The version-suffixed location lacks utility, but
|
||||
# we would keep it if we could, just in case -- unfortunately portage is
|
||||
# buggy: https://bugs.gentoo.org/834600
|
||||
#
|
||||
# Hopefully, no one has ever actually used it and therefore this does not
|
||||
# matter. The odds are on our side, since it periodically changed location
|
||||
# arbitrarily.
|
||||
insinto /usr/include/unrar
|
||||
doins *.hpp
|
||||
dosym unrar /usr/include/libunrar
|
||||
|
||||
find "${ED}" -type f -name "*.a" -delete || die
|
||||
}
|
Binary file not shown.
@ -1,2 +1,3 @@
|
||||
DIST ccid-1.5.1.tar.bz2 702586 BLAKE2B 7b9e3c6daf03c186f34ac9b13bd960293a6481f9237ee52937ece1040bd3a79b7dab318e1244205a7feae992261ab5e82292d80ae023a4f621e0e7af7cdb9df5 SHA512 492bde96f5752e2a5316693c44e35e2d041785a00d15e094905c0aafad392f5329009d12801899367276328a582936ee53a1c5239c1813c4536001cb8a608f2e
|
||||
DIST ccid-1.5.4.tar.bz2 706834 BLAKE2B 8b7f08145808ac94d085eef62c204f8146892cb11f2ce811e46e674272cab016d602afb945c6e808ce3957a80e847c0de2815fedaf15fc8c935cafaccf102762 SHA512 4b30f4768aebf49486a1b1e959615fa077bd393bfdd9e52c15bdc8d6ed63ce27fa7cf82a067d1f80d8b3534c66194036925d3fea5af64b6a775779d38267c757
|
||||
DIST ccid-1.5.5.tar.bz2 708374 BLAKE2B a82986ead2dbb3241ef419ad16eb0fac835c5ab4fa988e5ee53cd1608a30a9381210a6fd013b6a059ca2835d55b4a41afa4064575e91b8eb356bff6d01d19add SHA512 9d2aebe645a5880bfad7d420ddab96811d1fd989c79afa28f5471ae53f36b6d45ee5e13b32ac4afcf59fc762ae835db7e6312ad6642b263158c2d9a30c7651bd
|
||||
|
@ -0,0 +1,55 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit autotools udev
|
||||
|
||||
DESCRIPTION="CCID free software driver"
|
||||
HOMEPAGE="https://ccid.apdu.fr https://github.com/LudovicRousseau/CCID"
|
||||
SRC_URI="https://ccid.apdu.fr/files/${P}.tar.bz2"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
|
||||
IUSE="twinserial +usb"
|
||||
|
||||
RDEPEND="
|
||||
>=sys-apps/pcsc-lite-1.8.3
|
||||
twinserial? ( dev-lang/perl )
|
||||
usb? ( virtual/libusb:1 )
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND="virtual/pkgconfig"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${P}-remove-flex-configure-dependency.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
eautoconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
econf \
|
||||
LEX=: \
|
||||
$(use_enable twinserial) \
|
||||
$(use_enable usb libusb)
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
udev_newrules src/92_pcscd_ccid.rules 92-pcsc-ccid.rules
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
udev_reload
|
||||
einfo "Check https://github.com/LudovicRousseau/CCID/blob/master/INSTALL"
|
||||
einfo "for more info about how to configure and use ccid"
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
udev_reload
|
||||
}
|
@ -0,0 +1,13 @@
|
||||
Bug: https://bugs.gentoo.org/221361
|
||||
Reverts upstream commit eec7cdf0 & 41270c2
|
||||
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -33,7 +33,5 @@
|
||||
AC_PROG_MAKE_SET
|
||||
AC_PROG_LN_S
|
||||
-AC_PROG_LEX([noyywrap])
|
||||
-AS_IF([test $LEX = ":"], [AC_MSG_ERROR([no lex or flex found])])
|
||||
AM_PROG_AR
|
||||
PKG_PROG_PKG_CONFIG
|
||||
|
Binary file not shown.
@ -1 +1,2 @@
|
||||
DIST hyx-2021.06.09.tar.xz 13864 BLAKE2B 2c97364e1ae185e7dd63fdfb452637cb68b8ab0d76d0009ce515d6f0fe709d38b910f86dfa465ac6843c88feb997dfdc3c736e21bb0b4265a39440c054f75251 SHA512 43f990e29ce097f8e2378a4511a3097e2576fd72e16f3b5c81688702487c8715e7189cb4a368e344c5440a90a1c759d2f76e7831ab401fa814f7e5ff7e145bd8
|
||||
DIST hyx-2024.02.29.tar.xz 13964 BLAKE2B 8333f6fa1a2be76152d9753fd0c759bd82679cb09d936df5e4a6caba87c5ff81c141a5d47f79047601bbd85a1efd0f371a111db14a019c7fc6da4ed095a312a5 SHA512 b5c17b045d1c97106212745b1bb4c4052cfe7ac5a28ec0a2240764785410d7e68292d0ff976fbdc58172cd9433ce49b1cad89b767e09d5d6207088a6a60b4e85
|
||||
|
@ -0,0 +1,22 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit toolchain-funcs
|
||||
|
||||
DESCRIPTION="A minimalistic console hex editor with vim-like controls"
|
||||
HOMEPAGE="https://yx7.cc/code/"
|
||||
SRC_URI="https://yx7.cc/code/hyx/${P}.tar.xz"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
|
||||
src_compile() {
|
||||
CC=$(tc-getCC) emake
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dobin hyx
|
||||
}
|
Binary file not shown.
@ -0,0 +1,87 @@
|
||||
# Copyright 2021-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit linux-info
|
||||
|
||||
DESCRIPTION="Secure and fast microVMs for serverless computing (static build)"
|
||||
HOMEPAGE="https://firecracker-microvm.github.io https://github.com/firecracker-microvm/firecracker"
|
||||
SRC_URI="
|
||||
amd64? (
|
||||
https://github.com/firecracker-microvm/firecracker/releases/download/v${PV}/firecracker-v${PV}-x86_64.tgz
|
||||
)
|
||||
arm64? (
|
||||
https://github.com/firecracker-microvm/firecracker/releases/download/v${PV}/firecracker-v${PV}-aarch64.tgz
|
||||
)"
|
||||
|
||||
LICENSE="|| ( Apache-2.0 MIT Apache-2.0-with-LLVM-exceptions ) MPL-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm64"
|
||||
|
||||
RESTRICT="test strip"
|
||||
|
||||
RDEPEND="acct-group/kvm"
|
||||
|
||||
QA_PREBUILT="usr/bin/cpu-template-helper
|
||||
usr/bin/firecracker
|
||||
usr/bin/jailer
|
||||
usr/bin/rebase-snap
|
||||
usr/bin/seccompiler-bin
|
||||
usr/bin/snapshot-editor"
|
||||
|
||||
S="${WORKDIR}"
|
||||
|
||||
pkg_pretend() {
|
||||
if use kernel_linux && kernel_is lt 4 14; then
|
||||
eerror "Firecracker requires a host kernel of 4.14 or higher."
|
||||
elif use kernel_linux; then
|
||||
if ! linux_config_exists; then
|
||||
eerror "Unable to check your kernel for KVM support"
|
||||
else
|
||||
CONFIG_CHECK="~KVM ~TUN ~BRIDGE"
|
||||
ERROR_KVM="You must enable KVM in your kernel to continue"
|
||||
ERROR_KVM_AMD="If you have an AMD CPU, you must enable KVM_AMD in"
|
||||
ERROR_KVM_AMD+=" your kernel configuration."
|
||||
ERROR_KVM_INTEL="If you have an Intel CPU, you must enable"
|
||||
ERROR_KVM_INTEL+=" KVM_INTEL in your kernel configuration."
|
||||
ERROR_TUN="You will need the Universal TUN/TAP driver compiled"
|
||||
ERROR_TUN+=" into your kernel or loaded as a module to use"
|
||||
ERROR_TUN+=" virtual network devices."
|
||||
ERROR_BRIDGE="You will also need support for 802.1d"
|
||||
ERROR_BRIDGE+=" Ethernet Bridging for some network configurations."
|
||||
|
||||
if use amd64 || use amd64-linux; then
|
||||
if grep -q AuthenticAMD /proc/cpuinfo; then
|
||||
CONFIG_CHECK+=" ~KVM_AMD"
|
||||
elif grep -q GenuineIntel /proc/cpuinfo; then
|
||||
CONFIG_CHECK+=" ~KVM_INTEL"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Now do the actual checks setup above
|
||||
check_extra_config
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
src_compile() { :; }
|
||||
|
||||
src_install() {
|
||||
local my_arch
|
||||
if use amd64; then
|
||||
my_arch=x86_64
|
||||
elif use arm64; then
|
||||
my_arch=aarch64
|
||||
fi
|
||||
|
||||
dodoc "release-v${PV}-${my_arch}/firecracker_spec-v${PV}.yaml"
|
||||
dodoc "release-v${PV}-${my_arch}/seccomp-filter-v${PV}-${my_arch}.json"
|
||||
|
||||
newbin "release-v${PV}-${my_arch}/cpu-template-helper-v${PV}-${my_arch}" cpu-template-helper
|
||||
newbin "release-v${PV}-${my_arch}/firecracker-v${PV}-${my_arch}" firecracker
|
||||
newbin "release-v${PV}-${my_arch}/jailer-v${PV}-${my_arch}" jailer
|
||||
newbin "release-v${PV}-${my_arch}/rebase-snap-v${PV}-${my_arch}" rebase-snap
|
||||
newbin "release-v${PV}-${my_arch}/seccompiler-bin-v${PV}-${my_arch}" seccompiler-bin
|
||||
newbin "release-v${PV}-${my_arch}/snapshot-editor-v${PV}-${my_arch}" snapshot-editor
|
||||
}
|
@ -1,2 +1,2 @@
|
||||
DIST vagrant-2.3.7.tar.gz 3296042 BLAKE2B 720e16bed6f9088558f7a8a2af7925946c71d771fc732fd43fc277f160faa1d2c86bdb3eaab6ec0cf569e945a30593655f3551608f708ee74203392ba61ce11f SHA512 a65b1c48fad6eb04fc0097dc7c8dc4e37467c5e6406d1d384a017b127704ebd6872cd0cc69ef38b393c98d6fd58c39c806e7ef439c2b55a15bf66c3647595cc2
|
||||
DIST vagrant-2.4.0.tar.gz 3334706 BLAKE2B 62b720a83646e94c7608a2f8aa7acf985aea0a3532e0474aa45c229b054ea40a6e0b23ccdbfdbf7e27e3da9a4db5f57407656fe103ead0f5a98dc27dae5ebb57 SHA512 94e866b012303b65d33b72034f08305fc04c12be40aeb95247b786b53d14259b7b5062b372e3c87523390f0539848a0eafd45b28ad16a27badecd8888541243b
|
||||
DIST vagrant-2.4.1.tar.gz 3342333 BLAKE2B c24c7c30364cb9f03f6e43422ff05954dd877e22a5e244f62cd9ce4925bf10d064fc678dee40a7affd1b6cf49c82d2d2208ee47b92baa0cda4194419ed501be4 SHA512 12ce4a2161e99970f212f265bbc79d6af38bccc44feab95db8db3b8194e8080acb846d680d1006a4e3fb1beabac33f154a7507f43223f675ba1db09a24591893
|
||||
|
@ -1,3 +1,3 @@
|
||||
DIST virtio-win-0.1.225.iso 532060160 BLAKE2B ed0fbf486f0c576bed25f02ea09cfd957a00a42d85063feb1dd2977e2cd816601fe2b013e00abbccf07eb765da3b64b88b5675c95175fdc971a20d784c28d503 SHA512 c0a940ca747983d88876f805f7266a8aae61b83857983738d06e9d555569d2b42a9cddb77d535b4f9dbc4b1099583f8b6844f13e4bd98ea1f0f6aec22c6c9be7
|
||||
DIST virtio-win-0.1.229.iso 534818816 BLAKE2B 29442b70e5809fc935940497b4bc021f6fe890beba97605b048e0c5236764d08bc164974be25bf8331136ebbdf664ea440efe1f219129a30a171134bfe369942 SHA512 e9ccb513b07cb28ab490f5d4e299d0d52ade956f82e1a708e91c1ee3af9b142fa144af0fe5287d3bbb369f586857791952de45d1241058073f5a59c1f2f913ca
|
||||
DIST virtio-win-0.1.240.iso 627519488 BLAKE2B e5bbf3be166508c437cfc9b7922e93f4229a63cf9cf5dffd0c8ee2836c084b92cb30c76e1cc60432508504df2874ca461481db6664823b11a76cec5186743c97 SHA512 24e0f3d9c25835f2633d2823dade95aae4884aed95a5142d87efeb4aaed48dbc04a82a34ac5310676853008e0de271dfa0747b4c619ed20fa72ffe2e93fadcf3
|
||||
DIST virtio-win-0.1.248.iso 732352512 BLAKE2B b3161f020f59eadabc685155ac3a7c402762adf84fa85bc2e4f468df31adf0204b248963a11b84b18520aa815e6907cfb1618a527875a4fd72b2c2e09fc1ce5a SHA512 16cc0c58b5df6c7040893089f3eb29c074aed61d76dae6cd628d8a89a05f6223ac5d7f3f709a12417c147594a87a94cc808d1e04a6f1e407cc41f7c9f47790d1
|
||||
|
@ -0,0 +1,472 @@
|
||||
# Copyright 2022-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
MULTILIB_COMPAT=( abi_x86_{32,64} )
|
||||
PYTHON_COMPAT=( python3_{10..12} )
|
||||
inherit autotools edo flag-o-matic multilib multilib-build optfeature
|
||||
inherit prefix python-any-r1 toolchain-funcs wrapper
|
||||
|
||||
WINE_GECKO=2.47.4
|
||||
WINE_MONO=9.0.0
|
||||
WINE_P=wine-$(ver_cut 1-2)
|
||||
|
||||
if [[ ${PV} == *9999 ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://gitlab.winehq.org/wine/wine-staging.git"
|
||||
WINE_EGIT_REPO_URI="https://gitlab.winehq.org/wine/wine.git"
|
||||
else
|
||||
(( $(ver_cut 2) )) && WINE_SDIR=$(ver_cut 1).x || WINE_SDIR=$(ver_cut 1).0
|
||||
SRC_URI="
|
||||
https://dl.winehq.org/wine/source/${WINE_SDIR}/${WINE_P}.tar.xz
|
||||
https://github.com/wine-staging/wine-staging/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
KEYWORDS="-* ~amd64 ~x86"
|
||||
fi
|
||||
|
||||
DESCRIPTION="Free implementation of Windows(tm) on Unix, with Wine-Staging patchset"
|
||||
HOMEPAGE="
|
||||
https://wiki.winehq.org/Wine-Staging
|
||||
https://gitlab.winehq.org/wine/wine-staging/
|
||||
"
|
||||
|
||||
S="${WORKDIR}/${WINE_P}"
|
||||
|
||||
LICENSE="LGPL-2.1+ BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff"
|
||||
SLOT="${PV}"
|
||||
IUSE="
|
||||
+X +abi_x86_32 +abi_x86_64 +alsa capi crossdev-mingw cups dos
|
||||
llvm-libunwind custom-cflags +fontconfig +gecko gphoto2 +gstreamer
|
||||
kerberos +mingw +mono netapi nls opencl +opengl osmesa pcap perl
|
||||
pulseaudio samba scanner +sdl selinux smartcard +ssl +strip
|
||||
+truetype udev udisks +unwind usb v4l +vulkan wayland wow64
|
||||
+xcomposite xinerama
|
||||
"
|
||||
# bug #551124 for truetype
|
||||
# TODO: wow64 can be done without mingw if using clang (needs bug #912237)
|
||||
REQUIRED_USE="
|
||||
X? ( truetype )
|
||||
crossdev-mingw? ( mingw )
|
||||
wow64? ( abi_x86_64 !abi_x86_32 mingw )
|
||||
"
|
||||
|
||||
# tests are non-trivial to run, can hang easily, don't play well with
|
||||
# sandbox, and several need real opengl/vulkan or network access
|
||||
RESTRICT="test"
|
||||
|
||||
# `grep WINE_CHECK_SONAME configure.ac` + if not directly linked
|
||||
WINE_DLOPEN_DEPEND="
|
||||
X? (
|
||||
x11-libs/libXcursor[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXfixes[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXi[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXrandr[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXrender[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
|
||||
opengl? (
|
||||
media-libs/libglvnd[X,${MULTILIB_USEDEP}]
|
||||
osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
|
||||
)
|
||||
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
|
||||
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
|
||||
)
|
||||
cups? ( net-print/cups[${MULTILIB_USEDEP}] )
|
||||
fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
|
||||
kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] )
|
||||
netapi? ( net-fs/samba[${MULTILIB_USEDEP}] )
|
||||
sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
|
||||
ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
|
||||
truetype? ( media-libs/freetype[${MULTILIB_USEDEP}] )
|
||||
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
|
||||
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
|
||||
vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] )
|
||||
"
|
||||
WINE_COMMON_DEPEND="
|
||||
${WINE_DLOPEN_DEPEND}
|
||||
X? (
|
||||
x11-libs/libX11[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXext[${MULTILIB_USEDEP}]
|
||||
)
|
||||
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
|
||||
capi? ( net-libs/libcapi:=[${MULTILIB_USEDEP}] )
|
||||
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
|
||||
gstreamer? (
|
||||
dev-libs/glib:2[${MULTILIB_USEDEP}]
|
||||
media-libs/gst-plugins-base:1.0[${MULTILIB_USEDEP}]
|
||||
media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
|
||||
)
|
||||
opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
|
||||
pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
|
||||
pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
|
||||
scanner? ( media-gfx/sane-backends[${MULTILIB_USEDEP}] )
|
||||
smartcard? ( sys-apps/pcsc-lite[${MULTILIB_USEDEP}] )
|
||||
udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
|
||||
unwind? (
|
||||
llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
|
||||
!llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
|
||||
)
|
||||
usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )
|
||||
wayland? (
|
||||
dev-libs/wayland[${MULTILIB_USEDEP}]
|
||||
x11-libs/libxkbcommon[${MULTILIB_USEDEP}]
|
||||
)
|
||||
"
|
||||
RDEPEND="
|
||||
${WINE_COMMON_DEPEND}
|
||||
app-emulation/wine-desktop-common
|
||||
dos? (
|
||||
|| (
|
||||
games-emulation/dosbox
|
||||
games-emulation/dosbox-staging
|
||||
)
|
||||
)
|
||||
gecko? (
|
||||
app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}]
|
||||
wow64? ( app-emulation/wine-gecko[abi_x86_32] )
|
||||
)
|
||||
gstreamer? ( media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] )
|
||||
mono? ( app-emulation/wine-mono:${WINE_MONO} )
|
||||
perl? (
|
||||
dev-lang/perl
|
||||
dev-perl/XML-LibXML
|
||||
)
|
||||
samba? ( net-fs/samba[winbind] )
|
||||
selinux? ( sec-policy/selinux-wine )
|
||||
udisks? ( sys-fs/udisks:2 )
|
||||
"
|
||||
DEPEND="
|
||||
${WINE_COMMON_DEPEND}
|
||||
sys-kernel/linux-headers
|
||||
X? ( x11-base/xorg-proto )
|
||||
"
|
||||
# gitapply.sh prefers git but can fallback to patch+extras
|
||||
BDEPEND="
|
||||
${PYTHON_DEPS}
|
||||
|| (
|
||||
dev-vcs/git
|
||||
(
|
||||
sys-apps/gawk
|
||||
sys-apps/util-linux
|
||||
)
|
||||
)
|
||||
|| (
|
||||
sys-devel/binutils
|
||||
sys-devel/lld
|
||||
)
|
||||
dev-lang/perl
|
||||
sys-devel/bison
|
||||
sys-devel/flex
|
||||
virtual/pkgconfig
|
||||
mingw? ( !crossdev-mingw? (
|
||||
>=dev-util/mingw64-toolchain-10.0.0_p1-r2[${MULTILIB_USEDEP}]
|
||||
wow64? ( dev-util/mingw64-toolchain[abi_x86_32] )
|
||||
) )
|
||||
nls? ( sys-devel/gettext )
|
||||
wayland? ( dev-util/wayland-scanner )
|
||||
"
|
||||
IDEPEND=">=app-eselect/eselect-wine-2"
|
||||
|
||||
QA_CONFIG_IMPL_DECL_SKIP=(
|
||||
__clear_cache # unused on amd64+x86 (bug #900334)
|
||||
res_getservers # false positive
|
||||
)
|
||||
QA_FLAGS_IGNORED="usr/lib/.*/wine/.*-unix/odbc32.so" # has no compiled objects
|
||||
QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-7.17-noexecstack.patch
|
||||
"${FILESDIR}"/${PN}-7.20-unwind.patch
|
||||
"${FILESDIR}"/${PN}-8.13-rpath.patch
|
||||
)
|
||||
|
||||
pkg_pretend() {
|
||||
[[ ${MERGE_TYPE} == binary ]] && return
|
||||
|
||||
if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
|
||||
local mingw=-w64-mingw32
|
||||
for mingw in $(usev abi_x86_64 x86_64${mingw}) \
|
||||
$(use abi_x86_32 || use wow64 && echo i686${mingw}); do
|
||||
if ! type -P ${mingw}-gcc >/dev/null; then
|
||||
eerror "With USE=crossdev-mingw, you must prepare the MinGW toolchain"
|
||||
eerror "yourself by installing sys-devel/crossdev then running:"
|
||||
eerror
|
||||
eerror " crossdev --target ${mingw}"
|
||||
eerror
|
||||
eerror "For more information, please see: https://wiki.gentoo.org/wiki/Mingw"
|
||||
die "USE=crossdev-mingw is enabled, but ${mingw}-gcc was not found"
|
||||
fi
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == *9999 ]]; then
|
||||
EGIT_CHECKOUT_DIR=${WORKDIR}/${P}
|
||||
git-r3_src_unpack
|
||||
|
||||
# hack: use subshell to preserve state (including what git-r3 unpack
|
||||
# sets) for smart-live-rebuild as this is not the repo to look at
|
||||
(
|
||||
EGIT_COMMIT=$(<"${EGIT_CHECKOUT_DIR}"/staging/upstream-commit) || die
|
||||
EGIT_REPO_URI=${WINE_EGIT_REPO_URI}
|
||||
EGIT_CHECKOUT_DIR=${S}
|
||||
einfo "Fetching Wine commit matching the current patchset by default (${EGIT_COMMIT})"
|
||||
git-r3_src_unpack
|
||||
)
|
||||
else
|
||||
default
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local patchinstallargs=(
|
||||
--all
|
||||
--no-autoconf
|
||||
${MY_WINE_STAGING_CONF}
|
||||
)
|
||||
|
||||
edo "${PYTHON}" ../${P}/staging/patchinstall.py "${patchinstallargs[@]}"
|
||||
|
||||
# sanity check, bumping these has a history of oversights
|
||||
local geckomono=$(sed -En '/^#define (GECKO|MONO)_VER/{s/[^0-9.]//gp}' \
|
||||
dlls/appwiz.cpl/addons.c || die)
|
||||
if [[ ${WINE_GECKO}$'\n'${WINE_MONO} != "${geckomono}" ]]; then
|
||||
local gmfatal=
|
||||
[[ ${PV} == *9999 ]] && gmfatal=nonfatal
|
||||
${gmfatal} die -n "gecko/mono mismatch in ebuild, has: " ${geckomono} " (please file a bug)"
|
||||
fi
|
||||
|
||||
default
|
||||
|
||||
if tc-is-clang; then
|
||||
if use mingw; then
|
||||
# -mabi=ms was ignored by <clang:16 then turned error in :17
|
||||
# if used without --target *-windows, then gets used in install
|
||||
# phase despite USE=mingw, drop as a quick fix for now
|
||||
sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
|
||||
else
|
||||
# fails in ./configure unless --enable-archs is passed, allow to
|
||||
# bypass with EXTRA_ECONF but is currently considered unsupported
|
||||
# (by Gentoo) as additional work is needed for (proper) support
|
||||
# note: also fails w/ :17, but unsure if safe to drop w/o mingw
|
||||
[[ ${EXTRA_ECONF} == *--enable-archs* ]] ||
|
||||
die "building ${PN} with clang is only supported with USE=mingw"
|
||||
fi
|
||||
fi
|
||||
|
||||
# ensure .desktop calls this variant + slot
|
||||
sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
|
||||
|
||||
# datadir is not where wine-mono is installed, so prefixy alternate paths
|
||||
hprefixify -w /get_mono_path/ dlls/mscoree/metahost.c
|
||||
|
||||
# always update for patches (including user's wrt #432348)
|
||||
eautoreconf
|
||||
tools/make_requests || die # perl
|
||||
# tip: if need more for user patches, with portage can e.g. do
|
||||
# echo "post_src_prepare() { tools/make_specfiles || die; }" \
|
||||
# > /etc/portage/env/app-emulation/wine-staging
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
WINE_PREFIX=/usr/lib/${P}
|
||||
WINE_DATADIR=/usr/share/${P}
|
||||
|
||||
local conf=(
|
||||
--prefix="${EPREFIX}"${WINE_PREFIX}
|
||||
--datadir="${EPREFIX}"${WINE_DATADIR}
|
||||
--includedir="${EPREFIX}"/usr/include/${P}
|
||||
--libdir="${EPREFIX}"${WINE_PREFIX}
|
||||
--mandir="${EPREFIX}"${WINE_DATADIR}/man
|
||||
|
||||
$(usev wow64 --enable-archs=x86_64,i386)
|
||||
|
||||
$(use_enable gecko mshtml)
|
||||
$(use_enable mono mscoree)
|
||||
--disable-tests
|
||||
|
||||
$(use_with X x)
|
||||
$(use_with alsa)
|
||||
$(use_with capi)
|
||||
$(use_with cups)
|
||||
$(use_with fontconfig)
|
||||
$(use_with gphoto2 gphoto)
|
||||
$(use_with gstreamer)
|
||||
$(use_with kerberos gssapi)
|
||||
$(use_with kerberos krb5)
|
||||
$(use_with mingw)
|
||||
$(use_with netapi)
|
||||
$(use_with nls gettext)
|
||||
$(use_with opencl)
|
||||
$(use_with opengl)
|
||||
$(use_with osmesa)
|
||||
--without-oss # media-sound/oss is not packaged (OSSv4)
|
||||
$(use_with pcap)
|
||||
$(use_with pulseaudio pulse)
|
||||
$(use_with scanner sane)
|
||||
$(use_with sdl)
|
||||
$(use_with smartcard pcsclite)
|
||||
$(use_with ssl gnutls)
|
||||
$(use_with truetype freetype)
|
||||
$(use_with udev)
|
||||
$(use_with udisks dbus) # dbus is only used for udisks
|
||||
$(use_with unwind)
|
||||
$(use_with usb)
|
||||
$(use_with v4l v4l2)
|
||||
$(use_with vulkan)
|
||||
$(use_with wayland)
|
||||
$(use_with xcomposite)
|
||||
$(use_with xinerama)
|
||||
)
|
||||
|
||||
filter-lto # build failure
|
||||
use custom-cflags || strip-flags # can break in obscure ways at runtime
|
||||
|
||||
# wine uses linker tricks unlikely to work with non-bfd/lld (bug #867097)
|
||||
# (do self test until https://github.com/gentoo/gentoo/pull/28355)
|
||||
if [[ $(LC_ALL=C $(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) != @(LLD|GNU\ ld)* ]]
|
||||
then
|
||||
has_version -b sys-devel/binutils &&
|
||||
append-ldflags -fuse-ld=bfd ||
|
||||
append-ldflags -fuse-ld=lld
|
||||
strip-unsupported-flags
|
||||
fi
|
||||
|
||||
if use mingw; then
|
||||
use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
|
||||
|
||||
# CROSSCC was formerly recognized by wine, thus been using similar
|
||||
# variables (subject to change, esp. if ever make a mingw.eclass).
|
||||
local mingwcc_amd64=${CROSSCC:-${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}
|
||||
local mingwcc_x86=${CROSSCC:-${CROSSCC_x86:-i686-w64-mingw32-gcc}}
|
||||
local -n mingwcc=mingwcc_$(usex abi_x86_64 amd64 x86)
|
||||
|
||||
conf+=(
|
||||
ac_cv_prog_x86_64_CC="${mingwcc_amd64}"
|
||||
ac_cv_prog_i386_CC="${mingwcc_x86}"
|
||||
|
||||
CROSSCFLAGS="${CROSSCFLAGS:-$(
|
||||
filter-flags '-fstack-protector*' #870136
|
||||
filter-flags '-mfunction-return=thunk*' #878849
|
||||
|
||||
# some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then
|
||||
# strip-unsupported-flags miss these during compile-only tests
|
||||
# (primarily done for 23.0 profiles' -z, not full coverage)
|
||||
filter-flags '-Wl,-z,*'
|
||||
|
||||
CC=${mingwcc} test-flags-CC ${CFLAGS:--O2}
|
||||
)}"
|
||||
|
||||
CROSSLDFLAGS="${CROSSLDFLAGS:-$(
|
||||
filter-flags '-fuse-ld=*'
|
||||
|
||||
CC=${mingwcc} test-flags-CCLD ${LDFLAGS}
|
||||
)}"
|
||||
)
|
||||
fi
|
||||
|
||||
# order matters with multilib: configure+compile 64->32, install 32->64
|
||||
local -i bits
|
||||
for bits in $(usev abi_x86_64 64) $(usev abi_x86_32 32); do
|
||||
(
|
||||
einfo "Configuring ${PN} for ${bits}bits in ${WORKDIR}/build${bits} ..."
|
||||
|
||||
mkdir ../build${bits} || die
|
||||
cd ../build${bits} || die
|
||||
|
||||
if (( bits == 64 )); then
|
||||
conf+=( --enable-win64 )
|
||||
elif use amd64; then
|
||||
conf+=(
|
||||
$(usev abi_x86_64 --with-wine64=../build64)
|
||||
TARGETFLAGS=-m32 # for widl
|
||||
)
|
||||
# _setup is optional, but use over Wine's auto-detect (+#472038)
|
||||
multilib_toolchain_setup x86
|
||||
fi
|
||||
|
||||
ECONF_SOURCE=${S} econf "${conf[@]}"
|
||||
)
|
||||
done
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
use abi_x86_64 && emake -C ../build64 # do first
|
||||
use abi_x86_32 && emake -C ../build32
|
||||
}
|
||||
|
||||
src_install() {
|
||||
use abi_x86_32 && emake DESTDIR="${D}" -C ../build32 install
|
||||
use abi_x86_64 && emake DESTDIR="${D}" -C ../build64 install # do last
|
||||
|
||||
# Ensure both wine64 and wine are available if USE=abi_x86_64 (wow64,
|
||||
# -abi_x86_32, and/or EXTRA_ECONF could cause varying scenarios where
|
||||
# one or the other could be missing and that is unexpected for users
|
||||
# and some tools like winetricks)
|
||||
if use abi_x86_64; then
|
||||
if [[ -e ${ED}${WINE_PREFIX}/bin/wine64 && ! -e ${ED}${WINE_PREFIX}/bin/wine ]]; then
|
||||
dosym wine64 ${WINE_PREFIX}/bin/wine
|
||||
dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
|
||||
|
||||
# also install wine(1) man pages (incl. translations)
|
||||
local man
|
||||
for man in ../build64/loader/wine.*man; do
|
||||
: "${man##*/wine}"
|
||||
: "${_%.*}"
|
||||
insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
|
||||
newins ${man} wine.1
|
||||
done
|
||||
elif [[ ! -e ${ED}${WINE_PREFIX}/bin/wine64 && -e ${ED}${WINE_PREFIX}/bin/wine ]]; then
|
||||
dosym wine ${WINE_PREFIX}/bin/wine64
|
||||
dosym wine-preloader ${WINE_PREFIX}/bin/wine64-preloader
|
||||
fi
|
||||
fi
|
||||
|
||||
use perl || rm "${ED}"${WINE_DATADIR}/man/man1/wine{dump,maker}.1 \
|
||||
"${ED}"${WINE_PREFIX}/bin/{function_grep.pl,wine{dump,maker}} || die
|
||||
|
||||
# create variant wrappers for eselect-wine
|
||||
local bin
|
||||
for bin in "${ED}"${WINE_PREFIX}/bin/*; do
|
||||
make_wrapper "${bin##*/}-${P#wine-}" "${bin#"${ED}"}"
|
||||
done
|
||||
|
||||
if use mingw; then
|
||||
# don't let portage try to strip PE files with the wrong
|
||||
# strip executable and instead handle it here (saves ~120MB)
|
||||
dostrip -x ${WINE_PREFIX}/wine/{i386,x86_64}-windows
|
||||
|
||||
if use strip; then
|
||||
ebegin "Stripping Windows (PE) binaries"
|
||||
find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \
|
||||
-exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} +
|
||||
eend ${?} || die
|
||||
fi
|
||||
fi
|
||||
|
||||
dodoc ANNOUNCE* AUTHORS README* documentation/README*
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if use !abi_x86_32 && use !wow64; then
|
||||
ewarn "32bit support is disabled. While 64bit applications themselves will"
|
||||
ewarn "work, be warned that it is not unusual that installers or other helpers"
|
||||
ewarn "will attempt to use 32bit and fail. If do not want full USE=abi_x86_32,"
|
||||
ewarn "note the experimental/WIP USE=wow64 can allow 32bit without multilib."
|
||||
elif use abi_x86_32 && { use opengl || use vulkan; } &&
|
||||
has_version 'x11-drivers/nvidia-drivers[-abi_x86_32]'
|
||||
then
|
||||
ewarn "x11-drivers/nvidia-drivers is installed but is built without"
|
||||
ewarn "USE=abi_x86_32 (ABI_X86=32), hardware acceleration with 32bit"
|
||||
ewarn "applications under ${PN} will likely not be usable."
|
||||
fi
|
||||
|
||||
optfeature "/dev/hidraw* access used for *some* controllers (e.g. DualShock4)" \
|
||||
games-util/game-device-udev-rules
|
||||
|
||||
eselect wine update --if-unset || die
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
eselect wine update --if-unset || die
|
||||
}
|
@ -0,0 +1,430 @@
|
||||
# Copyright 2022-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
MULTILIB_COMPAT=( abi_x86_{32,64} )
|
||||
inherit autotools flag-o-matic multilib multilib-build optfeature
|
||||
inherit prefix toolchain-funcs wrapper
|
||||
|
||||
WINE_GECKO=2.47.4
|
||||
WINE_MONO=9.0.0
|
||||
|
||||
if [[ ${PV} == *9999 ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://gitlab.winehq.org/wine/wine.git"
|
||||
else
|
||||
(( $(ver_cut 2) )) && WINE_SDIR=$(ver_cut 1).x || WINE_SDIR=$(ver_cut 1).0
|
||||
SRC_URI="https://dl.winehq.org/wine/source/${WINE_SDIR}/wine-${PV}.tar.xz"
|
||||
S="${WORKDIR}/wine-${PV}"
|
||||
KEYWORDS="-* ~amd64 ~x86"
|
||||
fi
|
||||
|
||||
DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets"
|
||||
HOMEPAGE="
|
||||
https://www.winehq.org/
|
||||
https://gitlab.winehq.org/wine/wine/
|
||||
"
|
||||
|
||||
LICENSE="LGPL-2.1+ BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff"
|
||||
SLOT="${PV}"
|
||||
IUSE="
|
||||
+X +abi_x86_32 +abi_x86_64 +alsa capi crossdev-mingw cups dos
|
||||
llvm-libunwind custom-cflags +fontconfig +gecko gphoto2 +gstreamer
|
||||
kerberos +mingw +mono netapi nls odbc opencl +opengl osmesa pcap
|
||||
perl pulseaudio samba scanner +sdl selinux smartcard +ssl +strip
|
||||
+truetype udev udisks +unwind usb v4l +vulkan wayland wow64
|
||||
+xcomposite xinerama"
|
||||
# bug #551124 for truetype
|
||||
# TODO?: wow64 can be done without mingw if using clang (needs bug #912237)
|
||||
REQUIRED_USE="
|
||||
X? ( truetype )
|
||||
crossdev-mingw? ( mingw )
|
||||
wow64? ( abi_x86_64 !abi_x86_32 mingw )
|
||||
"
|
||||
|
||||
# tests are non-trivial to run, can hang easily, don't play well with
|
||||
# sandbox, and several need real opengl/vulkan or network access
|
||||
RESTRICT="test"
|
||||
|
||||
# `grep WINE_CHECK_SONAME configure.ac` + if not directly linked
|
||||
WINE_DLOPEN_DEPEND="
|
||||
X? (
|
||||
x11-libs/libXcursor[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXfixes[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXi[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXrandr[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXrender[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
|
||||
opengl? (
|
||||
media-libs/libglvnd[X,${MULTILIB_USEDEP}]
|
||||
osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
|
||||
)
|
||||
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
|
||||
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
|
||||
)
|
||||
cups? ( net-print/cups[${MULTILIB_USEDEP}] )
|
||||
fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
|
||||
kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] )
|
||||
netapi? ( net-fs/samba[${MULTILIB_USEDEP}] )
|
||||
odbc? ( dev-db/unixODBC[${MULTILIB_USEDEP}] )
|
||||
sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
|
||||
ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
|
||||
truetype? ( media-libs/freetype[${MULTILIB_USEDEP}] )
|
||||
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
|
||||
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
|
||||
vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] )
|
||||
"
|
||||
WINE_COMMON_DEPEND="
|
||||
${WINE_DLOPEN_DEPEND}
|
||||
X? (
|
||||
x11-libs/libX11[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXext[${MULTILIB_USEDEP}]
|
||||
)
|
||||
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
|
||||
capi? ( net-libs/libcapi:=[${MULTILIB_USEDEP}] )
|
||||
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
|
||||
gstreamer? (
|
||||
dev-libs/glib:2[${MULTILIB_USEDEP}]
|
||||
media-libs/gst-plugins-base:1.0[${MULTILIB_USEDEP}]
|
||||
media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
|
||||
)
|
||||
opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
|
||||
pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
|
||||
pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
|
||||
scanner? ( media-gfx/sane-backends[${MULTILIB_USEDEP}] )
|
||||
smartcard? ( sys-apps/pcsc-lite[${MULTILIB_USEDEP}] )
|
||||
udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
|
||||
unwind? (
|
||||
llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
|
||||
!llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
|
||||
)
|
||||
usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )
|
||||
wayland? (
|
||||
dev-libs/wayland[${MULTILIB_USEDEP}]
|
||||
x11-libs/libxkbcommon[${MULTILIB_USEDEP}]
|
||||
)
|
||||
"
|
||||
RDEPEND="
|
||||
${WINE_COMMON_DEPEND}
|
||||
app-emulation/wine-desktop-common
|
||||
dos? (
|
||||
|| (
|
||||
games-emulation/dosbox
|
||||
games-emulation/dosbox-staging
|
||||
)
|
||||
)
|
||||
gecko? (
|
||||
app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}]
|
||||
wow64? ( app-emulation/wine-gecko[abi_x86_32] )
|
||||
)
|
||||
gstreamer? ( media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] )
|
||||
mono? ( app-emulation/wine-mono:${WINE_MONO} )
|
||||
perl? (
|
||||
dev-lang/perl
|
||||
dev-perl/XML-LibXML
|
||||
)
|
||||
samba? ( net-fs/samba[winbind] )
|
||||
selinux? ( sec-policy/selinux-wine )
|
||||
udisks? ( sys-fs/udisks:2 )
|
||||
"
|
||||
DEPEND="
|
||||
${WINE_COMMON_DEPEND}
|
||||
sys-kernel/linux-headers
|
||||
X? ( x11-base/xorg-proto )
|
||||
"
|
||||
BDEPEND="
|
||||
|| (
|
||||
sys-devel/binutils
|
||||
sys-devel/lld
|
||||
)
|
||||
dev-lang/perl
|
||||
sys-devel/bison
|
||||
sys-devel/flex
|
||||
virtual/pkgconfig
|
||||
mingw? ( !crossdev-mingw? (
|
||||
>=dev-util/mingw64-toolchain-10.0.0_p1-r2[${MULTILIB_USEDEP}]
|
||||
wow64? ( dev-util/mingw64-toolchain[abi_x86_32] )
|
||||
) )
|
||||
nls? ( sys-devel/gettext )
|
||||
wayland? ( dev-util/wayland-scanner )
|
||||
"
|
||||
IDEPEND=">=app-eselect/eselect-wine-2"
|
||||
|
||||
QA_CONFIG_IMPL_DECL_SKIP=(
|
||||
__clear_cache # unused on amd64+x86 (bug #900338)
|
||||
res_getservers # false positive
|
||||
)
|
||||
QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-7.0-noexecstack.patch
|
||||
"${FILESDIR}"/${PN}-7.20-unwind.patch
|
||||
"${FILESDIR}"/${PN}-8.13-rpath.patch
|
||||
)
|
||||
|
||||
pkg_pretend() {
|
||||
[[ ${MERGE_TYPE} == binary ]] && return
|
||||
|
||||
if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
|
||||
local mingw=-w64-mingw32
|
||||
for mingw in $(usev abi_x86_64 x86_64${mingw}) \
|
||||
$(use abi_x86_32 || use wow64 && echo i686${mingw}); do
|
||||
if ! type -P ${mingw}-gcc >/dev/null; then
|
||||
eerror "With USE=crossdev-mingw, you must prepare the MinGW toolchain"
|
||||
eerror "yourself by installing sys-devel/crossdev then running:"
|
||||
eerror
|
||||
eerror " crossdev --target ${mingw}"
|
||||
eerror
|
||||
eerror "For more information, please see: https://wiki.gentoo.org/wiki/Mingw"
|
||||
die "USE=crossdev-mingw is enabled, but ${mingw}-gcc was not found"
|
||||
fi
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# sanity check, bumping these has a history of oversights
|
||||
local geckomono=$(sed -En '/^#define (GECKO|MONO)_VER/{s/[^0-9.]//gp}' \
|
||||
dlls/appwiz.cpl/addons.c || die)
|
||||
if [[ ${WINE_GECKO}$'\n'${WINE_MONO} != "${geckomono}" ]]; then
|
||||
local gmfatal=
|
||||
[[ ${PV} == *9999 ]] && gmfatal=nonfatal
|
||||
${gmfatal} die -n "gecko/mono mismatch in ebuild, has: " ${geckomono} " (please file a bug)"
|
||||
fi
|
||||
|
||||
default
|
||||
|
||||
if tc-is-clang; then
|
||||
if use mingw; then
|
||||
# -mabi=ms was ignored by <clang:16 then turned error in :17
|
||||
# if used without --target *-windows, then gets used in install
|
||||
# phase despite USE=mingw, drop as a quick fix for now
|
||||
sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
|
||||
else
|
||||
# fails in ./configure unless --enable-archs is passed, allow to
|
||||
# bypass with EXTRA_ECONF but is currently considered unsupported
|
||||
# (by Gentoo) as additional work is needed for (proper) support
|
||||
# note: also fails w/ :17, but unsure if safe to drop w/o mingw
|
||||
[[ ${EXTRA_ECONF} == *--enable-archs* ]] ||
|
||||
die "building ${PN} with clang is only supported with USE=mingw"
|
||||
fi
|
||||
fi
|
||||
|
||||
# ensure .desktop calls this variant + slot
|
||||
sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
|
||||
|
||||
# datadir is not where wine-mono is installed, so prefixy alternate paths
|
||||
hprefixify -w /get_mono_path/ dlls/mscoree/metahost.c
|
||||
|
||||
# always update for patches (including user's wrt #432348)
|
||||
eautoreconf
|
||||
tools/make_requests || die # perl
|
||||
# tip: if need more for user patches, with portage can e.g. do
|
||||
# echo "post_src_prepare() { tools/make_specfiles || die; }" \
|
||||
# > /etc/portage/env/app-emulation/wine-vanilla
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
WINE_PREFIX=/usr/lib/${P}
|
||||
WINE_DATADIR=/usr/share/${P}
|
||||
|
||||
local conf=(
|
||||
--prefix="${EPREFIX}"${WINE_PREFIX}
|
||||
--datadir="${EPREFIX}"${WINE_DATADIR}
|
||||
--includedir="${EPREFIX}"/usr/include/${P}
|
||||
--libdir="${EPREFIX}"${WINE_PREFIX}
|
||||
--mandir="${EPREFIX}"${WINE_DATADIR}/man
|
||||
|
||||
$(usev wow64 --enable-archs=x86_64,i386)
|
||||
|
||||
$(use_enable gecko mshtml)
|
||||
$(use_enable mono mscoree)
|
||||
--disable-tests
|
||||
|
||||
$(use_with X x)
|
||||
$(use_with alsa)
|
||||
$(use_with capi)
|
||||
$(use_with cups)
|
||||
$(use_with fontconfig)
|
||||
$(use_with gphoto2 gphoto)
|
||||
$(use_with gstreamer)
|
||||
$(use_with kerberos gssapi)
|
||||
$(use_with kerberos krb5)
|
||||
$(use_with mingw)
|
||||
$(use_with netapi)
|
||||
$(use_with nls gettext)
|
||||
$(use_with opencl)
|
||||
$(use_with opengl)
|
||||
$(use_with osmesa)
|
||||
--without-oss # media-sound/oss is not packaged (OSSv4)
|
||||
$(use_with pcap)
|
||||
$(use_with pulseaudio pulse)
|
||||
$(use_with scanner sane)
|
||||
$(use_with sdl)
|
||||
$(use_with smartcard pcsclite)
|
||||
$(use_with ssl gnutls)
|
||||
$(use_with truetype freetype)
|
||||
$(use_with udev)
|
||||
$(use_with udisks dbus) # dbus is only used for udisks
|
||||
$(use_with unwind)
|
||||
$(use_with usb)
|
||||
$(use_with v4l v4l2)
|
||||
$(use_with vulkan)
|
||||
$(use_with wayland)
|
||||
$(use_with xcomposite)
|
||||
$(use_with xinerama)
|
||||
$(usev !odbc ac_cv_lib_soname_odbc=)
|
||||
)
|
||||
|
||||
filter-lto # build failure
|
||||
use custom-cflags || strip-flags # can break in obscure ways at runtime
|
||||
|
||||
# wine uses linker tricks unlikely to work with non-bfd/lld (bug #867097)
|
||||
# (do self test until https://github.com/gentoo/gentoo/pull/28355)
|
||||
if [[ $(LC_ALL=C $(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) != @(LLD|GNU\ ld)* ]]
|
||||
then
|
||||
has_version -b sys-devel/binutils &&
|
||||
append-ldflags -fuse-ld=bfd ||
|
||||
append-ldflags -fuse-ld=lld
|
||||
strip-unsupported-flags
|
||||
fi
|
||||
|
||||
if use mingw; then
|
||||
use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
|
||||
|
||||
# CROSSCC was formerly recognized by wine, thus been using similar
|
||||
# variables (subject to change, esp. if ever make a mingw.eclass).
|
||||
local mingwcc_amd64=${CROSSCC:-${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}
|
||||
local mingwcc_x86=${CROSSCC:-${CROSSCC_x86:-i686-w64-mingw32-gcc}}
|
||||
local -n mingwcc=mingwcc_$(usex abi_x86_64 amd64 x86)
|
||||
|
||||
conf+=(
|
||||
ac_cv_prog_x86_64_CC="${mingwcc_amd64}"
|
||||
ac_cv_prog_i386_CC="${mingwcc_x86}"
|
||||
|
||||
CROSSCFLAGS="${CROSSCFLAGS:-$(
|
||||
filter-flags '-fstack-protector*' #870136
|
||||
filter-flags '-mfunction-return=thunk*' #878849
|
||||
|
||||
# some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then
|
||||
# strip-unsupported-flags miss these during compile-only tests
|
||||
# (primarily done for 23.0 profiles' -z, not full coverage)
|
||||
filter-flags '-Wl,-z,*'
|
||||
|
||||
CC=${mingwcc} test-flags-CC ${CFLAGS:--O2}
|
||||
)}"
|
||||
|
||||
CROSSLDFLAGS="${CROSSLDFLAGS:-$(
|
||||
filter-flags '-fuse-ld=*'
|
||||
|
||||
CC=${mingwcc} test-flags-CCLD ${LDFLAGS}
|
||||
)}"
|
||||
)
|
||||
fi
|
||||
|
||||
# order matters with multilib: configure+compile 64->32, install 32->64
|
||||
local -i bits
|
||||
for bits in $(usev abi_x86_64 64) $(usev abi_x86_32 32); do
|
||||
(
|
||||
einfo "Configuring ${PN} for ${bits}bits in ${WORKDIR}/build${bits} ..."
|
||||
|
||||
mkdir ../build${bits} || die
|
||||
cd ../build${bits} || die
|
||||
|
||||
if (( bits == 64 )); then
|
||||
conf+=( --enable-win64 )
|
||||
elif use amd64; then
|
||||
conf+=(
|
||||
$(usev abi_x86_64 --with-wine64=../build64)
|
||||
TARGETFLAGS=-m32 # for widl
|
||||
)
|
||||
# _setup is optional, but use over Wine's auto-detect (+#472038)
|
||||
multilib_toolchain_setup x86
|
||||
fi
|
||||
|
||||
ECONF_SOURCE=${S} econf "${conf[@]}"
|
||||
)
|
||||
done
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
use abi_x86_64 && emake -C ../build64 # do first
|
||||
use abi_x86_32 && emake -C ../build32
|
||||
}
|
||||
|
||||
src_install() {
|
||||
use abi_x86_32 && emake DESTDIR="${D}" -C ../build32 install
|
||||
use abi_x86_64 && emake DESTDIR="${D}" -C ../build64 install # do last
|
||||
|
||||
# Ensure both wine64 and wine are available if USE=abi_x86_64 (wow64,
|
||||
# -abi_x86_32, and/or EXTRA_ECONF could cause varying scenarios where
|
||||
# one or the other could be missing and that is unexpected for users
|
||||
# and some tools like winetricks)
|
||||
if use abi_x86_64; then
|
||||
if [[ -e ${ED}${WINE_PREFIX}/bin/wine64 && ! -e ${ED}${WINE_PREFIX}/bin/wine ]]; then
|
||||
dosym wine64 ${WINE_PREFIX}/bin/wine
|
||||
dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
|
||||
|
||||
# also install wine(1) man pages (incl. translations)
|
||||
local man
|
||||
for man in ../build64/loader/wine.*man; do
|
||||
: "${man##*/wine}"
|
||||
: "${_%.*}"
|
||||
insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
|
||||
newins ${man} wine.1
|
||||
done
|
||||
elif [[ ! -e ${ED}${WINE_PREFIX}/bin/wine64 && -e ${ED}${WINE_PREFIX}/bin/wine ]]; then
|
||||
dosym wine ${WINE_PREFIX}/bin/wine64
|
||||
dosym wine-preloader ${WINE_PREFIX}/bin/wine64-preloader
|
||||
fi
|
||||
fi
|
||||
|
||||
use perl || rm "${ED}"${WINE_DATADIR}/man/man1/wine{dump,maker}.1 \
|
||||
"${ED}"${WINE_PREFIX}/bin/{function_grep.pl,wine{dump,maker}} || die
|
||||
|
||||
# create variant wrappers for eselect-wine
|
||||
local bin
|
||||
for bin in "${ED}"${WINE_PREFIX}/bin/*; do
|
||||
make_wrapper "${bin##*/}-${P#wine-}" "${bin#"${ED}"}"
|
||||
done
|
||||
|
||||
if use mingw; then
|
||||
# don't let portage try to strip PE files with the wrong
|
||||
# strip executable and instead handle it here (saves ~120MB)
|
||||
dostrip -x ${WINE_PREFIX}/wine/{i386,x86_64}-windows
|
||||
|
||||
if use strip; then
|
||||
ebegin "Stripping Windows (PE) binaries"
|
||||
find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \
|
||||
-exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} +
|
||||
eend ${?} || die
|
||||
fi
|
||||
fi
|
||||
|
||||
dodoc ANNOUNCE* AUTHORS README* documentation/README*
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if use !abi_x86_32 && use !wow64; then
|
||||
ewarn "32bit support is disabled. While 64bit applications themselves will"
|
||||
ewarn "work, be warned that it is not unusual that installers or other helpers"
|
||||
ewarn "will attempt to use 32bit and fail. If do not want full USE=abi_x86_32,"
|
||||
ewarn "note the experimental/WIP USE=wow64 can allow 32bit without multilib."
|
||||
elif use abi_x86_32 && { use opengl || use vulkan; } &&
|
||||
has_version 'x11-drivers/nvidia-drivers[-abi_x86_32]'
|
||||
then
|
||||
ewarn "x11-drivers/nvidia-drivers is installed but is built without"
|
||||
ewarn "USE=abi_x86_32 (ABI_X86=32), hardware acceleration with 32bit"
|
||||
ewarn "applications under ${PN} will likely not be usable."
|
||||
fi
|
||||
|
||||
optfeature "/dev/hidraw* access used for *some* controllers (e.g. DualShock4)" \
|
||||
games-util/game-device-udev-rules
|
||||
|
||||
eselect wine update --if-unset || die
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
eselect wine update --if-unset || die
|
||||
}
|
Binary file not shown.
@ -1 +1,2 @@
|
||||
DIST eselect-java-0.5.0.tar.bz2 14271 BLAKE2B dc285ad17b62043cc5085a586547a06a12c09f5a80f25dc423db9cb806baaa669a55106f605973fcae7103e35ec673ae2e3a6119730b1789e816a09079deabc8 SHA512 89724b96125911f0abc0363e0b2c9df75d0d52df1a5e16e80efa20a8de39b1bc0d411d297581b3440c944f498688e5dcffe5432f5e46836115d2eb620f31c03a
|
||||
DIST eselect-java-0.5.1.tar.bz2 14330 BLAKE2B a1333f2e1a40662cdca3ca6155f621efd4b4491fb83dd787d001b172d0baf6c960a217643a18dba5c262317613854cf62f79a9dbb0d621b2335499ada03cd03c SHA512 1a28667d635dae551b0432aa83e80b92733ed8a1c21c4d4a8d978c05e1e89034a0e073bd6fdf1f18569c48efbe17ad338bc95dde5b7e009ba87cad04f7e4a156
|
||||
|
@ -0,0 +1,35 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit autotools
|
||||
|
||||
DESCRIPTION="A set of eselect modules for Java"
|
||||
HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Java"
|
||||
SRC_URI="https://gitweb.gentoo.org/proj/${PN}.git/snapshot/${P}.tar.bz2"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
|
||||
RDEPEND="app-admin/eselect"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
local REMOVED=0
|
||||
|
||||
rm -v "${EROOT}"/usr/lib*/nsbrowser/plugins/javaplugin.so 2>/dev/null && REMOVED=1
|
||||
rm -v "${EROOT}"/etc/java-config-2/current-icedtea-web-vm 2>/dev/null && REMOVED=1
|
||||
|
||||
if [[ ${REMOVED} = 1 ]]; then
|
||||
elog "The eselect java-nsplugin module has been removed and your configuration"
|
||||
elog "has been cleaned up. From now on, you may only install either Oracle or"
|
||||
elog "IcedTea's plugin but not both. Note you can use IcedTea's plugin with an"
|
||||
elog "Oracle VM. See the README installed with icedtea-web for more details."
|
||||
fi
|
||||
}
|
Binary file not shown.
@ -1,2 +1,2 @@
|
||||
DIST boxes-2.2.0.tar.gz 230099 BLAKE2B 4adb8ddde85cb31f32e98916d5ea2a57afcaa0470f796ba296cb3b80780f158a24b2bc5e9ba923b6a3b35b8f7781cd6ddacd89abadf6f2c07549be7ffe1458f4 SHA512 534d441c34316572d0c7e89f343a3bc5bb5a8466e4d4ed703fb2d14b714f5a6b224f7b0d408525d492da4610f9c5ffd8508e16d98a0781897567fb4aeb316f39
|
||||
DIST boxes-2.2.1.tar.gz 230900 BLAKE2B 65ab0c8ad52d2764279397135b072bfa6f4bf86e465cc3a4778d30c5b19ce2c0d7c5f8636173529eca92754ee16d38b46a83b067b94315b1ea82448e4b1ac0a8 SHA512 0afa115d5ec01944878ef4d8f33e2887d123b172a0589eda53a04ba671916d9ef1d8299f9df9aeac8989807f86ca1b96b1c34aed03856643a89a07586b82e3b6
|
||||
DIST boxes-2.3.0.tar.gz 272302 BLAKE2B 282b41aee214f54aa3c8b237bc9f2e48e4144eebd6619880a38c7a71d9bf7bb434a250f29a05f20746530e8458bb0d062cd7e5bea88ebdf64030f090b1a8674a SHA512 d7580462ed5cf8a3299f528d7e4abea1c9733da2823c204bff69a804c72b768c4d3e8505b4d8881aae066f1fd95133cf9dc52e960333a82d8c529f85eb096fb4
|
||||
|
@ -1,15 +0,0 @@
|
||||
change function prototype to work with c2x standard. Build fails with clang16 without this
|
||||
|
||||
See: https://github.com/ascii-boxes/boxes/issues/106
|
||||
|
||||
--- a/src/remove.h
|
||||
+++ b/src/remove.h
|
||||
@@ -22,7 +22,7 @@
|
||||
|
||||
|
||||
int remove_box();
|
||||
-void output_input();
|
||||
+void output_input(const int trim_only);
|
||||
|
||||
|
||||
#endif /*REMOVE_H*/
|
@ -0,0 +1,15 @@
|
||||
Gentoo splits ncurses into several independent libraries. Therefore this needs to be linked with more than just -lncurses.
|
||||
|
||||
Pascal Jäger <pascal.jaeger@leimstift.de> (2024-02-19)
|
||||
|
||||
--- a/src/Makefile
|
||||
+++ b/src/Makefile
|
||||
@@ -64,7 +64,7 @@ debug: flags_$(BOXES_PLATFORM) | $(OUT_DIR)
|
||||
CFLAGS_ADDTL="-ggdb3 $(CFLAGS_ADDTL)" flags_$(BOXES_PLATFORM) $(BOXES_EXECUTABLE_NAME)
|
||||
|
||||
boxes: $(ALL_OBJ) | check_dir
|
||||
- $(CC) $(LDFLAGS) $^ -o $@ -lunistring -lpcre2-32 -lncurses
|
||||
+ $(CC) $(LDFLAGS) $^ -o $@ -lunistring -lpcre2-32 $(shell pkg-config --libs ncurses)
|
||||
if [ "$(STRIP)" = "true" ] ; then strip $@ ; fi
|
||||
|
||||
boxes.static: $(ALL_OBJ) | check_dir
|
@ -0,0 +1,69 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{9..11} )
|
||||
|
||||
inherit meson python-single-r1 xdg
|
||||
|
||||
DESCRIPTION="GTK application to configure gaming devices"
|
||||
HOMEPAGE="https://github.com/libratbag/piper"
|
||||
|
||||
if [[ ${PV} == 9999 ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://github.com/libratbag/piper.git"
|
||||
else
|
||||
SRC_URI="https://github.com/libratbag/piper/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
KEYWORDS="~amd64"
|
||||
fi
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
IUSE="test"
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
BDEPEND="
|
||||
${PYTHON_DEPS}
|
||||
$(python_gen_cond_dep '
|
||||
dev-python/lxml[${PYTHON_USEDEP}]
|
||||
')
|
||||
virtual/pkgconfig
|
||||
test? (
|
||||
$(python_gen_cond_dep '
|
||||
dev-python/flake8[${PYTHON_USEDEP}]
|
||||
')
|
||||
dev-libs/appstream
|
||||
)
|
||||
"
|
||||
RDEPEND="
|
||||
${PYTHON_DEPS}
|
||||
dev-libs/gobject-introspection
|
||||
>=dev-libs/libratbag-0.14
|
||||
gnome-base/librsvg[introspection]
|
||||
x11-libs/gdk-pixbuf[introspection]
|
||||
x11-libs/gtk+:3[introspection]
|
||||
$(python_gen_cond_dep '
|
||||
dev-python/evdev[${PYTHON_USEDEP}]
|
||||
dev-python/lxml[${PYTHON_USEDEP}]
|
||||
dev-python/pycairo[${PYTHON_USEDEP}]
|
||||
dev-python/pygobject:3[cairo,${PYTHON_USEDEP}]
|
||||
')
|
||||
"
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
dev-libs/libevdev
|
||||
virtual/libudev
|
||||
"
|
||||
|
||||
src_configure() {
|
||||
python_setup
|
||||
meson_src_configure
|
||||
}
|
||||
|
||||
src_install() {
|
||||
meson_src_install
|
||||
python_optimize
|
||||
python_fix_shebang "${ED}"/usr/bin/
|
||||
}
|
Binary file not shown.
@ -0,0 +1,12 @@
|
||||
https://bugs.gentoo.org/895298
|
||||
|
||||
--- a/src/decls.hpp
|
||||
+++ b/src/decls.hpp
|
||||
@@ -23,6 +23,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#include "config.h"
|
||||
|
||||
#include "umlPackage.hpp"
|
||||
+#include <cinttypes>
|
||||
|
||||
/* Package processing auxiliary structure:
|
||||
"Declarations" are UML packages (which map to IDL module or C++
|
@ -1,668 +0,0 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{10..12} )
|
||||
PYTHON_REQ_USE="threads(+),xml(+)"
|
||||
|
||||
MY_PV="${PV/_alpha/.alpha}"
|
||||
MY_PV="${MY_PV/_beta/.beta}"
|
||||
# experimental ; release ; old
|
||||
# Usually the tarballs are moved a lot so this should make everyone happy.
|
||||
DEV_URI="
|
||||
https://dev-builds.libreoffice.org/pre-releases/src
|
||||
https://download.documentfoundation.org/libreoffice/src/${MY_PV:0:5}/
|
||||
https://downloadarchive.documentfoundation.org/libreoffice/old/${MY_PV}/src
|
||||
"
|
||||
ADDONS_URI="https://dev-www.libreoffice.org/src/"
|
||||
|
||||
BRANDING="${PN}-branding-gentoo-0.8.tar.xz"
|
||||
# PATCHSET="${P}-patchset-01.tar.xz"
|
||||
|
||||
[[ ${MY_PV} == *9999* ]] && inherit git-r3
|
||||
inherit autotools bash-completion-r1 check-reqs flag-o-matic java-pkg-opt-2 multiprocessing python-single-r1 qmake-utils toolchain-funcs xdg-utils
|
||||
|
||||
DESCRIPTION="A full office productivity suite"
|
||||
HOMEPAGE="https://www.libreoffice.org"
|
||||
SRC_URI="branding? ( https://dev.gentoo.org/~dilfridge/distfiles/${BRANDING} )"
|
||||
[[ -n ${PATCHSET} ]] && SRC_URI+=" https://dev.gentoo.org/~asturm/distfiles/${PATCHSET}"
|
||||
|
||||
# Split modules following git/tarballs; Core MUST be first!
|
||||
# Help is used for the image generator
|
||||
# Only release has the tarballs
|
||||
if [[ ${MY_PV} != *9999* ]]; then
|
||||
for i in ${DEV_URI}; do
|
||||
SRC_URI+=" ${i}/${PN}-${MY_PV}.tar.xz"
|
||||
SRC_URI+=" ${i}/${PN}-help-${MY_PV}.tar.xz"
|
||||
done
|
||||
unset i
|
||||
fi
|
||||
unset DEV_URI
|
||||
|
||||
# Really required addons
|
||||
# These are bundles that can't be removed for now due to huge patchsets.
|
||||
# If you want them gone, patches are welcome.
|
||||
ADDONS_SRC=(
|
||||
# not packaged in Gentoo
|
||||
"${ADDONS_URI}/dragonbox-1.1.3.tar.gz"
|
||||
# not packaged in Gentoo, https://www.netlib.org/fp/dtoa.c
|
||||
"${ADDONS_URI}/dtoa-20180411.tgz"
|
||||
# not packaged in Gentoo, https://github.com/serge-sans-paille/frozen
|
||||
"${ADDONS_URI}/frozen-1.1.1.tar.gz"
|
||||
# not packaged in Gentoo, https://skia.org/
|
||||
"${ADDONS_URI}/skia-m111-a31e897fb3dcbc96b2b40999751611d029bf5404.tar.xz"
|
||||
"base? (
|
||||
${ADDONS_URI}/commons-logging-1.2-src.tar.gz
|
||||
${ADDONS_URI}/ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip
|
||||
${ADDONS_URI}/d8bd5eed178db6e2b18eeed243f85aa8-flute-1.1.6.zip
|
||||
${ADDONS_URI}/eeb2c7ddf0d302fba4bfc6e97eac9624-libbase-1.1.6.zip
|
||||
${ADDONS_URI}/3bdf40c0d199af31923e900d082ca2dd-libfonts-1.1.6.zip
|
||||
${ADDONS_URI}/3404ab6b1792ae5f16bbd603bd1e1d03-libformula-1.1.7.zip
|
||||
${ADDONS_URI}/db60e4fde8dd6d6807523deb71ee34dc-liblayout-0.2.10.zip
|
||||
${ADDONS_URI}/97b2d4dba862397f446b217e2b623e71-libloader-1.1.6.zip
|
||||
${ADDONS_URI}/8ce2fcd72becf06c41f7201d15373ed9-librepository-1.1.6.zip
|
||||
${ADDONS_URI}/f94d9870737518e3b597f9265f4e9803-libserializer-1.1.6.zip
|
||||
${ADDONS_URI}/ace6ab49184e329db254e454a010f56d-libxml-1.1.7.zip
|
||||
${ADDONS_URI}/39bb3fcea1514f1369fcfc87542390fd-sacjava-1.3.zip
|
||||
)"
|
||||
"java? ( ${ADDONS_URI}/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip )"
|
||||
# no release for 8 years, should we package it?
|
||||
"libreoffice_extensions_wiki-publisher? ( ${ADDONS_URI}/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip )"
|
||||
# Does not build with 1.6 rhino at all
|
||||
"libreoffice_extensions_scripting-javascript? ( ${ADDONS_URI}/798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip )"
|
||||
# requirement of rhino
|
||||
"libreoffice_extensions_scripting-javascript? ( ${ADDONS_URI}/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip )"
|
||||
# not packageable
|
||||
"odk? ( http://download.go-oo.org/extern/185d60944ea767075d27247c3162b3bc-unowinreg.dll )"
|
||||
)
|
||||
SRC_URI+=" ${ADDONS_SRC[*]}"
|
||||
|
||||
unset ADDONS_URI
|
||||
unset ADDONS_SRC
|
||||
|
||||
# Extensions that need extra work:
|
||||
LO_EXTS="nlpsolver scripting-beanshell scripting-javascript wiki-publisher"
|
||||
|
||||
IUSE="accessibility base bluetooth +branding clang coinmp +cups custom-cflags +dbus debug eds firebird
|
||||
googledrive gstreamer +gtk kde ldap +mariadb odk pdfimport postgres test valgrind vulkan
|
||||
$(printf 'libreoffice_extensions_%s ' ${LO_EXTS})"
|
||||
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}
|
||||
base? ( java )
|
||||
bluetooth? ( dbus )
|
||||
libreoffice_extensions_nlpsolver? ( java )
|
||||
libreoffice_extensions_scripting-beanshell? ( java )
|
||||
libreoffice_extensions_scripting-javascript? ( java )
|
||||
libreoffice_extensions_wiki-publisher? ( java )
|
||||
"
|
||||
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
LICENSE="|| ( LGPL-3 MPL-1.1 )"
|
||||
SLOT="0"
|
||||
|
||||
[[ ${MY_PV} == *9999* ]] || \
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86 ~amd64-linux"
|
||||
|
||||
COMMON_DEPEND="${PYTHON_DEPS}
|
||||
app-arch/unzip
|
||||
app-arch/zip
|
||||
app-crypt/gpgme:=[cxx]
|
||||
app-text/hunspell:=
|
||||
>=app-text/libabw-0.1.0
|
||||
>=app-text/libebook-0.1
|
||||
app-text/libepubgen
|
||||
>=app-text/libetonyek-0.1
|
||||
app-text/libexttextcat
|
||||
app-text/liblangtag
|
||||
>=app-text/libmspub-0.1.0
|
||||
>=app-text/libmwaw-0.3.21
|
||||
>=app-text/libnumbertext-1.0.6
|
||||
>=app-text/libodfgen-0.1.0
|
||||
app-text/libqxp
|
||||
app-text/libstaroffice
|
||||
app-text/libwpd:0.10[tools]
|
||||
app-text/libwpg:0.3
|
||||
>=app-text/libwps-0.4
|
||||
app-text/mythes
|
||||
>=dev-cpp/clucene-2.3.3.4-r2
|
||||
>=dev-cpp/libcmis-0.6.2:0=
|
||||
dev-db/unixODBC
|
||||
dev-lang/perl
|
||||
dev-libs/boost:=[nls]
|
||||
dev-libs/expat
|
||||
dev-libs/hyphen
|
||||
dev-libs/icu:=
|
||||
dev-libs/libassuan
|
||||
dev-libs/libgpg-error
|
||||
>=dev-libs/liborcus-0.18.0:0/0.18
|
||||
dev-libs/librevenge
|
||||
dev-libs/libxml2
|
||||
dev-libs/libxslt
|
||||
dev-libs/nspr
|
||||
dev-libs/nss
|
||||
>=dev-libs/redland-1.0.16
|
||||
>=dev-libs/xmlsec-1.2.35:=[nss]
|
||||
>=games-engines/box2d-2.4.1:0
|
||||
media-gfx/fontforge
|
||||
media-gfx/graphite2
|
||||
media-libs/fontconfig
|
||||
>=media-libs/freetype-2.11.0-r1:2
|
||||
>=media-libs/harfbuzz-5.1.0:=[graphite,icu]
|
||||
media-libs/lcms:2
|
||||
>=media-libs/libcdr-0.1.0
|
||||
>=media-libs/libepoxy-1.3.1[X]
|
||||
>=media-libs/libfreehand-0.1.0
|
||||
media-libs/libjpeg-turbo:=
|
||||
media-libs/libpagemaker
|
||||
>=media-libs/libpng-1.4:0=
|
||||
>=media-libs/libvisio-0.1.0
|
||||
media-libs/libwebp:=
|
||||
media-libs/libzmf
|
||||
media-libs/openjpeg:=
|
||||
media-libs/tiff:=
|
||||
media-libs/zxing-cpp:=
|
||||
net-misc/curl
|
||||
sci-mathematics/lpsolve:=
|
||||
sys-libs/zlib
|
||||
virtual/opengl
|
||||
x11-libs/cairo[X]
|
||||
x11-libs/libXinerama
|
||||
x11-libs/libXrandr
|
||||
x11-libs/libXrender
|
||||
accessibility? (
|
||||
$(python_gen_cond_dep 'dev-python/lxml[${PYTHON_USEDEP}]')
|
||||
)
|
||||
bluetooth? (
|
||||
dev-libs/glib:2
|
||||
net-wireless/bluez
|
||||
)
|
||||
coinmp? ( sci-libs/coinor-mp )
|
||||
cups? ( net-print/cups )
|
||||
dbus? ( sys-apps/dbus )
|
||||
eds? (
|
||||
dev-libs/glib:2
|
||||
>=gnome-base/dconf-0.40.0
|
||||
gnome-extra/evolution-data-server
|
||||
)
|
||||
firebird? ( >=dev-db/firebird-3.0.2.32703.0-r1[server] )
|
||||
gstreamer? (
|
||||
media-libs/gstreamer:1.0
|
||||
media-libs/gst-plugins-base:1.0
|
||||
)
|
||||
gtk? (
|
||||
app-accessibility/at-spi2-core:2
|
||||
dev-libs/glib:2
|
||||
dev-libs/gobject-introspection
|
||||
gnome-base/dconf
|
||||
media-libs/mesa[egl(+)]
|
||||
x11-libs/gtk+:3[X]
|
||||
x11-libs/pango
|
||||
)
|
||||
kde? (
|
||||
dev-qt/qtcore:5
|
||||
dev-qt/qtgui:5
|
||||
dev-qt/qtwidgets:5
|
||||
dev-qt/qtx11extras:5
|
||||
kde-frameworks/kconfig:5
|
||||
kde-frameworks/kcoreaddons:5
|
||||
kde-frameworks/ki18n:5
|
||||
kde-frameworks/kio:5
|
||||
kde-frameworks/kwindowsystem:5
|
||||
)
|
||||
ldap? ( net-nds/openldap:= )
|
||||
libreoffice_extensions_scripting-beanshell? ( dev-java/bsh )
|
||||
libreoffice_extensions_scripting-javascript? ( >=dev-java/rhino-1.7.14:1.6 )
|
||||
mariadb? ( dev-db/mariadb-connector-c:= )
|
||||
!mariadb? ( dev-db/mysql-connector-c:= )
|
||||
pdfimport? ( >=app-text/poppler-22.06:=[cxx] )
|
||||
postgres? ( >=dev-db/postgresql-9.0:*[kerberos] )
|
||||
"
|
||||
# FIXME: cppunit should be moved to test conditional
|
||||
# after everything upstream is under gbuild
|
||||
# as dmake execute tests right away
|
||||
# tests apparently also need google-carlito-fonts (not packaged)
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
>=dev-libs/libatomic_ops-7.2d
|
||||
dev-perl/Archive-Zip
|
||||
>=dev-util/cppunit-1.14.0
|
||||
>=dev-util/gperf-3.1
|
||||
dev-util/mdds:1/2.1
|
||||
media-libs/glm
|
||||
x11-base/xorg-proto
|
||||
x11-libs/libXt
|
||||
x11-libs/libXtst
|
||||
java? (
|
||||
dev-java/ant:0
|
||||
>=virtual/jdk-11
|
||||
)
|
||||
test? (
|
||||
app-crypt/gnupg
|
||||
dev-util/cppunit
|
||||
media-fonts/dejavu
|
||||
media-fonts/liberation-fonts
|
||||
)
|
||||
valgrind? ( dev-debug/valgrind )
|
||||
"
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
acct-group/libreoffice
|
||||
acct-user/libreoffice
|
||||
!app-office/libreoffice-bin
|
||||
!app-office/libreoffice-bin-debug
|
||||
media-fonts/liberation-fonts
|
||||
|| ( x11-misc/xdg-utils kde-plasma/kde-cli-tools )
|
||||
java? ( >=virtual/jre-11 )
|
||||
kde? ( kde-frameworks/breeze-icons:* )
|
||||
"
|
||||
BDEPEND="
|
||||
dev-util/intltool
|
||||
sys-apps/which
|
||||
app-alternatives/yacc
|
||||
app-alternatives/lex
|
||||
sys-devel/gettext
|
||||
virtual/pkgconfig
|
||||
clang? (
|
||||
|| (
|
||||
( sys-devel/clang:18
|
||||
sys-devel/llvm:18
|
||||
=sys-devel/lld-18* )
|
||||
( sys-devel/clang:17
|
||||
sys-devel/llvm:17
|
||||
=sys-devel/lld-17* )
|
||||
( sys-devel/clang:16
|
||||
sys-devel/llvm:16
|
||||
=sys-devel/lld-16* )
|
||||
( sys-devel/clang:15
|
||||
sys-devel/llvm:15
|
||||
=sys-devel/lld-15* )
|
||||
)
|
||||
)
|
||||
odk? ( >=app-text/doxygen-1.8.4 )
|
||||
"
|
||||
if [[ ${MY_PV} != *9999* ]] && [[ ${PV} != *_* ]]; then
|
||||
PDEPEND="=app-office/libreoffice-l10n-$(ver_cut 1-2)*"
|
||||
else
|
||||
# Translations are not reliable on live ebuilds
|
||||
# rather force people to use english only.
|
||||
RDEPEND+=" !app-office/libreoffice-l10n"
|
||||
fi
|
||||
|
||||
PATCHES=(
|
||||
# "${WORKDIR}"/${PATCHSET/.tar.xz/}
|
||||
|
||||
# not upstreamable stuff
|
||||
"${FILESDIR}/${PN}-5.3.4.2-kioclient5.patch"
|
||||
"${FILESDIR}/${PN}-6.1-nomancompress.patch"
|
||||
"${FILESDIR}/${PN}-7.2.0.4-qt5detect.patch"
|
||||
|
||||
# TODO: upstream
|
||||
"${FILESDIR}/${PN}-7.6-unused-qt5network.patch"
|
||||
|
||||
# maybe upstreamable
|
||||
"${FILESDIR}/${PN}-7.5.8.2-icu-74-compatibility.patch"
|
||||
)
|
||||
|
||||
S="${WORKDIR}/${PN}-${MY_PV}"
|
||||
|
||||
_check_reqs() {
|
||||
CHECKREQS_MEMORY="512M"
|
||||
if is-flagq "-g*" && ! is-flagq "-g*0" ; then
|
||||
CHECKREQS_DISK_BUILD="22G"
|
||||
else
|
||||
CHECKREQS_DISK_BUILD="6G"
|
||||
fi
|
||||
check-reqs_$1
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
use base ||
|
||||
ewarn "If you plan to use Base application you must enable USE base."
|
||||
use java ||
|
||||
ewarn "Without USE java, several wizards are not going to be available."
|
||||
|
||||
[[ ${MERGE_TYPE} != binary ]] && _check_reqs pkg_pretend
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
java-pkg-opt-2_pkg_setup
|
||||
python-single-r1_pkg_setup
|
||||
xdg_environment_reset
|
||||
|
||||
[[ ${MERGE_TYPE} != binary ]] && _check_reqs pkg_setup
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
default
|
||||
|
||||
if [[ ${MY_PV} = *9999* ]]; then
|
||||
local base_uri branch mypv
|
||||
base_uri="https://anongit.freedesktop.org/git"
|
||||
branch="master"
|
||||
mypv=${MY_PV/.9999}
|
||||
[[ ${mypv} != ${MY_PV} ]] && branch="${PN}-${mypv/./-}"
|
||||
git-r3_fetch "${base_uri}/${PN}/core" "refs/heads/${branch}"
|
||||
git-r3_checkout "${base_uri}/${PN}/core"
|
||||
LOCOREGIT_VERSION=${EGIT_VERSION}
|
||||
|
||||
git-r3_fetch "${base_uri}/${PN}/help" "refs/heads/master"
|
||||
git-r3_checkout "${base_uri}/${PN}/help" "helpcontent2" # doesn't match on help
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# sandbox violations on many systems, we don't need it. Bug #646406
|
||||
sed -i \
|
||||
-e "/KF5_CONFIG/s/kf5-config/no/" \
|
||||
configure.ac || die "Failed to disable kf5-config"
|
||||
|
||||
AT_M4DIR="m4" eautoreconf
|
||||
# hack in the autogen.sh
|
||||
touch autogen.lastrun
|
||||
|
||||
# sed in the tests
|
||||
sed -i \
|
||||
-e "s#all : build unitcheck#all : build#g" \
|
||||
solenv/gbuild/Module.mk || die
|
||||
sed -i \
|
||||
-e "s#check: dev-install subsequentcheck#check: unitcheck slowcheck dev-install subsequentcheck#g" \
|
||||
-e "s#Makefile.gbuild all slowcheck#Makefile.gbuild all#g" \
|
||||
Makefile.in || die
|
||||
|
||||
sed -i \
|
||||
-e "s,/usr/share/bash-completion/completions,$(get_bashcompdir)," \
|
||||
-e "s,\$INSTALLDIRNAME.sh,${PN}," \
|
||||
bin/distro-install-desktop-integration || die
|
||||
|
||||
if use branding; then
|
||||
# hack...
|
||||
mv -v "${WORKDIR}/branding-intro.png" "icon-themes/colibre/brand/intro.png" || die
|
||||
fi
|
||||
|
||||
# Don't list pdfimport support in desktop when built with none, bug # 605464
|
||||
if ! use pdfimport; then
|
||||
sed -i \
|
||||
-e ":MimeType: s:application/pdf;::" \
|
||||
-e ":Keywords: s:pdf;::" \
|
||||
sysui/desktop/menus/draw.desktop || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# Set up Google API keys, see https://www.chromium.org/developers/how-tos/api-keys
|
||||
# Note: these are for Gentoo use ONLY. For your own distribution, please get
|
||||
# your own set of keys. Feel free to contact chromium@gentoo.org for more info.
|
||||
local google_default_client_id="329227923882.apps.googleusercontent.com"
|
||||
local google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu"
|
||||
|
||||
# Show flags set at the beginning
|
||||
einfo "Preset CFLAGS: ${CFLAGS}"
|
||||
einfo "Preset LDFLAGS: ${LDFLAGS}"
|
||||
|
||||
# Workaround for bug #915067
|
||||
append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
|
||||
|
||||
if use clang ; then
|
||||
# Force clang
|
||||
einfo "Enforcing the use of clang due to USE=clang ..."
|
||||
AR=llvm-ar
|
||||
CC=${CHOST}-clang
|
||||
CXX=${CHOST}-clang++
|
||||
NM=llvm-nm
|
||||
RANLIB=llvm-ranlib
|
||||
LDFLAGS+=" -fuse-ld=lld"
|
||||
|
||||
# Workaround for bug #907905
|
||||
filter-lto
|
||||
|
||||
# Not implemented by Clang, bug #903889
|
||||
filter-flags -Wlto-type-mismatch -Werror=lto-type-mismatch
|
||||
else
|
||||
# Force gcc
|
||||
einfo "Enforcing the use of gcc due to USE=-clang ..."
|
||||
AR=gcc-ar
|
||||
CC=${CHOST}-gcc
|
||||
CXX=${CHOST}-g++
|
||||
NM=gcc-nm
|
||||
RANLIB=gcc-ranlib
|
||||
|
||||
# Apparently the Clang flags get used even for GCC builds sometimes.
|
||||
# bug #838115
|
||||
sed -i -e "s/-flto=thin/-flto/" solenv/gbuild/platform/com_GCC_defs.mk || die
|
||||
fi
|
||||
|
||||
if use custom-cflags ; then
|
||||
elog "USE=custom-cflags has been selected. You are on your own to make sure that"
|
||||
elog "the build succeeds. Good luck!"
|
||||
else
|
||||
strip-flags
|
||||
fi
|
||||
|
||||
export LO_CLANG_CC=${CC}
|
||||
export LO_CLANG_CXX=${CXX}
|
||||
|
||||
# Show flags set at the end
|
||||
einfo " Used CFLAGS: ${CFLAGS}"
|
||||
einfo " Used LDFLAGS: ${LDFLAGS}"
|
||||
|
||||
# Ensure we use correct toolchain
|
||||
tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
|
||||
|
||||
# optimization flags
|
||||
export GMAKE_OPTIONS="${MAKEOPTS}"
|
||||
# System python enablement:
|
||||
export PYTHON_CFLAGS=$(python_get_CFLAGS)
|
||||
export PYTHON_LIBS=$(python_get_LIBS)
|
||||
|
||||
use kde && export QT5DIR="$(qt5_get_bindir)/.."
|
||||
|
||||
local gentoo_buildid="Gentoo official package"
|
||||
if [[ -n ${LOCOREGIT_VERSION} ]]; then
|
||||
gentoo_buildid+=" (from git: ${LOCOREGIT_VERSION})"
|
||||
fi
|
||||
|
||||
# system headers/libs/...: enforce using system packages
|
||||
# --disable-breakpad: requires not-yet-in-tree dev-utils/breakpad
|
||||
# --enable-cairo: ensure that cairo is always required
|
||||
# --enable-*-link: link to the library rather than just dlopen on runtime
|
||||
# --enable-release-build: build the libreoffice as release
|
||||
# --disable-fetch-external: prevent dowloading during compile phase
|
||||
# --enable-extension-integration: enable any extension integration support
|
||||
# --without-{fonts,myspell-dicts,ppsd}: prevent install of sys pkgs
|
||||
# --disable-report-builder: too much java packages pulled in without pkgs
|
||||
# --without-system-sane: just sane.h header that is used for scan in writer,
|
||||
# not linked or anything else, worthless to depend on
|
||||
# --disable-pdfium: not yet packaged
|
||||
local myeconfargs=(
|
||||
--with-system-dicts
|
||||
--with-system-epoxy
|
||||
--with-system-headers
|
||||
--with-system-jars
|
||||
--with-system-libs
|
||||
--enable-build-opensymbol
|
||||
--enable-cairo-canvas
|
||||
--enable-largefile
|
||||
--enable-mergelibs
|
||||
--enable-python=system
|
||||
--enable-randr
|
||||
--enable-release-build
|
||||
--disable-breakpad
|
||||
--disable-bundle-mariadb
|
||||
--disable-ccache
|
||||
--disable-epm
|
||||
--disable-fetch-external
|
||||
--disable-gtk3-kde5
|
||||
--disable-online-update
|
||||
--disable-openssl
|
||||
--disable-pdfium
|
||||
--disable-qt6
|
||||
--with-extra-buildid="${gentoo_buildid}"
|
||||
--enable-extension-integration
|
||||
--with-external-dict-dir="${EPREFIX}/usr/share/myspell"
|
||||
--with-external-hyph-dir="${EPREFIX}/usr/share/myspell"
|
||||
--with-external-thes-dir="${EPREFIX}/usr/share/myspell"
|
||||
--with-external-tar="${DISTDIR}"
|
||||
--with-lang=""
|
||||
--with-parallelism=$(makeopts_jobs)
|
||||
--with-system-openjpeg
|
||||
--with-tls=nss
|
||||
--with-vendor="Gentoo Foundation"
|
||||
--with-x
|
||||
--without-fonts
|
||||
--without-myspell-dicts
|
||||
--with-help="html"
|
||||
--without-helppack-integration
|
||||
--with-system-gpgmepp
|
||||
--without-system-abseil
|
||||
--without-system-dragonbox
|
||||
--without-system-frozen
|
||||
--without-system-jfreereport
|
||||
--without-system-libfixmath
|
||||
--without-system-sane
|
||||
$(use_enable base report-builder)
|
||||
$(use_enable bluetooth sdremote-bluetooth)
|
||||
$(use_enable coinmp)
|
||||
$(use_enable cups)
|
||||
$(use_enable dbus)
|
||||
$(use_enable debug)
|
||||
$(use_enable eds evolution2)
|
||||
$(use_enable firebird firebird-sdbc)
|
||||
$(use_enable gstreamer gstreamer-1-0)
|
||||
$(use_enable gtk gtk3)
|
||||
$(use_enable kde kf5)
|
||||
$(use_enable kde qt5)
|
||||
$(use_enable ldap)
|
||||
$(use_enable odk)
|
||||
$(use_enable pdfimport)
|
||||
$(use_enable postgres postgresql-sdbc)
|
||||
$(use_enable vulkan skia)
|
||||
$(use_with accessibility lxml)
|
||||
$(use_with coinmp system-coinmp)
|
||||
$(use_with googledrive gdrive-client-id ${google_default_client_id})
|
||||
$(use_with googledrive gdrive-client-secret ${google_default_client_secret})
|
||||
$(use_with java)
|
||||
$(use_with odk doxygen)
|
||||
$(use_with valgrind)
|
||||
)
|
||||
|
||||
if use eds || use gtk; then
|
||||
myeconfargs+=( --enable-dconf --enable-gio )
|
||||
else
|
||||
myeconfargs+=( --disable-dconf --disable-gio )
|
||||
fi
|
||||
|
||||
# libreoffice extensions handling
|
||||
for lo_xt in ${LO_EXTS}; do
|
||||
if [[ "${lo_xt}" == "scripting-beanshell" || "${lo_xt}" == "scripting-javascript" ]]; then
|
||||
myeconfargs+=( $(use_enable libreoffice_extensions_${lo_xt} ${lo_xt}) )
|
||||
else
|
||||
myeconfargs+=( $(use_enable libreoffice_extensions_${lo_xt} ext-${lo_xt}) )
|
||||
fi
|
||||
done
|
||||
|
||||
if use java; then
|
||||
# hsqldb: system one is too new
|
||||
myeconfargs+=(
|
||||
--without-junit
|
||||
--without-system-hsqldb
|
||||
--with-ant-home="${ANT_HOME}"
|
||||
--with-jdk-home="${JAVA_HOME}"
|
||||
)
|
||||
|
||||
use libreoffice_extensions_scripting-beanshell && \
|
||||
myeconfargs+=( --with-beanshell-jar=$(java-pkg_getjar bsh bsh.jar) )
|
||||
|
||||
use libreoffice_extensions_scripting-javascript && \
|
||||
myeconfargs+=( --with-rhino-jar=$(java-pkg_getjar rhino-1.6 rhino.jar) )
|
||||
fi
|
||||
|
||||
tc-is-lto && myeconfargs+=( --enable-lto )
|
||||
|
||||
MARIADBCONFIG="$(type -p $(usex mariadb mariadb mysql)_config)" \
|
||||
econf "${myeconfargs[@]}"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# more and more LO stuff tries to use OpenGL, including tests during build
|
||||
# bug 501508, bug 540624, bug 545974 and probably more
|
||||
addpredict /dev/dri
|
||||
addpredict /dev/ati
|
||||
addpredict /dev/nvidiactl
|
||||
|
||||
default
|
||||
}
|
||||
|
||||
src_test() {
|
||||
emake unitcheck
|
||||
emake slowcheck
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake DESTDIR="${D}" distro-pack-install -o build -o check
|
||||
|
||||
# bug 593514
|
||||
if use gtk; then
|
||||
dosym libreoffice/program/liblibreofficekitgtk.so \
|
||||
/usr/$(get_libdir)/liblibreofficekitgtk.so
|
||||
fi
|
||||
|
||||
# bash completion aliases
|
||||
bashcomp_alias \
|
||||
libreoffice \
|
||||
unopkg loimpress lobase localc lodraw lomath lowriter lofromtemplate loweb loffice
|
||||
|
||||
if use branding; then
|
||||
insinto /usr/$(get_libdir)/${PN}/program
|
||||
newins "${WORKDIR}/branding-sofficerc" sofficerc
|
||||
dodir /etc/env.d
|
||||
echo "CONFIG_PROTECT=/usr/$(get_libdir)/${PN}/program/sofficerc" > "${ED}"/etc/env.d/99${PN} || die
|
||||
fi
|
||||
|
||||
# bug 703474
|
||||
insinto /usr/include
|
||||
doins -r include/LibreOfficeKit
|
||||
|
||||
local lodir=/usr/$(get_libdir)/libreoffice
|
||||
# patching this would break tests
|
||||
cat <<-EOF > "${T}"/uno.py
|
||||
import sys, os
|
||||
sys.path.append('${EPREFIX}${lodir}/program')
|
||||
os.putenv('URE_BOOTSTRAP', 'vnd.sun.star.pathname:${EPREFIX}${lodir}/program/fundamentalrc')
|
||||
EOF
|
||||
sed -e "/^import sys/d" -e "/^import os/d" \
|
||||
-i "${D}"${lodir}/program/uno.py || die "cleanup dupl imports failed"
|
||||
cat "${D}"${lodir}/program/uno.py >> "${T}"/uno.py || die
|
||||
cp "${T}"/uno.py "${D}"${lodir}/program/uno.py || die
|
||||
|
||||
# more system pyuno mess
|
||||
sed -e "/sOffice = \"\" # lets hope for the best/s:\"\":\"${EPREFIX}${lodir}/program\":" \
|
||||
-i "${D}"${lodir}/program/officehelper.py || die
|
||||
|
||||
python_optimize "${D}"${lodir}/program
|
||||
# link python bridge in site-packages, bug 667802
|
||||
local py pyc loprogdir=/usr/$(get_libdir)/libreoffice/program
|
||||
for py in uno.py unohelper.py officehelper.py; do
|
||||
dosym -r ${loprogdir}/${py} $(python_get_sitedir)/${py}
|
||||
while IFS="" read -d $'\0' -r pyc; do
|
||||
pyc=${pyc//*\/}
|
||||
dosym -r ${loprogdir}/__pycache__/${pyc} $(python_get_sitedir)/__pycache__/${pyc}
|
||||
done < <(find "${D}"${lodir}/program -type f -name ${py/.py/*.pyc} -print0)
|
||||
done
|
||||
|
||||
newinitd "${FILESDIR}/libreoffice.initd" libreoffice
|
||||
newconfd "${FILESDIR}/libreoffice.confd" libreoffice
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
xdg_icon_cache_update
|
||||
xdg_desktop_database_update
|
||||
xdg_mimeinfo_database_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
xdg_icon_cache_update
|
||||
xdg_desktop_database_update
|
||||
xdg_mimeinfo_database_update
|
||||
}
|
@ -1 +1,2 @@
|
||||
DIST worklog-assistant-v2_2.1.3580_amd64.deb 31434440 BLAKE2B 44a85e3cefa652fac6d01d2b3dc0e1a32128d8c7e27b6177d2c3187b97011cf5cce7493d67e9f989e034f26bd88589e3d9960232a5da2dbadf909c26bede2ce9 SHA512 cac38acfd7e00a57f6869d1205920a27f5e6cc0525b09cc7b76350df38d5b6dd673779df22fdf55e8e327cb591a1c4738fe23645a6e42b6d2753af2eb330a646
|
||||
DIST worklog-assistant-v2_2.3.3900_amd64.deb 38333978 BLAKE2B 5e12d4ddaf6354e817959752fddf6b9409a47c3dd32de4c8e946ab9dc3c2d44333f43de77fe575300520070d65f6e22bb1f521eda22d3b572585758b92f1c4c9 SHA512 94b2c16e6e802fbe240f58f115626018e3d63feed8704fd6769d21657b6bf98387f325d4986ed4b096e7ca11d9c55b8dd6a471ccc57e68fd2c60bbca16a10ebb
|
||||
|
@ -0,0 +1,30 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit unpacker
|
||||
|
||||
DESCRIPTION="Hassle-free time tracking for JIRA self-hosted and OnDemand"
|
||||
HOMEPAGE="https://worklogassistant.com"
|
||||
SRC_URI="https://worklogassistant.com/downloads/${PN%-bin}-v2_${PV}_amd64.deb"
|
||||
S=${WORKDIR}
|
||||
|
||||
LICENSE="worklog-assistant"
|
||||
SLOT="0"
|
||||
KEYWORDS="-* ~amd64"
|
||||
RESTRICT="fetch bindist strip"
|
||||
|
||||
QA_PREBUILT="opt/Worklog Assistant/*"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
rm -r etc/ || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
mv * "${ED}" || die
|
||||
|
||||
dosym -r "/opt/Worklog Assistant/bin/Worklog Assistant" /opt/bin/WorklogAssistant
|
||||
}
|
Binary file not shown.
@ -1,44 +0,0 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit autotools systemd udev
|
||||
|
||||
DESCRIPTION="USB multiplex daemon for use with Apple iPhone/iPod Touch devices"
|
||||
HOMEPAGE="https://libimobiledevice.org/"
|
||||
SRC_URI="https://github.com/libimobiledevice/usbmuxd/releases/download/${PV}/${P}.tar.bz2"
|
||||
|
||||
# src/utils.h is LGPL-2.1+, rest is found in COPYING*
|
||||
LICENSE="GPL-2 GPL-3 LGPL-2.1+"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 ~arm ~ppc ~ppc64 x86"
|
||||
IUSE="selinux systemd"
|
||||
|
||||
DEPEND="
|
||||
acct-user/usbmux
|
||||
>=app-pda/libimobiledevice-1.0:=
|
||||
>=app-pda/libplist-2.0:=
|
||||
virtual/libusb:1"
|
||||
|
||||
RDEPEND="
|
||||
${DEPEND}
|
||||
virtual/udev
|
||||
selinux? ( sec-policy/selinux-usbmuxd )
|
||||
"
|
||||
|
||||
BDEPEND="
|
||||
virtual/pkgconfig
|
||||
"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
econf \
|
||||
$(use_with systemd) \
|
||||
--with-systemdsystemunitdir="$(systemd_get_systemunitdir)" \
|
||||
--with-udevrulesdir="$(get_udevdir)"/rules.d
|
||||
}
|
Binary file not shown.
@ -0,0 +1,25 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit go-module
|
||||
|
||||
DESCRIPTION="A pure Go re-implementation of genlop"
|
||||
HOMEPAGE="https://github.com/klausman/golop"
|
||||
SRC_URI="https://github.com/klausman/golop/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~riscv ~x86"
|
||||
|
||||
src_compile() {
|
||||
ego build -v -o ${PN}
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dobin ${PN}
|
||||
|
||||
local DOCS=( README.md )
|
||||
einstalldocs
|
||||
}
|
@ -1,31 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="6"
|
||||
EGO_PN=github.com/klausman/golop
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
inherit golang-vcs
|
||||
else
|
||||
KEYWORDS="~amd64 ~riscv ~x86"
|
||||
EGIT_COMMIT=v${PV}
|
||||
SRC_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
|
||||
inherit golang-vcs-snapshot
|
||||
fi
|
||||
inherit golang-build
|
||||
|
||||
DESCRIPTION="A pure Go re-implementation of genlop"
|
||||
HOMEPAGE="https://github.com/klausman/golop"
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE=""
|
||||
DEPEND=""
|
||||
RDEPEND=""
|
||||
|
||||
src_install() {
|
||||
dobin ${PN}
|
||||
|
||||
declare -a DOCS
|
||||
DOCS+=( src/${EGO_PN}/README.md )
|
||||
einstalldocs
|
||||
}
|
@ -1,36 +0,0 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="6"
|
||||
EGO_PN=github.com/klausman/golop
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
inherit golang-vcs
|
||||
else
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
EGIT_COMMIT=v${PV}
|
||||
SRC_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
|
||||
inherit golang-vcs-snapshot
|
||||
fi
|
||||
inherit golang-build prefix
|
||||
|
||||
DESCRIPTION="A pure Go re-implementation of genlop"
|
||||
HOMEPAGE="https://github.com/klausman/golop"
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE=""
|
||||
DEPEND=""
|
||||
RDEPEND=""
|
||||
|
||||
src_prepare() {
|
||||
sed -i -e 's@/var/log/emerge.log@'"${EPREFIX}"'&@g' src/github.com/klausman/golop/main.go || die
|
||||
default
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dobin ${PN}
|
||||
|
||||
declare -a DOCS
|
||||
DOCS+=( src/${EGO_PN}/README.md )
|
||||
einstalldocs
|
||||
}
|
@ -1,3 +1,4 @@
|
||||
DIST portage-utils-0.95.tar.xz 1806140 BLAKE2B 5a468a7b4006073203ba634a5d70398e254ef5db7e9b71fbcf20bce68942f74acce1d42b5d315931f93e8698c8dd2f38f328fcc6fdaa86addba7dbcc21fce5fa SHA512 2d1f4b986a377249043259d8ada1a35a7dd55179f0ef5c2c18a4180c8f1f7064133ab2677426098e61b1355fa26cb0f8aa3c6ea06d46af4c4ba2df4eb53489a4
|
||||
DIST portage-utils-0.96.1.tar.xz 1807156 BLAKE2B 6bf334c0083e5e8b0d6206ff43d4df0e32a9576ddedbe055cb6ef903b5f11d0878512ace7f93ea37207181321ca160a8f721b3095b2bcbfcdbb353ba3f5d4873 SHA512 769e734e0738aa52408fd6c151706085148818a19b2ad1051684e2d54fe9f486f2e3a25e8fb408c83325cfb428644c6c0aa3b6d1bac0d2189680c70d9657bcbf
|
||||
DIST portage-utils-0.96.tar.xz 1806032 BLAKE2B 93ef9658a4b0bae7fb0527462bd9d0d19f396262818380d8ec2022c9fda596265c50adc262bdf296a4dd8c6b891b064316281d21444c8b903db20ca2463879e3 SHA512 cc32f53532c082544cabe505d8b90b947b6ab48742678aa98cbe9ba291625e8449ed0ecd90e01dc00b06c209b34001ad57a060918658e53d3babdc5c76ea7b02
|
||||
DIST portage-utils-0.97.tar.xz 1861616 BLAKE2B bdb4c6c1260a00304fb2c659629e0ddd4ca0378b1a060ea8b1f02ecb6060b4101c6e8984a6befd8b831a2b415fcdc5a51b6dac2fb203b36585f4a7d389ea0913 SHA512 f0f9ecf87df6e08b7f7dbdfe758c1a585a6836478d3adbcecdc2e33c9cfd78a5a10ae3090f0aa5ad0fa8a1eff88bf9e512d861b46bc77e5a536b46a3b36cd466
|
||||
|
@ -0,0 +1,70 @@
|
||||
# Copyright 1999-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit flag-o-matic toolchain-funcs
|
||||
|
||||
DESCRIPTION="Small and fast Portage helper tools written in C"
|
||||
HOMEPAGE="https://wiki.gentoo.org/wiki/Portage-utils"
|
||||
|
||||
if [[ ${PV} == *9999 ]]; then
|
||||
inherit git-r3 autotools
|
||||
EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/portage-utils.git"
|
||||
else
|
||||
SRC_URI="https://dev.gentoo.org/~grobian/distfiles/${P}.tar.xz"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
fi
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
IUSE="openmp +qmanifest static"
|
||||
|
||||
RDEPEND="
|
||||
openmp? ( || (
|
||||
sys-devel/gcc:*[openmp]
|
||||
sys-libs/libomp
|
||||
) )
|
||||
qmanifest? (
|
||||
!static? (
|
||||
app-crypt/gpgme:=
|
||||
app-crypt/libb2:=
|
||||
sys-libs/zlib:=
|
||||
)
|
||||
)"
|
||||
DEPEND="${RDEPEND}
|
||||
qmanifest? (
|
||||
static? (
|
||||
app-crypt/gpgme[static-libs]
|
||||
app-crypt/libb2[static-libs]
|
||||
sys-libs/zlib[static-libs]
|
||||
)
|
||||
)"
|
||||
BDEPEND="virtual/pkgconfig"
|
||||
|
||||
# bug #898362, gnulib explicit checks
|
||||
QA_CONFIG_IMPL_DECL_SKIP=(
|
||||
"MIN"
|
||||
"unreachable"
|
||||
"alignof"
|
||||
"static_assert"
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
[[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
[[ ${PV} == *9999 ]] && eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
use static && append-ldflags -static
|
||||
|
||||
econf \
|
||||
--disable-maintainer-mode \
|
||||
--with-eprefix="${EPREFIX}" \
|
||||
$(use_enable qmanifest) \
|
||||
$(use_enable openmp)
|
||||
}
|
Binary file not shown.
@ -0,0 +1,353 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/chetramey.asc
|
||||
inherit flag-o-matic toolchain-funcs prefix verify-sig
|
||||
|
||||
# Uncomment if we have a patchset
|
||||
GENTOO_PATCH_DEV="sam"
|
||||
GENTOO_PATCH_VER="${PV}"
|
||||
|
||||
# Official patchlevel
|
||||
# See ftp://ftp.cwru.edu/pub/bash/bash-5.1-patches/
|
||||
PLEVEL="${PV##*_p}"
|
||||
MY_PV="${PV/_p*}"
|
||||
MY_PV="${MY_PV/_/-}"
|
||||
MY_P="${PN}-${MY_PV}"
|
||||
MY_PATCHES=()
|
||||
|
||||
is_release() {
|
||||
case ${PV} in
|
||||
*_alpha*|*_beta*|*_rc*)
|
||||
return 1
|
||||
;;
|
||||
*)
|
||||
return 0
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
[[ ${PV} != *_p* ]] && PLEVEL=0
|
||||
|
||||
# The version of readline this bash normally ships with.
|
||||
READLINE_VER="8.1"
|
||||
|
||||
DESCRIPTION="The standard GNU Bourne again shell"
|
||||
HOMEPAGE="https://tiswww.case.edu/php/chet/bash/bashtop.html"
|
||||
|
||||
if is_release ; then
|
||||
SRC_URI="mirror://gnu/bash/${MY_P}.tar.gz"
|
||||
SRC_URI+=" verify-sig? ( mirror://gnu/bash/${MY_P}.tar.gz.sig )"
|
||||
|
||||
if [[ ${PLEVEL} -gt 0 ]] ; then
|
||||
# bash-5.1 -> bash51
|
||||
my_p=${PN}$(ver_rs 1-2 '' $(ver_cut 1-2))
|
||||
|
||||
patch_url=
|
||||
my_patch_index=
|
||||
|
||||
upstream_url_base="mirror://gnu/bash"
|
||||
mirror_url_base="ftp://ftp.cwru.edu/pub/bash"
|
||||
|
||||
for ((my_patch_index=1; my_patch_index <= ${PLEVEL} ; my_patch_index++)) ; do
|
||||
printf -v mangled_patch_ver ${my_p}-%03d ${my_patch_index}
|
||||
patch_url="${upstream_url_base}/${MY_P}-patches/${mangled_patch_ver}"
|
||||
|
||||
SRC_URI+=" ${patch_url}"
|
||||
SRC_URI+=" verify-sig? ( ${patch_url}.sig )"
|
||||
|
||||
# Add in the mirror URL too.
|
||||
SRC_URI+=" ${patch_url/${upstream_url_base}/${mirror_url_base}}"
|
||||
SRC_URI+=" verify-sig? ( ${patch_url/${upstream_url_base}/${mirror_url_base}} )"
|
||||
|
||||
MY_PATCHES+=( "${DISTDIR}"/${mangled_patch_ver} )
|
||||
done
|
||||
|
||||
unset my_p patch_url my_patch_index upstream_url_base mirror_url_base
|
||||
fi
|
||||
else
|
||||
SRC_URI="ftp://ftp.cwru.edu/pub/bash/${MY_P}.tar.gz"
|
||||
SRC_URI+=" verify-sig? ( ftp://ftp.cwru.edu/pub/bash/${MY_P}.tar.gz.sig )"
|
||||
fi
|
||||
|
||||
if [[ -n ${GENTOO_PATCH_VER} ]] ; then
|
||||
SRC_URI+=" https://dev.gentoo.org/~${GENTOO_PATCH_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${GENTOO_PATCH_VER}-patches.tar.xz"
|
||||
fi
|
||||
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
[[ "${PV}" == *_rc* ]] || \
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
IUSE="afs bashlogger examples mem-scramble +net nls plugins +readline"
|
||||
|
||||
DEPEND="
|
||||
>=sys-libs/ncurses-5.2-r2:0=
|
||||
nls? ( virtual/libintl )
|
||||
readline? ( >=sys-libs/readline-${READLINE_VER}:0= )
|
||||
"
|
||||
RDEPEND="
|
||||
${DEPEND}
|
||||
"
|
||||
# We only need bison (yacc) when the .y files get patched (bash42-005, bash51-011)
|
||||
BDEPEND="sys-devel/bison
|
||||
verify-sig? ( sec-keys/openpgp-keys-chetramey )"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
PATCHES=(
|
||||
# Patches from Chet sent to bashbug ml
|
||||
"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/${PN}-5.0-syslog-history-extern.patch
|
||||
|
||||
"${FILESDIR}"/${PN}-5.1_p16-configure-clang16.patch
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
# bug #7332
|
||||
if is-flag -malign-double ; then
|
||||
eerror "Detected bad CFLAGS '-malign-double'. Do not use this"
|
||||
eerror "as it breaks LFS (struct stat64) on x86."
|
||||
die "remove -malign-double from your CFLAGS mr ricer"
|
||||
fi
|
||||
|
||||
if use bashlogger ; then
|
||||
ewarn "The logging patch should ONLY be used in restricted (i.e. honeypot) envs."
|
||||
ewarn "This will log ALL output you enter into the shell, you have been warned."
|
||||
fi
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == 9999 ]] ; then
|
||||
git-r3_src_unpack
|
||||
else
|
||||
if use verify-sig ; then
|
||||
verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.gz{,.sig}
|
||||
|
||||
local patch
|
||||
for patch in "${MY_PATCHES[@]}" ; do
|
||||
verify-sig_verify_detached ${patch}{,.sig}
|
||||
done
|
||||
fi
|
||||
|
||||
unpack ${MY_P}.tar.gz
|
||||
|
||||
if [[ -n ${GENTOO_PATCH_VER} ]] ; then
|
||||
unpack ${PN}-${GENTOO_PATCH_VER}-patches.tar.xz
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Include official patches
|
||||
[[ ${PLEVEL} -gt 0 ]] && eapply -p0 "${MY_PATCHES[@]}"
|
||||
|
||||
# Clean out local libs so we know we use system ones w/releases.
|
||||
if is_release ; then
|
||||
rm -rf lib/{readline,termcap}/* || die
|
||||
touch lib/{readline,termcap}/Makefile.in || die # for config.status
|
||||
sed -ri -e 's:\$[{(](RL|HIST)_LIBSRC[)}]/[[:alpha:]_-]*\.h::g' Makefile.in || die
|
||||
fi
|
||||
|
||||
# Prefixify hardcoded path names. No-op for non-prefix.
|
||||
hprefixify pathnames.h.in
|
||||
|
||||
# Avoid regenerating docs after patches, bug #407985
|
||||
sed -i -r '/^(HS|RL)USER/s:=.*:=:' doc/Makefile.in || die
|
||||
touch -r . doc/* || die
|
||||
|
||||
eapply -p0 "${PATCHES[@]}"
|
||||
eapply_user
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# Upstream only test with Bison and require GNUisms like YYEOF and
|
||||
# YYERRCODE. The former at least may be in POSIX soon:
|
||||
# https://www.austingroupbugs.net/view.php?id=1269.
|
||||
# configure warns on use of non-Bison but doesn't abort. The result
|
||||
# may misbehave at runtime.
|
||||
unset YACC
|
||||
|
||||
local myconf=(
|
||||
--disable-profiling
|
||||
|
||||
# Force linking with system curses ... the bundled termcap lib
|
||||
# sucks bad compared to ncurses. For the most part, ncurses
|
||||
# is here because readline needs it. But bash itself calls
|
||||
# ncurses in one or two small places :(.
|
||||
--with-curses
|
||||
|
||||
$(use_enable mem-scramble)
|
||||
$(use_enable net net-redirections)
|
||||
$(use_enable readline)
|
||||
$(use_enable readline bang-history)
|
||||
$(use_enable readline history)
|
||||
$(use_with afs)
|
||||
$(use_with mem-scramble bash-malloc)
|
||||
)
|
||||
|
||||
# For descriptions of these, see config-top.h
|
||||
# bashrc/#26952 bash_logout/#90488 ssh/#24762 mktemp/#574426
|
||||
append-cppflags \
|
||||
-DDEFAULT_PATH_VALUE=\'\""${EPREFIX}"/usr/local/sbin:"${EPREFIX}"/usr/local/bin:"${EPREFIX}"/usr/sbin:"${EPREFIX}"/usr/bin:"${EPREFIX}"/sbin:"${EPREFIX}"/bin\"\' \
|
||||
-DSTANDARD_UTILS_PATH=\'\""${EPREFIX}"/bin:"${EPREFIX}"/usr/bin:"${EPREFIX}"/sbin:"${EPREFIX}"/usr/sbin\"\' \
|
||||
-DSYS_BASHRC=\'\""${EPREFIX}"/etc/bash/bashrc\"\' \
|
||||
-DSYS_BASH_LOGOUT=\'\""${EPREFIX}"/etc/bash/bash_logout\"\' \
|
||||
-DNON_INTERACTIVE_LOGIN_SHELLS \
|
||||
-DSSH_SOURCE_BASHRC \
|
||||
$(use bashlogger && echo -DSYSLOG_HISTORY)
|
||||
|
||||
# Don't even think about building this statically without
|
||||
# reading bug #7714 first. If you still build it statically,
|
||||
# don't come crying to us with bugs ;).
|
||||
#use static && export LDFLAGS="${LDFLAGS} -static"
|
||||
use nls || myconf+=( --disable-nls )
|
||||
|
||||
# Historically, we always used the builtin readline, but since
|
||||
# our handling of SONAME upgrades has gotten much more stable
|
||||
# in the PM (and the readline ebuild itself preserves the old
|
||||
# libs during upgrades), linking against the system copy should
|
||||
# be safe.
|
||||
# Exact cached version here doesn't really matter as long as it
|
||||
# is at least what's in the DEPEND up above.
|
||||
export ac_cv_rl_version=${READLINE_VER%%_*}
|
||||
|
||||
if is_release ; then
|
||||
# Use system readline only with released versions.
|
||||
myconf+=( --with-installed-readline=. )
|
||||
fi
|
||||
|
||||
if use plugins ; then
|
||||
append-ldflags -Wl,-rpath,"${EPREFIX}"/usr/$(get_libdir)/bash
|
||||
else
|
||||
# Disable the plugins logic by hand since bash doesn't
|
||||
# provide a way of doing it.
|
||||
export ac_cv_func_dl{close,open,sym}=no \
|
||||
ac_cv_lib_dl_dlopen=no ac_cv_header_dlfcn_h=no
|
||||
|
||||
sed -i \
|
||||
-e '/LOCAL_LDFLAGS=/s:-rdynamic::' \
|
||||
configure || die
|
||||
fi
|
||||
|
||||
# bug #444070
|
||||
tc-export AR
|
||||
|
||||
econf "${myconf[@]}"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake
|
||||
|
||||
if use plugins ; then
|
||||
emake -C examples/loadables all others
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local d f
|
||||
|
||||
default
|
||||
|
||||
dodir /bin
|
||||
mv "${ED}"/usr/bin/bash "${ED}"/bin/ || die
|
||||
dosym bash /bin/rbash
|
||||
|
||||
insinto /etc/bash
|
||||
doins "${FILESDIR}"/bash_logout
|
||||
newins "$(prefixify_ro "${FILESDIR}"/bashrc-r1)" bashrc
|
||||
|
||||
insinto /etc/bash/bashrc.d
|
||||
doins "${FILESDIR}"/bashrc.d/*.bash
|
||||
|
||||
insinto /etc/skel
|
||||
for f in bash{_logout,_profile,rc} ; do
|
||||
newins "${FILESDIR}"/dot-${f} .${f}
|
||||
done
|
||||
|
||||
local sed_args=(
|
||||
-e 's:#GNU#@::'
|
||||
-e '/#@/d'
|
||||
)
|
||||
|
||||
if ! use readline ; then
|
||||
# bug #432338
|
||||
sed_args+=(
|
||||
-e '/^shopt -s histappend/s:^:#:'
|
||||
-e 's:use_color=true:use_color=false:'
|
||||
)
|
||||
fi
|
||||
|
||||
sed -i \
|
||||
"${sed_args[@]}" \
|
||||
"${ED}"/etc/skel/.bashrc \
|
||||
"${ED}"/etc/bash/bashrc || die
|
||||
|
||||
if use plugins ; then
|
||||
exeinto /usr/$(get_libdir)/bash
|
||||
doexe $(echo examples/loadables/*.o | sed 's:\.o::g')
|
||||
|
||||
insinto /usr/include/bash-plugins
|
||||
doins *.h builtins/*.h include/*.h lib/{glob/glob.h,tilde/tilde.h}
|
||||
fi
|
||||
|
||||
if use examples ; then
|
||||
for d in examples/{functions,misc,scripts,startup-files} ; do
|
||||
exeinto /usr/share/doc/${PF}/${d}
|
||||
docinto ${d}
|
||||
for f in ${d}/* ; do
|
||||
if [[ ${f##*/} != PERMISSION ]] && [[ ${f##*/} != *README ]] ; then
|
||||
doexe ${f}
|
||||
else
|
||||
dodoc ${f}
|
||||
fi
|
||||
done
|
||||
done
|
||||
fi
|
||||
|
||||
# Install bash_builtins.1 and rbash.1
|
||||
emake -C doc DESTDIR="${D}" install_builtins
|
||||
sed 's:bash\.1:man1/&:' doc/rbash.1 > "${T}"/rbash.1 || die
|
||||
doman "${T}"/rbash.1
|
||||
|
||||
newdoc CWRU/changelog ChangeLog
|
||||
dosym bash.info /usr/share/info/bashref.info
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
if [[ -e ${EROOT}/etc/bashrc ]] && [[ ! -d ${EROOT}/etc/bash ]] ; then
|
||||
mkdir -p "${EROOT}"/etc/bash
|
||||
mv -f "${EROOT}"/etc/bashrc "${EROOT}"/etc/bash/
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
local old_ver
|
||||
|
||||
# If /bin/sh does not exist, provide it
|
||||
if [[ ! -e ${EROOT}/bin/sh ]] ; then
|
||||
ln -sf bash "${EROOT}"/bin/sh
|
||||
fi
|
||||
|
||||
read -r old_ver <<<"${REPLACING_VERSIONS}"
|
||||
if [[ ! $old_ver ]] ; then
|
||||
:
|
||||
elif ver_test "$old_ver" -ge "5.2" && ver_test "$old_ver" -ge "5.2_p26-r1" ; then
|
||||
return
|
||||
elif ver_test "$old_ver" -lt "5.2" && ver_test "$old_ver" -ge "5.1_p16-r8" ; then
|
||||
return
|
||||
fi
|
||||
|
||||
einfo "Files situated under /etc/bash/bashrc.d must now have a suffix of .sh or .bash."
|
||||
einfo ""
|
||||
einfo "Gentoo now defaults to defining PROMPT_COMMAND as an array. Depending on the"
|
||||
einfo "characteristics of the operating environment, this array may contain commands"
|
||||
einfo "to set the window and pane title. Users that choose to customise this variable"
|
||||
einfo "in ~/.bashrc are advised to append their commands, using the following syntax."
|
||||
einfo ""
|
||||
einfo "PROMPT_COMMAND+=('custom command goes here')"
|
||||
einfo ""
|
||||
einfo "Alternatively, users that wish to opt out of Gentoo's window title setting"
|
||||
einfo "behaviour may now do so by either unsetting PROMPT_COMMAND or by re-defining it"
|
||||
einfo "as desired. Previously, there was no formally supported method of opting out."
|
||||
}
|
@ -0,0 +1,400 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/chetramey.asc
|
||||
inherit flag-o-matic toolchain-funcs prefix verify-sig
|
||||
|
||||
# Uncomment if we have a patchset
|
||||
#GENTOO_PATCH_DEV="sam"
|
||||
#GENTOO_PATCH_VER="${PV}"
|
||||
|
||||
# Official patchlevel
|
||||
# See ftp://ftp.cwru.edu/pub/bash/bash-5.1-patches/
|
||||
PLEVEL="${PV##*_p}"
|
||||
MY_PV="${PV/_p*}"
|
||||
MY_PV="${MY_PV/_/-}"
|
||||
MY_P="${PN}-${MY_PV}"
|
||||
MY_PATCHES=()
|
||||
|
||||
is_release() {
|
||||
case ${PV} in
|
||||
9999|*_alpha*|*_beta*|*_rc*)
|
||||
return 1
|
||||
;;
|
||||
*)
|
||||
return 0
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
[[ ${PV} != *_p* ]] && PLEVEL=0
|
||||
|
||||
# The version of readline this bash normally ships with.
|
||||
# Note: right now, we don't use the system copy of readline for bash for non-releases.
|
||||
READLINE_VER="8.2_p1"
|
||||
|
||||
DESCRIPTION="The standard GNU Bourne again shell"
|
||||
HOMEPAGE="https://tiswww.case.edu/php/chet/bash/bashtop.html https://git.savannah.gnu.org/cgit/bash.git"
|
||||
|
||||
if [[ ${PV} == 9999 ]] ; then
|
||||
EGIT_REPO_URI="https://git.savannah.gnu.org/git/bash.git"
|
||||
EGIT_BRANCH=devel
|
||||
inherit git-r3
|
||||
elif is_release ; then
|
||||
SRC_URI="mirror://gnu/bash/${MY_P}.tar.gz"
|
||||
SRC_URI+=" verify-sig? ( mirror://gnu/bash/${MY_P}.tar.gz.sig )"
|
||||
|
||||
if [[ ${PLEVEL} -gt 0 ]] ; then
|
||||
# bash-5.1 -> bash51
|
||||
my_p=${PN}$(ver_rs 1-2 '' $(ver_cut 1-2))
|
||||
|
||||
patch_url=
|
||||
my_patch_index=
|
||||
|
||||
upstream_url_base="mirror://gnu/bash"
|
||||
mirror_url_base="ftp://ftp.cwru.edu/pub/bash"
|
||||
|
||||
for ((my_patch_index=1; my_patch_index <= ${PLEVEL} ; my_patch_index++)) ; do
|
||||
printf -v mangled_patch_ver ${my_p}-%03d ${my_patch_index}
|
||||
patch_url="${upstream_url_base}/${MY_P}-patches/${mangled_patch_ver}"
|
||||
|
||||
SRC_URI+=" ${patch_url}"
|
||||
SRC_URI+=" verify-sig? ( ${patch_url}.sig )"
|
||||
|
||||
# Add in the mirror URL too.
|
||||
SRC_URI+=" ${patch_url/${upstream_url_base}/${mirror_url_base}}"
|
||||
SRC_URI+=" verify-sig? ( ${patch_url/${upstream_url_base}/${mirror_url_base}} )"
|
||||
|
||||
MY_PATCHES+=( "${DISTDIR}"/${mangled_patch_ver} )
|
||||
done
|
||||
|
||||
unset my_p patch_url my_patch_index upstream_url_base mirror_url_base
|
||||
fi
|
||||
else
|
||||
SRC_URI="mirror://gnu/${PN}/${MY_P}.tar.gz ftp://ftp.cwru.edu/pub/bash/${MY_P}.tar.gz"
|
||||
SRC_URI+=" verify-sig? ( mirror://gnu/${PN}/${MY_P}.tar.gz.sig ftp://ftp.cwru.edu/pub/bash/${MY_P}.tar.gz.sig )"
|
||||
fi
|
||||
|
||||
if [[ -n ${GENTOO_PATCH_VER} ]] ; then
|
||||
SRC_URI+=" https://dev.gentoo.org/~${GENTOO_PATCH_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${GENTOO_PATCH_VER}-patches.tar.xz"
|
||||
fi
|
||||
|
||||
LICENSE="GPL-3+"
|
||||
SLOT="0"
|
||||
if is_release ; then
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
fi
|
||||
IUSE="afs bashlogger examples mem-scramble +net nls plugins pgo +readline"
|
||||
|
||||
DEPEND="
|
||||
>=sys-libs/ncurses-5.2-r2:=
|
||||
nls? ( virtual/libintl )
|
||||
"
|
||||
if is_release ; then
|
||||
DEPEND+=" readline? ( >=sys-libs/readline-${READLINE_VER}:= )"
|
||||
fi
|
||||
RDEPEND="
|
||||
${DEPEND}
|
||||
"
|
||||
# We only need bison (yacc) when the .y files get patched (bash42-005, bash51-011)
|
||||
BDEPEND="
|
||||
pgo? ( dev-util/gperf )
|
||||
verify-sig? ( sec-keys/openpgp-keys-chetramey )
|
||||
"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
# EAPI 8 tries to append it but it doesn't exist here
|
||||
QA_CONFIGURE_OPTIONS="--disable-static"
|
||||
|
||||
PATCHES=(
|
||||
#"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}/
|
||||
|
||||
# Patches from Chet sent to bash-bug ml
|
||||
"${FILESDIR}"/${PN}-5.0-syslog-history-extern.patch
|
||||
"${FILESDIR}"/${PN}-5.2_p15-random-ub.patch
|
||||
"${FILESDIR}"/${PN}-5.2_p15-configure-clang16.patch
|
||||
"${FILESDIR}"/${PN}-5.2_p21-wpointer-to-int.patch
|
||||
"${FILESDIR}"/${PN}-5.2_p21-configure-strtold.patch
|
||||
"${FILESDIR}"/${PN}-5.2_p26-memory-leaks.patch
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
# bug #7332
|
||||
if is-flag -malign-double ; then
|
||||
eerror "Detected bad CFLAGS '-malign-double'. Do not use this"
|
||||
eerror "as it breaks LFS (struct stat64) on x86."
|
||||
die "remove -malign-double from your CFLAGS mr ricer"
|
||||
fi
|
||||
|
||||
if use bashlogger ; then
|
||||
ewarn "The logging patch should ONLY be used in restricted (i.e. honeypot) envs."
|
||||
ewarn "This will log ALL output you enter into the shell, you have been warned."
|
||||
fi
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == 9999 ]] ; then
|
||||
git-r3_src_unpack
|
||||
else
|
||||
if use verify-sig ; then
|
||||
verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.gz{,.sig}
|
||||
|
||||
local patch
|
||||
for patch in "${MY_PATCHES[@]}" ; do
|
||||
verify-sig_verify_detached ${patch}{,.sig}
|
||||
done
|
||||
fi
|
||||
|
||||
unpack ${MY_P}.tar.gz
|
||||
|
||||
if [[ -n ${GENTOO_PATCH_VER} ]] ; then
|
||||
unpack ${PN}-${GENTOO_PATCH_VER}-patches.tar.xz
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Include official patches
|
||||
[[ ${PLEVEL} -gt 0 ]] && eapply -p0 "${MY_PATCHES[@]}"
|
||||
|
||||
# Clean out local libs so we know we use system ones w/releases.
|
||||
if is_release ; then
|
||||
rm -rf lib/{readline,termcap}/* || die
|
||||
touch lib/{readline,termcap}/Makefile.in || die # for config.status
|
||||
sed -ri -e 's:\$[{(](RL|HIST)_LIBSRC[)}]/[[:alpha:]_-]*\.h::g' Makefile.in || die
|
||||
fi
|
||||
|
||||
# Prefixify hardcoded path names. No-op for non-prefix.
|
||||
hprefixify pathnames.h.in
|
||||
|
||||
# Avoid regenerating docs after patches, bug #407985
|
||||
sed -i -r '/^(HS|RL)USER/s:=.*:=:' doc/Makefile.in || die
|
||||
touch -r . doc/* || die
|
||||
|
||||
# Sometimes hangs (more noticeable w/ pgo), bug #907403.
|
||||
rm tests/run-jobs || die
|
||||
|
||||
eapply -p0 "${PATCHES[@]}"
|
||||
eapply_user
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# Upstream only test with Bison and require GNUisms like YYEOF and
|
||||
# YYERRCODE. The former at least may be in POSIX soon:
|
||||
# https://www.austingroupbugs.net/view.php?id=1269.
|
||||
# configure warns on use of non-Bison but doesn't abort. The result
|
||||
# may misbehave at runtime.
|
||||
unset YACC
|
||||
|
||||
local myconf=(
|
||||
--disable-profiling
|
||||
|
||||
# Force linking with system curses ... the bundled termcap lib
|
||||
# sucks bad compared to ncurses. For the most part, ncurses
|
||||
# is here because readline needs it. But bash itself calls
|
||||
# ncurses in one or two small places :(.
|
||||
--with-curses
|
||||
|
||||
$(use_enable mem-scramble)
|
||||
$(use_enable net net-redirections)
|
||||
$(use_enable readline)
|
||||
$(use_enable readline bang-history)
|
||||
$(use_enable readline history)
|
||||
$(use_with afs)
|
||||
$(use_with mem-scramble bash-malloc)
|
||||
)
|
||||
|
||||
# For descriptions of these, see config-top.h
|
||||
# bashrc/#26952 bash_logout/#90488 ssh/#24762 mktemp/#574426
|
||||
append-cppflags \
|
||||
-DDEFAULT_PATH_VALUE=\'\""${EPREFIX}"/usr/local/sbin:"${EPREFIX}"/usr/local/bin:"${EPREFIX}"/usr/sbin:"${EPREFIX}"/usr/bin:"${EPREFIX}"/sbin:"${EPREFIX}"/bin\"\' \
|
||||
-DSTANDARD_UTILS_PATH=\'\""${EPREFIX}"/bin:"${EPREFIX}"/usr/bin:"${EPREFIX}"/sbin:"${EPREFIX}"/usr/sbin\"\' \
|
||||
-DSYS_BASHRC=\'\""${EPREFIX}"/etc/bash/bashrc\"\' \
|
||||
-DSYS_BASH_LOGOUT=\'\""${EPREFIX}"/etc/bash/bash_logout\"\' \
|
||||
-DNON_INTERACTIVE_LOGIN_SHELLS \
|
||||
-DSSH_SOURCE_BASHRC \
|
||||
$(use bashlogger && echo -DSYSLOG_HISTORY)
|
||||
|
||||
# Don't even think about building this statically without
|
||||
# reading bug #7714 first. If you still build it statically,
|
||||
# don't come crying to us with bugs ;).
|
||||
#use static && export LDFLAGS="${LDFLAGS} -static"
|
||||
use nls || myconf+=( --disable-nls )
|
||||
|
||||
if is_release ; then
|
||||
# Historically, we always used the builtin readline, but since
|
||||
# our handling of SONAME upgrades has gotten much more stable
|
||||
# in the PM (and the readline ebuild itself preserves the old
|
||||
# libs during upgrades), linking against the system copy should
|
||||
# be safe.
|
||||
# Exact cached version here doesn't really matter as long as it
|
||||
# is at least what's in the DEPEND up above.
|
||||
export ac_cv_rl_version=${READLINE_VER%%_*}
|
||||
|
||||
# Use system readline only with released versions.
|
||||
myconf+=( --with-installed-readline=. )
|
||||
fi
|
||||
|
||||
if use plugins ; then
|
||||
append-ldflags -Wl,-rpath,"${EPREFIX}"/usr/$(get_libdir)/bash
|
||||
else
|
||||
# Disable the plugins logic by hand since bash doesn't
|
||||
# provide a way of doing it.
|
||||
export ac_cv_func_dl{close,open,sym}=no \
|
||||
ac_cv_lib_dl_dlopen=no ac_cv_header_dlfcn_h=no
|
||||
|
||||
sed -i \
|
||||
-e '/LOCAL_LDFLAGS=/s:-rdynamic::' \
|
||||
configure || die
|
||||
fi
|
||||
|
||||
# bug #444070
|
||||
tc-export AR
|
||||
|
||||
econf "${myconf[@]}"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# -fprofile-partial-training because upstream note the test suite isn't super comprehensive
|
||||
# See https://documentation.suse.com/sbp/all/html/SBP-GCC-10/index.html#sec-gcc10-pgo
|
||||
local pgo_generate_flags=$(usev pgo "-fprofile-update=atomic -fprofile-dir=${T}/pgo -fprofile-generate=${T}/pgo $(test-flags-CC -fprofile-partial-training)")
|
||||
local pgo_use_flags=$(usev pgo "-fprofile-use=${T}/pgo -fprofile-dir=${T}/pgo $(test-flags-CC -fprofile-partial-training)")
|
||||
|
||||
emake CFLAGS="${CFLAGS} ${pgo_generate_flags}"
|
||||
use plugins && emake -C examples/loadables CFLAGS="${CFLAGS} ${pgo_generate_flags}" all others
|
||||
|
||||
# Build Bash and run its tests to generate profiles.
|
||||
if use pgo ; then
|
||||
# Used in test suite.
|
||||
unset A
|
||||
|
||||
emake CFLAGS="${CFLAGS} ${pgo_generate_flags}" -k check
|
||||
|
||||
if tc-is-clang; then
|
||||
llvm-profdata merge "${T}"/pgo --output="${T}"/pgo/default.profdata || die
|
||||
fi
|
||||
|
||||
# Rebuild Bash using the profiling data we just generated.
|
||||
emake clean
|
||||
emake CFLAGS="${CFLAGS} ${pgo_use_flags}"
|
||||
use plugins && emake -C examples/loadables CFLAGS="${CFLAGS} ${pgo_use_flags}" all others
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# Used in test suite.
|
||||
unset A
|
||||
|
||||
default
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local d f
|
||||
|
||||
default
|
||||
|
||||
dodir /bin
|
||||
mv "${ED}"/usr/bin/bash "${ED}"/bin/ || die
|
||||
dosym bash /bin/rbash
|
||||
|
||||
insinto /etc/bash
|
||||
doins "${FILESDIR}"/bash_logout
|
||||
newins "$(prefixify_ro "${FILESDIR}"/bashrc-r1)" bashrc
|
||||
|
||||
insinto /etc/bash/bashrc.d
|
||||
doins "${FILESDIR}"/bashrc.d/*.bash
|
||||
|
||||
insinto /etc/skel
|
||||
for f in bash{_logout,_profile,rc} ; do
|
||||
newins "${FILESDIR}"/dot-${f} .${f}
|
||||
done
|
||||
|
||||
local sed_args=(
|
||||
-e 's:#GNU#@::'
|
||||
-e '/#@/d'
|
||||
)
|
||||
|
||||
if ! use readline ; then
|
||||
# bug #432338
|
||||
sed_args+=(
|
||||
-e '/^shopt -s histappend/s:^:#:'
|
||||
-e 's:use_color=true:use_color=false:'
|
||||
)
|
||||
fi
|
||||
|
||||
sed -i \
|
||||
"${sed_args[@]}" \
|
||||
"${ED}"/etc/skel/.bashrc \
|
||||
"${ED}"/etc/bash/bashrc || die
|
||||
|
||||
if use plugins ; then
|
||||
exeinto /usr/$(get_libdir)/bash
|
||||
doexe $(echo examples/loadables/*.o | sed 's:\.o::g')
|
||||
|
||||
insinto /usr/include/bash-plugins
|
||||
doins *.h builtins/*.h include/*.h lib/{glob/glob.h,tilde/tilde.h}
|
||||
fi
|
||||
|
||||
if use examples ; then
|
||||
for d in examples/{functions,misc,scripts,startup-files} ; do
|
||||
exeinto /usr/share/doc/${PF}/${d}
|
||||
docinto ${d}
|
||||
for f in ${d}/* ; do
|
||||
if [[ ${f##*/} != PERMISSION ]] && [[ ${f##*/} != *README ]] ; then
|
||||
doexe ${f}
|
||||
else
|
||||
dodoc ${f}
|
||||
fi
|
||||
done
|
||||
done
|
||||
fi
|
||||
|
||||
# Install bash_builtins.1 and rbash.1
|
||||
emake -C doc DESTDIR="${D}" install_builtins
|
||||
sed 's:bash\.1:man1/&:' doc/rbash.1 > "${T}"/rbash.1 || die
|
||||
doman "${T}"/rbash.1
|
||||
|
||||
newdoc CWRU/changelog ChangeLog
|
||||
dosym bash.info /usr/share/info/bashref.info
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
if [[ -e ${EROOT}/etc/bashrc ]] && [[ ! -d ${EROOT}/etc/bash ]] ; then
|
||||
mkdir -p "${EROOT}"/etc/bash
|
||||
mv -f "${EROOT}"/etc/bashrc "${EROOT}"/etc/bash/
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
local old_ver
|
||||
|
||||
# If /bin/sh does not exist, provide it
|
||||
if [[ ! -e ${EROOT}/bin/sh ]] ; then
|
||||
ln -sf bash "${EROOT}"/bin/sh
|
||||
fi
|
||||
|
||||
read -r old_ver <<<"${REPLACING_VERSIONS}"
|
||||
if [[ ! $old_ver ]] ; then
|
||||
:
|
||||
elif ver_test "$old_ver" -ge "5.2" && ver_test "$old_ver" -ge "5.2_p26-r1" ; then
|
||||
return
|
||||
elif ver_test "$old_ver" -lt "5.2" && ver_test "$old_ver" -ge "5.1_p16-r8" ; then
|
||||
return
|
||||
fi
|
||||
|
||||
einfo "Files situated under /etc/bash/bashrc.d must now have a suffix of .sh or .bash."
|
||||
einfo ""
|
||||
einfo "Gentoo now defaults to defining PROMPT_COMMAND as an array. Depending on the"
|
||||
einfo "characteristics of the operating environment, this array may contain commands"
|
||||
einfo "to set the window and pane title. Users that choose to customise this variable"
|
||||
einfo "in ~/.bashrc are advised to append their commands, using the following syntax."
|
||||
einfo ""
|
||||
einfo "PROMPT_COMMAND+=('custom command goes here')"
|
||||
einfo ""
|
||||
einfo "Alternatively, users that wish to opt out of Gentoo's window title setting"
|
||||
einfo "behaviour may now do so by either unsetting PROMPT_COMMAND or by re-defining it"
|
||||
einfo "as desired. Previously, there was no formally supported method of opting out."
|
||||
}
|
@ -0,0 +1,21 @@
|
||||
# /etc/bash/bashrc
|
||||
|
||||
# Proceed no further in the case of a non-interactive shell.
|
||||
if [[ $- != *i* ]]; then
|
||||
return
|
||||
fi
|
||||
|
||||
# Disable completion when the input buffer is empty. Requires readline support.
|
||||
shopt -s no_empty_cmd_completion 2>/dev/null
|
||||
|
||||
# Append to HISTFILE rather than overwrite upon exiting, per bug #139609.
|
||||
shopt -s histappend
|
||||
|
||||
# Initialise PROMPT_COMMAND as an array, which is permitted as of bash 5.1.
|
||||
PROMPT_COMMAND=()
|
||||
|
||||
for _ in /etc/bash/bashrc.d/*; do
|
||||
if [[ $_ == *.@(bash|sh) && -r $_ ]]; then
|
||||
source "$_"
|
||||
fi
|
||||
done
|
@ -0,0 +1,67 @@
|
||||
# /etc/bash/bashrc.d/10-gentoo-color.bash
|
||||
|
||||
if [[ ${NO_COLOR} ]]; then
|
||||
# Respect the user's wish not to use color. See https://no-color.org/.
|
||||
gentoo_color=0
|
||||
elif [[ ${COLORTERM@a} == *x* && ${COLORTERM} == @(24bit|truecolor) ]]; then
|
||||
# The COLORTERM environment variable can reasonably be trusted here.
|
||||
# See https://github.com/termstandard/colors for further information.
|
||||
gentoo_color=1
|
||||
elif unset -v COLORTERM; ! gentoo_color=$(tput colors 2>/dev/null); then
|
||||
# Either ncurses is not installed or no terminfo database could be
|
||||
# found. Fall back to a whitelist which covers the majority of terminal
|
||||
# emulators and virtual console implementations known to support color
|
||||
# and which remain (somewhat) popular. This will rarely happen, so the
|
||||
# list need not be exhaustive.
|
||||
case ${TERM} in
|
||||
*color* |\
|
||||
*direct* |\
|
||||
[Ekx]term* |\
|
||||
alacritty |\
|
||||
aterm |\
|
||||
dtterm |\
|
||||
foot* |\
|
||||
jfbterm |\
|
||||
linux |\
|
||||
mlterm |\
|
||||
rxvt* |\
|
||||
screen* |\
|
||||
tmux* |\
|
||||
wsvt25* ) gentoo_color=1
|
||||
esac
|
||||
elif (( gentoo_color == 16777216 )); then
|
||||
# Truecolor support is available. Advertise it.
|
||||
export COLORTERM=truecolor
|
||||
fi
|
||||
|
||||
if (( gentoo_color <= 0 )); then
|
||||
# Define a prompt without color.
|
||||
PS1='\u@\h \w \$ '
|
||||
elif (( EUID == 0 )); then
|
||||
# If root, omit the username and print the hostname in red.
|
||||
PS1='\[\e[01;31m\]\h\[\e[01;34m\] \w \$\[\e[00m\] '
|
||||
else
|
||||
# Otherwise, print the username and hostname in green.
|
||||
PS1='\[\e[01;32m\]\u@\h\[\e[01;34m\] \w \$\[\e[00m\] '
|
||||
fi
|
||||
|
||||
if (( gentoo_color > 0 )); then
|
||||
# Colorize the output of grep and several coreutils utilities.
|
||||
for _ in diff dir egrep fgrep grep ls vdir; do
|
||||
alias "$_=$_ --color=auto"
|
||||
done
|
||||
|
||||
# Enable colors for ls(1) and some other utilities that respect the
|
||||
# LS_COLORS variable. Prefer ~/.dir_colors, per bug #64489.
|
||||
if hash dircolors 2>/dev/null; then
|
||||
if [[ -f ~/.dir_colors ]]; then
|
||||
eval "$(dircolors -b -- ~/.dir_colors)"
|
||||
elif [[ -f /etc/DIR_COLORS ]]; then
|
||||
eval "$(dircolors -b /etc/DIR_COLORS)"
|
||||
else
|
||||
eval "$(dircolors -b)"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
unset -v gentoo_color
|
@ -0,0 +1,55 @@
|
||||
# /etc/bash/bashrc.d/10-gentoo-title.bash
|
||||
|
||||
# Set window title with the Title Definition String sequence. For screen, the
|
||||
# sequence defines the window title (%t) and for tmux, the pane_title (#T).
|
||||
# For tmux to be affected requires that its allow-rename option be enabled.
|
||||
# https://www.gnu.org/software/screen/manual/html_node/Control-Sequences.html
|
||||
case ${TERM} in
|
||||
screen*|tmux*)
|
||||
genfun_set_pane_title() {
|
||||
printf '\033k%s\033\\' "${HOSTNAME%%.*}"
|
||||
}
|
||||
PROMPT_COMMAND+=('genfun_set_pane_title')
|
||||
;;
|
||||
*)
|
||||
# If the TTY is that of sshd(8) then proceed no further. Alas,
|
||||
# there exist many operating environments in which the window
|
||||
# title would otherwise not be restored upon ssh(1) exiting.
|
||||
if [[ ${SSH_TTY} && ${SSH_TTY} == "$(tty)" ]]; then
|
||||
return
|
||||
fi
|
||||
esac
|
||||
|
||||
# Assigns the basename of the current working directory, having sanitised it
|
||||
# with @Q parameter expansion. Useful for paths containing newlines and such.
|
||||
# As a special case, names consisting entirely of graphemes shall not undergo
|
||||
# the parameter expansion, for reasons of cleanliness.
|
||||
genfun_sanitise_cwd() {
|
||||
_cwd=${PWD##*/}
|
||||
if [[ ! ${_cwd} ]]; then
|
||||
_cwd=${PWD}
|
||||
elif [[ ${_cwd} == *[![:graph:]]* ]]; then
|
||||
_cwd=${_cwd@Q}
|
||||
fi
|
||||
}
|
||||
|
||||
# Set window title with the Set Text Parameters sequence. For screen, the
|
||||
# sequence defines the hardstatus (%h) and for tmux, the window_name (#W).
|
||||
# For graphical terminal emulators, it is normal for the title bar be affected.
|
||||
# The only terminals permitted here are those for which there is empirical
|
||||
# evidence that the sequence is supported and that the UTF-8 character encoding
|
||||
# is handled correctly. Quite rightly, this precludes many vintage terminals.
|
||||
# https://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h3-Operating-System-Commands
|
||||
case ${TERM} in
|
||||
alacritty |\
|
||||
foot* |\
|
||||
rxvt-unicode* |\
|
||||
screen* |\
|
||||
tmux* |\
|
||||
xterm* )
|
||||
genfun_set_win_title() {
|
||||
genfun_sanitise_cwd
|
||||
printf '\033]2;%s@%s - %s\007' "${USER}" "${HOSTNAME%%.*}" "${_cwd}"
|
||||
}
|
||||
PROMPT_COMMAND+=('genfun_set_win_title')
|
||||
esac
|
Binary file not shown.
Binary file not shown.
@ -1,2 +1 @@
|
||||
DIST gentoo-syntax-13.tar.bz2 20995 BLAKE2B 90196be7b1f0bbbe8398f327cebe2bbbcffbf8db2e27debc321478911d2413de51ef29d3a94e936e1d92eb4d246237d66d4fa8742fd165e4043ceb2dd80beb9a SHA512 c695dd8c80b551307381a4fb0656adc07321cf60f88e1888ce3a2080343d458a35bb4bda785e233fa4907534b35114c83b5d4b5e3f3bd02d0d6c2dd7ab7deda1
|
||||
DIST gentoo-syntax-14.tar.bz2 20988 BLAKE2B 2f11628bec985ef486ad6f04b694df7a2b1e5ef34f5ddb364c7d9dea4a507d9bae4d8de6b00b33358cf651b4fc6816164f22f7760275a1fd0668b89927859cfb SHA512 63914ffb1911d83fa8991a901f9a23ccfc30f0170a6a730cb02919f4adf0ad34c70f4457e006b1c08a004448c6b9e85d97634a8ed8fdf0b4f98ef9fd804eef00
|
||||
|
@ -1,42 +0,0 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit vim-plugin
|
||||
|
||||
DESCRIPTION="vim plugin: Gentoo and Portage syntax highlighting"
|
||||
HOMEPAGE="https://github.com/gentoo/gentoo-syntax"
|
||||
SRC_URI="https://gitweb.gentoo.org/proj/gentoo-syntax.git/snapshot/${P}.tar.bz2"
|
||||
|
||||
LICENSE="vim"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
IUSE="ignore-glep31"
|
||||
|
||||
VIM_PLUGIN_HELPFILES="gentoo-syntax"
|
||||
VIM_PLUGIN_MESSAGES="filetype"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
if use ignore-glep31 ; then
|
||||
for f in ftplugin/*.vim ; do
|
||||
ebegin "Removing UTF-8 rules from ${f} ..."
|
||||
sed -i -e 's~\(setlocal fileencoding=utf-8\)~" \1~' ${f} \
|
||||
|| die "waah! bad sed voodoo. need more goats."
|
||||
eend $?
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
vim-plugin_pkg_postinst
|
||||
|
||||
if [[ -z ${REPLACING_VERSIONS} ]] ; then
|
||||
if use ignore-glep31 1>/dev/null ; then
|
||||
ewarn "You have chosen to disable the rules which ensure GLEP 31"
|
||||
ewarn "compliance. When editing ebuilds, please make sure you get"
|
||||
ewarn "the character set correct."
|
||||
fi
|
||||
fi
|
||||
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1 +1 @@
|
||||
DIST sqlcl-23.3.0.270.1251.zip 41859690 BLAKE2B 25ca11e1dc3d66fcd3d70a760090e21491065168298b7bb463c8bf80107e36365cf517bc10d061e45e19918ccf5284837237e5b2fa291f3dc6882a42c8b70c46 SHA512 293cf8c8c5419bafdddfa0cafd258b0506990a7fec55291e5ceb5e290de55d8e73f3b56fdd8cbb6ed9a6393a67cae8eb889ce7e7361f2bfb65bb00be4b283939
|
||||
DIST sqlcl-23.4.0.023.2321.zip 70205047 BLAKE2B 8b6a3680aeab30c5611f5c7718c488ba636e265e8d618d4698b26fc66d80b3bf167bee8801c1e909f71a9dc0875802bbda90146847c51f011310188c704e5e80 SHA512 2d5310f29c13f801392f3278dcb6241fc5fdc8da219077c5a63fb7ba461b904e3ecb2e813111a6159d1f6ca81aac1b3bfdc17434fc320423a10cc7303a345d77
|
||||
|
Binary file not shown.
@ -1,13 +1,10 @@
|
||||
DIST llvm-project-12735916bd3a63aa9f316af8eebfe9420cfec489.tar.gz 208645973 BLAKE2B 4a64dcaa15cb592634eceb384ecfc11173dbf0285402c32be2b8056374bb8ecef8fa1055fbe353a0836c84b75736cc05f3a14428bc431c18362cfaa7bf96a50a SHA512 ee42f7db322c84dfae3c67ffcfff2ee8d56d6bd4a0412b6bd4f8952ac1da4d57d18fa38011fe514631363b4cc143327be887792dd2e9562942261c99e655d948
|
||||
DIST llvm-project-15.0.7.src.tar.xz 110936452 BLAKE2B f3d277e2029157329e5be78b78af36b0826a1dfd9a337992499bf701e33149665bfc47d5e14978e38f342559629a559f8b2ce328705ba34fdf6830f5ae9721a5 SHA512 4836d3603f32e8e54434cbfa8ef33d9d473ac5dc20ebf9c67132653c73f4524931abd1084655eaee5f20bcfcb91bcc4bbc5c4a0b603ad0c9029c556e14dc4c52
|
||||
DIST llvm-project-15.0.7.src.tar.xz.sig 566 BLAKE2B 47dc8c82d86237b80c6d85f83a6c9a6e9e174cf8e7f367b071e0cd9481d7cd408e991337c5624e07f3f370f26387c814f212808575ed1c1b58404d3e3836b7df SHA512 fc6891b440dd1175eb8df3790590af8d36bc92301660f84744ae15123475aeb900a151e6a8e7998ded27ec4d86871903ad0b89cd61164943054c2e3bc8d8beb2
|
||||
DIST llvm-project-16.0.6.src.tar.xz 118013488 BLAKE2B 95192d39cbd2914e5609db365965f1c00bfea6c2d653b3996bd2acef8a2b37e37f6fc8a9d2b65711ad72657e0ef52c42f733053cf65051e7822f27396c30406d SHA512 89a67ebfbbc764cc456e8825ecfa90707741f8835b1b2adffae0b227ab1fe5ca9cce75b0efaffc9ca8431cae528dc54fd838867a56a2b645344d9e82d19ab1b7
|
||||
DIST llvm-project-16.0.6.src.tar.xz.sig 566 BLAKE2B 2060cebd5ed57cb8a86a44238c43dfd4b921649298b10c3d19da308374c1e49869174294e29943c2af459fe06428264e26881d6c1288ebbc48686cc2cf467c7a SHA512 ca249262c7102e0889ec1bdc6f71a3a6f0e7e5d5fbab8abcd6fccd2871e7955eff7af5b055a76006097baf0dfaf2f5069eff3035b3107fc552abdb2481b21447
|
||||
DIST llvm-project-17.0.6.src.tar.xz 127838860 BLAKE2B d6ede1a9fda8756995c3e0654111941649e15794179641806f18919f1dc68c41ca0cabd5693b5096d05dccc3a391cd20d34af1137bf8af92ed3117a1ce84d1b2 SHA512 6d85bf749e0d77553cc215cbfa61cec4ac4f4f652847f56f946b6a892a99a5ea40b6ab8b39a9708a035001f007986941ccf17e4635260a8b0c1fa59e78d41e30
|
||||
DIST llvm-project-17.0.6.src.tar.xz.sig 438 BLAKE2B 186e75b6a0fbfe1e85408589c149e1800fcc47d685b74e4260018e05cd08bc793d1d1197c9c50e177eea941a3d0c65cb0c583ce6dae449099b920adf8a508ef7 SHA512 f78c55053a6450625f3e95f52c305110b4468a9854fec75831b65b8d6ceee3c9206ab9e63c4b5fda8be9bd344f72cfbdaae0520ed240abd505e08ebeaa25d340
|
||||
DIST llvm-project-18.1.3.src.tar.xz 132049300 BLAKE2B 0681177cfe6a65f5cf11942381078388e8f5d9d5a4bb50b040e4c10a3898e7311ff379fcca008e82e4bef225792a38eb77f722c972725b9251a0fda29d8d7ecc SHA512 b8b8a00c560bc7d4c4b5d533b92dbd52f2c0254f0acf687e787e8b7fa780cd5d96f6e9709356d2c406c0b36b186dee4de6b1bc1928a97de0bda863fa873e0783
|
||||
DIST llvm-project-18.1.3.src.tar.xz.sig 566 BLAKE2B dcecf41346cc864c6e5bedd3a7db3db4f32a68534364d2537a15ca7e4e2f2d35a22722385ac556d2a4ac48ab37567566094f223534e696299f98040e702146d0 SHA512 b7e50779841891e9ed9de5ed917c5be3209a52a5d98c67a032509ae8fad8a2a882bf619c66d2ee45bb53dfb03d750cb94dc4b2750ec2a8edb0465700d5bc657c
|
||||
DIST llvm-project-18.1.4.src.tar.xz 132054668 BLAKE2B 94bbad3b185fd07cbace4eff79aba80fbdd5e072739250e3927fe1848bcf3f8d355eb1f384e57306707eb702acc7ab01b732590735be7950221607664d04b0a6 SHA512 b1b214ae91f3705d8ea345547ad53f1e5d7d884c1eb6958bc41c14ac4b3e407771ccc2b693686ff103c8232c2c3942731d6db9a9cb4f735e6c6a0674739d0b29
|
||||
DIST llvm-project-18.1.4.src.tar.xz.sig 566 BLAKE2B b74fd219d7bcdf197b4e711cfbb25c40e9d8d2c7341de0215d8c31f330f396e9c166ff63513829cdc9cef349f08238f66a4dc949fa97958a7af496abae369eaa SHA512 4f456edf4fb454815acaef6855b1a0991f229810a32e9369af83388e37f0ef8964308e1e93bd6216024cdd67e86caaadc8d5794467857cc6fe561c9fa6ca7386
|
||||
DIST llvm-project-a8b0ecd2605ff23f495a8af64e06c35f86834e54.tar.gz 208451583 BLAKE2B 3f8557637b9d10ed924cfec0b3e83d85996417df24b317cac55740aa199ef97cf7560fe634debd1dbfc7c9fc25aa2b2643fccaecc4c866481dc57b11eba1d02f SHA512 1f4bf5a8a59582af426ad13cc828e1e482c5c831ed5a4bb0da419ed3cf67e5e485fd36074603ad22328e35be44b8ccd2d92d1382bc7a228fdf38d458a2321e07
|
||||
DIST llvm-project-ee284d2da0720dc21191d6f545504cbfcf5dcbcf.tar.gz 208883034 BLAKE2B e37c9f1a6a4d0caa9a3091f979dd09f509d458f8b7b30286c77dd2385aea748b7aac6dd488c79573f82feb655aa321717bd2fb46bba4a12b388b52064f6e13bf SHA512 1335ade87cd2accc47ac47ed2ab302999e375808b158b6c9d31fac9059cbb992d2bdaaadf1fd9a1b37268c1123d43346ea4d150894d6d2e6f80ba790b65b93b1
|
||||
DIST llvm-project-f03cd2db91956456f1c5e2da86d3c50183eebd28.tar.gz 209375254 BLAKE2B 1d7e043d04323edb64b2ef2309fbcb4f82a959f45391e815133cc0891d5a497bbb81101aab460e9bf67e75aa906e13ad1877c3850829dcad397ed626dc8f2792 SHA512 6775e03a44b2133bd4a4b473ab007599321daa19dc7f3cc47f95cf9d110e83e982bf48a6b1d43038b0f0a2c0fef2f689aefd20132b25a90ef19342683e2d2e50
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue