Merge updates from master

This commit is contained in:
Repository mirror & CI
2025-03-28 15:22:59 +00:00
62 changed files with 1363 additions and 410 deletions

View File

@@ -13,7 +13,7 @@ S="${WORKDIR}/${MY_P}"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~mips ~ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~ppc-macos ~x64-macos"
IUSE="+edit gpm nls sftp +slang spell test unicode X"
REQUIRED_USE="spell? ( edit )"

View File

@@ -1,2 +1 @@
DIST calcurse-4.8.0.tar.gz 716234 BLAKE2B 3fc703626d5e17b78ff42c0ef4f554585efd8223c2bd9d8c2f7add681602dc585cf066ed7c55a040b2585ad07513b26a5297b3b41f4c94a043f61ad2ad9094c2 SHA512 ea156c4320abf97fdb5abc29ff1f9bc659a3cab0e571295ed04b42dd742c4c45a7d5958dc2d386fc0ee7bd733969a6275405d5cf10cd645c75cb97b6b9e571d6
DIST calcurse-4.8.1.tar.gz 730787 BLAKE2B 0c34b85313c3414dffc08635f6f37feb0a1e0f6c03bcf3b71a6cc95ed8fb4430ab1339abce72850364251884d707acb6cbbed0143d930f8bb76310ca5951b779 SHA512 a0a0bcfceb28a4e363168711a3c2de8f6e94d7f12aa78ff40f157c247ea6a41646bd218a1defba2d128b131ed0ab71c4d417820a0af0adbaa215011b11f0a040

View File

@@ -1,56 +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} )
inherit autotools python-single-r1
DESCRIPTION="A text-based calendar and scheduling application"
HOMEPAGE="https://calcurse.org/"
SRC_URI="https://calcurse.org/files/${P}.tar.gz"
LICENSE="BSD-2"
SLOT="0"
KEYWORDS="amd64 ~arm64 ppc ppc64 x86"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
IUSE="caldav doc"
RDEPEND="
sys-libs/ncurses:0=
sys-libs/timezone-data
${PYTHON_DEPS}
caldav? (
$(python_gen_cond_dep '
dev-python/httplib2[${PYTHON_USEDEP}]
dev-python/pyparsing[${PYTHON_USEDEP}]
')
)
"
DEPEND="
${RDEPEND}
"
BDEPEND="virtual/pkgconfig"
src_configure() {
local myconf=(
$(use_enable doc docs)
--without-asciidoc # do not use AsciiDoc to regenerate docs
)
ECONF_SOURCE="${S}" econf "${myconf[@]}"
}
src_compile() {
default
if use caldav; then
python_fix_shebang contrib/caldav/calcurse-caldav
fi
}
src_install() {
docompress -x /usr/share/doc # decompress text files
default
}

View File

@@ -1,9 +1,9 @@
# Copyright 1999-2024 Gentoo Authors
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{10..12} )
PYTHON_COMPAT=( python3_{10..13} )
inherit python-single-r1

View File

