Sync with portage [Thu Mar 9 09:38:31 MSK 2023].

master 2402
root 1 year ago
parent 7b88e2ec77
commit 9ebe86dd4f

Binary file not shown.

Binary file not shown.

@ -47,7 +47,7 @@ src_prepare() {
src_compile() {
# Uses removed 'register' keyword, bug #894180
append-flags -std=c++14
append-cxxflags -std=c++14
emake \
PREFIX="${EPREFIX}/usr" \

@ -0,0 +1,91 @@
https://bugs.gentoo.org/896106
https://github.com/festvox/flite/pull/90
From 56ef01e5a7cd8d8606b4ccd13b4366039269f9d7 Mon Sep 17 00:00:00 2001
From: matoro <matoro@users.noreply.github.com>
Date: Fri, 24 Feb 2023 14:25:16 -0500
Subject: [PATCH] Expose automated tests under "make check"
The following unit tests can be run automatically without specifying any
user-provided arguments:
hrg_test lex_test multi_thread nums_test regex_test token_test
Fix up the Makefiles to expose the ability to run these tests via "make
check" or "make test", since it is currently broken (exposed at the top
level, but missing the "test" target in testsuite/).
---
Makefile | 2 +-
testsuite/Makefile | 22 ++++++++++++----------
2 files changed, 13 insertions(+), 11 deletions(-)
diff --git a/Makefile b/Makefile
index 511f8cf..1b627b2 100644
--- a/Makefile
+++ b/Makefile
@@ -129,6 +129,6 @@ voices: ./bin/flite_cmu_us_awb ./bin/flite_cmu_us_rms ./bin/flite_cmu_us_rms
./bin/flite_cmu_us_rms -voicedump voices/cmu_us_rms.flitevox
./bin/flite_cmu_us_slt -voicedump voices/cmu_us_slt.flitevox
-test:
+check test:
@ $(MAKE) --no-print-directory -C testsuite test
diff --git a/testsuite/Makefile b/testsuite/Makefile
index b60e98a..275a3e8 100644
--- a/testsuite/Makefile
+++ b/testsuite/Makefile
@@ -49,15 +49,17 @@ SRCS = token_test_main.c hrg_test_main.c \
bin2ascii_main.c record_in_noise_main.c \
compare_wave_main.c rfc_main.c lpc_resynth_main.c \
by_word_main.c flite_test_main.c \
- dcoffset_wave_main.c tris1_main.c
+ dcoffset_wave_main.c tris1_main.c \
+ multi_thread_main.c
FC = us.flitecheck indic_hin.flitecheck indic_tam.flitecheck
-OTHERS = kal_test_main.c multi_thread_main.c
+OTHERS = kal_test_main.c
FILES = Makefile $(SRCS) $(DATAFILES) $(OTHERS) $(FC)
LOCAL_INCLUDES = -I$(TOP)/lang/usenglish
MAIN_EXECS = $(SRCS:_main.c=$(EXEEXT))
+AUTO_EXECS = hrg_test lex_test multi_thread nums_test regex_test token_test
lex_test_LIBS = -lflite_cmulex
nums_test_LIBS = -lflite_usenglish
utt_test_LIBS = -lflite_cmulex
@@ -65,6 +67,7 @@ lex_lookup_LIBS = -lflite_cmulex
ldom_time_LIBS = -L/home/awb/data/ldom/time_flite/flite/lib -lcmu_time_awb -lflite_usenglish -lflite_cmulex
flite_test_LIBS = -lflite_usenglish -lflite_cmulex
by_word_LIBS = -lflite_cmu_us_kal -lflite_usenglish -lflite_cmulex
+multi_thread_LIBS = -lflite_cmu_us_slt -lflite_cmulex -lflite_usenglish -lflite -lm -lasound -lgomp
#kal_test_LIBS = -lflite_cmu_us_kal -lflite_usenglish -lflite_cmulex \
# /home/awb/src/malloc/gmalloc.o
@@ -73,19 +76,18 @@ LOCAL_CLEAN = $(MAIN_EXECS)
include $(TOP)/config/common_make_rules
+multi_thread : CFLAGS += -fopenmp
+
MAIN_O = $(SRCS:%=%_main.o)
$(MAIN_O) : %_main.o : %_main.c
$(CC) $(CFLAGS) -o $@ $<
$(MAIN_EXECS) : %$(EXEEXT) : %_main.o $(FLITELIBS)
$(CC) $(CFLAGS) -o $@ $@_main.o $($(@:=_LIBS)) $(FLITELIBFLAGS) $(LDFLAGS)
-multi_thread: multi_thread_main.c
- gcc -fopenmp -o multi_thread multi_thread_main.c \
- $(CFLAGS) -I$(TOP)/include $(FLITELIBFLAGS) $(LDFLAGS) \
- -l flite_cmu_us_slt -lflite_cmulex -lflite_usenglish \
- -lflite -lm -lasound -lgomp
-do_thread_test: multi_thread
-# This shouldn't segfault
- export OMP_NUM_THREADS=100 && ./multi_thread
+check test: $(patsubst %, run_%, $(AUTO_EXECS))
+run_%: %
+ ./$<
+run_multi_thread: multi_thread
+ OMP_NUM_THREADS=100 ./$<

@ -1,4 +1,4 @@
# Copyright 1999-2022 Gentoo Authors
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@ -44,7 +44,9 @@ SRC_URI="https://github.com/festvox/flite/archive/v${PV}.tar.gz -> ${P}.tar.gz
LICENSE="BSD freetts public-domain regexp-UofT BSD-2"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~loong ppc ppc64 ~riscv sparc x86"
IUSE="alsa oss pulseaudio voices"
IUSE="alsa oss pulseaudio test voices"
RESTRICT="!test? ( test )"
REQUIRED_USE="test? ( alsa )"
DEPEND="
pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
@ -54,6 +56,7 @@ RDEPEND="${DEPEND}"
PATCHES=(
"${FILESDIR}"/${PN}-1.4-audio-interface.patch
"${FILESDIR}"/${PN}-2.2-backport-pr30.patch
)
get_audio() {

Binary file not shown.

@ -1,4 +1,2 @@
DIST ansible-lint-6.12.1.tar.gz 466371 BLAKE2B f43b3403c5d3db80d3ec3e3526cafc22bee68b31b5458e378a73bbec900de5411c597e9fc079a77cffc66a278a37bf0fc9ecfcaba3beccf74c6eecbe5b6148b9 SHA512 05c92c930d91419c212a9513aed5506c99e993acbce9437b6f8f3b95bd78ca5b0ff8e1a7d39f32907df72d858a2e4e6c74f47443c0f937b3644c7a18d1d59252
DIST ansible-lint-6.13.1.tar.gz 488778 BLAKE2B d58002e10105759c6a19e8f67cccf6914cfb058573f7873bb6092bc3367c5af9583de30478c65e0d3b9b4840ac8103d688e6dc63e49543199b82447eba12eca0 SHA512 c71b45f3a73dd782480ae9c4c38fef5741297706d60d07c524f5abfb3249c87950bf8ffccd782a85ee6a83c357b1a0fbf101c659c640d98365d508dfb0a513a3
DIST ansible-lint-6.8.2.gh.tar.gz 288616 BLAKE2B 4ae9c344d834a3d69a05689df296c7915e6eb7cb2a85b773f3adcc4efd898c3e1c9f32d8b1efda31afb7a5466d1966aa754cd5529c7dcfd6c1f45517d39e1750 SHA512 101be050772f6df827a697faa5ff9650c98959d9bd6e7a025a19c0ac94faa6b06e114b9122ae8f09f650be565b226189f4706ef8dd0f27548774664adccf3d18
DIST ansible-lint-6.9.1.gh.tar.gz 388343 BLAKE2B 73035bdbd6c1bdee5566d5dee5a8461953d99bbaf896d7a9764c32419e74c3d23883ac1a7548de3e21372195f99c325c371cead7397bf64d6d033d9a2f81ed01 SHA512 eaf255c53fb8355b06e7013f6676a09e2d7e67aa332306448f530c345925c80ff5ea54c580f7f6720a25ebed9e8deb4c0a8e4e22af4183e8a8ef7b6999be6099
DIST ansible-lint-6.14.1.tar.gz 472139 BLAKE2B 886a9e0f6b26fc5d78d48c8544106ba9b1af6dbca7b8214c1ca15ca12d1b1ea99ac2c2a6120496069f67f303ac165db00f86b87b397146becf5d084dfd1f1005 SHA512 6f267f1bcb6081726691e5618eddc37897238365455c4263aed0eb736d23c2cb0fd56adb9d1fe54248a2ea78c9e97c4ce374ac4baf17ccc904d602e5887a1204

@ -14,7 +14,7 @@ SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~riscv"
KEYWORDS="amd64 ~riscv"
# Upstream has stated explicitly that all tests require Internet access
PROPERTIES="test_network"

@ -3,14 +3,14 @@
EAPI=8
PYTHON_COMPAT=( python3_{10..11} )
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
PYTHON_COMPAT=( python3_{10..11} )
inherit distutils-r1
inherit distutils-r1 pypi
DESCRIPTION="Checks ansible playbooks for practices and behaviour that can be improved"
HOMEPAGE="https://github.com/ansible/ansible-lint"
SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"

@ -1,80 +0,0 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_10 )
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1
DESCRIPTION="Checks ansible playbooks for practices and behaviour that can be improved"
HOMEPAGE="https://github.com/ansible/ansible-lint"
# PyPI tarballs do not contain all the data files needed by the tests
SRC_URI="https://github.com/ansible/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="amd64 ~riscv"
RDEPEND="
>=app-admin/ansible-core-2.12.0[${PYTHON_USEDEP}]
>=dev-python/ansible-compat-2.2.0[${PYTHON_USEDEP}]
dev-python/black[${PYTHON_USEDEP}]
>=dev-python/enrich-1.2.6[${PYTHON_USEDEP}]
dev-python/filelock[${PYTHON_USEDEP}]
>=dev-python/jsonschema-4.9.0[${PYTHON_USEDEP}]
dev-python/packaging[${PYTHON_USEDEP}]
dev-python/pyyaml[${PYTHON_USEDEP}]
>=dev-python/rich-9.5.1[${PYTHON_USEDEP}]
>=dev-python/ruamel-yaml-0.15.37[${PYTHON_USEDEP}]
>=dev-python/wcmatch-7.0[${PYTHON_USEDEP}]
>=dev-util/yamllint-1.25.0[${PYTHON_USEDEP}]"
BDEPEND="
>=dev-python/setuptools-scm-3.5.0[${PYTHON_USEDEP}]
>=dev-python/setuptools_scm_git_archive-1.0[${PYTHON_USEDEP}]
test? (
>=dev-python/flaky-3.7.0[${PYTHON_USEDEP}]
>=dev-python/pytest-plus-0.2[${PYTHON_USEDEP}]
>=dev-python/pytest-xdist-2.5.0[${PYTHON_USEDEP}]
)"
PATCHES=(
"${FILESDIR}"/${PN}-6.8.1_test-module-check.patch
)
# Skip problematic tests:
# - test_rules_id_format has been giving an internal error since 6.5.4 or so (TODO: follow this up with upstream)
# - test_call_from_outside_venv doesn't play nicely with the sandbox
# - all the others require Internet access, mostly in order to access Ansible Galaxy
EPYTEST_DESELECT=(
test/test_cli_role_paths.py::test_run_playbook_github
test/test_eco.py
test/test_examples.py::test_custom_kinds
test/test_import_playbook.py::test_task_hook_import_playbook
test/test_list_rules.py::test_list_rules_includes_opt_in_rules
test/test_list_rules.py::test_list_rules_with_format_option
test/test_list_rules.py::test_list_tags_includes_opt_in_rules
test/test_main.py::test_call_from_outside_venv
test/test_prerun.py::test_install_collection
test/test_prerun.py::test_prerun_reqs_v1
test/test_prerun.py::test_prerun_reqs_v2
test/test_prerun.py::test_require_collection_wrong_version
test/test_profiles.py::test_profile_listing
test/test_rules_collection.py::test_rich_rule_listing
test/test_rules_collection.py::test_rules_id_format
test/test_skip_inside_yaml.py::test_role_meta
test/test_utils.py::test_cli_auto_detect
test/test_utils.py::test_template_lookup
test/test_verbosity.py::test_default_verbosity
)
distutils_enable_tests pytest
python_test() {
# Since 6.2.1, without this the test suite still gets confused by the presence of ansible-lint modules
# in both ${ED} and ${S}.
cd "${S}" || die
epytest test
}

@ -1,80 +0,0 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{10..11} )
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1
DESCRIPTION="Checks ansible playbooks for practices and behaviour that can be improved"
HOMEPAGE="https://github.com/ansible/ansible-lint"
SRC_URI="https://github.com/ansible/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="amd64 ~riscv"
RDEPEND="
>=app-admin/ansible-core-2.12.0[${PYTHON_USEDEP}]
>=dev-python/ansible-compat-2.2.5[${PYTHON_USEDEP}]
>=dev-python/black-22.8.0[${PYTHON_USEDEP}]
>=dev-python/filelock-3.8.0[${PYTHON_USEDEP}]
>=dev-python/jsonschema-4.17.0[${PYTHON_USEDEP}]
>=dev-python/packaging-21.3[${PYTHON_USEDEP}]
>=dev-python/pyyaml-5.4.1[${PYTHON_USEDEP}]
>=dev-python/rich-12.0.0[${PYTHON_USEDEP}]
>=dev-python/ruamel-yaml-0.17.21[${PYTHON_USEDEP}]
>=dev-python/wcmatch-8.3.2[${PYTHON_USEDEP}]
>=dev-util/yamllint-1.26.3[${PYTHON_USEDEP}]"
BDEPEND="
>=dev-python/setuptools-scm-3.5.0[${PYTHON_USEDEP}]
>=dev-python/setuptools_scm_git_archive-1.0[${PYTHON_USEDEP}]
test? (
>=dev-python/flaky-3.7.0[${PYTHON_USEDEP}]
dev-python/pytest-mock[${PYTHON_USEDEP}]
>=dev-python/pytest-plus-0.2[${PYTHON_USEDEP}]
>=dev-python/pytest-xdist-2.5.0[${PYTHON_USEDEP}]
)"
PATCHES=(
"${FILESDIR}"/${PN}-6.8.6_test-module-check.patch
)
# Skip problematic tests:
# - test_rules_id_format has been giving an internal error since 6.5.4 or so (TODO: follow this up with upstream)
# - test_call_from_outside_venv doesn't play nicely with the sandbox
# - all the others require Internet access, mostly in order to access Ansible Galaxy
EPYTEST_DESELECT=(
test/test_ansiblesyntax.py::test_null_tasks
test/test_cli_role_paths.py::test_run_playbook_github
test/test_eco.py
test/test_examples.py::test_custom_kinds
test/test_examples.py::test_example
test/test_file_path_evaluation.py
test/test_import_playbook.py::test_task_hook_import_playbook
test/test_list_rules.py::test_list_rules_includes_opt_in_rules
test/test_list_rules.py::test_list_rules_with_format_option
test/test_list_rules.py::test_list_tags_includes_opt_in_rules
test/test_main.py::test_call_from_outside_venv
test/test_prerun.py::test_install_collection
test/test_prerun.py::test_prerun_reqs_v1
test/test_prerun.py::test_prerun_reqs_v2
test/test_prerun.py::test_require_collection_wrong_version
test/test_profiles.py::test_profile_listing
test/test_rules_collection.py::test_rich_rule_listing
test/test_rules_collection.py::test_rules_id_format
test/test_schemas.py::test_refresh_schemas
test/test_skip_inside_yaml.py::test_role_meta
test/test_utils.py::test_cli_auto_detect
test/test_utils.py::test_template_lookup
test/test_verbosity.py::test_default_verbosity
)
distutils_enable_tests pytest
# Test suite fails to start without this. Bug in the eclass, maybe?
python_test() {
epytest test
}

