repo/gentoo:master commit in: media-libs/netpbm/

"Viorel Munteanu" <[email protected]>
Newsgroups gmane.linux.gentoo.cvs
Message-ID <1786034411.013fcefd9f474ec6110ec2a4b80530df21f55e85.ceamac@gentoo>
commit:     013fcefd9f474ec6110ec2a4b80530df21f55e85
Author:     Viorel Munteanu <ceamac <AT> gentoo <DOT> org>
AuthorDate: Thu Aug  6 16:18:27 2026 +0000
Commit:     Viorel Munteanu <ceamac <AT> gentoo <DOT> org>
CommitDate: Thu Aug  6 16:40:11 2026 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=013fcefd

media-libs/netpbm: add 11.15.5

Signed-off-by: Viorel Munteanu <ceamac <AT> gentoo.org>

 media-libs/netpbm/Manifest              |   1 +
 media-libs/netpbm/netpbm-11.15.5.ebuild | 261 ++++++++++++++++++++++++++++++++
 2 files changed, 262 insertions(+)

diff --git a/media-libs/netpbm/Manifest b/media-libs/netpbm/Manifest
index fc7e8d939786..d6c7307b2bff 100644
--- a/media-libs/netpbm/Manifest
+++ b/media-libs/netpbm/Manifest
@@ -1,4 +1,5 @@
 DIST netpbm-11.15.4.tar.xz 3832988 BLAKE2B 86f25851fabf3373c23dc56248d5a2933fb82671209048a893fa2227925bbfef82e197543102af7e315f8b7329ef27945fc4e24bf07e9978bc58ae43d22a4fc9 SHA512 ed23aab9671a5d9aeac22d2ec8651ca386eb8a92dc94a584bd2d96c4fceca2c895dd6ce97a592b792744bb1100f845cd2e6bfdb38fa4681bb7f53716f8e52d0b
+DIST netpbm-11.15.5.tar.xz 3833452 BLAKE2B 7c0a7a7d99383fa24d5adff82bf32ef90d9801b4617b2a4dc2ea51c71834c50696f420cae8eeea637030aeb686396146d722d678f6f90485368124b486bd9678 SHA512 59abe6b73c6b1a9415c23d14eccb7fb90ba37a1235694fc463efe279d6e39ebc496776d0c4064cc57eefc1b8acd10b2cee5f956756f3623d5712225bf13e5031
 DIST netpbm-11.2.19.tar.xz 3789880 BLAKE2B b2b41151429c40656650a534b97f61b9573dd461f1442c6ad0a4450ebd1642ea0068b08bc3f1e5740a845d011c2dbf2dba9b22dc3d38cbc76c61de402258521e SHA512 69204f2be0ab576e4199505222b08dedf103dd7d39d00d8baa86c1244c837e54bcbea658e8e3768d9c144d37397c57af3c8da730a4499e6b7f788c73a269ef9b
 DIST netpbm-11.2.22.tar.xz 3791232 BLAKE2B 1c3abe2e1c4be2264216530516f46a00c2b21f8e680dadfe6c83773e4982ed08726c99e661a46fe4c0fa02093992b13ac7ec691cfef104d6b27afc09c4500ce5 SHA512 2d419548f4dc2a3ad7667bae858121e000d48c77d3a04e3d4075eede8962343c723a0cd954495b6d0e9eddb2cc15e377691b11ff99d58b46f4f68990eecbc3f2
 DIST netpbm-11.2.27.tar.xz 3793772 BLAKE2B 63b477574df0ea11f832eacbadc168203dc5857632b064f90f656286dab09262f9f47eec750c659c055424bd0af02d1cc1042c3227aa0199656a4a6d260a8c0d SHA512 8b1a073be0dfcb299522119829f8c0d8ca25f717f8205ef14101a888e4c3a84f1693dcb452659df6cb7b5a76e8c55aebd2d348d73a10e41d9979d9410b83c781