@@ -1,56 +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} )
inherit autotools python-single-r1
DESCRIPTION="A text-based calendar and scheduling application"
HOMEPAGE="https://calcurse.org/"
SRC_URI="https://calcurse.org/files/${P}.tar.gz"
LICENSE="BSD-2"
SLOT="0"
KEYWORDS="amd64 ~arm64 ~ppc ~ppc64 x86"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
IUSE="caldav doc"
RDEPEND="
sys-libs/ncurses:0=
sys-libs/timezone-data
${PYTHON_DEPS}
caldav? (
$(python_gen_cond_dep '
dev-python/httplib2[${PYTHON_USEDEP}]
dev-python/pyparsing[${PYTHON_USEDEP}]
')
)
"
DEPEND="
${RDEPEND}
"
BDEPEND="virtual/pkgconfig"
src_configure() {
local myconf=(
$(use_enable doc docs)
--without-asciidoc # do not use AsciiDoc to regenerate docs
)
ECONF_SOURCE="${S}" econf "${myconf[@]}"
}
src_compile() {
default
if use caldav; then
python_fix_shebang contrib/caldav/calcurse-caldav
fi
}
src_install() {
docompress -x /usr/share/doc # decompress text files
default
}

View File

@@ -0,0 +1,46 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 496226e89..cb032d6d5 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -51,17 +51,6 @@ function(CREATE_TARGET target)
add_custom_target(
${target} ALL
COMMAND
- "${CMAKE_COMMAND}" -E
- env ${VARS_FOR_CARGO}
- ${Rust_CARGO}
- build --bin ${target}
- $<$<CONFIG:Release>:--release>
- $<$<CONFIG:RelWithDebInfo>:--profile=release-with-debug>
- --target ${Rust_CARGO_TARGET}
- --no-default-features
- ${CARGO_FLAGS}
- ${FEATURES_ARG}
- &&
"${CMAKE_COMMAND}" -E
copy "${rust_target_dir}/${rust_profile}/${target}" "${CMAKE_CURRENT_BINARY_DIR}"
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
diff --git a/cmake/Rust.cmake b/cmake/Rust.cmake
index 40887be45..fa0f7ab6f 100644
--- a/cmake/Rust.cmake
+++ b/cmake/Rust.cmake
@@ -5,7 +5,7 @@ set(Rust_RESOLVE_RUSTUP_TOOLCHAINS Off)
include(FindRust)
find_package(Rust REQUIRED)
-set(FISH_RUST_BUILD_DIR "${CMAKE_BINARY_DIR}/cargo/build")
+set(FISH_RUST_BUILD_DIR "${CMAKE_SOURCE_DIR}/target")
if(DEFINED ASAN)
list(APPEND CARGO_FLAGS "-Z" "build-std")
@@ -22,8 +22,8 @@ else()
set(rust_target_dir "${FISH_RUST_BUILD_DIR}/${Rust_CARGO_HOST_TARGET}")
endif()
-set(rust_profile $<IF:$<CONFIG:Debug>,debug,$<IF:$<CONFIG:RelWithDebInfo>,release-with-debug,release>>)
-set(rust_debugflags "$<$<CONFIG:Debug>:-g>$<$<CONFIG:RelWithDebInfo>:-g>")
+set(rust_profile $<IF:$<CONFIG:Debug>,debug,release>)
+set(rust_debugflags "$<$<CONFIG:Debug>:-g>")
# Temporary hack to propogate CMake flags/options to build.rs. We need to get CMake to evaluate the

View File

@@ -0,0 +1,46 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0510cd2d7..c49f80d69 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -41,17 +41,6 @@ function(CREATE_TARGET target)
add_custom_target(
${target} ALL
COMMAND
- "${CMAKE_COMMAND}" -E
- env ${VARS_FOR_CARGO}
- ${Rust_CARGO}
- build --bin ${target}
- $<$<CONFIG:Release>:--release>
- $<$<CONFIG:RelWithDebInfo>:--profile=release-with-debug>
- --target ${Rust_CARGO_TARGET}
- --no-default-features
- ${CARGO_FLAGS}
- ${FEATURES_ARG}
- &&
"${CMAKE_COMMAND}" -E
copy "${rust_target_dir}/${rust_profile}/${target}" "${CMAKE_CURRENT_BINARY_DIR}"
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
diff --git a/cmake/Rust.cmake b/cmake/Rust.cmake
index c5bb1b1b3..618b47183 100644
--- a/cmake/Rust.cmake
+++ b/cmake/Rust.cmake
@@ -5,7 +5,7 @@ set(Rust_RESOLVE_RUSTUP_TOOLCHAINS Off)
include(FindRust)
find_package(Rust 1.70 REQUIRED)
-set(FISH_RUST_BUILD_DIR "${CMAKE_BINARY_DIR}/cargo/build")
+set(FISH_RUST_BUILD_DIR "${CMAKE_SOURCE_DIR}/target")
if(DEFINED ASAN)
list(APPEND CARGO_FLAGS "-Z" "build-std")
@@ -22,8 +22,8 @@ else()
set(rust_target_dir "${FISH_RUST_BUILD_DIR}/${Rust_CARGO_HOST_TARGET}")
endif()
-set(rust_profile $<IF:$<CONFIG:Debug>,debug,$<IF:$<CONFIG:RelWithDebInfo>,release-with-debug,release>>)
-set(rust_debugflags "$<$<CONFIG:Debug>:-g>$<$<CONFIG:RelWithDebInfo>:-g>")
+set(rust_profile $<IF:$<CONFIG:Debug>,debug,release>)
+set(rust_debugflags "$<$<CONFIG:Debug>:-g>")
# Temporary hack to propagate CMake flags/options to build.rs. We need to get CMake to evaluate the

View File

@@ -10,7 +10,7 @@ declare -A GIT_CRATES=(
[pcre2]='https://github.com/fish-shell/rust-pcre2;85b7afba1a9d9bd445779800e5bcafeb732e4421;rust-pcre2-%commit%'
)
inherit cargo cmake multiprocessing readme.gentoo-r1 xdg
inherit cargo cmake readme.gentoo-r1 xdg
DESCRIPTION="Friendly Interactive SHell"
HOMEPAGE="https://fishshell.com/"
@@ -46,6 +46,10 @@ BDEPEND="
# Release tarballs contain prebuilt documentation.
[[ ${PV} == 9999 ]] && BDEPEND+=" doc? ( dev-python/sphinx )"
PATCHES=(
"${FILESDIR}/${PN}-4.0.1-use-cargo-eclass-for-build.patch"
)
QA_FLAGS_IGNORED="usr/bin/.*"
src_unpack() {
@@ -60,7 +64,6 @@ src_unpack() {
src_configure() {
local mycmakeargs=(
-DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
-DCTEST_PARALLEL_LEVEL="$(makeopts_jobs)"
-DINSTALL_DOCS="$(usex doc)"
)
cargo_src_configure --no-default-features \
@@ -87,20 +90,10 @@ src_compile() {
fi
cargo_src_compile
# Copy built binaries into the cmake build directory to mark the targets
# up-to-date in cmake.
for target in fish fish_indent fish_key_reader; do
cp "$(cargo_target_dir)/${target}" "${BUILD_DIR}" || die
done
cmake_src_compile
}
src_test() {
local -x CARGO_TERM_COLOR=always
local -x FISH_SOURCE_DIR="${S}"
local -x FISH_FORCE_COLOR=1
local -x TEST_VERBOSE=1
cargo_env cmake_src_test -R cargo-test
}

View File

@@ -50,6 +50,10 @@ BDEPEND="
# Release tarballs contain prebuilt documentation.
[[ ${PV} == 9999 ]] && BDEPEND+=" doc? ( dev-python/sphinx )"
PATCHES=(
"${FILESDIR}/${PN}-9999-use-cargo-eclass-for-build.patch"
)
QA_FLAGS_IGNORED="usr/bin/.*"
python_check_deps() {
@@ -101,14 +105,6 @@ src_compile() {
fi
cargo_src_compile
# Copy built binaries into the cmake build directory to mark the targets
# up-to-date in cmake.
for target in fish fish_indent fish_key_reader; do
cp "$(cargo_target_dir)/${target}" "${BUILD_DIR}" || die
done
cmake_src_compile
}
src_test() {
@@ -129,7 +125,6 @@ src_test() {
# Enable colored output for building tests.
local -x CARGO_TERM_COLOR=always
# TODO: Figure out why we link again.
cargo_env cmake_build fish_run_tests
}

View File

@@ -1,3 +1,4 @@
DIST cpp-httplib-0.18.1.tar.gz 1323636 BLAKE2B 8335c9a4d69d7e9b2e7e3c4036b49627536c8d6cffa7a5ae2c3dff693c5458f7fa2f89f3da2c130325069225d3204ec579900d5c5266dff7a9c732c134b39907 SHA512 6dd1054d0171594bf871a918b5540cc67981a48f7dbb82e9029a4877afc6d8c36e2f69411f5eec7b052bf0245554d01f33ef2180f42a15f6b8dd86ebb2427a41
DIST cpp-httplib-0.18.3.tar.gz 1324253 BLAKE2B 995ae8cd63013ec03e86f56e089b4f1374a8913eaf02d8fc07997b986dc8f65b1bda710ed686b6cc111e6203d15bbcb9db08cd810d2167c1658bfa99dc9b61b2 SHA512 d9eb70dfd8ebde658852d1a8cf9f96419ca11cad889b54672aa4812c0b5db0c3f1fddf63f536aec19fc4a849f41ed22461581a18f0733d3f906e45dd096bafd8
DIST cpp-httplib-0.18.6.tar.gz 1326428 BLAKE2B bee65790b8f2a19f80fd8f38799d650ceaef021b6e9f28b2fd0678f4c50b95d210f9764775d67365e65e6f9e03d6999091f28aa553655444c8ff369172cf13f9 SHA512 326c1b3315256c1e1e8b6406b9209215f5c264e1071ab3de400011486713b90cb8f88b48ac979fb024ba91441c2fb00aa40a15b85bfac9895c052f2131773249
DIST cpp-httplib-0.20.0.tar.gz 1408009 BLAKE2B f3888337edd0bf6753b28641a9d7196e59b73648de3e70b7d9e6072a7966c40ead4ef169a6f224b3c31cf4829ab71ffb3e461257f661e613cc806a596c1d6c30 SHA512 a20d306bfc7b3749f67c3f213f410cf61e1d3896cb7b02582299af7a396731594d514680d8af54a48e1462223a30354446c7970dc38f68fb2f647c9d2e018581

View File

@@ -0,0 +1,100 @@
# Copyright 2022-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{11..13} )
inherit cmake-multilib python-any-r1 toolchain-funcs
DESCRIPTION="C++ HTTP/HTTPS server and client library"
HOMEPAGE="https://github.com/yhirose/cpp-httplib/"
if [[ "${PV}" == *9999* ]] ; then
inherit git-r3
EGIT_REPO_URI="https://github.com/yhirose/${PN}.git"
else
SRC_URI="https://github.com/yhirose/${PN}/archive/v${PV}.tar.gz
-> ${P}.tar.gz"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
fi
LICENSE="MIT"
SLOT="0/0.20" # soversion / /usr/include/httplib.h: CPPHTTPLIB_VERSION
IUSE="brotli ssl test zlib zstd"
RESTRICT="!test? ( test )"
RDEPEND="
brotli? (
app-arch/brotli:=[${MULTILIB_USEDEP}]
)
ssl? (
>=dev-libs/openssl-3.0.13:=[${MULTILIB_USEDEP}]
)
zlib? (
sys-libs/zlib[${MULTILIB_USEDEP}]
)
zstd? (
app-arch/zstd[${MULTILIB_USEDEP}]
)
"
DEPEND="
${RDEPEND}
"
BDEPEND="
${PYTHON_DEPS}
"
src_configure() {
local -a mycmakeargs=(
-DHTTPLIB_COMPILE=yes
-DBUILD_SHARED_LIBS=yes
-DHTTPLIB_USE_BROTLI_IF_AVAILABLE=no
-DHTTPLIB_USE_OPENSSL_IF_AVAILABLE=no
-DHTTPLIB_USE_ZLIB_IF_AVAILABLE=no
-DHTTPLIB_USE_ZSTD_IF_AVAILABLE=no
-DHTTPLIB_REQUIRE_BROTLI=$(usex brotli)
-DHTTPLIB_REQUIRE_OPENSSL=$(usex ssl)
-DHTTPLIB_REQUIRE_ZLIB=$(usex zlib)
-DHTTPLIB_REQUIRE_ZSTD=$(usex zstd)
-DPython3_EXECUTABLE="${PYTHON}"
)
cmake-multilib_src_configure
}
multilib_src_test() {
cp -p -R --reflink=auto "${S}/test" ./test || die
local -a failing_tests=(
# Disable all online tests.
"*.*_Online"
# Fails on musl x86:
ServerTest.GetRangeWithMaxLongLength
ServerTest.GetStreamedWithTooManyRanges
# https://github.com/yhirose/cpp-httplib/issues/1798
# Filed by mgorny's testing, fails on openssl >=3.2:
SSLClientServerTest.ClientCertPresent
SSLClientServerTest.ClientEncryptedCertPresent
SSLClientServerTest.CustomizeServerSSLCtx
SSLClientServerTest.MemoryClientCertPresent
SSLClientServerTest.MemoryClientEncryptedCertPresent
SSLClientServerTest.TrustDirOptional
# https://github.com/yhirose/cpp-httplib/issues/2113
MaxTimeoutTest.ContentStream
MaxTimeoutTest.ContentStreamSSL
)
# Little dance to please the GTEST filter (join array using ":").
failing_tests_str="${failing_tests[@]}"
failing_tests_filter="${failing_tests_str// /:}"
# PREFIX is . to avoid calling "brew" and relying on stuff in /opt
GTEST_FILTER="-${failing_tests_filter}" emake -C test \
CXX="$(tc-getCXX)" CXXFLAGS="${CXXFLAGS} -I." PREFIX=.
}

View File

@@ -1,2 +1 @@
DIST mycli-1.27.2.gh.tar.gz 286537 BLAKE2B 7bff978f9a08561c33f5327f13b8b69226e5c735527a607190a3c5d75f091b9f76b8d432e7a3e315ff250995e0baea7f7e0bede17e0b1cc6654939b7ec82b0ae SHA512 fdf0342b0e850b5232c815e73f44f22c7ea162201588681ccf2f4107b84b87f01fff3999a9720fef454239192356f074f47642ddc760af18973a2aaaac4676cd
DIST mycli-1.29.2.tar.gz 293270 BLAKE2B c50b45f217f9b358334cd28a975e5de7b1f70903bf32ee719e03e067b13df13b856a24b9631d2b37a7ad668a82307b030cce1111f0a2ffe625cf9756680eee31 SHA512 13279ec14a0310323f1e407147749e8c628d9cc60688080e691ccfd9cdffd4d8d840a18b6a81075e08247b8a64a19808fbedf2898ab0b2e80ec2906182f23f28

View File

@@ -1,76 +0,0 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_SINGLE_IMPL=yes
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
DESCRIPTION="CLI for MySQL Database with auto-completion and syntax highlighting"
HOMEPAGE="
https://www.mycli.net/
https://github.com/dbcli/mycli/
https://pypi.org/project/mycli/
"
SRC_URI="
https://github.com/dbcli/mycli/archive/v${PV}.tar.gz
-> ${P}.gh.tar.gz
"
LICENSE="BSD MIT"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~x86"
IUSE="ssh"
RDEPEND="
$(python_gen_cond_dep '
>=dev-python/cli-helpers-2.2.1[${PYTHON_USEDEP}]
>=dev-python/click-7.0[${PYTHON_USEDEP}]
>=dev-python/configobj-5.0.5[${PYTHON_USEDEP}]
>=dev-python/cryptography-1.0.0[${PYTHON_USEDEP}]
>=dev-python/prompt-toolkit-3.0.6[${PYTHON_USEDEP}]
<dev-python/prompt-toolkit-4.0.0[${PYTHON_USEDEP}]
>=dev-python/pyaes-1.6.1[${PYTHON_USEDEP}]
>=dev-python/pygments-1.6[${PYTHON_USEDEP}]
>=dev-python/pymysql-0.9.2[${PYTHON_USEDEP}]
>=dev-python/pyperclip-1.8.1[${PYTHON_USEDEP}]
>=dev-python/sqlglot-5.1.3[${PYTHON_USEDEP}]
>=dev-python/sqlparse-0.3.0[${PYTHON_USEDEP}]
ssh? ( dev-python/paramiko[${PYTHON_USEDEP}] )
')
"
BDEPEND="
test? (
$(python_gen_cond_dep '
dev-python/paramiko[${PYTHON_USEDEP}]
')
)
"
EPYTEST_DESELECT=(
# Requires a running mysql daemon
"test/test_main.py::test_batch"
"test/test_main.py::test_execute"
"test/test_main.py::test_init"
"test/test_special_iocommands.py::test_favorite_query"
"test/test_special_iocommands.py::test_watch"
"test/test_tabular_output.py::test_sql_output"
)
EPYTEST_IGNORE=(
# Requires a running mysql daemon
"test/test_sqlexecute.py"
)
distutils_enable_tests pytest
src_prepare() {
default
# Relax sqlparse requirement, 0.5.0 didn't have major API changes that would necessitate this restriction.
# bug #930690
sed -i -e '/sqlparse/ s/,<0.5.0//' setup.py || die
}

View File

@@ -5,7 +5,7 @@ EAPI=8
DISTUTILS_SINGLE_IMPL=yes
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{11..12} )
PYTHON_COMPAT=( python3_{11..13} )
inherit distutils-r1 pypi

View File

@@ -15,7 +15,7 @@ S="${WORKDIR}/${P}"
LICENSE="Apache-2.0"
SLOT="2.3"
KEYWORDS="~amd64 ~arm64 ~ppc64 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
KEYWORDS="amd64 arm64 ppc64 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
# If you add new ones, add them to ant-apache-bsf too for use dependencies
IUSE="javascript tcl"

View File

@@ -16,7 +16,7 @@ S="${WORKDIR}/rhino-Rhino${PV//./_}_Release"
LICENSE="MPL-1.1 GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~ppc64"
KEYWORDS="amd64 arm64 ppc64"
# error: package jdk.dynalink does not exist
# error: package jdk.dynalink.linker does not exist

1
dev-libs/md4c/Manifest Normal file
View File

@@ -0,0 +1 @@
DIST md4c-0.5.2.tar.gz 237973 BLAKE2B 7f3f80c1bcfa3040b4458876abc8eabbad387242fbdcde08b34d9a279da56e4c2264a591deb6ad3061c951b4ca547f896589682aa5c6b50febfc03b89c61be3e SHA512 30607ba39d6c59329f5a56a90cd816ff60b82ea752ac2b9df356d756529cfc49170019fae5df32fa94afc0e2a186c66eaf56fa6373d18436c06ace670675ba85

View File

@@ -0,0 +1,50 @@
# Copyright 2022-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{10..13} )
inherit cmake python-any-r1
DESCRIPTION="C Markdown parser. Fast, SAX-like interface, CommonMark Compliant."
HOMEPAGE="https://github.com/mity/md4c"
# TODO(NRK):
# - useflag for static lib (?)
if [[ ${PV} == 9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/mity/md4c.git"
else
SRC_URI="https://github.com/mity/md4c/archive/refs/tags/release-${PV}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/md4c-release-${PV}"
KEYWORDS="~amd64"
fi
LICENSE="MIT test? ( CC-BY-SA-4.0 )"
SLOT="0"
IUSE="+md2html test"
REQUIRED_USE="test? ( md2html )"
RESTRICT="!test? ( test )"
BDEPEND="test? ( ${PYTHON_DEPS} )"
pkg_setup() {
use test && python-any-r1_pkg_setup
}
src_configure() {
mycmakeargs=(
-DBUILD_SHARED_LIBS=ON
-DBUILD_MD2HTML_EXECUTABLE=$(usex md2html)
)
cmake_src_configure
}
src_test() {
pushd "${BUILD_DIR}" || die
# Uses python internally
"${S}"/scripts/run-tests.sh || die
popd
}

View File

@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person" proxied="yes">
<email>nrk@disroot.org</email>
</maintainer>
<maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
<use>
<flag name="md2html">Build the md2html cli tool</flag>
</use>
<upstream>
<remote-id type="github">mity/md4c</remote-id>
</upstream>
</pkgmetadata>

View File

@@ -0,0 +1,38 @@
From 96a056fb37684496c0495a831f8fd11b48ef01a9 Mon Sep 17 00:00:00 2001
From: Alfred Wingate <parona@protonmail.com>
Date: Sat, 22 Feb 2025 12:40:58 +0200
Subject: [PATCH] Try to remove defunct threads from running_threads just in
case
On Gentoo it was decided to remove server functionality from
paramiko leading to the ssh-server to be dead before it could be
properly removed from running_threads. This would lead to a hang where
memory footprint of the process would grow with repeated "thread
ssh-server now stopped" messages inevitably leading to an OOM condition.
So try to remove defunct threads from running_threads after the fact to
stop this problem from coming back and let it fail normally.
Bug: https://github.com/pahaz/sshtunnel/issues/153
Bug: https://bugs.gentoo.org/666619
Bug: https://bugs.gentoo.org/683774
Signed-off-by: Alfred Wingate <parona@protonmail.com>
--- a/tests/test_forwarder.py
+++ b/tests/test_forwarder.py
@@ -251,6 +251,13 @@ class SSHClientTest(unittest.TestCase):
who='tearDown')
if not x.is_alive():
self.log.info('thread {0} now stopped'.format(thread))
+ # Try to remove thread running_threads just in case
+ # the thread is dead but hasn't been properly removed.
+ # https://github.com/pahaz/sshtunnel/issues/153
+ try:
+ self.running_threads.remove(thread)
+ except ValueError:
+ pass
for attr in ['server', 'tc', 'ts', 'socks', 'ssockl', 'esockl']:
if hasattr(self, attr):
--
2.49.0

View File

@@ -4,7 +4,8 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{10..12} )
EPYTEST_XDIST=1
PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
DESCRIPTION="Pure Python SSH tunnels"
@@ -14,6 +15,21 @@ LICENSE="MIT"
SLOT="0"
KEYWORDS="amd64 ~arm ~arm64 x86"
RESTRICT="test"
RDEPEND="dev-python/paramiko[${PYTHON_USEDEP}]"
BDEPEND="
test? (
dev-python/paramiko[server(+),${PYTHON_USEDEP}]
dev-python/mock[${PYTHON_USEDEP}]
)
"
PATCHES=(
"${FILESDIR}"/sshtunnel-0.4.0-dont-deadlock-tests.patch
)
distutils_enable_tests pytest
EPYTEST_DESELECT=(
# network-sandbox
tests/test_forwarder.py::SSHClientTest::test_gateway_ip_unresolvable_raises_exception
)

View File

@@ -1,4 +1,4 @@
# Copyright 1999-2024 Gentoo Authors
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -12,7 +12,7 @@ SRC_URI="https://downloads.sourceforge.net/${PN}/${PN}/${PV}/${P}.tar.xz"
LICENSE="BSD"
SLOT="0"
IUSE="examples"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux"
KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux"
RESTRICT="!test? ( test )"
RDEPEND="

View File

@@ -15,7 +15,7 @@ S="${WORKDIR}"/${P}-src
LICENSE="MPL-1.1"
SLOT="0"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~mips ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~mips ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
IUSE="threads"
DEPEND="

View File

@@ -1,4 +1,2 @@
DIST android-udev-rules-20240625.tar.gz 24970 BLAKE2B 40558ad0d6207efa690c632f76ceb71cbd79c6cff68463857a211f3fe9257bbf1d37260ccfec2d9bafff480b14bbf7b2f47b65852b7cc7aeaefc9e36cc122a95 SHA512 c9d534d7ddc5e290a992773a967f1625241f999c22d1c469e7f88c3c39a3a01da922e42d31b0c8b109dac08400f0cf515177a048a2a0ae27d2158ba265d2649e
DIST android-udev-rules-20240829.tar.gz 24981 BLAKE2B 8886bb32bd70c4ebb1ce0381ca6799ec12087a59ce7266bfb7cf3a3daba60c4fab854a0a9fa24084acf4db983a1b0f9271b4e1bf32c6b21d21db289281c15f86 SHA512 a75b23ab0ad12d11af3ace9dfbab218fb56ee186a4e69c59358ea77322355150f889a900fd7ae9eb673d3f8ff7acde6262eb8915225df337191d992716665128
DIST android-udev-rules-20241019.tar.gz 25029 BLAKE2B 3e556bfd121a1f413281beec32289ef097faba7e79487483378505fee97e16a6a87fa6559a749bca8d7dffebb95e9cc20a205e36c31eca6e43d8bfa3cc8f1ac6 SHA512 1979b2338bcaeef08a31d1009abdc0c4cf30c9c52b58639bb54879d4a56fde406aa643d32557a367c35cc90cbbf5c52d1d30e9cd1f24878a8bc88b93c6bf9462
DIST android-udev-rules-20241109.tar.gz 25066 BLAKE2B f4e6aae124d84752cb22365a1362a1865fee98bab45e2726e0c1c586f71aa17fe9e68277b8b38d65bcc1fa5b6a468ce03f6cdb318c5f9b414328cef7a21f4f43 SHA512 93df449cb5fe4f2058f385e9de40559da9ae0cde0cf18aed3c5690c7393027c60b0e6d31a4963449271888b3780fbdfdfcf609a23732194411d90ace744ac556
DIST android-udev-rules-20250314.tar.gz 25109 BLAKE2B 8e0738d69a244a5df42b696d32f4d7ca629f660598fb470eb4dcfab93c937aea3bc2a9d9ed5a9ebbd65714551b81cd95cab5cf51e1cb5cc07128c2f741c60afd SHA512 792851a7579cc183f15900d74c476ed3a96e8cfe5a510a0c9f0ee5ee16642f497c237a32d68d725efcbeeade613cc0fb6135e5ed5797a84d776e367e1b5b5974

View File

@@ -1,42 +0,0 @@
# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit udev
DESCRIPTION="Android udev rules list aimed to be the most comprehensive on the net"
HOMEPAGE="https://github.com/M0Rf30/android-udev-rules"
SRC_URI="https://github.com/M0Rf30/android-udev-rules/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="amd64 ~arm arm64 x86"
# No tests
RESTRICT="test"
RDEPEND="
acct-group/android
virtual/udev
"
src_prepare() {
default
# Use the pre-existing android group
sed -i 's/GROUP="adbusers"/GROUP="android"/' 51-android.rules || die
}
src_install() {
udev_dorules 51-android.rules
einstalldocs
}
pkg_postinst() {
udev_reload
}
pkg_postrm() {
udev_reload
}

View File

@@ -1,42 +0,0 @@
# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit udev
DESCRIPTION="Android udev rules list aimed to be the most comprehensive on the net"
HOMEPAGE="https://github.com/M0Rf30/android-udev-rules"
SRC_URI="https://github.com/M0Rf30/android-udev-rules/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="amd64 ~arm arm64 x86"
# No tests
RESTRICT="test"
RDEPEND="
acct-group/android
virtual/udev
"
src_prepare() {
default
# Use the pre-existing android group
sed -i 's/GROUP="adbusers"/GROUP="android"/' 51-android.rules || die
}
src_install() {
udev_dorules 51-android.rules
einstalldocs
}
pkg_postinst() {
udev_reload
}
pkg_postrm() {
udev_reload
}

View File

@@ -1,4 +1,4 @@
# Copyright 2022-2024 Gentoo Authors
# Copyright 2022-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/M0Rf30/android-udev-rules/archive/refs/tags/${PV}.ta
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="amd64 ~arm arm64 x86"
KEYWORDS="~amd64 ~arm ~arm64 ~x86"
# No tests
RESTRICT="test"

View File

@@ -1 +1,2 @@
DIST bear-3.1.5.tar.gz 152228 BLAKE2B 64d03d1ca5b1473e4d0b2106969285a2391471a0027cf387c72fe70769293fa361196cb1d37ebb528d27b5741b792472fad09688761ab7f73dc0ea7db96d8be1 SHA512 acf233f7bb8215694734b6c947c965323c0a5ea0c2a6bbb210a37e38fdf545326ca8de3a7b31ce81469756afd1c02233775ddc5936fd04132f216def6e3ce1de
DIST bear-3.1.6.tar.gz 170892 BLAKE2B dc54bf28ad329e39b609b4993a1b6a78b4ea6562fa57b1615f4b7885c0aab70a124c485c435f3cb341be2915ee7f0b80ab9362c3504899d436271208e25cf239 SHA512 5852ca8d93459a9e1a6d2e030cc3963c213bf1638241825ec5df4eea7e3460faca9436ca2e36b8e5da40222306a0ecc8ed80d1f5e518ddd97dc5e200d42a75bb

View File

@@ -0,0 +1,114 @@
# Copyright 2020-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{10..13} )
inherit cuda cmake multiprocessing python-any-r1
DESCRIPTION="Build EAR generates a compilation database for clang tooling"
HOMEPAGE="https://github.com/rizsotto/Bear"
SRC_URI="https://github.com/rizsotto/Bear/archive/${PV}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/${P^}"
LICENSE="GPL-3+"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86"
IUSE="cuda test"
RESTRICT="!test? ( test )"
RDEPEND="
>=dev-libs/libfmt-9.1.0:=
dev-libs/protobuf:=
>=dev-libs/spdlog-1.11.0:=
>=net-libs/grpc-1.49.2:=
cuda? ( dev-util/nvidia-cuda-toolkit )
"
DEPEND="
${RDEPEND}
>=dev-cpp/nlohmann_json-3.11.2:=
test? (
>=dev-cpp/gtest-1.13
)
"
BDEPEND="
virtual/pkgconfig
test? (
dev-build/libtool
$(python_gen_any_dep '
dev-python/lit[${PYTHON_USEDEP}]
')
)
"
PATCHES=(
"${FILESDIR}/${PN}-3.1.4-tests.patch"
"${FILESDIR}/${PN}-3.1.4-reduce-grpc-verbosity.patch"
"${FILESDIR}/${PN}-3.1.6-always.patch"
)
pkg_setup() {
use test && python-any-r1_pkg_setup
}
src_prepare() {
cmake_src_prepare
# Turn off testing before installation
sed -i 's/TEST_BEFORE_INSTALL/TEST_EXCLUDE_FROM_MAIN/g' CMakeLists.txt || die
}
src_configure() {
# TODO: remove this when https://bugs.gentoo.org/928346 is fixed
export CMAKE_BUILD_PARALLEL_LEVEL=$(makeopts_jobs)
local mycmakeargs=(
-DENABLE_UNIT_TESTS="$(usex test)"
-DENABLE_FUNC_TESTS="$(usex test)"
)
cmake_src_configure
}
src_test() {
if has sandbox "${FEATURES}"; then
ewarn "FEATURES=sandbox detected"
ewarn "Bear overrides LD_PRELOAD and conflicts with gentoo sandbox"
ewarn "tests will fail"
fi
if has usersandbox "${FEATURES}"; then
ewarn "FEATURES=usersandbox detected"
ewarn "tests will fail"
fi
if
has network-sandbox "${FEATURES}"; then
ewarn "FEATURES=network-sandbox detected"
ewarn "tests will fail"
fi
if
has_version -b 'sys-devel/gcc-config[-native-symlinks]'; then
ewarn "\'sys-devel/gcc-config[-native-symlinks]\' detected, tests call /usr/bin/cc directly (hardcoded)"
ewarn "and will fail without generic cc symlink"
fi
einfo "test may use optional tools if found: gfortran libtool nvcc valgrind"
# unit tests
BUILD_DIR="${BUILD_DIR}/subprojects/Build/BearSource" cmake_src_test
# functional tests
if use cuda; then
NVCC_CCBIN="$(cuda_gccdir)"
export NVCC_CCBIN
else
LIT_SKIP_TESTS+=( "cases/compilation/output/compile_cuda.sh" )
fi
mylitopts+=(-j "$(makeopts_jobs)" )
[[ -n "${LIT_SKIP_TESTS[*]}" ]] && mylitopts+=( --filter-out "($( IFS='|'; echo "${LIT_SKIP_TESTS[*]}"))" )
export LIT_OPTS="${mylitopts[*]}"
BUILD_DIR="${BUILD_DIR}/subprojects/Build/BearTest" cmake_src_test
}

View File

@@ -0,0 +1,14 @@
Reverse of https://github.com/rizsotto/Bear/commit/83383261e0756d2a5c5b85cf469f1fa34110c9ed
https://github.com/rizsotto/Bear/issues/625
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -83,8 +83,6 @@ ExternalProject_Add(BearSource
-DCMAKE_MODULE_LINKER_FLAGS:STRING=${CMAKE_MODULE_LINKER_FLAGS}
-DROOT_INSTALL_PREFIX:PATH=${CMAKE_INSTALL_PREFIX}
${CMAKE_CACHE_ARGS_EXTRA}
- BUILD_ALWAYS
- 1
TEST_BEFORE_INSTALL
1
TEST_COMMAND

View File

@@ -41,6 +41,7 @@ IUSE="btf debug ${LIBABIGAIL_DOCS_USEFLAG} test"
RESTRICT="!test? ( test )"
RDEPEND="
app-arch/xz-utils
dev-libs/elfutils
dev-libs/libxml2:2
dev-libs/xxhash

View File

@@ -1 +1,2 @@
DIST omake-0.10.3.tar.gz 2438877 BLAKE2B c14adc4da9849b369a2cf5e3676260a2efeb6339939de95965f708b93ac5964af0a8b7e79ebaf98a20061c45530a20ca3825e7a432a3d8b86cdef3ab661cd5d9 SHA512 77eb87b819048d7d9cb9b89a73c5f922ba3adc93f0d58536b3cfa20abdbf1d2a4c576b77921c52e8ea5f80171e8a503b573bf2a92b65fa0579f6492574079733
DIST omake-0.10.7.tar.gz 1508061 BLAKE2B 8b9d006b65b8a0c2498986062691347cebeb42ad405f18ab8060e76f7bc4719b974285e61f2268dff094e4ee082c76a2903f421d012d3271c2eddf5931520f8d SHA512 bbc8637ad98cae742d7ae91af9a295fe2dff4bd637c14d913b8b6924a562e645a54f1ad698817c2cea1bb4eb883af73dad5fe81d86b2179c8e0258e9ecc4e4c6

View File

@@ -1,5 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<!-- maintainer-needed -->
<upstream>
<remote-id type="github">ocaml-omake/omake</remote-id>
</upstream>
</pkgmetadata>

View File

@@ -0,0 +1,89 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit edo toolchain-funcs
DESCRIPTION="Make replacement"
HOMEPAGE="http://projects.camlcity.org/projects/omake.html"
SRC_URI="https://github.com/ocaml-omake/omake/archive/refs/tags/${P}.tar.gz"
S="${WORKDIR}/${PN}-${P}"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~x86"
IUSE="doc fam ncurses +ocamlopt readline"
RESTRICT="installsources !ocamlopt? ( strip )"
DEPEND=">=dev-lang/ocaml-3.10.2:=[ocamlopt?]
ncurses? ( >=sys-libs/ncurses-5.3:0= )
fam? ( virtual/fam )
readline? ( >=sys-libs/readline-4.3:0= )"
RDEPEND="${DEPEND}"
BDEPEND=">=dev-lang/ocaml-3.10.2"
PATCHES=(
"${FILESDIR}/${PN}-0.10.2-cflags.patch"
)
src_prepare() {
default
cat <<- EOF > .config.local || die
# Install man pages into the correct location
public.MANDIR = $'${EPREFIX}/usr/share/man'
EOF
# https://bugs.gentoo.org/722934
sed -i -e "s/AR = ar/AR = $(tc-getAR)/" mk/osconfig_unix.mk || die
}
src_configure() {
edo ./configure \
-prefix "${EPREFIX}/usr" \
$(usev !readline '-disable-readline') \
$(usev !ncurses '-disable-ncurses') \
$(usev !fam '-disable-fam')
}
src_compile() {
emake all
}
src_test() {
# C lexer tests fails with glibc and gcc headers
# *** omake error:
# File /usr/include/stdio.h: line 212, characters 27-28
# Syntax error on token lbrack
# Current state:
# decl_specifiers_id_opt type_id . decl_specifiers_any_opt
# The next possible tokens are: tyqual tyclass tymod __attribute__
# *** failure
rm -r test/parse/C/Test2 || die
# *** omake error:
# File /usr/lib/gcc/x86_64-pc-linux-gnu/15/include/stddef.h: line 427, characters 71-75
# Syntax error on token tymod
# Current state:
# id lparen . args_opt rparen
# The next possible tokens are: id lparen amp star string sizeof plus minus
# __extension__ incop1 unop1 char float int
# *** failure
rm -r test/parse/C/Test3 || die
# Shell test failure due to innocuous output change
rm -r test/shell/Test2 || die
edo ./src/main/omake check
if find test -name result.log | xargs grep -q '^*** failure$'; then
die "Some tests failed."
fi
}
src_install() {
emake INSTALL_ROOT="${D}" install
dodoc ChangeLog CONTRIBUTORS.org README.md
if use doc; then
dodoc doc/ps/omake-doc.pdf doc/txt/omake-doc.txt
dodoc -r doc/html
fi
}

View File

@@ -17,7 +17,7 @@ SRC_URI="https://fossil-scm.org/home/tarball/${MY_TAG}/fossil-src-${PV}.tar.gz -
S="${WORKDIR}/fossil-src-${PV}"
LICENSE="BSD-2"
SLOT="0"
KEYWORDS="amd64 ~arm ~ppc ppc64 ~riscv x86"
KEYWORDS="amd64 arm ~ppc ppc64 ~riscv x86"
IUSE="debug fusefs json system-sqlite +ssl static tcl tcl-stubs
tcl-private-stubs test th1-docs th1-hooks"
RESTRICT="!test? ( test )"

View File

@@ -77,7 +77,7 @@ _setup-allowed-flags() {
-ggdb '-ggdb[0-9]'
-gdwarf '-gdwarf-*'
-gstabs -gstabs+
-gz
-gz '-gz=*'
-glldb
'-fdebug-default-version=*'

View File

@@ -1,2 +1,2 @@
DIST fheroes2-1.1.5.tar.gz 12304099 BLAKE2B 0d2dd4e0b0e72799a8ae508f5dec49b73ac28e9b3a779e27bd63d6e10ec4773e443475ca63183e9578a7d575c04c060912b9ee811a2101643670e3005d85cb52 SHA512 9797b471690cbbfd95d9288c9de6a85fc861a5ed56d728e95d7b97ecf79d73c904d5c42fc9021a0ae8950419a2ed5ad730562cf3694144b1772f2437dc1ac2bb
DIST fheroes2-1.1.6.tar.gz 12128789 BLAKE2B e5ec4131dc5d08cc8b5ac17a5ad8060e9c53e445934387607dad6fde52fcd7608fe8a527a0919d9b61da4f6dc90b2e4169e97a6f4649be690f30cf4e468dd218 SHA512 6fed1647f6c983d20bea804ac2dff55d33b42c4acf1e82b2dd45b6085c07df9d2b24d2aaa76fed8744b37cb8cafa025900f80918bcee3a590e6665e5458df695
DIST fheroes2-1.1.7.tar.gz 12146595 BLAKE2B ff534f0bfa541b96b116502be9d188ca4fb7b90bc7d288c387579107686a856d5dd357e4a6e082d8e49dc1472d4ace71ce7a701238601c9c2c287fc63e55cf37 SHA512 ebe2870ba30e3fc44e913a567e981e1c7e2cedc826ac1074fdbc6b4c950568b1d2736c2934d3d7edbe7f3b60c3ae6c39db12cd24f84c8763ed372b62165df16a

View File

@@ -1 +1,2 @@
DIST pamix-1.6.tar.gz 18552 BLAKE2B 35cc2844cf0d5824c961a226f1b857b3ac070dc5c4fc802a9aa21a3317f9afdc42fb87e18d9e9a61276ace66a93d42c256e7811e946e3f9fba19f645ab8f07ef SHA512 53f3a892b41418cdbfff28d29636997e777ab9e1042f002e1df47735941e5a34f0391866939c539594d22f0b3f0cbd1ad5342dc5663d816e12354ae9e744d5f8
DIST pamix-2.0.tar.gz 14996 BLAKE2B 6af98a29efaf3335bd075de285b19465675beb347e53daec8f9c9daaae37d88f5726c9ab758521bca14e60a317172382653acf95cd7dd23da4e63ac68435a8ea SHA512 b84518ae1ea10fb2aa4cab722cc941fb1e7a9cf4c745d4191d89bd99b4ab0ad1fc025be2f305459b728bad8ac5babe2cf542f11042b635dd4e46bf13011b6dd6

View File

@@ -0,0 +1,28 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake
if [[ ${PV} == *9999 ]] ; then
EGIT_REPO_URI="https://github.com/patroclos/PAmix.git"
inherit git-r3
else
SRC_URI="https://github.com/patroclos/PAmix/archive/${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64 ~x86"
S="${WORKDIR}/PAmix-${PV}"
fi
DESCRIPTION="PulseAudio NCurses mixer"
HOMEPAGE="https://github.com/patroclos/PAmix"
LICENSE="MIT"
SLOT="0"
RDEPEND="
media-libs/libpulse
sys-libs/ncurses:=[unicode(+)]
"
DEPEND="${RDEPEND}"
BDEPEND="virtual/pkgconfig"

View File

@@ -1,4 +1,4 @@
# Copyright 1999-2023 Gentoo Authors
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -9,7 +9,7 @@ if [[ ${PV} == *9999 ]] ; then
EGIT_REPO_URI="https://github.com/patroclos/PAmix.git"
inherit git-r3
else
SRC_URI="https://github.com/patroclos/PAmix/archive/v${PV}.tar.gz -> ${P}.tar.gz"
SRC_URI="https://github.com/patroclos/PAmix/archive/${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64 ~x86"
S="${WORKDIR}/PAmix-${PV}"
fi
@@ -19,26 +19,10 @@ HOMEPAGE="https://github.com/patroclos/PAmix"
LICENSE="MIT"
SLOT="0"
IUSE="+unicode"
RDEPEND="
media-libs/libpulse
sys-libs/ncurses:=[unicode(+)?]
sys-libs/ncurses:=[unicode(+)]
"
DEPEND="${RDEPEND}"
BDEPEND="virtual/pkgconfig"
src_prepare() {
cmake_src_prepare
if [[ ${PV} != 9999 ]] ; then
sed -e "/^include(CMakeGitDefines.cmake)/d" -i CMakeLists.txt || die
fi
}
src_configure() {
local mycmakeargs=(
-DWITH_UNICODE="$(usex unicode)"
)
[[ ${PV} != 9999 ]] && mycmakeargs+=( -DGIT_VERSION=${PV} )
cmake_src_configure
}

View File

@@ -1 +1,2 @@
DIST pulseaudio-16.1.tar.xz 1545596 BLAKE2B 535706abcea2cae39834b23c8bdc37f71b0e633de2d8e43ea4425da97a850b57c2f980c318681cbc86cf1e746200609dad41f8b96ecf4568f86d94aa6831c9a1 SHA512 33b0b4292f05e0882f3ec822cf5720414bb34c523d80fe287b9740d6be219787c562e8024c9b0d9e2ee010771ca72c7ae4f27df1bbef9c9cb6bb6a23cbcc412f
DIST pulseaudio-17.0.tar.xz 1566556 BLAKE2B 781ece3d507916aa681d3b0132689730a621b4d92e45f86570e4d2fdebc4c0025ebe7f7a05046545f9b26caca513e8975f12498fa314524bc67eacaea72842fa SHA512 be0aec46204d9c9188a796fbe41b4cf6f0f5e6b16fa08ce359b8f0f51253f0ade364b89448bbf5faa2af7e59deb6c72194734c3233944250dcfd4f31968a5e97

View File

@@ -0,0 +1,105 @@
https://bugs.gentoo.org/948110
https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/844
From 5fc34d11f408e86edea57c9b69e5344da8e150ec Mon Sep 17 00:00:00 2001
From: "Igor V. Kovalenko" <igor.v.kovalenko@gmail.com>
Date: Thu, 27 Mar 2025 21:27:23 +0300
Subject: [PATCH] qpaeq: port to PyQt6
---
src/utils/qpaeq | 30 +++++++++++++++---------------
1 file changed, 15 insertions(+), 15 deletions(-)
diff --git a/src/utils/qpaeq b/src/utils/qpaeq
index 7e01d873f4..53b0f461a5 100755
--- a/src/utils/qpaeq
+++ b/src/utils/qpaeq
@@ -18,8 +18,8 @@
import os,math,sys
try:
- from PyQt5 import QtWidgets,QtCore
- import dbus.mainloop.pyqt5
+ from PyQt6 import QtWidgets,QtCore
+ import dbus.mainloop.pyqt6
import dbus
except ImportError as e:
sys.stderr.write('There was an error importing needed libraries\n'
@@ -86,7 +86,7 @@ class QPaeq(QtWidgets.QWidget):
self.main_layout=QtWidgets.QVBoxLayout()
self.setLayout(self.main_layout)
toprow_layout=QtWidgets.QHBoxLayout()
- sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
#sizePolicy.setHeightForWidth(self.profile_box.sizePolicy().hasHeightForWidth())
@@ -95,7 +95,7 @@ class QPaeq(QtWidgets.QWidget):
self.sink_box = QtWidgets.QComboBox()
self.sink_box.setSizePolicy(sizePolicy)
self.sink_box.setDuplicatesEnabled(False)
- self.sink_box.setInsertPolicy(QtWidgets.QComboBox.InsertAlphabetically)
+ self.sink_box.setInsertPolicy(QtWidgets.QComboBox.InsertPolicy.InsertAlphabetically)
#self.sink_box.setSizeAdjustPolicy(QtWidgets.QComboBox.AdjustToContents)
toprow_layout.addWidget(self.sink_box)
@@ -107,21 +107,21 @@ class QPaeq(QtWidgets.QWidget):
toprow_layout.addWidget(QtWidgets.QLabel('Preset'))
self.profile_box = QtWidgets.QComboBox()
self.profile_box.setSizePolicy(sizePolicy)
- self.profile_box.setInsertPolicy(QtWidgets.QComboBox.InsertAlphabetically)
+ self.profile_box.setInsertPolicy(QtWidgets.QComboBox.InsertPolicy.InsertAlphabetically)
#self.profile_box.setSizeAdjustPolicy(QtWidgets.QComboBox.AdjustToContents)
toprow_layout.addWidget(self.profile_box)
- large_icon_size=self.style().pixelMetric(QtWidgets.QStyle.PM_LargeIconSize)
+ large_icon_size=self.style().pixelMetric(QtWidgets.QStyle.PixelMetric.PM_LargeIconSize)
large_icon_size=QtCore.QSize(large_icon_size,large_icon_size)
save_profile=QtWidgets.QToolButton()
- save_profile.setIcon(self.style().standardIcon(QtWidgets.QStyle.SP_DriveFDIcon))
+ save_profile.setIcon(self.style().standardIcon(QtWidgets.QStyle.StandardPixmap.SP_DriveFDIcon))
save_profile.setIconSize(large_icon_size)
- save_profile.setToolButtonStyle(QtCore.Qt.ToolButtonIconOnly)
+ save_profile.setToolButtonStyle(QtCore.Qt.ToolButtonStyle.ToolButtonIconOnly)
save_profile.clicked.connect(self.save_profile)
remove_profile=QtWidgets.QToolButton()
- remove_profile.setIcon(self.style().standardIcon(QtWidgets.QStyle.SP_TrashIcon))
+ remove_profile.setIcon(self.style().standardIcon(QtWidgets.QStyle.StandardPixmap.SP_TrashIcon))
remove_profile.setIconSize(large_icon_size)
- remove_profile.setToolButtonStyle(QtCore.Qt.ToolButtonIconOnly)
+ remove_profile.setToolButtonStyle(QtCore.Qt.ToolButtonStyle.ToolButtonIconOnly)
remove_profile.clicked.connect(self.remove_profile)
toprow_layout.addWidget(save_profile)
toprow_layout.addWidget(remove_profile)
@@ -370,11 +370,11 @@ class SliderArraySub(QtWidgets.QWidget):
qt=QtCore.Qt
#self.layout().setHorizontalSpacing(1)
def add_slider(slider,label, c):
- self.layout().addWidget(slider,0,c,qt.AlignHCenter)
- self.layout().addWidget(label,1,c,qt.AlignHCenter)
+ self.layout().addWidget(slider,0,c,qt.AlignmentFlag.AlignHCenter)
+ self.layout().addWidget(label,1,c,qt.AlignmentFlag.AlignHCenter)
self.layout().setColumnMinimumWidth(c,max(label.sizeHint().width(),slider.sizeHint().width()))
def create_slider(slider_label):
- slider=QtWidgets.QSlider(QtCore.Qt.Vertical,self)
+ slider=QtWidgets.QSlider(QtCore.Qt.Orientation.Vertical,self)
label=SliderLabel(slider_label,filter_state,self)
slider.setRange(-1000,2000)
slider.setSingleStep(1)
@@ -564,11 +564,11 @@ def subdivide(xs, t_points):
return left+right
def main():
- dbus.mainloop.pyqt5.DBusQtMainLoop(set_as_default=True)
+ dbus.mainloop.pyqt6.DBusQtMainLoop(set_as_default=True)
app=QtWidgets.QApplication(sys.argv)
qpaeq_main=QPaeq()
qpaeq_main.show()
- sys.exit(app.exec_())
+ sys.exit(app.exec())
if __name__=='__main__':
main()
--
GitLab

View File

@@ -0,0 +1,48 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
MY_PV="${PV/_pre*}"
MY_P="pulseaudio-${MY_PV}"
PYTHON_COMPAT=( python3_{10..13} )
inherit python-single-r1
DESCRIPTION="Equalizer interface for equalizer sinks of PulseAudio (networked sound server)"
HOMEPAGE="https://www.freedesktop.org/wiki/Software/PulseAudio/"
SRC_URI="https://freedesktop.org/software/pulseaudio/releases/${MY_P}.tar.xz"
S="${WORKDIR}/${MY_P}"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
RDEPEND="
${PYTHON_DEPS}
$(python_gen_cond_dep '
dev-python/pyqt6[gui,widgets,${PYTHON_USEDEP}]
dev-python/dbus-python[${PYTHON_USEDEP}]
')
media-sound/pulseaudio-daemon[dbus,fftw]
"
PATCHES=(
"${FILESDIR}/pulseaudio-17.0-pr844.patch"
)
src_configure() {
:; # do nothing
}
src_install() {
python_doscript src/utils/qpaeq
}
pkg_postinst() {
elog "You will need to load some extra modules to make qpaeq work."
elog "You can do that by adding the following two lines in"
elog "/etc/pulse/default.pa and restarting pulseaudio:"
elog "load-module module-equalizer-sink"
elog "load-module module-dbus-protocol"
}

View File

@@ -49,7 +49,10 @@ RDEPEND="acct-group/dnsdist
DEPEND="${RDEPEND}"
BDEPEND="virtual/pkgconfig"
PATCHES=( "${FILESDIR}/1.9.8-quiche-0.23.patch" )
PATCHES=(
"${FILESDIR}/1.9.8-quiche-0.23.patch"
"${FILESDIR}/1.9.8-fix-compat-with-boost-lockfree-1.87.0.patch"
)
src_prepare() {
default

View File

@@ -0,0 +1,90 @@
Patch from: https://github.com/PowerDNS/pdns/pull/15181
Fixed file paths for dnsdist tarball.
Signed-off-by: Holger Hoffstätte <holger@applied-asynchrony.com>
From: Remi Gacogne <remi.gacogne@powerdns.com>
Date: Mon, 10 Feb 2025 11:24:28 +0100
Subject: [PATCH] dnsdist-1.9.x: Fix compatibility with boost::lockfree >= 1.87.0
In https://github.com/boostorg/lockfree/pull/90 `boost::lockfree::spsc_queue`
introduced moved semantics, which is great, but added restrictions
to the callback functor that did not exist before, breaking the API.
This PR fixes that by updating our callbacks to expect an object
instead of a reference.
(cherry picked from commit 05543aed8ccff2270a65d3f9b75e6e9d894b8b45)
---
dnsdist-xsk.cc | 6 +++---
xsk.cc | 4 ++--
xsk.hh | 4 ++--
3 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/dnsdist-xsk.cc b/dnsdist-xsk.cc
index 7e83c510093e..dcbd79459796 100644
--- a/dnsdist-xsk.cc
+++ b/dnsdist-xsk.cc
@@ -48,7 +48,7 @@ void XskResponderThread(std::shared_ptr<DownstreamState> dss, std::shared_ptr<Xs
if ((pollfds[0].revents & POLLIN) != 0) {
needNotify = true;
xskInfo->cleanSocketNotification();
- xskInfo->processIncomingFrames([&](XskPacket& packet) {
+ xskInfo->processIncomingFrames([&](XskPacket packet) {
if (packet.getDataLen() < sizeof(dnsheader)) {
xskInfo->markAsFree(packet);
return;
@@ -167,7 +167,7 @@ void XskRouter(std::shared_ptr<XskSocket> xsk)
if ((fds.at(fdIndex).revents & POLLIN) != 0) {
ready--;
const auto& info = xsk->getWorkerByDescriptor(fds.at(fdIndex).fd);
- info->processOutgoingFrames([&](XskPacket& packet) {
+ info->processOutgoingFrames([&](XskPacket packet) {
if ((packet.getFlags() & XskPacket::UPDATE) == 0) {
xsk->markAsFree(packet);
return;
@@ -202,7 +202,7 @@ void XskClientThread(ClientState* clientState)
while (!xskInfo->hasIncomingFrames()) {
xskInfo->waitForXskSocket();
}
- xskInfo->processIncomingFrames([&](XskPacket& packet) {
+ xskInfo->processIncomingFrames([&](XskPacket packet) {
if (XskProcessQuery(*clientState, holders, packet)) {
packet.updatePacket();
xskInfo->pushToSendQueue(packet);
diff --git a/xsk.cc b/xsk.cc
index 5851f1b9b79e..d246a1d72e83 100644
--- a/xsk.cc
+++ b/xsk.cc
@@ -1185,7 +1185,7 @@ bool XskWorker::hasIncomingFrames()
return d_incomingPacketsQueue.read_available() != 0U;
}
-void XskWorker::processIncomingFrames(const std::function<void(XskPacket& packet)>& callback)
+void XskWorker::processIncomingFrames(const std::function<void(XskPacket packet)>& callback)
{
if (d_type == Type::OutgoingOnly) {
throw std::runtime_error("Looking for incoming packets in an outgoing-only XSK Worker");
@@ -1194,7 +1194,7 @@ void XskWorker::processIncomingFrames(const std::function<void(XskPacket& packet
d_incomingPacketsQueue.consume_all(callback);
}
-void XskWorker::processOutgoingFrames(const std::function<void(XskPacket& packet)>& callback)
+void XskWorker::processOutgoingFrames(const std::function<void(XskPacket packet)>& callback)
{
d_outgoingPacketsQueue.consume_all(callback);
}
diff --git a/xsk.hh b/xsk.hh
index 2f3e7c372e35..ff36be5ecd96 100644
--- a/xsk.hh
+++ b/xsk.hh
@@ -312,8 +312,8 @@ public:
void pushToProcessingQueue(XskPacket& packet);
void pushToSendQueue(XskPacket& packet);
bool hasIncomingFrames();
- void processIncomingFrames(const std::function<void(XskPacket& packet)>& callback);
- void processOutgoingFrames(const std::function<void(XskPacket& packet)>& callback);
+ void processIncomingFrames(const std::function<void(XskPacket packet)>& callback);
+ void processOutgoingFrames(const std::function<void(XskPacket packet)>& callback);
void markAsFree(const XskPacket& packet);
// notify worker that at least one packet is available for processing
void notifyWorker() const;

View File

@@ -11,7 +11,7 @@ SRC_URI="https://github.com/CESNET/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD"
SLOT="0/$(ver_cut 1)"
KEYWORDS="~amd64 ~arm64 ~x86"
KEYWORDS="amd64 ~arm64 ~x86"
IUSE="doc test"
RESTRICT="!test? ( test )"

View File

@@ -14,7 +14,7 @@ SRC_URI="
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~x86"
KEYWORDS="amd64 ~x86"
IUSE="doc test"
RESTRICT="!test? ( test )"

View File

@@ -833,6 +833,7 @@ dev-lang/gnat-gpl jit
# be re-enabled with the 'server' USE flag, but this flag is hard
# masked. bug #666619
dev-python/paramiko server
dev-python/sshtunnel test
# Michał Górny <mgorny@gentoo.org> (2018-06-13)
# Requires app-arch/snappy[static-libs] that is no longer available.

View File

@@ -1,11 +1,25 @@
DIST stars_4_1v0_2.cat 16948302 BLAKE2B 6efe02c6343fa3cd121879dddd3017dbd42a7c8965481b1ab79a258cedc4adc85df25240003b95c325eb35a8ed9686c38b2590f78aff9cd400ecac675583232d SHA512 80e5b2d0bc78c09658e84e7ee57309be290ba66a131ff38aa471235ff513d7824b28f6852ba1fdb485f86ede1fb2388cfb6327b2f1fe60bb097ce0cdbe48d2cb
DIST stars_4_1v0_6.cat 55759776 BLAKE2B a62d35c697690feb0eb9a83dcda9b9f28d9ef0b57d4fc1c8e4049d7a5209e5a7d0d960dc927649ef8ebd2c6ffce1eca56cf8dcd15e75c870213fe95ec29a2af0 SHA512 315e61e181e056e9429e216b90aeaec61308c91f7f097f94325ed016e815ba2a0adf2b7ea2bf641b4f42afef07cda3cf78cf7ab0f1a9aa4d4e79c39d7b2edbbf
DIST stars_4_1v0_6.cat.asc 313 BLAKE2B 3aa4cb97987ff4acfddf6ee804bcffe8157c605b04eb9ceefccaeced15d3d8d0706aab955ad59482a1b635edbef8078680a6b70d5942b4bdf03edc19a003028b SHA512 b9e72d1840a110fe6087c263c9c36696f1fc17758bf68719f901ac16dfeda0f578a7837a88da0c6f2bdf3f6be5e2e1658f54be2a8eede82e9031ebd26287235d
DIST stars_5_1v0_6.cat 257743872 BLAKE2B 9c84b28b596ac003fb262f6c7273327fdf24f19dd13356271068ffcff5357cc1f4c754227045895988699b257418bf533f2712087aa7b43fd19fe86ed34db0ed SHA512 73b4a8a6344ff329ba65ff6e3d8577b6524f8bb8c1a620dba9e4080641a578f066a312a5e72b79b99f97c9571c4a7dc213dc014832eeb96e00ad45e964303ce5
DIST stars_5_1v0_6.cat.asc 313 BLAKE2B 3d40462ea53ec05c1ec2cdee6b007ec8375a5071878c87a3394b6bf29364c5720e0bdc571251de42cff0456c4057941bd0ffb22945d32dd31e13259e09371f3e SHA512 7e920b7b00e9080128f9fb50b0af1258f1aace855ae2d3535aad9674cbe202e52bc48ea8c3d8bac9a228698869d980dc90b209452b8c733cce373ad762710a7b
DIST stars_5_2v0_1.cat 42580300 BLAKE2B eb6528c0577b3f2001a8b03cc5a4e08fa4e75723f677d0dda98d27c50791d9825c0e0feca7b00f0cb82ce362bc83f3e8dc2260d14e81e4a070cbbfa44f2107ba SHA512 6fc0f7352d1165a0744cc932b6d379741e4614d5a95edd136522c789eaa8d1bcf05d7445f7dfd6896e8183aa64bf37b3610d87902b54542f62f2418b285892e0
DIST stars_6_1v0_4.cat 956479200 BLAKE2B 7d53987ae6fabcb9879f010944008e6798342611db72ce85a322e712417418c5137e35ffd97e3aa6a56574d79689fbd78c6094f6831893202ea022cbede0b226 SHA512 051154ab596a1be53d9dda98d7978864787c9d1996f7714aef12f53d32a502d079cb2812718c2c101409e5619fcfc03172dbfbdc5ef1aa2c41480de7aa38d68b
DIST stars_6_1v0_4.cat.asc 313 BLAKE2B a8cdcee892b3d4ea5f945fa0878d7c20605d3f5c67e773be8851c28bb2ae328e7720792b2e29cb86d959e13a760869588cb53c0acf92e4ab0f4ab302052fc179 SHA512 d16c5ef59e9f6785f37329c678710304712d141c331f30f87272be71ba43adbf4203cb3eb9f6835484f96e6ee19b73e7d18355e71df6d6eb80ba98e163f51b8b
DIST stars_6_2v0_1.cat 148352404 BLAKE2B c605b284b3d768cb1619ada3f58d406fa7737f09949e8926d6c14b82a85927d124d7fcb50c6d6c357d21b003938cc0b28937f2adb28ae268bb5c85d575f5e0ff SHA512 794279407595f44bbc1e492086063d98068bf332202a5448cd83dd7afbdcf7c6c3ff2878f3016369ebb5a98552874eb4eddb38e2c40e9a163c6231b640e02977
DIST stars_7_1v0_4.cat 1842421888 BLAKE2B 5f5e323565c0b3fba1006e08b9e27d2db6e6c501dbfbb18c9e206767a80a3511bd73a0701cb5ec58e73db9ea35feabf70519ca8e1a7ec68a7275dc892e1555f9 SHA512 47344376a265a165b10743630216b8c7f54a7d87a8d78c31d0acaefeec5b1722aba89b8c049b75da63851bacb3a861f0d10f29188bb01ed52141ea9b829d4377
DIST stars_7_1v0_4.cat.asc 313 BLAKE2B 4d2ad78812ed45e655266cdfffd4eaaae6ced690a6c511eaef2932fad9e7cb68389d069162e2e99eb4df9ed0630d7cdb2adae6cbcfa85ee049ae13e471d9f5ac SHA512 ff0b216116e86abf6bd3b46a44df986dfc91fe61df988f1d939f4db0d4456283dda0e5a6fe562433ab7dfcc096a35adeafdbeab497bc16d8587a89729fab9d6a
DIST stars_7_2v0_1.cat 305710678 BLAKE2B 1cc9b4a6bc35a9339e495f7e0da4f7e90a0e92b05b5de8599be1bbdd2a8053cbcec44b0e58bc9248364666db9cdf23449edf236e3f21fdc0e8f1a4a706afc919 SHA512 43b866eb793e8812c9d5502101a6c985d2055fb88bdbda274726bcd51e1527ecf342b22acd673318c9c8e88cac68eace18de8f27d29ffe64933fd32a5b84c5e3
DIST stars_8_2v0_1.cat 559068934 BLAKE2B c040a369cdf6885759998e1315b554d21a5e2b9b149a67967a8af45606aebf57bec407fab5ce1904978af0dc529aa6bddd267331ca45f58617bbf56d5ca99dee SHA512 06d4fa298b9dff8452f550377df99fcaa5e7107cfc7b75c9a4769b3cb6d97a822a54213c706102c1d7ef2dabc16df32a85f46b2f6d6c6f76a4e919353b739de4
DIST stars_8_2v0_3.cat 1971773856 BLAKE2B 49aab2f1490cd25c83a50eea4cab5c54d3db0e7f473140f466f8d2f205af3bfe981e94cdcd7eb164993df851396895304d325f1064634115ca8355b35fddc3d5 SHA512 026c3f4972a09fcd98a083f440654b614c89041e38dc5810d799bf986786d8e500cdb0cf6f9124fec1e91ba2891375d5778daf8a2c2906873cb4d41669f6fbe0
DIST stars_8_2v0_3.cat.asc 313 BLAKE2B 39c0f8a3189dc2434cb6c38f786bcf504bcfcb6473fd26ffbef7d84b3de7e351f8f3fe57171958965e1e0740eb3b2e88aa9d6e7eb66befcf6e0c1f882cada355 SHA512 90c1ae0e9391c3f940ef6c114385408f8d181b87c611f6240379d98f51d0a4cc4feb6b0433b345770ebac23485b1d219d38d5caf4addd24868da54143ef75537
DIST stellarium-24.4.tar.xz 328675340 BLAKE2B 4c16e84083b64f8c9fc3cd8cab7c479583ceae7d99b12e3d5c1a2c35980eb081e55e3f849698c3c57b8a06915a51bdce4bf4521b4481c42f5d8e69c8392ae248 SHA512 07a24fa9fc1f4e1c862925751d37169e391cf161decc764baa470406a3ce4e5fa15cf224f1affd7aab1cb224f66a49db1bd65bdd70dbdb43cc2e3c7b9ae92b9a
DIST stellarium-24.4.tar.xz.asc 313 BLAKE2B ff5ac5f915bf814d6bd5d6765739a332788a773e796536e65768169cb491ff6bad5f2e7218f6f4a4a4435786224ac8aed0f024e252fe66621faa2425a91abe07 SHA512 07dc7da0c84670165d53cb4a64adec6ae281a655c3cc72f90f25cfd4a7df7f3cc70253d2d0a9cda8089f5a8dadaac2edbf06821762ae2dd238de5975364d9d39
DIST stellarium-25.1.tar.xz 371392288 BLAKE2B 4edaca0e61756bb4c4f835f8b2878e299c2eea2eef9e39ddf00d5c59d2e30954d8020cce6b93fbec9affb17708317df9de06e7deab3205f4af8c6309d27b5ef6 SHA512 c413e31994e98e69b85885ee2114847e9d5d541e0c5fcc213f4a0af1c520eadddbdc1873815f1a827cad6c15f644f2422f477d0fc96ec68e2afe58d83a75bbee
DIST stellarium-25.1.tar.xz.asc 313 BLAKE2B 8a2a0dc5acbe9e8afa2004896f8e6b1fb752a81d147ba85d55e37ce5b6404686e6d623c934de15d394e2fe132e0343cb5b36cd1b5bbd449d9ac1e59870d7f7e3 SHA512 a9af17ce957e8a91017c6114094b0cc862737255102ba97d42e5c218cb16404839e674e59d2716943dc1e02cddf6dce78dad6ce988e2dd0b46ac88f4f6d245c7
DIST stellarium-dso-catalog-3.20.dat 28678745 BLAKE2B 24ddf76e81e91424cced5df74dd164d17a45fed2b65c1dc1e7065371c18a796350a1e1aab2da5860376eb90eac07e7c836ffdbb324a0d3eda6c91e8ce1c4ab3a SHA512 c84832bbf56d1097db3ff8fa8f3faadac1470a9f79d9ee759493915a48754dc86174551b5e705786f29331991bee57daa4cab6d7ecc2e4e00a2f895823ccfd87
DIST stellarium-dso-catalog-3.20.dat.asc 313 BLAKE2B a7d9a1977ff4e1b21a80239d85ad5123ad03c2dcd57422cec7c2585eddb1004bbfc2b29a934653bc36c438981218811d21ade7380ae49278ef2c4f387ab762e5 SHA512 e8a7b10bb157d15b550a31646c8d8ce9933a77f748900a9c75f0c78b9b9205ce5e4e2ec18248ba786aacd5fbf36da00bbaf578b8b011c75351a9237568e62f1b
DIST stellarium_user_guide-24.4-1.pdf 13416178 BLAKE2B ffa110294a6689c0e32eb9027d88bc1bd458d59018d80b1085d83b80bd3f91754ee74493f431ab5d6163c871aa7685e789619e41ce7a1dbb3cff8377f737af23 SHA512 0d27f95b913c4b2a5676290f09791abb1bae2fe121c19479dcd1ba350881cd6b56a5b1bd69b1efe82f805d2ca8cbea8192c0c43064d2919aa75aef488900808a
DIST stellarium_user_guide-24.4-1.pdf.asc 313 BLAKE2B 6bca7ff1a4bf150390bda99c0967c371931f9fceac215c7e79c0360196d4addd870c1913efb351e94cf128605e0277624f0e84d6c9668d9781709c995ec3551d SHA512 3d7fa66f533f12c0cccffa23365a5c4347a4d9c7f835e392914d4e3adc8fa865549d9af9d7dee247aaa671cb6374c65c33624f705bd7512947177ac6a30c4833
DIST stellarium_user_guide-25.1-1.pdf 14438330 BLAKE2B fa7d53aec3a0c0ff2e941b9846eb726d9e895284139dffaa5242fd0f8c657ecfeb44446e4f3a5b145fd643b32b43bd28e21910b1f2d94a002f22661b96665019 SHA512 0c24e1710c58180352119b45e98dc1c1fdf11ceab1ddfa815c8659b615ccbaa4eb8a937f955cfc70a835307c3fa25037be502091c8dfa6fd89a22c2b72a13107
DIST stellarium_user_guide-25.1-1.pdf.asc 313 BLAKE2B 67a4f96966af10f1c0bcf96be521933cf8ba52707d7992d857b2dc863c232a4a752e11af47680fc4bb6df93913a3cac09fe03ef7cbe2ee560395071254ea7fd5 SHA512 b3fb4f21f750ca2ad0ad3b845212a55d6a04468e4127ffaa541bac60e67c0e0cbc1f213128522afd3b8da26137db68db7c0670bba25b59e9cc3b9aae43fe6513

View File

@@ -0,0 +1,50 @@
From 4e1b49c3d593d04fa9970f1a0d59d9ef0a661a5b Mon Sep 17 00:00:00 2001
From: "Alexander V. Wolf" <alex.v.wolf@gmail.com>
Date: Wed, 26 Mar 2025 21:18:07 +0700
Subject: [PATCH] Fix astrometry tests (fix #4246)
---
src/tests/testAstrometry.cpp | 24 +++---------------------
1 file changed, 3 insertions(+), 21 deletions(-)
diff --git a/src/tests/testAstrometry.cpp b/src/tests/testAstrometry.cpp
index f5e07b4c81445..5a2e7a448b655 100644
--- a/src/tests/testAstrometry.cpp
+++ b/src/tests/testAstrometry.cpp
@@ -33,33 +33,15 @@ QTEST_GUILESS_MAIN(TestAstrometry)
void TestAstrometry::initTestCase()
{
// Define the directory to search in
- QDir dir(QDir::currentPath());
+ QDir dir(STELLARIUM_SOURCE_DIR);
// make a list of star catalog files stars_0_*.cat, stars_1_*.cat, stars_2_*.cat and stars_3_*.cat
QStringList filters;
filters << "stars_0_*.cat" << "stars_1_*.cat" << "stars_2_*.cat" << "stars_3_*.cat";
QStringList files;
QString file;
- while (!dir.isRoot()) // check directory one by one if the current directory contains star catalog files
- {
- // check if at least one "stars_*.cat" file exist under the directory
- if (dir.exists("stars/hip_gaia3")) // check if the directory exists, if yes go in to check
- {
- dir.cd("stars/hip_gaia3");
- dir.setNameFilters(QStringList() << filters[0]);
- files = dir.entryList(QDir::Files);
- if (!files.isEmpty()) // in case the directory does not contains any star catalog file
- {
- break;
- }
- else
- {
- // go back to the parent directory and keep searching
- dir.cd("../../");
- }
- }
- dir.cdUp(); // one level up at a time
- }
+ // Go to star catalog directory...
+ dir.cd("stars/hip_gaia3");
// assert the directory exists
QVERIFY2(dir.exists(), "Star catalog directory does not exist! Can't perform the rest of the tests.");

View File

@@ -0,0 +1,18 @@
Fixed upstream in 3a3e69417109abd92f0640ec2c63d1c4dbb7274d
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,1 +1,1 @@
-CPMAddPackage(NAME md4c
+CPMFindPackage(NAME md4c
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -524,7 +524,7 @@ IF(ENABLE_SPOUT AND SPOUT_LIBRARY_DLL)
CONFIGURE_FILE(${SPOUT_LIBRARY_DLL} ${CMAKE_CURRENT_BINARY_DIR} COPYONLY)
ENDIF()
-SET(STELMAIN_DEPS md4c-html ${ZLIB_LIBRARIES} glues_stel ${STELLARIUM_STATIC_PLUGINS_LIBRARIES} ${STELLARIUM_QT_LIBRARIES} ${SPOUT_LIBRARY} ${STD_EXECUTION_LIBS})
+SET(STELMAIN_DEPS md4c::md4c-html ${ZLIB_LIBRARIES} glues_stel ${STELLARIUM_STATIC_PLUGINS_LIBRARIES} ${STELLARIUM_QT_LIBRARIES} ${SPOUT_LIBRARY} ${STD_EXECUTION_LIBS})
IF(USE_BUNDLED_QTCOMPRESS)
SET(STELMAIN_DEPS ${STELMAIN_DEPS} qtcompress_stel)
ENDIF()

View File

@@ -0,0 +1,174 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{10..13} )
inherit cmake desktop flag-o-matic python-any-r1 toolchain-funcs xdg verify-sig virtualx
DESCRIPTION="3D photo-realistic skies in real time"
HOMEPAGE="https://stellarium.org/ https://github.com/Stellarium/stellarium"
MY_DSO_VERSION="3.20"
SRC_URI="
https://github.com/Stellarium/stellarium/releases/download/v${PV}/${P}.tar.xz
verify-sig? ( https://github.com/Stellarium/stellarium/releases/download/v${PV}/${P}.tar.xz.asc )
deep-sky? (
https://github.com/Stellarium/stellarium-data/releases/download/dso-${MY_DSO_VERSION}/catalog-${MY_DSO_VERSION}.dat -> ${PN}-dso-catalog-${MY_DSO_VERSION}.dat
verify-sig? ( https://github.com/Stellarium/stellarium-data/releases/download/dso-${MY_DSO_VERSION}/catalog-${MY_DSO_VERSION}.dat.asc -> ${PN}-dso-catalog-${MY_DSO_VERSION}.dat.asc )
)
doc? (
https://github.com/Stellarium/stellarium/releases/download/v${PV}/stellarium_user_guide-${PV}-1.pdf
verify-sig? ( https://github.com/Stellarium/stellarium/releases/download/v${PV}/stellarium_user_guide-${PV}-1.pdf.asc )
)
stars? (
https://github.com/Stellarium/stellarium-data/releases/download/stars-3.0/stars_4_1v0_6.cat
https://github.com/Stellarium/stellarium-data/releases/download/stars-3.0/stars_5_1v0_6.cat
https://github.com/Stellarium/stellarium-data/releases/download/stars-3.0/stars_6_1v0_4.cat
https://github.com/Stellarium/stellarium-data/releases/download/stars-3.0/stars_7_1v0_4.cat
https://github.com/Stellarium/stellarium-data/releases/download/stars-3.0/stars_8_2v0_3.cat
verify-sig? (
https://github.com/Stellarium/stellarium-data/releases/download/stars-3.0/stars_4_1v0_6.cat.asc
https://github.com/Stellarium/stellarium-data/releases/download/stars-3.0/stars_5_1v0_6.cat.asc
https://github.com/Stellarium/stellarium-data/releases/download/stars-3.0/stars_6_1v0_4.cat.asc
https://github.com/Stellarium/stellarium-data/releases/download/stars-3.0/stars_7_1v0_4.cat.asc
https://github.com/Stellarium/stellarium-data/releases/download/stars-3.0/stars_8_2v0_3.cat.asc
)
)"
LICENSE="GPL-2+ SGI-B-2.0"
SLOT="0"
KEYWORDS="~amd64"
IUSE="debug deep-sky doc gps +lens-distortion libcxx media nls +scripting +show-my-sky stars telescope test webengine +xlsx"
# Python interpreter is used while building RemoteControl plugin
BDEPEND="
${PYTHON_DEPS}
dev-lang/perl
doc? ( app-text/doxygen[dot] )
nls? ( dev-qt/qttools:6[linguist] )
verify-sig? ( sec-keys/openpgp-keys-stellarium )
"
# TODO: review need for dev-cpp/tbb after several releases of gcc and clang
RDEPEND="
dev-cpp/tbb:=
dev-libs/md4c
dev-qt/qtbase:6=[concurrent,gui,network,widgets]
dev-qt/qtcharts:6
media-fonts/dejavu
>=sci-astronomy/calcmysky-0.3.0:=[qt6(+)]
sys-libs/zlib
gps? (
dev-qt/qtpositioning:6
dev-qt/qtserialport:6
sci-geosciences/gpsd:=[cxx]
)
lens-distortion? (
media-gfx/exiv2:=
sci-libs/nlopt
)
media? (
dev-qt/qtmultimedia:6[gstreamer]
virtual/opengl
)
scripting? ( dev-qt/qtdeclarative:6 )
telescope? (
dev-qt/qtserialport:6
sci-libs/indilib:=
)
webengine? ( dev-qt/qtwebengine:6[widgets] )
xlsx? ( dev-libs/qxlsx:=[qt6(+)] )
"
DEPEND="${RDEPEND}
libcxx? ( dev-cpp/fast_float )
"
RESTRICT="!test? ( test )"
PATCHES=(
"${FILESDIR}/stellarium-0.25.1-md4c.patch"
"${FILESDIR}/stellarium-0.25.1-astrometry.patch"
)
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/stellarium.asc
pkg_setup() {
if tc-is-clang && ! use libcxx && [[ $(tc-get-cxx-stdlib) == libc++ ]]; then
die "When using libc++, please enable USE=libcxx"
fi
}
src_prepare() {
cmake_src_prepare
use debug || append-cppflags -DQT_NO_DEBUG #415769
rm -r src/external/qtcompress/ || die
rm -r src/external/zlib/ || die
rm -r src/external/fake-indi/ || die
# for glues_stel aka libtess I couldn't find an upstream with the same API
local remaining="$(cd src/external/ && echo */)"
if [[ "${remaining}" != "glues_stel/" ]]; then
eqawarn "Need to unbundle more deps: ${remaining}"
fi
}
src_configure() {
filter-lto # https://bugs.gentoo.org/862249
local mycmakeargs=(
-DCCACHE_PROGRAM=no
-DCPM_LOCAL_PACKAGES_ONLY=yes
-DUSE_BUNDLED_QTCOMPRESS=no
-DENABLE_GPS="$(usex gps)"
-DENABLE_MEDIA="$(usex media)"
-DENABLE_NLS="$(usex nls)"
-DENABLE_QT6=yes
-DENABLE_QTWEBENGINE="$(usex webengine)"
-DENABLE_SHOWMYSKY=$(usex show-my-sky)
-DENABLE_SCRIPTING=$(usex scripting)
-DENABLE_TESTING="$(usex test)"
-DENABLE_XLSX="$(usex xlsx)"
-DUSE_PLUGIN_LENSDISTORTIONESTIMATOR="$(usex lens-distortion)"
-DUSE_PLUGIN_TELESCOPECONTROL="$(usex telescope)"
"$(cmake_use_find_package doc Doxygen)"
)
cmake_src_configure
}
src_test() {
virtx cmake_src_test
}
src_compile() {
cmake_src_compile
if use doc ; then
cmake_build apidoc
fi
}
src_install() {
if use doc ; then
local HTML_DOCS=( "${BUILD_DIR}/doc/html/." )
dodoc "${DISTDIR}/stellarium_user_guide-${PV}-1.pdf"
fi
cmake_src_install
# use the more up-to-date system fonts
rm "${ED}"/usr/share/stellarium/data/DejaVuSans{Mono,}.ttf || die
dosym ../../fonts/dejavu/DejaVuSans.ttf /usr/share/stellarium/data/DejaVuSans.ttf
dosym ../../fonts/dejavu/DejaVuSansMono.ttf /usr/share/stellarium/data/DejaVuSansMono.ttf
if use stars ; then
insinto /usr/share/${PN}/stars/hip_gaia3
doins "${DISTDIR}"/stars_{4,5}_1v0_6.cat
doins "${DISTDIR}"/stars_{6,7}_1v0_4.cat
doins "${DISTDIR}"/stars_8_2v0_3.cat
fi
if use deep-sky ; then
insinto /usr/share/${PN}/nebulae/default
newins "${DISTDIR}/${PN}-dso-catalog-${MY_DSO_VERSION}.dat" catalog.dat
fi
newicon doc/images/stellarium-logo.png ${PN}.png
}

View File

@@ -1,2 +1,2 @@
DIST osinfo-db-tools-1.10.0.tar.xz 60508 BLAKE2B 2b9abbdba25add96440e2a937ae994c0305f995b924ffc7c88c2c31c122d3e5cf0c710fbf55724bea56f63be7250321ee27d2179e3f247461d6843f7e03dfc58 SHA512 27271b15404a6cb0065854ba8556c272cf3427ff4fd18fc9a22dbca2b01686c32661b24e18f5eff9a1b240a3a459d8fe66cbde530873d60b8c850bdd0b42c475
DIST osinfo-db-tools-1.11.0.tar.xz 64792 BLAKE2B fc085da5bad46c5c178bdd09cc294c8f0f208cbd3ee4dda9e22bd681cac70913bc4dc9a11d44d252b5d7cb33b8a5625aca7c285ae098f72839e5fe4d2238c157 SHA512 adab5b16d8fcbae89619eb12f669fa4c7765a65af54a864995e3a9131bb18ee62568c8f7ed166f0400e5e622f56844ba53ed9ef5c2322e33acb9ef1cf0c94701
DIST osinfo-db-tools-1.12.0.tar.xz 66204 BLAKE2B 228062be29f0829d896c8df8e6c59759d762028e0baaf64b143a95b983f1aa51f579899bd6b1c349d53d2049404ee2a5c28795f983f32603383714ef550139a7 SHA512 3c5664036d161d428eaeef3d259cf96050313d4465d4a1121000e2d1f92266830bc02a124c8dcba28f2ab5e78cf6007d68c9fb89138f49e1bce9d8ea0f63d90a

View File

@@ -1,54 +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} )
inherit meson python-any-r1
DESCRIPTION="Tools for managing the osinfo database"
HOMEPAGE="https://libosinfo.org/"
SRC_URI="https://releases.pagure.org/libosinfo/${P}.tar.xz"
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
IUSE="test"
RESTRICT="!test? ( test )"
RDEPEND="
>=dev-libs/glib-2.44:2
dev-libs/json-glib
>=app-arch/libarchive-3.0.0:=
net-libs/libsoup:3.0
>=dev-libs/libxml2-2.6.0
"
# perl dep is for pod2man (manpages)
DEPEND="${RDEPEND}"
BDEPEND="
virtual/pkgconfig
>=sys-devel/gettext-0.19.8
dev-lang/perl
test? (
$(python_gen_any_dep '
dev-python/pytest[${PYTHON_USEDEP}]
dev-python/requests[${PYTHON_USEDEP}]
')
)
"
PATCHES=(
"${FILESDIR}"/${PN}-1.10.0-no-clobber-fortify-source.patch
"${FILESDIR}"/${PN}-1.11.0-Make-xmlError-structs-constant.patch
"${FILESDIR}"/${PN}-1.11.0-osinfo-db-validate-Add-more-libxml-includes.patch
)
python_check_deps() {
python_has_version "dev-python/pytest[${PYTHON_USEDEP}]" && \
python_has_version "dev-python/requests[${PYTHON_USEDEP}]"
}
pkg_setup() {
use test && python-any-r1_pkg_setup
}

View File

@@ -1,9 +1,9 @@
# Copyright 1999-2024 Gentoo Authors
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{9..11} )
PYTHON_COMPAT=( python3_{10..13} )
inherit meson python-any-r1
@@ -13,8 +13,7 @@ SRC_URI="https://releases.pagure.org/libosinfo/${P}.tar.xz"
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~alpha amd64 ~arm arm64 ~loong ~ppc ppc64 ~riscv ~sparc x86"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
IUSE="test"
RESTRICT="!test? ( test )"

View File

@@ -1,2 +1,2 @@
DIST osinfo-db-20240523.tar.xz 151604 BLAKE2B 252a0acd6996681dd338abd70d831f1b99fef5b45fac4da167be11846fbb2dc3d8996881017c56506ca1fbe5320c54ad5eca39dc21558652a51e4d41009346c2 SHA512 6ad1927e86ece97d3acb8a0c46d7cb0d7a3ecd1ad7af17900eb8bc6927cd42e662c7473e2a0f2b6e4f8a5179b139dcbd969a234d42bf76c8f9b37c8adf50cf00
DIST osinfo-db-20240701.tar.xz 152572 BLAKE2B dbd1c6352e449751a7b6929bacc3db50cf0d76f8daf454a602f4fa64fcaf3a0b4b3b16ba3cc56acc12a6b5bf15242c4ed031748dbc43ee1a8af62d6d08b56353 SHA512 6d96c7a8e9f457344523a88316cbbfca7886f14676edcdbea5d124883fffd7f6afb242f28beb33f3702f416c64d74bd0f8fac6432b025e1479e392433c269b6f
DIST osinfo-db-20250124.tar.xz 159540 BLAKE2B a20649db60c52a706b7e2c347c8a895f03c33a0a7a7d8b07bbd88af9282110c9d9e37f96d41637627ae1524d4daa663ca7fd59ece210ac136536470fd58d79b7 SHA512 3165ea461ee3c00d42c016724579c787337837cba8a6e5c82f4c7d573f64d2f81cf1fa0a6d8d9f8e24b0badcd593de3caca6135bfa74d8e69eff6d2f26ba1803

View File

@@ -1,4 +1,4 @@
# Copyright 1999-2024 Gentoo Authors
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,7 +11,7 @@ S="${WORKDIR}"
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~alpha amd64 ~arm arm64 ~loong ~ppc ppc64 ~riscv ~sparc x86"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
BDEPEND="sys-apps/osinfo-db-tools"

View File

@@ -1,2 +1,2 @@
DIST libosinfo-1.10.0.tar.xz 293804 BLAKE2B 5c676a466459c4e4150294fd263cd32ed95f181a3dea913977165f61dd81d75fb545dd96d0f87661ea13db9f10706c064421a5ecf0ec1b220054149c66c957d1 SHA512 58a30d62d5a4862150826fd9fda3d5189df3693efca3a8732efaa470fa65dbb64181987534ccc13c0bf2fd4efda229217a169590405f0601927472f6ca08e4e7
DIST libosinfo-1.11.0.tar.xz 303944 BLAKE2B 3d61d66c6ef7a9e2706a1a5dd17d8ceff4538a8ff5988eb81509cbd81673dd193b3685092842d7dbb37e6f92c7ed1f915fcf71cf5db5cad8482f230b3ce066ac SHA512 d1b527cc50eaa92e143f068d9a484a1e591dafb77e65e0172e43d6d6440970c5c3b4e2d65050fd0d64f39d1163d49b339ae6d75943306917b4b367c26a938fb6
DIST libosinfo-1.12.0.tar.xz 307984 BLAKE2B 6fe16be19e165c172148df736955546360cfce3f25e6e5f19d691a4242e12e7ae596dd8f7543e05758d5563c9b656b5bb72db74e8c15645446e6918320683f97 SHA512 13647b6df14443f7e39bc09bd47be93fcd9f367ecfd7b13f3dac15e2614ad8a812d6077e070b2dc0f49f68f022881ad2fa59bac92f7731032358658a522e6572

View File

@@ -1,4 +1,4 @@
# Copyright 1999-2024 Gentoo Authors
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,13 +11,12 @@ SRC_URI="https://releases.pagure.org/libosinfo/${P}.tar.xz"
LICENSE="GPL-2+ LGPL-2.1+"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
IUSE="gtk-doc +introspection +vala test"
RESTRICT="!test? ( test )"
REQUIRED_USE="vala? ( introspection )"
KEYWORDS="~alpha amd64 ~arm arm64 ~loong ~ppc ppc64 ~riscv ~sparc x86"
# Unsure about osinfo-db-tools rdep, but at least fedora does it too
RDEPEND="
>=dev-libs/glib-2.44:2
@@ -43,11 +42,6 @@ BDEPEND="
vala? ( $(vala_depend) )
"
PATCHES=(
"${FILESDIR}"/${PV}-build-Add-option-to-disable-libsoup3.patch
"${FILESDIR}"/1.11.0-osinfo-Make-xmlError-struct-constant-in-propagate_li.patch
)
src_prepare() {
default
use vala && vala_setup
@@ -60,7 +54,7 @@ src_configure() {
$(meson_feature introspection enable-introspection)
$(meson_use test enable-tests)
$(meson_feature vala enable-vala)
-Dlibsoup3=enabled
-Dlibsoup-abi=3.0
-Dwith-pci-ids-path="${EPREFIX}"/usr/share/hwdata/pci.ids
-Dwith-usb-ids-path="${EPREFIX}"/usr/share/hwdata/usb.ids
)

View File

@@ -1,3 +1,4 @@
DIST fcron-3.3.1.tar.gz 593688 BLAKE2B 5c2f91667c94fc9eae7ae014a7826ab1f26647a192425630dbdb84bbe3c9041be23a2a480eb13844dc18a5ba406fe77a157938af1e0343e5f9b0ce1a1405d66b SHA512 b9c5066bdf8588a6b8d811ccc0d49f1d41a17dabf898a280997a8136dc449c2a505c46868abf732f86184ff0720d51f17442691909acae8fb26edcd180cff281
DIST fcron-3.3.2.tar.gz 619135 BLAKE2B d28620a7634e140abcb067df8fd52d3057a32d72c2f73251868b4790b43519850db29e1cb651b53460416fba014ab31a2c9203b399d57d3ac6023fbe8a733ea4 SHA512 534636207ffd05947b7118d5bc547292fa49da84efc6c4bdd92b33833b0ffd3438c71c6e574f6334360217a0d9dcffadf8c8dc8bfdad4deeb6f42c20e156e46d
DIST fcron-3.3.3.tar.gz 620886 BLAKE2B a3332d39bf6b69e9e936cb9ec3e6577823856679771a6f2e74fbe621d5eec4f64434be33e8bb04f13b5b03412679c23129eae1c3a20617a39f12d2e721ed4ef0 SHA512 9cbba8a239049a31fe4d5175676cf9d8eb8cc5b0926845e3472831ed9b4a1d70af88b58196e75ec719bdf26c0032190da613a483e32d01a6b10b9b8d94ee59b6
DIST fcron-3.4.0.tar.gz 620213 BLAKE2B 6af224b5c41005f15970be553d9d80e2de809f35d79bcfb35e33ae3a9e9d6f81d058d3e2a52c0c5b960fff7e9f444f8e95f60ccce5392a6031f35a114ea87dbc SHA512 1ce4cf2f72ac66bfc97ec28d8d3b8c53f44cff4307b80cda86419db6a1d9c3ed288d5ce92f4af8e497f775c975ee9e1b7d6cbb4ae07e84df4fe64fbdeb3a3558

View File

@@ -0,0 +1,246 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
WANT_AUTOMAKE="none"
inherit autotools cron eapi9-ver flag-o-matic pam systemd user-info
MY_PV="${PV/_beta/}"
MY_P="${PN}-${MY_PV}"
DESCRIPTION="A command scheduler with extended capabilities over cron and anacron"
HOMEPAGE="http://fcron.free.fr/"
SRC_URI="http://fcron.free.fr/archives/${MY_P}.src.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/${MY_P}"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
IUSE="audit debug pam selinux +mta +system-crontab readline"
DEPEND="
acct-group/fcron
acct-user/fcron
virtual/libcrypt:=
audit? ( sys-process/audit )
pam? ( sys-libs/pam )
readline? ( sys-libs/readline:= )
selinux? ( sys-libs/libselinux )
"
RDEPEND="
${DEPEND}
app-misc/editor-wrapper
mta? ( virtual/mta )
pam? ( sys-auth/pambase )
"
PATCHES=(
"${FILESDIR}"/fcron-3.1.1-noreadline.patch
"${FILESDIR}"/fcron-3.2.1-musl-getopt-order.patch
)
pkg_setup() {
rootuser=$(egetent passwd 0 | cut -d ':' -f 1)
[[ ${rootuser} ]] || rootuser=root
rootgroup=$(egetent group 0 | cut -d ':' -f 1)
[[ ${rootgroup} ]] || rootgroup=root
}
src_prepare() {
default
# respect LDFLAGS
sed "s:\(@LIBS@\):\$(LDFLAGS) \1:" -i Makefile.in || die "sed failed"
# Adjust fcrontab path
sed -e 's:/etc/fcrontab:/etc/fcron/fcrontab:' -i script/check_system_crontabs.sh || die
mv configure.in configure.ac || die
# For docs
cp "${FILESDIR}"/crontab.2 "${WORKDIR}"/crontab || die
sed -e '/systemctl daemon-reload/d' -i Makefile.in || die
# These two cause installation of /run
sed -e '/PIDDIR/d' -i Makefile.in || die
sed -e '/FIFODIR/d' -i Makefile.in || die
# Workaround for:
# * QA Notice: system executables owned by nonzero uid:
# But fcron by design doesn't suid root. Hence, hide that fact
# from the QA check via a wrapper (not a symlink)
# https://bugs.gentoo.org/925512
for file in fcrontab fcrondyn; do
cat > "${file}_wrapper" <<-EOF
#!/bin/sh
exec "${EPREFIX}/usr/libexec/${file}" "\$@"
EOF
done
eautoconf
}
src_configure() {
# Don't try to pass --with-debug as it'll play with cflags as
# well, and run foreground which is a _very_ nasty idea for
# Gentoo.
use debug && append-cppflags -DDEBUG
# bindir is used just for calling fcronsighup
local myeconfargs=(
--with-cflags="${CFLAGS}"
--bindir=/usr/libexec
--sbindir=/usr/libexec
$(use_with audit)
$(use_with mta sendmail)
$(use_with pam)
$(use_with readline)
$(use_with selinux)
--sysconfdir=/etc/fcron
--with-username=fcron
--with-groupname=fcron
--with-piddir=/run
--with-spooldir=/var/spool/fcron
--with-fifodir=/run
--with-fcrondyn=yes
--disable-checks
--with-editor=/usr/libexec/editor
--with-shell=/bin/sh
--without-db2man
--without-dsssl-dir
--with-rootname=${rootuser}
--with-rootgroup=${rootgroup}
--with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
)
econf "${myeconfargs[@]}"
}
src_compile() {
default
# bug #216460
sed \
-e 's:/usr/local/etc/fcron:/etc/fcron/fcron:g' \
-e 's:/usr/local/etc:/etc:g' \
-e 's:/usr/local/:/usr/:g' \
-i doc/*/*/*.{txt,1,5,8,html} \
|| die "unable to fix documentation references"
}
src_install() {
emake install BOOTINSTALL=0 DESTDIR="${ED}" STRIP=echo
keepdir /var/spool/fcron
fowners fcron:fcron /var/spool/fcron
fperms 6770 /var/spool/fcron
newbin fcrontab_wrapper fcrontab
newbin fcrondyn_wrapper fcrondyn
# bitstring.h is a private header inside fcron, not even installed.
find "${ED}/usr/share/man" -name '*bitstring*' -delete || die
if use system-crontab; then
dosym fcrontab /usr/bin/crontab
exeinto /usr/libexec
newexe script/check_system_crontabs.sh check_system_crontabs
insinto /etc/fcron
newins "${FILESDIR}"/fcrontab.2 fcrontab
fowners ${rootuser}:fcron /etc/fcron/fcrontab
fperms 0640 /etc/fcron/fcrontab
insinto /etc
newins "${FILESDIR}"/crontab.2 crontab
fi
if use pam ; then
rm "${ED}/etc/fcron/pam.conf" || die
pamd_mimic system-services fcron auth account session
cat > "${T}"/fcrontab.pam <<- EOF
# Don't ask for the user's password; fcrontab will only allow to
# change user if running as root.
auth sufficient pam_permit.so
# Still use the system-auth stack for account and session as the
# sysadmin might have set up stuff properly, and also avoids
# sidestepping limits (since fcrontab will run \$EDITOR).
account include system-auth
session include system-auth
EOF
newpamd "${T}"/fcrontab.pam fcrontab
fi
newinitd "${FILESDIR}"/fcron.init-r5 fcron
newconfd "${FILESDIR}"/fcron.confd fcron
local DOCS=( "${WORKDIR}/crontab" )
einstalldocs
}
pkg_postinst() {
if [[ -z "${REPLACING_VERSIONS}" ]]; then
# This is a new installation
elog "Make sure you execute"
elog ""
elog " # emerge --config ${CATEGORY}/${PN}"
elog ""
elog "to install the default systab on this system."
elif ver_replacing -lt "3.2.1"; then
# This is an upgrade
elog "fcron's default systab was updated since your last installation."
elog "You can use"
elog ""
elog " # emerge --config ${CATEGORY}/${PN}"
elog ""
elog "to re-install systab (do not call this command before you"
elog "have merged your configuration files)."
fi
if ! use system-crontab; then
echo ""
ewarn "Remember that fcron will *not* use /etc/cron.d in this configuration"
ewarn "due to USE=-system-crontab!"
echo ""
fi
}
pkg_config() {
if [[ $(fcrontab -l -u systab 2>/dev/null) ]]; then
eerror "We're not going to make any change to your systab as long as"
eerror "it contains data; please clear it before proceeding."
eerror "You can do that with"
eerror ""
eerror " # fcrontab -u systab -r"
eerror ""
eerror "However you are advised to do this by hand to review existing"
eerror "systab just in case."
return 1
fi
if use system-crontab; then
elog "This is going to set up fcron to execute check_system_crontabs."
elog "In this configuration, /etc/crontab and /etc/cron.d are respected."
elog "Per default fcron will check for modifications every 10 minutes."
/usr/libexec/check_system_crontabs -v -i -f
else
elog "This is going to set up fcron to set up a default systab that"
elog "executes /etc/cron.{hourly,daily,weekly,monthly} but will ignore"
elog "/etc/crontab and /etc/cron.d."
fcrontab -u systab - <<- EOF
!serial(true)
00 * * * * /bin/rm -f /var/spool/cron/lastrun/cron.hourly
00 00 * * * /bin/rm -f /var/spool/cron/lastrun/cron.daily
00 00 * * 6 /bin/rm -f /var/spool/cron/lastrun/cron.weekly
00 00 1 * * /bin/rm -f /var/spool/cron/lastrun/cron.monthly
*/10 * * * * /usr/bin/test -x /usr/sbin/run-crons && /usr/sbin/run-crons
!serial(false)
EOF
fi
}