@ -1,43 +0,0 @@
--- a/conftest.py
+++ b/conftest.py
@@ -8,40 +8,6 @@
import pytest
from ansible.module_utils.common.yaml import HAS_LIBYAML
-# checking if user is running pytest without installing test dependencies:
-missing = []
-for module in ["ansible", "black", "flake8", "flaky", "mypy", "pylint"]:
- if not importlib.util.find_spec(module):
- missing.append(module)
-if missing:
- print(
- f"FATAL: Missing modules: {', '.join(missing)} -- probably you missed installing test requirements with: pip install -e '.[test]'",
- file=sys.stderr,
- )
- sys.exit(1)
-# we need to be sure that we have the requirements installed as some tests
-# might depend on these.
-try:
- subprocess.check_output(
- ["ansible-galaxy", "collection", "install", "-r", "requirements.yml"],
- stderr=subprocess.PIPE,
- text=True,
- )
-except subprocess.CalledProcessError as exc:
- print(f"{exc}\n{exc.stderr}\n{exc.stdout}", file=sys.stderr)
- sys.exit(1)
-
-if not HAS_LIBYAML and sys.version_info >= (3, 9, 0):
- # While presence of libyaml is not required for runtime, we keep this error
- # fatal here in order to be sure that we spot libyaml errors during testing.
- #
- # For 3.8.x we do not do this check, as libyaml does not have an arm64 build for py38.
- print(
- "FATAL: For testing, we require pyyaml to be installed with its native extension, missing it would make testing 3x slower and risk missing essential bugs.",
- file=sys.stderr,
- )
- sys.exit(1)
-
os.environ["NO_COLOR"] = "1"

@ -1,59 +0,0 @@
--- a/conftest.py
+++ b/conftest.py
@@ -7,56 +7,6 @@
import pytest
-# checking if user is running pytest without installing test dependencies:
-missing = []
-for module in ["ansible", "black", "flake8", "flaky", "mypy", "pylint"]:
- if not importlib.util.find_spec(module):
- missing.append(module)
-if missing:
- print(
- f"FATAL: Missing modules: {', '.join(missing)} -- probably you missed installing test requirements with: pip install -e '.[test]'",
- file=sys.stderr,
- )
- sys.exit(1)
-# we need to be sure that we have the requirements installed as some tests
-# might depend on these.
-try:
- from ansible_compat.prerun import get_cache_dir
-
- cache_dir = get_cache_dir(".")
- subprocess.check_output(
- [
- "ansible-galaxy",
- "collection",
- "install",
- "-p",
- f"{cache_dir}/collections",
- "-r",
- "requirements.yml",
- ],
- stderr=subprocess.PIPE,
- text=True,
- )
-except subprocess.CalledProcessError as exc:
- print(f"{exc}\n{exc.stderr}\n{exc.stdout}", file=sys.stderr)
- sys.exit(1)
-
-# flake8: noqa: E402
-from ansible.module_utils.common.yaml import ( # pylint: disable=wrong-import-position
- HAS_LIBYAML,
-)
-
-if not HAS_LIBYAML and sys.version_info >= (3, 9, 0):
- # While presence of libyaml is not required for runtime, we keep this error
- # fatal here in order to be sure that we spot libyaml errors during testing.
- #
- # For 3.8.x we do not do this check, as libyaml does not have an arm64 build for py38.
- print(
- "FATAL: For testing, we require pyyaml to be installed with its native extension, missing it would make testing 3x slower and risk missing essential bugs.",
- file=sys.stderr,
- )
- sys.exit(1)
-
os.environ["NO_COLOR"] = "1"

@ -13,7 +13,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="GPL-3+"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86 ~x64-macos"
KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86 ~x64-macos"
RESTRICT="test"
RDEPEND=">=app-admin/ansible-core-2.14.0

@ -1,3 +1,6 @@
DIST aws-cli-1.27.74.gh.tar.gz 2368706 BLAKE2B 3eb9d8c21b9ddfd3a3e4bb53172a46ad69ca71033785bd29fd8b0b0f694c2ed62a4cad998ccd13b07949b86a89f2ca238a63a4553e591ba9066832f51ed87759 SHA512 cf61a3f1dd643bb7d0f81f047c1eeae78a7793532bffa612045273c46ae970b2763156a7679b6e16e65c2f886dec68e54db0169580bb3c37cc08420f874e704c
DIST aws-cli-1.27.79.gh.tar.gz 2376690 BLAKE2B 8e55d3607b805ebc5673c682731483f0fd6eb77a6cc972d58ce3219c33f9f2054529df6ab46fc85b39849871580cea03c4d7f490c4386cd5ce9d222ecb3c8eda SHA512 fd8b880b6358c50ed189fac538d91ef88d762b8c382da1b57bb086a316f7ee96fa33206a53f3eae2df98df175929c819b855c7ff5b7e5f84c73ecff88f297c79
DIST aws-cli-1.27.84.gh.tar.gz 2378573 BLAKE2B b85d7eeb22b0a2a9264b49a27f2e3d3da9d35dbc44de205521c39522fcec31948ef8b67dfc3ce919b772ba85fa59cfc5a4d69e3c67aadd9cbb029da883ad699e SHA512 1d31d1b800b0795a8473af0dc334feb69f62d2fd8fcb88e0e4e7e4068435f6f37792d2c9382ec1b0c6b074d5eca09142e52f6e36c472145df9d57db2cc4ee078
DIST aws-cli-1.27.85.gh.tar.gz 2378716 BLAKE2B c3bc3294d11815eb7607020e78d0349a1b9ac1c93e09351f960a997c974dad905bbff171139e68b776eae7ac2e6d3ec0d0154b05c42afc29ab4655933806bed6 SHA512 a2e1d471f64cf2c7c3e0657e67c88d79c9430195c81b11054977352f3f66f21fa68c67b3eff537ca6991e2f55379a9955665a8514ce0804d40c71d1d2ef38e3f
DIST aws-cli-1.27.86.gh.tar.gz 2379304 BLAKE2B 8bca8deaf377def250e772bd7568f7d4b82b7be4ba951a95529b8b8eb13d9ac8be791a7e9588bb01fa7167d3304224e2db426f25e25d7af94de298dd5ebf673d SHA512 9c98965c03685ba806a16531c68ec75c043b8c94eb64238d7500894211e3e9b500d00111132122226502ad3ea588bf09ae470a862d6d97b880a06808c96dfe6d
DIST aws-cli-1.27.87.gh.tar.gz 2381669 BLAKE2B eb279545fcab3ac279ee127acbd4e06f15d365bf0c4d9b17e682d852de81acf2b94ef197ed8444ca5d6ffb5a3ba814d6ace72bcf7ed956bfbbd955508942d6ec SHA512 23af96758d9664f3ae72f2abcb2c94817f2bd9a7b68564eb2eabbd7fb121247bedb77a3e5d24e04975ab5db101dee47bd5b6324152a6132891b542c402898c3a

@ -0,0 +1,80 @@
# 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
}

@ -0,0 +1,80 @@
# 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
}

@ -0,0 +1,80 @@
# 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
}

@ -3,7 +3,7 @@
EAPI=8
PYTHON_COMPAT=( python3_{9..10} )
PYTHON_COMPAT=( python3_{9..11} )
inherit python-r1

@ -1,29 +0,0 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_9 )
PYTHON_REQ_USE="sqlite"
DISTUTILS_USE_SETUPTOOLS=rdepend
inherit distutils-r1
DESCRIPTION="real-time metrics for nginx server (and others)"
HOMEPAGE="https://github.com/lebinh/ngxtop"
#SRC_URI="https://github.com/lebinh/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
SRC_URI="https://dev.gentoo.org/~jlec/distfiles/${P}.tar.xz"
SLOT="0"
LICENSE="MIT"
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
IUSE=""
RDEPEND="
dev-python/docopt[${PYTHON_USEDEP}]
dev-python/pyparsing[${PYTHON_USEDEP}]
dev-python/tabulate[${PYTHON_USEDEP}]"
DEPEND="${RDEPEND}
"
PATCHES=( "${FILESDIR}"/${PN}-0.0.2-py3.patch )

@ -3,7 +3,7 @@
EAPI=8
PYTHON_COMPAT=( python3_{9..10} )
PYTHON_COMPAT=( python3_{9..11} )
PYTHON_REQ_USE="sqlite"
inherit distutils-r1
@ -13,17 +13,15 @@ HOMEPAGE="https://github.com/lebinh/ngxtop"
#SRC_URI="https://github.com/lebinh/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
SRC_URI="https://dev.gentoo.org/~jlec/distfiles/${P}.tar.xz"
SLOT="0"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
IUSE=""
RDEPEND="
dev-python/docopt[${PYTHON_USEDEP}]
dev-python/pyparsing[${PYTHON_USEDEP}]
dev-python/tabulate[${PYTHON_USEDEP}]"
DEPEND="${RDEPEND}
"
DEPEND="${RDEPEND}"
PATCHES=( "${FILESDIR}"/${PN}-0.0.2-py3.patch )

@ -1 +1,2 @@
DIST pwman3-0.11.1.tar.gz 76992 BLAKE2B cd7289781436f0f8b941d587c61b2d8a5cad52f3d57d01106d73b3da5930de2bd2df15fe5a4bcfbdce5e5733b7328764d6e4e2d18cba8a575cadad8835218e75 SHA512 111713e23b64a7492b5e2735b0d0117a81759bd9f25a87327a2aa4a465fbbc8a0aa0fbfa86b84cbcd40eb1540d05cdbc6fb81982fe61953df91979e674ce5640
DIST pwman3-0.12.2.tar.gz 76744 BLAKE2B 5223169a267f0c35bcb26499138c9b768c6e29c4ce39d4fb89c56eb72d24a9729159bed93af24e12f1e0e6c1569586772eb36954afd51afc7c97c9de898346e5 SHA512 587839e7d532ef3c53e2c429b086eb6bd59290ce43687034400f8e0772cc4e97c9296694ad83c5fa3fdde37b8d8fef5bc150e9f81fcb9fe8712ffafb4be8b400

@ -0,0 +1,33 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{9..11} )
PYTHON_REQ_USE="sqlite"
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1 optfeature
DESCRIPTION="A lightweight password-manager with multiple database backends"
HOMEPAGE="https://pwman3.github.io/pwman3/"
SRC_URI="https://github.com/pwman3/pwman3/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-3+"
SLOT="0"
KEYWORDS="~amd64"
RESTRICT="!test? ( test )"
RDEPEND="
>=dev-python/cryptography-2.3[${PYTHON_USEDEP}]
>=dev-python/colorama-0.4.0[${PYTHON_USEDEP}]
"
BDEPEND="test? ( dev-python/pexpect[${PYTHON_USEDEP}] )"
distutils_enable_tests setup.py
pkg_postinst() {
optfeature "Support for mongodb" dev-python/pymongo
optfeature "Support for postgresql" dev-python/psycopg:2
optfeature "Support for mysql" dev-python/pymysql
}

