diff options
32 files changed, 1007 insertions, 274 deletions
diff --git a/dev-util/bitcoin-tx/bitcoin-tx-25.0.ebuild b/dev-util/bitcoin-tx/bitcoin-tx-25.0.ebuild new file mode 100644 index 000000000000..7593d8a0097f --- /dev/null +++ b/dev-util/bitcoin-tx/bitcoin-tx-25.0.ebuild @@ -0,0 +1,13 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +DESCRIPTION="Transitional package for net-p2p/bitcoin-core" +HOMEPAGE="https://bitcoincore.org/" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux" + +RDEPEND="~net-p2p/bitcoin-core-${PV}" diff --git a/eclass/meson.eclass b/eclass/meson.eclass index 5aff3eb58930..4757f3fa5eef 100644 --- a/eclass/meson.eclass +++ b/eclass/meson.eclass @@ -388,8 +388,8 @@ meson_src_compile() { local mesoncompileargs=( -C "${BUILD_DIR}" - --jobs "$(makeopts_jobs "${MAKEOPTS}" 0)" - --load-average "$(makeopts_loadavg "${MAKEOPTS}" 0)" + --jobs "$(get_makeopts_jobs 0)" + --load-average "$(get_makeopts_loadavg 0)" ) case ${MESON_VERBOSE} in diff --git a/eclass/multiprocessing.eclass b/eclass/multiprocessing.eclass index e55be636a02c..13d6a92f2f2e 100644 --- a/eclass/multiprocessing.eclass +++ b/eclass/multiprocessing.eclass @@ -1,4 +1,4 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: multiprocessing.eclass @@ -64,17 +64,35 @@ get_nproc() { fi } +# @FUNCTION: _get_all_makeopts +# @INTERNAL +# @DESCRIPTION: +# Returns ${MAKEOPTS} ${GNUMAKEFLAGS} ${MAKEFLAGS}. +_get_all_makeopts() { + echo "${MAKEOPTS} ${GNUMAKEFLAGS} ${MAKEFLAGS}" +} + +# @FUNCTION: get_makeopts_jobs +# @USAGE: [default-jobs] +# @DESCRIPTION: +# Return the number of jobs extracted from the make options (MAKEOPTS, +# GNUMAKEFLAGS, MAKEFLAGS). If the make options do not specify a number, +# then either the provided default is returned, or 1. +get_makeopts_jobs() { + makeopts_jobs "$(_get_all_makeopts)" "${1:-1}" +} + # @FUNCTION: makeopts_jobs # @USAGE: [${MAKEOPTS}] [${inf:-$(( $(get_nproc) + 1 ))}] # @DESCRIPTION: -# Searches the arguments (defaults to ${MAKEOPTS}) and extracts the jobs number +# Searches the arguments (or sensible defaults) and extracts the jobs number # specified therein. Useful for running non-make tools in parallel too. # i.e. if the user has MAKEOPTS=-j9, this will echo "9" -- we can't return the # number as bash normalizes it to [0, 255]. If the flags haven't specified a # -j flag, then "1" is shown as that is the default `make` uses. If the flags # specify -j without a number, ${inf} is returned (defaults to nproc). makeopts_jobs() { - [[ $# -eq 0 ]] && set -- "${MAKEOPTS}" + [[ $# -eq 0 ]] && set -- "$(_get_all_makeopts)" # This assumes the first .* will be more greedy than the second .* # since POSIX doesn't specify a non-greedy match (i.e. ".*?"). local jobs=$(echo " $* " | sed -r -n \ @@ -83,10 +101,20 @@ makeopts_jobs() { echo ${jobs:-1} } +# @FUNCTION: get_makeopts_loadavg +# @USAGE: [default-loadavg] +# @DESCRIPTION: +# Return the value for the load-average extracted from the make options (MAKEOPTS, +# GNUMAKEFLAGS, MAKEFLAGS). If the make options do not specify a value, then +# either the optional provided default is returned, or 999. +get_makeopts_loadavg() { + makeopts_loadavg "$(_get_all_makeopts)" "${1:-999}" +} + # @FUNCTION: makeopts_loadavg # @USAGE: [${MAKEOPTS}] [${inf:-999}] # @DESCRIPTION: -# Searches the arguments (defaults to ${MAKEOPTS}) and extracts the value set +# Searches the arguments (or sensible defaults) and extracts the value set # for load-average. For make and ninja based builds this will mean new jobs are # not only limited by the jobs-value, but also by the current load - which might # get excessive due to I/O and not just due to CPU load. @@ -95,7 +123,7 @@ makeopts_jobs() { # If no limit is specified or --load-average is used without a number, ${inf} # (defaults to 999) is returned. makeopts_loadavg() { - [[ $# -eq 0 ]] && set -- "${MAKEOPTS}" + [[ $# -eq 0 ]] && set -- "$(_get_all_makeopts)" # This assumes the first .* will be more greedy than the second .* # since POSIX doesn't specify a non-greedy match (i.e. ".*?"). local lavg=$(echo " $* " | sed -r -n \ diff --git a/eclass/ninja-utils.eclass b/eclass/ninja-utils.eclass index 5a211e81131d..859938cb3047 100644 --- a/eclass/ninja-utils.eclass +++ b/eclass/ninja-utils.eclass @@ -72,7 +72,7 @@ esac # Get the value of NINJAOPTS, inferring them from MAKEOPTS if unset. get_NINJAOPTS() { if [[ -z ${NINJAOPTS+set} ]]; then - NINJAOPTS="-j$(makeopts_jobs "${MAKEOPTS}" 999) -l$(makeopts_loadavg "${MAKEOPTS}" 0)" + NINJAOPTS="-j$(get_makeopts_jobs 999) -l$(get_makeopts_loadavg 0)" fi echo "${NINJAOPTS}" } diff --git a/eclass/tests/multiprocessing_makeopts_jobs.sh b/eclass/tests/multiprocessing_makeopts_jobs.sh index 37d5a7257775..56d73ef48b3c 100755 --- a/eclass/tests/multiprocessing_makeopts_jobs.sh +++ b/eclass/tests/multiprocessing_makeopts_jobs.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -9,7 +9,13 @@ inherit multiprocessing test-makeopts_jobs() { local exp=$1; shift - tbegin "makeopts_jobs($1${2+; inf=${2}}) == ${exp}" + local targs + if [[ -v 1 ]]; then + targs="$1${2+; inf=${2}}" + else + targs="MAKEOPTS=\"${MAKEOPTS}\" GNUMAKEFLAGS=\"${GNUMAKEFLAGS}\" MAKEFLAGS=\"${MAKEFLAGS}\"" + fi + tbegin "makeopts_jobs(${targs}) == ${exp}" local indirect=$(MAKEOPTS="$*" makeopts_jobs) local direct=$(makeopts_jobs "$@") if [[ "${direct}" != "${indirect}" ]] ; then @@ -50,6 +56,20 @@ for (( i = 0; i < ${#tests[@]}; i += 2 )) ; do test-makeopts_jobs "${tests[i]}" "${tests[i+1]}" done +tests=( + 7 "" "--jobs 7" "" + # MAKEFLAGS override GNUMAKEFLAGS + 8 "" "--jobs 7" "--jobs 8" +) + +for (( i = 0; i < ${#tests[@]}; i += 4 )) ; do + MAKEOPTS="${tests[i+1]}" + GNUMAKEFLAGS="${tests[i+2]}" + MAKEFLAGS="${tests[i+3]}" + test-makeopts_jobs "${tests[i]}" + unset MAKEOPTS GNUMAKEFLAGS MAKEFLAGS +done + # test custom inf value test-makeopts_jobs 645 "-j" 645 diff --git a/net-analyzer/gsad/files/gsad-22.init b/net-analyzer/gsad/files/gsad-22.init index aae78b2e1ab8..a17f2dc1c084 100644 --- a/net-analyzer/gsad/files/gsad-22.init +++ b/net-analyzer/gsad/files/gsad-22.init @@ -3,6 +3,7 @@ # Distributed under the terms of the GNU General Public License v2 : ${GSAD_USER:=gvm} +: ${GSAD_GROUP:=gvm} : ${GSAD_TIMEOUT:=30} : ${GSAD_PIDFILE:="/run/gsad/gsad.pid"} @@ -21,6 +22,10 @@ start_pre() { checkpath -d --mode 0755 --owner root /run/gsad } +start_post() { + checkpath -f --mode 0644 --owner "${GSAD_USER}:${GSAD_GROUP}" /var/log/gvm/gsad.log +} + stop_post() { if [ -f "${GSAD_PIDFILE}" ]; then ebegin "Removing PID file" @@ -28,4 +33,3 @@ stop_post() { eend $? fi } - diff --git a/net-analyzer/gsad/gsad-22.6.0.ebuild b/net-analyzer/gsad/gsad-22.6.0-r1.ebuild index f8fe3475bfda..f8fe3475bfda 100644 --- a/net-analyzer/gsad/gsad-22.6.0.ebuild +++ b/net-analyzer/gsad/gsad-22.6.0-r1.ebuild diff --git a/net-analyzer/gvm/files/gvm.init b/net-analyzer/gvm/files/gvm.init index bfd184221622..22a736c403b3 100644 --- a/net-analyzer/gvm/files/gvm.init +++ b/net-analyzer/gvm/files/gvm.init @@ -9,9 +9,9 @@ name="Greenbone Vulnerability Manager" command="/bin/true" command_background="true" -command_user="${GSAD_USER}:${GSAD_GROUP}" +command_user="${GVM_USER}:${GVM_GROUP}" pidfile="/run/gvm/gvm.pid" -retry="${GSAD_TIMEOUT}" +retry="${GVM_TIMEOUT}" depend() { after bootmisc diff --git a/net-analyzer/gvm/gvm-22.4.ebuild b/net-analyzer/gvm/gvm-22.4-r1.ebuild index 4639c27b5590..4639c27b5590 100644 --- a/net-analyzer/gvm/gvm-22.4.ebuild +++ b/net-analyzer/gvm/gvm-22.4-r1.ebuild diff --git a/net-analyzer/openvas-scanner/Manifest b/net-analyzer/openvas-scanner/Manifest index b2e13b849c4b..1d93a64ae0d6 100644 --- a/net-analyzer/openvas-scanner/Manifest +++ b/net-analyzer/openvas-scanner/Manifest @@ -1,3 +1,2 @@ DIST openvas-scanner-21.4.4.tar.gz 460601 BLAKE2B 66d627e76912735539399aed637fdc07a7d13c9e4eb142498dcf181b8ea952dd93107bcc1f2ef577126178ff3dad1e5f6e50d67840692cd49f7352e3a726ce8f SHA512 f2fe1f802b14fc41ee0d7657d031d318b651c3ec9ef554b33379a7459d40c17b44525c8f666ccb9670868576c101766936dd0c700778e46683bf43f0683834b6 -DIST openvas-scanner-22.7.3-fix-automagic-dep-on-snmp.patch 2669 BLAKE2B 1ac0478c23d8102d0928552acefff01661db55949cf4f0540d9a8608078ff01e5d794f7a851095cfcdd49657593e7ba2340c665b3f87615ae4ca7cee2eb1248a SHA512 7dc3cf4d39733706516909e4724272abf17cd20b9a6104b6a03166056415905748c72ad629258a430e19aed553cc1659587c0a0b6c7991c35605ee82e9caea5b -DIST openvas-scanner-22.7.3.tar.gz 962647 BLAKE2B d3ce0be58b41bef6c01c5e831307713fa95913dae70cb6e67d82c196793817f516429f2ef1efffcc58863165913524a10465f33aac5f283d94d21595aaad360c SHA512 c729fca47534e289c26f5c5ad1766fe0101b1fc287609d5b40c65108152b1069b759ecfd6375999b6384b2b90ffff420336f5ce134256bd1a5fec5b5523a8272 +DIST openvas-scanner-22.7.5.tar.gz 976268 BLAKE2B 0a8b2ce275de5baec614e18164fcc13029373233e3e6acc31124e0660c9c82a8aabf2913223983014518fefe534048fd8a23a7457727ffa165c8a3ea58cd44d0 SHA512 cdbafb80e74f948043cae87e27a10df5fb7af1bb4112a3fd593f60233fd3c9a46d3ffb80b1fce195bed7de6308228b3fe7fcbff6ed493791627bdd3767987261 diff --git a/net-analyzer/openvas-scanner/files/redis-openvas.confd b/net-analyzer/openvas-scanner/files/redis-openvas.confd index 2e9ec5cfbf16..6a75dfdc7d28 100644 --- a/net-analyzer/openvas-scanner/files/redis-openvas.confd +++ b/net-analyzer/openvas-scanner/files/redis-openvas.confd @@ -8,7 +8,7 @@ REDIS_GROUP="gvm" REDIS_CONF="/etc/gvm/redis-openvas.conf" # Redis dump directory. -REDIS_DIR="/var/lib/gvm/redis" +REDIS_DIR="/var/lib/openvas/redis" # Redis options. # (Redis expects the first argument to be the configuration file.) diff --git a/net-analyzer/openvas-scanner/files/redis-openvas.initd b/net-analyzer/openvas-scanner/files/redis-openvas.initd index 5c50d29dae6a..058d99d063dc 100644 --- a/net-analyzer/openvas-scanner/files/redis-openvas.initd +++ b/net-analyzer/openvas-scanner/files/redis-openvas.initd @@ -1,8 +1,8 @@ #!/sbin/openrc-run -# Copyright 1999-2017 Gentoo Foundation +# Copyright 1999-2023 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -: ${REDIS_DIR:=/var/lib/gvm/redis} +: ${REDIS_DIR:=/var/lib/openvas/redis} : ${REDIS_CONF:=/etc/gvm/redis-openvas.conf} : ${REDIS_OPTS:="${REDIS_CONF}"} : ${REDIS_USER:=gvm} @@ -19,6 +19,10 @@ pidfile="/run/${RC_SVCNAME}/redis-server.pid" retry="${REDIS_TIMEOUT}" start_stop_daemon_args="--chdir \"${REDIS_DIR}\"" +start_post() { + checkpath -f --mode 0644 --owner ${REDIS_USER}:${REDIS_GROUP} /var/log/gvm/openvas.log +} + depend() { use localmount logger after keepalived diff --git a/net-analyzer/openvas-scanner/openvas-scanner-22.7.3-r1.ebuild b/net-analyzer/openvas-scanner/openvas-scanner-22.7.5.ebuild index 096f3452f3ff..fa42f0f1eb67 100644 --- a/net-analyzer/openvas-scanner/openvas-scanner-22.7.3-r1.ebuild +++ b/net-analyzer/openvas-scanner/openvas-scanner-22.7.5.ebuild @@ -11,8 +11,6 @@ DESCRIPTION="Open Vulnerability Assessment Scanner" HOMEPAGE="https://www.greenbone.net https://github.com/greenbone/openvas-scanner/" SRC_URI=" https://github.com/greenbone/openvas-scanner/archive/v${PV}.tar.gz -> ${P}.tar.gz - https://github.com/greenbone/openvas-scanner/commit/c9ba348e1a7fa99a0b41a0e53f251309f2768187.patch - -> ${PN}-22.7.3-fix-automagic-dep-on-snmp.patch " SLOT="0" @@ -23,17 +21,17 @@ RESTRICT="!test? ( test )" DEPEND=" acct-user/gvm - dev-db/redis - dev-libs/glib:2 + >=dev-db/redis-5.0.3 + >=dev-libs/glib-2.42:2 >=dev-libs/json-glib-1.4.4 - >=net-libs/gnutls-3.2.15 + >=net-libs/gnutls-3.2.15:= >=net-analyzer/gvm-libs-22.4 net-libs/libpcap app-crypt/gpgme:= - dev-libs/libgcrypt:= + >=dev-libs/libgcrypt-1.6:= dev-libs/libgpg-error >=dev-libs/libksba-1.0.7 - >=net-libs/libssh-0.6.0 + >=net-libs/libssh-0.6.0:= dev-libs/libbsd snmp? ( net-analyzer/net-snmp:= ) " @@ -53,11 +51,6 @@ BDEPEND=" test? ( dev-libs/cgreen ) " -PATCHES=( - # Fix https://bugs.gentoo.org/911114 - "${DISTDIR}"/${PN}-22.7.3-fix-automagic-dep-on-snmp.patch -) - src_prepare() { cmake_src_prepare # QA-Fix | Correct FHS/Gentoo policy paths for 7.0.0 diff --git a/net-analyzer/ospd-openvas/Manifest b/net-analyzer/ospd-openvas/Manifest index 1284938fa078..f851a459d30e 100644 --- a/net-analyzer/ospd-openvas/Manifest +++ b/net-analyzer/ospd-openvas/Manifest @@ -1,2 +1,2 @@ DIST ospd-openvas-21.4.4.tar.gz 173368 BLAKE2B 4568eb45bb999d0ff2cf91652dd56000bceb967f5c37c3061735322d1c72165f9b869c8b48694b37fd6d684679fa1bbff4a5550076bbcfcee5936b470cb04700 SHA512 3981b0a9044f90243fe06f15b0d8ee5a6b1a334556f6de76955aecda0404da2f8bd1d39bf547093a31c244f0aabae819f5e45e8c518984fc7d50764a267086e9 -DIST ospd-openvas-22.5.3.tar.gz 250022 BLAKE2B 277180051216527ce5889257a362219bdf11e88670e5fcde1cd4f1e687fbe7d56301d28d9a95982443bb1ecf9bb2553b7fcd6784cedad0139ad34cbdde142c39 SHA512 12be93803d52b46ec24760f07b7ace47b6383e5d84bf8903ea07d0e55889d149564b37e5be15ae5a33f03449bf2499d4e5220220d5ebec99629ee64548bb00f8 +DIST ospd-openvas-22.6.0.tar.gz 248449 BLAKE2B 83f4fc370e23249f62e358c9314341c17b39d618407c7f176b36981675707c749aacf07a1daf9e57ebd8a4673cb17b22bf2e63f7e1c3f55e2df57deab4986109 SHA512 f98e59d5898ae75bf6fbadfbcf57bb1c810143bba88bc4ffb5bc30d3780638577f73ffb265e80beaa9f3e67c6b7032264ca2c0375698c886a2f3ad101ac4310a diff --git a/net-analyzer/ospd-openvas/files/ospd-openvas-22.initd b/net-analyzer/ospd-openvas/files/ospd-openvas-22.initd index 7c79d85d8e1f..d8ef2f27c214 100644 --- a/net-analyzer/ospd-openvas/files/ospd-openvas-22.initd +++ b/net-analyzer/ospd-openvas/files/ospd-openvas-22.initd @@ -11,10 +11,11 @@ command=/usr/bin/ospd-openvas command_user="${GVM_USER}:${GVM_GROUP}" command_args="${OSPD_OPENVAS_OPTIONS} \ --config /etc/gvm/ospd-openvas.conf" +pidfile=/run/ospd/ospd-openvas.pid retry="${OSPD_TIMEOUT}" depend() { - after bootmisc + after bootmisc redis-openvas need localmount redis-openvas } diff --git a/net-analyzer/ospd-openvas/ospd-openvas-22.5.3-r2.ebuild b/net-analyzer/ospd-openvas/ospd-openvas-22.6.0.ebuild index f1be6523d1c9..799d7633ff7d 100644 --- a/net-analyzer/ospd-openvas/ospd-openvas-22.5.3-r2.ebuild +++ b/net-analyzer/ospd-openvas/ospd-openvas-22.6.0.ebuild @@ -18,14 +18,15 @@ IUSE="doc +notus" DEPEND=" acct-user/gvm - dev-python/defusedxml[${PYTHON_USEDEP}] - dev-python/deprecated[${PYTHON_USEDEP}] - dev-python/lxml[${PYTHON_USEDEP}] + >=dev-python/defusedxml-0.6[${PYTHON_USEDEP}] + >=dev-python/deprecated-1.2.10[${PYTHON_USEDEP}] + >=dev-python/lxml-4.5.2[${PYTHON_USEDEP}] >=dev-python/packaging-20.4[${PYTHON_USEDEP}] - dev-python/paramiko[${PYTHON_USEDEP}] - >=dev-python/psutil-5.7.0[${PYTHON_USEDEP}] - >=dev-python/redis-3.5.3[${PYTHON_USEDEP}] + >=dev-python/psutil-5.5.1[${PYTHON_USEDEP}] + >=dev-python/redis-4.5.0[${PYTHON_USEDEP}] >=dev-python/python-gnupg-0.5.0[${PYTHON_USEDEP}] + >=dev-python/paho-mqtt-1.5.1[${PYTHON_USEDEP}] + >=dev-python/python-gnupg-0.4.8[${PYTHON_USEDEP}] net-libs/paho-mqtt-c app-misc/mosquitto " diff --git a/net-libs/libbitcoinconsensus/libbitcoinconsensus-25.0.ebuild b/net-libs/libbitcoinconsensus/libbitcoinconsensus-25.0.ebuild new file mode 100644 index 000000000000..a13f58256a8b --- /dev/null +++ b/net-libs/libbitcoinconsensus/libbitcoinconsensus-25.0.ebuild @@ -0,0 +1,14 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +DESCRIPTION="Transitional package for net-p2p/bitcoin-core[libs]" +HOMEPAGE="https://bitcoincore.org/" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux" +IUSE="+asm" + +RDEPEND="~net-p2p/bitcoin-core-${PV}[libs,asm=]" diff --git a/net-p2p/bitcoin-cli/bitcoin-cli-25.0.ebuild b/net-p2p/bitcoin-cli/bitcoin-cli-25.0.ebuild new file mode 100644 index 000000000000..04157a27bd07 --- /dev/null +++ b/net-p2p/bitcoin-cli/bitcoin-cli-25.0.ebuild @@ -0,0 +1,13 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +DESCRIPTION="Transitional package for net-p2p/bitcoin-core[bitcoin-cli]" +HOMEPAGE="https://bitcoincore.org/" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux" + +RDEPEND="~net-p2p/bitcoin-core-${PV}[bitcoin-cli]" diff --git a/net-p2p/bitcoin-core/Manifest b/net-p2p/bitcoin-core/Manifest new file mode 100644 index 000000000000..c4ed0f3bcb9e --- /dev/null +++ b/net-p2p/bitcoin-core/Manifest @@ -0,0 +1 @@ +DIST bitcoin-25.0.tar.gz 12413133 BLAKE2B 34f725e8c69ee3eb25d2a0c796f7688b3727603a4a34eb7ef4dd140c9b2995ecf28c60bfa45ad22614dcd445c9ddfdadd8dbb45dfbb9327c4b5dbe50c7ae9a11 SHA512 2be57fc760fa12d291dcf946522838b2e791e24e5dd98de20b5b72af2269269a66539c5bddce590e6cdb6464fd5ecb530cf549edc188ee6f08b4365fdcf850a2 diff --git a/net-p2p/bitcoin-core/bitcoin-core-25.0.ebuild b/net-p2p/bitcoin-core/bitcoin-core-25.0.ebuild new file mode 100644 index 000000000000..0ed41f21df48 --- /dev/null +++ b/net-p2p/bitcoin-core/bitcoin-core-25.0.ebuild @@ -0,0 +1,340 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..12} ) + +inherit autotools bash-completion-r1 db-use desktop python-any-r1 systemd xdg-utils + +DESCRIPTION="Reference implementation of the Bitcoin cryptocurrency" +HOMEPAGE="https://bitcoincore.org/" +SRC_URI="https://bitcoincore.org/bin/${P}/${P/-core}.tar.gz" +S="${WORKDIR}/${P/-core}" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux" +# IUSE="+cli" doesn't work due to https://bugs.gentoo.org/831045#c3 +IUSE="+asm +berkdb +bitcoin-cli +daemon dbus examples +external-signer kde libs +man nat-pmp +qrcode qt5 +sqlite system-leveldb +system-libsecp256k1 systemtap test upnp zeromq" +RESTRICT="!test? ( test )" + +REQUIRED_USE=" + dbus? ( qt5 ) + kde? ( qt5 ) + qrcode? ( qt5 ) + system-leveldb? ( || ( daemon qt5 ) ) +" +# dev-libs/univalue is now bundled, as upstream dropped support for system copy +# and their version in the Bitcoin repo has deviated a fair bit from upstream. +# Upstream also seems very inactive. +RDEPEND=" + !<dev-util/bitcoin-tx-25.0 + >=dev-libs/boost-1.81.0:= + >=dev-libs/libevent-2.1.12:= + berkdb? ( >=sys-libs/db-4.8.30:$(db_ver_to_slot 4.8)=[cxx] ) + bitcoin-cli? ( !<net-p2p/bitcoin-cli-25.0 ) + daemon? ( + !<net-p2p/bitcoind-25.0 + acct-group/bitcoin + acct-user/bitcoin + ) + libs? ( !<net-libs/libbitcoinconsensus-25.0 ) + nat-pmp? ( >=net-libs/libnatpmp-20220705:= ) + qrcode? ( >=media-gfx/qrencode-4.1.1:= ) + qt5? ( + !<net-p2p/bitcoin-qt-25.0 + >=dev-qt/qtcore-5.15.5:5 + >=dev-qt/qtgui-5.15.5:5 + >=dev-qt/qtnetwork-5.15.5:5 + >=dev-qt/qtwidgets-5.15.5:5 + dbus? ( >=dev-qt/qtdbus-5.15.5:5 ) + ) + sqlite? ( >=dev-db/sqlite-3.38.5:= ) + system-leveldb? ( virtual/bitcoin-leveldb ) + system-libsecp256k1? ( >=dev-libs/libsecp256k1-0.3.1:=[recovery,schnorr] ) + upnp? ( >=net-libs/miniupnpc-2.2.2:= ) + zeromq? ( >=net-libs/zeromq-4.3.4:= ) +" +DEPEND=" + ${RDEPEND} + systemtap? ( >=dev-util/systemtap-4.8 ) +" +BDEPEND=" + virtual/pkgconfig + daemon? ( + acct-group/bitcoin + acct-user/bitcoin + ) + qt5? ( >=dev-qt/linguist-tools-5.15.5:5 ) + test? ( ${PYTHON_DEPS} ) +" +IDEPEND=" + qt5? ( dev-util/desktop-file-utils ) +" + +DOCS=( + doc/bips.md + doc/bitcoin-conf.md + doc/descriptors.md + doc/files.md + doc/i2p.md + doc/JSON-RPC-interface.md + doc/multisig-tutorial.md + doc/p2p-bad-ports.md + doc/psbt.md + doc/reduce-memory.md + doc/reduce-traffic.md + doc/release-notes.md + doc/REST-interface.md + doc/tor.md +) + +PATCHES=( + "${FILESDIR}/25.0-syslibs.patch" + "${FILESDIR}/init.patch" +) + +pkg_setup() { + use test && python-any-r1_pkg_setup +} + +src_prepare() { + default + ! use system-leveldb || rm -r src/leveldb || die + if use system-libsecp256k1 ; then + rm -r src/secp256k1 || die + sed -e '/^DIST_SUBDIRS *=/s/\bsecp256k1\b//' -i src/Makefile.am || die + else + pushd src/secp256k1 >/dev/null || die + AT_NOELIBTOOLIZE=yes eautoreconf + popd >/dev/null || die + fi + eautoreconf + + # we say --disable-util-util, so we can't test bitcoin-util + sed -ne '/^ {/{h;:0;n;H;/^ }/!b0;g;\|"exec": *"\./bitcoin-util"|d};p' \ + -i test/util/data/bitcoin-util-test.json || die + + sed -e 's/^\(complete -F _bitcoind\b\).*$/\1'"$(usev daemon ' bitcoind')$(usev qt5 ' bitcoin-qt')/" \ + -i contrib/completions/bash/bitcoind.bash-completion || die +} + +src_configure() { + local wallet ; if use berkdb || use sqlite ; then wallet=enable ; else wallet=disable ; fi + local myeconfargs=( + --disable-static + --${wallet}-wallet + $(use_with sqlite) + $(use_with berkdb bdb) + $(use_enable systemtap usdt) + $(use_with upnp miniupnpc) + $(use_with nat-pmp natpmp) + $(use_enable test tests) + --disable-bench + --disable-fuzz{,-binary} + $(use_with qrcode qrencode) + --disable-ccache + $(use_enable asm) + $(use_enable zeromq zmq) + $(use_enable man) + $(use_enable external-signer) + --with-utils + $(use_enable {bitcoin,util}-cli) + --enable-util-tx + --${wallet}-util-wallet + --disable-util-util + $(use_with libs) + $(use_with daemon) + $(use_with qt5 gui qt5) + $(use_with dbus qtdbus) + $(use_with system-leveldb) + $(use_with system-libsecp256k1) + ) + econf "${myeconfargs[@]}" +} + +src_install() { + use external-signer && DOCS+=( doc/external-signer.md ) + use berkdb || use sqlite && DOCS+=( doc/managing-wallets.md ) + use libs && DOCS+=( doc/shared-libraries.md ) + use systemtap && DOCS+=( doc/tracing.md ) + use zeromq && DOCS+=( doc/zmq.md ) + + default + + find "${ED}" -type f -name '*.la' -delete || die + ! use test || rm -f -- "${ED}"/usr/bin/test_bitcoin{,-qt} || die + + newbashcomp contrib/completions/bash/bitcoin-tx.bash-completion bitcoin-tx + use bitcoin-cli && newbashcomp contrib/completions/bash/bitcoin-cli.bash-completion bitcoin-cli + use daemon || use qt5 && newbashcomp contrib/completions/bash/bitcoind.bash-completion bitcoind + + if use daemon ; then + insinto /etc/bitcoin + sed -ne 's/ To use, copy this file$//p;Tp;:0;n;/save the file\.$/!b0;d;:p;p' \ + share/examples/bitcoin.conf >"${ED}/etc/bitcoin/bitcoin.conf" || die + fowners bitcoin:bitcoin /etc/bitcoin/bitcoin.conf + fperms 0660 /etc/bitcoin/bitcoin.conf + + newconfd contrib/init/bitcoind.openrcconf bitcoind + newinitd "${FILESDIR}/bitcoind.openrc" bitcoind + systemd_newunit contrib/init/bitcoind.service bitcoind.service + + keepdir /var/lib/bitcoind + fperms 0750 /var/lib/bitcoind + fowners bitcoin:bitcoin /var/lib/bitcoind + dosym -r {/etc/bitcoin,/var/lib/bitcoind}/bitcoin.conf + + insinto /etc/logrotate.d + newins "${FILESDIR}/bitcoind.logrotate-r1" bitcoind + fi + + if use qt5 ; then + insinto /usr/share/icons/hicolor/scalable/apps + newins src/qt/res/src/bitcoin.svg bitcoin128.svg + + domenu "${FILESDIR}/org.bitcoin.bitcoin-qt.desktop" + + if use kde ; then + insinto /usr/share/kservices5 + doins "${FILESDIR}/bitcoin-qt.protocol" + fi + fi + + if use examples ; then + docinto examples + dodoc -r contrib/{linearize,qos} + use zeromq && dodoc -r contrib/zmq + fi +} + +efmt() { + : ${1:?} ; local l ; while read -r l ; do "${!#}" "${l}" ; done < <(fmt "${@:1:$#-1}") +} + +pkg_preinst() { + if use daemon && [[ -d "${EROOT}/var/lib/bitcoin/.bitcoin" ]] ; then + if [[ -h "${EROOT}/var/lib/bitcoin/.bitcoin" ]] ; then + dosym -r /var/lib/bitcoin{d,/.bitcoin} + elif [[ ! -e "${EROOT}/var/lib/bitcoind" || -h "${EROOT}/var/lib/bitcoind" ]] ; then + efmt ewarn <<-EOF + Your bitcoind data directory is located at ${EPREFIX}/var/lib/bitcoin/.bitcoin, + a deprecated location. To perform an automated migration to + ${EPREFIX}/var/lib/bitcoind, first shut down any running bitcoind instances + that may be using the deprecated path, and then run: + + # emerge --config ${CATEGORY}/${PN} + EOF + insinto /var/lib/bitcoin + mv -- "${ED}/var/lib/bitcoin"{d,/.bitcoin} || die + dosym -r {/etc/,/var/lib/bitcoin/.}bitcoin/bitcoin.conf + dosym -r /var/lib/bitcoin{/.bitcoin,d} + fi + fi + + if use kde && [[ -d "${EROOT}/usr/share/kde4" ]] ; then + dosym -r /usr/share/{kservices5,kde4/services}/bitcoin-qt.protocol + fi +} + +pkg_postinst() { + # we don't use xdg.eclass because it adds unconditional IDEPENDs + if use qt5 ; then + xdg_desktop_database_update + xdg_icon_cache_update + fi + + if use daemon && [[ -z "${REPLACING_VERSIONS}" ]] ; then + efmt -su elog <<-EOF + To have ${PN} automatically use Tor when it's running, be sure your \ + 'torrc' config file has 'ControlPort' and 'CookieAuthentication' set up \ + correctly, and: + - Using an init script: add the 'bitcoin' user to the 'tor' user group. + - Running bitcoind directly: add that user to the 'tor' user group. + EOF + fi +} + +pkg_postrm() { + if use qt5 ; then + xdg_desktop_database_update + xdg_icon_cache_update + fi +} + +pkg_config() { + if [[ -d "${EROOT}/var/lib/bitcoin/.bitcoin" && ! -h "${EROOT}/var/lib/bitcoin/.bitcoin" ]] && + [[ ! -e "${EROOT}/var/lib/bitcoind" || -h "${EROOT}/var/lib/bitcoind" ]] + then + in_use() { + : ${1:?} ; local each + if command -v fuser >/dev/null ; then + fuser "${@}" >/dev/null 2>&1 + elif command -v lsof >/dev/null ; then + for each ; do + lsof -- "${each}" && return + done >/dev/null 2>&1 + elif mountpoint -q /proc ; then + { find /proc/[0-9]*/{cwd,exe,fd} -type l -exec readlink -- {} + + awk '{ print $6 }' /proc/[0-9]*/maps + } 2>/dev/null | grep -Fqx -f <(printf '%s\n' "${@}" ; readlink -m -- "${@}") + else + return 13 + fi + } + ebegin "Checking that ${EPREFIX}/var/lib/bitcoin/.bitcoin is not in use" + in_use "${EROOT}/var/lib/bitcoin/.bitcoin"{,/.lock} + case $? in + 0) + eend 1 + efmt eerror <<-EOF + ${EPREFIX}/var/lib/bitcoin/.bitcoin is currently in use. Please stop any + running bitcoind instances that may be using this data directory, and then + retry this migration. + EOF + die "${EPREFIX}/var/lib/bitcoin/.bitcoin is in use" + ;; + 13) + eend 1 + if [[ "${BITCOIND_IS_NOT_RUNNING}" != 1 ]] ; then + efmt eerror <<-EOF + Found no way to check whether ${EPREFIX}/var/lib/bitcoin/.bitcoin is in use. + Do you have /proc mounted? To force the migration without checking, re-run + this command with BITCOIND_IS_NOT_RUNNING=1. + EOF + die "could not check whether ${EPREFIX}/var/lib/bitcoin/.bitcoin is in use" + fi + ;; + *) + eend 0 + ;; + esac + + # find all relative symlinks that point outside the data dir + local -A symlinks + cd -- "${EROOT}/var/lib/bitcoin/.bitcoin" || die + local each ; while read -r -d '' each ; do + local target=$(readlink -- "${each}") && [[ "${target}" == ../* ]] && + target=$(readlink -e -- "${each}") && [[ "${target}" != "${EROOT}/var/lib/bitcoin/.bitcoin/"* ]] && + symlinks["${each}"]="${target}" + done < <(find -type l -print0) + + einfo "Moving your ${EPREFIX}/var/lib/bitcoin/.bitcoin to ${EPREFIX}/var/lib/bitcoind." + rm -f -- "${EROOT}/var/lib/bitcoind" || die + mv --no-clobber --no-copy --no-target-directory -- "${EROOT}/var/lib/bitcoin"{/.bitcoin,d} || + die "Failed to move your ${EPREFIX}/var/lib/bitcoin/.bitcoin to ${EPREFIX}/var/lib/bitcoind." + + # fix up the relative symlinks + cd -- "${EROOT}/var/lib/bitcoind" || die + for each in "${!symlinks[@]}" ; do + ln -fnrs -- "${symlinks[${each}]}" "${each}" # keep going even if this fails + done + + einfo 'Creating a transitional symlink for your convenience.' + ln -fnrsv -- "${EROOT}/var/lib/bitcoin"{d,/.bitcoin} + einfo 'You may remove this link when you no longer need it.' + else + einfo 'Nothing to do.' + fi +} diff --git a/net-p2p/bitcoin-core/files/25.0-syslibs.patch b/net-p2p/bitcoin-core/files/25.0-syslibs.patch new file mode 100644 index 000000000000..525ae129abbb --- /dev/null +++ b/net-p2p/bitcoin-core/files/25.0-syslibs.patch @@ -0,0 +1,275 @@ +From b4cc8c4437eea107d2d821b1282051756c47a6b6 Mon Sep 17 00:00:00 2001 +From: Matt Whitlock <bitcoin@mattwhitlock.name> +Date: Sun, 17 Sep 2023 10:29:27 -0400 +Subject: [PATCH] support linking against system-installed leveldb and + libsecp256k1 + +- Abort if runtime leveldb != compiled-against leveldb. + +Originally based on 22.0-fix_build_without_leveldb.patch. +--- + configure.ac | 71 +++++++++++++++++++++++++++++++++++++-- + src/Makefile.am | 13 ++++++- + src/Makefile.test.include | 2 ++ + src/dbwrapper.cpp | 27 ++++++++++++++- + src/dbwrapper.h | 8 +++++ + src/kernel/checks.cpp | 7 ++++ + 6 files changed, 124 insertions(+), 4 deletions(-) + +diff --git a/configure.ac b/configure.ac +index c6dc5a6875..3507a81b7a 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1358,6 +1358,22 @@ if test "$enable_fuzz_binary" = "yes"; then + CHECK_RUNTIME_LIB + fi + ++dnl Check for libsecp256k1, only if explicitly requested ++AC_ARG_WITH([system-libsecp256k1], ++ [AS_HELP_STRING([--with-system-libsecp256k1], ++ [Build with system libsecp256k1 (default is no; DANGEROUS; NOT SUPPORTED)])], ++ [system_libsecp256k1=$withval], ++ [system_libsecp256k1=no]) ++AS_IF([test x$system_libsecp256k1 != xno],[ ++ PKG_CHECK_MODULES([libsecp256k1],[libsecp256k1],,[true]) ++],[ ++ libsecp256k1_CFLAGS='-I$(srcdir)/secp256k1/include' ++ libsecp256k1_LIBS='secp256k1/libsecp256k1.la' ++]) ++AM_CONDITIONAL([EMBEDDED_LIBSECP256K1],[test x$system_libsecp256k1 = xno]) ++AC_SUBST(libsecp256k1_CFLAGS) ++AC_SUBST(libsecp256k1_LIBS) ++ + if test "$enable_wallet" != "no"; then + dnl Check for libdb_cxx only if wallet enabled + if test "$use_bdb" != "no"; then +@@ -1415,6 +1431,55 @@ if test "$build_bitcoind$bitcoin_enable_qt$use_bench$use_tests" = "nononono"; th + use_zmq=no + fi + ++dnl Check for leveldb, only if explicitly requested ++AC_ARG_WITH([system-leveldb], ++ [AS_HELP_STRING([--with-system-leveldb], ++ [Build with system LevelDB (default is no; DANGEROUS; NOT SUPPORTED)])], ++ [system_leveldb=$withval], ++ [system_leveldb=no]) ++AC_ARG_VAR([leveldb_CFLAGS],[C compiler flags for system-leveldb]) ++AC_ARG_VAR([leveldb_LIBS],[linker flags for system-leveldb]) ++AS_IF([test x$system_leveldb != xno],[ ++ TEMP_CPPFLAGS="$CPPFLAGS" ++ TEMP_LIBS="$LIBS" ++ CPPFLAGS="$leveldb_CFLAGS" ++ LIBS="$leveldb_LIBS" ++ AC_SEARCH_LIBS([leveldb_open],[leveldb],[leveldb_LIBS="$LIBS"], ++ [AC_MSG_ERROR([leveldb library not found; using --with-system-leveldb is not supported anyway])]) ++ AC_CHECK_HEADER([leveldb/filter_policy.h],[], ++ [AC_MSG_ERROR([LevelDB headers not found; using --with-system-leveldb is not supported anyway])]) ++ AC_CHECK_HEADER([leveldb/helpers/memenv.h],[], ++ [AC_MSG_ERROR([LevelDB headers not found; using --with-system-leveldb is not supported anyway])]) ++ ++ AC_MSG_CHECKING([for library containing leveldb::NewMemEnv]) ++ for searchlib in "" "-lmemenv" ERR; do ++ if test "x$searchlib" = "xERR"; then ++ AC_MSG_RESULT([no]) ++ AC_MSG_ERROR([LevelDB's memenv helper not found; using --with-system-leveldb is not supported anyway]) ++ fi ++ LIBS="$searchlib $leveldb_LIBS" ++ AC_LINK_IFELSE([AC_LANG_PROGRAM([ ++ #include <leveldb/env.h> ++ #include <leveldb/helpers/memenv.h> ++ ],[ ++ leveldb::Env *myenv = leveldb::NewMemEnv(leveldb::Env::Default()); ++ delete myenv; ++ ]) ++ ],[ ++ AC_MSG_RESULT([$searchlib]) ++ break ++ ]) ++ done ++ leveldb_LIBS="$LIBS" ++ LIBS="$TEMP_LIBS" ++ CPPFLAGS="$TEMP_CPPFLAGS" ++],[ ++ AC_DEFINE([EMBEDDED_LEVELDB],[1],[Define to use the bundled LevelDB sources]) ++]) ++AM_CONDITIONAL([EMBEDDED_LEVELDB],[test x$system_leveldb = xno]) ++AC_SUBST(leveldb_CFLAGS) ++AC_SUBST(leveldb_LIBS) ++ + dnl Check for libminiupnpc (optional) + if test "$use_upnp" != "no"; then + TEMP_CPPFLAGS="$CPPFLAGS" +@@ -1989,8 +2054,10 @@ CPPFLAGS_TEMP="$CPPFLAGS" + unset CPPFLAGS + CPPFLAGS="$CPPFLAGS_TEMP" + +-ac_configure_args="${ac_configure_args} --disable-shared --with-pic --enable-benchmark=no --enable-module-recovery --disable-module-ecdh" +-AC_CONFIG_SUBDIRS([src/secp256k1]) ++AM_COND_IF([EMBEDDED_LIBSECP256K1],[ ++ ac_configure_args="${ac_configure_args} --disable-shared --with-pic --enable-benchmark=no --enable-module-recovery --disable-module-ecdh" ++ AC_CONFIG_SUBDIRS([src/secp256k1]) ++]) + + AC_OUTPUT + +diff --git a/src/Makefile.am b/src/Makefile.am +index 1d7004ac86..c7d6fdbc39 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -24,7 +24,7 @@ check_PROGRAMS = + TESTS = + BENCHMARKS = + +-BITCOIN_INCLUDES=-I$(builddir) -I$(srcdir)/$(MINISKETCH_INCLUDE_DIR_INT) -I$(srcdir)/secp256k1/include -I$(srcdir)/$(UNIVALUE_INCLUDE_DIR_INT) $(LEVELDB_CPPFLAGS) ++BITCOIN_INCLUDES=-I$(builddir) -I$(srcdir)/$(MINISKETCH_INCLUDE_DIR_INT) $(libsecp256k1_CFLAGS) -I$(srcdir)/$(UNIVALUE_INCLUDE_DIR_INT) $(BOOST_CPPFLAGS) $(LEVELDB_CPPFLAGS) + + LIBBITCOIN_NODE=libbitcoin_node.a + LIBBITCOIN_COMMON=libbitcoin_common.a +@@ -33,7 +33,11 @@ LIBBITCOIN_CLI=libbitcoin_cli.a + LIBBITCOIN_UTIL=libbitcoin_util.a + LIBBITCOIN_CRYPTO_BASE=crypto/libbitcoin_crypto_base.la + LIBBITCOINQT=qt/libbitcoinqt.a ++if EMBEDDED_LIBSECP256K1 + LIBSECP256K1=secp256k1/libsecp256k1.la ++else ++LIBSECP256K1=$(libsecp256k1_LIBS) ++endif + + if ENABLE_ZMQ + LIBBITCOIN_ZMQ=libbitcoin_zmq.a +@@ -68,8 +72,10 @@ LIBBITCOIN_CRYPTO += $(LIBBITCOIN_CRYPTO_ARM_SHANI) + endif + noinst_LTLIBRARIES += $(LIBBITCOIN_CRYPTO) + ++if EMBEDDED_LIBSECP256K1 + $(LIBSECP256K1): $(wildcard secp256k1/src/*.h) $(wildcard secp256k1/src/*.c) $(wildcard secp256k1/include/*) + $(AM_V_at)$(MAKE) $(AM_MAKEFLAGS) -C $(@D) $(@F) ++endif + + # Make is not made aware of per-object dependencies to avoid limiting building parallelization + # But to build the less dependent modules first, we manually select their order here: +@@ -1105,7 +1111,12 @@ endif + include Makefile.minisketch.include + + include Makefile.crc32c.include ++if EMBEDDED_LEVELDB + include Makefile.leveldb.include ++else ++LEVELDB_CPPFLAGS = $(leveldb_CFLAGS) ++LIBLEVELDB = $(leveldb_LIBS) ++endif + + include Makefile.test_util.include + include Makefile.test_fuzz.include +diff --git a/src/Makefile.test.include b/src/Makefile.test.include +index 15d5a17cec..9a7397f20f 100644 +--- a/src/Makefile.test.include ++++ b/src/Makefile.test.include +@@ -384,7 +384,9 @@ if ENABLE_BENCH + $(BENCH_BINARY) -sanity-check -priority-level=high + endif + endif ++if EMBEDDED_LIBSECP256K1 + $(AM_V_at)$(MAKE) $(AM_MAKEFLAGS) -C secp256k1 check ++endif + + if ENABLE_TESTS + UNIVALUE_TESTS = univalue/test/object univalue/test/unitester +diff --git a/src/dbwrapper.cpp b/src/dbwrapper.cpp +index 2aade14ef4..279037ef01 100644 +--- a/src/dbwrapper.cpp ++++ b/src/dbwrapper.cpp +@@ -20,13 +20,38 @@ + #include <leveldb/db.h> + #include <leveldb/env.h> + #include <leveldb/filter_policy.h> +-#include <leveldb/helpers/memenv/memenv.h> ++#if EMBEDDED_LEVELDB ++# include <leveldb/helpers/memenv/memenv.h> ++#else ++# include <leveldb/helpers/memenv.h> ++#endif + #include <leveldb/iterator.h> + #include <leveldb/options.h> + #include <leveldb/status.h> + #include <memory> + #include <optional> + ++#if !EMBEDDED_LEVELDB ++#include <node/interface_ui.h> ++#include <util/translation.h> ++#include <leveldb/c.h> ++bool dbwrapper_SanityCheck() ++{ ++ unsigned long header_version = (leveldb::kMajorVersion << 16) | leveldb::kMinorVersion; ++ unsigned long library_version = (leveldb_major_version() << 16) | leveldb_minor_version(); ++ ++ if (header_version != library_version) { ++ InitError(Untranslated(strprintf("Compiled with LevelDB %d.%d, but linked with LevelDB %d.%d (incompatible).", ++ leveldb::kMajorVersion, leveldb::kMinorVersion, ++ leveldb_major_version(), leveldb_minor_version() ++ ))); ++ return false; ++ } ++ ++ return true; ++} ++#endif ++ + class CBitcoinLevelDBLogger : public leveldb::Logger { + public: + // This code is adapted from posix_logger.h, which is why it is using vsprintf. +diff --git a/src/dbwrapper.h b/src/dbwrapper.h +index 35782edca6..0e306d7d9c 100644 +--- a/src/dbwrapper.h ++++ b/src/dbwrapper.h +@@ -5,6 +5,10 @@ + #ifndef BITCOIN_DBWRAPPER_H + #define BITCOIN_DBWRAPPER_H + ++#if defined(HAVE_CONFIG_H) ++#include <config/bitcoin-config.h> ++#endif ++ + #include <clientversion.h> + #include <logging.h> + #include <serialize.h> +@@ -54,6 +58,10 @@ struct DBParams { + DBOptions options{}; + }; + ++#if !EMBEDDED_LEVELDB ++bool dbwrapper_SanityCheck(); ++#endif ++ + class dbwrapper_error : public std::runtime_error + { + public: +diff --git a/src/kernel/checks.cpp b/src/kernel/checks.cpp +index 4c303c172c..a8867c3aa5 100644 +--- a/src/kernel/checks.cpp ++++ b/src/kernel/checks.cpp +@@ -4,6 +4,7 @@ + + #include <kernel/checks.h> + ++#include <dbwrapper.h> + #include <key.h> + #include <random.h> + #include <util/time.h> +@@ -15,6 +16,12 @@ namespace kernel { + + std::optional<bilingual_str> SanityChecks(const Context&) + { ++#if !EMBEDDED_LEVELDB ++ if (!dbwrapper_SanityCheck()) { ++ return Untranslated("Database sanity check failure. Aborting."); ++ } ++#endif ++ + if (!ECC_InitSanityCheck()) { + return Untranslated("Elliptic curve cryptography sanity check failure. Aborting."); + } +-- +2.42.0 + diff --git a/net-p2p/bitcoin-core/files/bitcoin-qt.protocol b/net-p2p/bitcoin-core/files/bitcoin-qt.protocol new file mode 100644 index 000000000000..014588d53679 --- /dev/null +++ b/net-p2p/bitcoin-core/files/bitcoin-qt.protocol @@ -0,0 +1,11 @@ +[Protocol] +exec=bitcoin-qt '%u' +protocol=bitcoin +input=none +output=none +helper=true +listing= +reading=false +writing=false +makedir=false +deleting=false diff --git a/net-p2p/bitcoin-core/files/bitcoind.logrotate-r1 b/net-p2p/bitcoin-core/files/bitcoind.logrotate-r1 new file mode 100644 index 000000000000..bcaff58d9fb9 --- /dev/null +++ b/net-p2p/bitcoin-core/files/bitcoind.logrotate-r1 @@ -0,0 +1,8 @@ +/var/log/bitcoin/debug.log { + missingok + weekly + sharedscripts + postrotate + killall -HUP bitcoind + endscript +} diff --git a/net-p2p/bitcoin-core/files/bitcoind.openrc b/net-p2p/bitcoin-core/files/bitcoind.openrc new file mode 100644 index 000000000000..7d16e975e5e5 --- /dev/null +++ b/net-p2p/bitcoin-core/files/bitcoind.openrc @@ -0,0 +1,89 @@ +#!/sbin/openrc-run + +: ${BITCOIND_CONFIGFILE:=/etc/bitcoin/bitcoin.conf} +: ${BITCOIND_PIDDIR:=/run/bitcoind} +: ${BITCOIND_PIDFILE:=${BITCOIND_PIDDIR}/${SVCNAME}.pid} +: ${BITCOIND_DATADIR:=/var/lib/bitcoind} +: ${BITCOIND_LOGDIR:=/var/log/bitcoind} +: ${BITCOIND_USER:=${BITCOIN_USER:-bitcoin}} +: ${BITCOIND_GROUP:=bitcoin} +: ${BITCOIND_BIN:=/usr/bin/bitcoind} +: ${BITCOIND_NICE:=${NICELEVEL:-0}} +: ${BITCOIND_OPTS=${BITCOIN_OPTS}} + +name="Bitcoin Core daemon" +description="Bitcoin cryptocurrency P2P network daemon" + +required_files="${BITCOIND_CONFIGFILE}" +pidfile="${BITCOIND_PIDFILE}" +in_background_fake="start" + +depend() { + need localmount net +} + +start_pre() { + checkpath -f --mode 0660 --owner "${BITCOIND_USER}:${BITCOIND_GROUP}" "${BITCOIND_CONFIGFILE}" + checkpath -d --mode 0750 --owner "${BITCOIND_USER}:${BITCOIND_GROUP}" "${BITCOIND_DATADIR}" + checkpath -d --mode 0755 --owner "${BITCOIND_USER}:${BITCOIND_GROUP}" "${BITCOIND_LOGDIR}" + checkpath -d --mode 0755 --owner "${BITCOIND_USER}:${BITCOIND_GROUP}" "${BITCOIND_PIDDIR}" + checkconfig +} + +start() { + ebegin "Starting ${name}" + mark_service_inactive + if start-stop-daemon \ + --pidfile="${BITCOIND_PIDFILE}" \ + --chdir="${BITCOIND_DATADIR}" \ + --user="${BITCOIND_USER}:${BITCOIND_GROUP}" \ + --nice="${BITCOIND_NICE}" \ + --exec="${BITCOIND_BIN}" \ + -- \ + -daemonwait \ + -pid="${BITCOIND_PIDFILE}" \ + -conf="${BITCOIND_CONFIGFILE}" \ + -datadir="${BITCOIND_DATADIR}" \ + -debuglogfile="${BITCOIND_LOGDIR}/debug.log" \ + ${BITCOIND_OPTS} + then + chmod g+r "${BITCOIND_DATADIR}/.cookie" + IN_BACKGROUND=yes rc-service "${SVCNAME}" --quiet start + else + rc-service "${SVCNAME}" --quiet zap + fi & +} + +stop() { + ebegin "Stopping ${name}" + start-stop-daemon --stop \ + --pidfile="${BITCOIND_PIDFILE}" \ + --retry="${BITCOIND_SIGTERM_TIMEOUT}" \ + --exec="${BITCOIND_BIN}" + eend $? +} + +checkconfig() { + if grep -qs '^rpcuser=' "${BITCOIND_CONFIGFILE}" && + ! grep -qs '^rpcpassword=' "${BITCOIND_CONFIGFILE}" + then + eerror "" + eerror "ERROR: You must set a secure rpcpassword to run bitcoind." + eerror "The setting must appear in ${BITCOIND_CONFIGFILE}" + eerror "" + eerror "This password is security critical to securing wallets " + eerror "and must not be the same as the rpcuser setting." + eerror "You can generate a suitable random password using the following " + eerror "command from the shell:" + eerror "" + eerror "bash -c 'tr -dc a-zA-Z0-9 < /dev/urandom | head -c32 && echo'" + eerror "" + eerror "It is recommended that you also set alertnotify so you are " + eerror "notified of problems:" + eerror "" + eerror "ie: alertnotify=echo %%s | mail -s \"Bitcoin Alert\"" \ + "admin@foo.com" + eerror "" + return 1 + fi +} diff --git a/net-p2p/bitcoin-core/files/init.patch b/net-p2p/bitcoin-core/files/init.patch new file mode 100644 index 000000000000..7b78217fe8a7 --- /dev/null +++ b/net-p2p/bitcoin-core/files/init.patch @@ -0,0 +1,43 @@ +--- a/contrib/init/bitcoind.openrcconf ++++ b/contrib/init/bitcoind.openrcconf +@@ -4,14 +4,17 @@ + #BITCOIND_CONFIGFILE="/etc/bitcoin/bitcoin.conf" + + # What directory to write pidfile to? (created and owned by $BITCOIND_USER) +-#BITCOIND_PIDDIR="/var/run/bitcoind" ++#BITCOIND_PIDDIR="/run/bitcoind" + + # What filename to give the pidfile +-#BITCOIND_PIDFILE="${BITCOIND_PIDDIR}/bitcoind.pid" ++#BITCOIND_PIDFILE="${BITCOIND_PIDDIR}/${SVCNAME}.pid" + + # Where to write bitcoind data (be mindful that the blockchain is large) + #BITCOIND_DATADIR="/var/lib/bitcoind" + ++# Where to write the debug.log file ++#BITCOIND_LOGDIR="/var/log/bitcoind" ++ + # User and group to own bitcoind process + #BITCOIND_USER="bitcoin" + #BITCOIND_GROUP="bitcoin" +--- a/contrib/init/bitcoind.service ++++ b/contrib/init/bitcoind.service +@@ -21,6 +21,7 @@ Wants=network-online.target + ExecStart=/usr/bin/bitcoind -daemonwait \ + -pid=/run/bitcoind/bitcoind.pid \ + -conf=/etc/bitcoin/bitcoin.conf \ ++ -debuglogfile=/var/log/bitcoind/debug.log \ + -datadir=/var/lib/bitcoind + + # Make sure the config directory is readable by the service user +@@ -51,6 +52,10 @@ RuntimeDirectoryMode=0710 + ConfigurationDirectory=bitcoin + ConfigurationDirectoryMode=0710 + ++# /var/log/bitcoind ++LogsDirectory=bitcoind ++LogsDirectoryMode=0755 ++ + # /var/lib/bitcoind + StateDirectory=bitcoind + StateDirectoryMode=0710 diff --git a/net-p2p/bitcoin-core/files/org.bitcoin.bitcoin-qt.desktop b/net-p2p/bitcoin-core/files/org.bitcoin.bitcoin-qt.desktop new file mode 100644 index 000000000000..21ae68c21b74 --- /dev/null +++ b/net-p2p/bitcoin-core/files/org.bitcoin.bitcoin-qt.desktop @@ -0,0 +1,15 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Name=Bitcoin Core +Comment=Connect to the Bitcoin P2P Network +Comment[de]=Verbinde mit dem Bitcoin peer-to-peer Netzwerk +Comment[fr]=Bitcoin, monnaie virtuelle cryptographique pair à pair +Comment[tr]=Bitcoin, eşten eşe kriptografik sanal para birimi +Exec=bitcoin-qt %u +Terminal=false +Type=Application +Icon=bitcoin128 +MimeType=x-scheme-handler/bitcoin; +Categories=Office;Finance;P2P;Network;Qt; +StartupWMClass=Bitcoin-qt diff --git a/net-p2p/bitcoin-core/metadata.xml b/net-p2p/bitcoin-core/metadata.xml new file mode 100644 index 000000000000..3c0338bb1ad9 --- /dev/null +++ b/net-p2p/bitcoin-core/metadata.xml @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person" proxied="yes"> + <email>gentoo@mattwhitlock.name</email> + <name>Matt Whitlock</name> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <use> + <flag name="asm">Enable assembly for optimization</flag> + <flag name="berkdb">Support legacy wallets in Berkeley DB format</flag> + <flag name="bitcoin-cli">Build and install bitcoin-cli command line interface</flag> + <flag name="daemon">Build and install bitcoind daemon</flag> + <flag name="external-signer">Include support for external wallet signer programs</flag> + <flag name="libs">Build and install libbitcoinconsensus</flag> + <flag name="nat-pmp">Enable NAT-PMP port forwarding</flag> + <flag name="qrcode">Enable generation of QR Codes for receiving payments</flag> + <flag name="qt5">Build and install Bitcoin-Qt GUI</flag> + <flag name="sqlite">Support descriptor wallets in SQLite format</flag> + <flag name="system-leveldb">Link with virtual/bitcoin-leveldb rather than embedding an internal copy</flag> + <flag name="system-libsecp256k1">Link with dev-libs/libsecp256k1 rather than embedding an internal copy</flag> + <flag name="systemtap">Enable SystemTAP/DTrace tracing</flag> + <flag name="upnp">Enable Universal Plug and Play</flag> + <flag name="zeromq">Report blocks and transactions via zeromq</flag> + </use> + <upstream> + <remote-id type="github">bitcoin/bitcoin</remote-id> + <remote-id type="cpe">cpe:/a:bitcoin:bitcoin_core</remote-id> + </upstream> +</pkgmetadata> diff --git a/net-p2p/bitcoin-qt/bitcoin-qt-25.0.ebuild b/net-p2p/bitcoin-qt/bitcoin-qt-25.0.ebuild new file mode 100644 index 000000000000..a879e99badc9 --- /dev/null +++ b/net-p2p/bitcoin-qt/bitcoin-qt-25.0.ebuild @@ -0,0 +1,18 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +DESCRIPTION="Transitional package for net-p2p/bitcoin-core[qt5]" +HOMEPAGE="https://bitcoincore.org/" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux" +IUSE="+asm +berkdb dbus +external-signer kde nat-pmp +qrcode +sqlite systemtap test upnp +wallet zeromq" +RESTRICT="!test? ( test )" + +RDEPEND=" + ~net-p2p/bitcoin-core-${PV}[qt5,asm=,berkdb=,dbus=,external-signer=,kde=,nat-pmp=,qrcode=,sqlite=,systemtap=,test=,upnp=,zeromq=] + wallet? ( || ( ~net-p2p/bitcoin-core-${PV}[berkdb] ~net-p2p/bitcoin-core-${PV}[sqlite] ) ) +" diff --git a/net-p2p/bitcoind/bitcoind-25.0.ebuild b/net-p2p/bitcoind/bitcoind-25.0.ebuild new file mode 100644 index 000000000000..b0f60caef63e --- /dev/null +++ b/net-p2p/bitcoind/bitcoind-25.0.ebuild @@ -0,0 +1,18 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +DESCRIPTION="Transitional package for net-p2p/bitcoin-core[daemon]" +HOMEPAGE="https://bitcoincore.org/" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux" +IUSE="+asm +berkdb examples +external-signer nat-pmp +sqlite systemtap test upnp +wallet zeromq" +RESTRICT="!test? ( test )" + +RDEPEND=" + ~net-p2p/bitcoin-core-${PV}[daemon,asm=,berkdb=,examples=,external-signer=,nat-pmp=,sqlite=,systemtap=,test=,upnp=,zeromq=] + wallet? ( || ( ~net-p2p/bitcoin-core-${PV}[berkdb] ~net-p2p/bitcoin-core-${PV}[sqlite] ) ) +" diff --git a/sys-apps/eza/Manifest b/sys-apps/eza/Manifest index 000f0610097d..b0551d89b5ae 100644 --- a/sys-apps/eza/Manifest +++ b/sys-apps/eza/Manifest @@ -5,10 +5,12 @@ DIST anes-0.1.6.crate 23857 BLAKE2B 9ef464a964709b408c7d7846b9b1e54e52d6ae8f21f2 DIST ansi_term-0.12.1.crate 24838 BLAKE2B f636772c34e2d68cda7b8d3b2b86abda074585a62bd2654812ce92384244655a9197fa66e6939e19a674c0148ca605313d83de262bb18c2339a8a4eb4438a791 SHA512 b840e28b3e7700689a69a39659b1e066560078dd4a58326b91a028915819e7af883399ee53e920db68fd974c58d35bb1ddf8d427af5937d5f696f57c4376b671 DIST ansiterm-0.12.2.crate 26777 BLAKE2B 08dd1e95ce9c3bc3673dc92e2e6c61d6d9c125560717e2046a52786f5ab50c9619a7bedabee8991ca90c9e09f2b4c5ad2b7c8e67b874779ca989023ebc6bd56a SHA512 b9a37ea51a3ec4e9cef972a1480fb07f9e8626fd800dfe417e3ac615156310648b65f4d6665e0bb91ac6e1ef28b74c1f66d5cae66cfcfe4c1a3b74805cb1dbed DIST anstream-0.5.0.crate 19646 BLAKE2B 770dc99092e1c48ad5c1658e83abff3b8c9e0915e360048bfe0fe04faf61991e01e88ca4adca23533bf11fe078066e351778661128d69381756688341022f29d SHA512 8e285cc8f92708cf9482e7b4dc84dd891e5ec0bd8c57894c6bb368eede1127b7b903adb4c40b37287e3644535cc60c92662951c2c8fb5b92e10f49ff5374d359 +DIST anstream-0.6.4.crate 20593 BLAKE2B 2b617c45d351e01222fc50f52551e57b4a8b0ecf84c6ddf44336c7c9d3b9dde15232b1c4f664d567849295bf8f03612b73ded56f1b3937392eb7718f1e0446c3 SHA512 0b983d626c53d1edc184f04cbd2c004eb9c40d14486b23cce86ebf50cbd3d916d32cb0423ae1d67c2b83b966690090af740538538ef846c0b126c686a1ebe159 DIST anstyle-1.0.3.crate 13986 BLAKE2B 9e9fa894da78a6c0933c423524827ead33aa4e384e04771ccccaa179f1e8a6459a5094db7f61714457b919d2e713d09df4429b83793d807821bfdb226ff115a5 SHA512 f1ac506814e1ce1df537ea8a88ed75f3f897aa9e559ba7eb5a8acfd043641dada12953669153d1f719da28f935a9651a07b5ae1e351139f0f03b58a67bc28477 DIST anstyle-parse-0.2.1.crate 24802 BLAKE2B 6304a56c6a9fbaf1bb4d1d177b2315684345dc9d71c35836f9544145364f8d6eb56e25c03076690c594ab7db5914501acb569f6c136952e59c93179ced527fb2 SHA512 5c8fc7d88ffc3a6e78340ffe0f3c2d72e865512030ade4509de9c673eba955c536bb1873dac11f6ba11cc8367fb30c67451ed65d19f81507c9e917c702bfd176 DIST anstyle-query-1.0.0.crate 8620 BLAKE2B 2d296b5066fd6284a2410923215571e6df650c5ef892d6de7a7088a0996ca30608797feabc84f3c325ff4d07001dac80ac5067d2a9c9d15d9ba59a276b399f53 SHA512 2781be5c82293b7ae338ec5046fbeb130de9eb2dbf2e4dfaa73ca5233032e1e52c133e141b02f33d4bc36d996a0a3f680ac82d42d614a5305005f60547133c7a DIST anstyle-wincon-2.1.0.crate 11757 BLAKE2B b7c1071da1ab24accc33d7af70f09ace8edb2dcbb53936ed5ac13552c6082c0f16ce501f041d2c1792cee7dd9cc3877d29505e12a65022bec44285f13e1f422f SHA512 6c379c46f791b6b1367f3d6f3531dcd16589cc2e12f6f5ce52a3fa32d42e62b719d2277699d1bc8526099a6f791f2e7d5b1068e1295cbcd2997841f0eafc4eeb +DIST anstyle-wincon-3.0.1.crate 11279 BLAKE2B 593de9443b4c612526550285a6c156db26a233815e77a748597c6eea509ae511f41eb8ee736010f8be853695c9f1d94b034a77190e612f0a00bf00385d66ced2 SHA512 75ab14081b09e031ee0f559538976f39092aaeb6f561a56de83d12911cc2b45e28eec21068792c86a61e344021921ab55e7139ca79acec78e7d4a796dfa42a2e DIST autocfg-1.1.0.crate 13272 BLAKE2B 7724055c337d562103f191f4e36cab469e578f0c51cc24d33624dea155d108a07578703766341fd6a4cc1ef52acda406e7dba1650d59115f18261281e5b40203 SHA512 df972c09abbdc0b6cb6bb55b1e29c7fed706ece38a62613d9e275bac46a19574a7f96f0152cccb0239efea04ee90083a146b58b15307696c4c81878cd12de28f DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62 DIST bitflags-2.4.0.crate 36954 BLAKE2B 1d6cfeb0a17dc53a6249a83c8c7ad7c102985ffcfd7f7f76506889684235e78fe489d23b5a5f9018f0bd526a38d6b1449784c62322fb01f4bb507c0af8bd545c SHA512 0c3d6667abea48811a792749702136ee3db97518b33bc4c7d35737505bf56315e0e5810deeea28b7a1b540ec0e21bd319ba0b3c5c4aef0ba8ed5499ffdfd9b0c @@ -18,7 +20,6 @@ DIST cast-0.3.0.crate 11452 BLAKE2B fe6edddd0589fa436cda32342d7beaabe4003afdbdf1 DIST cc-1.0.79.crate 62624 BLAKE2B b3cbed3bd6fcac1c6ea258ec96cd107f859947a35dc89c3dc8f314741b0f668e61518f896ec32ce10c9a7eb20dd350bc177a71810d53ebea59fda062ed9d27db SHA512 cbf0a25f3a23fc540e9d638fabc23f761f1c240ebb4814e761e90437d71fc559cd155768ab9e78fc192220d8a605c66c3af342ed736b719181656170b98d7bf5 DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff DIST chrono-0.4.27.crate 211340 BLAKE2B 94974f8a82525a1b27d964f98ef1d1d788cad446301cd0b0c0913bd7f0295514579d51d5871caa4ebcb9295b442700a1ac637a0a7d3f55ca707cb97c42654515 SHA512 19c86589c11905ca16d68e59b500717329d08a9a431bbb51eabc2e1b15d1ab8902188e05337b0ec6fccc0c268a073c4e280dbd6605e80d4d4fcb17a4fdc5d9f0 -DIST chrono-0.4.30.crate 212084 BLAKE2B 27d9ce4aae3ce0278f2c9f4883b6d3a123ae428a14c03f4fa0d90c077e827387df9b2221712e44bb47478de9207d908115d115df967585544dc0cd3aa239e225 SHA512 886f064e935220848f966ec2e1e3271849ed20235137836f31ae2aaa8408eaeb657b54b074bdf316914c95ffab9a8c7f53330046e761ef4bfe6ee958d1c7a598 DIST chrono-0.4.31.crate 214513 BLAKE2B 2ac43852ea14cb7b129adf68ff62adac1763b3f4802dd3d23c43cb131377b501b4adb22aa93818d7ceded8eb10c17f94a7836257ce2876d0513b063276129c54 SHA512 23276daa2c1bc3b7b2327dc84200fb40cc995a8b599d1a537e92e08138ab8a0d1548a510a8155dcdda18820120d7204e89a4686c866fc3a8d2460cdb30ac6089 DIST ciborium-0.2.1.crate 34974 BLAKE2B 370f4228aa63075cd7a0d41dd83f15211fc69267235905e7f5607f6e6c0baf64db0f6203c97990604de2ae683ca1937acf284c6444702414fe1a685ccfdc12a4 SHA512 4403239badcdb5ea6e754e706472e25c4593a1fbdfc5a07e46409ea3dac41151020204167102dbf401a2e5f31b3731267bc3759be59a73880a022e5f4a3064fc DIST ciborium-io-0.2.1.crate 6679 BLAKE2B 1835b1002c2e5f6fb1cc36a6a1f1e3ee10423760646b00a75e5ee5e66dfd2892914705e4456ec440cde27dda04e28329febfbd5c640ec7f86e7c013a9a9d748d SHA512 8860de0a72f07d0d0bb84af3c24635193540c574cc87367c7379222bf97ed68648330511866810265b68076bd1146e0ddb41c269e62db669b1c3390aca679c50 @@ -43,10 +44,9 @@ DIST errno-0.3.3.crate 10543 BLAKE2B 958e9d12766533ae9e84a60b121794929b9b3b1a811 DIST errno-dragonfly-0.1.2.crate 1810 BLAKE2B 781fc26dce5c33d83b9a1fd9be2b2ce9ac2559aaa858957ba6777e143b1e44cdfee48e1b47e3c91a95075a51921d1a421d0b45eb3d8de827cf4dd0ad744a7d8c SHA512 f853f1e1b8dd0f359a8f9a0399b3384c1103cd090d96e2b2204f91a40d40a9eb99383d4aa6a11e5470c51557afacf452d4be2049600d4235d27f59870fa3b916 DIST eza-0.11.0.tar.gz 1215969 BLAKE2B cd9f8a2a1a58acb607c3988e23c1236c2d7098920bb457d303866d750b905dcc439b89381634337f1982bfc7b1ff57a007b7f51ff174cac0b77d299eb60a60fc SHA512 8e8aafb5d9eadd5a78caea945e08df16639191bc3119826a5b975062fe162ecf9e5afaf2180bfa6fc5d134a25502367f58dc1f40e21799a7da15bd07357f66ff DIST eza-0.11.1.tar.gz 1221586 BLAKE2B e642be77d3402e4b42235cf13767fcef7279bc232c3e0b62bd012026293faae4a6dcaacf19f565f5f4f46f8e412d8f47921f8e1c8192f4bd642d17b1b91e950d SHA512 1bbf7018e00c53981ed049d26ed5c814eeeac1c8ec7455e0f20b5f0492aa6ebcec3260bf7fdd9df49bb9136819c1fa3a1ac719ae0aec5226312416e941640d62 -DIST eza-0.12.0.tar.gz 1200971 BLAKE2B ab284c0758515e738fc102ceacd238ef7315627a6c9cb6a712b9ff107ebba7e282768a5ccfd73061aee54838dba194d89ba5b35850f1de78bd3f6aaab65efdb1 SHA512 5ff36af746f3051740ab96cd41fdf51a73a0e9e42f3874b52a684001c529db0bf97514de60bb5742e34984b5ca888a092465c375d4382ca1a84426f17d91fee5 -DIST eza-0.13.0.tar.gz 1207456 BLAKE2B bd7ff811ca7734d29ff5611c8e029bd90cb1a8992c58e31934ecca061bfa56e2743e260081d46359d46b20defbcf3f0b9ace26462def6428a41871185997cba9 SHA512 25b6df46f2c3349bd6459a23cf7bc63a78ee1505018428edc5b86a590fa7599a6f8678f9d931cb5bda737c65018bff3ddd5fe698bcac3fe8d6cba62823ca688b DIST eza-0.13.1.tar.gz 1210338 BLAKE2B 5ae9b8274f3f22d72e6480db71b6817ead49bd2c181729f2e3c511f806de498179c4f0ce6eaa2bf023993fa51ea7fbdd82557d5501e4fe1789bd2844f5067dea SHA512 ef2119ad66302f5961a437a28b10de6cc4f105629c78d7cefbf745dd8576d79d3862db400fffe8a89aab67d7bf4f40d7e2ec836dd8ab4bb823e253ed66e98ff0 DIST eza-0.14.0.tar.gz 1214132 BLAKE2B 89c0cc5055aab6730a66606b9a9ae040ea7d1f1fbcd278c4a2277738ca9a406fbeae33686d32d8f51382684f1fc57c465af61a06773490bb75b3e4f41a1a866c SHA512 7d7d0fa6b1e936bbafcad7bc537c678d30a40f586d8518966bf210985e585986f7a811b279c28e6df1e500653ffbeb05299f6b33366fad84e6545bcf656845d0 +DIST eza-0.14.1.tar.gz 1216022 BLAKE2B 1ebfc69301d33229cddc82c8df612fa9ba1f6e22b6b5c6992c64612081f0265cf7e8ef8aa965ffc839c23709e8623d9dd2b9c492acac078c175b2836269c2895 SHA512 1c94271476e98d8f2ef214a50352bc429e09db5647ffdf381572d1b9f9c593997d4e680b333c586575864876751b81f47f38225885e68b5eda1abbebd9abca15 DIST fastrand-2.0.0.crate 14402 BLAKE2B 8bf830151ec616dbc25f216265722e39f8a2cd9ae036b0904b73775a30497368aaf9bb7f49890c330024c3d9b8084749c91f601b60b53bc8cef2da8b0aa71322 SHA512 9449dd52e4b722d5747f68f127843c0d1a402765c2b6186b9526f8ae23293cb1f6b50adcbf18a8ea768292642184cb0eb42b1801d20f6815397903f9977f3cbc DIST filetime-0.2.22.crate 15029 BLAKE2B 068f4a84388d04d900bc5518a94895985ecba9c618a47b6483cabc31abd267e37ce69d78c51703ec5745307800d96ac801f37ac9959c60283c3c3d6ccd349c0a SHA512 d40d8baeb57ec85bb9ccf76ff0f898915c4e6cf384020121b53f4a2a1ef2840af5b4c9e8e1ff177034273f4f7a6bf81d2dd7a02cf498b61ea31ceaa30b877067 DIST form_urlencoded-1.0.1.crate 8773 BLAKE2B e2d2224dbd85d053343aea29ef1bd540fb8be12fd600289e9c048e3b74bfb009d0770f8296556309ef756086f22feec4713dfed1006e1101075c8897be5471cc SHA512 3ab371c223561a27ffbd35cf648ef4a9145d47bba9d71900a7c54cfc2f089175e9361f6352331a9a7fa018923b15e7a3553c8f9ff9fae80e1626e641a5faff68 @@ -129,7 +129,9 @@ DIST shlex-1.2.0.crate 6584 BLAKE2B ac07c648d9affe62512edab307fe07436dce69b42857 DIST similar-2.2.1.crate 51147 BLAKE2B c86005ff69a14980db2cb90b13ed908448a711f09d1ee20a109d1dab2cc5bd839274f3803082721f1d81003c9011efdadcd190f4cb46eb09b26e338107546f45 SHA512 9a353bfbe495bab83e401314bb97c6605fa6283af06e03bad50bc429388c7abf44bb9cc68db781ef2b786840eb444907f35b70b17343b2cb993800536b4e36a2 DIST siphasher-0.3.11.crate 10442 BLAKE2B 771221614bbd56f609b9743da4352dc7a2cbd0f6257952fab0cd052e5e5b258a4c95a0461d6d1b579dec90b72d66a0e58e036899b3db8341ae753a421a4cd4d5 SHA512 601121bd41da896142dc6ccc74a6eec3ebee3e976857ab8b5d21e915fdc8bc6e979af66a489c406371fbbbfc7a13338cc4b3744aa981206e43c53998f3e1699b DIST snapbox-0.4.12.crate 40820 BLAKE2B 03b1efee4208bcc6a20a57b45eed57c7e5b6a620823a1e1a14ef06c626111b33e2a9c2ade1c8fe94eb7dcfc07fe311d459a00294326def29c42bb6b3295c2a5a SHA512 ce7f5599b020c3d9435988d883107d564072122a45b5916d30f0f5b3027ab194cd503074dece21e6c81895695163c1e4c7157a638f05fbb55db4325c339c83a9 +DIST snapbox-0.4.14.crate 40833 BLAKE2B 585c3c0926b25d60a437d884c740fe38c2fbe9602248c30a5ce2a7d415bd53213cd5225ce46d799f09e6c6cc45b5e021c72f97c38f0d9cf2cb965ac309d63cb5 SHA512 e9b31e9ced124b220350848df7a747e8be161d9cbae6160f967f789b5675ca4c8df472fd1b0e0d6fc22193b4b539264b390f36a4f981bb8920180dbe3608c12d DIST snapbox-macros-0.3.5.crate 6327 BLAKE2B a00c75993f1f6a12c314c2fc591ad5849beb045043bff7e83205b0ed5affb67569a982ed3db37db5255b5954ff029767730397ceee50f1c0da2bc669f9da820e SHA512 c6f1ea372a192c2b718c6ae2b1d17ee8426a4ae9b38909afaabb4a06fb140076527a1ba702bdfc526c9179459f949aa1433e9f3bf051505b77151d2f95651a1f +DIST snapbox-macros-0.3.6.crate 6328 BLAKE2B 33dc3953c8ca50e43a75c717314bebaf75edc3463846577e2f2e4db3059b351e7498fdcc0cf6e06c233a927ac933a8de2aac49ff3ee8f2c7d11a462faa88269b SHA512 c1163e70342d0140ccad8a7c02065307ea23e585afa31985704d1eb2c06764e28d5f27b7b98e04698a92c7905606a7c85de9aefeadd1035b8e3a9adb7c9d9da7 DIST syn-2.0.29.crate 241664 BLAKE2B 5b339433249d7ee17b032cc9ecb118169957d91f438619940aeba0003ab0015b01cc6afb00656b5492539a5396325ec16c37e33764b00d6f9b8dc6b5b5e6a9f0 SHA512 a6319ee743a7690c7858da8492ffb6a963d102beba07009e82b08082d33ac8e8ea2675bdfc3ac3684392b3bc3d7f2624983dc508dd8b8f1fb9a57ec8a5b82828 DIST tempfile-3.8.0.crate 31720 BLAKE2B ac975555bb4957f91e7d5733ef737bf25c62a738096457afa05079ed038de5e7144cbfd0e28bacd3eeb832de611616fb39ec07866481205c1f5c1005b2869d31 SHA512 8bc8e954bc0c6af46cf6e77d70f93583baea39fce54b111f4bba51fe5d5e5c184753ae2a2ea68a882b6ba5a157a57aeffeecc3e3cae86d78d952f3aa025fdf7f DIST term_grid-0.1.7.crate 7353 BLAKE2B eb4d11b84995d8ca831c32c3b0c781244d7d97367aa6b877f1aaa21e6b10edad5a4597ab06d5c1b6a9cc00fbecd62fa3f28b9970119dec98c0eb5d0c74948b5f SHA512 12196d1f2579b6d593a7cdd34d74635b93fad710bcd682dd438143a9e814759346dc263dc8a65628b7ed8fc1dbcaa60fd9cec543d0cdae000cc5dc6fbb199bca @@ -145,7 +147,9 @@ DIST tinyvec-1.2.0.crate 41625 BLAKE2B d7ffe63aa2f076ecf57a2c8af3269abc7c811b7e1 DIST tinyvec_macros-0.1.0.crate 1817 BLAKE2B a3d1966bf57c11afcd026269135a6189f149f905bb70b47537c0a7bcaef0bfc6c89bdcbdb0f6cb8e5255632855134631c683fc90606a254ec8ba818fd5ef0794 SHA512 d6afc83a3c70cde916a6ff599e2772588e4bbfa7a5b1c7e5c8aa0f4a8a5c9426182497a644e4a88194ece986d38fa64b6c8eda9eb1630441c8e65a8741a45873 DIST toml_datetime-0.6.3.crate 10770 BLAKE2B fc1754eb7c3a7073cfe41e5ccba152ff09891a8de8afe38991cf2dd7b93aacf07f1075fd24d7aa643238cf31e3df1fc3162335b2c475438178b4a4d8a2055471 SHA512 cabf5dce24ed3bf4674008743180a21e86286d999cdce79f934de48b1e1fe0f16a7f3d2498bf059acdb823b51bc01986faf47139f8100ae272e6bd19095cfa9b DIST toml_edit-0.19.15.crate 95324 BLAKE2B f989f96d571693ff81572af6c05a6f51b673e478f22d20a6b166c45909902ac80280ea92ec5c3567327df90100a47fb7504845fc39bbcff6756af6c1a89e2221 SHA512 46d6bd2fea957392ae0ad7e687dad7743b76ee8e8ec76c80d6374ea294d3d09b6f73df0a82c821b9ee3b5268987a4136aa825034309f3cbc1947dbd1af1505dc +DIST toml_edit-0.20.1.crate 95671 BLAKE2B 254f250f17edfc183a442259faff08cf38b6e9dc10b68c1502b5e7cae40de118916bc60f16eb072c149547582db94871564cd21e83e726c6269fb09e5f363d77 SHA512 fb0da736be602ac98e2db9286d040fcdeda378754c0079d0ca09bfde11cb9a844178a4d3bb93003832a4766de94bf50446052fa37c13adda315605c80d01231d DIST trycmd-0.14.17.crate 33271 BLAKE2B a209221dd701124d3b180859f7d94a4844d2e159e9b194cf3013136f110e528adc526b452b242a78db839e2358909679eb253e5ef48e50b71de09cf45b2e2977 SHA512 2e7600d3318201aa742b1f8e9796a6ef5e3aec3c4df1aa5267c135c6507c088106ac6ef61957af0dfe6f6aaf577ea22555db711a6608908fb3ae96f51b81dc08 +DIST trycmd-0.14.19.crate 33453 BLAKE2B 528663bd9cf8bad5fad6375c81acab18a8471860407505a85bdbf32f1fb2cea201eec6c1a051f8e63f0ff32507a17a5602b7c7c384290069539ad6cde0e16854 SHA512 6d6eae6bc1617a4ab5846716f6c1c800143c01e84f24df413bd7962e350f964976bf0583d399405dc6df638760e6fed3e418c1056239e9e39d00ea1355485672 DIST unicode-bidi-0.3.5.crate 33423 BLAKE2B 26434df7646ca6fc3b655ac2482c2be70700bd84fdd31d016f49b5276b23308d1f9258d40ff97a4090e3dd603d3a19f8fe45c13c5dcde6b00816dcee1695c7d3 SHA512 4541d84db17eef16da6ea59f1ff7103549ff338d6ffabef21e75fbfcfdb1a3fd0f8e8fe18abab7b6117e997cefeaa5e87fb01fed8fedbcd0657fc913743de8ad DIST unicode-ident-1.0.11.crate 42067 BLAKE2B 3c7cac3d2bf1cbf1cf04716a482f130123e8e6940f7a90a17bc62fca44ac0069688165538f5329b95a72f735b594cfb85e3250738393ffd1b53cb0cd95077d89 SHA512 9682bbee339fb987c9d0bb6a54406d37b28b5c3587372d406402e4341900fec97e3234cd03b5c98b90b6378fd533dc452cac3de90d3ade19c4b09657e4abf6df DIST unicode-normalization-0.1.17.crate 100345 BLAKE2B 2579748ab87f6d74ab8e845d88c1990e4ef32e46e38f9a1841e3381d257d973f2f8a9da359c8e3f11790a888acf81f548ed3b749a67bb3e95acf3b744dd063f3 SHA512 727b4844a4eb103375dff7d88d620e1fb581cbdf2523f07a5c1673ff333d772d48ffae7658bfe4816a5bb42de5f68a96e15be9341c540a0f746c2990eeccb3d6 diff --git a/sys-apps/eza/eza-0.12.0.ebuild b/sys-apps/eza/eza-0.12.0.ebuild deleted file mode 100644 index a279086cd7a2..000000000000 --- a/sys-apps/eza/eza-0.12.0.ebuild +++ /dev/null @@ -1,209 +0,0 @@ -# Copyright 2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES=" - android-tzdata@0.1.1 - android_system_properties@0.1.5 - ansiterm@0.12.2 - anstream@0.5.0 - anstyle-parse@0.2.1 - anstyle-query@1.0.0 - anstyle-wincon@2.1.0 - anstyle@1.0.3 - autocfg@1.1.0 - bitflags@1.3.2 - bitflags@2.4.0 - bumpalo@3.13.0 - byteorder@1.4.3 - cc@1.0.79 - cfg-if@1.0.0 - chrono@0.4.30 - colorchoice@1.0.0 - content_inspector@0.2.4 - core-foundation-sys@0.8.4 - crossbeam-channel@0.5.8 - crossbeam-deque@0.8.3 - crossbeam-epoch@0.9.15 - crossbeam-utils@0.8.16 - datetime@0.5.2 - dunce@1.0.4 - either@1.9.0 - equivalent@1.0.1 - errno-dragonfly@0.1.2 - errno@0.3.3 - fastrand@2.0.0 - filetime@0.2.22 - form_urlencoded@1.0.1 - gethostname@0.4.3 - git2@0.18.0 - glob@0.3.1 - hashbrown@0.14.0 - hermit-abi@0.3.2 - humantime-serde@1.1.1 - humantime@2.1.0 - iana-time-zone-haiku@0.1.2 - iana-time-zone@0.1.57 - idna@0.2.3 - indexmap@2.0.0 - io-lifetimes@1.0.11 - jobserver@0.1.22 - js-sys@0.3.64 - lazy_static@1.4.0 - libc@0.2.147 - libgit2-sys@0.16.1+1.7.1 - libz-sys@1.1.2 - linux-raw-sys@0.3.8 - linux-raw-sys@0.4.7 - locale@0.2.2 - log@0.4.20 - matches@0.1.8 - memchr@2.6.3 - memoffset@0.9.0 - natord@1.0.9 - normalize-line-endings@0.3.0 - num-traits@0.2.14 - num_cpus@1.16.0 - number_prefix@0.4.0 - once_cell@1.18.0 - openssl-src@111.26.0+1.1.1u - openssl-sys@0.9.61 - os_pipe@1.1.4 - partition-identity@0.3.0 - percent-encoding@2.1.0 - phf@0.11.2 - phf_generator@0.11.2 - phf_macros@0.11.2 - phf_shared@0.11.2 - pkg-config@0.3.19 - proc-macro2@1.0.66 - proc-mounts@0.3.0 - quote@1.0.33 - rand@0.8.5 - rand_core@0.6.4 - rayon-core@1.11.0 - rayon@1.7.0 - redox_syscall@0.1.57 - redox_syscall@0.3.5 - rustix@0.37.23 - rustix@0.38.13 - same-file@1.0.6 - scoped_threadpool@0.1.9 - scopeguard@1.2.0 - serde@1.0.188 - serde_derive@1.0.188 - serde_spanned@0.6.3 - shlex@1.2.0 - similar@2.2.1 - siphasher@0.3.11 - snapbox-macros@0.3.5 - snapbox@0.4.12 - syn@2.0.29 - tempfile@3.8.0 - term_grid@0.1.7 - terminal_size@0.2.6 - thiserror-impl@1.0.48 - thiserror@1.0.48 - timeago@0.4.1 - tinyvec@1.2.0 - tinyvec_macros@0.1.0 - toml_datetime@0.6.3 - toml_edit@0.19.15 - trycmd@0.14.17 - unicode-bidi@0.3.5 - unicode-ident@1.0.11 - unicode-normalization@0.1.17 - unicode-width@0.1.10 - url@2.2.1 - urlencoding@2.1.3 - utf8parse@0.2.1 - uzers@0.11.3 - vcpkg@0.2.12 - wait-timeout@0.2.0 - walkdir@2.4.0 - wasm-bindgen-backend@0.2.87 - wasm-bindgen-macro-support@0.2.87 - wasm-bindgen-macro@0.2.87 - wasm-bindgen-shared@0.2.87 - wasm-bindgen@0.2.87 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-util@0.1.5 - winapi-x86_64-pc-windows-gnu@0.4.0 - winapi@0.3.9 - windows-sys@0.48.0 - windows-targets@0.48.5 - windows@0.48.0 - windows_aarch64_gnullvm@0.48.5 - windows_aarch64_msvc@0.48.5 - windows_i686_gnu@0.48.5 - windows_i686_msvc@0.48.5 - windows_x86_64_gnu@0.48.5 - windows_x86_64_gnullvm@0.48.5 - windows_x86_64_msvc@0.48.5 - winnow@0.5.15 - zoneinfo_compiled@0.5.1 -" - -inherit shell-completion cargo - -DESCRIPTION="A modern, maintained replacement for ls" -HOMEPAGE="https://github.com/eza-community/eza" -SRC_URI="https://github.com/eza-community/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz - ${CARGO_CRATE_URIS} -" - -LICENSE="MIT" -# Dependent crate licenses -LICENSE+=" Apache-2.0 MIT Unicode-DFS-2016" -SLOT="0" -KEYWORDS="~amd64 ~arm64" -IUSE="+git man" - -DEPEND="git? ( dev-libs/libgit2:= )" -RDEPEND="${DEPEND}" -BDEPEND=" - >=virtual/rust-1.65.0 - man? ( virtual/pandoc ) -" - -QA_FLAGS_IGNORED="usr/bin/${PN}" - -src_prepare() { - default - if use man; then - mkdir -p contrib/man || die "failed to create man directory" - pandoc --standalone -f markdown -t man man/eza.1.md \ - -o contrib/man/eza.1 || die "failed to create man page" - pandoc --standalone -f markdown -t man man/eza_colors.5.md \ - -o contrib/man/eza_colors.5 || die "failed to create colors man page" - pandoc --standalone -f markdown -t man man/eza_colors-explanation.5.md \ - -o contrib/man/eza_colors-explanation.5 || die "failed to create colors-explanation man page" - fi - - # "source" files only, but cargo.eclass will attempt to install them. - rm -r man || die "failed to remove man directory from source" - - sed -i -e 's/^strip = true$/strip = false/g' Cargo.toml || die "failed to disable stripping" -} - -src_configure() { - local myfeatures=( - $(usev git) - ) - export LIBGIT2_SYS_USE_PKG_CONFIG=1 - export PKG_CONFIG_ALLOW_CROSS=1 - cargo_src_configure --no-default-features -} - -src_install() { - cargo_src_install - - dobashcomp "completions/bash/${PN}" - dozshcomp "completions/zsh/_${PN}" - dofishcomp "completions/fish/${PN}.fish" - - if use man; then - doman contrib/man/* - fi -} diff --git a/sys-apps/eza/eza-0.13.0.ebuild b/sys-apps/eza/eza-0.14.1.ebuild index 4131b97a2ebc..38c4ef0eb22c 100644 --- a/sys-apps/eza/eza-0.13.0.ebuild +++ b/sys-apps/eza/eza-0.14.1.ebuild @@ -9,10 +9,10 @@ CRATES=" android_system_properties@0.1.5 anes@0.1.6 ansiterm@0.12.2 - anstream@0.5.0 + anstream@0.6.4 anstyle-parse@0.2.1 anstyle-query@1.0.0 - anstyle-wincon@2.1.0 + anstyle-wincon@3.0.1 anstyle@1.0.3 autocfg@1.1.0 bitflags@1.3.2 @@ -22,7 +22,7 @@ CRATES=" cast@0.3.0 cc@1.0.79 cfg-if@1.0.0 - chrono@0.4.30 + chrono@0.4.31 ciborium-io@0.2.1 ciborium-ll@0.2.1 ciborium@0.2.1 @@ -47,8 +47,7 @@ CRATES=" fastrand@2.0.0 filetime@0.2.22 form_urlencoded@1.0.1 - gethostname@0.4.3 - git2@0.18.0 + git2@0.18.1 glob@0.3.1 half@1.8.2 hashbrown@0.14.0 @@ -59,17 +58,15 @@ CRATES=" iana-time-zone@0.1.57 idna@0.2.3 indexmap@2.0.0 - io-lifetimes@1.0.11 is-terminal@0.4.9 itertools@0.10.5 itoa@1.0.9 jobserver@0.1.22 js-sys@0.3.64 lazy_static@1.4.0 - libc@0.2.147 + libc@0.2.148 libgit2-sys@0.16.1+1.7.1 libz-sys@1.1.2 - linux-raw-sys@0.3.8 linux-raw-sys@0.4.7 locale@0.2.2 log@0.4.20 @@ -87,7 +84,7 @@ CRATES=" openssl-sys@0.9.61 os_pipe@1.1.4 partition-identity@0.3.0 - percent-encoding@2.1.0 + percent-encoding@2.3.0 phf@0.11.2 phf_generator@0.11.2 phf_macros@0.11.2 @@ -108,7 +105,6 @@ CRATES=" regex-automata@0.3.8 regex-syntax@0.7.5 regex@1.9.5 - rustix@0.37.23 rustix@0.38.13 ryu@1.0.15 same-file@1.0.6 @@ -121,27 +117,26 @@ CRATES=" shlex@1.2.0 similar@2.2.1 siphasher@0.3.11 - snapbox-macros@0.3.5 - snapbox@0.4.12 + snapbox-macros@0.3.6 + snapbox@0.4.14 syn@2.0.29 tempfile@3.8.0 term_grid@0.1.7 - terminal_size@0.2.6 + terminal_size@0.3.0 thiserror-impl@1.0.48 thiserror@1.0.48 - timeago@0.4.1 + timeago@0.4.2 tinytemplate@1.2.1 tinyvec@1.2.0 tinyvec_macros@0.1.0 toml_datetime@0.6.3 - toml_edit@0.19.15 - trycmd@0.14.17 + toml_edit@0.20.1 + trycmd@0.14.19 unicode-bidi@0.3.5 unicode-ident@1.0.11 unicode-normalization@0.1.17 - unicode-width@0.1.10 + unicode-width@0.1.11 url@2.2.1 - urlencoding@2.1.3 utf8parse@0.2.1 uzers@0.11.3 vcpkg@0.2.12 @@ -183,7 +178,7 @@ LICENSE="MIT" # Dependent crate licenses LICENSE+=" Apache-2.0 MIT Unicode-DFS-2016" SLOT="0" -KEYWORDS="~amd64 ~arm64" +KEYWORDS="~amd64 ~arm64 ~x86" IUSE="+git man" DEPEND="git? ( dev-libs/libgit2:= )" @@ -216,6 +211,7 @@ src_prepare() { rm tests/cmd/{icons,basic}_all.toml || die rm tests/cmd/only_dir_{,recursive_}unix.toml || die rm tests/cmd/recursive_unix.toml || die + rm tests/cmd/only_file_unix.toml || die sed -i -e 's/^strip = true$/strip = false/g' Cargo.toml || die "failed to disable stripping" } @@ -242,9 +238,10 @@ src_install() { } pkg_postinst() { - if [[ -n ${REPLACING_VERSIONS} ]] \ - && [[ $(ver_cut 2 ${REPLACING_VERSIONS}) -lt 13 ]]; then - elog "Starting with 0.13.0 \$EXA_COLORS using style codes nh and uh" - elog "will need to be updated to use nt and ut" - fi + for v in ${REPLACING_VERSIONS}; do + if ver_test "${v}" -lt "0.13.0"; then + elog "Starting with 0.13.0 \$EXA_COLORS using style codes nh and uh" + elog "will need to be updated to use nt and ut" + fi + done } |