parent
f0d8e68f08
commit
ee1a7fc88a
Binary file not shown.
Binary file not shown.
@ -0,0 +1,8 @@
|
||||
# Copyright 2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit acct-group
|
||||
|
||||
ACCT_GROUP_ID=11
|
@ -1,5 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<!-- maintainer-needed -->
|
||||
<maintainer type="project">
|
||||
<email>base-system@gentoo.org</email>
|
||||
</maintainer>
|
||||
</pkgmetadata>
|
Binary file not shown.
Binary file not shown.
@ -0,0 +1,90 @@
|
||||
https://github.com/tessus/apachetop/pull/13
|
||||
|
||||
From f89ae55bb09eb1a67fc73555d149fb85f82bfbd6 Mon Sep 17 00:00:00 2001
|
||||
From: Sam James <sam@gentoo.org>
|
||||
Date: Tue, 14 Feb 2023 03:34:36 +0000
|
||||
Subject: [PATCH] Fix C++17 compatibility (drop register keyword)
|
||||
|
||||
register doesn't do anything in any reasonable C++ compiler anyway, but
|
||||
it was deprecated in C++14 and removed in C++17. Without this, apachetop
|
||||
will fail to compile with Clang 16 which defaults to -std=c++17.
|
||||
|
||||
Bug: https://bugs.gentoo.org/894186
|
||||
--- a/src/inlines.cc
|
||||
+++ b/src/inlines.cc
|
||||
@@ -4,10 +4,10 @@
|
||||
#define ONE_EIGHTH 4
|
||||
#define HIGH_BITS (~((unsigned int)(~0) >> ONE_EIGHTH))
|
||||
|
||||
-inline unsigned int StringHash(register const char *str)
|
||||
+inline unsigned int StringHash(const char *str)
|
||||
{
|
||||
- register unsigned int val;
|
||||
- register unsigned int i;
|
||||
+ unsigned int val;
|
||||
+ unsigned int i;
|
||||
|
||||
for (val = 0; *str; str++)
|
||||
{
|
||||
@@ -19,9 +19,9 @@ inline unsigned int StringHash(register const char *str)
|
||||
return val;
|
||||
}
|
||||
|
||||
-inline unsigned int QuickHash(register const char *str)
|
||||
+inline unsigned int QuickHash(const char *str)
|
||||
{
|
||||
- register unsigned int val, tmp;
|
||||
+ unsigned int val, tmp;
|
||||
|
||||
for(val = 0 ; *str ; str++)
|
||||
{
|
||||
@@ -32,7 +32,7 @@ inline unsigned int QuickHash(register const char *str)
|
||||
return val;
|
||||
}
|
||||
|
||||
-inline unsigned long TTHash(register const char *str)
|
||||
+inline unsigned long TTHash(const char *str)
|
||||
{
|
||||
unsigned long hash = 5381;
|
||||
int c;
|
||||
--- a/src/ohtbl.cc
|
||||
+++ b/src/ohtbl.cc
|
||||
@@ -13,7 +13,7 @@ static int primes[] = {101, 241, 499, 1009, 2003, 3001, 4001, 5003,
|
||||
|
||||
int OAHash::getNextPrime(int size)
|
||||
{
|
||||
- register int *prime;
|
||||
+ int *prime;
|
||||
for (prime = &primes[0] ; *prime ; prime++)
|
||||
if (*prime > size)
|
||||
return *prime;
|
||||
@@ -51,7 +51,7 @@ void OAHash::destroy(void)
|
||||
|
||||
void *OAHash::insert(char *key, void *data)
|
||||
{
|
||||
- register unsigned int p, i;
|
||||
+ unsigned int p, i;
|
||||
void *d;
|
||||
|
||||
// Do not exceed the number of positions in the table.
|
||||
@@ -81,7 +81,7 @@ void *OAHash::insert(char *key, void *data)
|
||||
|
||||
int OAHash::remove(char *key)
|
||||
{
|
||||
- register unsigned int p, i;
|
||||
+ unsigned int p, i;
|
||||
|
||||
for (i = 0; i < positions; ++i)
|
||||
{
|
||||
@@ -108,7 +108,7 @@ int OAHash::remove(char *key)
|
||||
|
||||
void *OAHash::lookup(char *key)
|
||||
{
|
||||
- register unsigned int p, i;
|
||||
+ unsigned int p, i;
|
||||
|
||||
for (i = 0; i < positions; ++i)
|
||||
{
|
||||
--
|
||||
2.39.1
|
||||
|
@ -0,0 +1,53 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit autotools
|
||||
|
||||
DESCRIPTION="A library for changing configuration files"
|
||||
HOMEPAGE="http://augeas.net/"
|
||||
SRC_URI="https://github.com/hercules-team/augeas/releases/download/release-${PV}/${P}.tar.gz"
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
|
||||
IUSE="test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="
|
||||
dev-libs/libxml2
|
||||
sys-libs/readline:="
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND="
|
||||
>=app-doc/NaturalDocs-1.40
|
||||
virtual/pkgconfig
|
||||
test? ( dev-lang/ruby )
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-1.14.0-musl-strerror_r.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# selinux needs to be implemented
|
||||
econf --without-selinux
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
addpredict /usr/share/NaturalDocs/Config/Languages.txt
|
||||
addpredict /usr/share/NaturalDocs/Config/Topics.txt
|
||||
|
||||
default
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
|
||||
find "${ED}" -name '*.la' -delete || die
|
||||
}
|
@ -0,0 +1,22 @@
|
||||
https://github.com/hercules-team/augeas/pull/791
|
||||
|
||||
From 46ecd3542820604603ab4f046f9fb3e6195f60aa Mon Sep 17 00:00:00 2001
|
||||
From: Dimitry Andric <dimitry@andric.com>
|
||||
Date: Thu, 8 Dec 2022 13:08:53 +0100
|
||||
Subject: [PATCH] Only use GNU specific strerror_r() API when __GLIBC__ is
|
||||
defined.
|
||||
|
||||
--- a/src/internal.c
|
||||
+++ b/src/internal.c
|
||||
@@ -431,8 +431,8 @@ char *cleanpath(char *path) {
|
||||
|
||||
const char *xstrerror(int errnum, char *buf, size_t len) {
|
||||
#ifdef HAVE_STRERROR_R
|
||||
-# ifdef __USE_GNU
|
||||
- /* Annoying linux specific API contract */
|
||||
+# if defined(__USE_GNU) && defined(__GLIBC__)
|
||||
+ /* Annoying GNU specific API contract */
|
||||
return strerror_r(errnum, buf, len);
|
||||
# else
|
||||
strerror_r(errnum, buf, len);
|
||||
|
@ -1,6 +1,8 @@
|
||||
DIST awscli-exe-linux-aarch64-2.7.20.zip 46289081 BLAKE2B 1750e609bef53775e4bf66f1be78e2b05f763bde7677be99867ae89e252f1deb81dddf6011718ceafe1f97b53ac4871657f2644c478887eb4d021e14be400121 SHA512 f519aaaf2ebc3e163ae55abdb85b08dd49e148f902a06e671f582879790bdfa07e32f8d8e773ddeb95494aee3a38dc3fbdf91a93b14215f63e13ae87cdf3de4a
|
||||
DIST awscli-exe-linux-aarch64-2.7.24.zip 46460084 BLAKE2B c24cf41c888b1469a793354c9a97cec4273f6a762ec74b4079ab8626d0eddeb95dec5ef66270764a1c8d3b1525a5460e63009441ac83ef966b43f68efe41b00a SHA512 ee4201a193e393cf7fd1e9c473eaf41a1d7934e342035b931c3d69e985bc9e74434d31d0b46bf176c27c41d1b1000bbd487a514d62c8ccdf8d7c7e82c621d1f4
|
||||
DIST awscli-exe-linux-aarch64-2.7.28.zip 46543587 BLAKE2B aba4c360ed9ce37406f552db1df9ddd69b46b2f87a9c12c46a5026d9259202ce485a25f7cc1d768ab9c3caff3165e56f13529f3ccc1e65935e327b5980a16af5 SHA512 b126bf26c52e2ab32bf4b7f425527960fcf5a07f0e446aaf2fe0deced802419e12cc48f9c87e0cbe4fc01430264a48b1103a9b5ea5e871a811b8e8b8c8a691d6
|
||||
DIST awscli-exe-linux-aarch64-2.9.23.zip 47582887 BLAKE2B 3159308e20f54462c04c9e290fdbcc1d0433973fba36ba53fe7886f9ecd16eac0ecea6ac10a1f1cf49eb71c1ee704b84a6cdf18373fc94a1f9c648741ac5bcf0 SHA512 4f407c722c38a4f6adfda4e938f1039208774a897d62e9ccceb52f905a751a4dcb022342180d74fa39dd0cfd2af6787c550f8a214707b922d7bd135465074179
|
||||
DIST awscli-exe-linux-x86_64-2.7.20.zip 47092365 BLAKE2B 26320deb54f66043693aa40cd2fee2e110f2dbf1710278ce431781d49096860dacd906bd91a01160c69c484020cc1ca497954283213e85d42206ab2dba3f1c92 SHA512 6f5ab60fe3b59a7c8ad73e81b3d3003660736fe9da35e5e44b8d222a94cf195676a4802e8ea391bbefb9cbece77860148be1f616f32281d18726af126c7daa4b
|
||||
DIST awscli-exe-linux-x86_64-2.7.24.zip 47216162 BLAKE2B f99393a089bc495fc82d4f208f555bce144adf817b15c2995ad97493c16e18e38ee6cb77fb29c9225ff144193f878a7334ef90c318a5770d5c58b1f7e2209632 SHA512 2c25637fa421117aa3629ddfe8f9ead7ad3d7f04ead819b958e2b274621c858ea9e1ba2d9c111e63511ab75a1a7f0db275f653da2fef58dd5ee03274b1e7e8b7
|
||||
DIST awscli-exe-linux-x86_64-2.7.28.zip 47299458 BLAKE2B 3ac11104ad062ccf70fe697406a65cc08949f9b89784c5cf3f8e80c33629f5fde44853c35f8160f1f285405e576e65a73d9ba9a42b3e31a11120ee50cfccd83c SHA512 a86a2b73a11b74fa7a9b30095adaacacc7ea3a84136a9d5d63bcd776b98a6f6e005cb815fa34451cee85b55e6d1693a906bb8601a1ded3a5eff0416dd79bbc28
|
||||
DIST awscli-exe-linux-x86_64-2.9.23.zip 49149732 BLAKE2B 3a2500dc6edd2de1747e49b123de67606fa64c41da9f7e364899ae3d23c81d07105102b0afbc858a68a7db189448b171dfdb1ce6ca9ead8f4d607cc896cfcc68 SHA512 ca379e527e4e82b9970b257367f3a5eaf5c59612a2661a6802a9695b96ca16806369b549bfb3203542ebf2948ba3d59ed816f893db34c8ed950eeb9f52ac386a
|
||||
|
@ -0,0 +1,90 @@
|
||||
# Copyright 2022-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DESCRIPTION="command line interface for Amazon Web Services"
|
||||
HOMEPAGE="
|
||||
https://aws.amazon.com/cli/
|
||||
https://github.com/aws/aws-cli/
|
||||
"
|
||||
SRC_URI="
|
||||
amd64? ( https://awscli.amazonaws.com/awscli-exe-linux-x86_64-${PV}.zip )
|
||||
arm64? ( https://awscli.amazonaws.com/awscli-exe-linux-aarch64-${PV}.zip )
|
||||
"
|
||||
|
||||
LICENSE="
|
||||
Apache-2.0 MIT LGPL-2.1+ BSD GPL-2+-with-Pyinstaller-Bootloader-exception
|
||||
openssl PSF-2 BSD-2 GPL-3+ public-domain
|
||||
"
|
||||
SLOT="0"
|
||||
KEYWORDS="-* ~amd64 ~arm64"
|
||||
|
||||
RDEPEND="!app-admin/awscli
|
||||
sys-libs/glibc"
|
||||
BDEPEND="app-arch/unzip"
|
||||
|
||||
QA_PREBUILT="*"
|
||||
RESTRICT="strip"
|
||||
S="${WORKDIR}"
|
||||
|
||||
# This code is based on the install script in the upstream archive.
|
||||
|
||||
set_global_vars() {
|
||||
ROOT_INSTALL_DIR=/opt/aws-cli
|
||||
BIN_DIR=/usr/bin
|
||||
|
||||
EXE_NAME="aws"
|
||||
COMPLETER_EXE_NAME="aws_completer"
|
||||
INSTALLER_DIR="aws"
|
||||
INSTALLER_DIST_DIR="${INSTALLER_DIR}/dist"
|
||||
INSTALLER_EXE="${INSTALLER_DIST_DIR}/${EXE_NAME}"
|
||||
AWS_EXE_VERSION=${PV}
|
||||
|
||||
INSTALL_DIR="${ROOT_INSTALL_DIR}/v2/${AWS_EXE_VERSION}"
|
||||
# INSTALL_DIR="${INSTALL_DIR}"
|
||||
INSTALL_DIST_DIR="${INSTALL_DIR}/dist"
|
||||
INSTALL_BIN_DIR="${INSTALL_DIR}/bin"
|
||||
INSTALL_AWS_EXE="${INSTALL_BIN_DIR}/${EXE_NAME}"
|
||||
INSTALL_AWS_COMPLETER_EXE="${INSTALL_BIN_DIR}/${COMPLETER_EXE_NAME}"
|
||||
|
||||
CURRENT_INSTALL_DIR="${ROOT_INSTALL_DIR}/v2/current"
|
||||
CURRENT_AWS_EXE="${CURRENT_INSTALL_DIR}/bin/${EXE_NAME}"
|
||||
CURRENT_AWS_COMPLETER_EXE="${CURRENT_INSTALL_DIR}/bin/${COMPLETER_EXE_NAME}"
|
||||
|
||||
BIN_AWS_EXE="${BIN_DIR}/${EXE_NAME}"
|
||||
BIN_AWS_COMPLETER_EXE="${BIN_DIR}/${COMPLETER_EXE_NAME}"
|
||||
}
|
||||
|
||||
create_install_dir() {
|
||||
dodir "${INSTALL_DIR}"
|
||||
setup_install_dist
|
||||
setup_install_bin
|
||||
create_current_symlink
|
||||
}
|
||||
|
||||
setup_install_dist() {
|
||||
cp -r "${INSTALLER_DIST_DIR}" "${D}/${INSTALL_DIST_DIR}" || die
|
||||
}
|
||||
|
||||
setup_install_bin() {
|
||||
dodir "${INSTALL_BIN_DIR}"
|
||||
dosym "../dist/${EXE_NAME}" "${INSTALL_AWS_EXE}"
|
||||
dosym "../dist/${COMPLETER_EXE_NAME}" "${INSTALL_AWS_COMPLETER_EXE}"
|
||||
}
|
||||
|
||||
create_current_symlink() {
|
||||
dosym "${AWS_EXE_VERSION}" "${CURRENT_INSTALL_DIR}"
|
||||
}
|
||||
|
||||
create_bin_symlinks() {
|
||||
dodir "${BIN_DIR}"
|
||||
dosym -r "${CURRENT_AWS_EXE}" "${BIN_AWS_EXE}"
|
||||
dosym -r "${CURRENT_AWS_COMPLETER_EXE}" "${BIN_AWS_COMPLETER_EXE}"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
set_global_vars
|
||||
create_install_dir
|
||||
create_bin_symlinks
|
||||
}
|
@ -1,8 +1,4 @@
|
||||
DIST aws-cli-1.27.54.gh.tar.gz 2349811 BLAKE2B 08cb317ea4621273644c39c1152e1a3f8bd9f52ed8c30d7c37dfea9e986ca1597fda1dfbdea8c4043fa783f061609d6f24895997e9f9a3f27d5677c0f9e6c3de SHA512 af4783eef3c1c666b8b3c6d20f1c0177db6d4ce01645b092770cba535dad95609b4bece366355ce6d6a505ac7ab5a2e390d64fb84d6c00e402f9f8ab88db91d9
|
||||
DIST aws-cli-1.27.59.gh.tar.gz 2360458 BLAKE2B e60117e41cf95d442db333cf49c146e4ed02247007b8f46228799c5dee8c486aec34b236c9a0a6d152d690ff86c34fd797a6f35227a6e443805cdfe1b1b30f00 SHA512 87b9aebe812415223285c09ab5a36de2b9c0da49775d1162a5b5d7489ad61c16ca5361b721bc9e4ec4ccc09306be24513f42d7263b315d6856be20fdf0779686
|
||||
DIST aws-cli-1.27.63.gh.tar.gz 2363224 BLAKE2B 4fe7971271d4359f9d29cdf4c028bd8d06a1a8188e6aef108c33d6b137bb2aee84f3655f3666381fdbf8166dd5ea071c564faac32fb0c06a461249385dbc503d SHA512 01c578f13c0f316c41bdf3bbc5e8532f01d0bfa108207899b8c56b990acdbf5b80d0ffbf1be944088f34e623494b1a1f6d52823d654c192b07133291e4bd7deb
|
||||
DIST aws-cli-1.27.64.gh.tar.gz 2363382 BLAKE2B fd0879e793aa5ee449ee535425976d11edb6f844f0385a630df82b62aa6db593c76ccab2b59b960b951859b88e2fd1d2db98f5f9f423b1de4dfed65c22eb131b SHA512 8966543936133e98a7ed27897b3978dbc71fde0728dff18e778cb17cf18b834c6abdc4cae13375f72280b1c3f4b43b33c3a08d4f3b99a2cefb74f27d1dd480a3
|
||||
DIST aws-cli-1.27.65.gh.tar.gz 2363808 BLAKE2B ded261ab17b81ff11332df6bf0442c4969848413dcb13c555c806f69c70ce806d62f2be17f445d67b0d6777f12cbf27ef1713478c1dc0ae6038bd368462369c5 SHA512 ff70b0cc0e3c4a4549329eb3e5e87fe9d09e01187ecb717c21a934f7e4a91e76f03334c6035b75e95d6ca4e348525681951b8ceaf3c11a379dfd35699ab2b493
|
||||
DIST aws-cli-1.27.66.gh.tar.gz 2363942 BLAKE2B c2e05b13f6070db4160eacbd829aedaf4d9bd2f50847fdf6c13c5f79d387dcfb07b1dcdc3034d5a2a999a5b554d7035b4204f3a56da91bad2ce88c84f10194c5 SHA512 f2bdded8e435f4d2b5c1ca08aaeeafba575d39d4de1d6966a3e2fbfd42234be9a1ab031e812b5a1e0c433607c350a90195d5c50a12b25d5ad9f9a7ca9dcd7bc1
|
||||
DIST aws-cli-1.27.67.gh.tar.gz 2364536 BLAKE2B bbd2a83b11d2762ce6a00530b5e2e1c04a44efbffde30d27b65af8f14c79d14e8e1313c4615a0aab10b46147683c9e836be4ea8b480826483be45b8b96e1ba2e SHA512 cf57ada246af9b0ccd5bb5f8e44e061f2b0e86ea0759dbc919ccce2360ee7e9c3c5adc2d1ea004a29f9d2087b22293570289c951886e42781dfc35359745fc31
|
||||
DIST aws-cli-1.27.68.gh.tar.gz 2364845 BLAKE2B c4f9ee02879965c88f6875c1cbfd502fbda87189d63cab84577b200f35b69d554619dd01f72292551ea8a20552db163f763c867b15f9986fcc3c86e9ee3f2ad5 SHA512 caf044d576eab3da93db59a8834b024d53c11bfe3fc58056ce44d9bdbdaff4f9b716564bcd35cb027771cce9889b1a6783e13a384f461369c477af283363b489
|
||||
DIST aws-cli-1.27.69.gh.tar.gz 2366011 BLAKE2B e2ac484bb6ead107d0deca6bad5b9ca4a014f129d1253528869c303d72d58f1e9d5329b6c3180ec53190e43711d999b7026764c0cf65786903dade2a5c135f88 SHA512 85d6d820918ab42ce39e3a90751726a8dbf691083f5d71834b61b8456f6c91e3cac7ead86448187a3853a26f9e75e2e1d7f2acd3a8de59a69ebc028a4692b9ac
|
||||
DIST aws-cli-1.27.70.gh.tar.gz 2366135 BLAKE2B f8feedc28ff2b94326ea81ef1c38779c709ca88033c6f36a31dd28659f9f7cfe2fe520dcf39c46534e5d91e48877e0901e212fc3316effe3e0dc5b0c4855c47d SHA512 faae6ea80047736d99d16cc652b43c4b34fe70822c3aa5a59c8c505a79bbc8b573c4b875f8551c934f20119f0ac2a4ea86a0d91614d5a3871b32a2ea0cc9139c
|
||||
|
@ -1,80 +0,0 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
PYTHON_COMPAT=( python3_{10..11} )
|
||||
|
||||
inherit bash-completion-r1 distutils-r1 multiprocessing
|
||||
|
||||
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.6.0[${PYTHON_USEDEP}]
|
||||
dev-python/pyyaml[${PYTHON_USEDEP}]
|
||||
!app-admin/awscli-bin
|
||||
"
|
||||
BDEPEND="
|
||||
test? (
|
||||
dev-python/pytest-forked[${PYTHON_USEDEP}]
|
||||
dev-python/pytest-xdist[${PYTHON_USEDEP}]
|
||||
)
|
||||
"
|
||||
|
||||
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 EPYTEST_DESELECT=(
|
||||
# TODO
|
||||
tests/functional/eks/test_kubeconfig.py::TestKubeconfigLoader::test_load_simple
|
||||
tests/unit/customizations/eks/test_update_kubeconfig.py::TestKubeconfigSelector::test_choose_env_only
|
||||
tests/unit/customizations/eks/test_update_kubeconfig.py::TestKubeconfigSelector::test_choose_existing
|
||||
tests/unit/customizations/eks/test_kubeconfig.py::TestKubeconfigValidator::test_valid
|
||||
)
|
||||
|
||||
# integration tests require AWS credentials and Internet access
|
||||
epytest tests/{functional,unit} -n "$(makeopts_jobs)" --forked
|
||||
}
|
||||
|
||||
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,80 +0,0 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
PYTHON_COMPAT=( python3_{10..11} )
|
||||
|
||||
inherit bash-completion-r1 distutils-r1 multiprocessing
|
||||
|
||||
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.6.0[${PYTHON_USEDEP}]
|
||||
dev-python/pyyaml[${PYTHON_USEDEP}]
|
||||
!app-admin/awscli-bin
|
||||
"
|
||||
BDEPEND="
|
||||
test? (
|
||||
dev-python/pytest-forked[${PYTHON_USEDEP}]
|
||||
dev-python/pytest-xdist[${PYTHON_USEDEP}]
|
||||
)
|
||||
"
|
||||
|
||||
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 EPYTEST_DESELECT=(
|
||||
# TODO
|
||||
tests/functional/eks/test_kubeconfig.py::TestKubeconfigLoader::test_load_simple
|
||||
tests/unit/customizations/eks/test_update_kubeconfig.py::TestKubeconfigSelector::test_choose_env_only
|
||||
tests/unit/customizations/eks/test_update_kubeconfig.py::TestKubeconfigSelector::test_choose_existing
|
||||
tests/unit/customizations/eks/test_kubeconfig.py::TestKubeconfigValidator::test_valid
|
||||
)
|
||||
|
||||
# integration tests require AWS credentials and Internet access
|
||||
epytest tests/{functional,unit} -n "$(makeopts_jobs)" --forked
|
||||
}
|
||||
|
||||
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,80 +0,0 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
PYTHON_COMPAT=( python3_{10..11} )
|
||||
|
||||
inherit bash-completion-r1 distutils-r1 multiprocessing
|
||||
|
||||
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.6.0[${PYTHON_USEDEP}]
|
||||
dev-python/pyyaml[${PYTHON_USEDEP}]
|
||||
!app-admin/awscli-bin
|
||||
"
|
||||
BDEPEND="
|
||||
test? (
|
||||
dev-python/pytest-forked[${PYTHON_USEDEP}]
|
||||
dev-python/pytest-xdist[${PYTHON_USEDEP}]
|
||||
)
|
||||
"
|
||||
|
||||
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 EPYTEST_DESELECT=(
|
||||
# TODO
|
||||
tests/functional/eks/test_kubeconfig.py::TestKubeconfigLoader::test_load_simple
|
||||
tests/unit/customizations/eks/test_update_kubeconfig.py::TestKubeconfigSelector::test_choose_env_only
|
||||
tests/unit/customizations/eks/test_update_kubeconfig.py::TestKubeconfigSelector::test_choose_existing
|
||||
tests/unit/customizations/eks/test_kubeconfig.py::TestKubeconfigValidator::test_valid
|
||||
)
|
||||
|
||||
# integration tests require AWS credentials and Internet access
|
||||
epytest tests/{functional,unit} -n "$(makeopts_jobs)" --forked
|
||||
}
|
||||
|
||||
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,80 +0,0 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
PYTHON_COMPAT=( python3_{10..11} )
|
||||
|
||||
inherit bash-completion-r1 distutils-r1 multiprocessing
|
||||
|
||||
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.6.0[${PYTHON_USEDEP}]
|
||||
dev-python/pyyaml[${PYTHON_USEDEP}]
|
||||
!app-admin/awscli-bin
|
||||
"
|
||||
BDEPEND="
|
||||
test? (
|
||||
dev-python/pytest-forked[${PYTHON_USEDEP}]
|
||||
dev-python/pytest-xdist[${PYTHON_USEDEP}]
|
||||
)
|
||||
"
|
||||
|
||||
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 EPYTEST_DESELECT=(
|
||||
# TODO
|
||||
tests/functional/eks/test_kubeconfig.py::TestKubeconfigLoader::test_load_simple
|
||||
tests/unit/customizations/eks/test_update_kubeconfig.py::TestKubeconfigSelector::test_choose_env_only
|
||||
tests/unit/customizations/eks/test_update_kubeconfig.py::TestKubeconfigSelector::test_choose_existing
|
||||
tests/unit/customizations/eks/test_kubeconfig.py::TestKubeconfigValidator::test_valid
|
||||
)
|
||||
|
||||
# integration tests require AWS credentials and Internet access
|
||||
epytest tests/{functional,unit} -n "$(makeopts_jobs)" --forked
|
||||
}
|
||||
|
||||
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,8 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>pinkbyte@gentoo.org</email>
|
||||
<name>Sergey Popov</name>
|
||||
</maintainer>
|
||||
<!-- maintainer-needed -->
|
||||
</pkgmetadata>
|
||||
|
@ -1,12 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>pinkbyte@gentoo.org</email>
|
||||
<name>Sergey Popov</name>
|
||||
</maintainer>
|
||||
<upstream>
|
||||
<remote-id type="google-code">logstalgia</remote-id>
|
||||
<remote-id type="github">acaudwell/Logstalgia</remote-id>
|
||||
</upstream>
|
||||
<!-- maintainer-needed -->
|
||||
<upstream>
|
||||
<remote-id type="google-code">logstalgia</remote-id>
|
||||
<remote-id type="github">acaudwell/Logstalgia</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
||||
|
@ -1,4 +1,4 @@
|
||||
DIST puppet-agent_7.20.0-1focal_amd64.deb 33766302 BLAKE2B 665f4d4d8c3b096ec5f270428d0b865dc10b77c51113f65f9e66ab6bb72c3b21a07acd9433f2cc1e4e05c0fb30a11884f0bfe7a5a8a9a1d882bdd049a5490b84 SHA512 91b7eef80bc5e288f8a59a52d41340d1bc921e0754151952a3921575787e4cec1f101039c75a01ca6e7e4a5512224922be0c5be7a676d92bb19d3de291a7ab8c
|
||||
DIST puppet-agent_7.20.0-1focal_arm64.deb 33547934 BLAKE2B 323d76ac12af0c97cf38b8a78454be89c900eebcc9b1517c716700badf8845c062d2c4eb2f633ed1b6ffc36cb42e7e16a3e4e815637e92c209bc6f3c40cfd525 SHA512 a04727c71cf241e352d14bcc09eb340199a7e42b18be574d822a793ff9d91ff1e1879d67724dbf2133a6a3842fa86ed45b048845c73a5669fab45dacea3e616a
|
||||
DIST puppet-agent_7.21.0-1focal_amd64.deb 32897404 BLAKE2B 5075c0c77ae2199a3743edcc7fda94802f7b845b37084a613547705a3dc403259908698036bad95e36d7ba18c8b165971d98b81b64e56e6b40f3360e00c4fc5b SHA512 cad621b9add8c7397c681684696b78d57c149b174a43830c3c45ea1679aba791005b634a64b48b3a9d276fb00d7e1ca8e2a73f6a02756d020914f507a35dc56a
|
||||
DIST puppet-agent_7.21.0-1focal_arm64.deb 32630670 BLAKE2B 634fed97c79ca3b317ee079366a262c898ef217236014dc683cf1c11e83f2fd74bc21c18ff5242ebd2a4b15b73852ed727976134f684e0d416ac0a3ee54221c3 SHA512 be6a0566db5b1ab72b8f53bdf061c0ad4fb93794d690c6ebe697c9eb5aae45b7838b266619c5c33f3c4499a7264fb083d3f2bbb1fbf70b73458c8aa24470e3c3
|
||||
DIST puppet-agent_7.23.0-1focal_amd64.deb 32923766 BLAKE2B eac170179de27e3c25af3115e45596e7c5190037926e7d3db163b208f401f2278d0c49d11688d25e04bbf859965be37b60f3e7ed15cfb96a5db0c652c501db2d SHA512 90cd6bde4c25fe72dd906ae515d58f56d3e6a7378fea300247854c2cbfb4f7a51adc78d98a68a7f90f7295eeee6a385bb0a1828cc9b809c5bd9ee7a2231777f8
|
||||
DIST puppet-agent_7.23.0-1focal_arm64.deb 32668574 BLAKE2B ff01899f7a6b0994eccd330dcc83ea51933e287ea4c1ce3ecdcee91e227c22256f4d4464c7d461d5023a1e6f4aac9868134fccf5dd84de2ba11de16c79be0d9f SHA512 7f3b0940d739410b2f4dd3b3ae852c9677c8db33fccee0db5291613f8b8602f8770c52eff3f577c81382be36044714b6737df8f8468a3481997cae52989fdeb8
|
||||
|
@ -1,3 +1,3 @@
|
||||
DIST puppet-5.5.22.tar.gz 2998132 BLAKE2B 8662c89190d0904fe44ffeca1cf9a9ddca40d57ba6fb2d1e644ca353ceb55b1ca3a91416f1eef2975233c9c4498784e7d7280c111ea0cc070870cadc69341d99 SHA512 5332b084a63bdf244672cc4751022c84a1cc50d3f394a13bdcbccf7fcf4ebea67953e88957f23046608bf25e9182548449be824c18289cb2bf1e3ed29b40dc58
|
||||
DIST puppet-7.20.0.tar.gz 2817232 BLAKE2B 479c4e162230371bd69509844fcd97d0d3392eb2e66578b38e6dc120dd3dd15804d73f70c1b29f1f3d9e57af539f82e605a86c9afff15e78ff48ddf482432c4d SHA512 6774bf03ad0ee80c0fd2cd8ebad60da56df7ed9818a526084fc2cf1ba2fecc81555fff200f5feef2b5d7a2275d90f44b24160de7221d682de470b511a7051f7f
|
||||
DIST puppet-7.21.0.tar.gz 2819997 BLAKE2B 96de8ceefeea12c51288e05af5d7b126811d23388492053b0d581856f11976f0492064eb89bc585ff7f455df537d5c04fb318814945a158d531d32efdd54ff02 SHA512 b0fbdf63391054d0496c67be963f98e3d85e3a1536e50d6a3f09d0c49110bb4c92bebdc38a48cd50e824e27268150cda0643c6df0edb01b3587f00a591645ee6
|
||||
DIST puppet-7.23.0.tar.gz 2820654 BLAKE2B c9e2b544400c7fa9e59dd1d40bf89d1444ee62664b11e7aafa30aecd5fd14aa217dfe0bc24795a951c5e04b04762adb0239f6d7289b431b8f2a040716e95c642 SHA512 a66ef2bdbe38741a176e825cf7cdf117616459548731d4f5482b49263b08dcb3550305e5f0e35d228f873b330b730b682c02d38b4243f5f8bb4a190ed0f60310
|
||||
|
@ -1 +1,2 @@
|
||||
DIST puppetdb-7.11.1.tar.gz 49075994 BLAKE2B deb1a031999f18988c44b1439670ebb370d654a7dd99f20f44cdce027fa48088eadc96adca4fc8efe298c4dcc9b62d0d607262d8a5de4d07de0f2405a0f05a36 SHA512 98238e61ae7798912e345d69ff321bd7236dea6d5230a1f9ae37c533993d29611890522dde085e18e83b87bccb5a53e49e4ad38b930bb09ce7e9f22d45776a60
|
||||
DIST puppetdb-7.12.1.tar.gz 49891988 BLAKE2B d5201d443d991fc04e1a7c67d3f4df693365435354447cb4c18fd8143aa032be9a1dc6845cb6da07add830e2eee8539eb43fb37c3f1790f4ef02dc882de76ab9 SHA512 a86e293505c25e9f15b9c1a768540683b271002e197860bd1e24fc3d3afc88f104eefe3df3e44e7baab2e8ad4953f729b992de934ade57edef00d95290c5f1d2
|
||||
|
@ -0,0 +1,90 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit systemd tmpfiles
|
||||
|
||||
DESCRIPTION="PuppetDB collects data generated by Puppet"
|
||||
HOMEPAGE="http://docs.puppetlabs.com/puppetdb/"
|
||||
SRC_URI="https://downloads.puppetlabs.com/${PN}/${P}.tar.gz"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE=""
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
|
||||
RDEPEND+=">=virtual/jdk-1.8.0"
|
||||
DEPEND+="acct-user/puppetdb
|
||||
acct-group/puppetdb"
|
||||
|
||||
src_prepare() {
|
||||
sed -i 's/sysconfig/conf\.d/g' ext/redhat/puppetdb.service || die
|
||||
sed -i 's/sysconfig/conf\.d/g' ext/bin/puppetdb || die
|
||||
sed -i 's/sysconfig/conf\.d/g' install.sh || die
|
||||
sed -i 's/var\/run/run/g' ext/puppetdb.tmpfiles.conf || die
|
||||
sed -i 's/var\/run/run/g' install.sh || die
|
||||
default
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
einfo "not compiling"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dodir /opt/puppetlabs/server/data/puppetdb
|
||||
insinto /opt/puppetlabs/server/apps/puppetdb
|
||||
insopts -m0744
|
||||
doins ext/ezbake-functions.sh
|
||||
insopts -m0644
|
||||
doins ext/ezbake.manifest
|
||||
doins puppetdb.jar
|
||||
insinto /etc/puppetlabs/puppetdb
|
||||
doins ext/config/logback.xml
|
||||
doins ext/config/bootstrap.cfg
|
||||
doins ext/config/request-logging.xml
|
||||
insinto /etc/puppetlabs/puppetdb/conf.d
|
||||
doins ext/config/conf.d/jetty.ini
|
||||
doins ext/config/conf.d/repl.ini
|
||||
doins ext/config/conf.d/database.ini
|
||||
doins ext/config/conf.d/config.ini
|
||||
doins ext/config/conf.d/auth.conf
|
||||
insopts -m0755
|
||||
insinto /opt/puppetlabs/server/apps/puppetdb/scripts
|
||||
doins install.sh
|
||||
insinto /opt/puppetlabs/server/apps/puppetdb/cli/apps
|
||||
doins ext/cli/foreground
|
||||
doins ext/cli/ssl-setup
|
||||
doins ext/cli/config-migration
|
||||
doins ext/cli/foreground
|
||||
doins ext/cli/anonymize
|
||||
doins ext/cli/reload
|
||||
doins ext/cli/start
|
||||
doins ext/cli/stop
|
||||
insinto /opt/puppetlabs/server/apps/puppetdb/bin
|
||||
doins ext/bin/puppetdb
|
||||
insopts -m0644
|
||||
dodir /opt/puppetlabs/server/bin
|
||||
dosym ../apps/puppetdb/bin/puppetdb /opt/puppetlabs/server/bin/puppetdb
|
||||
dodir /opt/puppetlabs/bin
|
||||
dosym ../server/apps/puppetdb/bin/puppetdb /opt/puppetlabs/bin/puppetdb
|
||||
dosym ../../opt/puppetlabs/server/apps/puppetdb/bin/puppetdb /usr/bin/puppetdb
|
||||
# init type tasks
|
||||
newconfd ext/default puppetdb
|
||||
systemd_dounit ext/redhat/puppetdb.service
|
||||
newtmpfiles ext/puppetdb.tmpfiles.conf puppetdb.conf
|
||||
newinitd "${FILESDIR}/puppetdb.initd-r2" puppetdb
|
||||
# misc
|
||||
insinto /etc/logrotate.d
|
||||
newins ext/puppetdb.logrotate.conf puppetdb
|
||||
fowners -R puppetdb:puppetdb /opt/puppetlabs/server/data/puppetdb
|
||||
fperms -R 770 /opt/puppetlabs/server/data/puppetdb
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
tmpfiles_process puppetdb.conf
|
||||
|
||||
elog "to install please run '/opt/puppetlabs/server/bin/puppetdb ssl-setup'"
|
||||
elog
|
||||
elog "to upgrade please run '/opt/puppetlabs/server/bin/puppetdb config-migration'"
|
||||
}
|
@ -1,2 +1,2 @@
|
||||
DIST puppetserver-7.9.2.tar.gz 59729859 BLAKE2B 15f9261ae81f280735080a75e083b4bbc5d4b9404bd52f02180173b6cab2ebfe20e38950dd6c94c5167478293056ac562994ff27a7ad955c69621c13ffa808e1 SHA512 0c047554e10ecf36d000c9f702b759e27b8168f1f2207d9b8e904c9579d8e37d8540327d898b0a9e1812ca3223aa15b7cf4da46d7a4247e5d4b8f1596f9d5f26
|
||||
DIST puppetserver-7.9.3.tar.gz 59951239 BLAKE2B 818eee0e7bd115e0b335b1e13d7b0016933190e95a3bf71ad2498f87097de4251a1e6e2f9dfb933a1ee49c981ae0adf74f9994ec0e36a4b77aad567ab00e1fdd SHA512 d2ce573bf15c0db7cb7a9fd0a35a8286acc77ca9b2eddfe0f2dd8549034793600c04973d9f8a72ab543282325f18795727e05a723b3a3b67b027b382ded3d3eb
|
||||
DIST puppetserver-7.9.5.tar.gz 59954391 BLAKE2B dd9c1c4bcac006ed711e9d29f2c1e96fbacbbb9f85a70e34e5b42909b20108b970bad58562acf2c3d60ed17c81144826ad4426357948f014b4ec3039f642a9d1 SHA512 c12df0d2778c3f768bf60ed4d9867eb976dc10671383f92ba63a06ad10c4552ec3109f42a9157816d2cd83481ee5cfad10c662812621b1afedf5eac25fbfe1b9
|
||||
|
@ -1,2 +1,3 @@
|
||||
DIST Rex-1.13.3.tar.gz 349550 BLAKE2B c2ccc2144e56761d33ed2b5d790febd49863639d2e3bba8028b7937b43eb51e7e59e9e99cb1d67f247b2dff8ef91aa04776afd6277ad8a2370f35d71e0b528dd SHA512 beab22aef8ba620b6e74847698eab99977844d2e9632812a9ae0e1ee303cbe4e5a6489000bd5209d76e42e3bb4bb799a90408ed6fb14e034f68132a4d37766dc
|
||||
DIST Rex-1.13.4.tar.gz 351011 BLAKE2B ec046b88f4443b03c05efbabb40900085293c61dab0ee9818a8c4d05be3cc0a1c1f53738b72cc245aaa2dfbcb00541f0e1e31b0c20f2464e9fc6586ed10707ef SHA512 27b76f4b527b42ea0b06dc1de05254dbd6e2fa3bc9a8a708af7557789ef22aec374a5d0585bf3ec4ee878a5387d51b881cf95855dbd05149b7b23929de12027d
|
||||
DIST Rex-1.14.0.tar.gz 353494 BLAKE2B 3943c56df99d3dd98cefbdc68644f1a34109e20e18aa6db61e617d1f5ece8cf9612b7b098dafff7df9435820791bd1476163e5b9e6d35ef20bd47506747ad849 SHA512 fa2ad4b71c9c7b9a352303626e7530fc7fd02b295908c6184680a2646b14553b037a264af932b9a9efd5f1019ded86f3c8857db9651d7a4d7d6cf153924ac3ad
|
||||
|
@ -0,0 +1,222 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
if [[ ${PV} == 9999 ]]; then
|
||||
GITHUB_USER=RexOps
|
||||
GITHUB_REPO=Rex
|
||||
EGIT_REPO_URI="https://github.com/${GITHUB_USER}/${GITHUB_REPO}.git"
|
||||
EGIT_BRANCH="master"
|
||||
EGIT_CHECKOUT_DIR="${WORKDIR}/${PN}-git"
|
||||
VCS_ECLASS="git-r3"
|
||||
else
|
||||
# This is intentional to stop perl-module.eclass doing magic things when it
|
||||
# shouldn't. Like making ${S} contain "Rex" when the git clone has "rex"
|
||||
# Also prevents perl-module.eclass provisioning SRC_URI
|
||||
DIST_AUTHOR=FERKI
|
||||
DIST_NAME=Rex
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
fi
|
||||
inherit bash-completion-r1 perl-module ${VCS_ECLASS}
|
||||
|
||||
DESCRIPTION="(R)?ex, the friendly automation framework"
|
||||
HOMEPAGE="https://metacpan.org/release/Rex https://www.rexify.org"
|
||||
|
||||
SLOT="0"
|
||||
IUSE="minimal test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
DZIL_DEPENDS="
|
||||
dev-perl/Dist-Zilla
|
||||
dev-perl/Dist-Zilla-Plugin-CheckExtraTests
|
||||
dev-perl/Dist-Zilla-Plugin-ContributorsFile
|
||||
dev-perl/Dist-Zilla-Plugin-Git
|
||||
dev-perl/Dist-Zilla-Plugin-Git-Contributors
|
||||
dev-perl/Dist-Zilla-Plugin-MakeMaker-Awesome
|
||||
dev-perl/Dist-Zilla-Plugin-Meta-Contributors
|
||||
dev-perl/Dist-Zilla-Plugin-MetaProvides-Package
|
||||
dev-perl/Dist-Zilla-Plugin-NextVersion-Semantic
|
||||
dev-perl/Dist-Zilla-Plugin-OSPrereqs
|
||||
dev-perl/Dist-Zilla-Plugin-OurPkgVersion
|
||||
dev-perl/Dist-Zilla-Plugin-Run
|
||||
dev-perl/Software-License
|
||||
"
|
||||
RDEPEND="
|
||||
!minimal? (
|
||||
dev-perl/DBI
|
||||
dev-perl/Expect
|
||||
dev-perl/IPC-Shareable
|
||||
dev-perl/XML-LibXML
|
||||
)
|
||||
virtual/perl-Carp
|
||||
virtual/perl-Data-Dumper
|
||||
dev-perl/Data-Validate-IP
|
||||
dev-perl/Devel-Caller
|
||||
dev-perl/Digest-HMAC
|
||||
virtual/perl-Digest-MD5
|
||||
virtual/perl-Exporter
|
||||
virtual/perl-File-Spec
|
||||
dev-perl/HTTP-Message
|
||||
dev-perl/Hash-Merge
|
||||
virtual/perl-IO
|
||||
dev-perl/IO-String
|
||||
dev-perl/IO-Tty
|
||||
dev-perl/JSON-MaybeXS
|
||||
virtual/perl-MIME-Base64
|
||||
dev-perl/Net-OpenSSH
|
||||
dev-perl/Net-SFTP-Foreign
|
||||
>=virtual/perl-Scalar-List-Utils-1.450.0
|
||||
dev-perl/Parallel-ForkManager
|
||||
dev-perl/Sort-Naturally
|
||||
dev-perl/String-Escape
|
||||
virtual/perl-Storable
|
||||
dev-perl/TermReadKey
|
||||
virtual/perl-Test-Simple
|
||||
dev-perl/Text-Glob
|
||||
virtual/perl-Text-Tabs+Wrap
|
||||
virtual/perl-Time-HiRes
|
||||
dev-perl/URI
|
||||
dev-perl/XML-Simple
|
||||
dev-perl/libwww-perl
|
||||
dev-perl/YAML
|
||||
virtual/perl-version
|
||||
"
|
||||
# NB: would add test? !minimal? Test-mysqld, but I can't get that to work
|
||||
BDEPEND="
|
||||
${RDEPEND}
|
||||
>=virtual/perl-CPAN-Meta-Requirements-2.120.620
|
||||
>=virtual/perl-ExtUtils-MakeMaker-7.110.100
|
||||
>=dev-perl/File-ShareDir-Install-0.60.0
|
||||
virtual/perl-Module-Metadata
|
||||
test? (
|
||||
!minimal? (
|
||||
dev-perl/File-LibMagic
|
||||
)
|
||||
virtual/perl-File-Temp
|
||||
dev-perl/Test-Exception
|
||||
dev-perl/Sub-Override
|
||||
dev-perl/Test-Deep
|
||||
dev-perl/Test-Output
|
||||
dev-perl/Test-UseAllModules
|
||||
virtual/perl-autodie
|
||||
)
|
||||
"
|
||||
|
||||
[[ ${PV} == 9999 ]] && BDEPEND+=" ${DZIL_DEPENDS}"
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == 9999 ]]; then
|
||||
"${VCS_ECLASS}"_src_unpack
|
||||
mkdir -p "${S}" || die "Can't make ${S}"
|
||||
else
|
||||
default
|
||||
fi
|
||||
}
|
||||
|
||||
dzil_src_prep() {
|
||||
einfo "Patching dist.ini"
|
||||
|
||||
# This block of sed invocations removes all plugins that aren't
|
||||
# useful for users to have on Gentoo, because all of them are
|
||||
# conditional and subjective style checks, which don't indicate
|
||||
# a real issue for users, and paying the price of their dependencies is undesired.
|
||||
|
||||
# The {N;d} trick adds the [n]ext line after the match to the pattern-space
|
||||
# so that the final [d]elete deletes the next line too. Can be expanded for each
|
||||
# line, ie: {N;N;N;d} deletes 3 lines after the match as well as the match.
|
||||
sed -e '/^\[Test::Kwalitee\]/d' \
|
||||
-e '/^\[PodSyntaxTests\]/d' \
|
||||
-e '/^Perl::Critic::Freenode =/d' \
|
||||
-e '/^Perl::Critic::TooMuchCode =/d' \
|
||||
-e '/^Test::Kwalitee =/d' \
|
||||
-e '/^Test::PerlTidy =/d' \
|
||||
-e '/^Test::Pod =/d' \
|
||||
-e '/^\[Test::CPAN::Changes\]/{N;d}' \
|
||||
-e '/^\[OptionalFeature/,/^$/d' \
|
||||
-e '/^\[Test::MinimumVersion\]/{N;d}' \
|
||||
-i dist.ini || die "Can't patch dist.ini"
|
||||
|
||||
# Removals/additions have to be tracked by git or dzil build fails
|
||||
# Spurious warning during src_prepare
|
||||
git rm -f xt/author/critic-progressive.t || die "Can't rm author/critic-progressive.t"
|
||||
# Spurious warning during src_prepare
|
||||
git rm -f xt/author/perltidy.t || die "Can't rm author/perltidy.t"
|
||||
}
|
||||
dzil_env_setup() {
|
||||
# NextRelease noise :(
|
||||
mkdir -p ~/.dzil/ || die "mkdir -p ~/.dzil/ failed"
|
||||
local user="$(whoami)"
|
||||
local host="$(hostname)"
|
||||
printf '[%%User]\nname = %s\nemail = %s' "${user}" "${user}@${host}" >> ~/.dzil/config.ini
|
||||
|
||||
}
|
||||
dzil_to_distdir() {
|
||||
local dzil_root dest has_missing modname dzil_version
|
||||
dzil_root="$1"
|
||||
dest="$2"
|
||||
|
||||
cd "${dzil_root}" || die "Can't enter git workdir '${dzil_root}'";
|
||||
|
||||
S="${dzil_root}" dzil_src_prep
|
||||
dzil_env_setup
|
||||
|
||||
dzil_version="$(dzil version)" || die "Error invoking 'dzil version'"
|
||||
einfo "Generating CPAN dist with ${dzil_version}"
|
||||
|
||||
has_missing=""
|
||||
|
||||
einfo "Checking dzil authordeps"
|
||||
while IFS= read -d $'\n' -r modname; do
|
||||
if [[ -z "${has_missing}" ]]; then
|
||||
has_missing=1
|
||||
eerror "'dzil authordeps' indicates missing build dependencies"
|
||||
eerror "These will prevent building, please report a bug"
|
||||
eerror "Missing:"
|
||||
fi
|
||||
eerror " ${modname}"
|
||||
done < <( dzil authordeps --missing --versions )
|
||||
|
||||
[[ -z "${has_missing}" ]] || die "Satisfy all missing authordeps first"
|
||||
|
||||
einfo "Checking dzil build deps"
|
||||
while IFS= read -d $'\n' -r modname; do
|
||||
if [[ -z "${has_missing}" ]]; then
|
||||
has_missing=1
|
||||
ewarn "'dzil listdeps' indicates missing build dependencies"
|
||||
ewarn "These may prevent building, please report a bug if they do"
|
||||
ewarn "Missing:"
|
||||
fi
|
||||
ewarn " ${modname}"
|
||||
done < <( dzil listdeps --missing --versions --author )
|
||||
|
||||
einfo "Generating release"
|
||||
dzil build --notgz --in "${dest}" || die "Unable to build CPAN dist in '${dest}'"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
if [[ ${PV} == 9999 ]]; then
|
||||
# Uses git sources in WORKDIR/rex-git
|
||||
# to generate a CPAN-style tree in ${S}
|
||||
# before letting perl-module.eclass do the rest
|
||||
dzil_to_distdir "${EGIT_CHECKOUT_DIR}" "${S}"
|
||||
fi
|
||||
cd "${S}" || die "Can't enter build dir"
|
||||
|
||||
# If you DIY installed Test::mysqld, but didn't patch
|
||||
# it to handle the fact on Gentoo, mysql_install_db is NOT in PATH
|
||||
# tests fail. So this test is patched out if mysql_install_db is not in PATH
|
||||
if perl_has_module "Test::mysqld" && ! type -P mysql_install_db >/dev/null; then
|
||||
perl_rm_files "t/db.t"
|
||||
fi
|
||||
perl-module_src_prepare
|
||||
}
|
||||
|
||||
src_install() {
|
||||
newbashcomp "share/${PN}-tab-completion.bash" "${PN}"
|
||||
|
||||
insinto /usr/share/zsh/site-functions
|
||||
newins "share/${PN}-tab-completion.zsh" "_${PN}"
|
||||
|
||||
perl-module_src_install
|
||||
}
|
@ -0,0 +1,44 @@
|
||||
From e3c750b98564bc66b50ae35e91f5222c441f8b75 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Maciej=20Bar=C4=87?= <xgqt@gentoo.org>
|
||||
Date: Wed, 16 Nov 2022 15:17:31 +0100
|
||||
Subject: [PATCH] configure.ac: remove bashisms
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
replace [[ ]] with test and == with =
|
||||
|
||||
Signed-off-by: Maciej Barć <xgqt@gentoo.org>
|
||||
---
|
||||
configure.ac | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 3a43681d72..6e66ec904b 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -1138,13 +1138,13 @@ AC_ARG_ENABLE(gnutls-tests,
|
||||
no) enable_gnutls_tests="no" ;;
|
||||
*) AC_MSG_ERROR(bad value ${enableval} for --enable-gnutls-tests) ;;
|
||||
esac],
|
||||
- [if [[ "$enable_gnutls" == "yes" ]]; then
|
||||
+ [if test "x$enable_gnutls" = "xyes"; then
|
||||
enable_gnutls_tests=yes
|
||||
else
|
||||
enable_gnutls_tests=no
|
||||
fi]
|
||||
)
|
||||
-if [[ "$enable_gnutls_tests" == "yes" ]] && [[ "$enable_gnutls" != "yes" ]]; then
|
||||
+if test "x$enable_gnutls_tests" = "xyes" && test "x$enable_gnutls" != "xyes"; then
|
||||
AC_MSG_WARN([gnutls-tests can not be enabled without gnutls support. Disabling gnutls tests...])
|
||||
enable_gnutls_tests="no"
|
||||
fi
|
||||
@@ -1852,7 +1852,7 @@ AC_ARG_ENABLE(imfile-tests,
|
||||
esac],
|
||||
[enable_imfile_tests=yes]
|
||||
)
|
||||
-if [[ "$enable_imfile_tests" == "yes" ]] && [[ "$enable_imfile" != "yes" ]]; then
|
||||
+if test "x$enable_imfile_tests" = "xyes" && test "x$enable_imfile" != "xyes"; then
|
||||
AC_MSG_WARN([imfile-tests can not be enabled without imfile support. Disabling imfile tests...])
|
||||
enable_imfile_tests="no"
|
||||
fi
|
@ -1,484 +0,0 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="7"
|
||||
PYTHON_COMPAT=( python3_9 )
|
||||
|
||||
inherit autotools linux-info python-any-r1 systemd
|
||||
|
||||
DESCRIPTION="An enhanced multi-threaded syslogd with database support and more"
|
||||
HOMEPAGE="https://www.rsyslog.com/"
|
||||
|
||||
if [[ ${PV} == "9999" ]]; then
|
||||
EGIT_REPO_URI="https://github.com/rsyslog/${PN}.git"
|
||||
|
||||
DOC_REPO_URI="https://github.com/rsyslog/${PN}-doc.git"
|
||||
|
||||
inherit git-r3
|
||||
else
|
||||
KEYWORDS="amd64 arm arm64 ~hppa x86"
|
||||
|
||||
SRC_URI="
|
||||
https://www.rsyslog.com/files/download/${PN}/${P}.tar.gz
|
||||
doc? ( https://www.rsyslog.com/files/download/${PN}/${PN}-doc-${PV}.tar.gz )
|
||||
"
|
||||
fi
|
||||
|
||||
LICENSE="GPL-3 LGPL-3 Apache-2.0"
|
||||
SLOT="0"
|
||||
|
||||
IUSE="clickhouse curl dbi debug doc elasticsearch +gcrypt gnutls imhttp"
|
||||
IUSE+=" impcap jemalloc kafka kerberos kubernetes mdblookup"
|
||||
IUSE+=" mongodb mysql normalize omhttp omhttpfs omudpspoof +openssl"
|
||||
IUSE+=" postgres rabbitmq redis relp rfc3195 rfc5424hmac snmp +ssl"
|
||||
IUSE+=" systemd test usertools +uuid xxhash zeromq"
|
||||
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
REQUIRED_USE="
|
||||
kubernetes? ( normalize )
|
||||
ssl? ( || ( gnutls openssl ) )
|
||||
"
|
||||
|
||||
BDEPEND=">=sys-devel/autoconf-archive-2015.02.24
|
||||
virtual/pkgconfig
|
||||
test? (
|
||||
jemalloc? ( <sys-libs/libfaketime-0.9.7 )
|
||||
!jemalloc? ( sys-libs/libfaketime )
|
||||
${PYTHON_DEPS}
|
||||
)"
|
||||
|
||||
RDEPEND="
|
||||
>=dev-libs/libfastjson-0.99.8:=
|
||||
>=dev-libs/libestr-0.1.9
|
||||
>=sys-libs/zlib-1.2.5
|
||||
curl? ( >=net-misc/curl-7.35.0 )
|
||||
dbi? ( >=dev-db/libdbi-0.8.3 )
|
||||
elasticsearch? ( >=net-misc/curl-7.35.0 )
|
||||
gcrypt? ( >=dev-libs/libgcrypt-1.5.3:= )
|
||||
imhttp? ( www-servers/civetweb )
|
||||
impcap? ( net-libs/libpcap )
|
||||
jemalloc? ( >=dev-libs/jemalloc-3.3.1:= )
|
||||
kafka? ( >=dev-libs/librdkafka-0.9.0.99:= )
|
||||
kerberos? ( virtual/krb5 )
|
||||
kubernetes? ( >=net-misc/curl-7.35.0 )
|
||||
mdblookup? ( dev-libs/libmaxminddb:= )
|
||||
mongodb? ( >=dev-libs/mongo-c-driver-1.1.10:= )
|
||||
mysql? ( dev-db/mysql-connector-c:= )
|
||||
normalize? (
|
||||
>=dev-libs/liblognorm-2.0.3:=
|
||||
)
|
||||
clickhouse? ( >=net-misc/curl-7.35.0 )
|
||||
omhttpfs? ( >=net-misc/curl-7.35.0 )
|
||||
omudpspoof? ( >=net-libs/libnet-1.1.6 )
|
||||
postgres? ( >=dev-db/postgresql-8.4.20:= )
|
||||
rabbitmq? ( >=net-libs/rabbitmq-c-0.3.0:= )
|
||||
redis? (
|
||||
>=dev-libs/hiredis-0.11.0:=
|
||||
dev-libs/libevent[threads]
|
||||
)
|
||||
relp? ( >=dev-libs/librelp-1.2.17:= )
|
||||
rfc3195? ( >=dev-libs/liblogging-1.0.1:=[rfc3195] )
|
||||
rfc5424hmac? (
|
||||
>=dev-libs/openssl-0.9.8y:0=
|
||||
)
|
||||
snmp? ( >=net-analyzer/net-snmp-5.7.2 )
|
||||
ssl? (
|
||||
gnutls? ( >=net-libs/gnutls-2.12.23:0= )
|
||||
openssl? (
|
||||
dev-libs/openssl:0=
|
||||
)
|
||||
)
|
||||
systemd? ( >=sys-apps/systemd-234 )
|
||||
uuid? ( sys-apps/util-linux:0= )
|
||||
xxhash? ( dev-libs/xxhash:= )
|
||||
zeromq? (
|
||||
>=net-libs/czmq-4:=[drafts]
|
||||
)"
|
||||
DEPEND="${RDEPEND}
|
||||
elibc_musl? ( sys-libs/queue-standalone )
|
||||
test? (
|
||||
>=dev-libs/liblogging-1.0.1[stdlog]
|
||||
)"
|
||||
|
||||
if [[ ${PV} == "9999" ]]; then
|
||||
BDEPEND+=" doc? ( >=dev-python/sphinx-1.1.3-r7 )"
|
||||
BDEPEND+=" >=sys-devel/flex-2.5.39-r1"
|
||||
BDEPEND+=" >=sys-devel/bison-2.4.3"
|
||||
BDEPEND+=" >=dev-python/docutils-0.12"
|
||||
fi
|
||||
|
||||
CONFIG_CHECK="~INOTIFY_USER"
|
||||
WARNING_INOTIFY_USER="CONFIG_INOTIFY_USER isn't set. Imfile module on this system will only support polling mode!"
|
||||
|
||||
pkg_setup() {
|
||||
use test && python-any-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == "9999" ]]; then
|
||||
git-r3_fetch
|
||||
git-r3_checkout
|
||||
else
|
||||
unpack ${P}.tar.gz
|
||||
fi
|
||||
|
||||
if use doc; then
|
||||
if [[ ${PV} == "9999" ]]; then
|
||||
local _EGIT_BRANCH=
|
||||
if [[ -n "${EGIT_BRANCH}" ]]; then
|
||||
# Cannot use rsyslog commits/branches for documentation repository
|
||||
_EGIT_BRANCH=${EGIT_BRANCH}
|
||||
unset EGIT_BRANCH
|
||||
fi
|
||||
|
||||
git-r3_fetch "${DOC_REPO_URI}"
|
||||
git-r3_checkout "${DOC_REPO_URI}" "${S}"/docs
|
||||
|
||||
if [[ -n "${_EGIT_BRANCH}" ]]; then
|
||||
# Restore previous EGIT_BRANCH information
|
||||
EGIT_BRANCH=${_EGIT_BRANCH}
|
||||
fi
|
||||
else
|
||||
cd "${S}" || die "Cannot change dir into '${S}'"
|
||||
mkdir docs || die "Failed to create docs directory"
|
||||
cd docs || die "Failed to change dir into '${S}/docs'"
|
||||
unpack ${PN}-doc-${PV}.tar.gz
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# https://github.com/rsyslog/rsyslog/issues/3626
|
||||
sed -i \
|
||||
-e '\|^#!/bin/bash$|a exit 77' \
|
||||
tests/mmkubernetes-cache-expir*.sh \
|
||||
|| die "Failed to disabled known test failure mmkubernetes-cache-expir*.sh"
|
||||
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# Maintainer notes:
|
||||
# * Guardtime support is missing because libgt isn't yet available
|
||||
# in portage.
|
||||
# * Hadoop's HDFS file system output module is currently not
|
||||
# supported in Gentoo because nobody is able to test it
|
||||
# (JAVA dependency).
|
||||
# * dev-libs/hiredis doesn't provide pkg-config (see #504614,
|
||||
# upstream PR 129 and 136) so we need to export HIREDIS_*
|
||||
# variables because rsyslog's build system depends on pkg-config.
|
||||
|
||||
if use redis; then
|
||||
export HIREDIS_LIBS="-L${EPREFIX}/usr/$(get_libdir) -lhiredis"
|
||||
export HIREDIS_CFLAGS="-I${EPREFIX}/usr/include"
|
||||
fi
|
||||
|
||||
local myeconfargs=(
|
||||
--disable-debug-symbols
|
||||
--disable-generate-man-pages
|
||||
--without-valgrind-testbench
|
||||
--disable-liblogging-stdlog
|
||||
$(use_enable test testbench)
|
||||
$(use_enable test libfaketime)
|
||||
$(use_enable test extended-tests)
|
||||
# Input Plugins without dependencies
|
||||
--enable-imbatchreport
|
||||
--enable-imdiag
|
||||
--enable-imfile
|
||||
--enable-improg
|
||||
--enable-impstats
|
||||
--enable-imptcp
|
||||
# Message Modificiation Plugins without dependencies
|
||||
--enable-mmanon
|
||||
--enable-mmaudit
|
||||
--enable-mmcount
|
||||
--enable-mmfields
|
||||
--enable-mmjsonparse
|
||||
--enable-mmpstrucdata
|
||||
--enable-mmrm1stspace
|
||||
--enable-mmsequence
|
||||
--enable-mmtaghostname
|
||||
--enable-mmutf8fix
|
||||
# Output Modification Plugins without dependencies
|
||||
--enable-mail
|
||||
--enable-omprog
|
||||
--enable-omruleset
|
||||
--enable-omstdout
|
||||
--enable-omuxsock
|
||||
# Misc
|
||||
--enable-fmhash
|
||||
$(use_enable xxhash fmhash-xxhash)
|
||||
--enable-pmaixforwardedfrom
|
||||
--enable-pmciscoios
|
||||
--enable-pmcisconames
|
||||
--enable-pmdb2diag
|
||||
--enable-pmlastmsg
|
||||
$(use_enable normalize pmnormalize)
|
||||
--enable-pmnull
|
||||
--enable-pmpanngfw
|
||||
--enable-pmsnare
|
||||
# DB
|
||||
$(use_enable dbi libdbi)
|
||||
$(use_enable mongodb ommongodb)
|
||||
$(use_enable mysql)
|
||||
$(use_enable postgres pgsql)
|
||||
$(use_enable redis omhiredis)
|
||||
# Debug
|
||||
$(use_enable debug)
|
||||
$(use_enable debug diagtools)
|
||||
$(use_enable debug valgrind)
|
||||
# Misc
|
||||
$(use_enable clickhouse)
|
||||
$(use_enable curl fmhttp)
|
||||
$(use_enable elasticsearch)
|
||||
$(use_enable gcrypt libgcrypt)
|
||||
$(use_enable imhttp)
|
||||
$(use_enable impcap)
|
||||
$(use_enable jemalloc)
|
||||
$(use_enable kafka imkafka)
|
||||
$(use_enable kafka omkafka)
|
||||
$(use_enable kerberos gssapi-krb5)
|
||||
$(use_enable kubernetes mmkubernetes)
|
||||
$(use_enable normalize mmnormalize)
|
||||
$(use_enable mdblookup mmdblookup)
|
||||
$(use_enable omhttp)
|
||||
$(use_enable omhttpfs)
|
||||
$(use_enable omudpspoof)
|
||||
$(use_enable rabbitmq omrabbitmq)
|
||||
$(use_enable relp)
|
||||
$(use_enable rfc3195)
|
||||
$(use_enable rfc5424hmac mmrfc5424addhmac)
|
||||
$(use_enable snmp)
|
||||
$(use_enable snmp mmsnmptrapd)
|
||||
$(use_enable gnutls)
|
||||
$(use_enable openssl)
|
||||
$(use_enable systemd imjournal)
|
||||
$(use_enable systemd omjournal)
|
||||
$(use_enable usertools)
|
||||
$(use_enable uuid)
|
||||
$(use_enable zeromq imczmq)
|
||||
$(use_enable zeromq omczmq)
|
||||
--with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
|
||||
)
|
||||
|
||||
econf "${myeconfargs[@]}"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
default
|
||||
|
||||
if use doc && [[ "${PV}" == "9999" ]]; then
|
||||
einfo "Building documentation ..."
|
||||
local doc_dir="${S}/docs"
|
||||
cd "${doc_dir}" || die "Cannot chdir into \"${doc_dir}\"!"
|
||||
sphinx-build -b html source build || die "Building documentation failed!"
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
local _has_increased_ulimit=
|
||||
|
||||
# Sometimes tests aren't executable (i.e. when added via patch)
|
||||
einfo "Adjusting permissions of test scripts ..."
|
||||
find "${S}"/tests -type f -name '*.sh' \! -perm -111 -exec chmod a+x '{}' \; || \
|
||||
die "Failed to adjust test scripts permission"
|
||||
|
||||
if ulimit -n 3072; then
|
||||
_has_increased_ulimit="true"
|
||||
fi
|
||||
|
||||
if ! emake --jobs 1 check; then
|
||||
eerror "Test suite failed! :("
|
||||
|
||||
if [[ -z "${_has_increased_ulimit}" ]]; then
|
||||
eerror "Probably because open file limit couldn't be set to 3072."
|
||||
fi
|
||||
|
||||
if has userpriv ${FEATURES}; then
|
||||
eerror "Please try to reproduce the test suite failure with FEATURES=-userpriv " \
|
||||
"before you submit a bug report."
|
||||
fi
|
||||
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local DOCS=(
|
||||
AUTHORS
|
||||
ChangeLog
|
||||
"${FILESDIR}"/README.gentoo
|
||||
)
|
||||
|
||||
use doc && local HTML_DOCS=( "${S}/docs/build/." )
|
||||
|
||||
default
|
||||
|
||||
newconfd "${FILESDIR}/${PN}.confd-r1" ${PN}
|
||||
newinitd "${FILESDIR}/${PN}.initd-r1" ${PN}
|
||||
|
||||
systemd_newunit "${FILESDIR}/${PN}.service" ${PN}.service
|
||||
|
||||
keepdir /var/empty/dev
|
||||
keepdir /var/spool/${PN}
|
||||
keepdir /etc/ssl/${PN}
|
||||
keepdir /etc/${PN}.d
|
||||
|
||||
insinto /etc
|
||||
newins "${FILESDIR}/${PN}.conf" ${PN}.conf
|
||||
|
||||
insinto /etc/rsyslog.d/
|
||||
newins "${FILESDIR}/50-default-r1.conf" 50-default.conf
|
||||
|
||||
insinto /etc/logrotate.d/
|
||||
newins "${FILESDIR}/${PN}-r1.logrotate" ${PN}
|
||||
|
||||
if use mysql; then
|
||||
insinto /usr/share/${PN}/scripts/mysql
|
||||
doins plugins/ommysql/createDB.sql
|
||||
fi
|
||||
|
||||
if use postgres; then
|
||||
insinto /usr/share/${PN}/scripts/pgsql
|
||||
doins plugins/ompgsql/createDB.sql
|
||||
fi
|
||||
|
||||
find "${ED}" -name '*.la' -delete || die
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
local advertise_readme=0
|
||||
|
||||
if [[ -z "${REPLACING_VERSIONS}" ]]; then
|
||||
# This is a new installation
|
||||
|
||||
advertise_readme=1
|
||||
|
||||
if use mysql || use postgres; then
|
||||
echo
|
||||
elog "Sample SQL scripts for MySQL & PostgreSQL have been installed to:"
|
||||
elog " /usr/share/doc/${PF}/scripts"
|
||||
fi
|
||||
|
||||
if use ssl; then
|
||||
echo
|
||||
elog "To create a default CA and certificates for your server and clients, run:"
|
||||
elog " emerge --config =${PF}"
|
||||
elog "on your logging server. You can run it several times,"
|
||||
elog "once for each logging client. The client certificates will be signed"
|
||||
elog "using the CA certificate generated during the first run."
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ ${advertise_readme} -gt 0 ]]; then
|
||||
# We need to show the README file location
|
||||
|
||||
echo ""
|
||||
elog "Please read"
|
||||
elog ""
|
||||
elog " ${EPREFIX}/usr/share/doc/${PF}/README.gentoo*"
|
||||
elog ""
|
||||
elog "for more details."
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_config() {
|
||||
if ! use ssl; then
|
||||
einfo "There is nothing to configure for rsyslog unless you"
|
||||
einfo "used USE=ssl to build it."
|
||||
return 0
|
||||
fi
|
||||
|
||||
if ! hash certtool &>/dev/null; then
|
||||
die "certtool not found! Is net-libs/gnutls[tools] is installed?"
|
||||
fi
|
||||
|
||||
# Make sure the certificates directory exists
|
||||
local CERTDIR="${EROOT}/etc/ssl/${PN}"
|
||||
if [[ ! -d "${CERTDIR}" ]]; then
|
||||
mkdir "${CERTDIR}" || die
|
||||
fi
|
||||
einfo "Your certificates will be stored in ${CERTDIR}"
|
||||
|
||||
# Create a default CA if needed
|
||||
if [[ ! -f "${CERTDIR}/${PN}_ca.cert.pem" ]]; then
|
||||
einfo "No CA key and certificate found in ${CERTDIR}, creating them for you..."
|
||||
certtool --generate-privkey \
|
||||
--outfile "${CERTDIR}/${PN}_ca.privkey.pem" || die
|
||||
chmod 400 "${CERTDIR}/${PN}_ca.privkey.pem"
|
||||
|
||||
cat > "${T}/${PF}.$$" <<- _EOF
|
||||
cn = Portage automated CA
|
||||
ca
|
||||
cert_signing_key
|
||||
expiration_days = 3650
|
||||
_EOF
|
||||
|
||||
certtool --generate-self-signed \
|
||||
--load-privkey "${CERTDIR}/${PN}_ca.privkey.pem" \
|
||||
--outfile "${CERTDIR}/${PN}_ca.cert.pem" \
|
||||
--template "${T}/${PF}.$$" || die
|
||||
chmod 400 "${CERTDIR}/${PN}_ca.privkey.pem"
|
||||
|
||||
# Create the server certificate
|
||||
echo
|
||||
einfon "Please type the Common Name of the SERVER you wish to create a certificate for: "
|
||||
read -r CN
|
||||
|
||||
einfo "Creating private key and certificate for server ${CN}..."
|
||||
certtool --generate-privkey \
|
||||
--outfile "${CERTDIR}/${PN}_${CN}.key.pem" || die
|
||||
chmod 400 "${CERTDIR}/${PN}_${CN}.key.pem"
|
||||
|
||||
cat > "${T}/${PF}.$$" <<- _EOF
|
||||
cn = ${CN}
|
||||
tls_www_server
|
||||
dns_name = ${CN}
|
||||
expiration_days = 3650
|
||||
_EOF
|
||||
|
||||
certtool --generate-certificate \
|
||||
--outfile "${CERTDIR}/${PN}_${CN}.cert.pem" \
|
||||
--load-privkey "${CERTDIR}/${PN}_${CN}.key.pem" \
|
||||
--load-ca-certificate "${CERTDIR}/${PN}_ca.cert.pem" \
|
||||
--load-ca-privkey "${CERTDIR}/${PN}_ca.privkey.pem" \
|
||||
--template "${T}/${PF}.$$" &>/dev/null
|
||||
chmod 400 "${CERTDIR}/${PN}_${CN}.cert.pem"
|
||||
|
||||
else
|
||||
einfo "Found existing ${CERTDIR}/${PN}_ca.cert.pem, skipping CA and SERVER creation."
|
||||
fi
|
||||
|
||||
# Create a client certificate
|
||||
echo
|
||||
einfon "Please type the Common Name of the CLIENT you wish to create a certificate for: "
|
||||
read -r CN
|
||||
|
||||
einfo "Creating private key and certificate for client ${CN}..."
|
||||
certtool --generate-privkey \
|
||||
--outfile "${CERTDIR}/${PN}_${CN}.key.pem" || die
|
||||
chmod 400 "${CERTDIR}/${PN}_${CN}.key.pem"
|
||||
|
||||
cat > "${T}/${PF}.$$" <<- _EOF
|
||||
cn = ${CN}
|
||||
tls_www_client
|
||||
dns_name = ${CN}
|
||||
expiration_days = 3650
|
||||
_EOF
|
||||
|
||||
certtool --generate-certificate \
|
||||
--outfile "${CERTDIR}/${PN}_${CN}.cert.pem" \
|
||||
--load-privkey "${CERTDIR}/${PN}_${CN}.key.pem" \
|
||||
--load-ca-certificate "${CERTDIR}/${PN}_ca.cert.pem" \
|
||||
--load-ca-privkey "${CERTDIR}/${PN}_ca.privkey.pem" \
|
||||
--template "${T}/${PF}.$$" || die
|
||||
chmod 400 "${CERTDIR}/${PN}_${CN}.cert.pem"
|
||||
|
||||
rm -f "${T}/${PF}.$$"
|
||||
|
||||
echo
|
||||
einfo "Here is the documentation on how to encrypt your log traffic:"
|
||||
einfo " https://www.rsyslog.com/doc/rsyslog_tls.html"
|
||||
}
|
Binary file not shown.
@ -0,0 +1 @@
|
||||
DIST dtrx-8.5.0.tar.gz 34061 BLAKE2B d8ecbd9f3594440656e40d811846dd302d271f189711176a406572871db69f98bb4fd81a76ebdce697faf8d56029f4dcf735d18795adf732809e6017a7395cf2 SHA512 0ef0c0c9c22d948f6a8ee801372605dae52f4f571a32bbaa180c2c1daab061d623119c91b745f6a86cd28d7d08cdb47029a4de38354bdb28c62acfab080cc0f1
|
@ -0,0 +1,57 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
PYTHON_COMPAT=( python3_{10..11} )
|
||||
|
||||
inherit distutils-r1 optfeature
|
||||
|
||||
DESCRIPTION="Do The Right eXtraction - extracts archives of different formats"
|
||||
HOMEPAGE="https://github.com/dtrx-py/dtrx/
|
||||
https://pypi.org/project/dtrx/"
|
||||
|
||||
if [[ ${PV} == *9999* ]] ; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://github.com/${PN}-py/${PN}.git"
|
||||
else
|
||||
SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.tar.gz"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
fi
|
||||
|
||||
LICENSE="GPL-3+"
|
||||
SLOT="0"
|
||||
|
||||
DOCS=( README.md )
|
||||
|
||||
src_prepare() {
|
||||
sed -i '/ *platform==/s|.*||' setup.cfg || die # bug #894148
|
||||
|
||||
distutils-r1_src_prepare
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
local supported_format
|
||||
local -a supported_formats=(
|
||||
arj
|
||||
bzip2
|
||||
cpio
|
||||
gzip
|
||||
lrzip
|
||||
lzip
|
||||
p7zip
|
||||
rpm
|
||||
unrar
|
||||
unzip
|
||||
xz-utils
|
||||
zip
|
||||
zstd
|
||||
)
|
||||
|
||||
for supported_format in ${supported_formats[@]}; do
|
||||
optfeature \
|
||||
"extraction of supported archives using ${supported_format}" \
|
||||
app-arch/${supported_format}
|
||||
done
|
||||
}
|
@ -0,0 +1,57 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
PYTHON_COMPAT=( python3_{10..11} )
|
||||
|
||||
inherit distutils-r1 optfeature
|
||||
|
||||
DESCRIPTION="Do The Right eXtraction - extracts archives of different formats"
|
||||
HOMEPAGE="https://github.com/dtrx-py/dtrx/
|
||||
https://pypi.org/project/dtrx/"
|
||||
|
||||
if [[ ${PV} == *9999* ]] ; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://github.com/${PN}-py/${PN}.git"
|
||||
else
|
||||
SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.tar.gz"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
fi
|
||||
|
||||
LICENSE="GPL-3+"
|
||||
SLOT="0"
|
||||
|
||||
DOCS=( README.md )
|
||||
|
||||
src_prepare() {
|
||||
sed -i '/ *platform==/s|.*||' setup.cfg || die # bug #894148
|
||||
|
||||
distutils-r1_src_prepare
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
local supported_format
|
||||
local -a supported_formats=(
|
||||
arj
|
||||
bzip2
|
||||
cpio
|
||||
gzip
|
||||
lrzip
|
||||
lzip
|
||||
p7zip
|
||||
rpm
|
||||
unrar
|
||||
unzip
|
||||
xz-utils
|
||||
zip
|
||||
zstd
|
||||
)
|
||||
|
||||
for supported_format in ${supported_formats[@]}; do
|
||||
optfeature \
|
||||
"extraction of supported archives using ${supported_format}" \
|
||||
app-arch/${supported_format}
|
||||
done
|
||||
}
|
@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>xgqt@gentoo.org</email>
|
||||
<name>Maciej Barć</name>
|
||||
</maintainer>
|
||||
<upstream>
|
||||
<bugs-to>https://github.com/dtrx-py/dtrx/issues/</bugs-to>
|
||||
<remote-id type="github">dtrx-py/dtrx</remote-id>
|
||||
<remote-id type="pypi">dtrx</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
Binary file not shown.
@ -1 +1,2 @@
|
||||
DIST backupninja-backupninja_upstream-1.2.1.tar.gz 186791 BLAKE2B 2e761b5538c77f359b2cc8b8c593589303f36b5b4d4d9f65457a1786cc671bdc57ad067c5bc7678fbe1afdd17406c3dedd641f2553213ec28186defd4b9d1fd4 SHA512 974276697f908cbf2203fd0cd3ebfe4f44c350714616d3a74191df4f9e101ce6d5f90cd2887dc06c5ed937ea19f9b72db28f5735255fae9d6db4faeaacee808c
|
||||
DIST backupninja-backupninja_upstream-1.2.2.tar.gz 187862 BLAKE2B cfc2c31a4e53179f9167874d1d5785a9dfdb4bc0e891ea353b5f5ff44dc5eb4f86358b210a96327de9701f7e6913f7afbf8fe104fea138f8006835e2bf04a7e6 SHA512 a11085998ff7342baa242e31a64ddc1d6e6cabd43572435b444ef0523ef8644ed9d362392bfb5c8ade06fbf046fecccf5c05ba2ae4345c65551dddcaa25a13a6
|
||||
|
@ -0,0 +1,21 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DESCRIPTION="lightweight, extensible meta-backup system"
|
||||
HOMEPAGE="https://0xacab.org/liberate/backupninja"
|
||||
SRC_URI="https://0xacab.org/liberate/backupninja/-/archive/backupninja_upstream/${PV}/backupninja-backupninja_upstream-${PV}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 x86"
|
||||
|
||||
RDEPEND="dev-util/dialog"
|
||||
DEPEND=""
|
||||
|
||||
S="${WORKDIR}/${PN}-${PN}_upstream-${PV}"
|
||||
|
||||
src_configure() {
|
||||
econf --localstatedir=/var #578614
|
||||
}
|
Binary file not shown.
@ -0,0 +1,45 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
MY_PV="k9ea2vqm"
|
||||
|
||||
DESCRIPTION="A Cross-Platform Benchmark for Android, iOS, Linux, MacOS and Windows"
|
||||
HOMEPAGE="https://www.geekbench.com/"
|
||||
SRC_URI="https://cdn.geekbench.com/${MY_PV}/Geekbench-${PV}-Linux.tar.gz"
|
||||
S="${WORKDIR}/Geekbench-${PV}-Linux"
|
||||
|
||||
KEYWORDS="-* ~amd64"
|
||||
LICENSE="geekbench"
|
||||
SLOT="6"
|
||||
|
||||
RESTRICT="bindist mirror"
|
||||
|
||||
QA_PREBUILT="
|
||||
opt/geekbench6/geekbench_avx
|
||||
opt/geekbench6/geekbench6
|
||||
opt/geekbench6/geekbench_x86_64
|
||||
"
|
||||
|
||||
pkg_nofetch() {
|
||||
elog "Please download ${A} from ${HOMEPAGE}/download/linux"
|
||||
elog "and place it in your DISTDIR directory."
|
||||
}
|
||||
|
||||
src_install() {
|
||||
exeinto /opt/geekbench6
|
||||
doexe geekbench_avx2 geekbench6 geekbench_x86_64
|
||||
|
||||
insinto /opt/geekbench6
|
||||
doins geekbench.plar geekbench-workload.plar
|
||||
|
||||
dodir /opt/bin
|
||||
dosym ../geekbench6/geekbench6 /opt/bin/geekbench6
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog "If you have purchased a commercial license, you can enter"
|
||||
elog "your email address and your license key with the following command:"
|
||||
elog "geekbench6 -r <email address> <license key>"
|
||||
}
|
Binary file not shown.
@ -1,21 +0,0 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
EGIT_REPO_URI="https://github.com/spotify/docker-gc.git"
|
||||
|
||||
inherit git-r3
|
||||
|
||||
DESCRIPTION="Docker garbage collection of containers and images"
|
||||
HOMEPAGE="https://github.com/spotify/docker-gc/"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
|
||||
RDEPEND="app-containers/docker"
|
||||
|
||||
src_install() {
|
||||
dosbin docker-gc
|
||||
dodoc README.md
|
||||
}
|
@ -1,8 +0,0 @@
|
||||
<?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">spotify/docker-gc</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
Binary file not shown.
@ -0,0 +1,38 @@
|
||||
From e408786075b9540f76783f5c3ce87f6d1ece13cf Mon Sep 17 00:00:00 2001
|
||||
From: Guillem Jover <guillem@hadrons.org>
|
||||
Date: Sun, 12 Feb 2023 23:55:09 +0100
|
||||
Subject: [PATCH] build: Fix version script linker support detection
|
||||
|
||||
When the linker uses --no-undefined-version either specified by the user
|
||||
or as the default behavior (such as with newer clang >= 16 releases), a missing symbol definition will cause a linker error if that symbol is
|
||||
listed in the version script.
|
||||
|
||||
|
||||
Bug: https://bugs.gentoo.org/894010
|
||||
Upstream issue: https://gitlab.freedesktop.org/libbsd/libmd/-/issues/1
|
||||
Upstream commit: https://gitlab.freedesktop.org/libbsd/libmd/-/commit/e408786075b9540f76783f5c3ce87f6d1ece13cf
|
||||
|
||||
---
|
||||
m4/libmd-linker.m4 | 6 +++++-
|
||||
1 file changed, 5 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/m4/libmd-linker.m4 b/m4/libmd-linker.m4
|
||||
index 7d1236a..3d6edcd 100644
|
||||
--- a/m4/libmd-linker.m4
|
||||
+++ b/m4/libmd-linker.m4
|
||||
@@ -8,7 +8,11 @@ AC_DEFUN([LIBMD_LINKER_VERSION_SCRIPT], [
|
||||
save_LDFLAGS=$LDFLAGS
|
||||
LDFLAGS="$LDFLAGS -Wl,--version-script=conftest.map"
|
||||
AC_LINK_IFELSE([
|
||||
- AC_LANG_PROGRAM([], [])
|
||||
+ AC_LANG_PROGRAM([[
|
||||
+extern int symbol(void);
|
||||
+int symbol(void) { return 0; }
|
||||
+]], [[
|
||||
+]])
|
||||
], [
|
||||
libmd_cv_version_script=yes
|
||||
], [
|
||||
--
|
||||
GitLab
|
||||
|
@ -1,27 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit autotools multilib-minimal git-r3
|
||||
|
||||
DESCRIPTION="Message Digest functions from BSD systems"
|
||||
HOMEPAGE="https://www.hadrons.org/software/libmd/"
|
||||
EGIT_REPO_URI="https://git.hadrons.org/git/libmd.git"
|
||||
|
||||
LICENSE="|| ( BSD BSD-2 ISC BEER-WARE public-domain )"
|
||||
SLOT="0"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
ECONF_SOURCE="${S}" econf
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
default
|
||||
find "${ED}" -type f -name "*.la" -delete || die
|
||||
}
|
@ -0,0 +1,45 @@
|
||||
https://gitlab.com/sequoia-pgp/sequoia-chameleon-gnupg/-/commit/447e4747089731f322589299d3ff6fd54e56aefb
|
||||
|
||||
From 447e4747089731f322589299d3ff6fd54e56aefb Mon Sep 17 00:00:00 2001
|
||||
From: Justus Winter <justus@sequoia-pgp.org>
|
||||
Date: Thu, 9 Feb 2023 10:44:26 +0100
|
||||
Subject: [PATCH] tests: Normalize underlines.
|
||||
|
||||
- GnuPG emits a header with underlines in key listings that changes
|
||||
with the length of GNUPGHOME. Now, since the state directories
|
||||
are created within TMPDIR, the length of both GNUPGHOME and the
|
||||
underline changes. Previously, we normalized GNUPGHOME, but we
|
||||
failed to normalize the underline.
|
||||
|
||||
- Fixes #8.
|
||||
--- a/tests/gpg.rs
|
||||
+++ b/tests/gpg.rs
|
||||
@@ -243,12 +243,24 @@ impl Output {
|
||||
}
|
||||
|
||||
/// Canonicalizes the paths in the output.
|
||||
+ ///
|
||||
+ /// This replaces `homedir` with `"/HOMEDIR"` and `experiment`
|
||||
+ /// with `"/EXPERIMENT"` in stdout and stderr, and normalizes the
|
||||
+ /// underline decorating `homedir` in key listings in stdout.
|
||||
fn canonicalize(mut self, homedir: &Path, experiment: &Path) -> Self {
|
||||
+ const DASHES: &str =
|
||||
+ "\n------------------------------------------------------------";
|
||||
+ let d = regex::bytes::Regex::new(
|
||||
+ &DASHES[..DASHES.len().min(homedir.to_str().unwrap().len() + 1)])
|
||||
+ .unwrap();
|
||||
let h = regex::bytes::Regex::new(homedir.to_str().unwrap()).unwrap();
|
||||
let e = regex::bytes::Regex::new(experiment.to_str().unwrap()).unwrap();
|
||||
self.stdout =
|
||||
- e.replace_all(&h.replace_all(&self.stdout, &b"/HOMEDIR"[..]),
|
||||
- &b"/EXPERIMENT"[..])
|
||||
+ e.replace_all(
|
||||
+ &h.replace_all(
|
||||
+ &d.replace_all(&self.stdout, &b"\n--------"[..]),
|
||||
+ &b"/HOMEDIR"[..]),
|
||||
+ &b"/EXPERIMENT"[..])
|
||||
.into();
|
||||
self.stderr =
|
||||
e.replace_all(&h.replace_all(&self.stderr, &b"/HOMEDIR"[..]),
|
||||
--
|
||||
GitLab
|
@ -0,0 +1,52 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit autotools flag-o-matic
|
||||
|
||||
DESCRIPTION="TrouSerS' support tools for the Trusted Platform Modules"
|
||||
HOMEPAGE="http://trousers.sourceforge.net"
|
||||
SRC_URI="mirror://sourceforge/trousers/${PN}/${P}.tar.gz"
|
||||
|
||||
LICENSE="CPL-1.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~m68k ~s390 ~x86"
|
||||
IUSE="nls pkcs11 debug"
|
||||
|
||||
DEPEND=">=app-crypt/trousers-0.3.15-r1
|
||||
dev-libs/openssl:0=
|
||||
pkcs11? ( dev-libs/opencryptoki )"
|
||||
RDEPEND="${DEPEND}"
|
||||
BDEPEND="nls? ( sys-devel/gettext )"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# upstream didn't generate the tarball correctly so we must bootstrap
|
||||
# ouselves
|
||||
mkdir -p po || die
|
||||
mkdir -p m4 || die
|
||||
cp -R po_/* po/ || die
|
||||
touch po/Makefile.in.in || die
|
||||
touch m4/Makefile.am || die
|
||||
|
||||
sed -i -r \
|
||||
-e '/CFLAGS/s/ -m64//' \
|
||||
configure.ac || die
|
||||
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
append-cppflags $(usex debug -DDEBUG -DNDEBUG)
|
||||
|
||||
econf \
|
||||
$(use_enable nls) \
|
||||
$(use pkcs11 || echo --disable-pkcs11-support)
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
find "${D}" -name '*.la' -delete || die
|
||||
}
|
@ -0,0 +1,69 @@
|
||||
https://bugs.gentoo.org/713444
|
||||
|
||||
From 2299eadf77ae7a7ec52148b6a8f4ea37e217eafa Mon Sep 17 00:00:00 2001
|
||||
From: Stijn Tintel <stijn@linux-ipv6.be>
|
||||
Date: Thu, 2 Feb 2023 01:06:15 +0200
|
||||
Subject: [PATCH] tspi: drop the use of getpwent_r
|
||||
|
||||
On systems with musl libc, libtspi.so is unusable due to the lack of
|
||||
getpwent_r. As there are multiple historical functions named getpwent_r
|
||||
that all behave differently, let's just play it safe and stop using it
|
||||
altogether.
|
||||
|
||||
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
|
||||
---
|
||||
src/tspi/ps/tspps.c | 16 ----------------
|
||||
1 file changed, 16 deletions(-)
|
||||
|
||||
diff --git a/src/tspi/ps/tspps.c b/src/tspi/ps/tspps.c
|
||||
index b5e83d0..ae7b3df 100644
|
||||
--- a/src/tspi/ps/tspps.c
|
||||
+++ b/src/tspi/ps/tspps.c
|
||||
@@ -51,9 +51,7 @@
|
||||
|
||||
static int user_ps_fd = -1;
|
||||
static MUTEX_DECLARE_INIT(user_ps_lock);
|
||||
-#if (defined (__FreeBSD__) || defined (__OpenBSD__))
|
||||
static MUTEX_DECLARE_INIT(user_ps_path);
|
||||
-#endif
|
||||
static struct flock fl;
|
||||
|
||||
|
||||
@@ -66,9 +64,6 @@ get_user_ps_path(char **file)
|
||||
TSS_RESULT result;
|
||||
char *file_name = NULL, *home_dir = NULL;
|
||||
struct passwd *pwp;
|
||||
-#if (defined (__linux) || defined (linux) || defined(__GLIBC__))
|
||||
- struct passwd pw;
|
||||
-#endif
|
||||
struct stat stat_buf;
|
||||
char buf[PASSWD_BUFSIZE];
|
||||
uid_t euid;
|
||||
@@ -96,16 +91,6 @@ get_user_ps_path(char **file)
|
||||
#else
|
||||
setpwent();
|
||||
while (1) {
|
||||
-#if (defined (__linux) || defined (linux) || defined(__GLIBC__))
|
||||
- rc = getpwent_r(&pw, buf, PASSWD_BUFSIZE, &pwp);
|
||||
- if (rc) {
|
||||
- LogDebugFn("USER PS: Error getting path to home directory: getpwent_r: %s",
|
||||
- strerror(rc));
|
||||
- endpwent();
|
||||
- return TSPERR(TSS_E_INTERNAL_ERROR);
|
||||
- }
|
||||
-
|
||||
-#elif (defined (__FreeBSD__) || defined (__OpenBSD__))
|
||||
if ((pwp = getpwent()) == NULL) {
|
||||
LogDebugFn("USER PS: Error getting path to home directory: getpwent: %s",
|
||||
strerror(rc));
|
||||
@@ -113,7 +98,6 @@ get_user_ps_path(char **file)
|
||||
MUTEX_UNLOCK(user_ps_path);
|
||||
return TSPERR(TSS_E_INTERNAL_ERROR);
|
||||
}
|
||||
-#endif
|
||||
if (euid == pwp->pw_uid) {
|
||||
home_dir = strdup(pwp->pw_dir);
|
||||
break;
|
||||
--
|
||||
2.39.1
|
||||
|
@ -0,0 +1,73 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit autotools linux-info readme.gentoo-r1 systemd udev
|
||||
|
||||
DESCRIPTION="An open-source TCG Software Stack (TSS) v1.1 implementation"
|
||||
HOMEPAGE="http://trousers.sf.net"
|
||||
SRC_URI="mirror://sourceforge/trousers/${PN}/${P}.tar.gz"
|
||||
|
||||
LICENSE="CPL-1.0 GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~x86"
|
||||
IUSE="doc selinux" # gtk
|
||||
|
||||
# gtk support presently does NOT compile.
|
||||
# gtk? ( >=x11-libs/gtk+-2 )
|
||||
|
||||
DEPEND="acct-group/tss
|
||||
acct-user/tss
|
||||
>=dev-libs/glib-2
|
||||
>=dev-libs/openssl-0.9.7:0=
|
||||
"
|
||||
RDEPEND="${DEPEND}
|
||||
selinux? ( sec-policy/selinux-tcsd )"
|
||||
BDEPEND="virtual/pkgconfig"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${PN}-0.3.13-nouseradd.patch"
|
||||
"${FILESDIR}/${PN}-0.3.14-Makefile.am-Mark-tddl.a-nodist.patch"
|
||||
"${FILESDIR}/${P}-tspi-drop-the-use-of-getpwent_r.patch"
|
||||
)
|
||||
|
||||
DOCS="AUTHORS ChangeLog NICETOHAVES README TODO"
|
||||
|
||||
DOC_CONTENTS="
|
||||
If you have problems starting tcsd, please check permissions and
|
||||
ownership on /dev/tpm* and ~tss/system.data
|
||||
"
|
||||
|
||||
CONFIG_CHECK="~TCG_TPM"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# econf --with-gui=$(usex gtk gtk openssl)
|
||||
econf --with-gui=openssl
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
find "${D}" -name '*.la' -delete || die
|
||||
|
||||
keepdir /var/lib/tpm
|
||||
use doc && dodoc doc/*
|
||||
newinitd "${FILESDIR}"/tcsd.initd tcsd
|
||||
systemd_dounit "${FILESDIR}"/tcsd.service
|
||||
udev_dorules "${FILESDIR}"/61-trousers.rules
|
||||
fowners tss:tss /var/lib/tpm
|
||||
readme.gentoo_create_doc
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
udev_reload
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
udev_reload
|
||||
}
|
@ -1,2 +1,2 @@
|
||||
DIST yubikey-manager-qt-1.2.2.tar.gz 17311287 BLAKE2B 115dbf18ce0bfd48a1b172153d9770a3bde754b1dbef55ee1ec9480128305b9fb0d52af23906a6f6040df71cc4d3d4be216615fc3807395f7e7be1615a5568da SHA512 dbac2d51b198ab15051790e080ad92aaef4b0d44596ad136115469e7bf038d6b56d1bfa78a69d1fda3644543f9762051767b8a1fd46a80f2f62ecf836f7df3d8
|
||||
DIST yubikey-manager-qt-1.2.4.tar.gz 17362256 BLAKE2B 5fd76f4ede59e8dc4ddec6c232fc35396962eb05937a453e7b7c8a93b88658c493750d31854b550f6ed3c7ab7e47df423f50bdd964b4145cf5178b8c00bbf044 SHA512 6b28aa3099b5158690f8f14271588adbfc4731a910eeece68b1ed6d1ef12dc2fb00debb91503748b87db9e482b8d68dab06c4476911c15880ad25652f47d4570
|
||||
DIST yubikey-manager-qt-1.2.5.tar.gz 17360184 BLAKE2B 3b9d41e80fe81fe3f394d66ab3c2c8dc986fae0df5f51f184186ce800177aec5f7708e9b03259b5f9f20530cba66e5a73355135dacb51481e1169f7129fd47bd SHA512 e204f393a939bdc8bdec481b1a401c3f99fc364706dc4efc7460286a9bb4e5aa51496a92015a4b328eb948084135e95bb30f3f043ed742293799b6650915d6a7
|
||||
|
Binary file not shown.
Binary file not shown.
@ -0,0 +1,376 @@
|
||||
# Copyright 1999-2023 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-4.tar.xz"
|
||||
|
||||
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 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 )
|
||||
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-6.6.2:0= )
|
||||
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 net-libs/webkit-gtk:4 )
|
||||
net-libs/webkit-gtk:=
|
||||
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"
|
||||
# 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}"
|
||||
PATCHES=("${WORKDIR}/patch")
|
||||
|
||||
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() {
|
||||
# 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
|
||||
|
||||
# move info dir to avoid collisions with the dir file generated by portage
|
||||
mv "${ED}"/usr/share/info/${EMACS_SUFFIX}/dir{,.orig} || die
|
||||
touch "${ED}"/usr/share/info/${EMACS_SUFFIX}/.keepinfodir
|
||||
docompress -x /usr/share/info/${EMACS_SUFFIX}/dir.orig
|
||||
|
||||
# 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 (setq Info-directory-list (prune-directory-list (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() {
|
||||
# move Info dir file to correct name
|
||||
if [[ -d ${ED}/usr/share/info ]]; then
|
||||
mv "${ED}"/usr/share/info/${EMACS_SUFFIX}/dir{.orig,} || die
|
||||
fi
|
||||
}
|
||||
|
||||
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
|
||||
}
|
@ -0,0 +1,439 @@
|
||||
# Copyright 1999-2023 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-5.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 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 )
|
||||
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-6.6.2:0= )
|
||||
xft? (
|
||||
media-libs/fontconfig
|
||||
media-libs/freetype
|
||||
x11-libs/libXft
|
||||
x11-libs/libXrender
|
||||
cairo? ( >=x11-libs/cairo-1.12.18[X] )
|
||||
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 net-libs/webkit-gtk:4 )
|
||||
net-libs/webkit-gtk:=
|
||||
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"
|
||||
|
||||
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() {
|
||||
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
|
||||
|
||||
# move info dir to avoid collisions with the dir file generated by portage
|
||||
mv "${ED}"/usr/share/info/${EMACS_SUFFIX}/dir{,.orig} || die
|
||||
touch "${ED}"/usr/share/info/${EMACS_SUFFIX}/.keepinfodir
|
||||
docompress -x /usr/share/info/${EMACS_SUFFIX}/dir.orig
|
||||
|
||||
# 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 (setq Info-directory-list (prune-directory-list (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() {
|
||||
# move Info dir file to correct name
|
||||
if [[ -d ${ED}/usr/share/info ]]; then
|
||||
mv "${ED}"/usr/share/info/${EMACS_SUFFIX}/dir{.orig,} || die
|
||||
fi
|
||||
}
|
||||
|
||||
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
|
||||
}
|
@ -0,0 +1,518 @@
|
||||
# Copyright 1999-2023 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-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-2.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 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 )
|
||||
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-6.6.2:0= )
|
||||
xft? (
|
||||
media-libs/fontconfig
|
||||
media-libs/freetype
|
||||
x11-libs/libXft
|
||||
x11-libs/libXrender
|
||||
cairo? ( >=x11-libs/cairo-1.12.18[X] )
|
||||
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 net-libs/webkit-gtk:4 )
|
||||
net-libs/webkit-gtk:=
|
||||
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"
|
||||
|
||||
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
|
||||
|
||||
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() {
|
||||
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: fails if bubblewrap (bwrap) is installed
|
||||
# "bwrap: setting up uid map: Permission denied"
|
||||
#
|
||||
# bytecomp-tests--dest-mountpoint
|
||||
%lisp/emacs-lisp/bytecomp-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
|
||||
|
||||
# move info dir to avoid collisions with the dir file generated by portage
|
||||
mv "${ED}"/usr/share/info/${EMACS_SUFFIX}/dir{,.orig} || die
|
||||
touch "${ED}"/usr/share/info/${EMACS_SUFFIX}/.keepinfodir
|
||||
docompress -x /usr/share/info/${EMACS_SUFFIX}/dir.orig
|
||||
|
||||
# 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 (setq Info-directory-list (prune-directory-list (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() {
|
||||
# move Info dir file to correct name
|
||||
if [[ -d ${ED}/usr/share/info ]]; then
|
||||
mv "${ED}"/usr/share/info/${EMACS_SUFFIX}/dir{.orig,} || die
|
||||
fi
|
||||
}
|
||||
|
||||
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
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue