diff options
author | V3n3RiX <venerix@koprulu.sector> | 2023-08-03 10:53:03 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2023-08-03 10:53:03 +0100 |
commit | 58bc1eef7fcc2712f4fe69e418f697d6f4d57df4 (patch) | |
tree | d8f8ac35082dce2ae2d058c2a9206b36c941bcd7 /media-libs | |
parent | cde8c93952da8c35584929e3778914d821cd6800 (diff) |
gentoo auto-resync : 03:08:2023 - 10:53:03
Diffstat (limited to 'media-libs')
-rw-r--r-- | media-libs/Manifest.gz | bin | 68548 -> 68539 bytes | |||
-rw-r--r-- | media-libs/mesa/Manifest | 2 | ||||
-rw-r--r-- | media-libs/mesa/mesa-23.1.5.ebuild | 450 | ||||
-rw-r--r-- | media-libs/netpbm/Manifest | 8 | ||||
-rw-r--r-- | media-libs/netpbm/files/netpbm-10.86.21-test.patch | 10 | ||||
-rw-r--r-- | media-libs/netpbm/files/netpbm-10.86.22-fix-ps-test.patch | 506 | ||||
-rw-r--r-- | media-libs/netpbm/netpbm-10.86.36.ebuild | 243 | ||||
-rw-r--r-- | media-libs/netpbm/netpbm-11.3.1.ebuild (renamed from media-libs/netpbm/netpbm-11.3.0.ebuild) | 0 |
8 files changed, 454 insertions, 765 deletions
diff --git a/media-libs/Manifest.gz b/media-libs/Manifest.gz Binary files differindex a8f857a24b50..94c8d52851a4 100644 --- a/media-libs/Manifest.gz +++ b/media-libs/Manifest.gz diff --git a/media-libs/mesa/Manifest b/media-libs/mesa/Manifest index 26672d72d4cf..897b7a2f90c6 100644 --- a/media-libs/mesa/Manifest +++ b/media-libs/mesa/Manifest @@ -9,6 +9,7 @@ DIST mesa-23.1.1.tar.xz 18299068 BLAKE2B b17a71205248f2e97c60aa944d8b5b19d51592b DIST mesa-23.1.2.tar.xz 18333300 BLAKE2B a98dddf9c6cd0f69ec980e1080b53c92513ac03161dfba3355b83da674d6148dbd66c7e0403795eea7c3ce28fb5ff392a96607f34e4caf68a58ac8eb157cf146 SHA512 728e79720d950b0f39fa55c21dff7caed3650e88dff52a2f3e70540a049f1baf78178e62e5d6b1e59c76f6555ab0be3f0043cfbddd4745c0a742ccef2f5774d4 DIST mesa-23.1.3.tar.xz 18358052 BLAKE2B 99ce2a458c049b60cf13278d5e2e04d9eebefe04d5cbfcba7ff13421724bfd7877ec24086e513d249f1e7b1d537acea90e2ae53d71ef420213a5764ce61d8c4f SHA512 44f0658138ef99dcede5e4c33d5733af836283f05b031b07f3f8b3bc03b301bc7ab9dc15248829cf3dfc423f2da8935b372b25df8b9ef15a511ba16ccd913959 DIST mesa-23.1.4.tar.xz 18414456 BLAKE2B 9c696766f4f7af9a2d12c6e7663f300e4dbcfc27ee210770151a8be76b3413b51aad1e2a00f4cf38695cf26d5b684e38a65de8a63723597a0ff97f3a9935b1a1 SHA512 4063c7848f507b5e25cfc862394268147254b90c9f3eb19035cce338b0a9cb611b7380c1c73f0e4feeddde68124225df7dee7b9db5f019603dfde2b88ff46a21 +DIST mesa-23.1.5.tar.xz 18438676 BLAKE2B 9919de93df171dd884ef39f52e480e62ef7f4cd55e43b507316af7de39b222ddec12914628d136d40a80f8398f517708a67a64b99858bba3c86686956b7c91bc SHA512 c5eac5a497561374eaf931214aebc9001820c5ab49f9b8c5634b62af081b03b2f21c169c936524b2953c8815eb27dfb5c8c12276b9b1c119722cd6fea0b22d85 EBUILD mesa-22.3.7-r1.ebuild 12102 BLAKE2B 5c922d962095386dd1e0bc1a97b5906c984be4973181c747d3704c61b5250dc7406971811c7633cadde6119dc3ba133f8b9b5bdac06bb0099de1d541d3c9d4e3 SHA512 6660223e22ff2804de0b92809c82bbd0ae112d8986975ab9d5d9625d757f651657efc14e82e97fb010f884b748591ff4c0f3574af66a35aa23224185e75abcd2 EBUILD mesa-23.0.3-r1.ebuild 12250 BLAKE2B 4e6add8f5a8a6758b12f5c72e42e2b7df839ea793f155b6653b9cd6eed82eccca39768cdc8deb6b718627c4df7b0ad1ddcdf54a4db48eaf4c55fbcf570e7168e SHA512 9f4ca64c734a77f175abbc4037cb4291ab9f9d8f329087aa487fc628926bec163fdf43abef43e75cde6f08327e3b8c04c7c24a36150fb2444de9d7fae3e37c0d EBUILD mesa-23.1.0.ebuild 12311 BLAKE2B e7e8114c5c59b7c7f7b68f8146a7190017cdaabb04a397143720c8c04bc32142f47a949a7540f0227a1e1fb3802b21d5806bd6d5a76c3ae30fba2811cd4d9a2c SHA512 d2e516f1f7d3a54bee2fa5a6b51f815400be31ce916058c0b8833b8ecbf9dc2fadd39327dd1289c919b4326e40539cb01da8a810139280ee5120e2b5885385e9 @@ -17,5 +18,6 @@ EBUILD mesa-23.1.2-r1.ebuild 12315 BLAKE2B 79244582d2b1e984fc90c96acff7494d92b6c EBUILD mesa-23.1.2.ebuild 12223 BLAKE2B a892145bba1e24fb93abe8b9b26a2dc782299ac26de3886cd533ff0f8d37596a10abe59ecf3547e30bc8482f28369fd877aa2f61414927315bf026d3bfb0509d SHA512 172527e98ac0782d4717381b84c5c4b7dad4a6ce5799c8a6e19ea4bfd6938e68205d2e129eff341e53fb854f523d4e79d3251322ee906a5c8760673b8a9bb03c EBUILD mesa-23.1.3.ebuild 12353 BLAKE2B 962c73ee4f33238abbcff8363fb28656432617ac7bea5f74ac2425c78177c3d98cc05341c8391939584326b79952b219f99724453396b2c85a0df55318498f11 SHA512 51c8b75936105d6675b044d7270b228166173130a0cb82a321e4dce949c8d000b8a570a5542a6daeb4897840d675bc8e96641fb4009104d8c4a451a1124f4706 EBUILD mesa-23.1.4.ebuild 12357 BLAKE2B 14724a7cd60397846f9894bc5ae8e5fd8a893f33f3c81a519f72780cb057c5d9404d26e0ae80d8d525dec66875a506a972896fdf63c6ec3c206946ed2a1b5caf SHA512 6777196d287971891805413eeab6178d0b04b8aedf3558f0cc1a501ab108b3e5baeece5e2d1bb562a1643e3a6def056b42ed5b81653d7117cbf5da55ea0f13b9 +EBUILD mesa-23.1.5.ebuild 12357 BLAKE2B 14724a7cd60397846f9894bc5ae8e5fd8a893f33f3c81a519f72780cb057c5d9404d26e0ae80d8d525dec66875a506a972896fdf63c6ec3c206946ed2a1b5caf SHA512 6777196d287971891805413eeab6178d0b04b8aedf3558f0cc1a501ab108b3e5baeece5e2d1bb562a1643e3a6def056b42ed5b81653d7117cbf5da55ea0f13b9 EBUILD mesa-9999.ebuild 12357 BLAKE2B 14724a7cd60397846f9894bc5ae8e5fd8a893f33f3c81a519f72780cb057c5d9404d26e0ae80d8d525dec66875a506a972896fdf63c6ec3c206946ed2a1b5caf SHA512 6777196d287971891805413eeab6178d0b04b8aedf3558f0cc1a501ab108b3e5baeece5e2d1bb562a1643e3a6def056b42ed5b81653d7117cbf5da55ea0f13b9 MISC metadata.xml 1488 BLAKE2B 7b776f0a6d92b34baec90c58d019d61af537044766ce34a6e139ef679a0724e57fe65d600307c7f9dc0c48618445527618322e2af737191082dece3e547d5533 SHA512 1d573d534f1099eb1f1912567cf559aeae28111eabefa806b292a66d1f1e539e86394a76ca40a1481a6bfb4b6f7a0b117344e39d7b4d2eac615ef49b8f62acb9 diff --git a/media-libs/mesa/mesa-23.1.5.ebuild b/media-libs/mesa/mesa-23.1.5.ebuild new file mode 100644 index 000000000000..c44daa0c39c2 --- /dev/null +++ b/media-libs/mesa/mesa-23.1.5.ebuild @@ -0,0 +1,450 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{9..12} ) + +inherit llvm meson-multilib python-any-r1 linux-info + +MY_P="${P/_/-}" + +DESCRIPTION="OpenGL-like graphic library for Linux" +HOMEPAGE="https://www.mesa3d.org/ https://mesa.freedesktop.org/" + +if [[ ${PV} == 9999 ]]; then + EGIT_REPO_URI="https://gitlab.freedesktop.org/mesa/mesa.git" + inherit git-r3 +else + SRC_URI="https://archive.mesa3d.org/${MY_P}.tar.xz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-solaris" +fi + +LICENSE="MIT" +SLOT="0" +RESTRICT="!test? ( test )" + +RADEON_CARDS="r300 r600 radeon radeonsi" +VIDEO_CARDS="${RADEON_CARDS} d3d12 freedreno intel lavapipe lima nouveau panfrost v3d vc4 virgl vivante vmware" +for card in ${VIDEO_CARDS}; do + IUSE_VIDEO_CARDS+=" video_cards_${card}" +done + +IUSE="${IUSE_VIDEO_CARDS} + cpu_flags_x86_sse2 d3d9 debug gles1 +gles2 +llvm + lm-sensors opencl osmesa +proprietary-codecs selinux + test unwind vaapi valgrind vdpau vulkan + vulkan-overlay wayland +X xa zink +zstd" + +REQUIRED_USE=" + d3d9? ( + || ( + video_cards_intel + video_cards_r300 + video_cards_r600 + video_cards_radeonsi + video_cards_nouveau + video_cards_vmware + ) + ) + vulkan? ( video_cards_radeonsi? ( llvm ) ) + vulkan-overlay? ( vulkan ) + video_cards_lavapipe? ( llvm vulkan ) + video_cards_radeon? ( x86? ( llvm ) amd64? ( llvm ) ) + video_cards_r300? ( x86? ( llvm ) amd64? ( llvm ) ) + video_cards_radeonsi? ( llvm ) + vdpau? ( X ) + xa? ( X ) + zink? ( vulkan ) +" + +LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.110" +RDEPEND=" + >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}] + >=media-libs/libglvnd-1.3.2[X?,${MULTILIB_USEDEP}] + >=sys-libs/zlib-1.2.8[${MULTILIB_USEDEP}] + unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] ) + llvm? ( + video_cards_radeonsi? ( + virtual/libelf:0=[${MULTILIB_USEDEP}] + ) + video_cards_r600? ( + virtual/libelf:0=[${MULTILIB_USEDEP}] + ) + video_cards_radeon? ( + virtual/libelf:0=[${MULTILIB_USEDEP}] + ) + ) + lm-sensors? ( sys-apps/lm-sensors:=[${MULTILIB_USEDEP}] ) + opencl? ( + >=virtual/opencl-3 + dev-libs/libclc[spirv(-)] + >=dev-util/spirv-tools-1.3.231.0 + virtual/libelf:0= + ) + vaapi? ( + >=media-libs/libva-1.7.3:=[${MULTILIB_USEDEP}] + ) + vdpau? ( >=x11-libs/libvdpau-1.1:=[${MULTILIB_USEDEP}] ) + vulkan? ( + video_cards_intel? ( + amd64? ( + dev-libs/libclc[spirv(-)] + >=dev-util/spirv-tools-1.3.231.0 + ) + ) + ) + selinux? ( sys-libs/libselinux[${MULTILIB_USEDEP}] ) + wayland? ( >=dev-libs/wayland-1.18.0[${MULTILIB_USEDEP}] ) + ${LIBDRM_DEPSTRING}[video_cards_freedreno?,video_cards_intel?,video_cards_nouveau?,video_cards_vc4?,video_cards_vivante?,video_cards_vmware?,${MULTILIB_USEDEP}] + X? ( + >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}] + >=x11-libs/libxshmfence-1.1[${MULTILIB_USEDEP}] + >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}] + >=x11-libs/libXxf86vm-1.1.3[${MULTILIB_USEDEP}] + >=x11-libs/libxcb-1.13:=[${MULTILIB_USEDEP}] + x11-libs/libXfixes[${MULTILIB_USEDEP}] + ) + zink? ( media-libs/vulkan-loader:=[${MULTILIB_USEDEP}] ) + zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] ) +" +for card in ${RADEON_CARDS}; do + RDEPEND="${RDEPEND} + video_cards_${card}? ( ${LIBDRM_DEPSTRING}[video_cards_radeon] ) + " +done +RDEPEND="${RDEPEND} + video_cards_radeonsi? ( ${LIBDRM_DEPSTRING}[video_cards_amdgpu] ) +" + +# Please keep the LLVM dependency block separate. Since LLVM is slotted, +# we need to *really* make sure we're not pulling one than more slot +# simultaneously. +# +# How to use it: +# 1. Specify LLVM_MAX_SLOT (inclusive), e.g. 16. +# 2. Specify LLVM_MIN_SLOT (inclusive), e.g. 15. +LLVM_MAX_SLOT="16" +LLVM_MIN_SLOT="15" +LLVM_USE_DEPS="llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}" +PER_SLOT_DEPSTR=" + ( + !opencl? ( sys-devel/llvm:@SLOT@[${LLVM_USE_DEPS}] ) + opencl? ( sys-devel/clang:@SLOT@[${LLVM_USE_DEPS}] ) + opencl? ( dev-util/spirv-llvm-translator:@SLOT@ ) + vulkan? ( video_cards_intel? ( amd64? ( dev-util/spirv-llvm-translator:@SLOT@ ) ) ) + ) +" +LLVM_DEPSTR=" + || ( + $(for ((slot=LLVM_MAX_SLOT; slot>=LLVM_MIN_SLOT; slot--)); do + echo "${PER_SLOT_DEPSTR//@SLOT@/${slot}}" + done) + ) + !opencl? ( <sys-devel/llvm-$((LLVM_MAX_SLOT + 1)):=[${LLVM_USE_DEPS}] ) + opencl? ( <sys-devel/clang-$((LLVM_MAX_SLOT + 1)):=[${LLVM_USE_DEPS}] ) +" +RDEPEND="${RDEPEND} + llvm? ( ${LLVM_DEPSTR} ) +" +unset LLVM_MIN_SLOT {LLVM,PER_SLOT}_DEPSTR + +DEPEND="${RDEPEND} + video_cards_d3d12? ( dev-util/directx-headers[${MULTILIB_USEDEP}] ) + valgrind? ( dev-util/valgrind ) + wayland? ( >=dev-libs/wayland-protocols-1.24 ) + X? ( + x11-libs/libXrandr[${MULTILIB_USEDEP}] + x11-base/xorg-proto + ) +" +BDEPEND=" + >=dev-util/meson-1.0.0 + ${PYTHON_DEPS} + opencl? ( + >=virtual/rust-1.62.0 + >=dev-util/bindgen-0.58.0 + ) + sys-devel/bison + sys-devel/flex + virtual/pkgconfig + $(python_gen_any_dep ">=dev-python/mako-0.8.0[\${PYTHON_USEDEP}]") + vulkan? ( + dev-util/glslang + video_cards_intel? ( + amd64? ( + $(python_gen_any_dep "dev-python/ply[\${PYTHON_USEDEP}]") + ) + ) + ) + wayland? ( dev-util/wayland-scanner ) +" + +S="${WORKDIR}/${MY_P}" +EGIT_CHECKOUT_DIR=${S} + +QA_WX_LOAD=" +x86? ( + usr/lib/libglapi.so.0.0.0 + usr/lib/libOSMesa.so.8.0.0 + usr/lib/libGLX_mesa.so.0.0.0 +)" + +llvm_check_deps() { + if use opencl; then + has_version "sys-devel/clang:${LLVM_SLOT}[${LLVM_USE_DEPS}]" || return 1 + fi + if use opencl || { use vulkan && use video_cards_intel && use amd64; }; then + has_version "dev-util/spirv-llvm-translator:${LLVM_SLOT}" || return 1 + fi + has_version "sys-devel/llvm:${LLVM_SLOT}[${LLVM_USE_DEPS}]" +} + +PATCHES=( + # Temporary rusticl workaround: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7717#note_1832122 + "${FILESDIR}/clang_resource_dir.patch" +) + +pkg_pretend() { + if use vulkan; then + if ! use video_cards_d3d12 && + ! use video_cards_freedreno && + ! use video_cards_intel && + ! use video_cards_radeonsi && + ! use video_cards_v3d; then + ewarn "Ignoring USE=vulkan since VIDEO_CARDS does not contain d3d12, freedreno, intel, radeonsi, or v3d" + fi + fi + + if use vaapi; then + if ! use video_cards_d3d12 && + ! use video_cards_r600 && + ! use video_cards_radeonsi && + ! use video_cards_nouveau; then + ewarn "Ignoring USE=vaapi since VIDEO_CARDS does not contain d3d12, r600, radeonsi, or nouveau" + fi + fi + + if use vdpau; then + if ! use video_cards_d3d12 && + ! use video_cards_r300 && + ! use video_cards_r600 && + ! use video_cards_radeonsi && + ! use video_cards_nouveau; then + ewarn "Ignoring USE=vdpau since VIDEO_CARDS does not contain d3d12, r300, r600, radeonsi, or nouveau" + fi + fi + + if use xa; then + if ! use video_cards_freedreno && + ! use video_cards_nouveau && + ! use video_cards_vmware; then + ewarn "Ignoring USE=xa since VIDEO_CARDS does not contain freedreno, nouveau, or vmware" + fi + fi + + if ! use llvm; then + use opencl && ewarn "Ignoring USE=opencl since USE does not contain llvm" + fi + + if use osmesa && ! use llvm; then + ewarn "OSMesa will be slow without enabling USE=llvm" + fi +} + +python_check_deps() { + python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]" || return 1 + if use vulkan && use video_cards_intel && use amd64; then + python_has_version -b "dev-python/ply[${PYTHON_USEDEP}]" || return 1 + fi +} + +pkg_setup() { + # warning message for bug 459306 + if use llvm && has_version sys-devel/llvm[!debug=]; then + ewarn "Mismatch between debug USE flags in media-libs/mesa and sys-devel/llvm" + ewarn "detected! This can cause problems. For details, see bug 459306." + fi + + if use video_cards_intel || + use video_cards_radeonsi; then + if kernel_is -ge 5 11 3; then + CONFIG_CHECK="~KCMP" + elif kernel_is -ge 5 11; then + CONFIG_CHECK="~CHECKPOINT_RESTORE" + elif kernel_is -ge 5 10 20; then + CONFIG_CHECK="~KCMP" + else + CONFIG_CHECK="~CHECKPOINT_RESTORE" + fi + linux-info_pkg_setup + fi + + if use llvm; then + llvm_pkg_setup + fi + python-any-r1_pkg_setup +} + +multilib_src_configure() { + local emesonargs=() + + local platforms + use X && platforms+="x11" + use wayland && platforms+=",wayland" + emesonargs+=(-Dplatforms=${platforms#,}) + + if use video_cards_intel || + use video_cards_r300 || + use video_cards_r600 || + use video_cards_radeonsi || + use video_cards_nouveau || + use video_cards_vmware; then + emesonargs+=($(meson_use d3d9 gallium-nine)) + else + emesonargs+=(-Dgallium-nine=false) + fi + + if use video_cards_d3d12 || + use video_cards_r600 || + use video_cards_radeonsi || + use video_cards_nouveau; then + emesonargs+=($(meson_feature vaapi gallium-va)) + use vaapi && emesonargs+=( -Dva-libs-path="${EPREFIX}"/usr/$(get_libdir)/va/drivers ) + else + emesonargs+=(-Dgallium-va=disabled) + fi + + if use video_cards_d3d12; then + emesonargs+=($(meson_feature vaapi gallium-d3d12-video)) + fi + + if use video_cards_d3d12 || + use video_cards_r300 || + use video_cards_r600 || + use video_cards_radeonsi || + use video_cards_nouveau; then + emesonargs+=($(meson_feature vdpau gallium-vdpau)) + else + emesonargs+=(-Dgallium-vdpau=disabled) + fi + + if use video_cards_freedreno || + use video_cards_nouveau || + use video_cards_vmware; then + emesonargs+=($(meson_feature xa gallium-xa)) + else + emesonargs+=(-Dgallium-xa=disabled) + fi + + if use video_cards_freedreno || + use video_cards_lima || + use video_cards_panfrost || + use video_cards_v3d || + use video_cards_vc4 || + use video_cards_vivante; then + gallium_enable -- kmsro + fi + + gallium_enable -- swrast + gallium_enable video_cards_freedreno freedreno + gallium_enable video_cards_intel crocus i915 iris + gallium_enable video_cards_lima lima + gallium_enable video_cards_d3d12 d3d12 + gallium_enable video_cards_nouveau nouveau + gallium_enable video_cards_panfrost panfrost + gallium_enable video_cards_v3d v3d + gallium_enable video_cards_vc4 vc4 + gallium_enable video_cards_virgl virgl + gallium_enable video_cards_vivante etnaviv + gallium_enable video_cards_vmware svga + gallium_enable zink zink + + gallium_enable video_cards_r300 r300 + gallium_enable video_cards_r600 r600 + gallium_enable video_cards_radeonsi radeonsi + if ! use video_cards_r300 && \ + ! use video_cards_r600; then + gallium_enable video_cards_radeon r300 r600 + fi + + if use llvm && use opencl; then + PKG_CONFIG_PATH="$(get_llvm_prefix)/$(get_libdir)/pkgconfig" + # See https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/docs/rusticl.rst + emesonargs+=( + $(meson_native_true gallium-rusticl) + -Drust_std=2021 + ) + fi + + if use vulkan; then + vulkan_enable video_cards_lavapipe swrast + vulkan_enable video_cards_freedreno freedreno + vulkan_enable video_cards_intel intel intel_hasvk + vulkan_enable video_cards_d3d12 microsoft-experimental + vulkan_enable video_cards_radeonsi amd + vulkan_enable video_cards_v3d broadcom + fi + + driver_list() { + local drivers="$(sort -u <<< "${1// /$'\n'}")" + echo "${drivers//$'\n'/,}" + } + + local vulkan_layers + use vulkan && vulkan_layers+="device-select" + use vulkan-overlay && vulkan_layers+=",overlay" + emesonargs+=(-Dvulkan-layers=${vulkan_layers#,}) + + if use vulkan && use video_cards_intel; then + PKG_CONFIG_PATH="$(get_llvm_prefix)/$(get_libdir)/pkgconfig" + emesonargs+=($(meson_feature llvm intel-clc)) + fi + + emesonargs+=( + $(meson_use test build-tests) + -Dglx=$(usex X dri disabled) + -Dshared-glapi=enabled + -Ddri3=enabled + -Degl=enabled + -Dexpat=enabled + -Dgbm=enabled + -Dglvnd=true + $(meson_feature gles1) + $(meson_feature gles2) + $(meson_feature llvm) + $(meson_feature lm-sensors lmsensors) + $(meson_use osmesa) + $(meson_use selinux) + $(meson_feature unwind libunwind) + $(meson_feature zstd) + $(meson_use cpu_flags_x86_sse2 sse2) + -Dvalgrind=$(usex valgrind auto disabled) + -Dvideo-codecs=$(usex proprietary-codecs "h264dec,h264enc,h265dec,h265enc,vc1dec" "") + -Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[*]}") + -Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[*]}") + --buildtype $(usex debug debug plain) + -Db_ndebug=$(usex debug false true) + ) + meson_src_configure +} + +multilib_src_test() { + meson_src_test -t 100 +} + +# $1 - VIDEO_CARDS flag (check skipped for "--") +# other args - names of DRI drivers to enable +gallium_enable() { + if [[ $1 == -- ]] || use $1; then + shift + GALLIUM_DRIVERS+=("$@") + fi +} + +vulkan_enable() { + if [[ $1 == -- ]] || use $1; then + shift + VULKAN_DRIVERS+=("$@") + fi +} diff --git a/media-libs/netpbm/Manifest b/media-libs/netpbm/Manifest index 46b133bcb3bb..2ba9fa3b2066 100644 --- a/media-libs/netpbm/Manifest +++ b/media-libs/netpbm/Manifest @@ -1,14 +1,10 @@ AUX make-tarball.sh 1895 BLAKE2B d6311e862d8b2fb10d88a90263f7187c04bde49ff0ecb7860d4b306a6553b41f24ed718e94113807f7b8cdfe21774de383baf7799f2a3c3a12acea6f7aedbd4f SHA512 8128d2d8c0fb60d1d3cba73b4b3d87e914a7ac284e5f049cfd0a596f772d705acb3222da2d6a6f7d1882c7221eeaae9daac9d1b855e61881600345dc615cc428 AUX netpbm-10.86.21-build.patch 2319 BLAKE2B b22150c8683790c9ac31abc00b8f3f5b55cc6e990186f506c67496fce774fdfef1ba23843129fd493f8aa3e4ad5f74cfcf1d2388da95225ac2ef19f0c949f425 SHA512 459c54dac19067f2185a02ef812932e8fcb6a73d6267c32578bd3b7d3b12494052e929b24663407ad919e1e98aa2df58ed8e27be3f18eeb2fbe2402e4ff9e629 AUX netpbm-10.86.21-misc-deps.patch 1565 BLAKE2B a4d629ea9fe01efc45c799dac4bd3764368be33f264929bdc338bb724ace03471949467e5c84144636a9f4ee9130395dad77e23aa6686998bf9700dbde224cbf SHA512 f274ede7d11ed0f2a1825a4412a52fd9e30f5caf470c6111b606a87f1e67b16278c9f2a901d512ea3516ba033e30a3c08386cc5af1a555f868b7d7175fbfeed0 -AUX netpbm-10.86.21-test.patch 331 BLAKE2B 59451b2f1632afdd8e84bcec0ef91e0589604706b373281bf4963385fe971991711cc6ed4f169cc45aa460ac1db20de69039b137da1a2ec3d6cb82b60ae5f745 SHA512 e5c1a88cc03e227c7a7a01e9586ceacaf24a6752f4285f228b0176a8a12a6a9ac83d8ce1c5965e8f56ab652b5e42aa2cd535f1e121449fe668312b7e49720e4f -AUX netpbm-10.86.22-fix-ps-test.patch 15448 BLAKE2B cfe77600197fc39ef0be0ed793f5181db57fd718a6fed268a8afb2fd2b5afab404c3be3c89dc25d178f8fe2edc4d386e33f22f7b3bc826e9c90307ef3895830f SHA512 a521c771d2384cb86d87b4efdf05e0835adcbefb84d4e66e744b2f8bc40df5358f20c4824dce5a942ccc24b18168276278d65e8e9a529b7c09b157b3e02438bb AUX netpbm-11.0.0-misc-deps.patch 1446 BLAKE2B 721e926a83d50d04d4a407051ee077db5e5bf8fb1ae9aff1ff1d7859cf1bb0d5f74fa1143681b451d36323f93d5e7fa3876e485d6538958e30779cac081df5b8 SHA512 7135533660b15a113df5a38298725f895e8cbd6ac4695eb5f2d40bd214c43cb9d1c261063e0cea162a6ca6071cda5f4e0380d29eefa6af57e7d67ce319fe2216 AUX netpbm-11.1.0-fix-clang-O2.patch 773 BLAKE2B a8d2bef659d384b0f94560fec847d37731315f5cdb67e5474efb596672d146446c6d545caa816d74f9d4c32fe486ce49f8cb55f38e9706bae6b0ba79c0dbbb5e SHA512 0a0049415d5c252603c47325d69ae582bec76ac15f442682ef0a2ff8c5a8cd19e28543644883bde891f2a376a401f43ed923b184112f49c67d295b9215d519de -DIST netpbm-10.86.36.tar.xz 3700660 BLAKE2B c5f0acd0147f2ad66f69ae2ade56fcbb5286faddc7f8f3387e2269fd20ea2586a29d7e7dc96bd715fe12896eef47803b826031087e6be8166183ba7cf82aebf4 SHA512 b05df76760629881047c44799a905a491fb4c139a9af909d77cc4238fc82dfac37ba174df4f81cb1177716ad38a37b26eadcc3889d2c2057ff9d850697fad3c6 DIST netpbm-11.2.0.tar.xz 3777372 BLAKE2B d9a2de49db61f642df75fe1c1fcda752f837535ac7cc698fb50e7c2c93dacfe3894fc46b402af30d07e3617f0f421a36d8d6a3d846c07d6b3526724dce93283b SHA512 70bde6e6112ae595e18be588ea95d2b2acb08e42bb36d0fc93b9584c4b2adf72e35f80ff87823a8e3d98a8ffd0ff907401d351533b9170d7a11a28515c10fdbd -DIST netpbm-11.3.0.tar.xz 3778748 BLAKE2B da847e2c4a23d6fb404b868cfabfae7b82fe744c0b04b49ed0c02ef8877690f752995cb570326673f0ffd7b4b75ce8bf086859971611e9d76b49e3124536d582 SHA512 6efbfee9174912fb2979834b090657572d400fb84bf137b5faa5c4517b9d3d9457d8b482acff586902e71566e3c0a7e3bad4c87cfec15a0efda03553c1314bce -EBUILD netpbm-10.86.36.ebuild 6771 BLAKE2B 261ea89a2609e11f160fbcfb5a940963b77cfdf1820705566758a988d294635e3213ec4af3ce3ab37a74cde19ea875ac53dae8b2552f6e588dbd5e31230102cd SHA512 d9075e67b699f62852ed6e0fe747fd55b6bde0d97b7510cbdc56472ec328f5257899805defff19de56d9e3b548488e7b99ff35e170fed5080f6f15b786f43002 +DIST netpbm-11.3.1.tar.xz 3779152 BLAKE2B fa342670a72939c661290b344819cb8ba1bc5f0d09c49cbe68560077384c985a714c6808a4858e5f0eb6a8fb52be698eb075ff7892d0972f4eeb571c3ebd45ef SHA512 d43fdb7f2a91575cb17486ab9ca31d5c0757fd9756a230db9b9bfc3a786f58a2fbb4f6f0ce40d396245a8b1dd718b8aab0d80611ec23b19312bcd93c5d2548b3 EBUILD netpbm-11.2.0.ebuild 6830 BLAKE2B c07e114dd61e0aef2f08f93bd722f72fac8021bbe9d369b111084a706e64f93e76913074e74758bc37780abd13eff479e58f00b524daf1a6ba2171b57272d825 SHA512 9cc1e468d04a7e8538e4ed1964e5a34834c8b3e637c4db7c79dde6c0290500d713ed09f3d746a07f0c6bce9fbf812f5be497050d79c6360a65aaadb1e793c83e -EBUILD netpbm-11.3.0.ebuild 6840 BLAKE2B 079ef16532536ddbc0435da2c49c63eaef668a6e1f2542d8fa02acccb41272acabc760f47b06c83ca77e6044944ca00cbe753a6ba3edcf0df36869955051de30 SHA512 e4a794b998ade53ece428a675ba4f4208400385e10bf6ad3a433eb47e9e34e306a816c3c641254a08460e29cf4eefa8388f961e67c4e97e083ca64f0b6879969 +EBUILD netpbm-11.3.1.ebuild 6840 BLAKE2B 079ef16532536ddbc0435da2c49c63eaef668a6e1f2542d8fa02acccb41272acabc760f47b06c83ca77e6044944ca00cbe753a6ba3edcf0df36869955051de30 SHA512 e4a794b998ade53ece428a675ba4f4208400385e10bf6ad3a433eb47e9e34e306a816c3c641254a08460e29cf4eefa8388f961e67c4e97e083ca64f0b6879969 MISC metadata.xml 424 BLAKE2B 9ccc907d6c15cb1a7d6cfe4679d6fa9f488642948897ca34958a06b439ebcfb912cfb18fa9d93f15f19573aed4bd7083d277151c477410a59cd64b4c9c0446d4 SHA512 a987be2134a44cc916d5a026068219b8ccaa149e577eaf2a53a7802321793129777cc79b069df95ec9320f15279249a5f9d8a61509452ef02effcb6c66cf9e80 diff --git a/media-libs/netpbm/files/netpbm-10.86.21-test.patch b/media-libs/netpbm/files/netpbm-10.86.21-test.patch deleted file mode 100644 index b7758fdbd61e..000000000000 --- a/media-libs/netpbm/files/netpbm-10.86.21-test.patch +++ /dev/null @@ -1,10 +0,0 @@ -`print ("got color map\n");` removed from `editor/pnmquantall` so remove from test -Do this from the patch instead of ebuild because if upstream also fixes it the patch will fail, sed would not - ---- a/test/pnmquantall.ok -+++ b/test/pnmquantall.ok -@@ -1,4 +1,3 @@ --got color map - 2373957371 33838 - 3892560659 33838 - 1383839923 33838 diff --git a/media-libs/netpbm/files/netpbm-10.86.22-fix-ps-test.patch b/media-libs/netpbm/files/netpbm-10.86.22-fix-ps-test.patch deleted file mode 100644 index e8876120a181..000000000000 --- a/media-libs/netpbm/files/netpbm-10.86.22-fix-ps-test.patch +++ /dev/null @@ -1,506 +0,0 @@ -postscript tests fail because of pbmtolps -backport pbmtolps from netpbm-10.94.3, including tests -see also bug #670362 - ---- a/converter/pbm/pbmtolps.c -+++ b/converter/pbm/pbmtolps.c -@@ -1,181 +1,253 @@ --/* -- * pbmtolps -- convert a Portable BitMap into Postscript. The -- * output Postscript uses lines instead of the image operator to -- * generate a (device dependent) picture which will be imaged -- * much faster. -- * -- * The Postscript path length is constrained to be less that 1000 -- * points so that no limits are overrun on the Apple Laserwriter -- * and (presumably) no other printers. -- * -- * To do: -- * make sure encapsulated format is correct -- * repitition of black-white strips -- * make it more device independent (is this possible?) -- * -- * Author: -- * George Phillips <phillips@cs.ubc.ca> -- * Department of Computer Science -- * University of British Columbia -- */ -- --#include <string.h> --#include <stdio.h> -+/*============================================================================= -+ pbmtolps -+=============================================================================== -+ -+ Convert a PBM image to Postscript. The output Postscript uses lines instead -+ of the image operator to generate a (device dependent) picture which will be -+ imaged much faster. -+ -+ The Postscript path length is constrained to be at most 1000 vertices so that -+ no limits are overrun on the Apple Laserwriter and (presumably) no other -+ printers. The typical limit is 1500. See "4.4 Path Construction" and -+ "Appendix B: Implementation Limits" in: PostScript Language Reference Manual -+ https://www.adobe.com/content/dam/acom/en/devnet/actionscript/ -+ articles/psrefman.pdf -+ -+ To do: -+ make sure encapsulated format is correct -+ repetition of black-white strips -+ make it more device independent (is this possible?) -+ -+ Author: -+ George Phillips <phillips@cs.ubc.ca> -+ Department of Computer Science -+ University of British Columbia -+=============================================================================*/ -+#include <stdbool.h> - -+#include "pm_c_util.h" -+#include "mallocvar.h" - #include "nstring.h" -+#include "shhopt.h" - #include "pbm.h" - - --static int prev_white = -1; --static int prev_black = -1; --static char cmd = '\0'; --static int pointcount = 2; -- --#ifdef RUN --static int run = 1; --#endif -- --static char --morepoints(char cmd, int howmany_pbmtolps) { -- pointcount += 2; -- if (pointcount > 1000) { -- pointcount = 2; -- cmd += 'm' - 'a'; -- } -- return(cmd); -+static float const MAX_DPI = 5000; -+static float const MIN_DPI = 10; -+static unsigned int const MAX_PATH_VERTICES = 1000; -+ -+ -+struct CmdlineInfo { -+ /* All the information the user supplied in the command line, in a form -+ easy for the program to use. -+ */ -+ const char * inputFileName; /* File name of input file */ -+ unsigned int inputFileSpec; /* Input file name specified */ -+ float lineWidth; /* Line width, if specified */ -+ unsigned int lineWidthSpec; /* Line width specified */ -+ float dpi; /* Resolution in DPI, if specified */ -+ unsigned int dpiSpec; /* Resolution specified */ -+}; -+ -+ -+ -+static void -+validateDpi(float const dpi) { -+ -+ if (dpi > MAX_DPI || dpi < MIN_DPI) -+ pm_error("Specified DPI value out of range (%f)", dpi); - } - - - --static void --addstrip(int const white, -- int const black) { -- -- if (cmd) { --#ifdef RUN -- if (white == prev_white && black == prev_black) -- run++; -- else { -- if (run == 1) --#endif -- printf("%d %d %c ", -- prev_black, prev_white, morepoints(cmd, 2)); --#ifdef RUN -- else -- /* of course, we need to give a new command */ -- printf("%d %d %d %c ", -- prev_white, prev_black, run, -- morepoints(cmd + 'f' - 'a', 2 * run)); -- run = 1; -- } --#endif -+static void -+parseCommandLine(int argc, -+ const char ** const argv, -+ struct CmdlineInfo * const cmdlineP) { -+/*---------------------------------------------------------------------------- -+ Parse program command line described in Unix standard form by argc -+ and argv. Return the information in the options as *cmdlineP. -+-----------------------------------------------------------------------------*/ -+ optEntry * option_def; /* malloc'ed */ -+ /* Instructions to OptParseOptions3 on how to parse our options. */ -+ optStruct3 opt; -+ -+ unsigned int option_def_index; -+ -+ MALLOCARRAY_NOFAIL(option_def, 100); -+ -+ option_def_index = 0; /* incremented by OPTENTRY */ -+ OPTENT3(0, "linewidth", OPT_FLOAT, &cmdlineP->lineWidth, -+ &cmdlineP->lineWidthSpec, 0); -+ OPTENT3(0, "dpi", OPT_FLOAT, &cmdlineP->dpi, -+ &cmdlineP->dpiSpec, 0); -+ -+ opt.opt_table = option_def; -+ opt.short_allowed = FALSE; /* We have no short (old-fashioned) options */ -+ opt.allowNegNum = FALSE; /* We have no parms that are negative numbers */ -+ -+ pm_optParseOptions3(&argc, (char **)argv, opt, sizeof(opt), 0); -+ /* Uses and sets argc, argv, and some of *cmdlineP and others. */ -+ -+ if (cmdlineP->dpiSpec) -+ validateDpi(cmdlineP->dpi); -+ else -+ cmdlineP->dpi = 300; -+ -+ if (argc-1 < 1) -+ cmdlineP->inputFileName = "-"; -+ else { -+ if (argc-1 > 1) -+ pm_error("Program takes zero or one argument (filename). You " -+ "specified %u", argc-1); -+ else -+ cmdlineP->inputFileName = argv[1]; - } - -- prev_white = white; -- prev_black = black; -- cmd = 'a'; -+ if (cmdlineP->inputFileName[0] == '-' && -+ cmdlineP->inputFileName[1] == '\0') -+ cmdlineP->inputFileSpec = false; -+ else -+ cmdlineP->inputFileSpec = true; -+ -+ free(option_def); - } - - - --static void --nextline(void) { -- /* need to check run, should have an outcommand */ -- if (cmd) -- printf("%d %d %c\n", prev_black, prev_white, morepoints('c', 3)); -- else -- printf("%c\n", morepoints('b', 1)); -- cmd = '\0'; -+static void -+validateLineWidth(float const scCols, -+ float const scRows, -+ float const lineWidth) { -+ -+ if (lineWidth >= scCols || lineWidth >= scRows) -+ pm_error("Absurdly large -linewidth value (%f)", lineWidth); - } - - - --int --main(int argc, char ** argv) { -- FILE* fp; -- bit* bits; -- int row; -- int col; -- int rows; -- int cols; -- int format; -- int white; -- int black; -- const char* name; -- float dpi = 300.0; -- float sc_rows; -- float sc_cols; -- int i; -- const char* const usage = "[ -dpi n ] [ pbmfile ]"; -- -- -- pbm_init(&argc, argv); -- -- i = 1; -- if (i < argc && streq(argv[i], "-dpi")) { -- if (i == argc - 1) -- pm_usage(usage); -- sscanf(argv[i + 1], "%f", &dpi); -- i += 2; -- } -+static void -+doRaster(FILE * const ifP, -+ unsigned int const cols, -+ unsigned int const rows, -+ int const format, -+ FILE * const ofP) { - -- if (i < argc - 1) -- pm_usage(usage); -+ bit * bitrow; -+ unsigned int row; -+ unsigned int vertexCt; -+ /* Number of vertices drawn since last stroke command */ - -- if (i == argc) { -- name = "noname"; -- fp = stdin; -- } else { -- name = argv[i]; -- fp = pm_openr(name); -- } -- pbm_readpbminit(fp, &cols, &rows, &format); -- bits = pbm_allocrow(cols); -+ bitrow = pbm_allocrow(cols); -+ -+ for (row = 0, vertexCt = 0; row < rows; ++row) { -+ unsigned int col; -+ bool firstRun; - -- sc_rows = (float)rows / dpi * 72.0; -- sc_cols = (float)cols / dpi * 72.0; -+ firstRun = true; /* initial value */ -+ -+ pbm_readpbmrow(ifP, bitrow, cols, format); -+ -+ /* output white-strip + black-strip sequences */ - -- puts("%!PS-Adobe-2.0 EPSF-2.0"); -- puts("%%Creator: pbmtolps"); -- printf("%%%%Title: %s\n", name); -- printf("%%%%BoundingBox: %d %d %d %d\n", -- (int)(305.5 - sc_cols / 2.0), -- (int)(395.5 - sc_rows / 2.0), -- (int)(306.5 + sc_cols / 2.0), -- (int)(396.5 + sc_rows / 2.0)); -- puts("%%EndComments"); -- puts("%%EndProlog"); -- puts("gsave"); -- -- printf("%f %f translate\n", 306.0 - sc_cols / 2.0, 396.0 + sc_rows / 2.0); -- printf("72 %f div dup neg scale\n", dpi); -- puts("/a { 0 rmoveto 0 rlineto } def"); -- puts("/b { 0 row 1 add dup /row exch def moveto } def"); -- puts("/c { a b } def"); -- puts("/m { currentpoint stroke newpath moveto a } def"); -- puts("/n { currentpoint stroke newpath moveto b } def"); -- puts("/o { currentpoint stroke newpath moveto c } def"); -- puts("/row 0 def"); -- puts("newpath 0 0 moveto"); -- -- for (row = 0; row < rows; row++) { -- pbm_readpbmrow(fp, bits, cols, format); -- /* output white-strip+black-strip sequences */ - for (col = 0; col < cols; ) { -- for (white = 0; col < cols && bits[col] == PBM_WHITE; col++) -- white++; -- for (black = 0; col < cols && bits[col] == PBM_BLACK; col++) -- black++; -+ unsigned int whiteCt; -+ unsigned int blackCt; -+ -+ for (whiteCt = 0; col < cols && bitrow[col] == PBM_WHITE; ++col) -+ ++whiteCt; -+ for (blackCt = 0; col < cols && bitrow[col] == PBM_BLACK; ++col) -+ ++blackCt; -+ -+ if (blackCt > 0) { -+ if (vertexCt > MAX_PATH_VERTICES) { -+ printf("m "); -+ vertexCt = 0; -+ } -+ -+ if (firstRun) { -+ printf("%u %u moveto %u 0 rlineto\n", -+ whiteCt, row, blackCt); -+ firstRun = false; -+ } else -+ printf("%u %u a\n", blackCt, whiteCt); - -- if (black != 0) -- addstrip(white, black); -+ vertexCt += 2; -+ } - } -- nextline(); - } -- puts("stroke grestore showpage"); -- puts("%%Trailer"); -+ pbm_freerow(bitrow); -+} -+ -+ -+ -+static void -+pbmtolps(FILE * const ifP, -+ FILE * const ofP, -+ struct CmdlineInfo const cmdline) { -+ -+ const char * const psName = -+ cmdline.inputFileSpec ? cmdline.inputFileName : "noname"; -+ -+ int rows; -+ int cols; -+ int format; -+ float scRows, scCols; -+ /* Dimensions of the printed image in points */ -+ -+ pbm_readpbminit(ifP, &cols, &rows, &format); -+ -+ scRows = (float) rows / (cmdline.dpi / 72.0); -+ scCols = (float) cols / (cmdline.dpi / 72.0); -+ -+ if (cmdline.lineWidthSpec) -+ validateLineWidth(scCols, scRows, cmdline.lineWidth); -+ -+ fputs("%!PS-Adobe-2.0 EPSF-2.0\n", ofP); -+ fputs("%%Creator: pbmtolps\n", ofP); -+ fprintf(ofP, "%%%%Title: %s\n", psName); -+ fprintf(ofP, "%%%%BoundingBox: %d %d %d %d\n", -+ (int)(305.5 - scCols / 2.0), -+ (int)(395.5 - scRows / 2.0), -+ (int)(306.5 + scCols / 2.0), -+ (int)(396.5 + scRows / 2.0)); -+ fputs("%%EndComments\n", ofP); -+ fputs("%%EndProlog\n", ofP); -+ fputs("gsave\n", ofP); -+ -+ fprintf(ofP, "%f %f translate\n", -+ 306.0 - scCols / 2.0, 396.0 + scRows / 2.0); -+ fprintf(ofP, "72 %f div dup neg scale\n", cmdline.dpi); -+ -+ if (cmdline.lineWidthSpec) -+ fprintf(ofP, "%f setlinewidth\n", cmdline.lineWidth); -+ -+ fputs("/a { 0 rmoveto 0 rlineto } def\n", ofP); -+ fputs("/m { currentpoint stroke newpath moveto } def\n", ofP); -+ fputs("newpath 0 0 moveto\n", ofP); -+ -+ doRaster(ifP, cols, rows, format, ofP); -+ -+ fputs("stroke grestore showpage\n", ofP); -+ fputs("%%Trailer\n", ofP); -+} -+ -+ -+ -+int -+main(int argc, const char *argv[]) { -+ FILE * ifP; -+ struct CmdlineInfo cmdline; -+ -+ pm_proginit(&argc, argv); -+ -+ parseCommandLine(argc, argv, &cmdline); -+ -+ ifP = pm_openr(cmdline.inputFileName); -+ -+ pbmtolps(ifP, stdout, cmdline); - -- pm_close(fp); -+ pm_close(ifP); - -- exit(0); -+ return 0; - } ---- a/test/lps-roundtrip.ok -+++ b/test/lps-roundtrip.ok -@@ -0,0 +1 @@ -+match ---- a/test/lps-roundtrip.test -+++ b/test/lps-roundtrip.test -@@ -0,0 +1,22 @@ -+#! /bin/bash -+# This script tests: pbmtolps pstopnm -+# Also requires: gs pamdepth pamscale pnmcrop pnmpsnr -+ -+# The ordinary round-trip does not work because of the way ghostscript -+# renders: a line is considered wider than a single pixel and all pixels -+# it touches are set to black if the output is PBM. To work around this, -+# we tell pstopnm to output PGM at a high resolution (=large dpi value). -+ -+ -+test_pgm=${tmpdir}/testgrid.pgm -+ -+pamdepth 255 testgrid.pbm > ${test_pgm} -+ -+pbmtolps -dpi 72 testgrid.pbm | \ -+ pstopnm -dpi $((72*12)) -stdout -pgm | \ -+ pnmcrop -white | pamscale -xsize=14 -ysize=16 | \ -+ pnmpsnr -target=30 - ${test_pgm} -+ -+# ghostscript version 8.71: pnmpsnr lumina 33.14dB -+ -+rm ${test_pgm} ---- a/test/ps-alt-roundtrip.ok -+++ b/test/ps-alt-roundtrip.ok -@@ -1,3 +1,2 @@ - 2425386270 41 --2425386270 41 - 2916080186 235 ---- a/test/ps-alt-roundtrip.test -+++ b/test/ps-alt-roundtrip.test -@@ -1,21 +1,24 @@ - #! /bin/bash --# This script tests: pbmtoepsi pbmtopsg3 pbmtolps psidtopgm pstopnm -+# This script tests: pbmtoepsi pbmtopsg3 psidtopgm pstopnm - # Also requires: gs pnmcrop - - - # This script is for testing alternative (or minor) utilities that - # read/write Postscript and encapsulated Postscript: --# pbmtoepsi, pbmtopsg3, pbmtolps and psidtopgm. -+# pbmtoepsi, pbmtopsg3 and psidtopgm. - # - # We keep these tests separate from those for pnmtops and pstopnm - # which are far more popular. - # --# pbmtopsg3 and pbmtolps produce output that require pstopnm for decoding. -+# pbmtopsg3 produces output that requires pstopnm for decoding. -+# -+# We used to test pbmtolps here, but moved it out when gs changed its -+# rendering formula. - # - # Failure message - ## If ps-roundtrip.test succeeds and this test fails, it is most likely - ## a problem with one of the alternate Postscipt utilities: --## pbmtoepsi, pbmtopsg3, pbmtolps or psidtopgm. -+## pbmtoepsi, pbmtopsg3, or psidtopgm. - ## If both tests fail it indicates a problem with pstopnm or gs. - - # pstopnm does not use libnetpbm functions for output. -@@ -33,18 +36,8 @@ - rm ${testgrid1_ps} - - --# Test 2. Should print: 2425386270 41 --testgrid2_ps=${tmpdir}/testgrid2.ps -- --pbmtolps -dpi 72 testgrid.pbm \ -- > ${testgrid2_ps} && \ --pstopnm -xborder=0 -yborder=0 -dpi=72 -stdout \ -- -quiet ${testgrid2_ps} -pbm | \ -- pnmcrop | cksum -- --rm ${testgrid2_ps} - --# Test 3. Should print: 2916080186 235 -+# Test 2. Should print: 2916080186 235 - # Output is pgm maxval=1 with black and white inverted. - # - testgrid_epsi=${tmpdir}/testgrid.epsi ---- a/test/Test-Order -+++ b/test/Test-Order -@@ -183,5 +183,6 @@ - - fiasco-roundtrip.test - jpeg-roundtrip.test -+lps-roundtrip.test - tiffcmyk-roundtrip.test - yuv-roundtrip.test diff --git a/media-libs/netpbm/netpbm-10.86.36.ebuild b/media-libs/netpbm/netpbm-10.86.36.ebuild deleted file mode 100644 index 1cf3b450fbef..000000000000 --- a/media-libs/netpbm/netpbm-10.86.36.ebuild +++ /dev/null @@ -1,243 +0,0 @@ -# Copyright 1999-2023 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 10.86.xx) on SLOT "0/stable" -# and the advanced branch of their svn (currently versions 11.aa.bb) 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 - -# libnetpbm.so is not 100% ABI compatible between stable and advanced, so -# packages that depend on it should use "media-libs/netpbm:=" - -DESCRIPTION="A set of utilities for converting to/from the netpbm (and related) formats" -HOMEPAGE="https://netpbm.sourceforge.net/" -SRC_URI="https://dev.gentoo.org/~ceamac/${CATEGORY}/${PN}/${P}.tar.xz" - -LICENSE="Artistic BSD GPL-2 IJG LGPL-2.1 MIT public-domain" -SLOT="0/stable" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux" -IUSE="jbig jpeg png postscript rle cpu_flags_x86_sse2 static-libs svga tiff X xml" - -# app-text/ghostscript-gpl is really needed for postscript -# some utilities execute /usr/bin/gs -# also 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= - sys-libs/zlib - ) - postscript? ( - app-text/ghostscript-gpl - sys-libs/zlib - ) - rle? ( media-libs/urt:= ) - svga? ( media-libs/svgalib ) - 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 - sys-devel/flex - virtual/pkgconfig -" - -PATCHES=( - "${FILESDIR}"/netpbm-10.86.21-build.patch - "${FILESDIR}"/netpbm-10.86.21-test.patch #450530 - "${FILESDIR}"/netpbm-10.86.21-misc-deps.patch - "${FILESDIR}"/netpbm-10.86.22-fix-ps-test.patch #670362 -) - -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 -i '/SUPPORT_SUBDIRS/s:urt::' 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 -i \ - -e '/^importinc:/s|^|importinc:\nmanual_|' \ - -e '/-Iimportinc/s|-Iimp|-I"$(BUILDDIR)"/imp|g'\ - common.mk || die - sed -i \ - -e '/%.c/s: importinc$::' \ - common.mk lib/Makefile lib/util/Makefile || die - sed -i \ - -e 's:pkg-config:$(PKG_CONFIG):' \ - GNUmakefile converter/other/Makefile other/pamx/Makefile || die - - # The postscript knob is currently bound up with a fork test. - if ! use postscript ; then - sed -i \ - -e 's:$(DONT_HAVE_PROCESS_MGMT):Y:' \ - converter/other/Makefile generator/Makefile || die - sed -i -r \ - -e 's:(pbmtextps|pnmtops|pstopnm).*::' \ - test/all-in-place.{ok,test} || die - sed -i -e 's:lps-roundtrip.*::' test/Test-Order || die - sed -i -e '/^$/d' test/all-in-place.ok || die - sed -i '2iexit 80' test/ps-{alt-,flate-,}roundtrip.test || die - fi - - # the new postscript test needs +x - chmod +x test/lps-roundtrip.test - - # Do not test png if not built - if ! use png ; then - sed -i -r \ - -e 's:(pamtopng|pngtopam|pnmtopng).*::' \ - test/all-in-place.{ok,test} || die - sed -i -e '/^$/d' test/all-in-place.ok || die - - sed -i -r \ - -e 's:(pamrgbatopng|pngtopnm).*::' \ - test/legacy-names.{ok,test} || die - sed -i -e '/^$/d' test/legacy-names.ok || die - sed -i -e 's:png-roundtrip.*::' test/Test-Order || die - fi - - # this test requires LC_ALL=en_US.iso88591, not available on musl - if use elibc_musl; then - sed -i -e 's:pbmtext-iso88591.*::' 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 = $(netpbm_config_lib svga vga) - 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 Netpbm.programming USERDOC - docinto html - dodoc -r *.html - dodoc -r ../userguide/*.html -} diff --git a/media-libs/netpbm/netpbm-11.3.0.ebuild b/media-libs/netpbm/netpbm-11.3.1.ebuild index 886d2f5cab79..886d2f5cab79 100644 --- a/media-libs/netpbm/netpbm-11.3.0.ebuild +++ b/media-libs/netpbm/netpbm-11.3.1.ebuild |