diff --git a/app-misc/mc/mc-4.8.33.ebuild b/app-misc/mc/mc-4.8.33.ebuild index 9efde77ea369d..a192b7e42e81e 100644 --- a/app-misc/mc/mc-4.8.33.ebuild +++ b/app-misc/mc/mc-4.8.33.ebuild @@ -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 )" diff --git a/app-office/calcurse/Manifest b/app-office/calcurse/Manifest index 409d9e24cec2d..f34b7b01d0ee8 100644 --- a/app-office/calcurse/Manifest +++ b/app-office/calcurse/Manifest @@ -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 diff --git a/app-office/calcurse/calcurse-4.8.0-r1.ebuild b/app-office/calcurse/calcurse-4.8.0-r1.ebuild deleted file mode 100644 index 4bdc06bd097d3..0000000000000 --- a/app-office/calcurse/calcurse-4.8.0-r1.ebuild +++ /dev/null @@ -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 -} diff --git a/app-office/calcurse/calcurse-4.8.1-r1.ebuild b/app-office/calcurse/calcurse-4.8.1-r1.ebuild index 220cae348ddd5..56519506b4da1 100644 --- a/app-office/calcurse/calcurse-4.8.1-r1.ebuild +++ b/app-office/calcurse/calcurse-4.8.1-r1.ebuild @@ -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 diff --git a/app-office/calcurse/calcurse-4.8.1.ebuild b/app-office/calcurse/calcurse-4.8.1.ebuild deleted file mode 100644 index 9d465e8fa4089..0000000000000 --- a/app-office/calcurse/calcurse-4.8.1.ebuild +++ /dev/null @@ -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 -} diff --git a/app-shells/fish/files/fish-4.0.1-use-cargo-eclass-for-build.patch b/app-shells/fish/files/fish-4.0.1-use-cargo-eclass-for-build.patch new file mode 100644 index 0000000000000..3f2bf9c6ec406 --- /dev/null +++ b/app-shells/fish/files/fish-4.0.1-use-cargo-eclass-for-build.patch @@ -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} +- $<$:--release> +- $<$:--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 $,debug,$,release-with-debug,release>>) +-set(rust_debugflags "$<$:-g>$<$:-g>") ++set(rust_profile $,debug,release>) ++set(rust_debugflags "$<$:-g>") + + + # Temporary hack to propogate CMake flags/options to build.rs. We need to get CMake to evaluate the diff --git a/app-shells/fish/files/fish-9999-use-cargo-eclass-for-build.patch b/app-shells/fish/files/fish-9999-use-cargo-eclass-for-build.patch new file mode 100644 index 0000000000000..f20510a54bd8e --- /dev/null +++ b/app-shells/fish/files/fish-9999-use-cargo-eclass-for-build.patch @@ -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} +- $<$:--release> +- $<$:--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 $,debug,$,release-with-debug,release>>) +-set(rust_debugflags "$<$:-g>$<$:-g>") ++set(rust_profile $,debug,release>) ++set(rust_debugflags "$<$:-g>") + + + # Temporary hack to propagate CMake flags/options to build.rs. We need to get CMake to evaluate the diff --git a/app-shells/fish/fish-4.0.1.ebuild b/app-shells/fish/fish-4.0.1.ebuild index 5d155c4ce9826..8e85d81223a9a 100644 --- a/app-shells/fish/fish-4.0.1.ebuild +++ b/app-shells/fish/fish-4.0.1.ebuild @@ -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 } diff --git a/app-shells/fish/fish-9999.ebuild b/app-shells/fish/fish-9999.ebuild index 6912899db0521..43f0632104508 100644 --- a/app-shells/fish/fish-9999.ebuild +++ b/app-shells/fish/fish-9999.ebuild @@ -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 } diff --git a/dev-cpp/cpp-httplib/Manifest b/dev-cpp/cpp-httplib/Manifest index a104866b6d126..f18bd6a6fec68 100644 --- a/dev-cpp/cpp-httplib/Manifest +++ b/dev-cpp/cpp-httplib/Manifest @@ -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 diff --git a/dev-cpp/cpp-httplib/cpp-httplib-0.20.0.ebuild b/dev-cpp/cpp-httplib/cpp-httplib-0.20.0.ebuild new file mode 100644 index 0000000000000..22948a73eaaef --- /dev/null +++ b/dev-cpp/cpp-httplib/cpp-httplib-0.20.0.ebuild @@ -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=. +} diff --git a/dev-db/mycli/Manifest b/dev-db/mycli/Manifest index cb9f4835a9069..3f167fcea6a90 100644 --- a/dev-db/mycli/Manifest +++ b/dev-db/mycli/Manifest @@ -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 diff --git a/dev-db/mycli/mycli-1.27.2.ebuild b/dev-db/mycli/mycli-1.27.2.ebuild deleted file mode 100644 index 445b7b84997e1..0000000000000 --- a/dev-db/mycli/mycli-1.27.2.ebuild +++ /dev/null @@ -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/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 -} diff --git a/dev-db/mycli/mycli-1.29.2.ebuild b/dev-db/mycli/mycli-1.29.2.ebuild index a886468b6d31d..d9218ac5519b1 100644 --- a/dev-db/mycli/mycli-1.29.2.ebuild +++ b/dev-db/mycli/mycli-1.29.2.ebuild @@ -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 diff --git a/dev-java/bsf/bsf-2.4.0-r7.ebuild b/dev-java/bsf/bsf-2.4.0-r7.ebuild index f724c6f3c868f..9df47140d32c8 100644 --- a/dev-java/bsf/bsf-2.4.0-r7.ebuild +++ b/dev-java/bsf/bsf-2.4.0-r7.ebuild @@ -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" diff --git a/dev-java/rhino/rhino-1.8.0.ebuild b/dev-java/rhino/rhino-1.8.0.ebuild index b4f7f9266e63a..536c6c6b0984b 100644 --- a/dev-java/rhino/rhino-1.8.0.ebuild +++ b/dev-java/rhino/rhino-1.8.0.ebuild @@ -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 diff --git a/dev-libs/md4c/Manifest b/dev-libs/md4c/Manifest new file mode 100644 index 0000000000000..47bc5af3b07d0 --- /dev/null +++ b/dev-libs/md4c/Manifest @@ -0,0 +1 @@ +DIST md4c-0.5.2.tar.gz 237973 BLAKE2B 7f3f80c1bcfa3040b4458876abc8eabbad387242fbdcde08b34d9a279da56e4c2264a591deb6ad3061c951b4ca547f896589682aa5c6b50febfc03b89c61be3e SHA512 30607ba39d6c59329f5a56a90cd816ff60b82ea752ac2b9df356d756529cfc49170019fae5df32fa94afc0e2a186c66eaf56fa6373d18436c06ace670675ba85 diff --git a/dev-libs/md4c/md4c-0.5.2.ebuild b/dev-libs/md4c/md4c-0.5.2.ebuild new file mode 100644 index 0000000000000..002381590ba4c --- /dev/null +++ b/dev-libs/md4c/md4c-0.5.2.ebuild @@ -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 +} diff --git a/dev-libs/md4c/metadata.xml b/dev-libs/md4c/metadata.xml new file mode 100644 index 0000000000000..135e912b51657 --- /dev/null +++ b/dev-libs/md4c/metadata.xml @@ -0,0 +1,17 @@ + + + + + nrk@disroot.org + + + proxy-maint@gentoo.org + Proxy Maintainers + + + Build the md2html cli tool + + + mity/md4c + + diff --git a/dev-python/sshtunnel/files/sshtunnel-0.4.0-dont-deadlock-tests.patch b/dev-python/sshtunnel/files/sshtunnel-0.4.0-dont-deadlock-tests.patch new file mode 100644 index 0000000000000..1e5b06ac49b68 --- /dev/null +++ b/dev-python/sshtunnel/files/sshtunnel-0.4.0-dont-deadlock-tests.patch @@ -0,0 +1,38 @@ +From 96a056fb37684496c0495a831f8fd11b48ef01a9 Mon Sep 17 00:00:00 2001 +From: Alfred Wingate +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 +--- 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 + diff --git a/dev-python/sshtunnel/sshtunnel-0.4.0.ebuild b/dev-python/sshtunnel/sshtunnel-0.4.0.ebuild index 906dd10656c64..378b3d348e9bd 100644 --- a/dev-python/sshtunnel/sshtunnel-0.4.0.ebuild +++ b/dev-python/sshtunnel/sshtunnel-0.4.0.ebuild @@ -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 +) diff --git a/dev-tcltk/tcllib/tcllib-1.20.ebuild b/dev-tcltk/tcllib/tcllib-1.20.ebuild index b0665bd173821..5abcf1c1b4095 100644 --- a/dev-tcltk/tcllib/tcllib-1.20.ebuild +++ b/dev-tcltk/tcllib/tcllib-1.20.ebuild @@ -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=" diff --git a/dev-tcltk/tdom/tdom-0.9.5.ebuild b/dev-tcltk/tdom/tdom-0.9.5.ebuild index 86254ab103218..1069bc765dbd0 100644 --- a/dev-tcltk/tdom/tdom-0.9.5.ebuild +++ b/dev-tcltk/tdom/tdom-0.9.5.ebuild @@ -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=" diff --git a/dev-util/android-udev-rules/Manifest b/dev-util/android-udev-rules/Manifest index 527ac31e7df4a..99bb787d69671 100644 --- a/dev-util/android-udev-rules/Manifest +++ b/dev-util/android-udev-rules/Manifest @@ -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 diff --git a/dev-util/android-udev-rules/android-udev-rules-20240625.ebuild b/dev-util/android-udev-rules/android-udev-rules-20240625.ebuild deleted file mode 100644 index 1bfb0238bf5f9..0000000000000 --- a/dev-util/android-udev-rules/android-udev-rules-20240625.ebuild +++ /dev/null @@ -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 -} diff --git a/dev-util/android-udev-rules/android-udev-rules-20240829.ebuild b/dev-util/android-udev-rules/android-udev-rules-20240829.ebuild deleted file mode 100644 index 1bfb0238bf5f9..0000000000000 --- a/dev-util/android-udev-rules/android-udev-rules-20240829.ebuild +++ /dev/null @@ -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 -} diff --git a/dev-util/android-udev-rules/android-udev-rules-20241019.ebuild b/dev-util/android-udev-rules/android-udev-rules-20250314.ebuild similarity index 90% rename from dev-util/android-udev-rules/android-udev-rules-20241019.ebuild rename to dev-util/android-udev-rules/android-udev-rules-20250314.ebuild index 1bfb0238bf5f9..3439716f5b063 100644 --- a/dev-util/android-udev-rules/android-udev-rules-20241019.ebuild +++ b/dev-util/android-udev-rules/android-udev-rules-20250314.ebuild @@ -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" diff --git a/dev-util/bear/Manifest b/dev-util/bear/Manifest index 7d3abd94609a4..49b726acce6b1 100644 --- a/dev-util/bear/Manifest +++ b/dev-util/bear/Manifest @@ -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 diff --git a/dev-util/bear/bear-3.1.6.ebuild b/dev-util/bear/bear-3.1.6.ebuild new file mode 100644 index 0000000000000..4d37f48842ed1 --- /dev/null +++ b/dev-util/bear/bear-3.1.6.ebuild @@ -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 +} diff --git a/dev-util/bear/files/bear-3.1.6-always.patch b/dev-util/bear/files/bear-3.1.6-always.patch new file mode 100644 index 0000000000000..60eb4a2837117 --- /dev/null +++ b/dev-util/bear/files/bear-3.1.6-always.patch @@ -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 diff --git a/dev-util/libabigail/libabigail-9999.ebuild b/dev-util/libabigail/libabigail-9999.ebuild index 7d5f5ca27adff..2107f05581d52 100644 --- a/dev-util/libabigail/libabigail-9999.ebuild +++ b/dev-util/libabigail/libabigail-9999.ebuild @@ -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 diff --git a/dev-util/omake/Manifest b/dev-util/omake/Manifest index c9ceed4b106fd..873eeaf886218 100644 --- a/dev-util/omake/Manifest +++ b/dev-util/omake/Manifest @@ -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 diff --git a/dev-util/omake/metadata.xml b/dev-util/omake/metadata.xml index 85e4ed814fa25..3b5262844fa74 100644 --- a/dev-util/omake/metadata.xml +++ b/dev-util/omake/metadata.xml @@ -1,5 +1,8 @@ - + + + ocaml-omake/omake + diff --git a/dev-util/omake/omake-0.10.7.ebuild b/dev-util/omake/omake-0.10.7.ebuild new file mode 100644 index 0000000000000..7453adec1cbc3 --- /dev/null +++ b/dev-util/omake/omake-0.10.7.ebuild @@ -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 +} diff --git a/dev-vcs/fossil/fossil-2.24-r1.ebuild b/dev-vcs/fossil/fossil-2.24-r1.ebuild index f10a04e38ff13..180398355d2c4 100644 --- a/dev-vcs/fossil/fossil-2.24-r1.ebuild +++ b/dev-vcs/fossil/fossil-2.24-r1.ebuild @@ -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 )" diff --git a/eclass/flag-o-matic.eclass b/eclass/flag-o-matic.eclass index 9590192bb1f41..4765809e9118f 100644 --- a/eclass/flag-o-matic.eclass +++ b/eclass/flag-o-matic.eclass @@ -77,7 +77,7 @@ _setup-allowed-flags() { -ggdb '-ggdb[0-9]' -gdwarf '-gdwarf-*' -gstabs -gstabs+ - -gz + -gz '-gz=*' -glldb '-fdebug-default-version=*' diff --git a/games-engines/fheroes2/Manifest b/games-engines/fheroes2/Manifest index 0fc48d2c6be58..468990a63c352 100644 --- a/games-engines/fheroes2/Manifest +++ b/games-engines/fheroes2/Manifest @@ -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 diff --git a/games-engines/fheroes2/fheroes2-1.1.5.ebuild b/games-engines/fheroes2/fheroes2-1.1.7.ebuild similarity index 100% rename from games-engines/fheroes2/fheroes2-1.1.5.ebuild rename to games-engines/fheroes2/fheroes2-1.1.7.ebuild diff --git a/media-sound/pamix/Manifest b/media-sound/pamix/Manifest index 29aed1f0f4c0d..5378203ae64ba 100644 --- a/media-sound/pamix/Manifest +++ b/media-sound/pamix/Manifest @@ -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 diff --git a/media-sound/pamix/pamix-2.0.ebuild b/media-sound/pamix/pamix-2.0.ebuild new file mode 100644 index 0000000000000..77f1f2c11b021 --- /dev/null +++ b/media-sound/pamix/pamix-2.0.ebuild @@ -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" diff --git a/media-sound/pamix/pamix-9999.ebuild b/media-sound/pamix/pamix-9999.ebuild index e1631975ab6ea..77f1f2c11b021 100644 --- a/media-sound/pamix/pamix-9999.ebuild +++ b/media-sound/pamix/pamix-9999.ebuild @@ -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 -} diff --git a/media-sound/qpaeq/Manifest b/media-sound/qpaeq/Manifest index 955eec847d0e5..8ac038d21ea36 100644 --- a/media-sound/qpaeq/Manifest +++ b/media-sound/qpaeq/Manifest @@ -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 diff --git a/media-sound/qpaeq/files/pulseaudio-17.0-pr844.patch b/media-sound/qpaeq/files/pulseaudio-17.0-pr844.patch new file mode 100644 index 0000000000000..852be09598e90 --- /dev/null +++ b/media-sound/qpaeq/files/pulseaudio-17.0-pr844.patch @@ -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" +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 + diff --git a/media-sound/qpaeq/qpaeq-17.0.ebuild b/media-sound/qpaeq/qpaeq-17.0.ebuild new file mode 100644 index 0000000000000..5bfcea52ae61a --- /dev/null +++ b/media-sound/qpaeq/qpaeq-17.0.ebuild @@ -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" +} diff --git a/net-dns/dnsdist/dnsdist-1.9.8-r1.ebuild b/net-dns/dnsdist/dnsdist-1.9.8-r2.ebuild similarity index 95% rename from net-dns/dnsdist/dnsdist-1.9.8-r1.ebuild rename to net-dns/dnsdist/dnsdist-1.9.8-r2.ebuild index b51d68a3dba28..bebf3ec0d2edf 100644 --- a/net-dns/dnsdist/dnsdist-1.9.8-r1.ebuild +++ b/net-dns/dnsdist/dnsdist-1.9.8-r2.ebuild @@ -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 diff --git a/net-dns/dnsdist/files/1.9.8-fix-compat-with-boost-lockfree-1.87.0.patch b/net-dns/dnsdist/files/1.9.8-fix-compat-with-boost-lockfree-1.87.0.patch new file mode 100644 index 0000000000000..69b03b1047df8 --- /dev/null +++ b/net-dns/dnsdist/files/1.9.8-fix-compat-with-boost-lockfree-1.87.0.patch @@ -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 + +From: Remi Gacogne +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 dss, std::shared_ptrcleanSocketNotification(); +- 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 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& callback) ++void XskWorker::processIncomingFrames(const std::function& 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& callback) ++void XskWorker::processOutgoingFrames(const std::function& 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& callback); +- void processOutgoingFrames(const std::function& callback); ++ void processIncomingFrames(const std::function& callback); ++ void processOutgoingFrames(const std::function& callback); + void markAsFree(const XskPacket& packet); + // notify worker that at least one packet is available for processing + void notifyWorker() const; diff --git a/net-libs/libyang/libyang-3.7.8.ebuild b/net-libs/libyang/libyang-3.7.8.ebuild index c46fa3416f77d..6687f6de6792c 100644 --- a/net-libs/libyang/libyang-3.7.8.ebuild +++ b/net-libs/libyang/libyang-3.7.8.ebuild @@ -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 )" diff --git a/net-misc/sysrepo/sysrepo-3.3.10.ebuild b/net-misc/sysrepo/sysrepo-3.3.10.ebuild index a54ce088c6853..809a18d2b59af 100644 --- a/net-misc/sysrepo/sysrepo-3.3.10.ebuild +++ b/net-misc/sysrepo/sysrepo-3.3.10.ebuild @@ -14,7 +14,7 @@ SRC_URI=" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="~amd64 ~x86" +KEYWORDS="amd64 ~x86" IUSE="doc test" RESTRICT="!test? ( test )" diff --git a/profiles/base/package.use.mask b/profiles/base/package.use.mask index 72ecedb607041..f5b3a528feb06 100644 --- a/profiles/base/package.use.mask +++ b/profiles/base/package.use.mask @@ -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 (2018-06-13) # Requires app-arch/snappy[static-libs] that is no longer available. diff --git a/sci-astronomy/stellarium/Manifest b/sci-astronomy/stellarium/Manifest index 909af60f2bd7a..7ae2600f97402 100644 --- a/sci-astronomy/stellarium/Manifest +++ b/sci-astronomy/stellarium/Manifest @@ -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 diff --git a/sci-astronomy/stellarium/files/stellarium-0.25.1-astrometry.patch b/sci-astronomy/stellarium/files/stellarium-0.25.1-astrometry.patch new file mode 100644 index 0000000000000..29b2de0b2e4e2 --- /dev/null +++ b/sci-astronomy/stellarium/files/stellarium-0.25.1-astrometry.patch @@ -0,0 +1,50 @@ +From 4e1b49c3d593d04fa9970f1a0d59d9ef0a661a5b Mon Sep 17 00:00:00 2001 +From: "Alexander V. Wolf" +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."); diff --git a/sci-astronomy/stellarium/files/stellarium-0.25.1-md4c.patch b/sci-astronomy/stellarium/files/stellarium-0.25.1-md4c.patch new file mode 100644 index 0000000000000..1a82aacff4283 --- /dev/null +++ b/sci-astronomy/stellarium/files/stellarium-0.25.1-md4c.patch @@ -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() diff --git a/sci-astronomy/stellarium/stellarium-25.1.ebuild b/sci-astronomy/stellarium/stellarium-25.1.ebuild new file mode 100644 index 0000000000000..e163e6d86560e --- /dev/null +++ b/sci-astronomy/stellarium/stellarium-25.1.ebuild @@ -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 +} diff --git a/sys-apps/osinfo-db-tools/Manifest b/sys-apps/osinfo-db-tools/Manifest index 3f844b15691ad..71191336a42a1 100644 --- a/sys-apps/osinfo-db-tools/Manifest +++ b/sys-apps/osinfo-db-tools/Manifest @@ -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 diff --git a/sys-apps/osinfo-db-tools/osinfo-db-tools-1.10.0-r2.ebuild b/sys-apps/osinfo-db-tools/osinfo-db-tools-1.10.0-r2.ebuild deleted file mode 100644 index 917260bcc8dc4..0000000000000 --- a/sys-apps/osinfo-db-tools/osinfo-db-tools-1.10.0-r2.ebuild +++ /dev/null @@ -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 -} diff --git a/sys-apps/osinfo-db-tools/osinfo-db-tools-1.10.0-r1.ebuild b/sys-apps/osinfo-db-tools/osinfo-db-tools-1.12.0.ebuild similarity index 86% rename from sys-apps/osinfo-db-tools/osinfo-db-tools-1.10.0-r1.ebuild rename to sys-apps/osinfo-db-tools/osinfo-db-tools-1.12.0.ebuild index 9a59cfb663357..5c8d9eeb3ea59 100644 --- a/sys-apps/osinfo-db-tools/osinfo-db-tools-1.10.0-r1.ebuild +++ b/sys-apps/osinfo-db-tools/osinfo-db-tools-1.12.0.ebuild @@ -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 )" diff --git a/sys-apps/osinfo-db/Manifest b/sys-apps/osinfo-db/Manifest index 64beddaee30d6..0c002e6f324b9 100644 --- a/sys-apps/osinfo-db/Manifest +++ b/sys-apps/osinfo-db/Manifest @@ -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 diff --git a/sys-apps/osinfo-db/osinfo-db-20240523.ebuild b/sys-apps/osinfo-db/osinfo-db-20250124.ebuild similarity index 83% rename from sys-apps/osinfo-db/osinfo-db-20240523.ebuild rename to sys-apps/osinfo-db/osinfo-db-20250124.ebuild index 8c494fff7f97e..d0ea9a0a21067 100644 --- a/sys-apps/osinfo-db/osinfo-db-20240523.ebuild +++ b/sys-apps/osinfo-db/osinfo-db-20250124.ebuild @@ -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" diff --git a/sys-libs/libosinfo/Manifest b/sys-libs/libosinfo/Manifest index 5800717815ea0..c8ff6e4365c48 100644 --- a/sys-libs/libosinfo/Manifest +++ b/sys-libs/libosinfo/Manifest @@ -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 diff --git a/sys-libs/libosinfo/libosinfo-1.10.0-r1.ebuild b/sys-libs/libosinfo/libosinfo-1.12.0.ebuild similarity index 83% rename from sys-libs/libosinfo/libosinfo-1.10.0-r1.ebuild rename to sys-libs/libosinfo/libosinfo-1.12.0.ebuild index ff0de3cf3cc79..7fb90a0bf25c3 100644 --- a/sys-libs/libosinfo/libosinfo-1.10.0-r1.ebuild +++ b/sys-libs/libosinfo/libosinfo-1.12.0.ebuild @@ -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 ) diff --git a/sys-process/fcron/Manifest b/sys-process/fcron/Manifest index 46849103f9bd9..afc8d4244e0b2 100644 --- a/sys-process/fcron/Manifest +++ b/sys-process/fcron/Manifest @@ -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 diff --git a/sys-process/fcron/fcron-3.4.0.ebuild b/sys-process/fcron/fcron-3.4.0.ebuild new file mode 100644 index 0000000000000..9b4c34d2e31e9 --- /dev/null +++ b/sys-process/fcron/fcron-3.4.0.ebuild @@ -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 +}