diff --git a/media-libs/netpbm/netpbm-11.15.5.ebuild b/media-libs/netpbm/netpbm-11.15.5.ebuild
new file mode 100644
index 000000000000..f86f6183c0b0
--- /dev/null
+++ b/media-libs/netpbm/netpbm-11.15.5.ebuild
@@ -0,0 +1,261 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic multilib toolchain-funcs
+
+# Upstream has 3 flavors of netpbm: super stable, stable and advanced.
+# They only provide a tarball for super stable, but super stable is a bit lagging.
+# So we package the stable branch of their svn (currently versions 11.2.xx) on SLOT "0/stable"
+# and the advanced branch of their svn (currently versions 11.15.yy) on SLOT "0/advanced".
+# The stable branch is stabilized according to usual Gentoo rules, while the
+# advanced branch will not be stabilized.
+# A detailed explanation is here https://netpbm.sourceforge.net/release.html
+
+DESCRIPTION="A set of utilities for converting to/from the netpbm (and related) formats"
+HOMEPAGE="https://netpbm.sourceforge.net/"
+SRC_URI="https://distfiles.gentoo.org/pub/dev/[email protected]/${CATEGORY}/${PN}/${P}.tar.xz"
+
+LICENSE="Artistic BSD GPL-2 IJG LGPL-2.1 MIT public-domain"
+SLOT="0/advanced"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="jbig jpeg png postscript rle cpu_flags_x86_sse2 static-libs test tiff X xml"
+RESTRICT="!test? ( test )"
+
+# app-text/ghostscript-gpl is really needed for postscript
+# some utilities execute /usr/bin/gs
+# some installed programs are perl scripts
+RDEPEND="
+	dev-lang/perl
+	jbig? ( media-libs/jbigkit:= )
+	jpeg? ( media-libs/libjpeg-turbo:=[static-libs?] )
+	png? (
+		>=media-libs/libpng-1.4:0=
+		virtual/zlib:=
+	)
+	postscript? (
+		app-text/ghostscript-gpl
+		virtual/zlib:=
+	)
+	rle? ( media-libs/urt:= )
+	tiff? ( >=media-libs/tiff-3.5.5:= )
+	xml? ( dev-libs/libxml2:= )
+	X? ( x11-libs/libX11 )
+"
+DEPEND="
+	${RDEPEND}
+	x11-base/xorg-proto
+"
+BDEPEND="
+	app-arch/xz-utils
+	app-alternatives/lex
+	virtual/pkgconfig
+	test? (
+		dev-lang/perl
+	)
+"
+
+PATCHES=(
+	"${FILESDIR}"/netpbm-11.9.0-build.patch
+	"${FILESDIR}"/netpbm-11.0.0-misc-deps.patch
+	"${FILESDIR}"/netpbm-11.1.0-fix-clang-O2.patch
+	"${FILESDIR}"/netpbm-11.6.1-incompatible-pointer-types.patch
+	"${FILESDIR}"/netpbm-11.15.1-fix-test-pm_message.patch
+)
+
+netpbm_libtype() {
+	case ${CHOST} in
+		*-darwin*) echo dylib;;
+		*)         echo unixshared;;
+	esac
+}
+
+netpbm_libsuffix() {
+	local suffix=$(get_libname)
+	echo ${suffix//\.}
+}
+
+netpbm_ldshlib() {
+	case ${CHOST} in
+		*-darwin*) echo '$(LDFLAGS) -dynamiclib -install_name $(SONAME)';;
+		*)         echo '$(LDFLAGS) -shared -Wl,-soname,$(SONAME)';;
+	esac
+}
+
+netpbm_config_lib() {
+	usex ${1} -l${2:-$1} NONE
+}
+
+# for bug #828127
+netpbm_cflags_for_build() {
+	if is-flagq -fPIC; then
+		echo -fPIC
+	fi
+}
+
+src_prepare() {
+	default
+
+	# make sure we use system libs
+	sed '/SUPPORT_SUBDIRS/s:urt::' -i GNUmakefile || die
+	rm -r urt converter/other/jbig/libjbig converter/other/jpeg2000/libjasper || die
+
+	# take care of the importinc stuff ourselves by only doing it once
+	# at the top level and having all subdirs use that one set #149843
+	sed \
+		-e '/^importinc:/s|^|importinc:\nmanual_|' \
+		-e '/-Iimportinc/s|-Iimp|-I"$(BUILDDIR)"/imp|g'\
+		-i common.mk || die
+	sed \
+		-e '/%.c/s: importinc$::' \
+		-i common.mk lib/Makefile lib/util/Makefile || die
+	sed \
+		-e 's:pkg-config:$(PKG_CONFIG):' \
+		-i GNUmakefile converter/other/Makefile other/pamx/Makefile || die
+
+	# The postscript knob is currently bound up with a fork test.
+	if ! use postscript ; then
+		sed \
+			-e 's:$(DONT_HAVE_PROCESS_MGMT):Y:' \
+			-i converter/other/Makefile generator/Makefile || die
+		sed -r \
+			-e 's:(pbmtextps|pnmtops|pstopnm).*::' \
+			-i test/all-in-place.{ok,test} || die
+		sed \
+			-e 's:lps-roundtrip.*::' \
+			-e 's:pbmtextps-dump.*::' \
+			-e 's:pbmtextps.*::' \
+			-i test/Test-Order || die
+		sed \
+			-e '/^$/d' \
+			-i test/all-in-place.ok || die
+		sed \
+			'2iexit 80' \
+			-i test/ps-{alt-,flate-,}roundtrip.test || die
+	fi
+
+	# Do not test png if not built
+	if ! use png ; then
+		sed -E \
+			-e 's:(pamtopng|pngtopam|pnmtopng).*::' \
+			-i test/all-in-place.{ok,test} || die
+		sed \
+			-e '/^$/d' \
+			-i test/all-in-place.ok || die
+
+		sed -E \
+			-e 's:(pamrgbatopng|pngtopnm).*::' \
+			-i test/legacy-names.{ok,test} || die
+		sed \
+			-e '/^$/d' \
+			-i test/legacy-names.ok || die
+		sed \
+			-e 's:png-roundtrip.*::' \
+			-e 's:winicon-roundtrip.*::' \
+			-i test/Test-Order || die
+	fi
+
+	# pbmtext-iso88591 requires LC_ALL=en_US.iso88591, not available on musl
+	# pbmtext-utf8 requires locale, not available on musl
+	# ppmpat-random and pnmindex are broken on musl
+	# bug #907295
+	if use elibc_musl; then
+		sed \
+			-e 's:pbmtext-iso88591.*::' \
+			-e 's:pbmtext-utf8.*::' \
+			-e 's:ppmpat-random.*::' \
+			-e 's:pnmindex.*::' \
+			-i test/Test-Order || die
+	fi
+}
+
+src_configure() {
+	cat config.mk.in - >> config.mk <<-EOF || die "writing config.mk failed"
+		# Misc stuff
+		BUILD_FIASCO = N
+		SYMLINK = ln -sf
+
+		# These vars let src_test work by default
+		PKGDIR_DEFAULT = ${T}/netpbm
+		RESULTDIR_DEFAULT = ${T}/netpbm-test
+
+		# Toolchain options
+		CC = $(tc-getCC) -Wall
+		LD = \$(CC)
+		CC_FOR_BUILD = $(tc-getBUILD_CC)
+		LD_FOR_BUILD = \$(CC_FOR_BUILD)
+		AR = $(tc-getAR)
+		RANLIB = $(tc-getRANLIB)
+		PKG_CONFIG = $(tc-getPKG_CONFIG)
+
+		STRIPFLAG =
+		CFLAGS_SHLIB = -fPIC
+		CFLAGS_FOR_BUILD += $(netpbm_cflags_for_build)
+
+		LDRELOC = \$(LD) -r
+		LDSHLIB = $(netpbm_ldshlib)
+		LINKER_CAN_DO_EXPLICIT_LIBRARY = N # we can, but dont want to
+		LINKERISCOMPILER = Y
+		NETPBMLIBSUFFIX = $(netpbm_libsuffix)
+		NETPBMLIBTYPE = $(netpbm_libtype)
+		STATICLIB_TOO = $(usex static-libs Y N)
+
+		# The var is called SSE, but the code is actually SSE2.
+		WANT_SSE = $(usex cpu_flags_x86_sse2 Y N)
+
+		# Gentoo build options
+		TIFFLIB = $(netpbm_config_lib tiff)
+		# Let tiff worry about its own dependencies #395753
+		TIFFLIB_NEEDS_JPEG = N
+		TIFFLIB_NEEDS_Z = N
+		JPEGLIB = $(netpbm_config_lib jpeg)
+		PNGLIB = $(netpbm_config_lib png)
+		ZLIB = $($(tc-getPKG_CONFIG) --libs zlib)
+		LINUXSVGALIB = NONE
+		XML2_LIBS = $(netpbm_config_lib xml xml2)
+		JBIGLIB = $(netpbm_config_lib jbig)
+		JBIGHDR_DIR =
+		JASPERLIB = NONE
+		JASPERHDR_DIR =
+		URTLIB = $(netpbm_config_lib rle)
+		URTHDR_DIR =
+		X11LIB = $(netpbm_config_lib X X11)
+		X11HDR_DIR =
+	EOF
+}
+
+src_compile() {
+	emake -j1 pm_config.h version.h manual_importinc #149843
+	emake
+}
+
+src_test() {
+	# The code wants to install everything first and then test the result.
+	emake install.{bin,lib,data}
+	emake check
+}
+
+src_install() {
+	# Subdir make targets like to use `mkdir` all over the place
+	# without any actual dependencies, thus the -j1.
+	emake -j1 package pkgdir="${ED}"/usr
+
+	if [[ $(get_libdir) != "lib" ]] ; then
+		mv "${ED}"/usr/lib "${ED}"/usr/$(get_libdir) || die
+	fi
+
+	# Remove cruft that we don't need, and move around stuff we want
+	rm "${ED}"/usr/{README,VERSION,{pkgconfig,config}_template,pkginfo} || die
+
+	dodir /usr/share
+	mv "${ED}"/usr/misc "${ED}"/usr/share/netpbm || die
+
+	doman userguide/*.[0-9]
+	dodoc README
+
+	cd doc || die
+	dodoc HISTORY USERDOC
+	docinto html
+	dodoc -r ../userguide/*.html
+}
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.