@ -1,53 +0,0 @@
https://github.com/sudo-project/sudo/issues/239
https://github.com/sudo-project/sudo/pull/240
From 20d1348354ddbfb1b1f95522f81d73ec00988358 Mon Sep 17 00:00:00 2001
From: Sam James <sam@gentoo.org>
Date: Wed, 15 Feb 2023 03:20:36 +0000
Subject: [PATCH] sudo_fatal: Fix build where compiler recognises [[noreturn]]
attribute (C23)
If the compiler supports [[noreturn]] as a attribute as in C23,
then we define sudo_noreturn to be it. When that's the case, we must place
it at the beginning of the declaration, before any other *extension*
attributes (__attribute(...)).
sudo_dso_public is always an extension attribute, while sudo_noreturn only
might be, so put it first.
This only shows up with GCC 13 so far (see the linked GCC bug (notabug)
for a bit more exploration). Clang 16 does support the attribute but doesn't let
you sue it for earlier language versions (need to pass explicit -std=c2x,
unlike with GCC here).
This is essentially a followup to e707ffe58b3ccfe5c72f54c38eac1d7069d5021e.
Tested with GCC 13.0.1 20230212 (unreleased), GCC 12.2.1 20230211,
Clang 16.0.0_rc2, and Clang 15.0.7.
Bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108796
Closes: https://github.com/sudo-project/sudo/issues/239
Fixes: e707ffe58b3ccfe5c72f54c38eac1d7069d5021e
Fixes: 16ae61dcd7d3cd8bf6eb10a22fa742d4505da4e9
--- a/include/sudo_fatal.h
+++ b/include/sudo_fatal.h
@@ -171,12 +171,12 @@ sudo_dso_public int sudo_fatal_callback_deregister_v1(sudo_fatal_callback_t fun
sudo_dso_public int sudo_fatal_callback_register_v1(sudo_fatal_callback_t func);
sudo_dso_public char *sudo_warn_gettext_v1(const char *domainname, const char *msgid) sudo_attr_fmt_arg(2);
sudo_dso_public void sudo_warn_set_locale_func_v1(sudo_warn_setlocale_t func);
-sudo_dso_public sudo_noreturn void sudo_fatal_nodebug_v1(const char *fmt, ...) sudo_printf0like(1, 2);
-sudo_dso_public sudo_noreturn void sudo_fatalx_nodebug_v1(const char *fmt, ...) sudo_printflike(1, 2);
-sudo_dso_public sudo_noreturn void sudo_gai_fatal_nodebug_v1(int errnum, const char *fmt, ...) sudo_printflike(2, 3);
-sudo_dso_public sudo_noreturn void sudo_vfatal_nodebug_v1(const char *fmt, va_list ap) sudo_printf0like(1, 0);
-sudo_dso_public sudo_noreturn void sudo_vfatalx_nodebug_v1(const char *fmt, va_list ap) sudo_printflike(1, 0);
-sudo_dso_public sudo_noreturn void sudo_gai_vfatal_nodebug_v1(int errnum, const char *fmt, va_list ap) sudo_printflike(2, 0);
+sudo_noreturn sudo_dso_public void sudo_fatal_nodebug_v1(const char *fmt, ...) sudo_printf0like(1, 2);
+sudo_noreturn sudo_dso_public void sudo_fatalx_nodebug_v1(const char *fmt, ...) sudo_printflike(1, 2);
+sudo_noreturn sudo_dso_public void sudo_gai_fatal_nodebug_v1(int errnum, const char *fmt, ...) sudo_printflike(2, 3);
+sudo_noreturn sudo_dso_public void sudo_vfatal_nodebug_v1(const char *fmt, va_list ap) sudo_printf0like(1, 0);
+sudo_noreturn sudo_dso_public void sudo_vfatalx_nodebug_v1(const char *fmt, va_list ap) sudo_printflike(1, 0);
+sudo_noreturn sudo_dso_public void sudo_gai_vfatal_nodebug_v1(int errnum, const char *fmt, va_list ap) sudo_printflike(2, 0);
sudo_dso_public void sudo_warn_nodebug_v1(const char *fmt, ...) sudo_printf0like(1, 2);
sudo_dso_public void sudo_warnx_nodebug_v1(const char *fmt, ...) sudo_printflike(1, 2);
sudo_dso_public void sudo_gai_warn_nodebug_v1(int errnum, const char *fmt, ...) sudo_printflike(2, 3);

@ -1,40 +0,0 @@
https://github.com/sudo-project/sudo/commit/defec5d46eec7345b62060049f72215ffd7f3e7e
From defec5d46eec7345b62060049f72215ffd7f3e7e Mon Sep 17 00:00:00 2001
From: "Todd C. Miller" <Todd.Miller@sudo.ws>
Date: Tue, 14 Feb 2023 14:24:28 -0700
Subject: [PATCH] Add missing '[' to AS_IF() call. Fixes GitHub issue #238.
--- a/configure
+++ b/configure
@@ -24525,7 +24525,8 @@ fi
if test X"$with_noexec" != X"no"
then :
- # Check for non-standard exec functions
+
+ # Check for non-standard exec functions
ac_fn_c_check_func "$LINENO" "exect" "ac_cv_func_exect"
if test "x$ac_cv_func_exect" = xyes
then :
@@ -24564,7 +24565,7 @@ fi
fi
-]
+
fi
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
--- a/configure.ac
+++ b/configure.ac
@@ -3022,7 +3022,7 @@ AC_CHECK_FUNCS([setpassent setgroupent])
dnl
dnl Function checks for sudo_noexec
dnl
-AS_IF([test X"$with_noexec" != X"no"],
+AS_IF([test X"$with_noexec" != X"no"], [
# Check for non-standard exec functions
AC_CHECK_FUNCS([exect execvP execvpe])
# Check for posix_spawn, and posix_spawnp

@ -11,7 +11,7 @@ SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
IUSE="dcron debug nls lm-sensors lto selinux systemd"
BDEPEND="

@ -4,12 +4,18 @@
EAPI=7
DISTUTILS_USE_SETUPTOOLS=no
PYTHON_COMPAT=( python3_{9..10} )
PYTHON_COMPAT=( python3_{9..11} )
inherit distutils-r1 prefix
SRC_URI="https://dev.gentoo.org/~twitch153/${PN}/${P}.tar.bz2"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
if [[ ${PV} = 9999* ]]
then
EGIT_REPO_URI="https://anongit.gentoo.org/proj/${PN}.git"
inherit git-r3
else
SRC_URI="https://dev.gentoo.org/~blueness/${PN}/${P}.tar.bz2"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
fi
DESCRIPTION="Gentoo's installer for web-based applications"
HOMEPAGE="https://sourceforge.net/projects/webapp-config/"
@ -32,6 +38,11 @@ python_compile_all() {
emake -C doc/
}
python_test() {
PYTHONPATH="." "${EPYTHON}" WebappConfig/tests/external.py -v ||
die "Testing failed with ${EPYTHON}"
}
python_install() {
# According to this discussion:
# http://mail.python.org/pipermail/distutils-sig/2004-February/003713.html
@ -54,11 +65,6 @@ python_install_all() {
doman doc/*.[58]
}
python_test() {
PYTHONPATH="." "${EPYTHON}" WebappConfig/tests/external.py -v ||
die "Testing failed with ${EPYTHON}"
}
pkg_postinst() {
elog "Now that you have upgraded webapp-config, you **must** update your"
elog "config files in /etc/vhosts/webapp-config before you emerge any"

@ -4,7 +4,7 @@
EAPI=7
DISTUTILS_USE_SETUPTOOLS=no
PYTHON_COMPAT=( python3_{9..10} )
PYTHON_COMPAT=( python3_{9..11} )
inherit distutils-r1 prefix
@ -38,6 +38,11 @@ python_compile_all() {
emake -C doc/
}
python_test() {
PYTHONPATH="." "${EPYTHON}" WebappConfig/tests/external.py -v ||
die "Testing failed with ${EPYTHON}"
}
python_install() {
# According to this discussion:
# http://mail.python.org/pipermail/distutils-sig/2004-February/003713.html
@ -60,11 +65,6 @@ python_install_all() {
doman doc/*.[58]
}
python_test() {
PYTHONPATH="." "${EPYTHON}" WebappConfig/tests/external.py -v ||
die "Testing failed with ${EPYTHON}"
}
pkg_postinst() {
elog "Now that you have upgraded webapp-config, you **must** update your"
elog "config files in /etc/vhosts/webapp-config before you emerge any"

@ -1,14 +1,13 @@
# Copyright 2020-2022 Gentoo Authors
# Copyright 2020-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{9..11} )
inherit distutils-r1
inherit distutils-r1 pypi
DESCRIPTION="Password generator inspired by XKCD 936"
HOMEPAGE="https://github.com/redacted/XKCD-password-generator"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="BSD CC-BY-3.0
l10n_de? ( GPL-3 )

Binary file not shown.

@ -0,0 +1,70 @@
# Copyright 2020-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake
DESCRIPTION="C implementation of createrepo"
HOMEPAGE="https://github.com/rpm-software-management/createrepo_c"
if [[ ${PV} = 9999* ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/rpm-software-management/createrepo_c.git"
else
SRC_URI="https://github.com/rpm-software-management/createrepo_c/archive/${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64"
fi
LICENSE="GPL-2"
SLOT="0"
IUSE="legacy test"
RESTRICT="!test? ( test )"
DEPEND="
app-arch/bzip2:=
app-arch/drpm
app-arch/rpm
app-arch/xz-utils
app-arch/zchunk
dev-db/sqlite:3
dev-libs/glib:2
dev-libs/libxml2
dev-libs/openssl:=
net-misc/curl
sys-apps/file
sys-libs/libmodulemd
sys-libs/zlib:=
"
RDEPEND="${DEPEND}"
PATCHES=(
"${FILESDIR}/${P}-Include-rpm-rpmstring.h-for-rasprintf.patch"
"${FILESDIR}/${P}-use-gio-instead-of-cp.patch"
)
src_configure() {
local mycmakeargs=(
-DENABLE_DRPM=ON
# As best I can tell, this enables distribution as a wheel. No need for this on gentoo!
-DENABLE_PYTHON=OFF
# Upstream enables some 'Legacy' stuff by default, let's put that behind a USE flag
-DENABLE_LEGACY_WEAKDEPS=$(usex legacy ON OFF)
-DWITH_LEGACY_HASHES=$(usex legacy ON OFF)
-DWITH_LIBMODULEMD=ON
-DWITH_ZCHUNK=ON
)
cmake_src_configure
}
src_compile() {
cmake_src_compile
# Tests have a magic target!
use test && cmake_src_compile tests
}
src_test() {
"${S}"_build/tests/run_tests.sh || die "Failed to run C library tests"
}

@ -0,0 +1,65 @@
# Copyright 2020-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake
DESCRIPTION="C implementation of createrepo"
HOMEPAGE="https://github.com/rpm-software-management/createrepo_c"
if [[ ${PV} = 9999* ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/rpm-software-management/createrepo_c.git"
else
SRC_URI="https://github.com/rpm-software-management/createrepo_c/archive/${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64"
fi
LICENSE="GPL-2"
SLOT="0"
IUSE="legacy test"
RESTRICT="!test? ( test )"
DEPEND="
app-arch/bzip2:=
app-arch/drpm
app-arch/rpm
app-arch/xz-utils
app-arch/zchunk
dev-db/sqlite:3
dev-libs/glib:2
dev-libs/libxml2
dev-libs/openssl:=
net-misc/curl
sys-apps/file
sys-libs/libmodulemd
sys-libs/zlib:=
"
RDEPEND="${DEPEND}"
src_configure() {
local mycmakeargs=(
-DENABLE_DRPM=ON
# As best I can tell, this enables distribution as a wheel. No need for this on gentoo!
-DENABLE_PYTHON=OFF
# Upstream enables some 'Legacy' stuff by default, let's put that behind a USE flag
-DENABLE_LEGACY_WEAKDEPS=$(usex legacy ON OFF)
-DWITH_LEGACY_HASHES=$(usex legacy ON OFF)
-DWITH_LIBMODULEMD=ON
-DWITH_ZCHUNK=ON
)
cmake_src_configure
}
src_compile() {
cmake_src_compile
# Tests have a magic target!
use test && cmake_src_compile tests
}
src_test() {
"${S}"_build/tests/run_tests.sh || die "Failed to run C library tests"
}

@ -0,0 +1,229 @@
https://github.com/rpm-software-management/createrepo_c/pull/341
From: Matt Jolly <Matt.Jolly@footclan.ninja>
Date: Thu, 26 Jan 2023 01:48:16 +1100
Subject: [PATCH 1/3] Add `cr_gio_cp` and deprecate `cr_cp`
It's preferable to use glib gio to copy files rather than
rely on the behaviour of the system cp binary.
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -32,7 +32,7 @@ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules/")
SET(G_LOG_DOMAIN "C_CREATEREPOLIB")
# Find necessary libraries
-
+find_package(PkgConfig)
find_package(BZip2 REQUIRED)
find_package(CURL REQUIRED)
find_package(LibXml2 REQUIRED)
@@ -40,6 +40,7 @@ find_package(OpenSSL REQUIRED)
find_package(ZLIB REQUIRED)
pkg_check_modules(GLIB2 REQUIRED glib-2.0)
+pkg_check_modules(GIO REQUIRED gio-2.0)
pkg_check_modules(GTHREAD2 REQUIRED gthread-2.0)
pkg_check_modules(LZMA REQUIRED liblzma)
pkg_check_modules(SQLITE3 REQUIRED sqlite3)
@@ -57,6 +58,7 @@ ENDIF()
include_directories(${BZIP2_INCLUDE_DIRS})
include_directories(${CURL_INCLUDE_DIRS})
include_directories(${GLIB2_INCLUDE_DIRS})
+include_directories(${GIO_INCLUDE_DIRS})
include_directories(${LIBXML2_INCLUDE_DIR})
include_directories(${OPENSSL_INCLUDE_DIR})
include_directories(${ZLIB_INCLUDE_DIR})
@@ -154,4 +156,3 @@ ADD_SUBDIRECTORY (src)
ADD_SUBDIRECTORY (doc)
ENABLE_TESTING()
ADD_SUBDIRECTORY (tests EXCLUDE_FROM_ALL)
-
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -70,6 +70,7 @@ ADD_LIBRARY(libcreaterepo_c ${createrepo_c_library_type} ${createrepo_c_SRCS})
TARGET_LINK_LIBRARIES(libcreaterepo_c ${BZIP2_LIBRARIES})
TARGET_LINK_LIBRARIES(libcreaterepo_c ${CURL_LIBRARY})
TARGET_LINK_LIBRARIES(libcreaterepo_c ${GLIB2_LIBRARIES})
+TARGET_LINK_LIBRARIES(libcreaterepo_c ${GIO_LIBRARIES})
TARGET_LINK_LIBRARIES(libcreaterepo_c ${LIBMAGIC_LIBRARIES})
TARGET_LINK_LIBRARIES(libcreaterepo_c ${LIBMODULEMD_LIBRARIES})
TARGET_LINK_LIBRARIES(libcreaterepo_c ${LIBXML2_LIBRARIES})
--- a/src/helpers.c
+++ b/src/helpers.c
@@ -19,6 +19,7 @@
#include <glib.h>
#include <glib/gstdio.h>
+#include <gio/gio.h>
#include <errno.h>
#include <string.h>
#include <time.h>
@@ -448,10 +449,9 @@ cr_old_metadata_retention(const char *old_repo,
continue;
}
- // COPY!
- cr_cp(full_path,
- new_full_path,
- CR_CP_RECURSIVE|CR_CP_PRESERVE_ALL,
+ cr_gio_cp(g_file_new_for_path(full_path),
+ g_file_new_for_path(new_full_path),
+ G_FILE_COPY_ALL_METADATA,
NULL,
&tmp_err);
@@ -476,5 +476,3 @@ cr_old_metadata_retention(const char *old_repo,
return ret;
}
-
-
--- a/src/misc.c
+++ b/src/misc.c
@@ -21,6 +21,7 @@
#include <glib/gstdio.h>
#include <glib.h>
+#include <gio/gio.h>
#include <arpa/inet.h>
#include <assert.h>
#include <curl/curl.h>
@@ -794,8 +795,6 @@ cr_download(CURL *in_handle,
return CRE_OK;
}
-
-
gboolean
cr_better_copy_file(const char *src, const char *in_dst, GError **err)
{
@@ -820,7 +819,6 @@ cr_better_copy_file(const char *src, const char *in_dst, GError **err)
return TRUE;
}
-
int
cr_remove_dir_cb(const char *fpath,
G_GNUC_UNUSED const struct stat *sb,
@@ -856,7 +854,7 @@ gboolean
cr_move_recursive(const char *srcDir, const char *dstDir, GError **err)
{
if (rename(srcDir, dstDir) == -1) {
- if (!cr_cp(srcDir, dstDir, CR_CP_RECURSIVE, NULL, err))
+ if (!cr_gio_cp(g_file_new_for_path(srcDir), g_file_new_for_path(dstDir), G_FILE_COPY_ALL_METADATA, NULL, err))
return FALSE;
return (cr_remove_dir(srcDir, err) == CRE_OK);
}
@@ -1425,6 +1423,44 @@ cr_cp(const char *src,
return ret;
}
+gboolean
+cr_gio_cp(GFile *src,
+ GFile *dst,
+ GFileCopyFlags flags,
+ GCancellable *cancellable,
+ GError **err)
+{
+ assert(src);
+ assert(dst);
+ assert(!err || *err == NULL);
+
+ GFileType type = g_file_query_file_type(src, G_FILE_QUERY_INFO_NONE, NULL);
+
+ if (type == G_FILE_TYPE_DIRECTORY) {
+ g_file_make_directory(dst, cancellable, err);
+ g_file_copy_attributes(src, dst, flags, cancellable, err);
+
+ GFileEnumerator *enumerator = g_file_enumerate_children(src, G_FILE_ATTRIBUTE_STANDARD_NAME, G_FILE_QUERY_INFO_NONE, cancellable, err);
+ for (GFileInfo *info = g_file_enumerator_next_file(enumerator, cancellable, err); info != NULL; info = g_file_enumerator_next_file(enumerator, cancellable, err)) {
+ const char *relative_path = g_file_info_get_name(info);
+ cr_gio_cp(
+ g_file_resolve_relative_path(src, relative_path),
+ g_file_resolve_relative_path(dst, relative_path),
+ flags, cancellable, err);
+ }
+ } else if (type == G_FILE_TYPE_REGULAR) {
+ g_file_copy(src, dst, flags, cancellable, NULL, NULL, err);
+ }
+
+ if (err != NULL) {
+ return TRUE;
+ }
+ else {
+ return FALSE;
+ }
+
+}
+
gboolean
cr_rm(const char *path,
cr_RmFlags flags,
--- a/src/misc.h
+++ b/src/misc.h
@@ -26,6 +26,7 @@ extern "C" {
#include <glib.h>
#include <string.h>
+#include <gio/gio.h>
#include <curl/curl.h>
#include "compression_wrapper.h"
#include "xml_parser.h"
@@ -449,7 +450,7 @@ typedef enum {
preserve the all attributes (if possible) */
} cr_CpFlags;
-/** Recursive copy of directory (works on files as well)
+/** Wrapper for cp
* @param src Source (supports wildcards)
* @param dst Destination (supports wildcards)
* @param flags Flags
@@ -461,6 +462,20 @@ cr_cp(const char *src,
const char *dst,
cr_CpFlags flags,
const char *working_directory,
+ GError **err) __attribute__ ((deprecated ("please use `cr_gio_cp` instead")));
+
+/** Recursive copy of directory (works on files as well)
+ * @param src Source (supports wildcards)
+ * @param dst Destination (supports wildcards)
+ * @param flags Flags
+ * @param cancellable Can this be cancelled by another thread?
+ * @param err GError **
+ */
+gboolean
+cr_gio_cp(GFile *src,
+ GFile *dst,
+ GFileCopyFlags flags,
+ GCancellable *cancellable,
GError **err);
typedef enum {
From 9fa5809150d2021186d4a822c38d5488cd4986dc Mon Sep 17 00:00:00 2001
From: Matt Jolly <Matt.Jolly@footclan.ninja>
Date: Fri, 27 Jan 2023 18:17:23 +1100
Subject: [PATCH 2/3] Add to AUTHORS
--- a/AUTHORS
+++ b/AUTHORS
@@ -10,3 +10,4 @@ Neal Gompa <ngompa13@gmail.com>
Ralph Bean <rbean@redhat.com>
Frank Schreiner <schreiner@suse.de>
Daniel Alley <dalley@redhat.com>
+Matt Jolly <matt.jolly@footclan.ninja>
From e6769f0e343cbeea1beee703b984307634691677 Mon Sep 17 00:00:00 2001
From: Matt Jolly <Matt.Jolly@footclan.ninja>
Date: Fri, 27 Jan 2023 20:06:21 +1100
Subject: [PATCH 3/3] Update minimum CMake version
Modern CMake warns of deprecation of <2.8.12, let's use that instead
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,5 +1,5 @@
PROJECT (createrepo_c C)
-CMAKE_MINIMUM_REQUIRED (VERSION 2.8.10)
+CMAKE_MINIMUM_REQUIRED (VERSION 2.8.12)
include(GNUInstallDirs)

@ -5,10 +5,21 @@
<email>jaco@uls.co.za</email>
<name>Jaco Kroon</name>
</maintainer>
<maintainer type="person" proxied="yes">
<email>Matt.Jolly@footclan.ninja</email>
<name>Matt Jolly</name>
</maintainer>
<maintainer type="person">
<email>sam@gentoo.org</email>
<name>Sam James</name>
</maintainer>
<maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
<use>
<flag name="legacy">Build with support for legacy weakdeps and hashes (not recommended!)</flag>
</use>
<upstream>
<remote-id type="github">rpm-software-management/createrepo_c</remote-id>
</upstream>

@ -0,0 +1 @@
DIST drpm-0.5.1.tar.gz 138766 BLAKE2B dd64d925fa0e3975e2ca6f87fcddf10e376241d6b69a0f682cc5d6c006ef6aba7c021bcb98d049f4ce171b1561f36a07701e9eb47e0ac3c8315ee2d6d774c7c7 SHA512 5d4be3148075c6e0c560f97169a14e669a01ed48ef9228d8fc299b54da653ddec1110971a5b2bf455cc72cd1538d8c95e817428f73dd1d7ce07773822c05b3c5

@ -0,0 +1,48 @@
# Copyright 2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake
DESCRIPTION="A library for making, reading and applying deltarpm packages"
HOMEPAGE="https://github.com/rpm-software-management/drpm"
if [[ ${PV} = 9999* ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/rpm-software-management/drpm/"
else
SRC_URI="https://github.com/rpm-software-management/drpm/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64"
fi
LICENSE="LGPL-2.1+"
SLOT="0"
IUSE="lzip test zstd"
RESTRICT="!test? ( test )"
DEPEND="
app-arch/bzip2:=
app-arch/rpm
app-arch/xz-utils
dev-libs/openssl:=
sys-libs/zlib
lzip? ( app-arch/lzlib )
zstd? ( app-arch/zstd:= )
"
RDEPEND="${DEPEND}"
BDEPEND="${DEPEND}
test? ( dev-util/cmocka )
"
PATCHES=( "${FILESDIR}"/${P}-c99.patch )
src_configure() {
local mycmakeargs=(
-DHAVE_LZLIB_DEVEL=$(usex lzip ON OFF)
-DWITH_ZSTD=$(usex zstd ON OFF)
-DENABLE_TESTS=$(usex test ON OFF)
)
cmake_src_configure
}

@ -0,0 +1,46 @@
# Copyright 2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake
DESCRIPTION="A library for making, reading and applying deltarpm packages"
HOMEPAGE="https://github.com/rpm-software-management/drpm"
if [[ ${PV} = 9999* ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/rpm-software-management/drpm/"
else
SRC_URI="https://github.com/rpm-software-management/drpm/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64"
fi
LICENSE="LGPL-2.1+"
SLOT="0"
IUSE="lzip test zstd"
RESTRICT="!test? ( test )"
DEPEND="
app-arch/bzip2:=
app-arch/rpm
app-arch/xz-utils
dev-libs/openssl:=
sys-libs/zlib
lzip? ( app-arch/lzlib )
zstd? ( app-arch/zstd:= )
"
RDEPEND="${DEPEND}"
BDEPEND="${DEPEND}
test? ( dev-util/cmocka )
"
src_configure() {
local mycmakeargs=(
-DHAVE_LZLIB_DEVEL=$(usex lzip ON OFF)
-DWITH_ZSTD=$(usex zstd ON OFF)
-DENABLE_TESTS=$(usex test ON OFF)
)
cmake_src_configure
}

@ -0,0 +1,18 @@
https://github.com/rpm-software-management/drpm/commit/0bde9b7711a2fa8b811830cadfc979365f9362c6
From: Florian Weimer <fweimer@redhat.com>
Date: Thu, 12 Jan 2023 08:17:19 +0100
Subject: [PATCH] C99 compatibility fix for drpm_write.c
Include <string.h> for various string functions. This avoids
implicit function declarations and resulting build failures with
future compilers.
--- a/src/drpm_write.c
+++ b/src/drpm_write.c
@@ -23,6 +23,7 @@
#include <stdio.h>
#include <stdint.h>
+#include <string.h>
#include <fcntl.h>
#include <openssl/md5.h>
#include <rpm/rpmlib.h>

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person" proxied="yes">
<email>Matt.Jolly@footclan.ninja</email>
<name>Matt Jolly</name>
</maintainer>
<maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
<use>
<flag name="lzip">Enable <pkg>app-arch/lzip</pkg> decompression support via <pkg>app-arch/lzlib</pkg></flag>
</use>
<upstream>
<remote-id type="github">rpm-software-management/drpm</remote-id>
</upstream>
</pkgmetadata>

@ -0,0 +1 @@
DIST zchunk-1.2.3.tar.gz 1508271 BLAKE2B 7432289f3730083d0634c32f03d1daf2570c21e94ebab0aabeee4527f7ba56aef5cc567dfdb8ede701bea5d0cda4f248f0cf0fdb04e4f5ee1effb888a2907ec9 SHA512 5e46d8c3e36034de8424937cdfac59acdfaf332203e6e5d8b290614cbbe0340998d53b0583b0ef93189f41dc89219a75f50572757ebcea9abd83bd9aad861a73

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person" proxied="yes">
<email>Matt.Jolly@footclan.ninja</email>
<name>Matt Jolly</name>
</maintainer>
<maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
<upstream>
<remote-id type="github">zchunk/zchunk</remote-id>
</upstream>
</pkgmetadata>

@ -0,0 +1,27 @@
# Copyright 2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit meson
DESCRIPTION="File format designed for highly efficient deltas with good compression"
HOMEPAGE="https://github.com/zchunk/zchunk"
if [[ ${PV} == 9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/zchunk/zchunk.git"
else
SRC_URI="https://github.com/zchunk/zchunk/archive/${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64"
fi
LICENSE="BSD-2"
SLOT="0"
DEPEND="
app-arch/zstd:=
net-misc/curl
dev-libs/openssl:=
"
RDEPEND="${DEPEND}"

@ -0,0 +1,27 @@
# Copyright 2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit meson
DESCRIPTION="File format designed for highly efficient deltas with good compression"
HOMEPAGE="https://github.com/zchunk/zchunk"
if [[ ${PV} == 9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/zchunk/zchunk.git"
else
SRC_URI="https://github.com/zchunk/zchunk/archive/${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64"
fi
LICENSE="BSD-2"
SLOT="0"
DEPEND="
app-arch/zstd:=
net-misc/curl
dev-libs/openssl:=
"
RDEPEND="${DEPEND}"

Binary file not shown.

@ -1,4 +1,2 @@
DIST borgmatic-1.7.2.tar.gz 333772 BLAKE2B fd628e9c77547686d4edf5d1066d3c171575f4d923ebc5205c5eb64f3a960e94c121282e9f4fb02b1291a81011a18dc393c6d13a07f215585459e7a5b55f8107 SHA512 6ec12ec25ae4d0210bb9114795c1ea292d8236f9e68c9425e24ee7b580796504e4c317a3fcf778806a33bbd3db68669beb4ef7a88ec538c1bd432db9a2845b3e
DIST borgmatic-1.7.5.tar.gz 338412 BLAKE2B e27fd709070a27c2ddd01fdfe23ef9caeb942c52d756332b4abd6d6cf39724656677a0d142a5392e35e0a0f25958421fe23edf04a252d212d761f48a0c320d9b SHA512 c27a364617e0e8fc1c11adac5375deac4e1663236a545d3fb70280974614d50ffe3821010ed5e4345afa3c3dab5f45c0d3bbfc946f50321601acb56965fd555d
DIST borgmatic-1.7.7.tar.gz 348839 BLAKE2B 686a5552bdace0e44ced612448fd9a9609d9df2dfb41007f0432bbb6fe9d4c2ef154a215eef63f4aed4626471feda52142d3511498901545a3ab4bbf3171c14f SHA512 e1a7c20a17a4ad37ce348feb89e1a3b34912ae6730742e6b4c822b7a1026e3630167645154268f47922a106621cd02d5f06ada448ac844dfd7c9ff46660ca2ec
DIST borgmatic-1.7.8.tar.gz 350233 BLAKE2B 3fcd392983f73ec5e97f0dc6b96e211d7f1e1d1a4ce95c635c675cf043e796925df53c30c1e4f8eb1a095d9ec5ff81e90edee5ff2576f4683053d3108004afd9 SHA512 bcc65fdb7ea1171fb61deda9b1f69a00596e1e10a99508d336977b694bd8f93d74837aad9211bf1065b785220aaf1460a3ea403bf23fa4873d1bf4c6b4016525

@ -1,68 +0,0 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{9..11} )
DISTUTILS_SINGLE_IMPL=1
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1 systemd
DESCRIPTION="Automatically create, prune and verify backups with borgbackup"
HOMEPAGE="https://torsion.org/borgmatic/"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="amd64 ~arm ~arm64 ~riscv"
# borg is called as an external tool, hence no pythonic stuff
RDEPEND="app-backup/borgbackup
$(python_gen_cond_dep '
<dev-python/colorama-0.5[${PYTHON_USEDEP}]
dev-python/jsonschema[${PYTHON_USEDEP}]
dev-python/requests[${PYTHON_USEDEP}]
<dev-python/ruamel-yaml-0.18.0[${PYTHON_USEDEP}]
dev-python/setuptools[${PYTHON_USEDEP}]
')"
BDEPEND="
test? (
$(python_gen_cond_dep '
>=dev-python/flexmock-0.10.10[${PYTHON_USEDEP}]
')
)"
PATCHES=(
"${FILESDIR}"/${PN}-1.5.1-no_test_coverage.patch
"${FILESDIR}"/${PN}-1.5.16-systemd_service_bin_path.patch
)
# test_borgmatic_version_matches_news_version tries to run the 'borgmatic'
# executable so making it work would require passing --install
# to distutils_enable_tests. Given that this is the only test requiring
# this and that all it does is make sure the NEWS file has been updated
# for the current version, just skip it.
EPYTEST_DESELECT=(
tests/integration/commands/test_borgmatic.py::test_borgmatic_version_matches_news_version
)
distutils_enable_tests pytest
src_install() {
distutils-r1_src_install
systemd_dounit sample/systemd/borgmatic.{service,timer}
keepdir /etc/borgmatic
}
pkg_postinst() {
if [[ -z "${REPLACING_VERSIONS}" ]]; then
elog "To generate a sample configuration file, run:"
elog " generate-borgmatic-config"
else
ewarn "Please note that since version 1.7.0 ${PN} no longer supports old-style command-line action flags like '--create', '--list', etc."
ewarn "Make sure all your scripts use actions, e.g. 'create', 'list' and so on"
fi
elog
elog "Systemd users wishing to periodically run borgmatic can use the provided timer and service units."
}

@ -1,4 +1,4 @@
# Copyright 1999-2022 Gentoo Authors
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@ -15,7 +15,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~riscv"
KEYWORDS="amd64 ~arm ~arm64 ~riscv"
# borg is called as an external tool, hence no pythonic stuff
RDEPEND="app-backup/borgbackup

@ -1,62 +0,0 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{9..11} )
DISTUTILS_SINGLE_IMPL=1
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1 systemd
DESCRIPTION="Automatically create, prune and verify backups with borgbackup"
HOMEPAGE="https://torsion.org/borgmatic/"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~riscv"
# borg is called as an external tool, hence no pythonic stuff
RDEPEND="app-backup/borgbackup
$(python_gen_cond_dep '
<dev-python/colorama-0.5[${PYTHON_USEDEP}]
dev-python/jsonschema[${PYTHON_USEDEP}]
dev-python/requests[${PYTHON_USEDEP}]
<dev-python/ruamel-yaml-0.18.0[${PYTHON_USEDEP}]
dev-python/setuptools[${PYTHON_USEDEP}]
')"
BDEPEND="
test? (
$(python_gen_cond_dep '
>=dev-python/flexmock-0.10.10[${PYTHON_USEDEP}]
')
)"
PATCHES=(
"${FILESDIR}"/${PN}-1.5.1-no_test_coverage.patch
"${FILESDIR}"/${PN}-1.7.3-systemd_service_bin_path.patch
)
# A fragile test whose only purpose is to make sure the NEWS file
# has been updated for the current version.
EPYTEST_DESELECT=(
tests/integration/commands/test_borgmatic.py::test_borgmatic_version_matches_news_version
)
distutils_enable_tests pytest
src_install() {
distutils-r1_src_install
systemd_dounit sample/systemd/borgmatic.{service,timer}
keepdir /etc/borgmatic
}
pkg_postinst() {
if [[ -z "${REPLACING_VERSIONS}" ]]; then
elog "To generate a sample configuration file, run:"
elog " generate-borgmatic-config"
fi
elog
elog "Systemd users wishing to periodically run borgmatic can use the provided timer and service units."
}

Binary file not shown.

@ -0,0 +1,52 @@
From e7c852e43c0479060e630adb50342d2552a6cdad Mon Sep 17 00:00:00 2001
From: Thomas Parrott <thomas.parrott@canonical.com>
Date: Tue, 7 Feb 2023 10:04:27 +0000
Subject: [PATCH] lxd/storage/drivers/driver/btrfs/utils: Only check for
minimum number of columns in `btrfs qgroup show` command
Previously we expected 4 columns, but in btrfs-progs >= 6.0 this has changed to 5 columns.
E.g. in Jammy btrfs-progs v5.16.2:
```
sudo btrfs qgroup show /var/lib/lxd/storage-pools/btrfs
qgroupid rfer excl
-------- ---- ----
0/5 16.00KiB 16.00KiB
0/256 9.66MiB 400.00KiB
0/257 9.66MiB 392.00KiB
```
And in Lunar btrfs-progs v6.1.3:
```
btrfs qgroup show /var/lib/lxd/storage-pools/btrfs
Qgroupid Referenced Exclusive Path
-------- ---------- --------- ----
0/5 16.00KiB 16.00KiB <toplevel>
0/256 9.63MiB 400.00KiB images/1f81470478d136f0008c856e3a47369e0ac863f0402ce0e31c56dd29e9fdd4d7
0/257 9.64MiB 404.00KiB containers/c1
```
Fixes #11210
Signed-off-by: Thomas Parrott <thomas.parrott@canonical.com>
---
lxd/storage/drivers/driver_btrfs_utils.go | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/lxd/storage/drivers/driver_btrfs_utils.go b/lxd/storage/drivers/driver_btrfs_utils.go
index e1468e4b1a59..722a2de20978 100644
--- a/lxd/storage/drivers/driver_btrfs_utils.go
+++ b/lxd/storage/drivers/driver_btrfs_utils.go
@@ -253,7 +253,9 @@ func (d *btrfs) getQGroup(path string) (string, int64, error) {
}
fields := strings.Fields(line)
- if len(fields) != 4 {
+
+ // The BTRFS tooling changed the number of columns between versions so we only check for minimum.
+ if len(fields) < 3 {
continue
}

@ -0,0 +1,206 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit bash-completion-r1 go-module linux-info optfeature systemd verify-sig
DESCRIPTION="Modern, secure and powerful system container and virtual machine manager"
HOMEPAGE="https://linuxcontainers.org/lxd/introduction/ https://github.com/lxc/lxd"
SRC_URI="https://linuxcontainers.org/downloads/lxd/${P}.tar.gz
verify-sig? ( https://linuxcontainers.org/downloads/lxd/${P}.tar.gz.asc )"
LICENSE="Apache-2.0 BSD LGPL-3 MIT"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~x86"
IUSE="apparmor nls"
DEPEND="acct-group/lxd
app-arch/xz-utils
>=app-containers/lxc-5.0.0:=[apparmor?,seccomp(+)]
dev-db/sqlite:3
>=dev-libs/dqlite-1.13.0:=
dev-libs/lzo
>=dev-libs/raft-0.17.1:=[lz4]
>=dev-util/xdelta-3.0[lzma(+)]
net-dns/dnsmasq[dhcp]
sys-libs/libcap
virtual/udev"
RDEPEND="${DEPEND}
net-firewall/ebtables
net-firewall/iptables
sys-apps/iproute2
sys-fs/fuse:*
>=sys-fs/lxcfs-5.0.0
sys-fs/squashfs-tools[lzma]
virtual/acl"
BDEPEND="dev-lang/go
nls? ( sys-devel/gettext )
verify-sig? ( sec-keys/openpgp-keys-linuxcontainers )"
CONFIG_CHECK="
~CGROUPS
~IPC_NS
~NET_NS
~PID_NS
~SECCOMP
~USER_NS
~UTS_NS
~KVM
~MACVTAP
~VHOST_VSOCK
"
ERROR_IPC_NS="CONFIG_IPC_NS is required."
ERROR_NET_NS="CONFIG_NET_NS is required."
ERROR_PID_NS="CONFIG_PID_NS is required."
ERROR_SECCOMP="CONFIG_SECCOMP is required."
ERROR_UTS_NS="CONFIG_UTS_NS is required."
WARNING_KVM="CONFIG_KVM and CONFIG_KVM_AMD/-INTEL is required for virtual machines."
WARNING_MACVTAP="CONFIG_MACVTAP is required for virtual machines."
WARNING_VHOST_VSOCK="CONFIG_VHOST_VSOCK is required for virtual machines."
# Go magic.
QA_PREBUILT="/usr/bin/fuidshift
/usr/bin/lxc
/usr/bin/lxc-to-lxd
/usr/bin/lxd-agent
/usr/bin/lxd-benchmark
/usr/bin/lxd-migrate
/usr/sbin/lxd"
VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/linuxcontainers.asc
# The testsuite must be run as root.
# make: *** [Makefile:156: check] Error 1
RESTRICT="test"
GOPATH="${S}/_dist"
PATCHES=( "${FILESDIR}"/lxd-5.0.2-remove-shellcheck-buildsystem-checks.patch
"${FILESDIR}"/lxd-5.0.3-btrfs-quota-group-fix.patch )
src_prepare() {
export GOPATH="${S}/_dist"
default
sed -i \
-e "s:\./configure:./configure --prefix=/usr --libdir=${EPREFIX}/usr/lib/lxd:g" \
-e "s:make:make ${MAKEOPTS}:g" \
Makefile || die
# Fix hardcoded ovmf file path, see bug 763180
sed -i \
-e "s:/usr/share/OVMF:/usr/share/edk2-ovmf:g" \
-e "s:OVMF_VARS.ms.fd:OVMF_VARS.fd:g" \
doc/environment.md \
lxd/apparmor/instance.go \
lxd/apparmor/instance_qemu.go \
lxd/instance/drivers/driver_qemu.go || die "Failed to fix hardcoded ovmf paths."
# Fix hardcoded virtfs-proxy-helper file path, see bug 798924
sed -i \
-e "s:/usr/lib/qemu/virtfs-proxy-helper:/usr/libexec/virtfs-proxy-helper:g" \
lxd/device/device_utils_disk.go || die "Failed to fix virtfs-proxy-helper path."
cp "${FILESDIR}"/lxd-4.0.9-r1.service "${T}"/lxd.service || die
if use apparmor; then
sed -i \
'/^EnvironmentFile=.*/a ExecStartPre=\/usr\/libexec\/lxc\/lxc-apparmor-load' \
"${T}"/lxd.service || die
fi
# Disable -Werror's from go modules.
find "${S}" -name "cgo.go" -exec sed -i "s/ -Werror / /g" {} + || die
}
src_configure() { :; }
src_compile() {
export GOPATH="${S}/_dist"
export CGO_LDFLAGS_ALLOW="-Wl,-z,now"
for k in fuidshift lxd-benchmark lxc lxc-to-lxd; do
go install -v -x "${S}/${k}" || die "failed compiling ${k}"
done
go install -v -x -tags libsqlite3 "${S}"/lxd || die "Failed to build the daemon"
# Needs to be built statically
CGO_ENABLED=0 go install -v -tags netgo "${S}"/lxd-migrate
CGO_ENABLED=0 go install -v -tags agent,netgo "${S}"/lxd-agent
use nls && emake build-mo
}
src_test() {
emake check
}
src_install() {
export GOPATH="${S}/_dist"
local bindir="_dist/bin"
dosbin ${bindir}/lxd
for l in fuidshift lxd-agent lxd-benchmark lxd-migrate lxc lxc-to-lxd; do
dobin ${bindir}/${l}
done
newbashcomp scripts/bash/lxd-client lxc
newconfd "${FILESDIR}"/lxd-4.0.0.confd lxd
newinitd "${FILESDIR}"/lxd-5.0.2-r1.initd lxd
systemd_dounit "${T}"/lxd.service
systemd_newunit "${FILESDIR}"/lxd-containers-4.0.0.service lxd-containers.service
systemd_newunit "${FILESDIR}"/lxd-4.0.0.socket lxd.socket
dodoc AUTHORS
dodoc -r doc/*
use nls && domo po/*.mo
}
pkg_postinst() {
elog
elog "Consult https://wiki.gentoo.org/wiki/LXD for more information,"
elog "including a Quick Start."
elog "For virtual machine support, see:"
elog "https://wiki.gentoo.org/wiki/LXD#Virtual_machines"
elog
elog "Please run 'lxc-checkconfig' to see all optional kernel features."
elog
optfeature "virtual machine support" app-emulation/qemu[spice,usbredir,virtfs]
optfeature "btrfs storage backend" sys-fs/btrfs-progs
optfeature "ipv6 support" net-dns/dnsmasq[ipv6]
optfeature "lvm2 storage backend" sys-fs/lvm2
optfeature "zfs storage backend" sys-fs/zfs
elog
elog "Be sure to add your local user to the lxd group."
if [[ ${REPLACING_VERSIONS} ]] &&
ver_test ${REPLACING_VERSIONS} -lt 5.0.1 &&
has_version app-emulation/qemu[spice,usbredir,virtfs]; then
ewarn ""
ewarn "You're updating from <5.0.1. Due to incompatible API updates in the lxd-agent"
ewarn "product, you'll have to restart any running virtual machines before they work"
ewarn "properly."
ewarn ""
ewarn "Run: 'lxc restart your-vm' after the update for your vm's managed by lxd."
ewarn ""
fi
if [[ ${REPLACING_VERSIONS} ]] &&
has_version "sys-apps/openrc"; then
elog ""
elog "The new init.d script will attempt to mount "
elog " /sys/fs/cgroup/systemd"
elog "by default, which is needed to run systemd containers with openrc host."
elog "See the /etc/init.d/lxd file for requirements."
elog ""
fi
}

Binary file not shown.

@ -3,3 +3,4 @@ DIST certbot-2.1.1.gh.tar.gz 1327548 BLAKE2B 21ce7d88bc101147be237201d472f43ea71
DIST certbot-2.2.0.gh.tar.gz 1331053 BLAKE2B 4a3e6d8b0b3b7f8537bd6b24234bad7657842ee64865bcef2701e572501640b7a2d49cf4dc62db25cda1039be2d20fb77ac6415cdcb4756fce0f96b5cb7410c6 SHA512 242bfa8e5b60c28b49457403b41421ef782b9f98f325cc423b58283fef410b33691c3ce126188b191c80fcd488fe5d51acfc5ca575c8e7c5b6b08198844bffb7
DIST certbot-2.2.0.tar.gz 1331053 BLAKE2B 4a3e6d8b0b3b7f8537bd6b24234bad7657842ee64865bcef2701e572501640b7a2d49cf4dc62db25cda1039be2d20fb77ac6415cdcb4756fce0f96b5cb7410c6 SHA512 242bfa8e5b60c28b49457403b41421ef782b9f98f325cc423b58283fef410b33691c3ce126188b191c80fcd488fe5d51acfc5ca575c8e7c5b6b08198844bffb7
DIST certbot-2.3.0.gh.tar.gz 1335613 BLAKE2B af8ff393f92755e8e312f7596fe99abefa35c42cef6fa6688f7f3dd4a310205385fec81366df30d8edfe28d8abd3db447c9e1a3770fe31c3d45c69f04a038660 SHA512 5f52d9b0dd390fc696389a94ff897d803ee062feca50bb66972e197dcd79b0096b337cece2798557c3878903577171fd9afe1f18a4a2131ad7e6a62d0d945ebb
DIST certbot-2.4.0.gh.tar.gz 1333159 BLAKE2B 534c7d090cc8a2b77b2dd8bd8c407409260c18e7741223a327bb240dac9685b1ca152d4a20bb0ec46d8717f89bd3de6f494019c57afe22a74db69641a3ed209e SHA512 c307c97154935a3a01b468d6e91505caba6073b4c01071c87382bdc08c892094d95d75b047047d3221b7d8018a61ce974c0f4defbfdee00b136af920fd579108

@ -0,0 +1,59 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{9..11} )
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1
PARENT_PN="certbot"
PARENT_P="${PARENT_PN}-${PV}"
if [[ "${PV}" == *9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/certbot/certbot.git"
EGIT_SUBMODULES=()
EGIT_CHECKOUT_DIR="${WORKDIR}/${PARENT_P}"
else
SRC_URI="
https://github.com/certbot/certbot/archive/v${PV}.tar.gz
-> ${PARENT_P}.gh.tar.gz
"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
fi
DESCRIPTION="An implementation of the ACME protocol"
HOMEPAGE="
https://github.com/certbot/certbot
https://letsencrypt.org/
"
LICENSE="Apache-2.0"
SLOT="0"
S="${WORKDIR}/${PARENT_P}/${PN}"
BDEPEND="
test? (
dev-python/pytest[${PYTHON_USEDEP}]
dev-python/pytest-xdist[${PYTHON_USEDEP}]
dev-python/typing-extensions[${PYTHON_USEDEP}]
)
"
RDEPEND="
dev-python/chardet[${PYTHON_USEDEP}]
>=dev-python/cryptography-2.5.0[${PYTHON_USEDEP}]
>=dev-python/josepy-1.13.0[${PYTHON_USEDEP}]
>=dev-python/pyopenssl-17.5.0[${PYTHON_USEDEP}]
dev-python/pyrfc3339[${PYTHON_USEDEP}]
>=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
>=dev-python/requests-2.20.0[${PYTHON_USEDEP}]
>=dev-python/requests-toolbelt-0.3.0[${PYTHON_USEDEP}]
"
distutils_enable_sphinx docs dev-python/sphinx-rtd-theme
distutils_enable_tests pytest

@ -2,3 +2,4 @@ DIST certbot-2.1.0.tar.gz 1327451 BLAKE2B c4694622648427146574aa7c056d5d76dc3c4f
DIST certbot-2.1.1.gh.tar.gz 1327548 BLAKE2B 21ce7d88bc101147be237201d472f43ea71adafe37789b0a46d7d87b0bc0f1270044386507bc516beb658633cbaebcade06e0f7f6f833848e10660a6b0a09279 SHA512 9bd5d3259954fbf09287a74532ad73a6271ed07bac0e3593edc08662d562e8939982a92daca3eb5d6e6516ab530e15e0594124465e6f6608b004594418e34042
DIST certbot-2.2.0.gh.tar.gz 1331053 BLAKE2B 4a3e6d8b0b3b7f8537bd6b24234bad7657842ee64865bcef2701e572501640b7a2d49cf4dc62db25cda1039be2d20fb77ac6415cdcb4756fce0f96b5cb7410c6 SHA512 242bfa8e5b60c28b49457403b41421ef782b9f98f325cc423b58283fef410b33691c3ce126188b191c80fcd488fe5d51acfc5ca575c8e7c5b6b08198844bffb7
DIST certbot-2.3.0.gh.tar.gz 1335613 BLAKE2B af8ff393f92755e8e312f7596fe99abefa35c42cef6fa6688f7f3dd4a310205385fec81366df30d8edfe28d8abd3db447c9e1a3770fe31c3d45c69f04a038660 SHA512 5f52d9b0dd390fc696389a94ff897d803ee062feca50bb66972e197dcd79b0096b337cece2798557c3878903577171fd9afe1f18a4a2131ad7e6a62d0d945ebb
DIST certbot-2.4.0.gh.tar.gz 1333159 BLAKE2B 534c7d090cc8a2b77b2dd8bd8c407409260c18e7741223a327bb240dac9685b1ca152d4a20bb0ec46d8717f89bd3de6f494019c57afe22a74db69641a3ed209e SHA512 c307c97154935a3a01b468d6e91505caba6073b4c01071c87382bdc08c892094d95d75b047047d3221b7d8018a61ce974c0f4defbfdee00b136af920fd579108

@ -0,0 +1,50 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{9..11} )
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1
PARENT_PN="${PN%-apache}"
PARENT_P="${PARENT_PN}-${PV}"
if [[ "${PV}" == *9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/certbot/certbot.git"
EGIT_SUBMODULES=()
EGIT_CHECKOUT_DIR="${WORKDIR}/${PARENT_P}"
else
SRC_URI="
https://github.com/certbot/certbot/archive/v${PV}.tar.gz
-> ${PARENT_P}.gh.tar.gz
"
# Only for amd64, arm64 and x86 because of dev-python/python-augeas
KEYWORDS="~amd64 ~arm64 ~x86"
fi
DESCRIPTION="Apache plugin for Certbot (Lets Encrypt client)"
HOMEPAGE="
https://github.com/certbot/certbot
https://letsencrypt.org/
"
LICENSE="Apache-2.0"
SLOT="0"
S="${WORKDIR}/${PARENT_P}/${PN}"
BDEPEND="
test? ( dev-python/pytest[${PYTHON_USEDEP}] )
"
RDEPEND="
>=app-crypt/acme-${PV}[${PYTHON_USEDEP}]
>=app-crypt/certbot-${PV}[${PYTHON_USEDEP}]
dev-python/python-augeas[${PYTHON_USEDEP}]
"
distutils_enable_tests pytest

@ -2,3 +2,4 @@ DIST certbot-2.1.0.tar.gz 1327451 BLAKE2B c4694622648427146574aa7c056d5d76dc3c4f
DIST certbot-2.1.1.gh.tar.gz 1327548 BLAKE2B 21ce7d88bc101147be237201d472f43ea71adafe37789b0a46d7d87b0bc0f1270044386507bc516beb658633cbaebcade06e0f7f6f833848e10660a6b0a09279 SHA512 9bd5d3259954fbf09287a74532ad73a6271ed07bac0e3593edc08662d562e8939982a92daca3eb5d6e6516ab530e15e0594124465e6f6608b004594418e34042
DIST certbot-2.2.0.gh.tar.gz 1331053 BLAKE2B 4a3e6d8b0b3b7f8537bd6b24234bad7657842ee64865bcef2701e572501640b7a2d49cf4dc62db25cda1039be2d20fb77ac6415cdcb4756fce0f96b5cb7410c6 SHA512 242bfa8e5b60c28b49457403b41421ef782b9f98f325cc423b58283fef410b33691c3ce126188b191c80fcd488fe5d51acfc5ca575c8e7c5b6b08198844bffb7
DIST certbot-2.3.0.gh.tar.gz 1335613 BLAKE2B af8ff393f92755e8e312f7596fe99abefa35c42cef6fa6688f7f3dd4a310205385fec81366df30d8edfe28d8abd3db447c9e1a3770fe31c3d45c69f04a038660 SHA512 5f52d9b0dd390fc696389a94ff897d803ee062feca50bb66972e197dcd79b0096b337cece2798557c3878903577171fd9afe1f18a4a2131ad7e6a62d0d945ebb
DIST certbot-2.4.0.gh.tar.gz 1333159 BLAKE2B 534c7d090cc8a2b77b2dd8bd8c407409260c18e7741223a327bb240dac9685b1ca152d4a20bb0ec46d8717f89bd3de6f494019c57afe22a74db69641a3ed209e SHA512 c307c97154935a3a01b468d6e91505caba6073b4c01071c87382bdc08c892094d95d75b047047d3221b7d8018a61ce974c0f4defbfdee00b136af920fd579108

@ -0,0 +1,50 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{9..11} )
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1
PARENT_PN="${PN%-nginx}"
PARENT_P="${PARENT_PN}-${PV}"
if [[ "${PV}" == *9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/certbot/certbot.git"
EGIT_SUBMODULES=()
EGIT_CHECKOUT_DIR="${WORKDIR}/${PARENT_P}"
else
SRC_URI="
https://github.com/certbot/certbot/archive/v${PV}.tar.gz
-> ${PARENT_P}.gh.tar.gz
"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
fi
DESCRIPTION="Nginx plugin for Certbot (Lets Encrypt client)"
HOMEPAGE="
https://github.com/certbot/certbot
https://letsencrypt.org/
"
LICENSE="Apache-2.0"
SLOT="0"
S="${WORKDIR}/${PARENT_P}/${PN}"
BDEPEND="
test? ( dev-python/pytest[${PYTHON_USEDEP}] )
"
RDEPEND="
>=app-crypt/acme-${PV}[${PYTHON_USEDEP}]
>=app-crypt/certbot-${PV}[${PYTHON_USEDEP}]
>=dev-python/pyopenssl-17.5.0[${PYTHON_USEDEP}]
>=dev-python/pyparsing-2.2.1[${PYTHON_USEDEP}]
"
distutils_enable_tests pytest

@ -3,3 +3,4 @@ DIST certbot-2.1.1.gh.tar.gz 1327548 BLAKE2B 21ce7d88bc101147be237201d472f43ea71
DIST certbot-2.2.0.gh.tar.gz 1331053 BLAKE2B 4a3e6d8b0b3b7f8537bd6b24234bad7657842ee64865bcef2701e572501640b7a2d49cf4dc62db25cda1039be2d20fb77ac6415cdcb4756fce0f96b5cb7410c6 SHA512 242bfa8e5b60c28b49457403b41421ef782b9f98f325cc423b58283fef410b33691c3ce126188b191c80fcd488fe5d51acfc5ca575c8e7c5b6b08198844bffb7
DIST certbot-2.2.0.tar.gz 1331053 BLAKE2B 4a3e6d8b0b3b7f8537bd6b24234bad7657842ee64865bcef2701e572501640b7a2d49cf4dc62db25cda1039be2d20fb77ac6415cdcb4756fce0f96b5cb7410c6 SHA512 242bfa8e5b60c28b49457403b41421ef782b9f98f325cc423b58283fef410b33691c3ce126188b191c80fcd488fe5d51acfc5ca575c8e7c5b6b08198844bffb7
DIST certbot-2.3.0.gh.tar.gz 1335613 BLAKE2B af8ff393f92755e8e312f7596fe99abefa35c42cef6fa6688f7f3dd4a310205385fec81366df30d8edfe28d8abd3db447c9e1a3770fe31c3d45c69f04a038660 SHA512 5f52d9b0dd390fc696389a94ff897d803ee062feca50bb66972e197dcd79b0096b337cece2798557c3878903577171fd9afe1f18a4a2131ad7e6a62d0d945ebb
DIST certbot-2.4.0.gh.tar.gz 1333159 BLAKE2B 534c7d090cc8a2b77b2dd8bd8c407409260c18e7741223a327bb240dac9685b1ca152d4a20bb0ec46d8717f89bd3de6f494019c57afe22a74db69641a3ed209e SHA512 c307c97154935a3a01b468d6e91505caba6073b4c01071c87382bdc08c892094d95d75b047047d3221b7d8018a61ce974c0f4defbfdee00b136af920fd579108

@ -0,0 +1,62 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{9..11} )
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1
if [[ "${PV}" == *9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/certbot/certbot.git"
EGIT_SUBMODULES=()
EGIT_CHECKOUT_DIR="${WORKDIR}/${P}"
else
SRC_URI="
https://github.com/certbot/certbot/archive/v${PV}.tar.gz
-> ${P}.gh.tar.gz
"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
fi
DESCRIPTION="Lets Encrypt client to automate deployment of X.509 certificates"
HOMEPAGE="
https://github.com/certbot/certbot
https://letsencrypt.org/
"
LICENSE="Apache-2.0"
SLOT="0"
IUSE="selinux"
S="${WORKDIR}/${P}/${PN}"
BDEPEND="
test? (
dev-python/pytest[${PYTHON_USEDEP}]
dev-python/pytest-cov[${PYTHON_USEDEP}]
dev-python/pytest-xdist[${PYTHON_USEDEP}]
dev-python/typing-extensions[${PYTHON_USEDEP}]
)
"
# See certbot/setup.py for acme >= dep
RDEPEND="
>=app-crypt/acme-${PV}[${PYTHON_USEDEP}]
>=dev-python/ConfigArgParse-0.9.3[${PYTHON_USEDEP}]
>=dev-python/configobj-5.0.6[${PYTHON_USEDEP}]
>=dev-python/cryptography-2.5.0[${PYTHON_USEDEP}]
>=dev-python/distro-1.0.1[${PYTHON_USEDEP}]
>=dev-python/josepy-1.13.0[${PYTHON_USEDEP}]
>=dev-python/parsedatetime-2.4[${PYTHON_USEDEP}]
dev-python/pyrfc3339[${PYTHON_USEDEP}]
>=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
selinux? ( sec-policy/selinux-certbot )
"
distutils_enable_sphinx docs dev-python/sphinx-rtd-theme
distutils_enable_tests pytest

@ -0,0 +1,30 @@
https://bugs.gentoo.org/900152
It doesn't make sense to default XOPEN_SOURCE and subsequently DEFAULT_SOURCE
as DEFAULT_SOURCE is asking for no extensions. Anyway, just ask for GNU_SOURCE
as it'll placate both musl and glibc for all of strptime/timegm/getpass and
gcr-3 is obsolete anyway.
--- a/gck/meson.build
+++ b/gck/meson.build
@@ -77,8 +77,7 @@ gck_cflags = [
'-DGCK_API_SUBJECT_TO_CHANGE',
'-DP11_KIT_API_SUBJECT_TO_CHANGE',
'-DPKCS11_REGISTRY_DIR="@0@"'.format(get_option('prefix') / get_option('libdir') / 'pkcs11'),
- '-D_XOPEN_SOURCE', # Needed for strptime()
- '-D_DEFAULT_SOURCE', # Needed for timegm
+ '-D_GNU_SOURCE', # Needed for strptime(), timegm, getpass
]
gck_symbolmap = meson.current_source_dir() / 'libgck.map'
--- a/gcr/meson.build
+++ b/gcr/meson.build
@@ -146,7 +146,7 @@ gcr_base_cflags = [
'-DGCR_API_SUBJECT_TO_CHANGE',
'-DGCK_API_SUBJECT_TO_CHANGE',
'-DP11_KIT_API_SUBJECT_TO_CHANGE',
- '-D_XOPEN_SOURCE', # Needed for strptime()
+ '-D_GNU_SOURCE', # Needed for strptime(), timegm, getpass
]
gcr_base_symbolmap = meson.current_source_dir() / 'libgcr-base.map'

@ -47,6 +47,7 @@ BDEPEND="
PATCHES=(
"${FILESDIR}"/3.38.0-optional-vapi.patch
"${FILESDIR}"/3.41.1-implicit-func-decl.patch
)
pkg_setup() {

Binary file not shown.

@ -9,4 +9,7 @@
<email>dlan@gentoo.org</email>
<name>Yixun Lan</name>
</maintainer>
<upstream>
<remote-id type="github">pixel/hexedit</remote-id>
</upstream>
</pkgmetadata>

@ -23,7 +23,7 @@ else
SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
S="${WORKDIR}/${MY_P}"
KEYWORDS="~amd64 ~riscv ~x86"
KEYWORDS="~amd64"
fi
LICENSE="GPL-2+"

@ -23,7 +23,7 @@ else
SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
S="${WORKDIR}/${MY_P}"
KEYWORDS="~amd64 ~riscv ~x86"
KEYWORDS="~amd64"
fi
LICENSE="GPL-2+"

Binary file not shown.

@ -1,2 +1,3 @@
DIST csv-mode-1.18.el.xz 18228 BLAKE2B 36963d268a1f2cac6f9e897c1b5b2b99dd2b36d80eb0a493214cb7ee2c9b74862b43e632ae6ee8d847fb7b4ac330669b79bbe86032385830429735bace2e0276 SHA512 e7b22d545a6f926957f9080ca1a927ce34d35341c8484e66f52d5e1273a4933519c53e813e710e3c818bbdfd2ac8f27da691b4f36fd71638f220ea5c56e68591
DIST csv-mode-1.20.el.xz 19580 BLAKE2B 6942af53e8e494c1b4b063bd75937184f375d5d0bfef57558006d49b168b9786efa11e498ddd92fb7b29c9ac055feeb709b33ec9bc98c6807ee0c35b388cb841 SHA512 c9198ce3cdc60fd5b74a9f93af4dfc8be537638374fb729ad160e89b2bb6cef42112b0342732c7e9151889a254608157b084ee31cdfa330e551bc153020bbbdb
DIST csv-mode-1.22.tar.xz 20668 BLAKE2B 655615111a4303649941ef0167cb3120aa5d8698e768900a1154d390b5420f2fe783003e877f77ed66d6fa068fc58185e4c11d47928940acc7a239572ed92182 SHA512 06530f1eceb4c93d8bb1c89f91ffd8117b6254101e52c9e3d26e013d0c01e99f6d9fd433ebd8172d9293a68d824b9453c028ad53ec46b05feb0fbd4d005f4615

@ -0,0 +1,25 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
NEED_EMACS=27.1
inherit elisp
DESCRIPTION="A major mode for editing comma-separated value files"
HOMEPAGE="https://elpa.gnu.org/packages/csv-mode.html
https://www.emacswiki.org/emacs/CsvMode"
# Taken from https://elpa.gnu.org/packages/${P}.tar
SRC_URI="https://dev.gentoo.org/~xgqt/distfiles/repackaged/${P}.tar.xz"
LICENSE="GPL-3+"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~sparc ~x86"
SITEFILE="50${PN}-gentoo.el"
src_test() {
${EMACS} ${EMACSFLAGS} -L . -l ${PN}.el -l ${PN}-tests.el \
-f ert-run-tests-batch-and-exit || die "tests failed"
}

@ -0,0 +1 @@
DIST emacs-ebuild-snippets-2.0.2.tar.bz2 11606 BLAKE2B 5316355ec5fb7bae942ec27e8c7400f5f4570f9bdfc0588c2a92f908146da1475b87351f0654f58f99b41d752b357e255997d4fd3d89b3676790faea5acee3be SHA512 2cff09b32beec77fc6dc2033bdc2bafa31f89450b98865b5000ac95455436d3b840299652c7258b133038d41e4ac6f477f2b6637a5803484f3ec4dce86600944

@ -0,0 +1,36 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
NEED_EMACS=24
inherit elisp
DESCRIPTION="Yasnippets for editing ebuilds and eclasses"
HOMEPAGE="https://gitweb.gentoo.org/proj/emacs-ebuild-snippets.git"
SRC_URI="https://gitlab.com/xgqt/${PN}/-/archive/${PV}/${P}.tar.bz2"
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~amd64 ~x86"
RDEPEND="
app-emacs/ebuild-mode
app-emacs/yasnippet
"
BDEPEND="${RDEPEND}"
src_prepare() {
sh ./scripts/changeme.sh "${EPREFIX}${SITEETC}/${PN}" || die
default
}
src_install() {
elisp-install ${PN} *.el{,c}
elisp-site-file-install "${S}"/gentoo/50${PN}-gentoo.el
insinto "${SITEETC}/${PN}"
doins -r snippets
}

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>gnu-emacs@gentoo.org</email>
<name>Gentoo GNU Emacs project</name>
</maintainer>
<stabilize-allarches />
<upstream>
<remote-id type="gitlab">xgqt/emacs-ebuild-snippets</remote-id>
</upstream>
</pkgmetadata>

Binary file not shown.

@ -1 +1,2 @@
DIST protontricks-1.10.1.tar.gz 160943 BLAKE2B 12361ce009a62bdba8c420069f87879bf22e047df8bd6d843fb8672222fe6ab04d61f03a44c43a147729461a2f872e2239ee97d737aba28ffdbb273e797be218 SHA512 0b6e3277ea8a106d2bc52cc805b0c3a023733f0a6554fabfe9f32ff27d1bdf04058a419a719c7ca81dc45759a803a83b03408806e4b9328664e572655a3c4df0
DIST protontricks-1.10.2.tar.gz 162325 BLAKE2B 5e9d0bf2970ad0e9a5ef5e399af5e327781c94f3e76e36db3a93a93d59102436a54e926a72a22b4640178534d2b9e62452543706c7ec10ce4591f15ce00ac4f3 SHA512 f644e13f356f899b8084ed1d347c210b624c09676f3a644f973610d1134658dd2951e8f85178606639b0eca8c386e9abac89c658a7076e4126278ff955549f10

@ -0,0 +1,57 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{9..11} pypy3 )
DISTUTILS_SINGLE_IMPL=1
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1 pypi xdg-utils
DESCRIPTION="app-emulation/winetricks wrapper for Proton (Steam Play) games"
HOMEPAGE="https://github.com/Matoking/protontricks"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64"
IUSE="+gui"
RDEPEND="app-emulation/winetricks
$(python_gen_cond_dep '
dev-python/setuptools[${PYTHON_USEDEP}]
dev-python/vdf[${PYTHON_USEDEP}]
')
gui? ( gnome-extra/zenity
|| (
app-emulation/winetricks[gtk]
app-emulation/winetricks[kde]
)
)"
BDEPEND="$(python_gen_cond_dep '
dev-python/setuptools-scm[${PYTHON_USEDEP}]
')"
DOCS=( CHANGELOG.md README.md )
distutils_enable_tests pytest
pkg_postinst() {
xdg_desktop_database_update
elog
if ! use gui; then
ewarn "Please note that disabling USE=gui does *not* presently remove the --gui command-line option,"
ewarn "it just means using this option will fail unless gnome-extra/zenity happens to be installed."
ewarn
fi
elog "Protontricks can only find games for which a Proton prefix already exists."
elog "Make sure to run a Proton game at least once before trying to use protontricks on it."
elog
}
pkg_postrm() {
xdg_desktop_database_update
}

@ -104,7 +104,10 @@ BDEPEND="
!crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
IDEPEND=">=app-eselect/eselect-wine-2"
QA_CONFIG_IMPL_DECL_SKIP=( res_getservers )
QA_CONFIG_IMPL_DECL_SKIP=(
__clear_cache # unused on amd64+x86 (bug #900332)
res_getservers # false positive
)
QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
PATCHES=(

@ -104,7 +104,10 @@ BDEPEND="
!crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
IDEPEND=">=app-eselect/eselect-wine-2"
QA_CONFIG_IMPL_DECL_SKIP=( res_getservers )
QA_CONFIG_IMPL_DECL_SKIP=(
__clear_cache # unused on amd64+x86 (bug #900332)
res_getservers # false positive
)
QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
PATCHES=(

@ -104,7 +104,10 @@ BDEPEND="
!crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
IDEPEND=">=app-eselect/eselect-wine-2"
QA_CONFIG_IMPL_DECL_SKIP=( res_getservers )
QA_CONFIG_IMPL_DECL_SKIP=(
__clear_cache # unused on amd64+x86 (bug #900332)
res_getservers # false positive
)
QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
PATCHES=(

@ -122,7 +122,10 @@ BDEPEND="
nls? ( sys-devel/gettext )"
IDEPEND=">=app-eselect/eselect-wine-2"
QA_CONFIG_IMPL_DECL_SKIP=( res_getservers )
QA_CONFIG_IMPL_DECL_SKIP=(
__clear_cache # unused on amd64+x86 (bug #900334)
res_getservers # false positive
)
QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
PATCHES=(

@ -122,7 +122,10 @@ BDEPEND="
nls? ( sys-devel/gettext )"
IDEPEND=">=app-eselect/eselect-wine-2"
QA_CONFIG_IMPL_DECL_SKIP=( res_getservers )
QA_CONFIG_IMPL_DECL_SKIP=(
__clear_cache # unused on amd64+x86 (bug #900334)
res_getservers # false positive
)
QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
PATCHES=(

@ -132,7 +132,10 @@ BDEPEND="
nls? ( sys-devel/gettext )"
IDEPEND=">=app-eselect/eselect-wine-2"
QA_CONFIG_IMPL_DECL_SKIP=( res_getservers )
QA_CONFIG_IMPL_DECL_SKIP=(
__clear_cache # unused on amd64+x86 (bug #900334)
res_getservers # false positive
)
QA_FLAGS_IGNORED="usr/lib/.*/wine/.*-unix/odbc32.so" # has no compiled objects
QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext

@ -133,7 +133,10 @@ BDEPEND="
nls? ( sys-devel/gettext )"
IDEPEND=">=app-eselect/eselect-wine-2"
QA_CONFIG_IMPL_DECL_SKIP=( res_getservers )
QA_CONFIG_IMPL_DECL_SKIP=(
__clear_cache # unused on amd64+x86 (bug #900334)
res_getservers # false positive
)
QA_FLAGS_IGNORED="usr/lib/.*/wine/.*-unix/odbc32.so" # has no compiled objects
QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext

@ -133,7 +133,10 @@ BDEPEND="
nls? ( sys-devel/gettext )"
IDEPEND=">=app-eselect/eselect-wine-2"
QA_CONFIG_IMPL_DECL_SKIP=( res_getservers )
QA_CONFIG_IMPL_DECL_SKIP=(
__clear_cache # unused on amd64+x86 (bug #900334)
res_getservers # false positive
)
QA_FLAGS_IGNORED="usr/lib/.*/wine/.*-unix/odbc32.so" # has no compiled objects
QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext

@ -123,7 +123,10 @@ BDEPEND="
nls? ( sys-devel/gettext )"
IDEPEND=">=app-eselect/eselect-wine-2"
QA_CONFIG_IMPL_DECL_SKIP=( res_getservers )
QA_CONFIG_IMPL_DECL_SKIP=(
__clear_cache # unused on amd64+x86 (bug #900338)
res_getservers # false positive
)
QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
PATCHES=(

@ -121,7 +121,10 @@ BDEPEND="
nls? ( sys-devel/gettext )"
IDEPEND=">=app-eselect/eselect-wine-2"
QA_CONFIG_IMPL_DECL_SKIP=( res_getservers )
QA_CONFIG_IMPL_DECL_SKIP=(
__clear_cache # unused on amd64+x86 (bug #900338)
res_getservers # false positive
)
QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
PATCHES=(

@ -121,7 +121,10 @@ BDEPEND="
nls? ( sys-devel/gettext )"
IDEPEND=">=app-eselect/eselect-wine-2"
QA_CONFIG_IMPL_DECL_SKIP=( res_getservers )
QA_CONFIG_IMPL_DECL_SKIP=(
__clear_cache # unused on amd64+x86 (bug #900338)
res_getservers # false positive
)
QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
PATCHES=(

@ -121,7 +121,10 @@ BDEPEND="
nls? ( sys-devel/gettext )"
IDEPEND=">=app-eselect/eselect-wine-2"
QA_CONFIG_IMPL_DECL_SKIP=( res_getservers )
QA_CONFIG_IMPL_DECL_SKIP=(
__clear_cache # unused on amd64+x86 (bug #900338)
res_getservers # false positive
)
QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
PATCHES=(

@ -122,7 +122,10 @@ BDEPEND="
nls? ( sys-devel/gettext )"
IDEPEND=">=app-eselect/eselect-wine-2"
QA_CONFIG_IMPL_DECL_SKIP=( res_getservers )
QA_CONFIG_IMPL_DECL_SKIP=(
__clear_cache # unused on amd64+x86 (bug #900338)
res_getservers # false positive
)
QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
PATCHES=(

@ -122,7 +122,10 @@ BDEPEND="
nls? ( sys-devel/gettext )"
IDEPEND=">=app-eselect/eselect-wine-2"
QA_CONFIG_IMPL_DECL_SKIP=( res_getservers )
QA_CONFIG_IMPL_DECL_SKIP=(
__clear_cache # unused on amd64+x86 (bug #900338)
res_getservers # false positive
)
QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
PATCHES=(

Binary file not shown.

@ -1 +1,2 @@
DIST afflib-3.7.19.tar.gz 540165 BLAKE2B dea0998741121d2c1ae0e42ced9652ec46816282128469af75e0a32f9e4e2d09ac4afb4888ee7925366a03a867932f2446bfcd3800ab4dc021939ab6c38c797b SHA512 6e0df7477bf7dbd3814099d94e3fce122e0cf9b714a425521b7458f4eedc6e8b8e7283fd37926b7c992cdf21d3adec620df29a79a6a5311bf1d1b5d4930768bc
DIST afflib-3.7.20.tar.gz 560441 BLAKE2B 6934efc30566b4b72e55e5727c46657362237872acae9d161f2625439d3d6e12da702b3ed82e3442b7015d8cb707097152cc73a6d0cc31d1ad61467f4022f7d4 SHA512 1ac623cb8462fc929a8ad1c014e92d319a3ebf5226ef07aa0777e4cbb77a9ee20adf570f39c960c9186ac2a477e861dfd5565d3364fdff22f9870f8c9ab30479

@ -0,0 +1,80 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{9..11} )
inherit autotools python-single-r1
MY_PN=AFFLIBv3
MY_P="${MY_PN}-${PV}"
DESCRIPTION="Library that implements the AFF image standard"
HOMEPAGE="https://github.com/sshock/AFFLIBv3/"
SRC_URI="https://github.com/sshock/${MY_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/${MY_P}"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~arm ~hppa ~ppc ~x86 ~x64-macos"
IUSE="fuse ncurses python qemu readline s3 static-libs threads"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
# Tests don't play well with sandbox
RESTRICT="test"
RDEPEND="
dev-libs/expat
sys-libs/zlib:=
fuse? ( sys-fs/fuse:0 )
dev-libs/openssl:=
ncurses? ( sys-libs/ncurses:= )
python? (
${PYTHON_DEPS}
$(python_gen_cond_dep 'dev-python/cython[${PYTHON_USEDEP}]')
)
readline? ( sys-libs/readline:= )
s3? ( net-misc/curl )
"
DEPEND="${RDEPEND}"
PATCHES=(
"${FILESDIR}/${PN}-3.7.19-search-path.patch"
)
pkg_setup() {
use python && python-single-r1_pkg_setup
}
src_prepare() {
default
sed -i \
-e '/FLAGS/s: -g::' \
-e 's:-D_FORTIFY_SOURCE=2::' \
configure.ac || die
eautoreconf
}
src_configure() {
# Hacks for automagic dependencies
use ncurses || export ac_cv_lib_ncurses_initscr=no
use readline || export ac_cv_lib_readline_readline=no
local myeconfargs=(
$(use_enable fuse)
$(use_enable python)
$(use_enable qemu)
$(use_enable s3)
$(use_enable static-libs static)
$(use_enable threads threading)
)
econf "${myeconfargs[@]}"
}
src_install() {
default
find "${ED}" -name "*.la" -delete || die
}

@ -8,6 +8,6 @@
<flag name="s3">Enable support for Amazon S3</flag>
</use>
<upstream>
<remote-id type="github">simsong/AFFLIBv3</remote-id>
<remote-id type="github">sshock/AFFLIBv3</remote-id>
</upstream>
</pkgmetadata>

Binary file not shown.

@ -0,0 +1,35 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit go-module
DESCRIPTION="Prometheus exporter that scrapes metrics from a ceph cluster"
HOMEPAGE="https://github.com/digitalocean/ceph_exporter"
SRC_URI="https://github.com/digitalocean/ceph_exporter/archive/${PV}.tar.gz -> ${P}.tar.gz"
SRC_URI+=" https://dev.gentoo.org/~williamh/dist/${P}-deps.tar.xz"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64"
RDEPEND="
acct-group/ceph
acct-user/ceph
sys-cluster/ceph
"
DEPEND="${RDEPEND}"
BDEPEND=">=dev-lang/go-1.18"
src_compile() {
go build -o bin/ceph_exporter || die
}
src_install() {
dobin bin/ceph_exporter
dodoc {README,CONTRIBUTING}.md exporter.yml
newconfd "${FILESDIR}"/${PN}.confd ${PN}
newinitd "${FILESDIR}"/${PN}.initd ${PN}
keepdir /var/lib/ceph_exporter /var/log/ceph_exporter
fowners ceph:ceph /var/lib/ceph_exporter /var/log/ceph_exporter
}

@ -0,0 +1,2 @@
DIST portage-exporter-0_p20230307.tar.gz 32044 BLAKE2B 23e590aba88bf071568e9643b22ec51d6fcaff11b5eb5ea1e66d39cf49468238cbb80a44a865ba7bbccb631540e33ab5a417201ec995227e84d122601c868fad SHA512 1e3bd18cf44ad849b0ee0a2dc737f6d334ce9dd29d03f53a05298df2013be8c77a7ed66c3171cc6c765ad21ab7705fd747856d95ef3259cc83fac85544e81781
DIST portage-exporter-ae39c6be10364896683ab1af0512ee8453bc153e-vendor.tar.xz 784800 BLAKE2B 600f207b15e54ab0f4c27691ce41efcdd3706bfc82c9170da3ebf2eb6283b5595bca08d7eebd3c7b5a6b2c7bcef704e70946e3fab63a537cf03ffa7dbe4a57a0 SHA512 e6e91296e8220d9fb34e0837714108d8806801d6799e49dc27b7dcaf8ddf39a92bff232ec3d616019ef5ae5c437bc81eee719ca658c299a35e8f1b165e38d3eb

@ -0,0 +1,26 @@
# /etc/conf.d/portage-exporter
# PID file
#EXPORTER_PIDFILE="/run/${RC_SVCNAME}.pid"
# The termination timeout (start-stop-daemon parameter "retry") ensures
# that the service will be terminated within a given time (60 + 5 seconds
# per default) when you are stopping the service.
#EXPORTER_TERMTIMEOUT="TERM/60/KILL/5"
# User to run exporter as
#EXPORTER_USER="portage-exporter"
# User group to run exporter as
#EXPORTER_GROUP="portage-exporter"
# You can use this configuration option to pass additional options to the
# start-stop-daemon, see start-stop-daemon(8) for more details.
# Per default we wait 1000ms after we have started the service to ensure
# that the daemon is really up and running.
#EXPORTER_SSDARGS="--wait 1000"
# Exporter flags (passed via env)
#SERVE_ADDRESS=":2112"
#SERVE_PATH=/metrics
VDB_UPDATE_INTERVAL=1800

@ -0,0 +1,49 @@
#!/sbin/openrc-run
# Copyright 2016-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
description="Prometheus exporter for Portage packages"
EXPORTER_FLAGS=${EXPORTER_FLAGS:-""}
#EXPORTER_USER=${EXPORTER_USER:-"portage-exporter"}
#EXPORTER_GROUP=${EXPORTER_GROUP:-"portage-exporter"}
EXPORTER_PIDFILE=${EXPORTER_PIDFILE:-"/run/${RC_SVCNAME}.pid"}
EXPORTER_SSDARGS=${EXPORTER_SSDARGS:-"--wait 1000"}
EXPORTER_TERMTIMEOUT=${EXPORTER_TERMTIMEOUT:-"TERM/60/KILL/5"}
command="/usr/bin/portage-exporter"
command_args="${EXPORTER_FLAGS}"
command_background="true"
start_stop_daemon_args="${EXPORTER_SSDARGS}"
start_stop_daemon_args="${start_stop_daemon_args} ${EXPORTER_USER:+--user }${EXPORTER_USER}"
start_stop_daemon_args="${start_stop_daemon_args} ${EXPORTER_GROUP:+--group }${EXPORTER_GROUP}"
getconfig() {
local key="$1"
local value_default="$2"
local value=
if service_started; then
value="$(service_get_value "${key}")"
fi
if [ -z "${value}" ]; then
# Value not explicitly set
echo "${value_default}"
else
echo "${value}"
fi
return 0
}
pidfile="$(getconfig pidfile ${EXPORTER_PIDFILE})"
retry="$(getconfig retry ${EXPORTER_TERMTIMEOUT})"
depend() {
after net.lo loopback
}
start_post() {
service_set_value retry "${EXPORTER_TERMTIMEOUT}"
}

@ -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>robbat2@gentoo.org</email>
</maintainer>
<maintainer type="person">
<!-- upstream -->
<email>arthurzam@gentoo.org</email>
</maintainer>
<upstream>
<remote-id type="github">projg2/portage-exporter</remote-id>
</upstream>
</pkgmetadata>

@ -0,0 +1,52 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit go-module
# uncomment the first setting of MY_PV for a normal release
# MY_PV="v${PV/_rc/-rc.}"
# set MY_PV to the full commit hash for a snapshot release
MY_PV_HASH=ae39c6be10364896683ab1af0512ee8453bc153e
HOMEPAGE="https://github.com/projg2/portage-exporter"
if [[ -n "${MY_PV_HASH}" ]]; then
MY_PV=${MY_PV_HASH}
EXPORTER_COMMIT=${MY_PV_HASH:0:8}
SRC_URI_UPSTREAM="${HOMEPAGE}/archive/${MY_PV}.tar.gz"
else
MY_PV=${PV}
EXPORTER_COMMIT=
SRC_URI_UPSTREAM="${HOMEPAGE}/archive/refs/tags/v${PV}.tar.gz"
fi
MY_P=${PN}-${MY_PV}
SRC_URI_VENDOR="https://dev.gentoo.org/~robbat2/distfiles/${MY_P}-vendor.tar.xz"
#SRC_URI_VENDOR="https://dev.gentoo.org/~robbat2/distfiles/${MY_P}-go-mod.tar.xz"
DESCRIPTION="Prometheus exporter for Gentoo Portage"
SRC_URI="
${SRC_URI_UPSTREAM} -> ${P}.tar.gz
${SRC_URI_VENDOR}
"
LICENSE="Apache-2.0 BSD MIT GPL-3"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""
BDEPEND=""
DEPEND=""
RDEPEND=""
S="${WORKDIR}/${PN}-${MY_PV}"
PATCHES=( )
src_compile() {
#cd ./cmd/portage-exporter/
#ego build
ego build -o "${PN}" ./cmd/portage-exporter/
}
src_install() {
dobin ${PN}
newinitd "${FILESDIR}"/${PN}.initd ${PN}
newconfd "${FILESDIR}"/${PN}.confd ${PN}
}

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

Loading…
Cancel
Save