parent
d9d1dc6fb6
commit
66073d677d
Binary file not shown.
Binary file not shown.
@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<!-- maintainer-needed -->
|
||||
<upstream>
|
||||
<remote-id type="github">m-ou-se/tek</remote-id>
|
||||
</upstream>
|
||||
<maintainer type="person">
|
||||
<email>chewi@gentoo.org</email>
|
||||
<name>James Le Cuirot</name>
|
||||
</maintainer>
|
||||
</pkgmetadata>
|
@ -0,0 +1,9 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit acct-group
|
||||
|
||||
DESCRIPTION="Group for sys-auth/microsoft-identity-broker"
|
||||
ACCT_GROUP_ID=539
|
Binary file not shown.
@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<!-- maintainer-needed -->
|
||||
<upstream>
|
||||
<remote-id type="sourceforge">blinkserv</remote-id>
|
||||
</upstream>
|
||||
<maintainer type="person">
|
||||
<email>chewi@gentoo.org</email>
|
||||
<name>James Le Cuirot</name>
|
||||
</maintainer>
|
||||
</pkgmetadata>
|
@ -0,0 +1,12 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit acct-user
|
||||
|
||||
DESCRIPTION="User for sys-auth/microsoft-identity-broker"
|
||||
ACCT_USER_ID=539
|
||||
ACCT_USER_GROUPS=( microsoft-identity-broker )
|
||||
|
||||
acct-user_add_deps
|
Binary file not shown.
@ -1,6 +1,3 @@
|
||||
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.88.gh.tar.gz 2693435 BLAKE2B 043f4eb08711760b7f8e15a5eba879524788cb65823215ed9d1c8ee5337a085ab6975dfc1c90aea29b7137f050a6d4f201eba57e8c8c83c09625401d8075eb6c SHA512 cb0ed179b9549d988e19963607fe28ca6fb02c92280c451c8651a8149d60a929158f9ae04a1c764540648b8b42417e908cb956fe71ce787c4b788f83cc2ef488
|
||||
DIST aws-cli-1.32.89.gh.tar.gz 2693748 BLAKE2B 006de47c4328c191120c09d5b738283ae1beeaa205ed65c80ff5cfab2a4ed91c2b560c65e78e11d099d0fdf9e1ceadfd58831ad0759a7aa10197e88a64b21e20 SHA512 f9ec547a969c9b0a81207ac9ab95235323d44422e2fbab81f76cd604e3c211e9bea494658d7105ea9019341df4dd335eca9987ce2788af3225f271e22aac4c0e
|
||||
DIST aws-cli-1.32.90.gh.tar.gz 2694763 BLAKE2B ebe21c4589b1a386fc067740703e42f08153dc1ecd960115ea7f8e57444ded9e14c340c4fb5c3fc2ec021eb9d9e26cb5cf5cf70cc77a60a4dc991304b7949ee0 SHA512 96060564f3371ddacede05e6bb1917f263d785413f2d6e00e5f6f4eed14dff8cfa20c3136c387b53571d46557ba87fecc175c4f9f84044d598c2aace865cc9e6
|
||||
DIST aws-cli-1.32.91.gh.tar.gz 2694732 BLAKE2B 418d8fa3525842a9abacb75b05bc5e9499398b9cd1c0e89c5db9e11b63daecd6c2496170fbca328b92a4711214cc19e3e6af937a818d92cd0dc3770f54f3eb18 SHA512 332c91f04dd639a273100bfbb49be71aa0b575c28930dd8943373f4aac28f09fe49f06421858503b2c34222ebd609f80e68d04a480331c267dd338b43f896d3b
|
||||
DIST aws-cli-1.32.93.gh.tar.gz 2695489 BLAKE2B d2f81786d4db158a13ec50ed833668db26bde00cc1e4f5254aa127aba82113074abafa996f525b5f7cd215fd51639481a01a49c425bb4c01e990261529f06082 SHA512 e03892ef522fa43442d1b053d0bf8dbd6c892d94398934c4af58e81153c2759f7e55a289457bb3e5b46f2f01697642498fdd6d51cdc18ad8b6c0f6a31d7c606a
|
||||
|
@ -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
|
||||
}
|
@ -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}
|
||||
}
|
@ -1,2 +1,3 @@
|
||||
DIST conky-1.19.6.tar.gz 1727487 BLAKE2B 2ef2b0acd354559679b9d7d442de7a709e932418e27459b02bdf2f8b6dbdcf7911964932ab9851bab213e7f68d9a82034acab96892752544ab1a26d68c174c09 SHA512 9f1900f495125c668835334239b69fc098c30fe450a384786d873eb3d3e955ff0f06ca70c3a94f47a4b38a42d4510be77efd13873411f11ff84d8bfdc2869fde
|
||||
DIST conky-1.19.8.tar.gz 1711683 BLAKE2B f1c1057f07570e63026e51a03fc4d7a51cc1dcaefb963b5f9ce9fba4e71342770bc1a59aa9a834fe8f9d6d552e7775ab0e2d5a487d9b6ec2d215768349c4994c SHA512 bdc5b29bea3a3050f4fe4ce76fc642134d93a91362e491203dc10cdde1d9c1bde8a106cd8388aab1893e4b1def058abf1f35c1fd022c26ac773071ddd44abbc4
|
||||
DIST conky-1.20.2.tar.gz 1837320 BLAKE2B 41aaa384366ee9229ec4e7df97f37a8c62fff4dd864b3f8f8d3d40c57e87646ee8309c3d1fb68c7d7f8ed802c7ce49a57bbe0c01d32eaacfe84fddbd65b81007 SHA512 b516db38af5c20b101520356cd4f50d147869e7ed2bc84287e8a464e32bb306655edbac074da278d4732ee87f02c52d99cb4c117556e0d08f5be911a2a789618
|
||||
|
@ -0,0 +1,240 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
LUA_COMPAT=( lua5-4 )
|
||||
PYTHON_COMPAT=( python3_{10,11,12} )
|
||||
|
||||
inherit cmake linux-info lua-single python-any-r1 readme.gentoo-r1 xdg
|
||||
|
||||
DESCRIPTION="An advanced, highly configurable system monitor for X"
|
||||
HOMEPAGE="https://github.com/brndnmtthws/conky"
|
||||
SRC_URI="https://github.com/brndnmtthws/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-3 BSD LGPL-2.1 MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
|
||||
IUSE="apcupsd bundled-toluapp cmus curl doc extras hddtemp ical iconv imlib
|
||||
intel-backlight iostats irc lua-cairo lua-imlib lua-rsvg math moc mpd
|
||||
mysql ncurses nvidia +portmon pulseaudio rss systemd test thinkpad
|
||||
truetype wayland webserver wifi X xinerama xmms2"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
# Note: toluapp is bundled in conky since 1.11.2
|
||||
# Note: maintainer mode "-DMAINTAINER_MODE=yes" sets CMAKE_BUILD_TYPE Debug
|
||||
# which creates debug symbols and enables "-DBUILD_TESTS" which also
|
||||
# results in conky_core debug library getting installed
|
||||
|
||||
COMMON_DEPEND="
|
||||
curl? ( net-misc/curl )
|
||||
ical? ( dev-libs/libical:= )
|
||||
iconv? ( virtual/libiconv )
|
||||
imlib? ( >=media-libs/imlib2-1.11.0[X] )
|
||||
irc? ( net-libs/libircclient )
|
||||
lua-cairo? ( x11-libs/cairo[X] )
|
||||
lua-imlib? ( >=media-libs/imlib2-1.11.0[X] )
|
||||
lua-rsvg? ( gnome-base/librsvg )
|
||||
mysql? ( dev-db/mysql-connector-c )
|
||||
ncurses? ( sys-libs/ncurses:= )
|
||||
nvidia? ( x11-drivers/nvidia-drivers[tools,static-libs] )
|
||||
pulseaudio? ( media-libs/libpulse )
|
||||
rss? (
|
||||
dev-libs/libxml2
|
||||
net-misc/curl
|
||||
dev-libs/glib:2
|
||||
)
|
||||
systemd? ( sys-apps/systemd )
|
||||
truetype? (
|
||||
x11-libs/libXft
|
||||
>=media-libs/freetype-2
|
||||
)
|
||||
wayland? (
|
||||
dev-libs/wayland
|
||||
x11-libs/pango
|
||||
)
|
||||
wifi? ( net-wireless/wireless-tools )
|
||||
webserver? ( net-libs/libmicrohttpd:= )
|
||||
X? (
|
||||
x11-libs/libX11
|
||||
x11-libs/libXdamage
|
||||
x11-libs/libXfixes
|
||||
x11-libs/libXext
|
||||
)
|
||||
xinerama? ( x11-libs/libXinerama )
|
||||
xmms2? ( media-sound/xmms2 )
|
||||
${LUA_DEPS}
|
||||
"
|
||||
RDEPEND="
|
||||
${COMMON_DEPEND}
|
||||
apcupsd? ( sys-power/apcupsd )
|
||||
cmus? ( media-sound/cmus )
|
||||
hddtemp? ( app-admin/hddtemp )
|
||||
moc? ( media-sound/moc )
|
||||
"
|
||||
DEPEND="
|
||||
${COMMON_DEPEND}
|
||||
test? (
|
||||
dev-cpp/catch
|
||||
)
|
||||
wayland? (
|
||||
dev-libs/wayland-protocols
|
||||
)
|
||||
"
|
||||
BDEPEND="
|
||||
doc? (
|
||||
virtual/pandoc
|
||||
$(python_gen_any_dep '
|
||||
dev-python/pyyaml[${PYTHON_USEDEP}]
|
||||
dev-python/jinja[${PYTHON_USEDEP}]
|
||||
')
|
||||
)
|
||||
extras? (
|
||||
$(python_gen_any_dep '
|
||||
dev-python/pyyaml[${PYTHON_USEDEP}]
|
||||
dev-python/jinja[${PYTHON_USEDEP}]
|
||||
')
|
||||
)
|
||||
wayland? ( dev-util/wayland-scanner )
|
||||
"
|
||||
|
||||
python_check_deps() {
|
||||
use doc || use extras || return 0
|
||||
python_has_version -b "dev-python/pyyaml[${PYTHON_USEDEP}]" &&
|
||||
python_has_version -b "dev-python/jinja[${PYTHON_USEDEP}]"
|
||||
}
|
||||
|
||||
REQUIRED_USE="
|
||||
${LUA_REQUIRED_USE}
|
||||
imlib? ( X )
|
||||
lua-cairo? ( X bundled-toluapp )
|
||||
lua-imlib? ( X bundled-toluapp )
|
||||
lua-rsvg? ( X bundled-toluapp )
|
||||
nvidia? ( X )
|
||||
truetype? ( X )
|
||||
xinerama? ( X )
|
||||
"
|
||||
|
||||
CONFIG_CHECK="~IPV6"
|
||||
|
||||
DOCS=( README.md AUTHORS )
|
||||
|
||||
DISABLE_AUTOFORMATTING="yes"
|
||||
DOC_CONTENTS="You can find sample configurations at /usr/share/doc/${PF}.
|
||||
To customize, copy to \${XDG_CONFIG_HOME}/conky/conky.conf and edit it to your liking.
|
||||
|
||||
There are pretty html docs available at https://conky.cc/.
|
||||
|
||||
Also see https://github.com/brndnmtthws/conky/wiki or https://wiki.gentoo.org/wiki/Conky"
|
||||
|
||||
pkg_setup() {
|
||||
linux-info_pkg_setup
|
||||
lua-single_pkg_setup
|
||||
if use doc || use extras; then
|
||||
python-any-r1_pkg_setup
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# pin lua 5.4
|
||||
sed -i -e 's|Lua "5.3" REQUIRED|Lua "5.4" EXACT|g' \
|
||||
cmake/ConkyPlatformChecks.cmake || die "ConkyPlatformChecks.cmake"
|
||||
|
||||
cmake_src_prepare
|
||||
xdg_environment_reset
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=()
|
||||
|
||||
if use X; then
|
||||
mycmakeargs+=(
|
||||
-DBUILD_ARGB=yes
|
||||
-DBUILD_X11=yes
|
||||
-DBUILD_XDAMAGE=yes
|
||||
-DBUILD_XDBE=yes
|
||||
-DBUILD_XFIXES=yes
|
||||
-DBUILD_XSHAPE=yes
|
||||
-DBUILD_XINPUT=yes
|
||||
-DBUILD_MOUSE_EVENTS=yes
|
||||
-DOWN_WINDOW=yes
|
||||
)
|
||||
else
|
||||
mycmakeargs+=(
|
||||
-DBUILD_X11=no
|
||||
)
|
||||
fi
|
||||
|
||||
mycmakeargs+=(
|
||||
-DBUILD_APCUPSD=$(usex apcupsd)
|
||||
-DBUILD_AUDACIOUS=no
|
||||
-DBUILD_BUILTIN_CONFIG=yes
|
||||
-DBUILD_CMUS=$(usex cmus)
|
||||
-DBUILD_CURL=$(usex curl)
|
||||
-DBUILD_DOCS=$(usex doc)
|
||||
-DBUILD_EXTRAS=$(usex extras)
|
||||
-DBUILD_HDDTEMP=$(usex hddtemp)
|
||||
-DBUILD_HTTP=$(usex webserver)
|
||||
-DBUILD_I18N=yes
|
||||
-DBUILD_IBM=$(usex thinkpad)
|
||||
-DBUILD_ICAL=$(usex ical)
|
||||
-DBUILD_ICONV=$(usex iconv)
|
||||
-DBUILD_IMLIB2=$(usex imlib)
|
||||
-DBUILD_INTEL_BACKLIGHT=$(usex intel-backlight)
|
||||
-DBUILD_IOSTATS=$(usex iostats)
|
||||
-DBUILD_IPV6=yes
|
||||
-DBUILD_IRC=$(usex irc)
|
||||
-DBUILD_JOURNAL=$(usex systemd)
|
||||
-DBUILD_LUA_CAIRO=$(usex lua-cairo)
|
||||
-DBUILD_LUA_IMLIB2=$(usex lua-imlib)
|
||||
-DBUILD_LUA_RSVG=$(usex lua-rsvg)
|
||||
-DBUILD_MATH=$(usex math)
|
||||
-DBUILD_MOC=$(usex moc)
|
||||
-DBUILD_MPD=$(usex mpd)
|
||||
-DBUILD_MYSQL=$(usex mysql)
|
||||
-DBUILD_NCURSES=$(usex ncurses)
|
||||
-DBUILD_NVIDIA=$(usex nvidia)
|
||||
-DBUILD_OLD_CONFIG=yes
|
||||
-DBUILD_PORT_MONITORS=$(usex portmon)
|
||||
-DBUILD_PULSEAUDIO=$(usex pulseaudio)
|
||||
-DBUILD_RSS=$(usex rss)
|
||||
-DBUILD_TESTS=$(usex test)
|
||||
-DBUILD_WAYLAND=$(usex wayland)
|
||||
-DBUILD_WLAN=$(usex wifi)
|
||||
-DBUILD_XFT=$(usex truetype)
|
||||
-DBUILD_XINERAMA=$(usex xinerama)
|
||||
-DBUILD_XMMS2=$(usex xmms2)
|
||||
-DDOC_PATH=/usr/share/doc/${PF}
|
||||
-DMAINTAINER_MODE=no
|
||||
-DRELEASE=yes
|
||||
)
|
||||
|
||||
if use doc || use extras; then
|
||||
mycmakeargs+=( -DPython3_EXECUTABLE="${PYTHON}" )
|
||||
fi
|
||||
|
||||
cmake_src_configure
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cmake_src_install
|
||||
|
||||
if use extras; then
|
||||
insinto /usr/share/vim/vimfiles/ftdetect
|
||||
doins "${S}"/extras/vim/ftdetect/conkyrc.vim
|
||||
|
||||
insinto /usr/share/vim/vimfiles/syntax
|
||||
doins "${BUILD_DIR}"/extras/vim/syntax/conkyrc.vim
|
||||
|
||||
insinto /usr/share/nano/
|
||||
doins "${BUILD_DIR}"/extras/nano/conky.nanorc
|
||||
fi
|
||||
|
||||
readme.gentoo_create_doc
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
readme.gentoo_print_elog
|
||||
|
||||
xdg_pkg_postinst
|
||||
}
|
Binary file not shown.
@ -0,0 +1,176 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
inherit libtool multilib-minimal toolchain-funcs verify-sig
|
||||
|
||||
DESCRIPTION="Multi-format archive and compression library"
|
||||
HOMEPAGE="
|
||||
https://www.libarchive.org/
|
||||
https://github.com/libarchive/libarchive/
|
||||
"
|
||||
SRC_URI="
|
||||
https://www.libarchive.de/downloads/${P}.tar.xz
|
||||
verify-sig? ( https://www.libarchive.de/downloads/${P}.tar.xz.asc )
|
||||
"
|
||||
|
||||
LICENSE="BSD BSD-2 BSD-4 public-domain"
|
||||
SLOT="0/13"
|
||||
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="
|
||||
acl blake2 +bzip2 +e2fsprogs expat +iconv lz4 +lzma lzo nettle
|
||||
static-libs test xattr +zstd
|
||||
"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="
|
||||
sys-libs/zlib[${MULTILIB_USEDEP}]
|
||||
acl? ( virtual/acl[${MULTILIB_USEDEP}] )
|
||||
blake2? ( app-crypt/libb2[${MULTILIB_USEDEP}] )
|
||||
bzip2? ( app-arch/bzip2[${MULTILIB_USEDEP}] )
|
||||
expat? ( dev-libs/expat[${MULTILIB_USEDEP}] )
|
||||
!expat? ( dev-libs/libxml2[${MULTILIB_USEDEP}] )
|
||||
iconv? ( virtual/libiconv[${MULTILIB_USEDEP}] )
|
||||
kernel_linux? (
|
||||
xattr? ( sys-apps/attr[${MULTILIB_USEDEP}] )
|
||||
)
|
||||
dev-libs/openssl:0=[${MULTILIB_USEDEP}]
|
||||
lz4? ( >=app-arch/lz4-0_p131:0=[${MULTILIB_USEDEP}] )
|
||||
lzma? ( >=app-arch/xz-utils-5.2.5-r1[${MULTILIB_USEDEP}] )
|
||||
lzo? ( >=dev-libs/lzo-2[${MULTILIB_USEDEP}] )
|
||||
nettle? ( dev-libs/nettle:0=[${MULTILIB_USEDEP}] )
|
||||
zstd? ( app-arch/zstd[${MULTILIB_USEDEP}] )
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
kernel_linux? (
|
||||
virtual/os-headers
|
||||
e2fsprogs? ( sys-fs/e2fsprogs[${MULTILIB_USEDEP}] )
|
||||
)
|
||||
test? (
|
||||
app-arch/lrzip
|
||||
app-arch/lz4
|
||||
app-arch/lzip
|
||||
app-arch/lzop
|
||||
app-arch/xz-utils
|
||||
app-arch/zstd
|
||||
lzma? ( app-arch/xz-utils[extra-filters(+)] )
|
||||
)
|
||||
"
|
||||
BDEPEND="
|
||||
verify-sig? ( >=sec-keys/openpgp-keys-libarchive-20221209 )
|
||||
elibc_musl? ( sys-libs/queue-standalone )
|
||||
"
|
||||
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libarchive.org.asc
|
||||
|
||||
# false positives (checks for libc-defined hash functions)
|
||||
QA_CONFIG_IMPL_DECL_SKIP=(
|
||||
SHA256_Init SHA256_Update SHA256_Final
|
||||
SHA384_Init SHA384_Update SHA384_Final
|
||||
SHA512_Init SHA512_Update SHA512_Final
|
||||
)
|
||||
|
||||
PATCHES=(
|
||||
# https://github.com/libarchive/libarchive/issues/2069
|
||||
# (we can simply update the command since we don't support old lrzip)
|
||||
"${FILESDIR}/${PN}-3.7.2-lrzip.patch"
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# Needed for flags to be respected w/ LTO
|
||||
elibtoolize
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
export ac_cv_header_ext2fs_ext2_fs_h=$(usex e2fsprogs) #354923
|
||||
|
||||
local myconf=(
|
||||
$(use_enable acl)
|
||||
$(use_enable static-libs static)
|
||||
$(use_enable xattr)
|
||||
$(use_with blake2 libb2)
|
||||
$(use_with bzip2 bz2lib)
|
||||
$(use_with expat)
|
||||
$(use_with !expat xml2)
|
||||
$(use_with iconv)
|
||||
$(use_with lz4)
|
||||
$(use_with lzma)
|
||||
$(use_with lzo lzo2)
|
||||
$(use_with nettle)
|
||||
--with-zlib
|
||||
$(use_with zstd)
|
||||
|
||||
# Windows-specific
|
||||
--without-cng
|
||||
)
|
||||
if multilib_is_native_abi ; then
|
||||
myconf+=(
|
||||
--enable-bsdcat="$(tc-is-static-only && echo static || echo shared)"
|
||||
--enable-bsdcpio="$(tc-is-static-only && echo static || echo shared)"
|
||||
--enable-bsdtar="$(tc-is-static-only && echo static || echo shared)"
|
||||
--enable-bsdunzip="$(tc-is-static-only && echo static || echo shared)"
|
||||
)
|
||||
else
|
||||
myconf+=(
|
||||
--disable-bsdcat
|
||||
--disable-bsdcpio
|
||||
--disable-bsdtar
|
||||
--disable-bsdunzip
|
||||
)
|
||||
fi
|
||||
|
||||
ECONF_SOURCE="${S}" econf "${myconf[@]}"
|
||||
}
|
||||
|
||||
multilib_src_compile() {
|
||||
if multilib_is_native_abi ; then
|
||||
emake
|
||||
else
|
||||
emake libarchive.la
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
mkdir -p "${T}"/bin || die
|
||||
# tests fail when lbzip2[symlink] is used in place of ref bunzip2
|
||||
ln -s "${BROOT}/bin/bunzip2" "${T}"/bin || die
|
||||
# workaround lrzip broken on 32-bit arches with >= 10 threads
|
||||
# https://bugs.gentoo.org/927766
|
||||
cat > "${T}"/bin/lrzip <<-EOF || die
|
||||
#!/bin/sh
|
||||
exec "$(type -P lrzip)" -p1 "\${@}"
|
||||
EOF
|
||||
chmod +x "${T}/bin/lrzip" || die
|
||||
local -x PATH=${T}/bin:${PATH}
|
||||
multilib-minimal_src_test
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
# sandbox is breaking long symlink behavior
|
||||
local -x SANDBOX_ON=0
|
||||
local -x LD_PRELOAD=
|
||||
# some locales trigger different output that breaks tests
|
||||
local -x LC_ALL=C.UTF-8
|
||||
emake check
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
if multilib_is_native_abi ; then
|
||||
emake DESTDIR="${D}" install
|
||||
else
|
||||
local install_targets=(
|
||||
install-includeHEADERS
|
||||
install-libLTLIBRARIES
|
||||
install-pkgconfigDATA
|
||||
)
|
||||
emake DESTDIR="${D}" "${install_targets[@]}"
|
||||
fi
|
||||
|
||||
# Libs.private: should be used from libarchive.pc instead
|
||||
find "${ED}" -type f -name "*.la" -delete || die
|
||||
# https://github.com/libarchive/libarchive/issues/1766
|
||||
sed -e '/Requires\.private/s:iconv::' \
|
||||
-i "${ED}/usr/$(get_libdir)/pkgconfig/libarchive.pc" || die
|
||||
}
|
Binary file not shown.
@ -1,2 +1 @@
|
||||
DIST dar-2.7.13.tar.gz 2425559 BLAKE2B 321a43b04553505279de6f6b27e332883f4209bbe81e24c418188f028b7ba7a794d4e0f510f2c6a22a57fbdbc0501d4fcf7201aadb8cca3e65c6649bff7cfedf SHA512 e7a4bd89ccefaca1d9251d05c39e80f9861b8154f414cd578ba98c3cf3a9f945738c6225fd007b5e73c2d7c2e4abe547e9a2e2deec2cb7e0ec5860603add64fb
|
||||
DIST dar-2.7.14.tar.gz 2443548 BLAKE2B a68ad06a2bf53b25a0b393f3e85eef5676382d63bfd86ba77696667786a688e326c118d937cd5dae6b1e78410e40295c67d8ba4677c37f7139bbdd2794c4efeb SHA512 0436c67e0dbd8f5e96e01a0db48a469d80fb81a7c7f37aed98308bd55d60d699b21c755d95fa83891690231fd2510eaa6c6652fb99a1bad9c8210084031391d4
|
||||
|
@ -1,97 +0,0 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit flag-o-matic
|
||||
|
||||
DESCRIPTION="A full featured backup tool, aimed for disks"
|
||||
HOMEPAGE="http://dar.linux.free.fr/"
|
||||
SRC_URI="https://downloads.sourceforge.net/project/dar/dar/${PV}/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2+"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 ppc sparc x86 ~amd64-linux"
|
||||
IUSE="argon2 curl dar32 dar64 doc gcrypt gpg lz4 lzo nls rsync xattr"
|
||||
|
||||
REQUIRED_USE="
|
||||
?? ( dar32 dar64 )
|
||||
gpg? ( gcrypt )
|
||||
"
|
||||
|
||||
RESTRICT="test" # need to be run as root
|
||||
|
||||
RDEPEND="
|
||||
app-arch/bzip2:=
|
||||
app-arch/xz-utils
|
||||
app-arch/zstd:=
|
||||
dev-libs/libthreadar
|
||||
sys-libs/libcap
|
||||
>=sys-libs/zlib-1.2.3:=
|
||||
argon2? ( app-crypt/argon2:= )
|
||||
curl? ( net-misc/curl )
|
||||
gcrypt? (
|
||||
dev-libs/libgcrypt:0=
|
||||
dev-libs/libgpg-error
|
||||
)
|
||||
gpg? (
|
||||
app-crypt/gpgme:=
|
||||
dev-libs/libassuan
|
||||
)
|
||||
lz4? ( app-arch/lz4:= )
|
||||
lzo? ( dev-libs/lzo:2 )
|
||||
nls? ( virtual/libintl )
|
||||
rsync? ( net-libs/librsync:= )
|
||||
xattr? ( sys-apps/attr )
|
||||
"
|
||||
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
BDEPEND="
|
||||
doc? ( app-text/doxygen )
|
||||
nls? ( sys-devel/gettext )
|
||||
"
|
||||
|
||||
QA_PKGCONFIG_VERSION="" #862025 - upstream has a different numbering scheme for libdar
|
||||
|
||||
src_configure() {
|
||||
# configure.ac is totally funked up regarding the AC_ARG_ENABLE
|
||||
# logic.
|
||||
# For example "--enable-dar-static" causes configure to DISABLE
|
||||
# static builds of dar.
|
||||
# Do _not_ use $(use_enable) until you have verified that the
|
||||
# logic has been fixed by upstream.
|
||||
local myconf=(
|
||||
--disable-dar-static
|
||||
--disable-python-binding
|
||||
--disable-upx
|
||||
$(usev !argon2 --disable-libargon2-linking)
|
||||
$(usev !curl --disable-libcurl-linking)
|
||||
$(usev dar32 --enable-mode=32)
|
||||
$(usev dar64 --enable-mode=64)
|
||||
$(usev !doc --disable-build-html)
|
||||
$(usev !gcrypt --disable-libgcrypt-linking)
|
||||
$(usev !gpg --disable-gpgme-linking)
|
||||
$(usev !lz4 --disable-liblz4-linking)
|
||||
$(usev !lzo --disable-liblzo2-linking)
|
||||
$(usev !nls --disable-nls)
|
||||
$(usev !rsync --disable-librsync-linking)
|
||||
$(usev !xattr --disable-ea-support)
|
||||
)
|
||||
|
||||
# Bug 103741
|
||||
filter-flags -fomit-frame-pointer
|
||||
|
||||
econf "${myconf[@]}"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake DESTDIR="${D}" pkgdatadir="${EPREFIX}"/usr/share/doc/${PF}/html install
|
||||
|
||||
einstalldocs
|
||||
|
||||
find "${ED}" -name "*.la" -delete || die
|
||||
|
||||
# Bug 729150
|
||||
rm "${ED}/usr/share/doc/${PF}/html/samples/MyBackup.sh.tar.gz" || die
|
||||
}
|
@ -1,2 +1,3 @@
|
||||
DIST snapper-0.10.6.tar.gz 423867 BLAKE2B a7d0f8c62c60c0d03bf108a8c0692dd209f170cf8227512cbc3b80eb9f58ecca845aa585859032bc6582d67e4c6ff15b75443a9ee9291d1b970efec15513571f SHA512 6eedfb9408260331f042f0a429a1104136cb88dac450f320641b0941cd06faf52f67cad2397cf4122f919876bb994455da0cfd3bb099f82217050e07b4c77d2e
|
||||
DIST snapper-0.10.7.tar.gz 428482 BLAKE2B 43c48d978296901f6584cef258ec3723de97b1d6b4b4a5b6bc39649f28b3300919616c65b8fcdb97b3ebcab08d04e4583713eef146721367de24513e80113b45 SHA512 bf098c941735b60554ff0711fa43b30ef3634e01178f5ee8ad44c65b757c3366bd5bf568cef3a787b2ddcc2fc63090056109250480e6bd360ebf27a8343373b8
|
||||
DIST snapper-0.11.0.tar.gz 445685 BLAKE2B 301e6d745d8d6d7acc6ca0c9fc431a0e46700aabd9882785bb2be38152693f9dbe897f85f6ad724c9529a0754b6146b53dda0a24141b386e59e7737855bc5da2 SHA512 fe86be4ceb1439b5be3fa61f5bc037bc51a5fe47451d0698851f83e2783d6c245ef8d40a33f79b03e8d1d8b63433743c35938ad7dca0747e0e1f650a5a766c40
|
||||
|
@ -0,0 +1,18 @@
|
||||
diff --git a/scripts/snapper-hourly b/scripts/snapper-hourly
|
||||
index 36a41f5..f36d8ec 100755
|
||||
--- a/scripts/snapper-hourly
|
||||
+++ b/scripts/snapper-hourly
|
||||
@@ -9,10 +9,10 @@ export PATH
|
||||
|
||||
|
||||
#
|
||||
-# get information from /etc/sysconfig/snapper
|
||||
+# get information from /etc/conf.d/snapper
|
||||
#
|
||||
-if [ -f /etc/sysconfig/snapper ] ; then
|
||||
- . /etc/sysconfig/snapper
|
||||
+if [ -f /etc/conf.d/snapper ] ; then
|
||||
+ . /etc/conf.d/snapper
|
||||
fi
|
||||
|
||||
|
@ -0,0 +1,90 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit autotools systemd
|
||||
|
||||
DESCRIPTION="Command-line program for btrfs and lvm snapshot management"
|
||||
HOMEPAGE="http://snapper.io/"
|
||||
SRC_URI="https://github.com/openSUSE/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
|
||||
IUSE="lvm pam test systemd xattr"
|
||||
RESTRICT="test"
|
||||
|
||||
BDEPEND="app-text/docbook-xsl-stylesheets
|
||||
dev-libs/libxslt
|
||||
sys-devel/gettext
|
||||
virtual/pkgconfig"
|
||||
|
||||
RDEPEND="dev-libs/boost:=
|
||||
dev-libs/json-c:=
|
||||
dev-libs/libxml2
|
||||
dev-libs/icu:=
|
||||
sys-apps/acl
|
||||
sys-apps/dbus
|
||||
sys-apps/util-linux
|
||||
>=sys-fs/btrfs-progs-3.17.1
|
||||
sys-libs/zlib
|
||||
virtual/libintl
|
||||
lvm? ( sys-fs/lvm2 )
|
||||
pam? ( sys-libs/pam )
|
||||
xattr? ( sys-apps/attr )"
|
||||
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${P}-cron-confd.patch
|
||||
"${FILESDIR}"/${PN}-0.10.1-testsuite.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
sed -e "s,/usr/lib/systemd/system,$(systemd_get_systemunitdir),g" \
|
||||
-i data/Makefile.* \
|
||||
|| die "Failed to fix systemd services and timers installation path"
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# ext4 code does not work anymore
|
||||
# snapper does not build without btrfs
|
||||
local myeconfargs=(
|
||||
--disable-silent-rules
|
||||
--with-conf="/etc/conf.d"
|
||||
--enable-zypp
|
||||
--enable-rollback
|
||||
--enable-btrfs-quota
|
||||
--disable-ext4
|
||||
--enable-btrfs
|
||||
--enable-doc
|
||||
$(use_enable lvm)
|
||||
$(use_enable pam)
|
||||
$(use_enable test tests)
|
||||
$(use_enable systemd)
|
||||
$(use_enable xattr xattrs)
|
||||
)
|
||||
|
||||
econf "${myeconfargs[@]}"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
# Existing configuration file required to function
|
||||
keepdir /etc/snapper/configs
|
||||
newconfd data/sysconfig.snapper snapper
|
||||
find "${D}" -name '*.la' -delete || die
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog "In order to use Snapper, you need to set up"
|
||||
elog "at least one config first. To do this, run:"
|
||||
elog "snapper create-config <subvolume>"
|
||||
elog "For more information, see man (8) snapper or"
|
||||
elog "http://snapper.io/documentation.html and"
|
||||
elog "https://wiki.gentoo.org/wiki/Snapper"
|
||||
}
|
@ -1 +1,2 @@
|
||||
DIST 8.1.17.2-TIV-TSMBAC-LinuxX86.tar 704153600 BLAKE2B a652ab860dd4c44ad75b669153df63e26b8eccaf7978c847162f2028b9fb1c263e4ccf2724e1d4b18b5cb47237070a1941a7cdeb9e15a1a5ff7ba9671fcade05 SHA512 0d90976f77d93b65582492547631adf5349dad83617fcc3b40c804111cd7f316fbe238c0f943cd23675b3427a36bfbeb81160b622a5664fca34d026693194cfe
|
||||
DIST 8.1.22.0-TIV-TSMBAC-LinuxX86.tar 745175040 BLAKE2B 510ab45065f21e533bc776b886c6804021caa119d43b7693da4902f3d469d12deee71adc0cdd97d84c3cdaacb1b7ca878c6f6ee228f500651fbadd177def8f6f SHA512 b6c9ab9d9d33a060a6a69f5ecb62ba69df2d31506007e958313c7b62054e49735e8864fbe9f51876bf4398ef8f12c8fe27f3e0fec91def2c2ab016e3413f9e8b
|
||||
|
@ -0,0 +1,252 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit readme.gentoo-r1 rpm systemd pax-utils
|
||||
|
||||
DESCRIPTION="IBM Spectrum Protect (former Tivoli Storage Manager) Backup/Archive Client, API"
|
||||
HOMEPAGE="https://www.ibm.com/docs/en/spectrum-protect"
|
||||
|
||||
MY_PV_MAJOR=$(ver_cut 1)
|
||||
MY_PV_MINOR=$(ver_cut 2)
|
||||
MY_PV_TINY=$(ver_cut 3)
|
||||
MY_PV_PATCH=$(ver_cut 4)
|
||||
|
||||
MY_PV_NODOTS="${MY_PV_MAJOR}${MY_PV_MINOR}${MY_PV_TINY}"
|
||||
MY_PVR_ALLDOTS=${PV}
|
||||
|
||||
if [[ ${MY_PV_PATCH} == 0 ]]; then
|
||||
MY_RELEASE_PATH=maintenance
|
||||
else
|
||||
MY_RELEASE_PATH=patches
|
||||
fi
|
||||
BASE_URI="https://public.dhe.ibm.com/storage/tivoli-storage-management/"
|
||||
BASE_URI+="${MY_RELEASE_PATH}/client/v${MY_PV_MAJOR}r${MY_PV_MINOR}/"
|
||||
BASE_URI+="Linux/LinuxX86/BA/v${MY_PV_NODOTS}/"
|
||||
SRC_TAR="${MY_PVR_ALLDOTS}-TIV-TSMBAC-LinuxX86.tar"
|
||||
SRC_URI="${BASE_URI}${SRC_TAR}"
|
||||
|
||||
RESTRICT="strip" # Breaks libPiIMG.so and libPiSNAP.so
|
||||
LICENSE="Apache-1.1 Apache-2.0 JDOM BSD-2 CC-PD Boost-1.0 MIT CPL-1.0 HPND Exolab
|
||||
dom4j EPL-1.0 FTL icu unicode IBM Info-ZIP LGPL-2 LGPL-2.1 openafs-krb5-a
|
||||
ZLIB MPL-1.0 MPL-1.1 NPL-1.1 openssl OPENLDAP RSA public-domain W3C
|
||||
|| ( BSD GPL-2+ ) gSOAP libpng tsm"
|
||||
|
||||
SLOT="0"
|
||||
KEYWORDS="-* ~amd64"
|
||||
IUSE="acl java vmware +tsm-cit +tsm-hw"
|
||||
QA_PREBUILT="*"
|
||||
|
||||
# not available (yet?)
|
||||
#MY_LANGS="cs:CS_CZ de:DE_DE es:ES_ES fr:FR_FR hu:HU_HU it:IT_IT ja:JA_JP
|
||||
# ko:KO_KR pl:PL_PL pt-BR:PT_BR ru:RU_RU zh-CN:ZH_CN zh-TW:ZH_TW"
|
||||
MY_LANG_PV="${MY_PVR_ALLDOTS}-"
|
||||
for lang in ${MY_LANGS}; do
|
||||
IUSE="${IUSE} l10n_${lang%:*}"
|
||||
SRC_URI="${SRC_URI} l10n_${lang%:*}? ( \
|
||||
${BASE_URI}TIVsm-msg.${lang#*:}.x86_64.rpm -> \
|
||||
${MY_LANG_PV}TIVsm-msg.${lang#*:}.x86_64.rpm )"
|
||||
done
|
||||
unset lang
|
||||
|
||||
BDEPEND="
|
||||
app-arch/xz-utils[extra-filters]
|
||||
"
|
||||
DEPEND="
|
||||
acct-group/tsm
|
||||
"
|
||||
RDEPEND="
|
||||
acct-group/tsm
|
||||
dev-libs/expat
|
||||
dev-libs/libxml2
|
||||
sys-fs/fuse:0
|
||||
acl? ( sys-apps/acl )
|
||||
java? ( virtual/jre:1.8 )
|
||||
vmware? ( x11-libs/libXft media-libs/alsa-lib )
|
||||
|| (
|
||||
sys-libs/libxcrypt[compat]
|
||||
sys-libs/glibc[crypt(-)]
|
||||
)
|
||||
"
|
||||
|
||||
S="${WORKDIR}/bacli"
|
||||
|
||||
pkg_setup() {
|
||||
DOC_CONTENTS="
|
||||
Note that you have to be root to be able to use the Tivoli Storage Manager
|
||||
client. The dsmtca trusted agent binary does not exist anymore.
|
||||
|
||||
For information on how to give other users access, please see the following
|
||||
URLs:
|
||||
https://www.ibm.com/support/knowledgecenter/SSGSG7_7.1.8/client/c_cfg_nonadmin.html#c_macuninst_nonadmin
|
||||
https://www.ibm.com/support/knowledgecenter/SSGSG7_7.1.8/client/c_secure_pwd.html#c_secure_pwd__sec_no_tca
|
||||
"
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
local rpm rpms lang
|
||||
mkdir bacli || die
|
||||
cd bacli || die
|
||||
unpack ${SRC_TAR}
|
||||
|
||||
cd "${S}"
|
||||
for rpm in *.rpm; do
|
||||
case ${rpm} in
|
||||
TIVsm-APIcit.*|TIVsm-BAcit.*)
|
||||
use tsm-cit && rpms="${rpms} ./${rpm}"
|
||||
;;
|
||||
TIVsm-BAhdw.*)
|
||||
use tsm-hw && rpms="${rpms} ./${rpm}"
|
||||
;;
|
||||
TIVsm-JBB.*|*-filepath-*)
|
||||
# "journal based backup" for all filesystems
|
||||
# requires a kernel module.
|
||||
# "Linux Filepath source code" available
|
||||
# by request from vendor
|
||||
;;
|
||||
*)
|
||||
rpms="${rpms} ./${rpm}"
|
||||
;;
|
||||
esac
|
||||
done
|
||||
for rpm in ${A}; do
|
||||
case ${rpm} in
|
||||
*.rpm)
|
||||
rpms="${rpms} ${rpm}"
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
rpm_unpack ${rpms}
|
||||
|
||||
# Avoid strange error messages caused by read-only files
|
||||
chmod -R u+w "${S}" || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
if ! use vmware; then
|
||||
rm -rf opt/tivoli/tsm/tdpvmware
|
||||
fi
|
||||
cp -a opt "${D}"/ || die
|
||||
cp -a usr "${D}"/ || die
|
||||
|
||||
# The RPM files contain postinstall scripts which can be extracted
|
||||
# e.g. using https://bugs.gentoo.org/attachment.cgi?id=234663 .
|
||||
# Below we try to mimic the behaviour of these scripts.
|
||||
# We don't deal with SELinux compliance (yet), though.
|
||||
local RPM_INSTALL_PREFIX CLIENTDIR i
|
||||
RPM_INSTALL_PREFIX=/opt
|
||||
CLIENTDIR=${RPM_INSTALL_PREFIX}/tivoli/tsm/client
|
||||
|
||||
# Create links for messages; this is spread over several postin scripts.
|
||||
#for i in $(cd "${D}"/${CLIENTDIR}/lang; ls -1d ??_??); do
|
||||
# dosym ../../lang/${i} $CLIENTDIR/ba/bin/${i}
|
||||
# dosym ../../lang/${i} $CLIENTDIR/api/bin64/${i}
|
||||
#done
|
||||
|
||||
# Mimic TIVsm-API64 postinstall script
|
||||
for i in libgpfs.so libdmapi.so; do
|
||||
dosym ../..${CLIENTDIR}/api/bin64/${i} /usr/lib64/${i}
|
||||
done
|
||||
|
||||
# The TIVsm-BA postinstall script only does messages and ancient upgrades
|
||||
|
||||
# The gscrypt64 postinstall script only deals with s390[x] SELinux
|
||||
# and the symlink for the iccs library which we handle in the loop below.
|
||||
|
||||
# Move stuff from /usr/local to /opt, #452332
|
||||
mv "${D}"/usr/local/ibm "${D}"/opt/ || die
|
||||
rmdir "${D}"/usr/local || die
|
||||
|
||||
# Mimic gskssl64 postinstall script
|
||||
for i in sys p11 km ssl drld kicc ldap cms acmeidup valn dbfl iccs; do
|
||||
dosym ../../opt/ibm/gsk8_64/lib64/libgsk8${i}_64.so \
|
||||
/usr/lib64/libgsk8${i}_64.so
|
||||
done
|
||||
for i in capicmd ver; do
|
||||
dosym ../../opt/ibm/gsk8_64/bin/gsk8${i}_64 /usr/bin/gsk${i}_64
|
||||
done
|
||||
|
||||
# Done with the postinstall scripts as the RPMs contain them.
|
||||
# Now on to some more Gentoo-specific installation.
|
||||
|
||||
rm -rf "${D}/usr/lib/.build-id" &> /dev/null
|
||||
[[ -d "${D}/usr/lib" ]] && rmdir "${D}/usr/lib" || die "Using 32bit lib dir in 64bit only system"
|
||||
|
||||
# Avoid "QA Notice: Found an absolute symlink in a library directory"
|
||||
local target
|
||||
find "${D}"/usr/lib* -lname '/*' | while read i; do
|
||||
target=$(readlink "${i}")
|
||||
rm -v "${i}" || die
|
||||
dosym "../..${target}" "${i#${D}/}"
|
||||
done
|
||||
|
||||
keepdir /var/log/tsm
|
||||
insinto /etc/logrotate.d
|
||||
newins "${FILESDIR}/tsm.logrotate" tsm
|
||||
|
||||
keepdir /etc/tivoli
|
||||
|
||||
cp -a "${S}/opt/tivoli/tsm/client/ba/bin/dsm.sys.smp" "${D}/etc/tivoli/dsm.sys" || die
|
||||
echo ' PasswordDir "/etc/tivoli/"' >> "${D}"/etc/tivoli/dsm.sys
|
||||
echo ' PasswordAccess generate' >> "${D}"/etc/tivoli/dsm.sys
|
||||
|
||||
# Added the hostname to be more friendly, the admin will need to edit this file anyway
|
||||
echo ' NodeName' `hostname` >> "${D}"/etc/tivoli/dsm.sys
|
||||
echo ' ErrorLogName "/var/log/tsm/dsmerror.log"' >> "${D}"/etc/tivoli/dsm.sys
|
||||
echo ' SchedLogName "/var/log/tsm/dsmsched.log"' >> "${D}"/etc/tivoli/dsm.sys
|
||||
dosym ../../../../../../etc/tivoli/dsm.sys /opt/tivoli/tsm/client/ba/bin/dsm.sys
|
||||
|
||||
cp -a "${S}/opt/tivoli/tsm/client/ba/bin/dsm.opt.smp" "${D}/etc/tivoli/dsm.opt"
|
||||
dosym ../../../../../../etc/tivoli/dsm.opt /opt/tivoli/tsm/client/ba/bin/dsm.opt
|
||||
|
||||
# Setup the env
|
||||
dodir /etc/env.d
|
||||
ENV_FILE="${D}/etc/env.d/80tivoli"
|
||||
echo 'DSM_CONFIG="/etc/tivoli/dsm.opt"' >> ${ENV_FILE}
|
||||
echo 'DSM_DIR="/opt/tivoli/tsm/client/ba/bin"' >> ${ENV_FILE}
|
||||
echo 'DSM_LOG="/var/log/tsm"' >> ${ENV_FILE}
|
||||
# echo 'ROOTPATH="/opt/tivoli/tsm/client/ba/bin"' >> ${ENV_FILE}
|
||||
|
||||
echo 'SEARCH_DIRS_MASK="/opt/tivoli/tsm/client/ba/bin"' > "${T}/80${PN}" || die
|
||||
insinto "/etc/revdep-rebuild"
|
||||
doins "${T}/80${PN}"
|
||||
|
||||
newconfd "${FILESDIR}/dsmc.conf.d" dsmc
|
||||
newinitd "${FILESDIR}/dsmc.init.d" dsmc
|
||||
newinitd "${FILESDIR}/dsmcad.init.d-r1" dsmcad
|
||||
|
||||
# Need this for hardened, otherwise a cryptic "connection to server lost" message appears
|
||||
pax-mark -m "${D}/opt/tivoli/tsm/client/ba/bin/dsmc"
|
||||
|
||||
systemd_dounit "${FILESDIR}/dsmc.service"
|
||||
systemd_dounit "${FILESDIR}/dsmcad.service"
|
||||
|
||||
readme.gentoo_create_doc
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
local i dirs
|
||||
for i in /var/log/tsm/dsm{error,sched,j,webcl}.log; do
|
||||
if [[ ! -e ${i} ]]; then
|
||||
touch ${i} || die
|
||||
chown :tsm ${i} || die
|
||||
chmod 0660 ${i} || die
|
||||
fi
|
||||
done
|
||||
|
||||
# Bug #375041: the log directory itself should not be world writable.
|
||||
# Have to do this in postinst due to bug #141619
|
||||
chown root:tsm /var/log/tsm || die
|
||||
chmod 0750 /var/log/tsm || die
|
||||
|
||||
# Bug 508052: directories used to be too restrictive, have to widen perms.
|
||||
dirs=( /opt/tivoli $(find /opt/tivoli/tsm -type d) )
|
||||
chown root:root "${dirs[@]}" || die
|
||||
chmod 0755 "${dirs[@]}" || die
|
||||
|
||||
FORCE_PRINT_ELOG=1
|
||||
DISABLE_AUTOFORMATTING=1
|
||||
readme.gentoo_print_elog
|
||||
}
|
Binary file not shown.
@ -1,6 +1,7 @@
|
||||
DIST containerd-1.7.1.tar.gz 9682254 BLAKE2B f168070caf2b76f0be350a98f41bfdbfe6d78344d68821fb92a29f839a6e847d795e5b79436e36f985aa88028ff1c3f44f134cf6bd502ddac22453a457bd952b SHA512 e9b00ba8f4dd1b5b1088060d3822f684611d43b367ddfeb1bee1660140af85f31e9c9bfc600a67e8fc8645a625dc4e1919d9af7291bdeaa607bff7065a4fc945
|
||||
DIST containerd-1.7.13.tar.gz 10047499 BLAKE2B 792eca378db4e1f7c57d68e00e2c77d11eab1ca60d280f662f1152a349d1c5ddc2a3a334484741e9a4a81f25cb800dce042eea94307c9f020d850ed81ef533aa SHA512 b2932387ea14b8fb76e2583b862ec6495b2e08a8fd7cdf169978d554e8b352b44bb27585c9de1e4e3bb3984d0050d0f3de9bc7a559205d3130c2fe40f961feb4
|
||||
DIST containerd-1.7.14.tar.gz 10054632 BLAKE2B 1a4db0d1fba16b71e55f213f5776dbef7d9806bf0f7623f0d1ab945554f8ef6c98a0d29923f1b19c4f0017b8a1c73ca929fd43522371c3c228be838e71e86763 SHA512 c80ad36027407b2e06fdff76280750f84de8d7300ef8be275976766f2a0a04dec1f0f850c8efcceaa7f6163f43922b427d7ae1fcdeabfaf531f487c25c461dc8
|
||||
DIST containerd-1.7.15.tar.gz 10071827 BLAKE2B 91de9b7d777d53ecdab4af5bbb0d4ccbe755e4cf0fb7bc99a7bb15c66e0e11ad30aa2af685e0e8b0df80dbeef451704fa056a04b460d92adceebd290977febfc SHA512 84a94c7658a431cfd7a5321ac262d966f4291337ddff14211951b0d2025cd3af25a48175794d2b3a630ffc25ba03047579163546a4758a2fb5d1898cd233854f
|
||||
DIST containerd-1.7.2.tar.gz 9688701 BLAKE2B d31cd0e96bb2675390cc63d06114e37d532b7c666b3ffc5b0087dfcef8de23559471f08bf8a52b164c5f645faf1b8102ab2ccdd8ec417a1c74336097f0c3a899 SHA512 c0d4c02991b7e9fc341c4ef3df2d93097f5854a51b99596ed95436a79f7a586820bb8bb7c17fc43b5f38d97ea942e59490fbbf6c9710391ef9caae3d34627bc5
|
||||
DIST containerd-1.7.6.tar.gz 9714550 BLAKE2B 863df1a8ab0f0fe6ec62893ed64824763c1b5230fe830fa268820ce0d6254c79e1ac62ab1261a74785b86b01dff83ea9109a899857fa47a48f2cf2eaf298fea8 SHA512 8b7e13c6ea544754ba7d53092d143f3fd2224b9bc874a33d8a00b781e719927f1b22ad5cd1e35b7b95e4890e630f4b92308549a970587ccdf9dbb8eb470e2703
|
||||
DIST containerd-1.7.8.tar.gz 9939250 BLAKE2B cddfea0617e92dc56f118e63a3e7af0103c1afe1b18e2c3bf198e4a58aa52424cb62f813f304231700ca10f8ff8936faed5c26735d3dab8958de2219b6769db0 SHA512 29c317b53f1e0eb48f45da47161aad9e97a9e7c5ff6ca2fc0d1233b9e6dcf7c8cd7f866502df80119447e6b889c8ce26257282c7d1948e05e22e1a5afeed1d03
|
||||
|
@ -0,0 +1,86 @@
|
||||
# Copyright 2022-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
inherit go-module systemd
|
||||
GIT_REVISION=926c9586fe4a6236699318391cd44976a98e31f1
|
||||
|
||||
DESCRIPTION="A daemon to control runC"
|
||||
HOMEPAGE="https://containerd.io/"
|
||||
SRC_URI="https://github.com/containerd/containerd/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
|
||||
IUSE="apparmor btrfs device-mapper +cri hardened +seccomp selinux test"
|
||||
|
||||
DEPEND="
|
||||
btrfs? ( sys-fs/btrfs-progs )
|
||||
seccomp? ( sys-libs/libseccomp )
|
||||
"
|
||||
|
||||
# recommended version of runc is found in script/setup/runc-version
|
||||
RDEPEND="
|
||||
${DEPEND}
|
||||
~app-containers/runc-1.1.12[apparmor?,seccomp?]
|
||||
"
|
||||
|
||||
BDEPEND="
|
||||
dev-go/go-md2man
|
||||
virtual/pkgconfig
|
||||
"
|
||||
|
||||
# tests require root or docker
|
||||
RESTRICT+="test"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
sed -i \
|
||||
-e "s/-s -w//" \
|
||||
-e "s/-mod=readonly//" \
|
||||
Makefile || die
|
||||
sed -i \
|
||||
-e "s:/usr/local:/usr:" \
|
||||
containerd.service || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
local options=(
|
||||
$(usev apparmor)
|
||||
$(usex btrfs "" "no_btrfs")
|
||||
$(usex cri "" "no_cri")
|
||||
$(usex device-mapper "" "no_devmapper")
|
||||
$(usev seccomp)
|
||||
$(usev selinux)
|
||||
)
|
||||
|
||||
myemakeargs=(
|
||||
BUILDTAGS="${options[*]}"
|
||||
LDFLAGS="$(usex hardened '-extldflags -fno-PIC' '')"
|
||||
REVISION="${GIT_REVISION}"
|
||||
VERSION=v${PV}
|
||||
)
|
||||
|
||||
# race condition in man target https://bugs.gentoo.org/765100
|
||||
# we need to explicitly specify GOFLAGS for "go run" to use vendor source
|
||||
emake "${myemakeargs[@]}" man -j1 #nowarn
|
||||
emake "${myemakeargs[@]}" all
|
||||
|
||||
}
|
||||
|
||||
src_install() {
|
||||
rm "${D}"/bin/gen-manpages
|
||||
dobin bin/*
|
||||
doman man/*
|
||||
newconfd "${FILESDIR}"/${PN}.confd "${PN}"
|
||||
newinitd "${FILESDIR}"/${PN}.initd "${PN}"
|
||||
systemd_dounit containerd.service
|
||||
keepdir /var/lib/containerd
|
||||
|
||||
# we already installed manpages, remove markdown source
|
||||
# before installing docs directory
|
||||
rm -r docs/man || die
|
||||
|
||||
local DOCS=( ADOPTERS.md README.md RELEASES.md ROADMAP.md SCOPE.md docs/. )
|
||||
einstalldocs
|
||||
}
|
@ -0,0 +1,72 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
GIT_COMMIT=9714adc6c797755f63053726c56bc1c17c0c9204
|
||||
|
||||
EGO_PN="github.com/docker/cli"
|
||||
MY_PV=${PV/_/-}
|
||||
inherit bash-completion-r1 golang-vcs-snapshot
|
||||
|
||||
DESCRIPTION="the command line binary for docker"
|
||||
HOMEPAGE="https://www.docker.com/"
|
||||
SRC_URI="https://github.com/docker/cli/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
|
||||
SRC_URI+=" https://dev.gentoo.org/~williamh/dist/${P}-man.tar.xz"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
|
||||
IUSE="hardened selinux"
|
||||
|
||||
RDEPEND="!<app-containers/docker-20.10.1
|
||||
selinux? ( sec-policy/selinux-docker )"
|
||||
BDEPEND="
|
||||
>=dev-lang/go-1.16.6"
|
||||
|
||||
RESTRICT="installsources strip test"
|
||||
|
||||
S="${WORKDIR}/${P}/src/${EGO_PN}"
|
||||
|
||||
src_unpack() {
|
||||
golang-vcs-snapshot_src_unpack
|
||||
set -- ${A}
|
||||
unpack ${2}
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
sed -i 's@dockerd\?\.exe@@g' contrib/completion/bash/docker || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
export DISABLE_WARN_OUTSIDE_CONTAINER=1
|
||||
export GOPATH="${WORKDIR}/${P}"
|
||||
# setup CFLAGS and LDFLAGS for separate build target
|
||||
# see https://github.com/tianon/docker-overlay/pull/10
|
||||
export CGO_CFLAGS="-I${ESYSROOT}/usr/include"
|
||||
export CGO_LDFLAGS="-L${ESYSROOT}/usr/$(get_libdir)"
|
||||
emake \
|
||||
LDFLAGS="$(usex hardened '-extldflags -fno-PIC' '')" \
|
||||
VERSION="${PV}" \
|
||||
GITCOMMIT="${GIT_COMMIT}" \
|
||||
dynbinary
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dobin build/docker
|
||||
doman "${WORKDIR}"/man/man?/*
|
||||
dobashcomp contrib/completion/bash/*
|
||||
bashcomp_alias docker dockerd
|
||||
insinto /usr/share/fish/vendor_completions.d/
|
||||
doins contrib/completion/fish/docker.fish
|
||||
insinto /usr/share/zsh/site-functions
|
||||
doins contrib/completion/zsh/_*
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
has_version "app-containers/docker-buildx" && return
|
||||
ewarn "the 'docker build' command is deprecated and will be removed in a"
|
||||
ewarn "future release. If you need this functionality, install"
|
||||
ewarn "app-containers/docker-buildx."
|
||||
}
|
@ -0,0 +1,322 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
EGO_PN=github.com/docker/docker
|
||||
MY_PV=${PV/_/-}
|
||||
inherit golang-vcs-snapshot linux-info systemd udev
|
||||
GIT_COMMIT=061aa95809be396a6b5542618d8a34b02a21ff77
|
||||
|
||||
DESCRIPTION="The core functions you need to create Docker images and run Docker containers"
|
||||
HOMEPAGE="https://www.docker.com/"
|
||||
SRC_URI="https://github.com/moby/moby/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
|
||||
IUSE="apparmor btrfs +container-init overlay seccomp selinux systemd"
|
||||
|
||||
DEPEND="
|
||||
acct-group/docker
|
||||
>=dev-db/sqlite-3.7.9:3
|
||||
apparmor? ( sys-libs/libapparmor )
|
||||
btrfs? ( >=sys-fs/btrfs-progs-3.16.1 )
|
||||
seccomp? ( >=sys-libs/libseccomp-2.2.1 )
|
||||
systemd? ( sys-apps/systemd )
|
||||
"
|
||||
|
||||
# https://github.com/moby/moby/blob/master/project/PACKAGERS.md#runtime-dependencies
|
||||
# https://github.com/moby/moby/blob/master/project/PACKAGERS.md#optional-dependencies
|
||||
RDEPEND="
|
||||
${DEPEND}
|
||||
>=net-firewall/iptables-1.4
|
||||
sys-process/procps
|
||||
>=dev-vcs/git-1.7
|
||||
>=app-arch/xz-utils-4.9
|
||||
>=app-containers/containerd-1.7.15[apparmor?,btrfs?,seccomp?]
|
||||
>=app-containers/runc-1.1.12[apparmor?,seccomp?]
|
||||
!app-containers/docker-proxy
|
||||
container-init? ( >=sys-process/tini-0.19.0[static] )
|
||||
selinux? ( sec-policy/selinux-docker )
|
||||
"
|
||||
|
||||
# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#build-dependencies
|
||||
BDEPEND="
|
||||
>=dev-lang/go-1.16.12
|
||||
dev-go/go-md2man
|
||||
virtual/pkgconfig
|
||||
"
|
||||
# tests require running dockerd as root and downloading containers
|
||||
RESTRICT="installsources strip test"
|
||||
|
||||
S="${WORKDIR}/${P}/src/${EGO_PN}"
|
||||
|
||||
# https://bugs.gentoo.org/748984 https://github.com/etcd-io/etcd/pull/12552
|
||||
PATCHES=(
|
||||
"${FILESDIR}/0001-Openrc-Depend-on-containerd-init-script.patch"
|
||||
"${FILESDIR}/docker-26.1.0-automagic-systemd.patch"
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
# this is based on "contrib/check-config.sh" from upstream's sources
|
||||
# required features.
|
||||
CONFIG_CHECK="
|
||||
~NAMESPACES ~NET_NS ~PID_NS ~IPC_NS ~UTS_NS
|
||||
~CGROUPS ~CGROUP_CPUACCT ~CGROUP_DEVICE ~CGROUP_FREEZER ~CGROUP_SCHED ~CPUSETS ~MEMCG
|
||||
~KEYS
|
||||
~VETH ~BRIDGE ~BRIDGE_NETFILTER
|
||||
~IP_NF_FILTER ~IP_NF_TARGET_MASQUERADE
|
||||
~NETFILTER_XT_MATCH_ADDRTYPE
|
||||
~NETFILTER_XT_MATCH_CONNTRACK
|
||||
~NETFILTER_XT_MATCH_IPVS
|
||||
~NETFILTER_XT_MARK
|
||||
~IP_NF_NAT ~NF_NAT
|
||||
~POSIX_MQUEUE
|
||||
"
|
||||
WARNING_POSIX_MQUEUE="CONFIG_POSIX_MQUEUE: is required for bind-mounting /dev/mqueue into containers"
|
||||
|
||||
if kernel_is lt 4 8; then
|
||||
CONFIG_CHECK+="
|
||||
~DEVPTS_MULTIPLE_INSTANCES
|
||||
"
|
||||
fi
|
||||
|
||||
if kernel_is le 5 1; then
|
||||
CONFIG_CHECK+="
|
||||
~NF_NAT_IPV4
|
||||
"
|
||||
fi
|
||||
|
||||
if kernel_is le 5 2; then
|
||||
CONFIG_CHECK+="
|
||||
~NF_NAT_NEEDED
|
||||
"
|
||||
fi
|
||||
|
||||
if kernel_is ge 4 15; then
|
||||
CONFIG_CHECK+="
|
||||
~CGROUP_BPF
|
||||
"
|
||||
fi
|
||||
|
||||
# optional features
|
||||
CONFIG_CHECK+="
|
||||
~USER_NS
|
||||
"
|
||||
|
||||
if use seccomp; then
|
||||
CONFIG_CHECK+="
|
||||
~SECCOMP ~SECCOMP_FILTER
|
||||
"
|
||||
fi
|
||||
|
||||
CONFIG_CHECK+="
|
||||
~CGROUP_PIDS
|
||||
"
|
||||
|
||||
if kernel_is lt 6 1; then
|
||||
CONFIG_CHECK+="
|
||||
~MEMCG_SWAP
|
||||
"
|
||||
fi
|
||||
|
||||
if kernel_is le 5 8; then
|
||||
CONFIG_CHECK+="
|
||||
~MEMCG_SWAP_ENABLED
|
||||
"
|
||||
fi
|
||||
|
||||
CONFIG_CHECK+="
|
||||
~!LEGACY_VSYSCALL_NATIVE
|
||||
"
|
||||
if kernel_is lt 5 19; then
|
||||
CONFIG_CHECK+="
|
||||
~LEGACY_VSYSCALL_EMULATE
|
||||
"
|
||||
fi
|
||||
CONFIG_CHECK+="
|
||||
~!LEGACY_VSYSCALL_NONE
|
||||
"
|
||||
WARNING_LEGACY_VSYSCALL_NONE="CONFIG_LEGACY_VSYSCALL_NONE enabled: \
|
||||
Containers with <=glibc-2.13 will not work"
|
||||
|
||||
if kernel_is le 4 5; then
|
||||
CONFIG_CHECK+="
|
||||
~MEMCG_KMEM
|
||||
"
|
||||
fi
|
||||
|
||||
if kernel_is lt 5; then
|
||||
CONFIG_CHECK+="
|
||||
~IOSCHED_CFQ ~CFQ_GROUP_IOSCHED
|
||||
"
|
||||
fi
|
||||
|
||||
CONFIG_CHECK+="
|
||||
~BLK_CGROUP ~BLK_DEV_THROTTLING
|
||||
~CGROUP_PERF
|
||||
~CGROUP_HUGETLB
|
||||
~NET_CLS_CGROUP ~CGROUP_NET_PRIO
|
||||
~CFS_BANDWIDTH ~FAIR_GROUP_SCHED
|
||||
~IP_NF_TARGET_REDIRECT
|
||||
~IP_VS
|
||||
~IP_VS_NFCT
|
||||
~IP_VS_PROTO_TCP
|
||||
~IP_VS_PROTO_UDP
|
||||
~IP_VS_RR
|
||||
"
|
||||
|
||||
if use selinux; then
|
||||
CONFIG_CHECK+="
|
||||
~SECURITY_SELINUX
|
||||
"
|
||||
fi
|
||||
|
||||
if use apparmor; then
|
||||
CONFIG_CHECK+="
|
||||
~SECURITY_APPARMOR
|
||||
"
|
||||
fi
|
||||
|
||||
# if ! is_set EXT4_USE_FOR_EXT2; then
|
||||
# check_flags EXT3_FS EXT3_FS_XATTR EXT3_FS_POSIX_ACL EXT3_FS_SECURITY
|
||||
# if ! is_set EXT3_FS || ! is_set EXT3_FS_XATTR || ! is_set EXT3_FS_POSIX_ACL || ! is_set EXT3_FS_SECURITY; then
|
||||
# echo " $(wrap_color '(enable these ext3 configs if you are using ext3 as backing filesystem)' bold black)"
|
||||
# fi
|
||||
# fi
|
||||
|
||||
CONFIG_CHECK+="
|
||||
~EXT4_FS ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY
|
||||
"
|
||||
|
||||
# if ! is_set EXT4_FS || ! is_set EXT4_FS_POSIX_ACL || ! is_set EXT4_FS_SECURITY; then
|
||||
# if is_set EXT4_USE_FOR_EXT2; then
|
||||
# echo " $(wrap_color 'enable these ext4 configs if you are using ext3 or ext4 as backing filesystem' bold black)"
|
||||
# else
|
||||
# echo " $(wrap_color 'enable these ext4 configs if you are using ext4 as backing filesystem' bold black)"
|
||||
# fi
|
||||
# fi
|
||||
|
||||
# network drivers
|
||||
CONFIG_CHECK+="
|
||||
~VXLAN ~BRIDGE_VLAN_FILTERING
|
||||
~CRYPTO ~CRYPTO_AEAD ~CRYPTO_GCM ~CRYPTO_SEQIV ~CRYPTO_GHASH
|
||||
~XFRM ~XFRM_USER ~XFRM_ALGO ~INET_ESP
|
||||
"
|
||||
if kernel_is le 5 3; then
|
||||
CONFIG_CHECK+="
|
||||
~INET_XFRM_MODE_TRANSPORT
|
||||
"
|
||||
fi
|
||||
|
||||
CONFIG_CHECK+="
|
||||
~IPVLAN
|
||||
"
|
||||
CONFIG_CHECK+="
|
||||
~MACVLAN ~DUMMY
|
||||
"
|
||||
CONFIG_CHECK+="
|
||||
~NF_NAT_FTP ~NF_CONNTRACK_FTP ~NF_NAT_TFTP ~NF_CONNTRACK_TFTP
|
||||
"
|
||||
|
||||
# storage drivers
|
||||
if use btrfs; then
|
||||
CONFIG_CHECK+="
|
||||
~BTRFS_FS
|
||||
~BTRFS_FS_POSIX_ACL
|
||||
"
|
||||
fi
|
||||
|
||||
CONFIG_CHECK+="
|
||||
~OVERLAY_FS
|
||||
"
|
||||
|
||||
linux-info_pkg_setup
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
export DOCKER_GITCOMMIT="${GIT_COMMIT}"
|
||||
export GOPATH="${WORKDIR}/${P}"
|
||||
export VERSION=${PV}
|
||||
tc-export PKG_CONFIG
|
||||
|
||||
# setup CFLAGS and LDFLAGS for separate build target
|
||||
# see https://github.com/tianon/docker-overlay/pull/10
|
||||
export CGO_CFLAGS="-I${ESYSROOT}/usr/include"
|
||||
export CGO_LDFLAGS="-L${ESYSROOT}/usr/$(get_libdir)"
|
||||
|
||||
# let's set up some optional features :)
|
||||
export DOCKER_BUILDTAGS=''
|
||||
for gd in btrfs overlay; do
|
||||
if ! use $gd; then
|
||||
DOCKER_BUILDTAGS+=" exclude_graphdriver_${gd//-/}"
|
||||
fi
|
||||
done
|
||||
|
||||
for tag in apparmor seccomp; do
|
||||
if use $tag; then
|
||||
DOCKER_BUILDTAGS+=" $tag"
|
||||
fi
|
||||
done
|
||||
|
||||
export SYSTEMD=$(usex systemd 1 0)
|
||||
|
||||
# build binaries
|
||||
./hack/make.sh dynbinary || die 'dynbinary failed'
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dosym containerd /usr/bin/docker-containerd
|
||||
dosym containerd-shim /usr/bin/docker-containerd-shim
|
||||
dosym runc /usr/bin/docker-runc
|
||||
use container-init && dosym tini /usr/bin/docker-init
|
||||
dobin bundles/dynbinary-daemon/dockerd
|
||||
dobin bundles/dynbinary-daemon/docker-proxy
|
||||
|
||||
newinitd contrib/init/openrc/docker.initd docker
|
||||
newconfd contrib/init/openrc/docker.confd docker
|
||||
|
||||
systemd_dounit contrib/init/systemd/docker.{service,socket}
|
||||
|
||||
udev_dorules contrib/udev/*.rules
|
||||
|
||||
dodoc AUTHORS CONTRIBUTING.md NOTICE README.md
|
||||
dodoc -r docs/*
|
||||
|
||||
# note: intentionally not using "doins" so that we preserve +x bits
|
||||
dodir /usr/share/${PN}/contrib
|
||||
cp -R contrib/* "${ED}/usr/share/${PN}/contrib"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
udev_reload
|
||||
|
||||
elog
|
||||
elog "To use Docker, the Docker daemon must be running as root. To automatically"
|
||||
elog "start the Docker daemon at boot:"
|
||||
if systemd_is_booted || has_version sys-apps/systemd; then
|
||||
elog " systemctl enable docker.service"
|
||||
else
|
||||
elog " rc-update add docker default"
|
||||
fi
|
||||
elog
|
||||
elog "To use Docker as a non-root user, add yourself to the 'docker' group:"
|
||||
elog ' usermod -aG docker <youruser>'
|
||||
elog
|
||||
|
||||
if use overlay; then
|
||||
elog " Overlay storage driver/USEflag has been deprecated"
|
||||
elog " in favor of overlay2 (enabled unconditionally)"
|
||||
elog
|
||||
fi
|
||||
|
||||
if has_version sys-fs/zfs; then
|
||||
elog " ZFS storage driver is available"
|
||||
elog " Check https://docs.docker.com/storage/storagedriver/zfs-driver for more info"
|
||||
elog
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
udev_reload
|
||||
}
|
@ -0,0 +1,13 @@
|
||||
https://bugs.gentoo.org/914076
|
||||
https://github.com/moby/moby/issues/47770
|
||||
--- a/hack/make.sh
|
||||
+++ b/hack/make.sh
|
||||
@@ -90,7 +90,7 @@ add_buildtag() {
|
||||
[[ " $DOCKER_BUILDTAGS" == *" $1_"* ]] || DOCKER_BUILDTAGS+=" $1_$2"
|
||||
}
|
||||
|
||||
-if ${PKG_CONFIG} 'libsystemd' 2> /dev/null; then
|
||||
+if [[ -n "$SYSTEMD" ]] && [[ "$SYSTEMD" == 1 ]] && ${PKG_CONFIG} 'libsystemd' 2> /dev/null; then
|
||||
DOCKER_BUILDTAGS+=" journald"
|
||||
fi
|
||||
|
@ -0,0 +1,13 @@
|
||||
https://bugs.gentoo.org/914076
|
||||
https://github.com/moby/moby/issues/47770
|
||||
--- a/hack/make.sh
|
||||
+++ b/hack/make.sh
|
||||
@@ -83,7 +83,7 @@ if [ ! "$GOPATH" ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
-if ${PKG_CONFIG} 'libsystemd' 2> /dev/null; then
|
||||
+if [[ -n "$SYSTEMD" ]] && [[ "$SYSTEMD" == 1 ]] && ${PKG_CONFIG} 'libsystemd' 2> /dev/null; then
|
||||
DOCKER_BUILDTAGS+=" journald"
|
||||
fi
|
||||
|
@ -1,10 +1,8 @@
|
||||
DIST earthly-0.8.4-deps.tar.xz 158470344 BLAKE2B c3ec6369f8b397abd9b76dc77461c628e14ecc5866c8b66d094c3fe3194b18330be78454b57f211a717785210da40dc3c83e7d9769c62d621ca42a9d70f7be7f SHA512 d9b0960e02cf288b933a8da954e597957b2e8dc0920e2dca208a17d41c84bc1bcff789ee1c02fa930d5d0a816cb03437b091375168e0f46f3d3cf330a643b308
|
||||
DIST earthly-0.8.4.tar.gz 8041021 BLAKE2B 66057e29d4b287a220d8799efb4a1c5c43ea7641029e3af59bf8556125df28f9eafddc20d515fd20fab8c09bbb6278af4ea525f4bbe38d0e24ee031fc65c7336 SHA512 b663a10feb255329dfca30d5d70cb5c36ad5f96ed2b0cd30c46dd1b4ad087ab15b941fe6d3be3e32b1eee8199b5ee8ae50d61739c290b8967b6fcfd4126327db
|
||||
DIST earthly-0.8.5-deps.tar.xz 157843872 BLAKE2B aade314abdcd8aaf18737908df1a90d71c907f286df463c9f8ce9654d5e212387b7107070225bf85f54d6e4688a741b7838b5c70d9f1a09ac15e904b83d4d2b8 SHA512 557b3477c1773c27934429677a53efbdc104230fcbd536cb73e8cd631ccf2af488731acc5555484298fc579e08b8e52031191b49ef0610595b2b67cc987232e3
|
||||
DIST earthly-0.8.5.tar.gz 8051712 BLAKE2B b9310a28d79bec7a59525a541cdd51960762b0695ccf15fd33be8a9917a7e52b2251a4ebf202c4f02036b3c178b8d26fc9bc4802b9d6a73a5bfc39623c5075d7 SHA512 206dc95c2ef4b89ea7dd65b2b04f4ac7606d63891cea708f7d7dcdff8f3e9ed113b090b65c0285175412cd76fca18852bf77eeddc2e0f2782f390e5bce1f8b86
|
||||
DIST earthly-0.8.6-deps.tar.xz 157843872 BLAKE2B aade314abdcd8aaf18737908df1a90d71c907f286df463c9f8ce9654d5e212387b7107070225bf85f54d6e4688a741b7838b5c70d9f1a09ac15e904b83d4d2b8 SHA512 557b3477c1773c27934429677a53efbdc104230fcbd536cb73e8cd631ccf2af488731acc5555484298fc579e08b8e52031191b49ef0610595b2b67cc987232e3
|
||||
DIST earthly-0.8.6.tar.gz 8052646 BLAKE2B 43cb74b7ad198d6418a60dd8b3bac61c1bf67f460b73ca3627647ce71778178e69075bc5122a24cfe33c075c40e962db60845ae6d0933782432eb56087ed83f2 SHA512 4c5ae65452ff940bbeeff7ec489882c5db82597977d18ac3f187ae6a444f6b78222f16f3e0ff10250100195227b925d1a73e24c2ffce618b8675fd826302a47a
|
||||
DIST earthly-0.8.7-deps.tar.zst 180209748 BLAKE2B e4c5f4b856d0ed3a0c757128c144f6267fd763118de12a51877781e82ea15722420c871f5d66a4dd797cc67b85b7c7cd26a1d2e8f417bd5517f1109e376bbefc SHA512 b8dc56b302aca63837a87cfcced4d0387adaea5433b72eb7c7056dab8a486208d06fff39b4ecd753a30f27878b1497eb1892456876e7632ee2c44926747a12d6
|
||||
DIST earthly-0.8.7.tar.gz 8062437 BLAKE2B 82796711c13cb7fd2bf957148ddd7ff31d14b9888b30a910682b956ecb8cd9c66539a71b558f92f972b54c566411257c769dadfe2e1d720d9a4e496292185d48 SHA512 c8bddfc2c4e5702abb5c119a022ab5cc875b460535fb5af4364ee7bd89e950768f71fe1ccf1860d0826d8934b283745ca22abae147852a7b779081373b40be4f
|
||||
DIST earthly-0.8.8-deps.tar.zst 180214607 BLAKE2B f407dcc4cb8daee7ac53433af830b6c872b0c9e1e05004b2bc4c8706eb98b65e457f7bea2b221e6c4cf4dfe8bb218a5ca60e85beb1f7839cb0ffaadaf8110ad3 SHA512 6a9d0eb7a69b36cca2f79d3f92e21f9f97d858451308f7151e4810c479105b7dad3fe2ad1b8a90a6ca9f0c7d3d06a8f89cd3eab4fde54e10fae2e3ea98fbb7bb
|
||||
DIST earthly-0.8.8.tar.gz 8069650 BLAKE2B 05dca12e206a22c522d36711cb960525bb20c51439dd73c8ec4a96151c306022483ade55ebe80f30d85acba3c1531b0c9b97115702c6bfc96daa615d9b798d31 SHA512 9a19ddfcaa40720b1cbab166e40a6300a79d38245074bd111082eaa04206ae8020c7596ad5801f3048e3a411cbcd88b161d8c01375e4b00192b8cf2b23e62e77
|
||||
DIST earthly-0.8.9-deps.tar.zst 180210180 BLAKE2B 8d48677c9dac4571efadb41c882520ba6f92bfc4a6f36ae55f6ce54c258f16dbd693412d1a25b4467d078c2b9b039b96d934236c3a071f1f64040b2da5a3d848 SHA512 f504567855830d8027d830372f8e365b8f9893d3625b94b2e91294985f65be3d276cdceba9913ef37a6e1a45debcd8fb393e6ea0d16615c06a188862b33d8a1d
|
||||
DIST earthly-0.8.9.tar.gz 8070633 BLAKE2B 3ed83bf57654f89d0b579ec9df64a9025d9fae1da755018c83cfd6ac03e70da176de564185a2ad1f68383ff0c6a2e26132568cb451bc1b474b87c4852dc2266b SHA512 e1fccfafa845b1964f824850c05fa39904e2804f8145f24342ee86e6c9f1a8ffbb30b1a822744343f59ba9dc4b1e4788020d0cc6b954d9f62eeeb43a594bd326
|
||||
|
@ -1,71 +0,0 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
# Git commit SHA is needed at runtime by earthly to pull and bootstrap images.
|
||||
if [[ "${PV}" == 0.8.5 ]] ; then
|
||||
COMMIT_SHA=a6b5b8dca64fdae64f089ac48cefa60ab39974c4
|
||||
else
|
||||
die 'Could not detect "COMMIT_SHA", please update the ebuild.'
|
||||
fi
|
||||
|
||||
inherit go-module
|
||||
|
||||
DESCRIPTION="Build automation tool that executes in containers"
|
||||
HOMEPAGE="https://earthly.dev/
|
||||
https://github.com/earthly/earthly/"
|
||||
SRC_URI="
|
||||
https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz
|
||||
-> ${P}.tar.gz
|
||||
https://dev.gentoo.org/~xgqt/distfiles/deps/${P}-deps.tar.xz
|
||||
"
|
||||
|
||||
LICENSE="MPL-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 ~x86"
|
||||
|
||||
RDEPEND="
|
||||
|| (
|
||||
app-containers/docker
|
||||
app-containers/podman
|
||||
)
|
||||
"
|
||||
|
||||
DOCS=( CHANGELOG.md CONTRIBUTING.md README.md )
|
||||
|
||||
src_compile() {
|
||||
local go_tags="dfrunmount,dfrunsecurity,dfsecrets,dfssh,dfrunnetwork,dfheredoc,forceposix"
|
||||
local go_ldflags="
|
||||
-X main.DefaultBuildkitdImage=docker.io/earthly/buildkitd:v${PV}
|
||||
-X main.GitSha=${COMMIT_SHA}
|
||||
-X main.Version=v${PV}
|
||||
"
|
||||
local -a go_buildargs=(
|
||||
-tags "${go_tags}"
|
||||
-ldflags "${go_ldflags}"
|
||||
-o ./bin/
|
||||
)
|
||||
ego build "${go_buildargs[@]}" ./cmd/...
|
||||
}
|
||||
|
||||
src_install() {
|
||||
exeinto /usr/bin
|
||||
doexe bin/earthly
|
||||
newexe bin/debugger earthly-debugger
|
||||
|
||||
einstalldocs
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if has_version "app-containers/podman" ; then
|
||||
ewarn "Podman is supported but not recommended."
|
||||
ewarn "If issues arise, then please try running earthly with docker."
|
||||
fi
|
||||
|
||||
if has_version "app-containers/podman[rootless]" ; then
|
||||
ewarn "Running podman in rootless mode is not supported because"
|
||||
ewarn "earthly/dind and earthly/buildkit require privileged access."
|
||||
ewarn "For more info see: https://docs.earthly.dev/docs/guides/podman/"
|
||||
fi
|
||||
}
|
Binary file not shown.
@ -0,0 +1 @@
|
||||
DIST badkeys-0.0.8.tar.gz 372562 BLAKE2B ed09e24361730a4233bfe31482c7fcd860c4047c5043f046c9b99988dd0974d1ea603be498c1841bc52ea22887332cdac7d1e04a56edb662534f3638288a421a SHA512 5f225ca3966876993b1462257ff0823b463df3f0ffbc57f7dc4693479c53b11f28dd3526f0f565cb6be01f6b610315dad1ebbcbb7c5f64e82f18fe89077b7681
|
@ -0,0 +1,25 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
PYTHON_COMPAT=( python3_{9..12} )
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
inherit distutils-r1 pypi
|
||||
|
||||
DESCRIPTION="Check cryptographic keys for known weaknesses"
|
||||
HOMEPAGE="https://badkeys.info/"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE="ssh"
|
||||
|
||||
DEPEND="dev-python/cryptography[${PYTHON_USEDEP}]
|
||||
dev-python/gmpy[${PYTHON_USEDEP}]"
|
||||
RDEPEND="${DEPEND}
|
||||
ssh? ( dev-python/paramiko[${PYTHON_USEDEP}] )"
|
||||
# TODO: add optional binary-file-search dependency once
|
||||
# it is packaged.
|
||||
DOCS=( README.md )
|
||||
|
||||
distutils_enable_tests unittest
|
@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person"><email>hanno@gentoo.org</email></maintainer>
|
||||
<upstream>
|
||||
<remote-id type="github">badkeys/badkeys</remote-id>
|
||||
<remote-id type="pypi">badkeys</remote-id>
|
||||
</upstream>
|
||||
<use>
|
||||
<flag name="ssh">Enable ssh scan mode via <pkg>dev-python/paramiko</pkg>.</flag>
|
||||
</use>
|
||||
</pkgmetadata>
|
@ -0,0 +1,181 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
# Maintainers should:
|
||||
# 1. Join the "Gentoo" project at https://dev.gnupg.org/project/view/27/
|
||||
# 2. Subscribe to release tasks like https://dev.gnupg.org/T6159
|
||||
# (find the one for the current release then subscribe to it +
|
||||
# any subsequent ones linked within so you're covered for a while.)
|
||||
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gnupg.asc
|
||||
# in-source builds are not supported: https://dev.gnupg.org/T6313#166339
|
||||
inherit flag-o-matic out-of-source multiprocessing systemd toolchain-funcs verify-sig
|
||||
|
||||
MY_P="${P/_/-}"
|
||||
|
||||
DESCRIPTION="The GNU Privacy Guard, a GPL OpenPGP implementation"
|
||||
HOMEPAGE="https://gnupg.org/"
|
||||
SRC_URI="mirror://gnupg/gnupg/${MY_P}.tar.bz2"
|
||||
SRC_URI+=" verify-sig? ( mirror://gnupg/gnupg/${P}.tar.bz2.sig )"
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
LICENSE="GPL-3+"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
IUSE="bzip2 doc ldap nls readline selinux +smartcard ssl test tofu tools usb user-socket wks-server"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
# Existence of executables is checked during configuration.
|
||||
# Note: On each bump, update dep bounds on each version from configure.ac!
|
||||
DEPEND="
|
||||
>=dev-libs/libassuan-2.5.0
|
||||
>=dev-libs/libgcrypt-1.8.0:=
|
||||
>=dev-libs/libgpg-error-1.38
|
||||
>=dev-libs/libksba-1.4.0
|
||||
>=dev-libs/npth-1.2
|
||||
>=net-misc/curl-7.10
|
||||
sys-libs/zlib
|
||||
bzip2? ( app-arch/bzip2 )
|
||||
ldap? ( net-nds/openldap:= )
|
||||
readline? ( sys-libs/readline:= )
|
||||
smartcard? ( usb? ( virtual/libusb:1 ) )
|
||||
ssl? ( >=net-libs/gnutls-3.0:= )
|
||||
tofu? ( >=dev-db/sqlite-3.7 )
|
||||
"
|
||||
RDEPEND="
|
||||
${DEPEND}
|
||||
nls? ( virtual/libintl )
|
||||
selinux? ( sec-policy/selinux-gpg )
|
||||
wks-server? ( virtual/mta )
|
||||
"
|
||||
PDEPEND="
|
||||
app-crypt/pinentry
|
||||
"
|
||||
BDEPEND="
|
||||
virtual/pkgconfig
|
||||
doc? ( sys-apps/texinfo )
|
||||
nls? ( sys-devel/gettext )
|
||||
verify-sig? ( sec-keys/openpgp-keys-gnupg )
|
||||
"
|
||||
|
||||
DOCS=(
|
||||
ChangeLog NEWS README THANKS TODO VERSION
|
||||
doc/FAQ doc/DETAILS doc/HACKING doc/TRANSLATE doc/OpenPGP doc/KEYSERVER
|
||||
)
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-2.1.20-gpgscm-Use-shorter-socket-path-lengts-to-improve-tes.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# Inject SSH_AUTH_SOCK into user's sessions after enabling gpg-agent-ssh.socket in systemctl --user mode,
|
||||
# idea borrowed from libdbus, see
|
||||
# https://gitlab.freedesktop.org/dbus/dbus/-/blob/master/bus/systemd-user/dbus.socket.in#L6
|
||||
#
|
||||
# This cannot be upstreamed, as it requires determining the exact prefix of 'systemctl',
|
||||
# which in turn requires discovery in Autoconf, something that upstream deeply resents.
|
||||
sed -e "/DirectoryMode=/a ExecStartPost=-${EPREFIX}/bin/systemctl --user set-environment SSH_AUTH_SOCK=%t/gnupg/S.gpg-agent.ssh" \
|
||||
-i doc/examples/systemd-user/gpg-agent-ssh.socket || die
|
||||
}
|
||||
|
||||
my_src_configure() {
|
||||
# Upstream don't support LTO, bug #854222.
|
||||
filter-lto
|
||||
|
||||
local myconf=(
|
||||
$(use_enable bzip2)
|
||||
$(use_enable nls)
|
||||
$(use_enable smartcard scdaemon)
|
||||
$(use_enable ssl gnutls)
|
||||
$(use_enable test all-tests)
|
||||
$(use_enable test tests)
|
||||
$(use_enable tofu)
|
||||
$(use smartcard && use_enable usb ccid-driver || echo '--disable-ccid-driver')
|
||||
$(use_enable wks-server wks-tools)
|
||||
$(use_with ldap)
|
||||
$(use_with readline)
|
||||
|
||||
# Hardcode mailprog to /usr/libexec/sendmail even if it does not exist.
|
||||
# As of GnuPG 2.3, the mailprog substitution is used for the binary called
|
||||
# by wks-client & wks-server; and if it's autodetected but not not exist at
|
||||
# build time, then then 'gpg-wks-client --send' functionality will not
|
||||
# work. This has an unwanted side-effect in stage3 builds: there was a
|
||||
# [R]DEPEND on virtual/mta, which also brought in virtual/logger, bloating
|
||||
# the build where the install guide previously make the user chose the
|
||||
# logger & mta early in the install.
|
||||
--with-mailprog=/usr/libexec/sendmail
|
||||
|
||||
--disable-ntbtls
|
||||
--enable-gpg
|
||||
--enable-gpgsm
|
||||
--enable-large-secmem
|
||||
|
||||
CC_FOR_BUILD="$(tc-getBUILD_CC)"
|
||||
GPG_ERROR_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpg-error-config"
|
||||
KSBA_CONFIG="${ESYSROOT}/usr/bin/ksba-config"
|
||||
LIBASSUAN_CONFIG="${ESYSROOT}/usr/bin/libassuan-config"
|
||||
LIBGCRYPT_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-libgcrypt-config"
|
||||
NPTH_CONFIG="${ESYSROOT}/usr/bin/npth-config"
|
||||
|
||||
$("${S}/configure" --help | grep -o -- '--without-.*-prefix')
|
||||
)
|
||||
|
||||
if use prefix && use usb; then
|
||||
# bug #649598
|
||||
append-cppflags -I"${ESYSROOT}/usr/include/libusb-1.0"
|
||||
fi
|
||||
|
||||
# bug #663142
|
||||
if use user-socket; then
|
||||
myconf+=( --enable-run-gnupg-user-socket )
|
||||
fi
|
||||
|
||||
# glib fails and picks up clang's internal stdint.h causing weird errors
|
||||
tc-is-clang && export gl_cv_absolute_stdint_h="${ESYSROOT}"/usr/include/stdint.h
|
||||
|
||||
econf "${myconf[@]}"
|
||||
}
|
||||
|
||||
my_src_compile() {
|
||||
default
|
||||
|
||||
use doc && emake -C doc html
|
||||
}
|
||||
|
||||
my_src_test() {
|
||||
export TESTFLAGS="--parallel=$(makeopts_jobs)"
|
||||
|
||||
default
|
||||
}
|
||||
|
||||
my_src_install() {
|
||||
emake DESTDIR="${D}" install
|
||||
|
||||
use tools && dobin \
|
||||
tools/{gpg-zip,gpgconf,gpgsplit,gpg-check-pattern} \
|
||||
tools/make-dns-cert
|
||||
|
||||
dosym gpg /usr/bin/gpg2
|
||||
dosym gpgv /usr/bin/gpgv2
|
||||
echo ".so man1/gpg.1" > "${ED}"/usr/share/man/man1/gpg2.1 || die
|
||||
echo ".so man1/gpgv.1" > "${ED}"/usr/share/man/man1/gpgv2.1 || die
|
||||
|
||||
dodir /etc/env.d
|
||||
echo "CONFIG_PROTECT=/usr/share/gnupg/qualified.txt" >> "${ED}"/etc/env.d/30gnupg || die
|
||||
|
||||
use doc && dodoc doc/gnupg.html/*
|
||||
}
|
||||
|
||||
my_src_install_all() {
|
||||
einstalldocs
|
||||
|
||||
use tools && dobin tools/{convert-from-106,mail-signed-keys,lspgpot}
|
||||
|
||||
use doc && dodoc doc/*.png
|
||||
|
||||
systemd_douserunit doc/examples/systemd-user/*.{service,socket}
|
||||
}
|
@ -1,2 +1,2 @@
|
||||
DIST swtpm-0.8.0.tar.gz 363951 BLAKE2B 8ec91961c5ac145dc5d1c3c4a609d18bc425caef0efb4d2b18c08c76acacefa619617b6e7b6e8e4e707117a29e3ff3c0198b63d81d24fc747435c6e06e48e8e9 SHA512 7f70c19f732404061be6168c96c0dd3ec91ed8b50dddcafcb50d810062ce0e83ad85360191f97db5db9dc034e01d91cebe3912449d896d2cde68fe060a0adb09
|
||||
DIST swtpm-0.8.1.tar.gz 364169 BLAKE2B 4b364ed581ea97d78c5c6248870503b1612d7d164b05b76c1f02644aade6fd09f204396f0a2d0db4e0ecec2792dc512f7c4393c44bf7ce447a3a7fbb8754594f SHA512 07276519b0e20c9c4167ce78e789d2072eb90172ed9bcba2a11eef46ee03a77860f7a2218f4dc013a2ddb8471079e3cbe43f8ab02174bd704a78aea8eee3d2fc
|
||||
DIST swtpm-0.8.2.tar.gz 364432 BLAKE2B 1ffa6feed88a67a2eeea1fca1c034f6513347173d59ae0c0654696faa1e791529e7fa044c478e5fb7e016117ce5f3151b875014d85eac528e4b6d92d5cf9017b SHA512 3b63116b1ed56087e05b0b697462720a10fe384ea2b8ec7115b549df8f557f6a9cf4de8e7d65b8061a1c85e54e015e0249bfbb613d35c1b64453a98d23ce334f
|
||||
|
Binary file not shown.
@ -1 +1,2 @@
|
||||
DIST migemo-dict-200812.tar.bz2 1467494 BLAKE2B 25f4da49e0e1970df9f43a26f72f1ae85c89ee0d3b708e7f7ea46a2b3b133c59a3990a44e6e578335d3c836027543fc695334573613674ad4e100c06da3eac0b SHA512 cc42d62247c5ff0c3a4ff30a7c135173f94c4f49685df997b305486502b86144428dc104a77361d5ceff91683b0b663d0c68174300d628f70f6999cf7667f3c0
|
||||
DIST migemo-dict-202402.tar.xz 1202732 BLAKE2B aea31efc4b4967ba52fbfe85a691b1deb7eef70f2c9d5a1dcb6942d10507ef140045af9232055ab9ae6bbd2936bc5f077ef1564237316e3f0a98b2e0e3100aef SHA512 622b237eb1bdb3abcc18cc104cba3bed56eefbd2a92f47ed316757ce3d9016a435c9b3181030b392a42ff4ef59582cbee3879570ad6312907699e50f297ff5dc
|
||||
|
@ -1,26 +1,26 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
EAPI="8"
|
||||
|
||||
DESCRIPTION="Dictionary files for the Migemo and C/Migemo"
|
||||
HOMEPAGE="http://openlab.ring.gr.jp/skk/dic.html"
|
||||
HOMEPAGE="https://skk-dev.github.io/dict/"
|
||||
SRC_URI="mirror://gentoo/${P}.tar.bz2"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
KEYWORDS="~alpha amd64 ~arm ~hppa ~ia64 ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
|
||||
LICENSE="GPL-2+"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 ~arm ~hppa ~ia64 ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
|
||||
IUSE="unicode"
|
||||
|
||||
src_configure() {
|
||||
if use unicode; then
|
||||
iconv -f euc-jp -t utf-8 migemo-dict > "${T}"/migemo-dict || die
|
||||
iconv -f euc-jp -t utf-8 ${PN} >"${T}"/${PN} || die
|
||||
else
|
||||
cp migemo-dict "${T}"/ || die
|
||||
cp ${PN} "${T}"/ || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
insinto /usr/share/migemo
|
||||
doins "${T}"/migemo-dict
|
||||
insinto /usr/share/${PN%-*}
|
||||
doins "${T}"/${PN}
|
||||
}
|
||||
|
@ -0,0 +1,27 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="8"
|
||||
|
||||
DESCRIPTION="Dictionary files for the Migemo and C/Migemo"
|
||||
HOMEPAGE="https://skk-dev.github.io/dict/"
|
||||
SRC_URI="mirror://gentoo/${P}.tar.xz
|
||||
https://dev.gentoo.org/~hattya/distfiles/${P}.tar.xz"
|
||||
|
||||
LICENSE="GPL-2+"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
|
||||
IUSE="unicode"
|
||||
|
||||
src_configure() {
|
||||
if use unicode; then
|
||||
iconv -f euc-jp -t utf-8 ${PN} >"${T}"/${PN} || die
|
||||
else
|
||||
cp ${PN} "${T}"/ || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
insinto /usr/share/${PN%-*}
|
||||
doins "${T}"/${PN}
|
||||
}
|
Binary file not shown.
Binary file not shown.
@ -1,379 +0,0 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit autotools elisp-common flag-o-matic readme.gentoo-r1
|
||||
|
||||
DESCRIPTION="The extensible, customizable, self-documenting real-time display editor"
|
||||
HOMEPAGE="https://www.gnu.org/software/emacs/"
|
||||
SRC_URI="mirror://gnu/emacs/${P}.tar.xz
|
||||
https://dev.gentoo.org/~ulm/emacs/${P}-patches-7.tar.xz"
|
||||
# FULL_VERSION keeps the full version number, which is needed in
|
||||
# order to determine some path information correctly for copy/move
|
||||
# operations later on
|
||||
FULL_VERSION="${PV%%_*}"
|
||||
S="${WORKDIR}/emacs-${FULL_VERSION}"
|
||||
|
||||
LICENSE="GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2"
|
||||
SLOT="26"
|
||||
KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
|
||||
IUSE="acl alsa aqua athena cairo dbus dynamic-loading games gfile gif gpm gsettings gtk gui gzip-el imagemagick +inotify jpeg kerberos lcms libxml2 livecd m17n-lib mailutils motif png selinux sound source ssl svg systemd +threads tiff toolkit-scroll-bars valgrind wide-int Xaw3d xft +xpm xwidgets zlib"
|
||||
|
||||
RDEPEND="app-emacs/emacs-common[games?,gui(-)?]
|
||||
sys-libs/ncurses:0=
|
||||
acl? ( virtual/acl )
|
||||
alsa? ( media-libs/alsa-lib )
|
||||
dbus? ( sys-apps/dbus )
|
||||
games? ( acct-group/gamestat )
|
||||
gpm? ( sys-libs/gpm )
|
||||
!inotify? ( gfile? ( >=dev-libs/glib-2.28.6 ) )
|
||||
kerberos? ( virtual/krb5 )
|
||||
lcms? ( media-libs/lcms:2 )
|
||||
libxml2? ( >=dev-libs/libxml2-2.2.0 )
|
||||
mailutils? ( net-mail/mailutils[clients] )
|
||||
!mailutils? ( acct-group/mail net-libs/liblockfile )
|
||||
selinux? ( sys-libs/libselinux )
|
||||
ssl? ( net-libs/gnutls:0= )
|
||||
systemd? ( sys-apps/systemd )
|
||||
valgrind? ( dev-debug/valgrind )
|
||||
zlib? ( sys-libs/zlib )
|
||||
gui? ( !aqua? (
|
||||
x11-libs/libICE
|
||||
x11-libs/libSM
|
||||
x11-libs/libX11
|
||||
x11-libs/libXext
|
||||
x11-libs/libXfixes
|
||||
x11-libs/libXinerama
|
||||
x11-libs/libXrandr
|
||||
x11-libs/libxcb
|
||||
x11-misc/xbitmaps
|
||||
gsettings? ( >=dev-libs/glib-2.28.6 )
|
||||
gif? ( media-libs/giflib:0= )
|
||||
jpeg? ( media-libs/libjpeg-turbo:0= )
|
||||
png? ( >=media-libs/libpng-1.4:0= )
|
||||
svg? ( >=gnome-base/librsvg-2.0 )
|
||||
tiff? ( media-libs/tiff:= )
|
||||
xpm? ( x11-libs/libXpm )
|
||||
imagemagick? ( media-gfx/imagemagick:0=[jpeg?,png?,svg?,tiff?] )
|
||||
xft? (
|
||||
media-libs/fontconfig
|
||||
media-libs/freetype
|
||||
x11-libs/libXft
|
||||
x11-libs/libXrender
|
||||
cairo? ( >=x11-libs/cairo-1.12.18[X] )
|
||||
m17n-lib? (
|
||||
>=dev-libs/libotf-0.9.4
|
||||
>=dev-libs/m17n-lib-1.5.1
|
||||
)
|
||||
)
|
||||
gtk? (
|
||||
x11-libs/gtk+:3
|
||||
xwidgets? (
|
||||
net-libs/webkit-gtk:4.1=
|
||||
x11-libs/libXcomposite
|
||||
)
|
||||
)
|
||||
!gtk? (
|
||||
motif? (
|
||||
>=x11-libs/motif-2.3:0
|
||||
x11-libs/libXpm
|
||||
x11-libs/libXmu
|
||||
x11-libs/libXt
|
||||
)
|
||||
!motif? (
|
||||
Xaw3d? (
|
||||
x11-libs/libXaw3d
|
||||
x11-libs/libXmu
|
||||
x11-libs/libXt
|
||||
)
|
||||
!Xaw3d? ( athena? (
|
||||
x11-libs/libXaw
|
||||
x11-libs/libXmu
|
||||
x11-libs/libXt
|
||||
) )
|
||||
)
|
||||
)
|
||||
) )"
|
||||
|
||||
DEPEND="${RDEPEND}
|
||||
gui? ( !aqua? ( x11-base/xorg-proto ) )"
|
||||
|
||||
BDEPEND="virtual/pkgconfig
|
||||
gzip-el? ( app-arch/gzip )"
|
||||
|
||||
IDEPEND="app-eselect/eselect-emacs"
|
||||
|
||||
RDEPEND+=" ${IDEPEND}"
|
||||
|
||||
EMACS_SUFFIX="emacs-${SLOT}"
|
||||
SITEFILE="20${EMACS_SUFFIX}-gentoo.el"
|
||||
PATCHES=("${WORKDIR}/patch")
|
||||
|
||||
# Suppress false positive QA warnings #898304
|
||||
QA_CONFIG_IMPL_DECL_SKIP=( malloc_{set,get}_state MIN )
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# Fix filename reference in redirected man page
|
||||
sed -i -e "/^\\.so/s/etags/&-${EMACS_SUFFIX}/" doc/man/ctags.1 || die
|
||||
|
||||
AT_M4DIR=m4 eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
strip-flags
|
||||
filter-flags -pie #526948
|
||||
|
||||
if use ia64; then
|
||||
replace-flags "-O[2-9]" -O1 #325373
|
||||
else
|
||||
replace-flags "-O[3-9]" -O2
|
||||
fi
|
||||
|
||||
local myconf
|
||||
|
||||
if use alsa; then
|
||||
use sound || ewarn \
|
||||
"USE flag \"alsa\" overrides \"-sound\"; enabling sound support."
|
||||
myconf+=" --with-sound=alsa"
|
||||
else
|
||||
myconf+=" --with-sound=$(usex sound oss)"
|
||||
fi
|
||||
|
||||
if ! use gui; then
|
||||
einfo "Configuring to build without window system support"
|
||||
myconf+=" --without-x --without-ns"
|
||||
elif use aqua; then
|
||||
einfo "Configuring to build with Nextstep (Macintosh Cocoa) support"
|
||||
myconf+=" --with-ns --disable-ns-self-contained"
|
||||
myconf+=" --without-x"
|
||||
else
|
||||
myconf+=" --with-x --without-ns"
|
||||
myconf+=" --without-gconf"
|
||||
myconf+=" $(use_with gsettings)"
|
||||
myconf+=" $(use_with toolkit-scroll-bars)"
|
||||
myconf+=" $(use_with gif)"
|
||||
myconf+=" $(use_with jpeg)"
|
||||
myconf+=" $(use_with png)"
|
||||
myconf+=" $(use_with svg rsvg)"
|
||||
myconf+=" $(use_with tiff)"
|
||||
myconf+=" $(use_with xpm)"
|
||||
myconf+=" $(use_with imagemagick)"
|
||||
|
||||
if use xft; then
|
||||
myconf+=" --with-xft"
|
||||
myconf+=" $(use_with cairo)"
|
||||
myconf+=" $(use_with m17n-lib libotf)"
|
||||
myconf+=" $(use_with m17n-lib m17n-flt)"
|
||||
else
|
||||
myconf+=" --without-xft"
|
||||
myconf+=" --without-cairo"
|
||||
myconf+=" --without-libotf --without-m17n-flt"
|
||||
use cairo && ewarn \
|
||||
"USE flag \"cairo\" has no effect if \"xft\" is not set."
|
||||
use m17n-lib && ewarn \
|
||||
"USE flag \"m17n-lib\" has no effect if \"xft\" is not set."
|
||||
fi
|
||||
|
||||
local f line
|
||||
if use gtk; then
|
||||
einfo "Configuring to build with GIMP Toolkit (GTK+)"
|
||||
while read line; do ewarn "${line}"; done <<-EOF
|
||||
Your version of GTK+ will have problems with closing open
|
||||
displays. This is no problem if you just use one display, but
|
||||
if you use more than one and close one of them Emacs may crash.
|
||||
See <https://gitlab.gnome.org/GNOME/gtk/-/issues/221> and
|
||||
<https://gitlab.gnome.org/GNOME/gtk/-/issues/2315>.
|
||||
If you intend to use more than one display, then it is strongly
|
||||
recommended that you compile Emacs with the Athena/Lucid or the
|
||||
Motif toolkit instead.
|
||||
EOF
|
||||
myconf+=" --with-x-toolkit=gtk3 $(use_with xwidgets)"
|
||||
for f in motif Xaw3d athena; do
|
||||
use ${f} && ewarn \
|
||||
"USE flag \"${f}\" has no effect if \"gtk\" is set."
|
||||
done
|
||||
elif use motif; then
|
||||
einfo "Configuring to build with Motif toolkit"
|
||||
myconf+=" --with-x-toolkit=motif"
|
||||
for f in Xaw3d athena; do
|
||||
use ${f} && ewarn \
|
||||
"USE flag \"${f}\" has no effect if \"motif\" is set."
|
||||
done
|
||||
elif use athena || use Xaw3d; then
|
||||
einfo "Configuring to build with Athena/Lucid toolkit"
|
||||
myconf+=" --with-x-toolkit=lucid $(use_with Xaw3d xaw3d)"
|
||||
else
|
||||
einfo "Configuring to build with no toolkit"
|
||||
myconf+=" --with-x-toolkit=no"
|
||||
fi
|
||||
! use gtk && use xwidgets && ewarn \
|
||||
"USE flag \"xwidgets\" has no effect if \"gtk\" is not set."
|
||||
fi
|
||||
|
||||
econf \
|
||||
--program-suffix="-${EMACS_SUFFIX}" \
|
||||
--includedir="${EPREFIX}"/usr/include/${EMACS_SUFFIX} \
|
||||
--infodir="${EPREFIX}"/usr/share/info/${EMACS_SUFFIX} \
|
||||
--localstatedir="${EPREFIX}"/var \
|
||||
--enable-locallisppath="${EPREFIX}/etc/emacs:${EPREFIX}${SITELISP}" \
|
||||
--without-compress-install \
|
||||
--without-hesiod \
|
||||
--without-pop \
|
||||
--with-file-notification=$(usev inotify || usev gfile || echo no) \
|
||||
$(use_enable acl) \
|
||||
$(use_with dbus) \
|
||||
$(use_with dynamic-loading modules) \
|
||||
$(use_with games gameuser ":gamestat") \
|
||||
$(use_with gpm) \
|
||||
$(use_with kerberos) $(use_with kerberos kerberos5) \
|
||||
$(use_with lcms lcms2) \
|
||||
$(use_with libxml2 xml2) \
|
||||
$(use_with mailutils) \
|
||||
$(use_with selinux) \
|
||||
$(use_with ssl gnutls) \
|
||||
$(use_with systemd libsystemd) \
|
||||
$(use_with threads) \
|
||||
$(use_with wide-int) \
|
||||
$(use_with zlib) \
|
||||
${myconf}
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
export ac_cv_header_valgrind_valgrind_h=$(usex valgrind)
|
||||
|
||||
# Disable sandbox when dumping. For the unbelievers, see bug #131505
|
||||
emake RUN_TEMACS="SANDBOX_ON=0 LD_PRELOAD= env ./temacs"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake DESTDIR="${D}" NO_BIN_LINK=t BLESSMAIL_TARGET= install
|
||||
|
||||
mv "${ED}"/usr/bin/{emacs-${FULL_VERSION}-,}${EMACS_SUFFIX} || die
|
||||
mv "${ED}"/usr/share/man/man1/{emacs-,}${EMACS_SUFFIX}.1 || die
|
||||
mv "${ED}"/usr/share/metainfo/{emacs-,}${EMACS_SUFFIX}.appdata.xml || die
|
||||
|
||||
# dissuade Portage from removing our dir file #257260
|
||||
touch "${ED}"/usr/share/info/${EMACS_SUFFIX}/.keepinfodir
|
||||
docompress -x /usr/share/info/${EMACS_SUFFIX}/dir
|
||||
|
||||
# movemail must be setgid mail
|
||||
if ! use mailutils; then
|
||||
fowners root:mail /usr/libexec/emacs/${FULL_VERSION}/${CHOST}/movemail
|
||||
fperms 2751 /usr/libexec/emacs/${FULL_VERSION}/${CHOST}/movemail
|
||||
fi
|
||||
|
||||
# avoid collision between slots, see bug #169033 e.g.
|
||||
rm "${ED}"/usr/share/emacs/site-lisp/subdirs.el || die
|
||||
rm -rf "${ED}"/usr/share/{applications,icons} || die
|
||||
rm -rf "${ED}/usr/$(get_libdir)" || die
|
||||
rm -rf "${ED}"/var || die
|
||||
|
||||
# remove unused <version>/site-lisp dir
|
||||
rm -rf "${ED}"/usr/share/emacs/${FULL_VERSION}/site-lisp || die
|
||||
|
||||
# remove COPYING file (except for etc/COPYING used by describe-copying)
|
||||
rm "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp/COPYING || die
|
||||
|
||||
if use systemd; then
|
||||
insinto /usr/lib/systemd/user
|
||||
sed -e "/^##/d" \
|
||||
-e "/^ExecStart/s,emacs,${EPREFIX}/usr/bin/${EMACS_SUFFIX}," \
|
||||
-e "/^ExecStop/s,emacsclient,${EPREFIX}/usr/bin/&-${EMACS_SUFFIX}," \
|
||||
etc/emacs.service | newins - ${EMACS_SUFFIX}.service
|
||||
assert
|
||||
fi
|
||||
|
||||
if use gzip-el; then
|
||||
# compress .el files when a corresponding .elc exists
|
||||
find "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp -type f \
|
||||
-name "*.elc" -print | sed 's/\.elc$/.el/' | xargs gzip -9n
|
||||
assert "gzip .el failed"
|
||||
fi
|
||||
|
||||
local cdir
|
||||
if use source; then
|
||||
cdir="/usr/share/emacs/${FULL_VERSION}/src"
|
||||
insinto "${cdir}"
|
||||
# This is not meant to install all the source -- just the
|
||||
# C source you might find via find-function
|
||||
doins src/*.{c,h,m}
|
||||
elif has installsources ${FEATURES}; then
|
||||
cdir="/usr/src/debug/${CATEGORY}/${PF}/${S#"${WORKDIR}/"}/src"
|
||||
fi
|
||||
|
||||
sed -e "${cdir:+#}/^Y/d" -e "s/^[XY]//" >"${T}/${SITEFILE}" <<-EOF || die
|
||||
X
|
||||
;;; ${EMACS_SUFFIX} site-lisp configuration
|
||||
X
|
||||
(when (string-match "\\\\\`${FULL_VERSION//./\\\\.}\\\\>" emacs-version)
|
||||
Y (setq find-function-C-source-directory
|
||||
Y "${EPREFIX}${cdir}")
|
||||
X (let ((path (getenv "INFOPATH"))
|
||||
X (dir "${EPREFIX}/usr/share/info/${EMACS_SUFFIX}")
|
||||
X (re "\\\\\`${EPREFIX}/usr/share\\\\>"))
|
||||
X (and path
|
||||
X ;; move Emacs Info dir before anything else in /usr/share
|
||||
X (let* ((p (cons nil (split-string path ":" t))) (q p))
|
||||
X (while (and (cdr q) (not (string-match re (cadr q))))
|
||||
X (setq q (cdr q)))
|
||||
X (setcdr q (cons dir (delete dir (cdr q))))
|
||||
X (setenv "INFOPATH" (mapconcat 'identity (cdr p) ":"))))))
|
||||
EOF
|
||||
elisp-site-file-install "${T}/${SITEFILE}" || die
|
||||
|
||||
dodoc README BUGS CONTRIBUTE
|
||||
|
||||
if use gui && use aqua; then
|
||||
dodir /Applications/Gentoo
|
||||
rm -rf "${ED}"/Applications/Gentoo/${EMACS_SUFFIX^}.app || die
|
||||
mv nextstep/Emacs.app \
|
||||
"${ED}"/Applications/Gentoo/${EMACS_SUFFIX^}.app || die
|
||||
fi
|
||||
|
||||
local DOC_CONTENTS="You can set the version to be started by
|
||||
/usr/bin/emacs through the Emacs eselect module, which also
|
||||
redirects man and info pages. Therefore, several Emacs versions can
|
||||
be installed at the same time. \"man emacs.eselect\" for details.
|
||||
\\n\\nIf you upgrade from a previous major version of Emacs, then
|
||||
it is strongly recommended that you use app-admin/emacs-updater
|
||||
to rebuild all byte-compiled elisp files of the installed Emacs
|
||||
packages."
|
||||
if use gui; then
|
||||
DOC_CONTENTS+="\\n\\nYou need to install some fonts for Emacs.
|
||||
Installing media-fonts/font-adobe-{75,100}dpi on the X server's
|
||||
machine would satisfy basic Emacs requirements under X11.
|
||||
See also https://wiki.gentoo.org/wiki/Xft_support_for_GNU_Emacs
|
||||
for how to enable anti-aliased fonts."
|
||||
use aqua && DOC_CONTENTS+="\\n\\n${EMACS_SUFFIX^}.app is in
|
||||
\"${EPREFIX}/Applications/Gentoo\". You may want to copy or
|
||||
symlink it into /Applications by yourself."
|
||||
fi
|
||||
readme.gentoo_create_doc
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
# verify that the PM hasn't removed our Info directory index #257260
|
||||
local infodir="${ED}/usr/share/info/${EMACS_SUFFIX}"
|
||||
[[ -f ${infodir}/dir || ! -d ${infodir} ]] || die
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elisp-site-regen
|
||||
readme.gentoo_print_elog
|
||||
|
||||
if use livecd; then
|
||||
# force an update of the emacs symlink for the livecd/dvd,
|
||||
# because some microemacs packages set it with USE=livecd
|
||||
eselect emacs update
|
||||
else
|
||||
eselect emacs update ifunset
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
elisp-site-regen
|
||||
eselect emacs update ifunset
|
||||
}
|
@ -1,445 +0,0 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit autotools elisp-common readme.gentoo-r1 toolchain-funcs
|
||||
|
||||
if [[ ${PV##*.} = 9999 ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://git.savannah.gnu.org/git/emacs.git"
|
||||
EGIT_BRANCH="emacs-27"
|
||||
EGIT_CHECKOUT_DIR="${WORKDIR}/emacs"
|
||||
S="${EGIT_CHECKOUT_DIR}"
|
||||
SLOT="${PV%%.*}-vcs"
|
||||
else
|
||||
# FULL_VERSION keeps the full version number, which is needed in
|
||||
# order to determine some path information correctly for copy/move
|
||||
# operations later on
|
||||
FULL_VERSION="${PV%%_*}"
|
||||
SRC_URI="mirror://gnu/emacs/${P}.tar.xz"
|
||||
S="${WORKDIR}/emacs-${FULL_VERSION}"
|
||||
# PV can be in any of the following formats:
|
||||
# 27.1 released version (slot 27)
|
||||
# 27.1_rc1 upstream release candidate (27)
|
||||
# 27.0.9999 live ebuild (slot 27-vcs)
|
||||
# 27.0.90 upstream prerelease snapshot (27-vcs)
|
||||
# 27.0.50_pre20191223 snapshot by Gentoo developer (27-vcs)
|
||||
if [[ ${PV} == *_pre* ]]; then
|
||||
SRC_URI="https://dev.gentoo.org/~ulm/distfiles/${P}.tar.xz"
|
||||
S="${WORKDIR}/emacs"
|
||||
elif [[ ${PV//[0-9]} != "." ]]; then
|
||||
SRC_URI="https://alpha.gnu.org/gnu/emacs/pretest/${PN}-${PV/_/-}.tar.xz"
|
||||
fi
|
||||
# Patchset from proj/emacs-patches.git
|
||||
SRC_URI+=" https://dev.gentoo.org/~ulm/emacs/${P}-patches-8.tar.xz"
|
||||
PATCHES=("${WORKDIR}/patch")
|
||||
SLOT="${PV%%.*}"
|
||||
[[ ${PV} == *.*.* ]] && SLOT+="-vcs"
|
||||
KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
|
||||
fi
|
||||
|
||||
DESCRIPTION="The extensible, customizable, self-documenting real-time display editor"
|
||||
HOMEPAGE="https://www.gnu.org/software/emacs/"
|
||||
|
||||
LICENSE="GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2"
|
||||
IUSE="acl alsa aqua athena cairo dbus dynamic-loading games gfile gif +gmp gpm gsettings gtk gui gzip-el harfbuzz imagemagick +inotify jpeg json kerberos lcms libxml2 livecd m17n-lib mailutils motif png selinux sound source ssl svg systemd +threads tiff toolkit-scroll-bars valgrind wide-int Xaw3d xft +xpm xwidgets zlib"
|
||||
RESTRICT="test"
|
||||
|
||||
RDEPEND="app-emacs/emacs-common[games?,gui(-)?]
|
||||
sys-libs/ncurses:0=
|
||||
acl? ( virtual/acl )
|
||||
alsa? ( media-libs/alsa-lib )
|
||||
dbus? ( sys-apps/dbus )
|
||||
games? ( acct-group/gamestat )
|
||||
gmp? ( dev-libs/gmp:0= )
|
||||
gpm? ( sys-libs/gpm )
|
||||
!inotify? ( gfile? ( >=dev-libs/glib-2.28.6 ) )
|
||||
json? ( dev-libs/jansson:= )
|
||||
kerberos? ( virtual/krb5 )
|
||||
lcms? ( media-libs/lcms:2 )
|
||||
libxml2? ( >=dev-libs/libxml2-2.2.0 )
|
||||
mailutils? ( net-mail/mailutils[clients] )
|
||||
!mailutils? ( acct-group/mail net-libs/liblockfile )
|
||||
selinux? ( sys-libs/libselinux )
|
||||
ssl? ( net-libs/gnutls:0= )
|
||||
systemd? ( sys-apps/systemd )
|
||||
valgrind? ( dev-debug/valgrind )
|
||||
zlib? ( sys-libs/zlib )
|
||||
gui? ( !aqua? (
|
||||
x11-libs/libICE
|
||||
x11-libs/libSM
|
||||
x11-libs/libX11
|
||||
x11-libs/libXext
|
||||
x11-libs/libXfixes
|
||||
x11-libs/libXinerama
|
||||
x11-libs/libXrandr
|
||||
x11-libs/libxcb
|
||||
x11-misc/xbitmaps
|
||||
gsettings? ( >=dev-libs/glib-2.28.6 )
|
||||
gif? ( media-libs/giflib:0= )
|
||||
jpeg? ( media-libs/libjpeg-turbo:0= )
|
||||
png? ( >=media-libs/libpng-1.4:0= )
|
||||
svg? ( >=gnome-base/librsvg-2.0 )
|
||||
tiff? ( media-libs/tiff:= )
|
||||
xpm? ( x11-libs/libXpm )
|
||||
imagemagick? ( media-gfx/imagemagick:0=[jpeg?,png?,svg?,tiff?] )
|
||||
xft? (
|
||||
media-libs/fontconfig
|
||||
media-libs/freetype
|
||||
x11-libs/libXrender
|
||||
cairo? ( >=x11-libs/cairo-1.12.18[X] )
|
||||
!cairo? ( x11-libs/libXft )
|
||||
harfbuzz? ( media-libs/harfbuzz:0= )
|
||||
m17n-lib? (
|
||||
>=dev-libs/libotf-0.9.4
|
||||
>=dev-libs/m17n-lib-1.5.1
|
||||
)
|
||||
)
|
||||
gtk? (
|
||||
x11-libs/gtk+:3
|
||||
xwidgets? (
|
||||
net-libs/webkit-gtk:4.1=
|
||||
x11-libs/libXcomposite
|
||||
)
|
||||
)
|
||||
!gtk? (
|
||||
motif? (
|
||||
>=x11-libs/motif-2.3:0
|
||||
x11-libs/libXpm
|
||||
x11-libs/libXmu
|
||||
x11-libs/libXt
|
||||
)
|
||||
!motif? (
|
||||
Xaw3d? (
|
||||
x11-libs/libXaw3d
|
||||
x11-libs/libXmu
|
||||
x11-libs/libXt
|
||||
)
|
||||
!Xaw3d? ( athena? (
|
||||
x11-libs/libXaw
|
||||
x11-libs/libXmu
|
||||
x11-libs/libXt
|
||||
) )
|
||||
)
|
||||
)
|
||||
) )"
|
||||
|
||||
DEPEND="${RDEPEND}
|
||||
gui? ( !aqua? ( x11-base/xorg-proto ) )"
|
||||
|
||||
BDEPEND="sys-apps/texinfo
|
||||
virtual/pkgconfig
|
||||
gzip-el? ( app-arch/gzip )"
|
||||
|
||||
IDEPEND="app-eselect/eselect-emacs"
|
||||
|
||||
RDEPEND+=" ${IDEPEND}"
|
||||
|
||||
EMACS_SUFFIX="emacs-${SLOT}"
|
||||
SITEFILE="20${EMACS_SUFFIX}-gentoo.el"
|
||||
|
||||
# Suppress false positive QA warnings #898304 #925449
|
||||
QA_CONFIG_IMPL_DECL_SKIP=(
|
||||
malloc_set_state malloc_get_state MIN
|
||||
statvfs64 re_set_syntax re_compile_pattern re_search re_match
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
if [[ ${PV##*.} = 9999 ]]; then
|
||||
FULL_VERSION=$(sed -n 's/^AC_INIT([^,]*,[ \t]*\([^ \t,)]*\).*/\1/p' \
|
||||
configure.ac)
|
||||
[[ ${FULL_VERSION} ]] || die "Cannot determine current Emacs version"
|
||||
einfo "Emacs branch: ${EGIT_BRANCH}"
|
||||
einfo "Commit: ${EGIT_VERSION}"
|
||||
einfo "Emacs version number: ${FULL_VERSION}"
|
||||
[[ ${FULL_VERSION} =~ ^${PV%.*}(\..*)?$ ]] \
|
||||
|| die "Upstream version number changed to ${FULL_VERSION}"
|
||||
fi
|
||||
|
||||
default
|
||||
|
||||
# Fix filename reference in redirected man page
|
||||
sed -i -e "/^\\.so/s/etags/&-${EMACS_SUFFIX}/" doc/man/ctags.1 || die
|
||||
|
||||
AT_M4DIR=m4 eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myconf
|
||||
|
||||
if use alsa; then
|
||||
use sound || ewarn \
|
||||
"USE flag \"alsa\" overrides \"-sound\"; enabling sound support."
|
||||
myconf+=" --with-sound=alsa"
|
||||
else
|
||||
myconf+=" --with-sound=$(usex sound oss)"
|
||||
fi
|
||||
|
||||
if ! use gui; then
|
||||
einfo "Configuring to build without window system support"
|
||||
myconf+=" --without-x --without-ns"
|
||||
elif use aqua; then
|
||||
einfo "Configuring to build with Nextstep (Macintosh Cocoa) support"
|
||||
myconf+=" --with-ns --disable-ns-self-contained"
|
||||
myconf+=" --without-x"
|
||||
else
|
||||
myconf+=" --with-x --without-ns"
|
||||
myconf+=" --without-gconf"
|
||||
myconf+=" $(use_with gsettings)"
|
||||
myconf+=" $(use_with toolkit-scroll-bars)"
|
||||
myconf+=" $(use_with gif)"
|
||||
myconf+=" $(use_with jpeg)"
|
||||
myconf+=" $(use_with png)"
|
||||
myconf+=" $(use_with svg rsvg)"
|
||||
myconf+=" $(use_with tiff)"
|
||||
myconf+=" $(use_with xpm)"
|
||||
myconf+=" $(use_with imagemagick)"
|
||||
|
||||
if use xft; then
|
||||
myconf+=" --with-xft"
|
||||
myconf+=" $(use_with cairo)"
|
||||
myconf+=" $(use_with harfbuzz)"
|
||||
myconf+=" $(use_with m17n-lib libotf)"
|
||||
myconf+=" $(use_with m17n-lib m17n-flt)"
|
||||
else
|
||||
myconf+=" --without-xft"
|
||||
myconf+=" --without-cairo"
|
||||
myconf+=" --without-libotf --without-m17n-flt"
|
||||
use cairo && ewarn \
|
||||
"USE flag \"cairo\" has no effect if \"xft\" is not set."
|
||||
use m17n-lib && ewarn \
|
||||
"USE flag \"m17n-lib\" has no effect if \"xft\" is not set."
|
||||
fi
|
||||
|
||||
local f line
|
||||
if use gtk; then
|
||||
einfo "Configuring to build with GIMP Toolkit (GTK+)"
|
||||
while read line; do ewarn "${line}"; done <<-EOF
|
||||
Your version of GTK+ will have problems with closing open
|
||||
displays. This is no problem if you just use one display, but
|
||||
if you use more than one and close one of them Emacs may crash.
|
||||
See <https://gitlab.gnome.org/GNOME/gtk/-/issues/221> and
|
||||
<https://gitlab.gnome.org/GNOME/gtk/-/issues/2315>.
|
||||
If you intend to use more than one display, then it is strongly
|
||||
recommended that you compile Emacs with the Athena/Lucid or the
|
||||
Motif toolkit instead.
|
||||
EOF
|
||||
myconf+=" --with-x-toolkit=gtk3 $(use_with xwidgets)"
|
||||
for f in motif Xaw3d athena; do
|
||||
use ${f} && ewarn \
|
||||
"USE flag \"${f}\" has no effect if \"gtk\" is set."
|
||||
done
|
||||
elif use motif; then
|
||||
einfo "Configuring to build with Motif toolkit"
|
||||
myconf+=" --with-x-toolkit=motif"
|
||||
for f in Xaw3d athena; do
|
||||
use ${f} && ewarn \
|
||||
"USE flag \"${f}\" has no effect if \"motif\" is set."
|
||||
done
|
||||
elif use athena || use Xaw3d; then
|
||||
einfo "Configuring to build with Athena/Lucid toolkit"
|
||||
myconf+=" --with-x-toolkit=lucid $(use_with Xaw3d xaw3d)"
|
||||
else
|
||||
einfo "Configuring to build with no toolkit"
|
||||
myconf+=" --with-x-toolkit=no"
|
||||
fi
|
||||
! use gtk && use xwidgets && ewarn \
|
||||
"USE flag \"xwidgets\" has no effect if \"gtk\" is not set."
|
||||
fi
|
||||
|
||||
if tc-is-cross-compiler; then
|
||||
# Configure a CBUILD directory when cross-compiling to make tools
|
||||
mkdir "${S}-build" && pushd "${S}-build" >/dev/null || die
|
||||
ECONF_SOURCE="${S}" econf_build --without-all --without-x-toolkit
|
||||
popd >/dev/null || die
|
||||
# Don't try to execute the binary for dumping during the build
|
||||
myconf+=" --with-dumping=none"
|
||||
elif use m68k; then
|
||||
# Workaround for https://debbugs.gnu.org/44531
|
||||
myconf+=" --with-dumping=unexec"
|
||||
else
|
||||
myconf+=" --with-dumping=pdumper"
|
||||
fi
|
||||
|
||||
econf \
|
||||
--program-suffix="-${EMACS_SUFFIX}" \
|
||||
--includedir="${EPREFIX}"/usr/include/${EMACS_SUFFIX} \
|
||||
--infodir="${EPREFIX}"/usr/share/info/${EMACS_SUFFIX} \
|
||||
--localstatedir="${EPREFIX}"/var \
|
||||
--enable-locallisppath="${EPREFIX}/etc/emacs:${EPREFIX}${SITELISP}" \
|
||||
--without-compress-install \
|
||||
--without-hesiod \
|
||||
--without-pop \
|
||||
--with-file-notification=$(usev inotify || usev gfile || echo no) \
|
||||
--with-pdumper \
|
||||
$(use_enable acl) \
|
||||
$(use_with dbus) \
|
||||
$(use_with dynamic-loading modules) \
|
||||
$(use_with games gameuser ":gamestat") \
|
||||
$(use_with gmp libgmp) \
|
||||
$(use_with gpm) \
|
||||
$(use_with json) \
|
||||
$(use_with kerberos) $(use_with kerberos kerberos5) \
|
||||
$(use_with lcms lcms2) \
|
||||
$(use_with libxml2 xml2) \
|
||||
$(use_with mailutils) \
|
||||
$(use_with selinux) \
|
||||
$(use_with ssl gnutls) \
|
||||
$(use_with systemd libsystemd) \
|
||||
$(use_with threads) \
|
||||
$(use_with wide-int) \
|
||||
$(use_with zlib) \
|
||||
${myconf}
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
export ac_cv_header_valgrind_valgrind_h=$(usex valgrind)
|
||||
|
||||
if tc-is-cross-compiler; then
|
||||
# Build native tools for compiling lisp etc.
|
||||
emake -C "${S}-build" src
|
||||
emake lib # Cross-compile dependencies first for timestamps
|
||||
# Save native build tools in the cross-directory
|
||||
cp "${S}-build"/lib-src/make-{docfile,fingerprint} lib-src || die
|
||||
# Specify the native Emacs to compile lisp
|
||||
emake -C lisp all EMACS="${S}-build/src/emacs"
|
||||
fi
|
||||
|
||||
emake
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake DESTDIR="${D}" NO_BIN_LINK=t BLESSMAIL_TARGET= install
|
||||
|
||||
mv "${ED}"/usr/bin/{emacs-${FULL_VERSION}-,}${EMACS_SUFFIX} || die
|
||||
mv "${ED}"/usr/share/man/man1/{emacs-,}${EMACS_SUFFIX}.1 || die
|
||||
mv "${ED}"/usr/share/metainfo/{emacs-,}${EMACS_SUFFIX}.appdata.xml || die
|
||||
|
||||
# dissuade Portage from removing our dir file #257260
|
||||
touch "${ED}"/usr/share/info/${EMACS_SUFFIX}/.keepinfodir
|
||||
docompress -x /usr/share/info/${EMACS_SUFFIX}/dir
|
||||
|
||||
# movemail must be setgid mail
|
||||
if ! use mailutils; then
|
||||
fowners root:mail /usr/libexec/emacs/${FULL_VERSION}/${CHOST}/movemail
|
||||
fperms 2751 /usr/libexec/emacs/${FULL_VERSION}/${CHOST}/movemail
|
||||
fi
|
||||
|
||||
# avoid collision between slots, see bug #169033 e.g.
|
||||
rm "${ED}"/usr/share/emacs/site-lisp/subdirs.el || die
|
||||
rm -rf "${ED}"/usr/share/{applications,icons} || die
|
||||
rm -rf "${ED}/usr/$(get_libdir)" || die
|
||||
rm -rf "${ED}"/var || die
|
||||
|
||||
# remove unused <version>/site-lisp dir
|
||||
rm -rf "${ED}"/usr/share/emacs/${FULL_VERSION}/site-lisp || die
|
||||
|
||||
# remove COPYING file (except for etc/COPYING used by describe-copying)
|
||||
rm "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp/COPYING || die
|
||||
|
||||
if use systemd; then
|
||||
insinto /usr/lib/systemd/user
|
||||
sed -e "/^##/d" \
|
||||
-e "/^ExecStart/s,emacs,${EPREFIX}/usr/bin/${EMACS_SUFFIX}," \
|
||||
-e "/^ExecStop/s,emacsclient,${EPREFIX}/usr/bin/&-${EMACS_SUFFIX}," \
|
||||
etc/emacs.service | newins - ${EMACS_SUFFIX}.service
|
||||
assert
|
||||
fi
|
||||
|
||||
if use gzip-el; then
|
||||
# compress .el files when a corresponding .elc exists
|
||||
find "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp -type f \
|
||||
-name "*.elc" -print | sed 's/\.elc$/.el/' | xargs gzip -9n
|
||||
assert "gzip .el failed"
|
||||
fi
|
||||
|
||||
local cdir
|
||||
if use source; then
|
||||
cdir="/usr/share/emacs/${FULL_VERSION}/src"
|
||||
insinto "${cdir}"
|
||||
# This is not meant to install all the source -- just the
|
||||
# C source you might find via find-function
|
||||
doins src/*.{c,h,m}
|
||||
elif has installsources ${FEATURES}; then
|
||||
cdir="/usr/src/debug/${CATEGORY}/${PF}/${S#"${WORKDIR}/"}/src"
|
||||
fi
|
||||
|
||||
sed -e "${cdir:+#}/^Y/d" -e "s/^[XY]//" >"${T}/${SITEFILE}" <<-EOF || die
|
||||
X
|
||||
;;; ${EMACS_SUFFIX} site-lisp configuration
|
||||
X
|
||||
(when (string-match "\\\\\`${FULL_VERSION//./\\\\.}\\\\>" emacs-version)
|
||||
Y (setq find-function-C-source-directory
|
||||
Y "${EPREFIX}${cdir}")
|
||||
X (let ((path (getenv "INFOPATH"))
|
||||
X (dir "${EPREFIX}/usr/share/info/${EMACS_SUFFIX}")
|
||||
X (re "\\\\\`${EPREFIX}/usr/share\\\\>"))
|
||||
X (and path
|
||||
X ;; move Emacs Info dir before anything else in /usr/share
|
||||
X (let* ((p (cons nil (split-string path ":" t))) (q p))
|
||||
X (while (and (cdr q) (not (string-match re (cadr q))))
|
||||
X (setq q (cdr q)))
|
||||
X (setcdr q (cons dir (delete dir (cdr q))))
|
||||
X (setenv "INFOPATH" (mapconcat 'identity (cdr p) ":"))))))
|
||||
EOF
|
||||
elisp-site-file-install "${T}/${SITEFILE}" || die
|
||||
|
||||
dodoc README BUGS CONTRIBUTE
|
||||
|
||||
if use gui && use aqua; then
|
||||
dodir /Applications/Gentoo
|
||||
rm -rf "${ED}"/Applications/Gentoo/${EMACS_SUFFIX^}.app || die
|
||||
mv nextstep/Emacs.app \
|
||||
"${ED}"/Applications/Gentoo/${EMACS_SUFFIX^}.app || die
|
||||
fi
|
||||
|
||||
local DOC_CONTENTS="You can set the version to be started by
|
||||
/usr/bin/emacs through the Emacs eselect module, which also
|
||||
redirects man and info pages. Therefore, several Emacs versions can
|
||||
be installed at the same time. \"man emacs.eselect\" for details.
|
||||
\\n\\nIf you upgrade from a previous major version of Emacs, then
|
||||
it is strongly recommended that you use app-admin/emacs-updater
|
||||
to rebuild all byte-compiled elisp files of the installed Emacs
|
||||
packages."
|
||||
if use gui; then
|
||||
DOC_CONTENTS+="\\n\\nYou need to install some fonts for Emacs.
|
||||
Installing media-fonts/font-adobe-{75,100}dpi on the X server's
|
||||
machine would satisfy basic Emacs requirements under X11.
|
||||
See also https://wiki.gentoo.org/wiki/Xft_support_for_GNU_Emacs
|
||||
for how to enable anti-aliased fonts."
|
||||
use aqua && DOC_CONTENTS+="\\n\\n${EMACS_SUFFIX^}.app is in
|
||||
\"${EPREFIX}/Applications/Gentoo\". You may want to copy or
|
||||
symlink it into /Applications by yourself."
|
||||
fi
|
||||
tc-is-cross-compiler && DOC_CONTENTS+="\\n\\nEmacs did not write
|
||||
a portable dump file due to being cross-compiled.
|
||||
To create this file at run time, execute the following command:
|
||||
\\n${EMACS_SUFFIX} --batch -Q --eval='(dump-emacs-portable
|
||||
\"/usr/libexec/emacs/${FULL_VERSION}/${CHOST}/emacs.pdmp\")'"
|
||||
readme.gentoo_create_doc
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
# verify that the PM hasn't removed our Info directory index #257260
|
||||
local infodir="${ED}/usr/share/info/${EMACS_SUFFIX}"
|
||||
[[ -f ${infodir}/dir || ! -d ${infodir} ]] || die
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elisp-site-regen
|
||||
readme.gentoo_print_elog
|
||||
|
||||
if use livecd; then
|
||||
# force an update of the emacs symlink for the livecd/dvd,
|
||||
# because some microemacs packages set it with USE=livecd
|
||||
eselect emacs update
|
||||
else
|
||||
eselect emacs update ifunset
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
elisp-site-regen
|
||||
eselect emacs update ifunset
|
||||
}
|
@ -1,540 +0,0 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit autotools elisp-common flag-o-matic readme.gentoo-r1 toolchain-funcs
|
||||
|
||||
if [[ ${PV##*.} = 9999 ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://git.savannah.gnu.org/git/emacs.git"
|
||||
EGIT_BRANCH="emacs-28"
|
||||
EGIT_CHECKOUT_DIR="${WORKDIR}/emacs"
|
||||
S="${EGIT_CHECKOUT_DIR}"
|
||||
SLOT="${PV%%.*}-vcs"
|
||||
else
|
||||
# FULL_VERSION keeps the full version number, which is needed in
|
||||
# order to determine some path information correctly for copy/move
|
||||
# operations later on
|
||||
FULL_VERSION="${PV%%_*}"
|
||||
SRC_URI="mirror://gnu/emacs/${P}.tar.xz"
|
||||
S="${WORKDIR}/emacs-${FULL_VERSION}"
|
||||
# PV can be in any of the following formats:
|
||||
# 27.1 released version (slot 27)
|
||||
# 27.1_rc1 upstream release candidate (27)
|
||||
# 27.0.9999 live ebuild (slot 27-vcs)
|
||||
# 27.0.90 upstream prerelease snapshot (27-vcs)
|
||||
# 27.0.50_pre20191223 snapshot by Gentoo developer (27-vcs)
|
||||
if [[ ${PV} == *_pre* ]]; then
|
||||
SRC_URI="https://dev.gentoo.org/~ulm/distfiles/${P}.tar.xz"
|
||||
S="${WORKDIR}/emacs"
|
||||
elif [[ ${PV//[0-9]} != "." ]]; then
|
||||
SRC_URI="https://alpha.gnu.org/gnu/emacs/pretest/${PN}-${PV/_/-}.tar.xz"
|
||||
fi
|
||||
# Patchset from proj/emacs-patches.git
|
||||
SRC_URI+=" https://dev.gentoo.org/~ulm/emacs/${P}-patches-6.tar.xz"
|
||||
PATCHES=("${WORKDIR}/patch")
|
||||
SLOT="${PV%%.*}"
|
||||
[[ ${PV} == *.*.* ]] && SLOT+="-vcs"
|
||||
KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
|
||||
fi
|
||||
|
||||
DESCRIPTION="The extensible, customizable, self-documenting real-time display editor"
|
||||
HOMEPAGE="https://www.gnu.org/software/emacs/"
|
||||
|
||||
LICENSE="GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2"
|
||||
IUSE="acl alsa aqua athena cairo dbus dynamic-loading games gfile gif +gmp gpm gsettings gtk gui gzip-el harfbuzz imagemagick +inotify jit jpeg json kerberos lcms libxml2 livecd m17n-lib mailutils motif png selinux sound source ssl svg systemd +threads tiff toolkit-scroll-bars valgrind wide-int Xaw3d xft +xpm xwidgets zlib"
|
||||
|
||||
RDEPEND="app-emacs/emacs-common[games?,gui(-)?]
|
||||
sys-libs/ncurses:0=
|
||||
acl? ( virtual/acl )
|
||||
alsa? ( media-libs/alsa-lib )
|
||||
dbus? ( sys-apps/dbus )
|
||||
games? ( acct-group/gamestat )
|
||||
gmp? ( dev-libs/gmp:0= )
|
||||
gpm? ( sys-libs/gpm )
|
||||
!inotify? ( gfile? ( >=dev-libs/glib-2.28.6 ) )
|
||||
jit? (
|
||||
sys-devel/gcc:=[jit(-)]
|
||||
sys-libs/zlib
|
||||
)
|
||||
json? ( dev-libs/jansson:= )
|
||||
kerberos? ( virtual/krb5 )
|
||||
lcms? ( media-libs/lcms:2 )
|
||||
libxml2? ( >=dev-libs/libxml2-2.2.0 )
|
||||
mailutils? ( net-mail/mailutils[clients] )
|
||||
!mailutils? ( acct-group/mail net-libs/liblockfile )
|
||||
selinux? ( sys-libs/libselinux )
|
||||
ssl? ( net-libs/gnutls:0= )
|
||||
systemd? ( sys-apps/systemd )
|
||||
valgrind? ( dev-debug/valgrind )
|
||||
zlib? ( sys-libs/zlib )
|
||||
gui? ( !aqua? (
|
||||
x11-libs/libICE
|
||||
x11-libs/libSM
|
||||
x11-libs/libX11
|
||||
x11-libs/libXext
|
||||
x11-libs/libXfixes
|
||||
x11-libs/libXinerama
|
||||
x11-libs/libXrandr
|
||||
x11-libs/libxcb
|
||||
x11-misc/xbitmaps
|
||||
gsettings? ( >=dev-libs/glib-2.28.6 )
|
||||
gif? ( media-libs/giflib:0= )
|
||||
jpeg? ( media-libs/libjpeg-turbo:0= )
|
||||
png? ( >=media-libs/libpng-1.4:0= )
|
||||
svg? ( >=gnome-base/librsvg-2.0 )
|
||||
tiff? ( media-libs/tiff:= )
|
||||
xpm? ( x11-libs/libXpm )
|
||||
imagemagick? ( media-gfx/imagemagick:0=[jpeg?,png?,svg?,tiff?] )
|
||||
xft? (
|
||||
media-libs/fontconfig
|
||||
media-libs/freetype
|
||||
x11-libs/libXrender
|
||||
cairo? ( >=x11-libs/cairo-1.12.18[X] )
|
||||
!cairo? ( x11-libs/libXft )
|
||||
harfbuzz? ( media-libs/harfbuzz:0= )
|
||||
m17n-lib? (
|
||||
>=dev-libs/libotf-0.9.4
|
||||
>=dev-libs/m17n-lib-1.5.1
|
||||
)
|
||||
)
|
||||
gtk? (
|
||||
x11-libs/gtk+:3
|
||||
xwidgets? (
|
||||
net-libs/webkit-gtk:4.1=
|
||||
x11-libs/libXcomposite
|
||||
)
|
||||
)
|
||||
!gtk? (
|
||||
motif? (
|
||||
>=x11-libs/motif-2.3:0
|
||||
x11-libs/libXpm
|
||||
x11-libs/libXmu
|
||||
x11-libs/libXt
|
||||
)
|
||||
!motif? (
|
||||
Xaw3d? (
|
||||
x11-libs/libXaw3d
|
||||
x11-libs/libXmu
|
||||
x11-libs/libXt
|
||||
)
|
||||
!Xaw3d? ( athena? (
|
||||
x11-libs/libXaw
|
||||
x11-libs/libXmu
|
||||
x11-libs/libXt
|
||||
) )
|
||||
)
|
||||
)
|
||||
) )"
|
||||
|
||||
DEPEND="${RDEPEND}
|
||||
gui? ( !aqua? ( x11-base/xorg-proto ) )"
|
||||
|
||||
BDEPEND="sys-apps/texinfo
|
||||
virtual/pkgconfig
|
||||
gzip-el? ( app-arch/gzip )"
|
||||
|
||||
IDEPEND="app-eselect/eselect-emacs"
|
||||
|
||||
RDEPEND+=" ${IDEPEND}"
|
||||
|
||||
EMACS_SUFFIX="emacs-${SLOT}"
|
||||
SITEFILE="20${EMACS_SUFFIX}-gentoo.el"
|
||||
|
||||
# Suppress false positive QA warnings #898304 #925449
|
||||
QA_CONFIG_IMPL_DECL_SKIP=(
|
||||
malloc_set_state malloc_get_state MIN
|
||||
statvfs64 re_set_syntax re_compile_pattern re_search re_match
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
if [[ ${PV##*.} = 9999 ]]; then
|
||||
FULL_VERSION=$(sed -n 's/^AC_INIT([^,]*,[^0-9.]*\([0-9.]*\).*/\1/p' \
|
||||
configure.ac)
|
||||
[[ ${FULL_VERSION} ]] || die "Cannot determine current Emacs version"
|
||||
einfo "Emacs branch: ${EGIT_BRANCH}"
|
||||
einfo "Commit: ${EGIT_VERSION}"
|
||||
einfo "Emacs version number: ${FULL_VERSION}"
|
||||
[[ ${FULL_VERSION} =~ ^${PV%.*}(\..*)?$ ]] \
|
||||
|| die "Upstream version number changed to ${FULL_VERSION}"
|
||||
fi
|
||||
|
||||
if use jit; then
|
||||
export NATIVE_FULL_AOT=1
|
||||
find lisp -type f -name "*.elc" -delete || die
|
||||
|
||||
# These files ignore LDFLAGS. We assign the variable here, because
|
||||
# for live ebuilds FULL_VERSION doesn't exist in global scope
|
||||
QA_FLAGS_IGNORED="usr/$(get_libdir)/emacs/${FULL_VERSION}/native-lisp/.*"
|
||||
|
||||
# gccjit doesn't play well with ccache or distcc #801580
|
||||
# For now, work around the problem with an explicit LIBRARY_PATH
|
||||
has ccache ${FEATURES} || has distcc ${FEATURES} && tc-is-gcc \
|
||||
&& export LIBRARY_PATH=$("$(tc-getCC)" -print-search-dirs \
|
||||
| sed -n '/^libraries:/{s:^[^/]*::;p}')
|
||||
fi
|
||||
|
||||
default
|
||||
|
||||
# Fix filename reference in redirected man page
|
||||
sed -i -e "/^\\.so/s/etags/&-${EMACS_SUFFIX}/" doc/man/ctags.1 || die
|
||||
|
||||
# Tests that use bubblewrap don't work in the sandbox:
|
||||
# "bwrap: setting up uid map: Permission denied"
|
||||
# So, disrupt the search for the bwrap executable.
|
||||
sed -i -e 's/(executable-find "bwrap")/nil/' test/src/emacs-tests.el \
|
||||
test/lisp/emacs-lisp/bytecomp-tests.el || die
|
||||
|
||||
AT_M4DIR=m4 eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myconf
|
||||
|
||||
# Prevents e.g. tests interfering with running Emacs.
|
||||
unset EMACS_SOCKET_NAME
|
||||
|
||||
if use alsa; then
|
||||
use sound || ewarn \
|
||||
"USE flag \"alsa\" overrides \"-sound\"; enabling sound support."
|
||||
myconf+=" --with-sound=alsa"
|
||||
else
|
||||
myconf+=" --with-sound=$(usex sound oss)"
|
||||
fi
|
||||
|
||||
if use jit; then
|
||||
use zlib || ewarn \
|
||||
"USE flag \"jit\" overrides \"-zlib\"; enabling zlib support."
|
||||
myconf+=" --with-zlib"
|
||||
else
|
||||
myconf+=" $(use_with zlib)"
|
||||
fi
|
||||
|
||||
if ! use gui; then
|
||||
einfo "Configuring to build without window system support"
|
||||
myconf+=" --without-x --without-ns"
|
||||
elif use aqua; then
|
||||
einfo "Configuring to build with Nextstep (Macintosh Cocoa) support"
|
||||
myconf+=" --with-ns --disable-ns-self-contained"
|
||||
myconf+=" --without-x"
|
||||
else
|
||||
myconf+=" --with-x --without-ns"
|
||||
myconf+=" --without-gconf"
|
||||
myconf+=" $(use_with gsettings)"
|
||||
myconf+=" $(use_with toolkit-scroll-bars)"
|
||||
myconf+=" $(use_with gif)"
|
||||
myconf+=" $(use_with jpeg)"
|
||||
myconf+=" $(use_with png)"
|
||||
myconf+=" $(use_with svg rsvg)"
|
||||
myconf+=" $(use_with tiff)"
|
||||
myconf+=" $(use_with xpm)"
|
||||
myconf+=" $(use_with imagemagick)"
|
||||
|
||||
if use xft; then
|
||||
myconf+=" --with-xft"
|
||||
myconf+=" $(use_with cairo)"
|
||||
myconf+=" $(use_with harfbuzz)"
|
||||
myconf+=" $(use_with m17n-lib libotf)"
|
||||
myconf+=" $(use_with m17n-lib m17n-flt)"
|
||||
else
|
||||
myconf+=" --without-xft"
|
||||
myconf+=" --without-cairo"
|
||||
myconf+=" --without-libotf --without-m17n-flt"
|
||||
use cairo && ewarn \
|
||||
"USE flag \"cairo\" has no effect if \"xft\" is not set."
|
||||
use m17n-lib && ewarn \
|
||||
"USE flag \"m17n-lib\" has no effect if \"xft\" is not set."
|
||||
fi
|
||||
|
||||
local f line
|
||||
if use gtk; then
|
||||
einfo "Configuring to build with GIMP Toolkit (GTK+)"
|
||||
while read line; do ewarn "${line}"; done <<-EOF
|
||||
Your version of GTK+ will have problems with closing open
|
||||
displays. This is no problem if you just use one display, but
|
||||
if you use more than one and close one of them Emacs may crash.
|
||||
See <https://gitlab.gnome.org/GNOME/gtk/-/issues/221> and
|
||||
<https://gitlab.gnome.org/GNOME/gtk/-/issues/2315>.
|
||||
If you intend to use more than one display, then it is strongly
|
||||
recommended that you compile Emacs with the Athena/Lucid or the
|
||||
Motif toolkit instead.
|
||||
EOF
|
||||
myconf+=" --with-x-toolkit=gtk3 $(use_with xwidgets)"
|
||||
for f in motif Xaw3d athena; do
|
||||
use ${f} && ewarn \
|
||||
"USE flag \"${f}\" has no effect if \"gtk\" is set."
|
||||
done
|
||||
elif use motif; then
|
||||
einfo "Configuring to build with Motif toolkit"
|
||||
myconf+=" --with-x-toolkit=motif"
|
||||
for f in Xaw3d athena; do
|
||||
use ${f} && ewarn \
|
||||
"USE flag \"${f}\" has no effect if \"motif\" is set."
|
||||
done
|
||||
elif use athena || use Xaw3d; then
|
||||
einfo "Configuring to build with Athena/Lucid toolkit"
|
||||
myconf+=" --with-x-toolkit=lucid $(use_with Xaw3d xaw3d)"
|
||||
else
|
||||
einfo "Configuring to build with no toolkit"
|
||||
myconf+=" --with-x-toolkit=no"
|
||||
fi
|
||||
! use gtk && use xwidgets && ewarn \
|
||||
"USE flag \"xwidgets\" has no effect if \"gtk\" is not set."
|
||||
fi
|
||||
|
||||
if tc-is-cross-compiler; then
|
||||
# Configure a CBUILD directory when cross-compiling to make tools
|
||||
mkdir "${S}-build" && pushd "${S}-build" >/dev/null || die
|
||||
ECONF_SOURCE="${S}" econf_build --without-all --without-x-toolkit
|
||||
popd >/dev/null || die
|
||||
# Don't try to execute the binary for dumping during the build
|
||||
myconf+=" --with-dumping=none"
|
||||
elif use m68k; then
|
||||
# Workaround for https://debbugs.gnu.org/44531
|
||||
myconf+=" --with-dumping=unexec"
|
||||
else
|
||||
myconf+=" --with-dumping=pdumper"
|
||||
fi
|
||||
|
||||
econf \
|
||||
--program-suffix="-${EMACS_SUFFIX}" \
|
||||
--includedir="${EPREFIX}"/usr/include/${EMACS_SUFFIX} \
|
||||
--infodir="${EPREFIX}"/usr/share/info/${EMACS_SUFFIX} \
|
||||
--localstatedir="${EPREFIX}"/var \
|
||||
--enable-locallisppath="${EPREFIX}/etc/emacs:${EPREFIX}${SITELISP}" \
|
||||
--without-compress-install \
|
||||
--without-hesiod \
|
||||
--without-pop \
|
||||
--with-file-notification=$(usev inotify || usev gfile || echo no) \
|
||||
--with-pdumper \
|
||||
$(use_enable acl) \
|
||||
$(use_with dbus) \
|
||||
$(use_with dynamic-loading modules) \
|
||||
$(use_with games gameuser ":gamestat") \
|
||||
$(use_with gmp libgmp) \
|
||||
$(use_with gpm) \
|
||||
$(use_with jit native-compilation) \
|
||||
$(use_with json) \
|
||||
$(use_with kerberos) $(use_with kerberos kerberos5) \
|
||||
$(use_with lcms lcms2) \
|
||||
$(use_with libxml2 xml2) \
|
||||
$(use_with mailutils) \
|
||||
$(use_with selinux) \
|
||||
$(use_with ssl gnutls) \
|
||||
$(use_with systemd libsystemd) \
|
||||
$(use_with threads) \
|
||||
$(use_with wide-int) \
|
||||
${myconf}
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
export ac_cv_header_valgrind_valgrind_h=$(usex valgrind)
|
||||
append-cppflags -DUSE_VALGRIND=$(usex valgrind)
|
||||
|
||||
if tc-is-cross-compiler; then
|
||||
# Build native tools for compiling lisp etc.
|
||||
emake -C "${S}-build" src
|
||||
emake lib # Cross-compile dependencies first for timestamps
|
||||
# Save native build tools in the cross-directory
|
||||
cp "${S}-build"/lib-src/make-{docfile,fingerprint} lib-src || die
|
||||
# Specify the native Emacs to compile lisp
|
||||
emake -C lisp all EMACS="${S}-build/src/emacs"
|
||||
fi
|
||||
|
||||
emake
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# List .el test files with a comment above listing the exact
|
||||
# subtests which caused failure. Elements should begin with a %.
|
||||
# e.g. %lisp/gnus/mml-sec-tests.el.
|
||||
local exclude_tests=(
|
||||
# Reason: not yet known
|
||||
# mml-secure-en-decrypt-{1,2,3,4}
|
||||
# mml-secure-find-usable-keys-{1,2}
|
||||
# mml-secure-key-checks
|
||||
# mml-secure-select-preferred-keys-4
|
||||
# mml-secure-sign-verify-1
|
||||
%lisp/gnus/mml-sec-tests.el
|
||||
|
||||
# Reason: race condition
|
||||
# Looks like it should be fixed in 29.x at least:
|
||||
# https://debbugs.gnu.org/cgi/bugreport.cgi?bug=55706
|
||||
# files-tests-file-name-non-special-file-in-directory-p
|
||||
%lisp/files-tests.el
|
||||
|
||||
# Reason: permission denied on /nonexistent
|
||||
# (vc-*-bzr only fails if breezy is installed, as they
|
||||
# try to access cache dirs under /nonexistent)
|
||||
#
|
||||
# rmail-undigest-test-multipart-mixed-digest
|
||||
# rmail-undigest-test-rfc1153-less-strict-digest
|
||||
# rmail-undigest-test-rfc1153-sloppy-digest
|
||||
# rmail-undigest-test-rfc934-digest
|
||||
# vc-test-bzr02-state
|
||||
# vc-test-bzr05-rename-file
|
||||
# vc-test-bzr06-version-diff
|
||||
# vc-bzr-test-bug9781
|
||||
%lisp/mail/undigest-tests.el
|
||||
%lisp/vc/vc-tests.el
|
||||
%lisp/vc/vc-bzr-tests.el
|
||||
|
||||
# Reason: some copyright years differ
|
||||
%lisp/emacs-lisp/copyright-tests.el
|
||||
|
||||
# Reason: quoting issues (fixed in Emacs 29)
|
||||
%lib-src/emacsclient-tests.el
|
||||
|
||||
# Reason: tries to access network
|
||||
# internet-is-working
|
||||
%src/process-tests.el
|
||||
)
|
||||
use threads || exclude_tests+=(
|
||||
%src/emacs-module-tests.el
|
||||
%src/keyboard-tests.el
|
||||
%src/thread-tests.el
|
||||
)
|
||||
|
||||
# See test/README for possible options
|
||||
emake \
|
||||
EMACS_TEST_VERBOSE=1 \
|
||||
EXCLUDE_TESTS="${exclude_tests[*]}" \
|
||||
TEST_BACKTRACE_LINE_LENGTH=nil \
|
||||
check
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake DESTDIR="${D}" NO_BIN_LINK=t BLESSMAIL_TARGET= install
|
||||
|
||||
mv "${ED}"/usr/bin/{emacs-${FULL_VERSION}-,}${EMACS_SUFFIX} || die
|
||||
mv "${ED}"/usr/share/man/man1/{emacs-,}${EMACS_SUFFIX}.1 || die
|
||||
mv "${ED}"/usr/share/metainfo/{emacs-,}${EMACS_SUFFIX}.metainfo.xml || die
|
||||
|
||||
# dissuade Portage from removing our dir file #257260
|
||||
touch "${ED}"/usr/share/info/${EMACS_SUFFIX}/.keepinfodir
|
||||
docompress -x /usr/share/info/${EMACS_SUFFIX}/dir
|
||||
|
||||
# movemail must be setgid mail
|
||||
if ! use mailutils; then
|
||||
fowners root:mail /usr/libexec/emacs/${FULL_VERSION}/${CHOST}/movemail
|
||||
fperms 2751 /usr/libexec/emacs/${FULL_VERSION}/${CHOST}/movemail
|
||||
fi
|
||||
|
||||
# avoid collision between slots, see bug #169033 e.g.
|
||||
rm "${ED}"/usr/share/emacs/site-lisp/subdirs.el || die
|
||||
rm -rf "${ED}"/usr/share/{applications,icons} || die
|
||||
rm -rf "${ED}/usr/$(get_libdir)/systemd" || die
|
||||
rm -rf "${ED}"/var || die
|
||||
|
||||
# remove unused <version>/site-lisp dir
|
||||
rm -rf "${ED}"/usr/share/emacs/${FULL_VERSION}/site-lisp || die
|
||||
|
||||
# remove COPYING file (except for etc/COPYING used by describe-copying)
|
||||
rm "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp/COPYING || die
|
||||
|
||||
if use systemd; then
|
||||
insinto /usr/lib/systemd/user
|
||||
sed -e "/^##/d" \
|
||||
-e "/^ExecStart/s,emacs,${EPREFIX}/usr/bin/${EMACS_SUFFIX}," \
|
||||
-e "/^ExecStop/s,emacsclient,${EPREFIX}/usr/bin/&-${EMACS_SUFFIX}," \
|
||||
etc/emacs.service | newins - ${EMACS_SUFFIX}.service
|
||||
assert
|
||||
fi
|
||||
|
||||
if use gzip-el; then
|
||||
# compress .el files when a corresponding .elc exists
|
||||
find "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp -type f \
|
||||
-name "*.elc" -print | sed 's/\.elc$/.el/' | xargs gzip -9n
|
||||
assert "gzip .el failed"
|
||||
fi
|
||||
|
||||
local cdir
|
||||
if use source; then
|
||||
cdir="/usr/share/emacs/${FULL_VERSION}/src"
|
||||
insinto "${cdir}"
|
||||
# This is not meant to install all the source -- just the
|
||||
# C source you might find via find-function
|
||||
doins src/*.{c,h,m}
|
||||
elif has installsources ${FEATURES}; then
|
||||
cdir="/usr/src/debug/${CATEGORY}/${PF}/${S#"${WORKDIR}/"}/src"
|
||||
fi
|
||||
|
||||
sed -e "${cdir:+#}/^Y/d" -e "s/^[XY]//" >"${T}/${SITEFILE}" <<-EOF || die
|
||||
X
|
||||
;;; ${EMACS_SUFFIX} site-lisp configuration
|
||||
X
|
||||
(when (string-match "\\\\\`${FULL_VERSION//./\\\\.}\\\\>" emacs-version)
|
||||
Y (setq find-function-C-source-directory
|
||||
Y "${EPREFIX}${cdir}")
|
||||
X (let ((path (getenv "INFOPATH"))
|
||||
X (dir "${EPREFIX}/usr/share/info/${EMACS_SUFFIX}")
|
||||
X (re "\\\\\`${EPREFIX}/usr/share\\\\>"))
|
||||
X (and path
|
||||
X ;; move Emacs Info dir before anything else in /usr/share
|
||||
X (let* ((p (cons nil (split-string path ":" t))) (q p))
|
||||
X (while (and (cdr q) (not (string-match re (cadr q))))
|
||||
X (setq q (cdr q)))
|
||||
X (setcdr q (cons dir (delete dir (cdr q))))
|
||||
X (setenv "INFOPATH" (mapconcat 'identity (cdr p) ":"))))))
|
||||
EOF
|
||||
elisp-site-file-install "${T}/${SITEFILE}" || die
|
||||
|
||||
dodoc README BUGS CONTRIBUTE
|
||||
|
||||
if use gui && use aqua; then
|
||||
dodir /Applications/Gentoo
|
||||
rm -rf "${ED}"/Applications/Gentoo/${EMACS_SUFFIX^}.app || die
|
||||
mv nextstep/Emacs.app \
|
||||
"${ED}"/Applications/Gentoo/${EMACS_SUFFIX^}.app || die
|
||||
fi
|
||||
|
||||
local DOC_CONTENTS="You can set the version to be started by
|
||||
/usr/bin/emacs through the Emacs eselect module, which also
|
||||
redirects man and info pages. Therefore, several Emacs versions can
|
||||
be installed at the same time. \"man emacs.eselect\" for details.
|
||||
\\n\\nIf you upgrade from a previous major version of Emacs, then
|
||||
it is strongly recommended that you use app-admin/emacs-updater
|
||||
to rebuild all byte-compiled elisp files of the installed Emacs
|
||||
packages."
|
||||
if use gui; then
|
||||
DOC_CONTENTS+="\\n\\nYou need to install some fonts for Emacs.
|
||||
Installing media-fonts/font-adobe-{75,100}dpi on the X server's
|
||||
machine would satisfy basic Emacs requirements under X11.
|
||||
See also https://wiki.gentoo.org/wiki/Xft_support_for_GNU_Emacs
|
||||
for how to enable anti-aliased fonts."
|
||||
use aqua && DOC_CONTENTS+="\\n\\n${EMACS_SUFFIX^}.app is in
|
||||
\"${EPREFIX}/Applications/Gentoo\". You may want to copy or
|
||||
symlink it into /Applications by yourself."
|
||||
fi
|
||||
tc-is-cross-compiler && DOC_CONTENTS+="\\n\\nEmacs did not write
|
||||
a portable dump file due to being cross-compiled.
|
||||
To create this file at run time, execute the following command:
|
||||
\\n${EMACS_SUFFIX} --batch -Q --eval='(dump-emacs-portable
|
||||
\"/usr/libexec/emacs/${FULL_VERSION}/${CHOST}/emacs.pdmp\")'"
|
||||
readme.gentoo_create_doc
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
# verify that the PM hasn't removed our Info directory index #257260
|
||||
local infodir="${ED}/usr/share/info/${EMACS_SUFFIX}"
|
||||
[[ -f ${infodir}/dir || ! -d ${infodir} ]] || die
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elisp-site-regen
|
||||
readme.gentoo_print_elog
|
||||
|
||||
if use livecd; then
|
||||
# force an update of the emacs symlink for the livecd/dvd,
|
||||
# because some microemacs packages set it with USE=livecd
|
||||
eselect emacs update
|
||||
else
|
||||
eselect emacs update ifunset
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
elisp-site-regen
|
||||
eselect emacs update ifunset
|
||||
}
|
@ -1,2 +1 @@
|
||||
DIST ghostwriter-23.08.5.tar.xz 3626836 BLAKE2B 19977d1c8341812d4bff70fa246b1f0300ff871880b9959ac39dd702e33661c6e8ec79d5353f29a10da00f03cc95457e5182e2b46ed7d01964b924606f885ca0 SHA512 b548710cd5066b8ff29410577b2e5c11178ea2661793bfedec1b2379046735f4320ba47ee3d560d8041171f1244d541213ecd5f2a8e0ae69ae0f0718094d5d20
|
||||
DIST ghostwriter-24.02.2.tar.xz 3629096 BLAKE2B f167301849348ee59d45fea07286d3e0c1cacd4eeb84769d4bb6182fc508aaa0f8b749f2553054a6054ffc48706ec53f05ec164b1a913b0f926395134e72ac7a SHA512 ebe605f82710ced4fecf4effd5c257e5d6bc274bbbc6cb36138423ef05b14504dd5d39d698eb23640838df53bc55f9ba3523280731482b1eb1b1ad6d46178381
|
||||
|
@ -1,41 +0,0 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
KDE_ORG_CATEGORY="office"
|
||||
ECM_HANDBOOK="optional"
|
||||
KFMIN=5.106.0
|
||||
QTMIN=5.15.9
|
||||
inherit ecm gear.kde.org
|
||||
|
||||
DESCRIPTION="Cross-platform, aesthetic, distraction-free markdown editor"
|
||||
HOMEPAGE="https://ghostwriter.kde.org/"
|
||||
|
||||
LICENSE="GPL-3+"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 arm64 ~x86"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND="
|
||||
app-text/hunspell:=
|
||||
>=dev-qt/qtgui-${QTMIN}:5
|
||||
>=dev-qt/qtsvg-${QTMIN}:5
|
||||
>=dev-qt/qtwebchannel-${QTMIN}:5
|
||||
>=dev-qt/qtwebengine-${QTMIN}:5[widgets]
|
||||
>=dev-qt/qtwidgets-${QTMIN}:5
|
||||
>=kde-frameworks/kcoreaddons-${KFMIN}:5
|
||||
>=kde-frameworks/kwidgetsaddons-${KFMIN}:5
|
||||
>=kde-frameworks/kxmlgui-${KFMIN}:5
|
||||
>=kde-frameworks/sonnet-${KFMIN}:5
|
||||
virtual/opengl
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
>=dev-qt/qtconcurrent-${QTMIN}:5
|
||||
"
|
||||
BDEPEND="
|
||||
>=dev-qt/linguist-tools-${QTMIN}:5
|
||||
virtual/pkgconfig
|
||||
"
|
||||
|
||||
DOCS=( CHANGELOG.md README.md )
|
@ -0,0 +1,365 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
# Please bump with app-editors/vim-core and app-editors/vim
|
||||
|
||||
VIM_VERSION="9.1"
|
||||
VIM_PATCHES_VERSION="9.0.2092"
|
||||
|
||||
LUA_COMPAT=( lua5-{1..4} luajit )
|
||||
PYTHON_COMPAT=( python3_{10..12} )
|
||||
PYTHON_REQ_USE="threads(+)"
|
||||
USE_RUBY="ruby31 ruby32"
|
||||
|
||||
inherit bash-completion-r1 flag-o-matic lua-single prefix python-single-r1 ruby-single toolchain-funcs vim-doc xdg-utils
|
||||
|
||||
if [[ ${PV} == 9999* ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://github.com/vim/vim.git"
|
||||
EGIT_CHECKOUT_DIR=${WORKDIR}/vim-${PV}
|
||||
else
|
||||
SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> vim-${PV}.tar.gz
|
||||
https://git.sr.ht/~xxc3nsoredxx/vim-patches/refs/download/vim-${VIM_PATCHES_VERSION}-patches/vim-${VIM_PATCHES_VERSION}-patches.tar.xz"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
|
||||
fi
|
||||
S="${WORKDIR}"/vim-${PV}
|
||||
|
||||
DESCRIPTION="GUI version of the Vim text editor"
|
||||
HOMEPAGE="https://www.vim.org https://github.com/vim/vim"
|
||||
|
||||
LICENSE="vim"
|
||||
SLOT="0"
|
||||
IUSE="acl aqua crypt cscope debug lua minimal motif netbeans nls perl python racket ruby selinux session sound tcl"
|
||||
REQUIRED_USE="
|
||||
lua? ( ${LUA_REQUIRED_USE} )
|
||||
python? ( ${PYTHON_REQUIRED_USE} )
|
||||
aqua? ( !motif )
|
||||
"
|
||||
|
||||
RDEPEND="
|
||||
~app-editors/vim-core-${PV}
|
||||
>=app-eselect/eselect-vi-1.1
|
||||
>=sys-libs/ncurses-5.2-r2:0=
|
||||
x11-libs/libICE
|
||||
x11-libs/libSM
|
||||
x11-libs/libXext
|
||||
x11-libs/libXt
|
||||
acl? ( kernel_linux? ( sys-apps/acl ) )
|
||||
!aqua? (
|
||||
motif? ( >=x11-libs/motif-2.3:0 )
|
||||
!motif? (
|
||||
x11-libs/gtk+:3
|
||||
x11-libs/libXft
|
||||
)
|
||||
)
|
||||
crypt? ( dev-libs/libsodium:= )
|
||||
cscope? ( dev-util/cscope )
|
||||
lua? (
|
||||
${LUA_DEPS}
|
||||
$(lua_gen_impl_dep 'deprecated' lua5-1)
|
||||
)
|
||||
nls? ( virtual/libintl )
|
||||
perl? ( dev-lang/perl:= )
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
racket? ( dev-scheme/racket )
|
||||
ruby? ( ${RUBY_DEPS} )
|
||||
selinux? ( sys-libs/libselinux )
|
||||
session? ( x11-libs/libSM )
|
||||
sound? ( media-libs/libcanberra )
|
||||
tcl? ( dev-lang/tcl:0= )
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
x11-base/xorg-proto"
|
||||
# configure runs the Lua interpreter
|
||||
BDEPEND="
|
||||
dev-build/autoconf
|
||||
virtual/pkgconfig
|
||||
lua? ( ${LUA_DEPS} )
|
||||
nls? ( sys-devel/gettext )
|
||||
"
|
||||
PDEPEND="!minimal? ( app-vim/gentoo-syntax )"
|
||||
|
||||
if [[ ${PV} != 9999* ]]; then
|
||||
# Gentoo patches to fix runtime issues, cross-compile errors, etc
|
||||
PATCHES=(
|
||||
"${WORKDIR}/vim-${VIM_PATCHES_VERSION}-patches"
|
||||
)
|
||||
fi
|
||||
|
||||
# various failures (bugs #630042 and #682320)
|
||||
RESTRICT="test"
|
||||
|
||||
# platform-specific checks (bug #898450):
|
||||
# - acl() -- Solaris
|
||||
# - statacl() -- AIX
|
||||
QA_CONFIG_IMPL_DECL_SKIP=(
|
||||
'acl'
|
||||
'statacl'
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
# people with broken alphabets run into trouble. bug 82186.
|
||||
unset LANG LC_ALL
|
||||
export LC_COLLATE="C"
|
||||
|
||||
use lua && lua-single_pkg_setup
|
||||
use python && python-single-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# Fixup a script to use awk instead of nawk
|
||||
sed -i -e \
|
||||
'1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' \
|
||||
"${S}"/runtime/tools/mve.awk || die "mve.awk sed failed"
|
||||
|
||||
# Read vimrc and gvimrc from /etc/vim
|
||||
echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' \
|
||||
>> "${S}"/src/feature.h || die "echo failed"
|
||||
echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' \
|
||||
>> "${S}"/src/feature.h || die "echo failed"
|
||||
|
||||
# Use exuberant ctags which installs as /usr/bin/exuberant-ctags.
|
||||
# Hopefully this pattern won't break for a while at least.
|
||||
# This fixes bug 29398 (27 Sep 2003 agriffis)
|
||||
sed -i -e \
|
||||
's/\<ctags\("\| [-*.]\)/exuberant-&/g' \
|
||||
"${S}"/runtime/doc/syntax.txt \
|
||||
"${S}"/runtime/doc/tagsrch.txt \
|
||||
"${S}"/runtime/doc/usr_29.txt \
|
||||
"${S}"/runtime/menu.vim \
|
||||
"${S}"/src/configure.ac || die 'sed failed'
|
||||
|
||||
# gcc on sparc32 has this, uhm, interesting problem with detecting EOF
|
||||
# correctly. To avoid some really entertaining error messages about stuff
|
||||
# which isn't even in the source file being invalid, we'll do some trickery
|
||||
# to make the error never occur. bug 66162 (02 October 2004 ciaranm)
|
||||
find "${S}" -name '*.c' | while read c; do
|
||||
echo >> "$c" || die "echo failed"
|
||||
done
|
||||
|
||||
# Try to avoid sandbox problems. Bug #114475.
|
||||
if [[ -d "${S}"/src/po ]]; then
|
||||
sed -i -e \
|
||||
'/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
|
||||
"${S}"/src/po/Makefile || die
|
||||
fi
|
||||
|
||||
cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed"
|
||||
|
||||
# Fix bug 18245: Prevent "make" from the following chain:
|
||||
# (1) Notice configure.ac is newer than auto/configure
|
||||
# (2) Rebuild auto/configure
|
||||
# (3) Notice auto/configure is newer than auto/config.mk
|
||||
# (4) Run ./configure (with wrong args) to remake auto/config.mk
|
||||
sed -i -e \
|
||||
's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
|
||||
rm -v src/auto/configure || die "rm failed"
|
||||
|
||||
# --with-features=huge forces on cscope even if we --disable it. We need
|
||||
# to sed this out to avoid screwiness. (1 Sep 2004 ciaranm)
|
||||
if ! use cscope; then
|
||||
sed -i -e \
|
||||
'/# define FEAT_CSCOPE/d' src/feature.h || die "couldn't disable cscope"
|
||||
fi
|
||||
|
||||
# bug 908961
|
||||
if use elibc_musl ; then
|
||||
sed -i -e '/ja.sjis/d' src/po/Make_all.mak || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
|
||||
# Fix bug 37354: Disallow -funroll-all-loops on amd64
|
||||
# Bug 57859 suggests that we want to do this for all archs
|
||||
filter-flags -funroll-all-loops
|
||||
|
||||
# Fix bug 76331: -O3 causes problems, use -O2 instead. We'll do this for
|
||||
# everyone since previous flag filtering bugs have turned out to affect
|
||||
# multiple archs...
|
||||
replace-flags -O3 -O2
|
||||
|
||||
emake -j1 -C src autoconf
|
||||
|
||||
# This should fix a sandbox violation (see bug 24447). The hvc
|
||||
# things are for ppc64, see bug 86433.
|
||||
local file
|
||||
for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc*; do
|
||||
if [[ -e ${file} ]]; then
|
||||
addwrite $file
|
||||
fi
|
||||
done
|
||||
|
||||
use debug && append-flags "-DDEBUG"
|
||||
|
||||
local myconf=(
|
||||
--with-features=huge
|
||||
--disable-gpm
|
||||
--with-gnome=no
|
||||
$(use_enable sound canberra)
|
||||
$(use_enable acl)
|
||||
$(use_enable crypt libsodium)
|
||||
$(use_enable cscope)
|
||||
$(use_enable netbeans)
|
||||
$(use_enable nls)
|
||||
$(use_enable perl perlinterp)
|
||||
$(use_enable python python3interp)
|
||||
$(use_with python python3-command "${PYTHON}")
|
||||
$(use_enable racket mzschemeinterp)
|
||||
$(use_enable ruby rubyinterp)
|
||||
$(use_enable selinux)
|
||||
$(use_enable session xsmp)
|
||||
$(use_enable tcl tclinterp)
|
||||
)
|
||||
|
||||
if use lua; then
|
||||
# -DLUA_COMPAT_OPENLIB=1 is required to enable the
|
||||
# deprecated (in 5.1) luaL_openlib API (#874690)
|
||||
use lua_single_target_lua5-1 && append-cppflags -DLUA_COMPAT_OPENLIB=1
|
||||
|
||||
myconf+=(
|
||||
--enable-luainterp
|
||||
$(use_with lua_single_target_luajit luajit)
|
||||
--with-lua-prefix="${EPREFIX}/usr"
|
||||
)
|
||||
fi
|
||||
|
||||
# Default is gtk unless aqua or motif are enabled
|
||||
echo ; echo
|
||||
if use aqua; then
|
||||
einfo "Building gvim with the Carbon GUI"
|
||||
myconf+=(
|
||||
--enable-darwin
|
||||
--enable-gui=carbon
|
||||
)
|
||||
elif use motif; then
|
||||
einfo "Building gvim with the MOTIF GUI"
|
||||
myconf+=( --enable-gui=motif )
|
||||
else
|
||||
myconf+=( --enable-gtk3-check )
|
||||
einfo "Building gvim with the gtk+-3 GUI"
|
||||
myconf+=( --enable-gui=gtk3 )
|
||||
fi
|
||||
echo ; echo
|
||||
|
||||
# let package manager strip binaries
|
||||
export ac_cv_prog_STRIP="$(type -P true ) faking strip"
|
||||
|
||||
# keep prefix env contained within the EPREFIX
|
||||
use prefix && myconf+=( --without-local-dir )
|
||||
|
||||
if tc-is-cross-compiler ; then
|
||||
export vim_cv_getcwd_broken=no \
|
||||
vim_cv_memmove_handles_overlap=yes \
|
||||
vim_cv_stat_ignores_slash=yes \
|
||||
vim_cv_terminfo=yes \
|
||||
vim_cv_toupper_broken=no
|
||||
fi
|
||||
|
||||
econf \
|
||||
--with-modified-by="Gentoo-${PVR} (RIP Bram)" \
|
||||
--with-vim-name=gvim \
|
||||
--with-x \
|
||||
"${myconf[@]}"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# The following allows emake to be used
|
||||
emake -j1 -C src auto/osdef.h objects
|
||||
|
||||
emake
|
||||
}
|
||||
|
||||
src_test() {
|
||||
einfo
|
||||
einfo "Starting vim tests. Several error messages will be shown"
|
||||
einfo "while the tests run. This is normal behaviour and does not"
|
||||
einfo "indicate a fault."
|
||||
einfo
|
||||
ewarn "If the tests fail, your terminal may be left in a strange"
|
||||
ewarn "state. Usually, running 'reset' will fix this."
|
||||
einfo
|
||||
|
||||
# Don't let vim talk to X
|
||||
unset DISPLAY
|
||||
|
||||
# Make gvim not try to connect to X. See :help gui-x11-start in vim for how
|
||||
# this evil trickery works.
|
||||
ln -s "${S}"/src/gvim "${S}"/src/testvim || die
|
||||
|
||||
# Make sure our VIMPROG is used.
|
||||
sed -i -e 's:\.\./vim:../testvim:' src/testdir/test49.vim || die
|
||||
|
||||
# Don't do additional GUI tests.
|
||||
emake -j1 VIMPROG=../testvim -C src/testdir nongui
|
||||
}
|
||||
|
||||
# Call eselect vi update with --if-unset
|
||||
# to respect user's choice (bug 187449)
|
||||
eselect_vi_update() {
|
||||
ebegin "Calling eselect vi update"
|
||||
eselect vi update --if-unset
|
||||
eend $?
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
|
||||
|
||||
dobin src/gvim
|
||||
dosym gvim /usr/bin/gvimdiff
|
||||
dosym gvim /usr/bin/evim
|
||||
dosym gvim /usr/bin/eview
|
||||
dosym gvim /usr/bin/gview
|
||||
dosym gvim /usr/bin/rgvim
|
||||
dosym gvim /usr/bin/rgview
|
||||
|
||||
emake -C src DESTDIR="${D}" DATADIR="${EPREFIX}"/usr/share install-icons
|
||||
|
||||
dodir /usr/share/man/man1
|
||||
echo ".so vim.1" > "${ED}"/usr/share/man/man1/gvim.1 || die "echo failed"
|
||||
echo ".so vim.1" > "${ED}"/usr/share/man/man1/gview.1 || die "echo failed"
|
||||
echo ".so vimdiff.1" > "${ED}"/usr/share/man/man1/gvimdiff.1 || \
|
||||
die "echo failed"
|
||||
|
||||
insinto /etc/vim
|
||||
newins "${FILESDIR}"/gvimrc-r1 gvimrc
|
||||
eprefixify "${ED}"/etc/vim/gvimrc
|
||||
|
||||
# bash completion script, bug #79018.
|
||||
newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
|
||||
|
||||
# don't install vim desktop file
|
||||
rm -v "${ED}"/usr/share/applications/vim.desktop || die "failed to remove vim.desktop"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
# update documentation tags (from vim-doc.eclass)
|
||||
update_vim_helptags
|
||||
|
||||
# update fdo mime stuff, bug #78394
|
||||
xdg_desktop_database_update
|
||||
|
||||
# update icon cache
|
||||
xdg_icon_cache_update
|
||||
|
||||
# call eselect vi update
|
||||
eselect_vi_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
# update documentation tags (from vim-doc.eclass)
|
||||
update_vim_helptags
|
||||
|
||||
# update fdo mime stuff, bug #78394
|
||||
xdg_desktop_database_update
|
||||
|
||||
# update icon cache
|
||||
xdg_icon_cache_update
|
||||
|
||||
# call eselect vi update
|
||||
eselect_vi_update
|
||||
}
|
@ -1,69 +0,0 @@
|
||||
# Copyright 2021-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{9..11} )
|
||||
inherit desktop gnome2-utils python-single-r1 readme.gentoo-r1
|
||||
|
||||
DESCRIPTION="Fully featured markdown editor, supports github markdown dialect"
|
||||
HOMEPAGE="https://remarkableapp.github.io/ https://github.com/jamiemcg/remarkable"
|
||||
GIT_COMMIT="7b0b3dacef270a00c28e8852a88d74f72a3544d7"
|
||||
SRC_URI="https://github.com/jamiemcg/remarkable/archive/${GIT_COMMIT}.tar.gz -> ${P}.tar.gz"
|
||||
S="${WORKDIR}/Remarkable-${GIT_COMMIT}"
|
||||
|
||||
LICENSE="BSD-2 GPL-2+ LGPL-2.1+ MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm64 ~x86"
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
|
||||
|
||||
DEPEND="
|
||||
${PYTHON_DEPS}
|
||||
net-libs/webkit-gtk:4.1[introspection]
|
||||
x11-libs/gtk+:3[introspection]
|
||||
x11-libs/gtksourceview:3.0[introspection]
|
||||
$(python_gen_cond_dep '
|
||||
dev-python/beautifulsoup4[${PYTHON_USEDEP}]
|
||||
dev-python/pycairo[${PYTHON_USEDEP}]
|
||||
dev-python/pygobject[${PYTHON_USEDEP}]
|
||||
dev-python/markdown[${PYTHON_USEDEP}]
|
||||
')"
|
||||
RDEPEND="${DEPEND}"
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${P}-disable-spellcheck.patch
|
||||
"${FILESDIR}"/webkit-version.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
sed -i -e "s|import styles|from remarkable import styles|" \
|
||||
-e "s|from findBar|from remarkable.findBar|" \
|
||||
remarkable/RemarkableWindow.py || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
|
||||
python_domodule markdown pdfkit remarkable remarkable_lib
|
||||
python_doscript bin/remarkable
|
||||
doicon data/ui/remarkable.png
|
||||
domenu ${PN}.desktop
|
||||
|
||||
insinto /usr/share/${PN}
|
||||
doins -r data/ui
|
||||
doins -r data/media
|
||||
|
||||
insinto /usr/share/glib-2.0/schemas
|
||||
doins data/glib-2.0/schemas/*
|
||||
|
||||
readme.gentoo_create_doc
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
gnome2_schemas_update
|
||||
readme.gentoo_print_elog
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
gnome2_schemas_update
|
||||
}
|
@ -1,3 +1,4 @@
|
||||
DIST ReText-7.2.3.tar.gz 527428 BLAKE2B 3c710769a881275d74018ba319b174020dda0b65da22ae926231af56901b56c31b3cff69119a9bb378cd218d7b793f002bb08bf1483cc1e55c95a4963cbe1598 SHA512 eb337866f5dfacad2f23435f09b550f4378df5bb261d6f79b1708fed9e7bd93e96e8f06f940cb7109fe02aa6df0592b151f11dfe13853799f0b1ac2c1065a0da
|
||||
DIST ReText-8.0.0.tar.gz 492823 BLAKE2B ba80f01f1a40981220c0b3e16dd04bf551319a35c1a5c7f6d5e70135404537e74fa4625fe4c05c7ee54202de9ae16d181c110fcae9b9172761ca5ecf6400f7de SHA512 0f2480bcc8569cf60ebfe55847a2a068d1e5dd262a4ff212873bf58660ec31e9c37d9b21bdc66229d681c065a0d96b6ff11652e8d9a7c77841ea551480d1154c
|
||||
DIST ReText-8.0.1.tar.gz 538968 BLAKE2B 6ee18b4becf47ed3edae9e1d3ea8167a5db2685ae55b206be1ffca78bb765a559f53575da8aa105eae5d1b1fb87419723cdfd02cfff2eb422de9722589a0b97a SHA512 a2a03a821ac06e0408cd036189e9fce18f4b693085aaa15e0d95f2a80157f6ab09b0bcecd9574673ce57fc9cde937457e8d62971f1553cbc26c681039401178a
|
||||
DIST ReText-8.0.2.tar.gz 546236 BLAKE2B 3ef28366e5884234d77b2155c3f01d7881206383aa19ccb010255eb40ea14aa2ab298fe212d2b4d0e7d65246075b426c93a8ae518b8fb5f0887f1694064e309a SHA512 c7b543d91290c007c820751f39c009c1e5fb86eb59590d0c13610c9c7f13b6023ffee3d6aebc4665addacbefad0d17937a29e8201d08457cc1641a6d5c0019b0
|
||||
|
@ -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_{10..12} )
|
||||
DISTUTILS_USE_PEP517="setuptools"
|
||||
DISTUTILS_SINGLE_IMPL=1
|
||||
PYPI_NO_NORMALIZE=1
|
||||
PYPI_PN="ReText"
|
||||
|
||||
inherit desktop distutils-r1 optfeature virtualx xdg
|
||||
|
||||
DESCRIPTION="Simple editor for Markdown and reStructuredText"
|
||||
HOMEPAGE="https://github.com/retext-project/retext https://github.com/retext-project/retext/wiki"
|
||||
|
||||
if [[ ${PV} == *9999 ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://github.com/retext-project/retext.git"
|
||||
else
|
||||
inherit pypi
|
||||
KEYWORDS="~amd64"
|
||||
fi
|
||||
|
||||
LICENSE="GPL-2+"
|
||||
SLOT="0"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="
|
||||
$(python_gen_cond_dep '
|
||||
dev-python/docutils[${PYTHON_USEDEP}]
|
||||
dev-python/markdown[${PYTHON_USEDEP}]
|
||||
>=dev-python/markups-3.1.1[${PYTHON_USEDEP}]
|
||||
dev-python/pygments[${PYTHON_USEDEP}]
|
||||
dev-python/PyQt6[dbus,gui,printsupport,widgets,${PYTHON_USEDEP}]
|
||||
')
|
||||
"
|
||||
# qmake6 from qtbase is used to find lrelease
|
||||
BDEPEND="
|
||||
dev-qt/qtbase:6
|
||||
dev-qt/qttools:6[linguist]
|
||||
test? (
|
||||
${RDEPEND}
|
||||
$(python_gen_cond_dep '
|
||||
dev-python/PyQt6[testlib,${PYTHON_USEDEP}]
|
||||
')
|
||||
)
|
||||
"
|
||||
|
||||
distutils_enable_tests unittest
|
||||
|
||||
src_test() {
|
||||
QT_QPA_PLATFORM=minimal virtx distutils-r1_src_test
|
||||
}
|
||||
|
||||
src_install() {
|
||||
distutils-r1_src_install
|
||||
|
||||
domenu data/me.mitya57.ReText.desktop
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
xdg_pkg_postinst
|
||||
|
||||
optfeature "a local copy of the MathJax JavaScript library" dev-libs/mathjax
|
||||
optfeature "encoding detection" dev-python/chardet
|
||||
optfeature "dictionary support" dev-python/pyenchant
|
||||
optfeature "JavaScript support in preview" dev-python/PyQt6-WebEngine
|
||||
}
|
@ -0,0 +1,236 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
# Please bump with app-editors/vim and app-editors/gvim
|
||||
|
||||
VIM_VERSION="9.1"
|
||||
VIM_PATCHES_VERSION="9.0.2092"
|
||||
inherit bash-completion-r1 desktop flag-o-matic prefix toolchain-funcs vim-doc xdg-utils
|
||||
|
||||
if [[ ${PV} == 9999* ]] ; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://github.com/vim/vim.git"
|
||||
EGIT_CHECKOUT_DIR=${WORKDIR}/vim-${PV}
|
||||
else
|
||||
SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> vim-${PV}.tar.gz
|
||||
https://git.sr.ht/~xxc3nsoredxx/vim-patches/refs/download/vim-${VIM_PATCHES_VERSION}-patches/vim-${VIM_PATCHES_VERSION}-patches.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
|
||||
S="${WORKDIR}/vim-${PV}"
|
||||
|
||||
DESCRIPTION="vim and gvim shared files"
|
||||
HOMEPAGE="https://www.vim.org https://github.com/vim/vim"
|
||||
|
||||
LICENSE="vim"
|
||||
SLOT="0"
|
||||
IUSE="nls acl minimal"
|
||||
|
||||
# ncurses is only needed by ./configure, so no subslot operator required
|
||||
DEPEND=">=sys-libs/ncurses-5.2-r2:0"
|
||||
BDEPEND="dev-build/autoconf"
|
||||
|
||||
if [[ ${PV} != 9999* ]]; then
|
||||
# Gentoo patches to fix runtime issues, cross-compile errors, etc
|
||||
PATCHES=(
|
||||
"${WORKDIR}/vim-${VIM_PATCHES_VERSION}-patches"
|
||||
)
|
||||
fi
|
||||
|
||||
# platform-specific checks (bug #898406):
|
||||
# - acl() -- Solaris
|
||||
# - statacl() -- AIX
|
||||
QA_CONFIG_IMPL_DECL_SKIP=(
|
||||
'acl'
|
||||
'statacl'
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
# people with broken alphabets run into trouble. bug #82186.
|
||||
unset LANG LC_ALL
|
||||
export LC_COLLATE="C"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# Fixup a script to use awk instead of nawk
|
||||
sed -i \
|
||||
-e '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' \
|
||||
"${S}"/runtime/tools/mve.awk || die "sed failed"
|
||||
|
||||
# See bug #77841. We remove this file after the tarball extraction.
|
||||
rm -v "${S}"/runtime/tools/vimspell.sh || die "rm failed"
|
||||
|
||||
# Read vimrc and gvimrc from /etc/vim
|
||||
echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' >> "${S}"/src/feature.h || die
|
||||
echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' >> "${S}"/src/feature.h || die
|
||||
|
||||
# Use exuberant ctags which installs as /usr/bin/exuberant-ctags.
|
||||
# Hopefully this pattern won't break for a while at least.
|
||||
# This fixes bug #29398 (27 Sep 2003 agriffis)
|
||||
sed -i 's/\<ctags\("\| [-*.]\)/exuberant-&/g' \
|
||||
"${S}"/runtime/doc/syntax.txt \
|
||||
"${S}"/runtime/doc/tagsrch.txt \
|
||||
"${S}"/runtime/doc/usr_29.txt \
|
||||
"${S}"/runtime/menu.vim \
|
||||
"${S}"/src/configure.ac || die 'sed failed'
|
||||
|
||||
# gcc on sparc32 has this, uhm, interesting problem with detecting EOF
|
||||
# correctly. To avoid some really entertaining error messages about stuff
|
||||
# which isn't even in the source file being invalid, we'll do some trickery
|
||||
# to make the error never occur. bug 66162 (02 October 2004 ciaranm)
|
||||
find "${S}" -name '*.c' | while read c; do
|
||||
echo >> "$c" || die "echo failed"
|
||||
done
|
||||
|
||||
# Try to avoid sandbox problems. Bug #114475.
|
||||
if [[ -d "${S}"/src/po ]]; then
|
||||
sed -i -e \
|
||||
'/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
|
||||
"${S}"/src/po/Makefile || die "sed failed"
|
||||
fi
|
||||
|
||||
cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed"
|
||||
|
||||
# Fix bug #76331: -O3 causes problems, use -O2 instead. We'll do this for
|
||||
# everyone since previous flag filtering bugs have turned out to affect
|
||||
# multiple archs...
|
||||
replace-flags -O3 -O2
|
||||
|
||||
# Fix bug #18245: Prevent "make" from the following chain:
|
||||
# (1) Notice configure.ac is newer than auto/configure
|
||||
# (2) Rebuild auto/configure
|
||||
# (3) Notice auto/configure is newer than auto/config.mk
|
||||
# (4) Run ./configure (with wrong args) to remake auto/config.mk
|
||||
sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
|
||||
|
||||
# Remove src/auto/configure file.
|
||||
rm -v src/auto/configure || die "rm configure failed"
|
||||
|
||||
# bug 908961
|
||||
if use elibc_musl ; then
|
||||
sed -i -e '/ja.sjis/d' src/po/Make_all.mak || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# Fix bug #37354: Disallow -funroll-all-loops on amd64
|
||||
# Bug 57859 suggests that we want to do this for all archs
|
||||
filter-flags -funroll-all-loops
|
||||
|
||||
emake -j1 -C src autoconf
|
||||
|
||||
# This should fix a sandbox violation (see bug 24447). The hvc
|
||||
# things are for ppc64, see bug 86433.
|
||||
for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc*; do
|
||||
if [[ -e "${file}" ]]; then
|
||||
addwrite ${file}
|
||||
fi
|
||||
done
|
||||
|
||||
# Let Portage do the stripping. Some people like that.
|
||||
export ac_cv_prog_STRIP="$(type -P true ) faking strip"
|
||||
|
||||
local myconf=(
|
||||
--with-modified-by="Gentoo-${PVR} (RIP Bram)"
|
||||
--enable-gui=no
|
||||
--without-x
|
||||
--disable-darwin
|
||||
--disable-perlinterp
|
||||
--disable-pythoninterp
|
||||
--disable-rubyinterp
|
||||
--disable-gpm
|
||||
--disable-selinux
|
||||
$(use_enable nls)
|
||||
$(use_enable acl)
|
||||
)
|
||||
|
||||
# Keep Gentoo Prefix env contained within the EPREFIX
|
||||
use prefix && myconf+=( --without-local-dir )
|
||||
|
||||
if tc-is-cross-compiler ; then
|
||||
export vim_cv_getcwd_broken=no \
|
||||
vim_cv_memmove_handles_overlap=yes \
|
||||
vim_cv_stat_ignores_slash=yes \
|
||||
vim_cv_terminfo=yes \
|
||||
vim_cv_toupper_broken=no
|
||||
fi
|
||||
|
||||
econf "${myconf[@]}"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake -j1 -C src auto/osdef.h objects
|
||||
emake tools
|
||||
}
|
||||
|
||||
src_test() { :; }
|
||||
|
||||
src_install() {
|
||||
local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
|
||||
|
||||
dodir /usr/{bin,share/{man/man1,vim}}
|
||||
emake -C src \
|
||||
installruntime \
|
||||
installmanlinks \
|
||||
installmacros \
|
||||
installtutor \
|
||||
installtutorbin \
|
||||
installtools \
|
||||
install-languages \
|
||||
DESTDIR="${D}" \
|
||||
BINDIR="${EPREFIX}"/usr/bin \
|
||||
MANDIR="${EPREFIX}"/usr/share/man \
|
||||
DATADIR="${EPREFIX}"/usr/share
|
||||
|
||||
keepdir ${vimfiles}/keymap
|
||||
|
||||
# default vimrc is installed by vim-core since it applies to
|
||||
# both vim and gvim
|
||||
insinto /etc/vim/
|
||||
newins "${FILESDIR}"/vimrc-r6 vimrc
|
||||
eprefixify "${ED}"/etc/vim/vimrc
|
||||
|
||||
if use minimal; then
|
||||
# To save space, install only a subset of the files.
|
||||
# Helps minimalize the livecd, bug 65144.
|
||||
rm -rv "${ED}${vimfiles}"/{compiler,doc,ftplugin,indent} || die
|
||||
rm -rv "${ED}${vimfiles}"/{macros,print,tools,tutor} || die
|
||||
rm -v "${ED}"/usr/bin/vimtutor || die
|
||||
|
||||
for f in "${ED}${vimfiles}"/colors/*.vim; do
|
||||
if [[ ${f} != */@(default).vim ]] ; then
|
||||
printf '%s\0' "${f}"
|
||||
fi
|
||||
done | xargs -0 rm -f || die
|
||||
|
||||
for f in "${ED}${vimfiles}"/syntax/*.vim; do
|
||||
if [[ ${f} != */@(conf|crontab|fstab|inittab|resolv|sshdconfig|syntax|nosyntax|synload).vim ]] ; then
|
||||
printf '%s\0' "${f}"
|
||||
fi
|
||||
done | xargs -0 rm -f || die
|
||||
fi
|
||||
|
||||
newbashcomp "${FILESDIR}"/xxd-completion xxd
|
||||
|
||||
# install gvim icon since both vim/gvim desktop files reference it
|
||||
doicon -s scalable "${FILESDIR}"/gvim.svg
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
# update documentation tags (from vim-doc.eclass)
|
||||
update_vim_helptags
|
||||
|
||||
# update icon cache
|
||||
xdg_icon_cache_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
# Update documentation tags (from vim-doc.eclass)
|
||||
update_vim_helptags
|
||||
|
||||
# update icon cache
|
||||
xdg_icon_cache_update
|
||||
}
|
@ -0,0 +1,377 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
# Please bump with app-editors/vim-core and app-editors/gvim
|
||||
|
||||
VIM_VERSION="9.1"
|
||||
VIM_PATCHES_VERSION="9.0.2092"
|
||||
|
||||
LUA_COMPAT=( lua5-{1..4} luajit )
|
||||
PYTHON_COMPAT=( python3_{10..12} )
|
||||
PYTHON_REQ_USE="threads(+)"
|
||||
USE_RUBY="ruby31 ruby32"
|
||||
|
||||
inherit vim-doc flag-o-matic bash-completion-r1 lua-single python-single-r1 ruby-single toolchain-funcs desktop xdg-utils
|
||||
|
||||
if [[ ${PV} == 9999* ]] ; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://github.com/vim/vim.git"
|
||||
else
|
||||
SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> ${P}.tar.gz
|
||||
https://git.sr.ht/~xxc3nsoredxx/vim-patches/refs/download/vim-${VIM_PATCHES_VERSION}-patches/vim-${VIM_PATCHES_VERSION}-patches.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
|
||||
|
||||
DESCRIPTION="Vim, an improved vi-style text editor"
|
||||
HOMEPAGE="https://www.vim.org https://github.com/vim/vim"
|
||||
|
||||
LICENSE="vim"
|
||||
SLOT="0"
|
||||
IUSE="X acl crypt cscope debug gpm lua minimal nls perl python racket ruby selinux sound tcl terminal vim-pager"
|
||||
REQUIRED_USE="
|
||||
lua? ( ${LUA_REQUIRED_USE} )
|
||||
python? ( ${PYTHON_REQUIRED_USE} )
|
||||
vim-pager? ( !minimal )
|
||||
"
|
||||
|
||||
RDEPEND="
|
||||
>=app-eselect/eselect-vi-1.1
|
||||
>=sys-libs/ncurses-5.2-r2:0=
|
||||
nls? ( virtual/libintl )
|
||||
acl? ( kernel_linux? ( sys-apps/acl ) )
|
||||
crypt? ( dev-libs/libsodium:= )
|
||||
cscope? ( dev-util/cscope )
|
||||
gpm? ( >=sys-libs/gpm-1.19.3 )
|
||||
lua? ( ${LUA_DEPS}
|
||||
$(lua_gen_impl_dep 'deprecated' lua5-1)
|
||||
)
|
||||
~app-editors/vim-core-${PV}
|
||||
vim-pager? ( app-editors/vim-core[-minimal] )
|
||||
perl? ( dev-lang/perl:= )
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
racket? ( dev-scheme/racket )
|
||||
ruby? ( ${RUBY_DEPS} )
|
||||
selinux? ( sys-libs/libselinux )
|
||||
sound? ( media-libs/libcanberra )
|
||||
tcl? ( dev-lang/tcl:0= )
|
||||
X? ( x11-libs/libXt )
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
X? ( x11-base/xorg-proto )
|
||||
"
|
||||
# configure runs the Lua interpreter
|
||||
BDEPEND="
|
||||
dev-build/autoconf
|
||||
lua? ( ${LUA_DEPS} )
|
||||
nls? ( sys-devel/gettext )
|
||||
"
|
||||
PDEPEND="!minimal? ( app-vim/gentoo-syntax )"
|
||||
|
||||
if [[ ${PV} != 9999* ]]; then
|
||||
# Gentoo patches to fix runtime issues, cross-compile errors, etc
|
||||
PATCHES=(
|
||||
"${WORKDIR}/vim-${VIM_PATCHES_VERSION}-patches"
|
||||
)
|
||||
fi
|
||||
|
||||
# platform-specific checks (bug #898452):
|
||||
# - acl() -- Solaris
|
||||
# - statacl() -- AIX
|
||||
QA_CONFIG_IMPL_DECL_SKIP=(
|
||||
'acl'
|
||||
'statacl'
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
# people with broken alphabets run into trouble. bug #82186.
|
||||
unset LANG LC_ALL
|
||||
export LC_COLLATE="C"
|
||||
|
||||
use lua && lua-single_pkg_setup
|
||||
use python && python-single-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# Fixup a script to use awk instead of nawk
|
||||
sed -i -e \
|
||||
'1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' \
|
||||
"${S}"/runtime/tools/mve.awk || die "mve.awk sed failed"
|
||||
|
||||
# Read vimrc and gvimrc from /etc/vim
|
||||
echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' \
|
||||
>> "${S}"/src/feature.h || die "echo failed"
|
||||
echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' \
|
||||
>> "${S}"/src/feature.h || die "echo failed"
|
||||
|
||||
# Use exuberant ctags which installs as /usr/bin/exuberant-ctags.
|
||||
# Hopefully this pattern won't break for a while at least.
|
||||
# This fixes bug #29398 (27 Sep 2003 agriffis)
|
||||
sed -i -e \
|
||||
's/\<ctags\("\| [-*.]\)/exuberant-&/g' \
|
||||
"${S}"/runtime/doc/syntax.txt \
|
||||
"${S}"/runtime/doc/tagsrch.txt \
|
||||
"${S}"/runtime/doc/usr_29.txt \
|
||||
"${S}"/runtime/menu.vim \
|
||||
"${S}"/src/configure.ac || die 'sed failed'
|
||||
|
||||
# gcc on sparc32 has this, uhm, interesting problem with detecting EOF
|
||||
# correctly. To avoid some really entertaining error messages about stuff
|
||||
# which isn't even in the source file being invalid, we'll do some trickery
|
||||
# to make the error never occur. bug 66162 (02 October 2004 ciaranm)
|
||||
find "${S}" -name '*.c' | while read c; do
|
||||
echo >> "$c" || die "echo failed"
|
||||
done
|
||||
|
||||
# conditionally make the manpager.sh script
|
||||
if use vim-pager; then
|
||||
cat > "${S}"/runtime/macros/manpager.sh <<-_EOF_ || die "cat EOF failed"
|
||||
#!/bin/sh
|
||||
sed -e 's/\x1B\[[[:digit:]]\+m//g' | col -b | \\
|
||||
vim \\
|
||||
-c 'let no_plugin_maps = 1' \\
|
||||
-c 'set nolist nomod ft=man ts=8' \\
|
||||
-c 'let g:showmarks_enable=0' \\
|
||||
-c 'runtime! macros/less.vim' -
|
||||
_EOF_
|
||||
fi
|
||||
|
||||
# Try to avoid sandbox problems. Bug #114475.
|
||||
if [[ -d "${S}"/src/po ]]; then
|
||||
sed -i -e \
|
||||
'/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
|
||||
"${S}"/src/po/Makefile || die "sed failed"
|
||||
fi
|
||||
|
||||
cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed"
|
||||
|
||||
# Fix bug 18245: Prevent "make" from the following chain:
|
||||
# (1) Notice configure.ac is newer than auto/configure
|
||||
# (2) Rebuild auto/configure
|
||||
# (3) Notice auto/configure is newer than auto/config.mk
|
||||
# (4) Run ./configure (with wrong args) to remake auto/config.mk
|
||||
sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
|
||||
rm src/auto/configure || die "rm failed"
|
||||
|
||||
# bug 908961
|
||||
if use elibc_musl ; then
|
||||
sed -i -e '/ja.sjis/d' src/po/Make_all.mak || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
|
||||
# Fix bug #37354: Disallow -funroll-all-loops on amd64
|
||||
# Bug #57859 suggests that we want to do this for all archs
|
||||
filter-flags -funroll-all-loops
|
||||
|
||||
# Fix bug 76331: -O3 causes problems, use -O2 instead. We'll do this for
|
||||
# everyone since previous flag filtering bugs have turned out to affect
|
||||
# multiple archs...
|
||||
replace-flags -O3 -O2
|
||||
|
||||
emake -j1 -C src autoconf
|
||||
|
||||
# This should fix a sandbox violation (see bug #24447). The hvc
|
||||
# things are for ppc64, see bug #86433.
|
||||
for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc*; do
|
||||
if [[ -e "${file}" ]]; then
|
||||
addwrite ${file}
|
||||
fi
|
||||
done
|
||||
|
||||
local myconf=()
|
||||
if use minimal; then
|
||||
myconf=(
|
||||
--with-features=tiny
|
||||
--disable-nls
|
||||
--disable-canberra
|
||||
--disable-acl
|
||||
--enable-gui=no
|
||||
--without-x
|
||||
--disable-darwin
|
||||
--disable-luainterp
|
||||
--disable-perlinterp
|
||||
--disable-pythoninterp
|
||||
--disable-mzschemeinterp
|
||||
--disable-rubyinterp
|
||||
--disable-selinux
|
||||
--disable-tclinterp
|
||||
--disable-gpm
|
||||
)
|
||||
else
|
||||
use debug && append-flags "-DDEBUG"
|
||||
|
||||
myconf=(
|
||||
--with-features=huge
|
||||
$(use_enable sound canberra)
|
||||
$(use_enable acl)
|
||||
$(use_enable crypt libsodium)
|
||||
$(use_enable cscope)
|
||||
$(use_enable gpm)
|
||||
$(use_enable nls)
|
||||
$(use_enable perl perlinterp)
|
||||
$(use_enable python python3interp)
|
||||
$(use_with python python3-command "${PYTHON}")
|
||||
$(use_enable racket mzschemeinterp)
|
||||
$(use_enable ruby rubyinterp)
|
||||
$(use_enable selinux)
|
||||
$(use_enable tcl tclinterp)
|
||||
$(use_enable terminal)
|
||||
)
|
||||
|
||||
# --with-features=huge forces on cscope even if we --disable it. We need
|
||||
# to sed this out to avoid screwiness. (1 Sep 2004 ciaranm)
|
||||
if ! use cscope; then
|
||||
sed -i -e \
|
||||
'/# define FEAT_CSCOPE/d' src/feature.h || die "sed failed"
|
||||
fi
|
||||
|
||||
if use lua; then
|
||||
# -DLUA_COMPAT_OPENLIB=1 is required to enable the
|
||||
# deprecated (in 5.1) luaL_openlib API (#874690)
|
||||
use lua_single_target_lua5-1 && append-cppflags -DLUA_COMPAT_OPENLIB=1
|
||||
|
||||
myconf+=(
|
||||
--enable-luainterp
|
||||
$(use_with lua_single_target_luajit luajit)
|
||||
--with-lua-prefix="${EPREFIX}/usr"
|
||||
)
|
||||
fi
|
||||
|
||||
# don't test USE=X here ... see bug #19115
|
||||
# but need to provide a way to link against X ... see bug #20093
|
||||
myconf+=(
|
||||
--enable-gui=no
|
||||
--disable-darwin
|
||||
$(use_with X x)
|
||||
)
|
||||
fi
|
||||
|
||||
# let package manager strip binaries
|
||||
export ac_cv_prog_STRIP="$(type -P true ) faking strip"
|
||||
|
||||
# keep prefix env contained within the EPREFIX
|
||||
use prefix && myconf+=( --without-local-dir )
|
||||
|
||||
if tc-is-cross-compiler ; then
|
||||
export vim_cv_getcwd_broken=no \
|
||||
vim_cv_memmove_handles_overlap=yes \
|
||||
vim_cv_stat_ignores_slash=yes \
|
||||
vim_cv_terminfo=yes \
|
||||
vim_cv_toupper_broken=no
|
||||
fi
|
||||
|
||||
econf \
|
||||
--with-modified-by="Gentoo-${PVR} (RIP Bram)" \
|
||||
"${myconf[@]}"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# The following allows emake to be used
|
||||
emake -j1 -C src auto/osdef.h objects
|
||||
|
||||
emake
|
||||
}
|
||||
|
||||
src_test() {
|
||||
einfo
|
||||
einfo "Starting vim tests. Several error messages will be shown"
|
||||
einfo "while the tests run. This is normal behaviour and does not"
|
||||
einfo "indicate a fault."
|
||||
einfo
|
||||
ewarn "If the tests fail, your terminal may be left in a strange"
|
||||
ewarn "state. Usually, running 'reset' will fix this."
|
||||
einfo
|
||||
|
||||
# Don't let vim talk to X
|
||||
unset DISPLAY
|
||||
|
||||
# Arch and opensuse seem to do this and at this point, I'm willing
|
||||
# to try anything to avoid random test hangs!
|
||||
export TERM=xterm
|
||||
|
||||
# See https://github.com/vim/vim/blob/f08b0eb8691ff09f98bc4beef986ece1c521655f/src/testdir/runtest.vim#L5
|
||||
# for more information on test variables we can use.
|
||||
# Note that certain variables need vim-compatible regex (not PCRE), see e.g.
|
||||
# http://www.softpanorama.org/Editors/Vimorama/vim_regular_expressions.shtml.
|
||||
#
|
||||
# Skipped tests:
|
||||
# - Test_expand_star_star
|
||||
# Hangs because of a recursive symlink in /usr/include/nodejs (bug #616680)
|
||||
# - Test_exrc
|
||||
# Looks in wrong location? (bug #742710)
|
||||
# - Test_job_tty_in_out
|
||||
# Fragile and depends on TERM(?)
|
||||
# - Test_spelldump_bang
|
||||
# Hangs.
|
||||
# - Test_fuzzy_completion_env
|
||||
# Too sensitive to leaked environment variables.
|
||||
# - Test_term_mouse_multiple_clicks_to_select_mode
|
||||
# Hangs.
|
||||
# - Test_spelldump
|
||||
# Hangs.
|
||||
export TEST_SKIP_PAT='\(Test_expand_star_star\|Test_exrc\|Test_job_tty_in_out\|Test_spelldump_bang\|Test_fuzzy_completion_env\|Test_term_mouse_multiple_clicks_to_select_mode\|Test_spelldump\)'
|
||||
|
||||
emake -j1 -C src/testdir nongui
|
||||
}
|
||||
|
||||
# Call eselect vi update with --if-unset
|
||||
# to respect user's choice (bug #187449)
|
||||
eselect_vi_update() {
|
||||
ebegin "Calling eselect vi update"
|
||||
eselect vi update --if-unset
|
||||
eend $?
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
|
||||
|
||||
# Note: Do not install symlinks for 'vi', 'ex', or 'view', as these are
|
||||
# managed by eselect-vi
|
||||
dobin src/vim
|
||||
if ! use minimal ; then
|
||||
dosym vim /usr/bin/vimdiff
|
||||
fi
|
||||
dosym vim /usr/bin/rvim
|
||||
dosym vim /usr/bin/rview
|
||||
if use vim-pager ; then
|
||||
dosym ${vimfiles}/macros/less.sh /usr/bin/vimpager
|
||||
dosym ${vimfiles}/macros/manpager.sh /usr/bin/vimmanpager
|
||||
insinto ${vimfiles}/macros
|
||||
doins runtime/macros/manpager.sh
|
||||
fperms a+x ${vimfiles}/macros/manpager.sh
|
||||
fi
|
||||
|
||||
domenu runtime/vim.desktop
|
||||
|
||||
newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
|
||||
|
||||
# keep in sync with 'complete ... -F' list
|
||||
bashcomp_alias vim ex vi view rvim rview vimdiff
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
# Update documentation tags (from vim-doc.eclass)
|
||||
update_vim_helptags
|
||||
|
||||
# Call eselect vi update
|
||||
eselect_vi_update
|
||||
|
||||
# update desktop file mime cache
|
||||
xdg_desktop_database_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
# Update documentation tags (from vim-doc.eclass)
|
||||
update_vim_helptags
|
||||
|
||||
# Call eselect vi update
|
||||
eselect_vi_update
|
||||
|
||||
# update desktop file mime cache
|
||||
xdg_desktop_database_update
|
||||
}
|
Binary file not shown.
@ -1 +1,2 @@
|
||||
DIST fennel-mode-0.5.0.tar.gz 13995 BLAKE2B 6ccf73a172f28a06221be356c2c0a5ec25342c05b95b3d4cbaf65bb11a8d6a1ad3018e708c59de8aac1069b974a99c3bda57fd42765eebc015360706d53d6e72 SHA512 89dfbf2d70c36a3f1de69af9f2dad5ee93e1ec995470205962b6fd015e779ac8c81159a2d9fb532d14f5afe8485d8e18a82783388565eb1ff4646a714f5113e3
|
||||
DIST fennel-mode-0.9.1.tar.gz 13995 BLAKE2B 6ccf73a172f28a06221be356c2c0a5ec25342c05b95b3d4cbaf65bb11a8d6a1ad3018e708c59de8aac1069b974a99c3bda57fd42765eebc015360706d53d6e72 SHA512 89dfbf2d70c36a3f1de69af9f2dad5ee93e1ec995470205962b6fd015e779ac8c81159a2d9fb532d14f5afe8485d8e18a82783388565eb1ff4646a714f5113e3
|
||||
|
@ -0,0 +1,29 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
COMMIT=b3c52964eda7c0267f6e3f0ad6c690c3a1e89da1
|
||||
NEED_EMACS=26.1
|
||||
|
||||
inherit elisp
|
||||
|
||||
DESCRIPTION="Emacs support for the Fennel programming language"
|
||||
HOMEPAGE="https://git.sr.ht/~technomancy/fennel-mode/"
|
||||
SRC_URI="https://git.sr.ht/~technomancy/${PN}/archive/${COMMIT}.tar.gz
|
||||
-> ${P}.tar.gz"
|
||||
S="${WORKDIR}"/${PN}-${COMMIT}
|
||||
|
||||
LICENSE="GPL-3+"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
|
||||
DOCS=( Readme.md changelog.md )
|
||||
SITEFILE="50${PN}-gentoo.el"
|
||||
|
||||
src_install() {
|
||||
elisp_src_install
|
||||
|
||||
insinto "${SITEETC}"
|
||||
doins syntax.fnl
|
||||
}
|
@ -1 +1 @@
|
||||
DIST revive-2.24.el.xz 10028 BLAKE2B 4def70bce879e5efc42e6e7ce77353b86bd74c6c17b40c29add3af16af114b8c6f414b1a74758a4b5d856a6cf37590ec6fd4181ba5c95b176a36716bee9a810d SHA512 ce8b0860594420ae1270a5ec8b3d21b58f630206707d08e56aa3c22d1ad41b8b25cb96b1e5cff93cb44b250e687a6d8f96cf1cbf3d75bf5cfc2c2892d0ab8562
|
||||
DIST revive-2.25.el.xz 10056 BLAKE2B 5000ff409ec0cd20401f3c8f7140e5b2badbfa24774410146797c925ffbc51087e6a366fb6db068b88094d3302f50421338206fe3621e2df01469930772b979b SHA512 d2a2e39742723ef19abbe2e47863f437d9dcefcd2b853464ae44eba8a1c02c8b227869676ac2a4b71ffa582913315790fc966e8ba887ced71689fba8486c3a7d
|
||||
|
@ -1,2 +1,2 @@
|
||||
DIST vertico-1.6.tar.gz 47538 BLAKE2B 820e79562932dd947033b9225dc2d14d51e742ddf9582e065f6fb9e6c227bcacd153a8d283ae92e4315b389c84628aa96dfd770dd9bd3a7145cf70cf1f4a3f81 SHA512 4019236c8165a1d16d5c23732eb0926acb4ec6f8eabbca20c5379f25834296bda7a285bc023ac5168016aa20762317a2129257df06564d5627f5d717dcd00ef7
|
||||
DIST vertico-1.7.tar.gz 47534 BLAKE2B fa6caf0873b41402168e7259fd59119f7621437b381c44d251d36fd348a1616ab64e6fd309aeee7526a6699fa089255ffb4be56e814fd37b2537361c641762c0 SHA512 7dd2952bfc8fdf2f8609b9e95c172f32e3e7cf2388a058984b9c70940ab46cd5a945e701ee757cf64c4258e5bc92ae313d2fbbddc40e5d8df40908fedfea1e77
|
||||
DIST vertico-1.8.tar.gz 47935 BLAKE2B 38ab272d0afb87ee84a3f873fa51f036a6752ad64e06e2bd0d9c28901f3bf93192247afef5fb26e2caccf6cd3ecf043df4697172c1c66da4fb478fd4edaaaa4a SHA512 a5285da018937750a3012ad0b446f433e193258a05ece211d1341d2364a0f855276887bf326d81491752db8d620e3d7ac92d5c55a6347a16cc5f74c388891e24
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
@ -1,2 +1 @@
|
||||
DIST wanderlust-2.15.9_p20210629.tar.gz 1177023 BLAKE2B 7af02d833bfa7a2fdb52adc6ee25e43cb5b9ebd79c32685af033e3f24d3f1f9c758940b9fe7ade1295691a774e0530569b0f0567aae57a54d7da30e70f57eb93 SHA512 60cd4be070fde9f24f42ddc6ca5d5d290eddf2c0fa9b584eace50bc569f2ed3003be8f75f26a5ef8cffad4ed059118163bb4ea289d95ee58b445c4d8f34b487e
|
||||
DIST wanderlust-2.15.9_p20230624.tar.gz 1176186 BLAKE2B 5e2b1912aba7ac56642010ca3fe7c5f114e700263f5ea8ed105e731cb2c7d8b7087d7b0daa446d71fc30f2a3f620e863821bb68886855f2d6224784e41f05459 SHA512 4be27195e692e0b1d1dc8e1496ca3d3bb8bc35e114713c9ac5918f2849bf3a3d0f18d2e25d7ad4ab275284763ae23f753d303d3a6fb2785962dae27d7134f60f
|
||||
|
@ -1,57 +0,0 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit elisp
|
||||
|
||||
DESCRIPTION="Yet Another Message Interface on Emacsen"
|
||||
HOMEPAGE="https://github.com/wanderlust/wanderlust"
|
||||
GITHUB_SHA1="769699d60aa033049804083b459ee562b82db77e"
|
||||
SRC_URI="https://github.com/wanderlust/${PN}/archive/${GITHUB_SHA1}.tar.gz -> ${P}.tar.gz"
|
||||
S="${WORKDIR}/${PN}-${GITHUB_SHA1}"
|
||||
|
||||
LICENSE="GPL-2+"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 ~ia64 ppc ~ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos"
|
||||
IUSE="bbdb ssl l10n_ja"
|
||||
|
||||
RDEPEND=">=app-emacs/apel-10.8
|
||||
>=app-emacs/flim-1.14.9
|
||||
>=app-emacs/semi-1.14.7
|
||||
bbdb? ( app-emacs/bbdb )"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
SITEFILE="50${PN}-gentoo.el"
|
||||
|
||||
src_configure() {
|
||||
local lang="\"en\""
|
||||
use l10n_ja && lang="${lang} \"ja\""
|
||||
echo "(setq wl-info-lang '(${lang}) wl-news-lang '(${lang}))" >>WL-CFG
|
||||
use ssl && echo "(setq wl-install-utils t)" >>WL-CFG
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake
|
||||
emake info
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake \
|
||||
LISPDIR="${ED}${SITELISP}" \
|
||||
PIXMAPDIR="${ED}${SITEETC}/wl/icons" \
|
||||
install
|
||||
|
||||
elisp-site-file-install "${FILESDIR}/${SITEFILE}" wl
|
||||
|
||||
insinto "${SITEETC}/wl/samples/en"
|
||||
doins samples/en/*
|
||||
doinfo doc/wl*.info
|
||||
dodoc BUGS ChangeLog* INSTALL NEWS README.md
|
||||
|
||||
if use l10n_ja; then
|
||||
insinto "${SITEETC}/wl/samples/ja"
|
||||
doins samples/ja/*
|
||||
dodoc BUGS.ja INSTALL.ja NEWS.ja README.ja.md
|
||||
fi
|
||||
}
|
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue