commit:     599b18d0d550930be4c4585c010404efb454262f
Author:     Matt Jolly <kangie <AT> gentoo <DOT> org>
AuthorDate: Thu Dec  4 01:31:45 2025 +0000
Commit:     Matt Jolly <kangie <AT> gentoo <DOT> org>
CommitDate: Thu Dec  4 01:40:08 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=599b18d0

app-arch/dpkg: add 1.22.21

Add `dot-a.eclass` and drop USE=static-libs:

We're only building static libs at this point, there's no point in a USE
for the only valid combination. Instead, rely on the default behaviour
and hard-coded `--enable-static` (and upstream behaviour) to ensure that
an appropriate library is built and installed.

Signed-off-by: Matt Jolly <kangie <AT> gentoo.org>

 app-arch/dpkg/Manifest            |   1 +
 app-arch/dpkg/dpkg-1.22.21.ebuild | 124 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 125 insertions(+)

diff --git a/app-arch/dpkg/Manifest b/app-arch/dpkg/Manifest
index d91bc38d60f5..5dd91e7044fc 100644
--- a/app-arch/dpkg/Manifest
+++ b/app-arch/dpkg/Manifest
@@ -1,2 +1,3 @@
 DIST dpkg_1.22.14.tar.xz 5728012 BLAKE2B 
d14e4550f562fd054a073bfb5e9269aff82a3b582ce8676073b67c9ee72baf5a242ee62a91b56966db2569f93255a6475c75b246527142f94f3c1de91c48f673
 SHA512 
43b0776cf6fef8beb771c552b9824e86bbe554b0738c13ae4d1b89821c79aa2ae26a7d30d3b3b865df89374a1625adbb31da45bf208dafe87fc1a7b175fe4a28
 DIST dpkg_1.22.19.tar.xz 5748756 BLAKE2B 
6c5017bb6132c88215d23194120e4c52b02310cd593c79b1db96e0b7f22456f70a6749aa91cb9796ac99fe698edfcb025841e0cb676731d4232a088aa32119fe
 SHA512 
951bf8b228c00899db6618752745d7db69e9c22754f4a5c84c9e45604477e448253713e51cb29d9ef2346825aa28f0812ce1c4653ab01c8e8c2ea962cf86ded9
+DIST dpkg_1.22.21.tar.xz 5743920 BLAKE2B 
cac56e2c734e6d7374cff5174902d4b023e41202f3955bbcadddc59d549f1961a2068092d083e4271b209a2bb82546cf9ed45bcda9b84a433e82720eccdf30ad
 SHA512 
80a45a019133481f8ab54f4e3db0e776324ba49ba960bc26ef234b6032626e0ea87d439883b9b533f0a404d66391a272fd239b88b7bbf4e2cd904a985867d7ef

diff --git a/app-arch/dpkg/dpkg-1.22.21.ebuild 
b/app-arch/dpkg/dpkg-1.22.21.ebuild
new file mode 100644
index 000000000000..a6cae7de5cde
--- /dev/null
+++ b/app-arch/dpkg/dpkg-1.22.21.ebuild
@@ -0,0 +1,124 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools dot-a toolchain-funcs multiprocessing
+
+DESCRIPTION="Package maintenance system for Debian"
+HOMEPAGE="https://packages.qa.debian.org/dpkg";
+SRC_URI="mirror://debian/pool/main/d/${PN}/${P/-/_}.tar.xz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~ppc ~ppc64 ~riscv 
~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="+bzip2 +lzma nls selinux test +update-alternatives +zlib +zstd"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+       >=app-arch/gzip-1.7
+       >=app-arch/tar-1.34-r1
+       app-crypt/libmd
+       >=dev-lang/perl-5.32.1:=
+       sys-libs/ncurses:=[unicode(+)]
+       bzip2? ( app-arch/bzip2 )
+       elibc_musl? ( sys-libs/obstack-standalone )
+       lzma? ( app-arch/xz-utils )
+       nls? ( virtual/libintl )
+       selinux? ( sys-libs/libselinux )
+       zlib? ( >=virtual/zlib-1.1.4:= )
+       zstd? ( app-arch/zstd:= )
+"
+DEPEND="
+       ${RDEPEND}
+       app-arch/xz-utils
+       virtual/pkgconfig
+       test? (
+               dev-perl/IO-String
+               dev-perl/Test-Pod
+       )
+"
+BDEPEND="
+       sys-devel/flex
+       nls? (
+               app-text/po4a
+               >=sys-devel/gettext-0.18.2
+       )
+"
+RDEPEND+=" selinux? ( sec-policy/selinux-dpkg )"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-1.22.0-flags.patch
+)
+
+src_prepare() {
+       default
+
+       sed -i -e 's|\<ar\>|${AR}|g' src/at/deb-format.at src/at/testsuite || 
die
+
+       eautoreconf
+}
+
+src_configure() {
+       tc-export AR CC
+       lto-guarantee-fat
+
+       # dpkg uses LT_INIT([disable-shared]) in configure.ac where GNU libtool
+       # enables static if both --disable-shared and --disable-static are set 
while
+       # slibtool disables both so explicitly set --enable-static until 
upstream
+       # supports shared libraries.
+       # https://bugs.gentoo.org/956332
+       local myconf=(
+               # We don't want to override our toolchain defaults which
+               # set the same things.
+               --disable-compiler-hardening
+               --disable-compiler-warnings
+               --disable-devel-docs
+               --disable-dselect
+               --disable-start-stop-daemon
+               --enable-static
+               --enable-unicode
+               --localstatedir="${EPREFIX}"/var
+               $(use_enable nls)
+               $(use_enable update-alternatives)
+               $(use_with bzip2 libbz2)
+               $(use_with lzma liblzma)
+               $(use_with selinux libselinux)
+               $(use_with zlib libz)
+               $(use_with zstd libzstd)
+       )
+
+       econf "${myconf[@]}"
+}
+
+src_compile() {
+       emake AR="$(tc-getAR)"
+}
+
+src_test() {
+       emake -Onone check TEST_PARALLEL="$(makeopts_jobs)" TEST_VERBOSE=1
+}
+
+src_install() {
+       local DOCS=( debian/changelog THANKS TODO )
+       default
+       strip-lto-bytecode usr/$(get_libdir)/libdpkg.a
+
+       # https://bugs.gentoo.org/835520
+       mv -v "${ED}"/usr/share/zsh/{vendor-completions,site-functions} || die
+
+       # https://bugs.gentoo.org/840320
+       insinto /etc/dpkg/origins
+       newins - gentoo <<-_EOF_
+               Vendor: Gentoo
+               Vendor-URL: https://www.gentoo.org/
+               Bugs: https://bugs.gentoo.org/
+       _EOF_
+       dosym gentoo /etc/dpkg/origins/default
+
+       keepdir \
+               /usr/$(get_libdir)/db/methods/{mnt,floppy,disk} \
+               /var/lib/dpkg/{alternatives,info,parts,updates}
+
+       find "${ED}" -name '*.la' -delete || die
+}

Reply via email to