From 399fa07bfac673a8846466b16c76549e329b55b8 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 20 May 2023 10:17:50 +0100 Subject: gentoo auto-resync : 20:05:2023 - 10:17:50 --- media-gfx/Manifest.gz | Bin 37981 -> 37975 bytes media-gfx/gimp/Manifest | 4 +- media-gfx/gimp/gimp-2.99.14-r2.ebuild | 250 --------------------------------- media-gfx/gimp/gimp-2.99.14-r3.ebuild | 254 ++++++++++++++++++++++++++++++++++ media-gfx/gimp/gimp-9999.ebuild | 9 +- media-gfx/hydrus/Manifest | 12 +- media-gfx/hydrus/files/hydrus-client | 2 +- media-gfx/hydrus/files/hydrus-server | 2 +- media-gfx/hydrus/hydrus-519.ebuild | 147 -------------------- media-gfx/hydrus/hydrus-522.ebuild | 147 -------------------- media-gfx/hydrus/hydrus-526.ebuild | 147 ++++++++++++++++++++ media-gfx/hydrus/hydrus-528.ebuild | 150 ++++++++++++++++++++ 12 files changed, 567 insertions(+), 557 deletions(-) delete mode 100644 media-gfx/gimp/gimp-2.99.14-r2.ebuild create mode 100644 media-gfx/gimp/gimp-2.99.14-r3.ebuild delete mode 100644 media-gfx/hydrus/hydrus-519.ebuild delete mode 100644 media-gfx/hydrus/hydrus-522.ebuild create mode 100644 media-gfx/hydrus/hydrus-526.ebuild create mode 100644 media-gfx/hydrus/hydrus-528.ebuild (limited to 'media-gfx') diff --git a/media-gfx/Manifest.gz b/media-gfx/Manifest.gz index f5ab3dc30d43..9dbba50128ac 100644 Binary files a/media-gfx/Manifest.gz and b/media-gfx/Manifest.gz differ diff --git a/media-gfx/gimp/Manifest b/media-gfx/gimp/Manifest index 252996dbcb85..fe7f05becb01 100644 --- a/media-gfx/gimp/Manifest +++ b/media-gfx/gimp/Manifest @@ -8,6 +8,6 @@ DIST gimp-2.99.14.tar.xz 24346236 BLAKE2B 087e28621c736a6ad8241c0f36334c6c5af53c EBUILD gimp-2.10.32-r4.ebuild 5792 BLAKE2B d540c13b099e3d07089ae3ec68dba083bdcf5d27f860eba9ab5117dfb72b3a0715d1530eab54e06a2a4a93af78ae1b878ea37c3d187ee090bc208b88160e44d4 SHA512 7cbc3ae79e6add3294644c71b94528f1865bc22d951463f70fe05fae3ab7273891f3c1e82fe803c05e382dd7ce56c59f503df45cffdc5a9b151820a35d8fd818 EBUILD gimp-2.10.34-r1.ebuild 5691 BLAKE2B b5f65b44c7b62c855685c89b877633b779895ca84a916297fc5c973f70b2780b12fb09e6803065ba99133e2e2847232d38242dd64aa7b17330d646fd27e4767b SHA512 f82900051f8f8b172ec2b158c4f2e651a860ca98584f799479e82d219121db4a6d3527f0f25179734694052bea0fc5b5035e5a75780924d46fa86a2d4f2104a8 EBUILD gimp-2.10.34-r2.ebuild 5860 BLAKE2B 3a4c858f8badd5eeb3e59695a886ceedc2fdba32303bdffbe4ebf0542497164c48512bb364cce99bdfb1c44241b4de8ecda709c561eb2ce0334ad871e3b39e4c SHA512 5e764b6314c395bc2b1b7f1fa8813a246a808775353627c3b7a2f43acb23155a5e7031291320ccc4752ed1fd183d53f7ba0e91ea89edda5a2fd7c3061b03e278 -EBUILD gimp-2.99.14-r2.ebuild 6890 BLAKE2B 5ec29388074da8724f31a5ec375451e90ab75dff100efdf1245bb336b68239231c0d1f6d24121ceb718a00053ea511a00daf5d30e313c94ca39e4625174316f7 SHA512 35d279deac4f5892fc2015e63022b1524fa663c317f0a69bf1bad8af7cfc6c740d75944bea1c52e676ac2958bef117535dc654eef45619cd1acfd1bed14b85ed -EBUILD gimp-9999.ebuild 6709 BLAKE2B 1b420d17aef83cf1b58ef9b96da47dff88a484d1ed42704fa1a5bba44d503b89e795d729e4a556b4e514ad2da207e464bccf333ea09e5eae15af5fc585226b36 SHA512 4ca7db1be7112bfe7d273d94e6b0836626d157a9510abff71dbed3d30781e23188657189588856bd2d8ef68b46af4ee67a36cb0d8b43153e39df4c8a7e8f7b36 +EBUILD gimp-2.99.14-r3.ebuild 6903 BLAKE2B 65927150020c6e864f056dc840007672f0683966411aa2e339c1554b9800a823918d976f1fc0635cbfac2935fb18412721aa7c0e57922a6f72fbf503ebd01803 SHA512 f91bbdcf2b140651edfe7212a56bc6bd10ada839eb29d7261a22c1400cdeefc6413c48a4965b82624618d26ff9decccdcd871626ae4a3a3ae851b8421cf69165 +EBUILD gimp-9999.ebuild 6836 BLAKE2B bfd204c31255d9a6a385ac15286bcc3dd7be951d7a1806815073d971b968e9773f2c97e051f0dac9646b867c473350d3dc0a832f9a2f331a8344451889d3995a SHA512 9dbdb4da8efd64da96a6e91459e74dccb557a15ff8161252357d66e71eca47f8a1fb10e705b610f66c9ee7fc00bb1317d6eb0ec8582d5c625709b607a02518b7 MISC metadata.xml 648 BLAKE2B 3454806e0bb680d45e98fd571cc5ad2e09d1083a84b44efb49ea527432be8a255ae02c1c53ff6bf47ce9e9e1a471d422212fd4c08d4983476c2585fa9b96e541 SHA512 dc39d7aa41dc6ae6ab850eec0ce9e10b0085aa8f4b4d762305f7ab70b7a1f7bbe454c21f3d87e796c29c41a4b99f7b3ca38a54261188e7b8acbf8bd3d79dfcd0 diff --git a/media-gfx/gimp/gimp-2.99.14-r2.ebuild b/media-gfx/gimp/gimp-2.99.14-r2.ebuild deleted file mode 100644 index ef598098c880..000000000000 --- a/media-gfx/gimp/gimp-2.99.14-r2.ebuild +++ /dev/null @@ -1,250 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -LUA_COMPAT=( luajit ) -PYTHON_COMPAT=( python3_{9..11} ) -VALA_USE_DEPEND=vapigen - -inherit lua-single meson python-single-r1 vala xdg - -DESCRIPTION="GNU Image Manipulation Program" -HOMEPAGE="https://www.gimp.org/" -SRC_URI="mirror://gimp/v$(ver_cut 1-2)/${P}.tar.xz" - -LICENSE="GPL-3+ LGPL-3+" -SLOT="0/3" - -IUSE="X aalib alsa doc gnome heif javascript jpeg2k jpegxl lua mng openexr postscript python test udev unwind vala vector-icons webp wmf xpm" -REQUIRED_USE=" - lua? ( ${LUA_REQUIRED_USE} ) - python? ( ${PYTHON_REQUIRED_USE} ) -" - -RESTRICT="!test? ( test )" - -# media-libs/{babl,gegl} are required to be built with USE="introspection" -# to fix the compilation checking of /usr/share/gir-1.0/{Babl-0.1gir,Gegl-0.4.gir} -COMMON_DEPEND=" - >=app-accessibility/at-spi2-core-2.46.0 - >=app-text/poppler-0.90.1[cairo] - >=app-text/poppler-data-0.4.9 - >=dev-libs/appstream-glib-0.7.16 - >=dev-libs/glib-2.68.0:2 - >=dev-libs/json-glib-1.4.4 - dev-libs/libxml2:2 - dev-libs/libxslt - >=gnome-base/librsvg-2.40.21:2 - >=media-gfx/mypaint-brushes-2.0.2:= - >=media-libs/babl-0.1.98[introspection,lcms,vala?] - >=media-libs/fontconfig-2.12.6 - >=media-libs/freetype-2.10.2 - >=media-libs/gegl-0.4.40:0.4[cairo,introspection,lcms,vala?] - >=media-libs/gexiv2-0.14.0 - >=media-libs/harfbuzz-2.6.5:= - >=media-libs/lcms-2.13.1:2 - media-libs/libjpeg-turbo:= - >=media-libs/libmypaint-1.6.1:= - >=media-libs/libpng-1.6.37:0= - >=media-libs/tiff-4.1.0:= - net-libs/glib-networking[ssl] - sys-libs/zlib - >=x11-libs/cairo-1.16.0 - >=x11-libs/gdk-pixbuf-2.40.0:2[introspection] - >=x11-libs/gtk+-3.24.16:3[introspection] - >=x11-libs/pango-1.44.7 - >=x11-libs/libXmu-1.1.4 - aalib? ( media-libs/aalib ) - alsa? ( >=media-libs/alsa-lib-1.0.0 ) - heif? ( >=media-libs/libheif-1.13.0:= ) - javascript? ( dev-libs/gjs ) - jpeg2k? ( >=media-libs/openjpeg-2.3.1:2= ) - jpegxl? ( >=media-libs/libjxl-0.6.1:= ) - lua? ( - ${LUA_DEPS} - $(lua_gen_cond_dep ' - dev-lua/lgi[${LUA_USEDEP}] - ') - ) - mng? ( media-libs/libmng:= ) - openexr? ( >=media-libs/openexr-2.3.0:= ) - postscript? ( app-text/ghostscript-gpl:= ) - python? ( - ${PYTHON_DEPS} - $(python_gen_cond_dep ' - >=dev-python/pygobject-3.0:3[${PYTHON_USEDEP}] - ') - ) - udev? ( >=dev-libs/libgudev-167:= ) - unwind? ( >=sys-libs/libunwind-1.1.0:= ) - webp? ( >=media-libs/libwebp-0.6.0:= ) - wmf? ( >=media-libs/libwmf-0.2.8 ) - X? ( x11-libs/libXcursor ) - xpm? ( x11-libs/libXpm ) -" - -RDEPEND=" - ${COMMON_DEPEND} - x11-themes/hicolor-icon-theme - gnome? ( gnome-base/gvfs ) -" - -DEPEND=" - ${COMMON_DEPEND} - test? ( x11-misc/xvfb-run ) - vala? ( $(vala_depend) ) -" - -# TODO: there are probably more atoms in DEPEND which should be in BDEPEND now -BDEPEND=" - >=dev-lang/perl-5.30.3 - dev-util/gdbus-codegen - >=sys-devel/gettext-0.21 - doc? ( - app-text/yelp-tools - dev-libs/gobject-introspection[doctool] - dev-util/gi-docgen - ) - virtual/pkgconfig -" - -DOCS=( "AUTHORS" "devel-docs/HACKING.md" "NEWS" "README" "README.i18n" ) - -pkg_setup() { - use lua && lua-single_pkg_setup - - if use python; then - python-single-r1_pkg_setup - fi -} - -src_prepare() { - default - - sed -i -e 's/mypaint-brushes-1.0/mypaint-brushes-2.0/' meson.build || die #737794 - - # Fix Gimp and GimpUI devel doc installation paths - sed -i -e "s/'doc'/'gtk-doc'/" devel-docs/reference/gimp/meson.build || die - sed -i -e "s/'doc'/'gtk-doc'/" devel-docs/reference/gimp-ui/meson.build || die - - # Fix pygimp.interp python implementation path. - # Meson @PYTHON_PATH@ use sandbox path e.g.: - # '/var/tmp/portage/media-gfx/gimp-2.99.12/temp/python3.10/bin/python3' - sed -i -e 's/@PYTHON_PATH@/'${EPYTHON}'/' plug-ins/python/pygimp.interp.in || die - - # Set proper intallation path of documentation logo - sed -i -e "s/'gimp-@0@'.format(gimp_app_version)/'gimp-@0@.@1@'.format(gimp_app_version, gimp_app_version_micro)/" data/images/meson.build || die -} - -_adjust_sandbox() { - # Bugs #569738 and #591214 - local nv - for nv in /dev/nvidia-uvm /dev/nvidiactl /dev/nvidia{0..9} ; do - # We do not check for existence as they may show up later - # https://bugs.gentoo.org/show_bug.cgi?id=569738#c21 - addwrite "${nv}" - done - - addwrite /dev/dri/ # bugs #574038 and #684886 - addwrite /dev/ati/ # bug #589198 - addwrite /proc/mtrr # bug #589198 -} - -src_configure() { - _adjust_sandbox - - use vala && vala_setup - - local emesonargs=( - -Denable-default-bin=true - - -Dcheck-update=no - -Denable-multiproc=true - -Dappdata-test=disabled - -Dbug-report-url=https://bugs.gentoo.org/ - -Dlibbacktrace=false - -Dwebkit-unmaintained=false - $(meson_feature aalib aa) - $(meson_feature alsa) - $(meson_feature doc gi-docgen) - $(meson_feature heif) - $(meson_feature jpeg2k jpeg2000) - $(meson_feature jpegxl jpeg-xl) - $(meson_feature mng) - $(meson_feature openexr) - $(meson_feature postscript ghostscript) - $(meson_feature test headless-tests) - $(meson_feature udev gudev) - $(meson_feature vala vala-plugins) - $(meson_feature webp) - $(meson_feature wmf) - $(meson_feature X xcursor) - $(meson_feature xpm) - $(meson_use doc g-ir-doc) - $(meson_use javascript) - $(meson_use lua) - $(meson_use python) - $(meson_use unwind libunwind) - $(meson_use vector-icons) - ) - - meson_src_configure -} - -src_compile() { - export XDG_DATA_DIRS="${EPREFIX}"/usr/share # bug 587004 - meson_src_compile -} - -# for https://bugs.gentoo.org/664938 -_rename_plugins() { - einfo 'Renaming plug-ins to not collide with pre-2.10.6 file layout (bug #664938)...' - local prename=gimp-org- - ( - cd "${ED}"/usr/$(get_libdir)/gimp/2.99/plug-ins || exit 1 - for plugin_slash in $(ls -d1 */); do - plugin=${plugin_slash%/} - if [[ -f ${plugin}/${plugin} ]]; then - # NOTE: Folder and file name need to match for Gimp to load that plug-in - # so "file-svg/file-svg" becomes "${prename}file-svg/${prename}file-svg" - mv ${plugin}/{,${prename}}${plugin} || exit 1 - mv {,${prename}}${plugin} || exit 1 - fi - done - ) -} - -src_install() { - meson_src_install - - if use python; then - python_optimize - fi - - # Workaround for bug #321111 to give GIMP the least - # precedence on PDF documents by default - mv "${ED}"/usr/share/applications/{,zzz-}gimp.desktop || die - - find "${D}" -name '*.la' -type f -delete || die - - # Prevent dead symlink gimp-console.1 from downstream man page compression (bug #433527) - mv "${ED}"/usr/share/man/man1/gimp-console{-*,}.1 || die - - # Create symlinks for Gimp exec in /usr/bin - dosym "${ESYSROOT}"/usr/bin/gimp-2.99 /usr/bin/gimp - dosym "${ESYSROOT}"/usr/bin/gimp-console-2.99 /usr/bin/gimp-console - dosym "${ESYSROOT}"/usr/bin/gimp-script-fu-interpreter-3.0 /usr/bin/gimp-script-fu-interpreter - dosym "${ESYSROOT}"/usr/bin/gimp-test-clipboard-2.99 /usr/bin/gimp-test-clipboard - dosym "${ESYSROOT}"/usr/bin/gimptool-2.99 /usr/bin/gimptool - - _rename_plugins || die -} - -pkg_postinst() { - xdg_desktop_database_update -} - -pkg_postrm() { - xdg_desktop_database_update -} diff --git a/media-gfx/gimp/gimp-2.99.14-r3.ebuild b/media-gfx/gimp/gimp-2.99.14-r3.ebuild new file mode 100644 index 000000000000..3b7e1d2a2b7e --- /dev/null +++ b/media-gfx/gimp/gimp-2.99.14-r3.ebuild @@ -0,0 +1,254 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LUA_COMPAT=( luajit ) +PYTHON_COMPAT=( python3_{9..11} ) +VALA_USE_DEPEND=vapigen + +inherit lua-single meson python-single-r1 vala xdg + +DESCRIPTION="GNU Image Manipulation Program" +HOMEPAGE="https://www.gimp.org/" +SRC_URI="mirror://gimp/v$(ver_cut 1-2)/${P}.tar.xz" + +LICENSE="GPL-3+ LGPL-3+" +SLOT="0/3" + +IUSE="X aalib alsa doc gnome heif javascript jpeg2k jpegxl lua mng openexr postscript python test udev unwind vala vector-icons webp wmf xpm" +REQUIRED_USE=" + lua? ( ${LUA_REQUIRED_USE} ) + python? ( ${PYTHON_REQUIRED_USE} ) +" + +RESTRICT="!test? ( test )" + +# media-libs/{babl,gegl} are required to be built with USE="introspection" +# to fix the compilation checking of /usr/share/gir-1.0/{Babl-0.1gir,Gegl-0.4.gir} +COMMON_DEPEND=" + >=app-accessibility/at-spi2-core-2.46.0 + >=app-text/poppler-0.90.1[cairo] + >=app-text/poppler-data-0.4.9 + >=dev-libs/appstream-glib-0.7.16 + >=dev-libs/glib-2.68.0:2 + >=dev-libs/json-glib-1.4.4 + dev-libs/libxml2:2 + dev-libs/libxslt + >=gnome-base/librsvg-2.40.21:2 + >=media-gfx/mypaint-brushes-2.0.2:= + >=media-libs/babl-0.1.98[introspection,lcms,vala?] + >=media-libs/fontconfig-2.12.6 + >=media-libs/freetype-2.10.2 + >=media-libs/gegl-0.4.40:0.4[cairo,introspection,lcms,vala?] + >=media-libs/gexiv2-0.14.0 + >=media-libs/harfbuzz-2.6.5:= + >=media-libs/lcms-2.13.1:2 + media-libs/libjpeg-turbo:= + >=media-libs/libmypaint-1.6.1:= + >=media-libs/libpng-1.6.37:0= + >=media-libs/tiff-4.1.0:= + net-libs/glib-networking[ssl] + sys-libs/zlib + >=x11-libs/cairo-1.16.0 + >=x11-libs/gdk-pixbuf-2.40.0:2[introspection] + >=x11-libs/gtk+-3.24.16:3[introspection] + >=x11-libs/pango-1.44.7 + >=x11-libs/libXmu-1.1.4 + aalib? ( media-libs/aalib ) + alsa? ( >=media-libs/alsa-lib-1.0.0 ) + heif? ( >=media-libs/libheif-1.13.0:= ) + javascript? ( dev-libs/gjs ) + jpeg2k? ( >=media-libs/openjpeg-2.3.1:2= ) + jpegxl? ( >=media-libs/libjxl-0.6.1:= ) + lua? ( + ${LUA_DEPS} + $(lua_gen_cond_dep ' + dev-lua/lgi[${LUA_USEDEP}] + ') + ) + mng? ( media-libs/libmng:= ) + openexr? ( >=media-libs/openexr-2.3.0:= ) + postscript? ( app-text/ghostscript-gpl:= ) + python? ( + ${PYTHON_DEPS} + $(python_gen_cond_dep ' + >=dev-python/pygobject-3.0:3[${PYTHON_USEDEP}] + ') + ) + udev? ( >=dev-libs/libgudev-167:= ) + unwind? ( >=sys-libs/libunwind-1.1.0:= ) + webp? ( >=media-libs/libwebp-0.6.0:= ) + wmf? ( >=media-libs/libwmf-0.2.8 ) + X? ( x11-libs/libXcursor ) + xpm? ( x11-libs/libXpm ) +" + +RDEPEND=" + ${COMMON_DEPEND} + x11-themes/hicolor-icon-theme + gnome? ( gnome-base/gvfs ) +" + +DEPEND=" + ${COMMON_DEPEND} + test? ( x11-misc/xvfb-run ) + vala? ( $(vala_depend) ) +" + +# TODO: there are probably more atoms in DEPEND which should be in BDEPEND now +BDEPEND=" + >=dev-lang/perl-5.30.3 + dev-util/gdbus-codegen + >=sys-devel/gettext-0.21 + doc? ( + app-text/yelp-tools + dev-libs/gobject-introspection[doctool] + dev-util/gi-docgen + ) + virtual/pkgconfig +" + +DOCS=( "AUTHORS" "devel-docs/HACKING.md" "NEWS" "README" "README.i18n" ) + +PATCHES=( + "${FILESDIR}/${PN}-2.10_fix_musl_backtrace_backend_switch.patch" #900148 +) + +pkg_setup() { + use lua && lua-single_pkg_setup + + if use python; then + python-single-r1_pkg_setup + fi +} + +src_prepare() { + default + + sed -i -e 's/mypaint-brushes-1.0/mypaint-brushes-2.0/' meson.build || die #737794 + + # Fix Gimp and GimpUI devel doc installation paths + sed -i -e "s/'doc'/'gtk-doc'/" devel-docs/reference/gimp/meson.build || die + sed -i -e "s/'doc'/'gtk-doc'/" devel-docs/reference/gimp-ui/meson.build || die + + # Fix pygimp.interp python implementation path. + # Meson @PYTHON_PATH@ use sandbox path e.g.: + # '/var/tmp/portage/media-gfx/gimp-2.99.12/temp/python3.10/bin/python3' + sed -i -e 's/@PYTHON_PATH@/'${EPYTHON}'/' plug-ins/python/pygimp.interp.in || die + + # Set proper intallation path of documentation logo + sed -i -e "s/'gimp-@0@'.format(gimp_app_version)/'gimp-${PVR}'/" data/images/meson.build || die +} + +_adjust_sandbox() { + # Bugs #569738 and #591214 + local nv + for nv in /dev/nvidia-uvm /dev/nvidiactl /dev/nvidia{0..9} ; do + # We do not check for existence as they may show up later + # https://bugs.gentoo.org/show_bug.cgi?id=569738#c21 + addwrite "${nv}" + done + + addwrite /dev/dri/ # bugs #574038 and #684886 + addwrite /dev/ati/ # bug #589198 + addwrite /proc/mtrr # bug #589198 +} + +src_configure() { + _adjust_sandbox + + use vala && vala_setup + + local emesonargs=( + -Denable-default-bin=true + + -Dcheck-update=no + -Denable-multiproc=true + -Dappdata-test=disabled + -Dbug-report-url=https://bugs.gentoo.org/ + -Dlibbacktrace=false + -Dwebkit-unmaintained=false + $(meson_feature aalib aa) + $(meson_feature alsa) + $(meson_feature doc gi-docgen) + $(meson_feature heif) + $(meson_feature jpeg2k jpeg2000) + $(meson_feature jpegxl jpeg-xl) + $(meson_feature mng) + $(meson_feature openexr) + $(meson_feature postscript ghostscript) + $(meson_feature test headless-tests) + $(meson_feature udev gudev) + $(meson_feature vala vala-plugins) + $(meson_feature webp) + $(meson_feature wmf) + $(meson_feature X xcursor) + $(meson_feature xpm) + $(meson_use doc g-ir-doc) + $(meson_use javascript) + $(meson_use lua) + $(meson_use python) + $(meson_use unwind libunwind) + $(meson_use vector-icons) + ) + + meson_src_configure +} + +src_compile() { + export XDG_DATA_DIRS="${EPREFIX}"/usr/share # bug 587004 + meson_src_compile +} + +# for https://bugs.gentoo.org/664938 +_rename_plugins() { + einfo 'Renaming plug-ins to not collide with pre-2.10.6 file layout (bug #664938)...' + local prename=gimp-org- + ( + cd "${ED}"/usr/$(get_libdir)/gimp/2.99/plug-ins || exit 1 + for plugin_slash in $(ls -d1 */); do + plugin=${plugin_slash%/} + if [[ -f ${plugin}/${plugin} ]]; then + # NOTE: Folder and file name need to match for Gimp to load that plug-in + # so "file-svg/file-svg" becomes "${prename}file-svg/${prename}file-svg" + mv ${plugin}/{,${prename}}${plugin} || exit 1 + mv {,${prename}}${plugin} || exit 1 + fi + done + ) +} + +src_install() { + meson_src_install + + if use python; then + python_optimize + fi + + # Workaround for bug #321111 to give GIMP the least + # precedence on PDF documents by default + mv "${ED}"/usr/share/applications/{,zzz-}gimp.desktop || die + + find "${D}" -name '*.la' -type f -delete || die + + # Prevent dead symlink gimp-console.1 from downstream man page compression (bug #433527) + mv "${ED}"/usr/share/man/man1/gimp-console{-*,}.1 || die + + # Create symlinks for Gimp exec in /usr/bin + dosym "${ESYSROOT}"/usr/bin/gimp-2.99 /usr/bin/gimp + dosym "${ESYSROOT}"/usr/bin/gimp-console-2.99 /usr/bin/gimp-console + dosym "${ESYSROOT}"/usr/bin/gimp-script-fu-interpreter-3.0 /usr/bin/gimp-script-fu-interpreter + dosym "${ESYSROOT}"/usr/bin/gimp-test-clipboard-2.99 /usr/bin/gimp-test-clipboard + dosym "${ESYSROOT}"/usr/bin/gimptool-2.99 /usr/bin/gimptool + + _rename_plugins || die +} + +pkg_postinst() { + xdg_pkg_postinst +} + +pkg_postrm() { + xdg_pkg_postrm +} diff --git a/media-gfx/gimp/gimp-9999.ebuild b/media-gfx/gimp/gimp-9999.ebuild index 705248ae1799..6ebeb03acdcb 100644 --- a/media-gfx/gimp/gimp-9999.ebuild +++ b/media-gfx/gimp/gimp-9999.ebuild @@ -131,7 +131,10 @@ src_prepare() { # Fix pygimp.interp python implementation path. # Meson @PYTHON_PATH@ use sandbox path e.g.: # '/var/tmp/portage/media-gfx/gimp-2.99.12/temp/python3.10/bin/python3' - sed -i -e 's:@PYTHON_PATH@:'${EPYTHON}':' plug-ins/python/pygimp.interp.in || die + sed -i -e 's/@PYTHON_PATH@/'${EPYTHON}'/' plug-ins/python/pygimp.interp.in || die + + # Set proper intallation path of documentation logo + sed -i -e "s/'gimp-@0@'.format(gimp_app_version)/'gimp-${PVR}'/" data/images/meson.build || die } _adjust_sandbox() { @@ -239,9 +242,9 @@ src_install() { } pkg_postinst() { - xdg_desktop_database_update + xdg_pkg_postinst } pkg_postrm() { - xdg_desktop_database_update + xdg_pkg_postrm } diff --git a/media-gfx/hydrus/Manifest b/media-gfx/hydrus/Manifest index 39d8784e2bb5..a857776d7d53 100644 --- a/media-gfx/hydrus/Manifest +++ b/media-gfx/hydrus/Manifest @@ -1,9 +1,9 @@ -AUX hydrus-client 98 BLAKE2B c08af22c2ee9ea3d5c95ed3196ceb9b74b9c886bfa9b91141584f7ea884830fbdd300c948af199ac82a016e1a9dd7314e9c7fdfa8f47f07a9336eff9e2bd2ce1 SHA512 453ac6f9685325b6510c7f833b658491f01e92be213ae26da0d86490033951d3a825f9b15fd33d8a0727992cd83bf7ed491b88f0808674d6fdc23af90c7911a5 -AUX hydrus-server 62 BLAKE2B dac100012fb03c2a14438b67a1c68daa1673eb23dfe7725a941325eb67149064c1276f462732e62db294acce75d111f948599698615e9fa15be43fe74ce444cd SHA512 5b7f9ca4b364ff529e5f4feb6fb11c91aff9cf1ad3ae6c12ff301915fa1d7b9920d51028b820000635d071a049a4e98a0e4e815ffa6ca31d2e67bec5a78afdea +AUX hydrus-client 105 BLAKE2B cb1c55f0831eda122eebb9363eab50180b8746038405ba514a6821c8e4e892e59f18b9b29b5f3117d62d758ad6e5d06fdacde7fe0d8ad59a8e674134c945c77d SHA512 56dc21cd54d0fbf95d1a127ac387d29ae99583210c97a1e77233e1bfc08fb631caf1ac3be1034c43e0485e4238ecc96009533d4079560807ff1126d37b75fe6f +AUX hydrus-server 69 BLAKE2B 245851a0bfd7ed4e947d229cae980daaaf213e2ff4238b5bc6c75b12832f3fbf7c95d34d72f4fc7b6194ed06df8652e5042bc69ab40367d09c55796e9013392b SHA512 70fa7877b7d5efc7786926af6a02a468a0c8ebbb553a61bc7e049622ddf00b5ca67876af74e17d0d9408e5f950acf8aa0fc007baaf1a656d3fb5368fa15fcd22 AUX userpath-in-local-share.patch 443 BLAKE2B 2562bdb6207a35a872a7c1b22ee378504ec4f53ee7b64bdce31649d62780cae00b42be7297aa82e069a9df5e01f76c508d97c47a25a9dffec8cbf8829e7ff674 SHA512 f96cf0040a663c534bd539e40413c95928ea45238f765f741db3c251b7c141fe99989b092d4033695a99e7267fec7fac74641fdc4a0887e74d23d3695f8ce467 -DIST hydrus-519.tar.gz 41113296 BLAKE2B 7193fea1d0171af3799a33af68855bd67aa990802e110a3beec4f4f96597e78228e7ad169fce713bd91f862e48d973ca4acef88c204eb3c91f2cebf1d445cb16 SHA512 80abff327a8857d4fe311c4834016b46c45b6889e080675520998cfa196df2c97305368acada570c3a2ebd19caebb2e71c40f6ccd3d17912ad5f19cce09ceac7 -DIST hydrus-522.tar.gz 41149565 BLAKE2B 7306f1d275fb6cf4786f012eea8469c58eac8d9ee6392481cd92f791125dec5377f62dceb36005c24102771493e04b00f425579aad95cf5cfdb5310ff7de7c62 SHA512 adcf6c99d579e50248c81ca3016489c15aec8c3763f13634c50ed921b0fe7c974868b082bb2e5d26915ed877bc8df3b70af7e99549bdc177a3e9f46a50cce113 -EBUILD hydrus-519.ebuild 4504 BLAKE2B 1fb820de20593ae7e4447a5e83e3241a2da677474ca33d3a436176f1b7f06386f84f6ea8bfd0311e7780b05909564be2ca899d6a36c6ec86ce6d79ba11abe8fa SHA512 1db559209c9d79ece06b83a2b9a076ae899d765383edc1217ef362ec84d3ac2ede830a16028ceb3fa57c91f7d49248203c8257aac171d953bef334786985d29d -EBUILD hydrus-522.ebuild 4504 BLAKE2B 1fb820de20593ae7e4447a5e83e3241a2da677474ca33d3a436176f1b7f06386f84f6ea8bfd0311e7780b05909564be2ca899d6a36c6ec86ce6d79ba11abe8fa SHA512 1db559209c9d79ece06b83a2b9a076ae899d765383edc1217ef362ec84d3ac2ede830a16028ceb3fa57c91f7d49248203c8257aac171d953bef334786985d29d +DIST hydrus-526.tar.gz 41182831 BLAKE2B cf41641625d6c8d64aeea78f56f643a39a6bf8030c919e0a83e5b7183ee7f5a03edef5574f67fb023c79e9e4d757e79f536d91d57ca8a097cc7c380075036c0b SHA512 ed8fff59563bbe8f8c3b235a188575be9d56aa5cf7e70cf340215a7af910247ba711061020f257dbdf1032b5d0ebd5e8995411f60ffe6b6ba9061d189b6274cd +DIST hydrus-528.tar.gz 41492703 BLAKE2B 3e97e64a2bbdd513441c5ae34640779934057ec4bcea9ef806a3bbc053d5849af69eed79edca35b9b9f276bdc53c379c10a613b1efb7bb3e2e69dbcc4b210038 SHA512 b9c9069a92fd82c6c6137aeaf205c5cac2c34d31dce2174308c796e9289fc64b346eabb8ef55e2fef78ac0af73c1b8c14aa507f9d4508759e435ac7eb01400bb +EBUILD hydrus-526.ebuild 4504 BLAKE2B 1fb820de20593ae7e4447a5e83e3241a2da677474ca33d3a436176f1b7f06386f84f6ea8bfd0311e7780b05909564be2ca899d6a36c6ec86ce6d79ba11abe8fa SHA512 1db559209c9d79ece06b83a2b9a076ae899d765383edc1217ef362ec84d3ac2ede830a16028ceb3fa57c91f7d49248203c8257aac171d953bef334786985d29d +EBUILD hydrus-528.ebuild 4662 BLAKE2B 5603b936b8132ea8683c3f339bc23c5b9820c284fae99d87ee0aaa6470cd97b7db3441aba94fb9f5befd3d77024a7cf4f64dd35ee0c2d01d43000e7c3ace916f SHA512 15022d4415ab76ad9962122318d6c0331136e75c59202f19c0bda90b3a6b8063b31254567f57d6be7ebc9c4428f195f049874d11766a443487c6fc3b923e12fa EBUILD hydrus-9999.ebuild 4504 BLAKE2B 1fb820de20593ae7e4447a5e83e3241a2da677474ca33d3a436176f1b7f06386f84f6ea8bfd0311e7780b05909564be2ca899d6a36c6ec86ce6d79ba11abe8fa SHA512 1db559209c9d79ece06b83a2b9a076ae899d765383edc1217ef362ec84d3ac2ede830a16028ceb3fa57c91f7d49248203c8257aac171d953bef334786985d29d MISC metadata.xml 836 BLAKE2B 049faa70763ba176b6e4930abcdb5f4b4b87bd243759aba42dec32b9f2a199b3f2c33f0415ffdd1a392af3b461d939e633ec1f9333b0ff538f74d24306790fbe SHA512 0404c79e85e51eaba13fef930e695f168074e69734d3d8a604515f77196706bae9d36a2df9b3db0530c9f17b32881602509c7e22e7383c957a67e13c2a46e7bb diff --git a/media-gfx/hydrus/files/hydrus-client b/media-gfx/hydrus/files/hydrus-client index 7a6e42747c5c..7c52292930f8 100644 --- a/media-gfx/hydrus/files/hydrus-client +++ b/media-gfx/hydrus/files/hydrus-client @@ -1,3 +1,3 @@ #!/bin/sh export QT_API="${QT_API:-pyside2}" -exec /usr/bin/python -OO /opt/hydrus/client.pyw "$@" +exec /usr/bin/python -OO /opt/hydrus/hydrus_client.pyw "$@" diff --git a/media-gfx/hydrus/files/hydrus-server b/media-gfx/hydrus/files/hydrus-server index cecb9adc1a2d..4f560b84f2e9 100644 --- a/media-gfx/hydrus/files/hydrus-server +++ b/media-gfx/hydrus/files/hydrus-server @@ -1,2 +1,2 @@ #!/bin/sh -exec /usr/bin/python -OO /opt/hydrus/server.py "$@" +exec /usr/bin/python -OO /opt/hydrus/hydrus_server.py "$@" diff --git a/media-gfx/hydrus/hydrus-519.ebuild b/media-gfx/hydrus/hydrus-519.ebuild deleted file mode 100644 index 57ab39e51e10..000000000000 --- a/media-gfx/hydrus/hydrus-519.ebuild +++ /dev/null @@ -1,147 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{9..11} ) -PYTHON_REQ_USE="sqlite" - -DOCS_BUILDER=mkdocs -DOCS_DEPEND="dev-python/mkdocs-material dev-python/regex" - -inherit python-single-r1 desktop docs optfeature - -DESCRIPTION="A booru-like media organizer for the desktop" -HOMEPAGE="https://hydrusnetwork.github.io/hydrus/ https://github.com/hydrusnetwork/hydrus" - -if [[ "${PV}" == "9999" ]]; then - inherit git-r3 - - EGIT_REPO_URI="https://github.com/hydrusnetwork/hydrus.git" -else - SRC_URI="https://github.com/hydrusnetwork/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - - KEYWORDS="~amd64" -fi - -# hydrus itself is WTFPL -# icons included are CC-BY-2.5 -LICENSE="WTFPL-2 CC-BY-2.5" -SLOT="0" -IUSE="test" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" - -RESTRICT="!test? ( test )" - -# RDEPEND is sorted as such: -# - No specific requirements -# - Specific version or slot -RDEPEND=" - ${PYTHON_DEPS} - $(python_gen_cond_dep ' - dev-python/cbor2[${PYTHON_USEDEP}] - dev-python/chardet[${PYTHON_USEDEP}] - dev-python/cloudscraper[${PYTHON_USEDEP}] - dev-python/html5lib[${PYTHON_USEDEP}] - dev-python/lxml[${PYTHON_USEDEP}] - dev-python/numpy[${PYTHON_USEDEP}] - dev-python/pillow[${PYTHON_USEDEP},lcms] - dev-python/psutil[${PYTHON_USEDEP}] - dev-python/pyopenssl[${PYTHON_USEDEP}] - dev-python/pyside2[widgets,gui,${PYTHON_USEDEP}] - dev-python/python-mpv[${PYTHON_USEDEP}] - dev-python/pyyaml[${PYTHON_USEDEP}] - dev-python/requests[${PYTHON_USEDEP}] - dev-python/send2trash[${PYTHON_USEDEP}] - dev-python/service_identity[${PYTHON_USEDEP}] - dev-python/six[${PYTHON_USEDEP}] - dev-python/twisted[${PYTHON_USEDEP}] - media-libs/opencv[python,png,jpeg,${PYTHON_USEDEP}] - media-video/ffmpeg - - >=dev-python/QtPy-1.9.0-r4[pyside2,${PYTHON_USEDEP}] - dev-python/beautifulsoup4[${PYTHON_USEDEP}] - ') -" -BDEPEND=" - ${RDEPEND} - $(python_gen_cond_dep ' - test? ( - dev-python/httmock[${PYTHON_USEDEP}] - dev-python/mock[${PYTHON_USEDEP}] - ) - ') -" - -PATCHES=( - "${FILESDIR}/userpath-in-local-share.patch" -) - -src_prepare() { - default - - # Contains pre-built binaries for other systems and a broken swf renderer for linux - rm -r bin/ || die - # Build files used for CI and development, not actually needed - rm -r static/build_files static/requirements || die - # Python requirements file, not needed - rm requirements.txt || die - # Remove unneeded additional scripts - rm *.command *.sh *.bat || die -} - -src_compile() { - python_optimize "${S}" - docs_compile -} - -src_test() { - # The tests use unittest, but are run with a custom runner script. - # QT_QPA_PLATFORM is required to make them run without X - local -x QT_QPA_PLATFORM=offscreen - "${EPYTHON}" "${S}/test.py" || die "Tests failed" -} - -src_install() { - local doc="${EPREFIX}/usr/share/doc/${PF}" - elog "Hydrus includes an excellent manual, that can either be viewed at" - elog "${doc}/html/help/index.html" - elog "or accessed through the hydrus help menu." - - mv "help my client will not boot.txt" "help_my_client_will_not_boot.txt" || die - - local DOCS=(COPYING README.md help_my_client_will_not_boot.txt db/) - einstalldocs - - # Files only needed for testing - rm test.py hydrus/hydrus_test.py || die - rm -r hydrus/test/ static/testing/ || die - - # ${DOCS[@]} files are copied into doc - # ${S}/docs/ is the markdown source code for documentation - # .gitignore/.github files aren't needed for the program to work, same with mkdocs files - rm -r "${DOCS[@]}" "${S}/docs/" .gitignore .github/ mkdocs.yml mkdocs-gh-pages.yml || die - if use doc; then - # ${S}/_build = ${DOCS_OUTDIR}/.. , these have already been copied, remove before installation - rm -r "${S}/_build" || die - # The program expects to find documentation here, so add a symlink to doc - dosym "${doc}/html" /opt/hydrus/help - fi - - insinto /opt/hydrus - doins -r "${S}"/. - - exeinto /usr/bin - python_newexe - hydrus-server < <(sed "s/python/${EPYTHON}/" "${FILESDIR}/hydrus-server" || die) - python_newexe - hydrus-client < <(sed "s/python/${EPYTHON}/" "${FILESDIR}/hydrus-client" || die) - - make_desktop_entry "hydrus-client" "Hydrus Client" "/opt/hydrus/static/hydrus_non-transparent.png" \ - "AudioVideo;FileTools;Graphics;Network;" -} - -pkg_postinst() { - optfeature "automatic port forwarding support" "net-libs/miniupnpc" - optfeature "bandwidth charts support" "dev-python/pyside2[charts]" - optfeature "memory compression in the client" "dev-python/lz4" - optfeature "SOCKS proxy support" "dev-python/requests[socks5]" "dev-python/PySocks" -} diff --git a/media-gfx/hydrus/hydrus-522.ebuild b/media-gfx/hydrus/hydrus-522.ebuild deleted file mode 100644 index 57ab39e51e10..000000000000 --- a/media-gfx/hydrus/hydrus-522.ebuild +++ /dev/null @@ -1,147 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{9..11} ) -PYTHON_REQ_USE="sqlite" - -DOCS_BUILDER=mkdocs -DOCS_DEPEND="dev-python/mkdocs-material dev-python/regex" - -inherit python-single-r1 desktop docs optfeature - -DESCRIPTION="A booru-like media organizer for the desktop" -HOMEPAGE="https://hydrusnetwork.github.io/hydrus/ https://github.com/hydrusnetwork/hydrus" - -if [[ "${PV}" == "9999" ]]; then - inherit git-r3 - - EGIT_REPO_URI="https://github.com/hydrusnetwork/hydrus.git" -else - SRC_URI="https://github.com/hydrusnetwork/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - - KEYWORDS="~amd64" -fi - -# hydrus itself is WTFPL -# icons included are CC-BY-2.5 -LICENSE="WTFPL-2 CC-BY-2.5" -SLOT="0" -IUSE="test" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" - -RESTRICT="!test? ( test )" - -# RDEPEND is sorted as such: -# - No specific requirements -# - Specific version or slot -RDEPEND=" - ${PYTHON_DEPS} - $(python_gen_cond_dep ' - dev-python/cbor2[${PYTHON_USEDEP}] - dev-python/chardet[${PYTHON_USEDEP}] - dev-python/cloudscraper[${PYTHON_USEDEP}] - dev-python/html5lib[${PYTHON_USEDEP}] - dev-python/lxml[${PYTHON_USEDEP}] - dev-python/numpy[${PYTHON_USEDEP}] - dev-python/pillow[${PYTHON_USEDEP},lcms] - dev-python/psutil[${PYTHON_USEDEP}] - dev-python/pyopenssl[${PYTHON_USEDEP}] - dev-python/pyside2[widgets,gui,${PYTHON_USEDEP}] - dev-python/python-mpv[${PYTHON_USEDEP}] - dev-python/pyyaml[${PYTHON_USEDEP}] - dev-python/requests[${PYTHON_USEDEP}] - dev-python/send2trash[${PYTHON_USEDEP}] - dev-python/service_identity[${PYTHON_USEDEP}] - dev-python/six[${PYTHON_USEDEP}] - dev-python/twisted[${PYTHON_USEDEP}] - media-libs/opencv[python,png,jpeg,${PYTHON_USEDEP}] - media-video/ffmpeg - - >=dev-python/QtPy-1.9.0-r4[pyside2,${PYTHON_USEDEP}] - dev-python/beautifulsoup4[${PYTHON_USEDEP}] - ') -" -BDEPEND=" - ${RDEPEND} - $(python_gen_cond_dep ' - test? ( - dev-python/httmock[${PYTHON_USEDEP}] - dev-python/mock[${PYTHON_USEDEP}] - ) - ') -" - -PATCHES=( - "${FILESDIR}/userpath-in-local-share.patch" -) - -src_prepare() { - default - - # Contains pre-built binaries for other systems and a broken swf renderer for linux - rm -r bin/ || die - # Build files used for CI and development, not actually needed - rm -r static/build_files static/requirements || die - # Python requirements file, not needed - rm requirements.txt || die - # Remove unneeded additional scripts - rm *.command *.sh *.bat || die -} - -src_compile() { - python_optimize "${S}" - docs_compile -} - -src_test() { - # The tests use unittest, but are run with a custom runner script. - # QT_QPA_PLATFORM is required to make them run without X - local -x QT_QPA_PLATFORM=offscreen - "${EPYTHON}" "${S}/test.py" || die "Tests failed" -} - -src_install() { - local doc="${EPREFIX}/usr/share/doc/${PF}" - elog "Hydrus includes an excellent manual, that can either be viewed at" - elog "${doc}/html/help/index.html" - elog "or accessed through the hydrus help menu." - - mv "help my client will not boot.txt" "help_my_client_will_not_boot.txt" || die - - local DOCS=(COPYING README.md help_my_client_will_not_boot.txt db/) - einstalldocs - - # Files only needed for testing - rm test.py hydrus/hydrus_test.py || die - rm -r hydrus/test/ static/testing/ || die - - # ${DOCS[@]} files are copied into doc - # ${S}/docs/ is the markdown source code for documentation - # .gitignore/.github files aren't needed for the program to work, same with mkdocs files - rm -r "${DOCS[@]}" "${S}/docs/" .gitignore .github/ mkdocs.yml mkdocs-gh-pages.yml || die - if use doc; then - # ${S}/_build = ${DOCS_OUTDIR}/.. , these have already been copied, remove before installation - rm -r "${S}/_build" || die - # The program expects to find documentation here, so add a symlink to doc - dosym "${doc}/html" /opt/hydrus/help - fi - - insinto /opt/hydrus - doins -r "${S}"/. - - exeinto /usr/bin - python_newexe - hydrus-server < <(sed "s/python/${EPYTHON}/" "${FILESDIR}/hydrus-server" || die) - python_newexe - hydrus-client < <(sed "s/python/${EPYTHON}/" "${FILESDIR}/hydrus-client" || die) - - make_desktop_entry "hydrus-client" "Hydrus Client" "/opt/hydrus/static/hydrus_non-transparent.png" \ - "AudioVideo;FileTools;Graphics;Network;" -} - -pkg_postinst() { - optfeature "automatic port forwarding support" "net-libs/miniupnpc" - optfeature "bandwidth charts support" "dev-python/pyside2[charts]" - optfeature "memory compression in the client" "dev-python/lz4" - optfeature "SOCKS proxy support" "dev-python/requests[socks5]" "dev-python/PySocks" -} diff --git a/media-gfx/hydrus/hydrus-526.ebuild b/media-gfx/hydrus/hydrus-526.ebuild new file mode 100644 index 000000000000..57ab39e51e10 --- /dev/null +++ b/media-gfx/hydrus/hydrus-526.ebuild @@ -0,0 +1,147 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{9..11} ) +PYTHON_REQ_USE="sqlite" + +DOCS_BUILDER=mkdocs +DOCS_DEPEND="dev-python/mkdocs-material dev-python/regex" + +inherit python-single-r1 desktop docs optfeature + +DESCRIPTION="A booru-like media organizer for the desktop" +HOMEPAGE="https://hydrusnetwork.github.io/hydrus/ https://github.com/hydrusnetwork/hydrus" + +if [[ "${PV}" == "9999" ]]; then + inherit git-r3 + + EGIT_REPO_URI="https://github.com/hydrusnetwork/hydrus.git" +else + SRC_URI="https://github.com/hydrusnetwork/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + + KEYWORDS="~amd64" +fi + +# hydrus itself is WTFPL +# icons included are CC-BY-2.5 +LICENSE="WTFPL-2 CC-BY-2.5" +SLOT="0" +IUSE="test" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +RESTRICT="!test? ( test )" + +# RDEPEND is sorted as such: +# - No specific requirements +# - Specific version or slot +RDEPEND=" + ${PYTHON_DEPS} + $(python_gen_cond_dep ' + dev-python/cbor2[${PYTHON_USEDEP}] + dev-python/chardet[${PYTHON_USEDEP}] + dev-python/cloudscraper[${PYTHON_USEDEP}] + dev-python/html5lib[${PYTHON_USEDEP}] + dev-python/lxml[${PYTHON_USEDEP}] + dev-python/numpy[${PYTHON_USEDEP}] + dev-python/pillow[${PYTHON_USEDEP},lcms] + dev-python/psutil[${PYTHON_USEDEP}] + dev-python/pyopenssl[${PYTHON_USEDEP}] + dev-python/pyside2[widgets,gui,${PYTHON_USEDEP}] + dev-python/python-mpv[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + dev-python/send2trash[${PYTHON_USEDEP}] + dev-python/service_identity[${PYTHON_USEDEP}] + dev-python/six[${PYTHON_USEDEP}] + dev-python/twisted[${PYTHON_USEDEP}] + media-libs/opencv[python,png,jpeg,${PYTHON_USEDEP}] + media-video/ffmpeg + + >=dev-python/QtPy-1.9.0-r4[pyside2,${PYTHON_USEDEP}] + dev-python/beautifulsoup4[${PYTHON_USEDEP}] + ') +" +BDEPEND=" + ${RDEPEND} + $(python_gen_cond_dep ' + test? ( + dev-python/httmock[${PYTHON_USEDEP}] + dev-python/mock[${PYTHON_USEDEP}] + ) + ') +" + +PATCHES=( + "${FILESDIR}/userpath-in-local-share.patch" +) + +src_prepare() { + default + + # Contains pre-built binaries for other systems and a broken swf renderer for linux + rm -r bin/ || die + # Build files used for CI and development, not actually needed + rm -r static/build_files static/requirements || die + # Python requirements file, not needed + rm requirements.txt || die + # Remove unneeded additional scripts + rm *.command *.sh *.bat || die +} + +src_compile() { + python_optimize "${S}" + docs_compile +} + +src_test() { + # The tests use unittest, but are run with a custom runner script. + # QT_QPA_PLATFORM is required to make them run without X + local -x QT_QPA_PLATFORM=offscreen + "${EPYTHON}" "${S}/test.py" || die "Tests failed" +} + +src_install() { + local doc="${EPREFIX}/usr/share/doc/${PF}" + elog "Hydrus includes an excellent manual, that can either be viewed at" + elog "${doc}/html/help/index.html" + elog "or accessed through the hydrus help menu." + + mv "help my client will not boot.txt" "help_my_client_will_not_boot.txt" || die + + local DOCS=(COPYING README.md help_my_client_will_not_boot.txt db/) + einstalldocs + + # Files only needed for testing + rm test.py hydrus/hydrus_test.py || die + rm -r hydrus/test/ static/testing/ || die + + # ${DOCS[@]} files are copied into doc + # ${S}/docs/ is the markdown source code for documentation + # .gitignore/.github files aren't needed for the program to work, same with mkdocs files + rm -r "${DOCS[@]}" "${S}/docs/" .gitignore .github/ mkdocs.yml mkdocs-gh-pages.yml || die + if use doc; then + # ${S}/_build = ${DOCS_OUTDIR}/.. , these have already been copied, remove before installation + rm -r "${S}/_build" || die + # The program expects to find documentation here, so add a symlink to doc + dosym "${doc}/html" /opt/hydrus/help + fi + + insinto /opt/hydrus + doins -r "${S}"/. + + exeinto /usr/bin + python_newexe - hydrus-server < <(sed "s/python/${EPYTHON}/" "${FILESDIR}/hydrus-server" || die) + python_newexe - hydrus-client < <(sed "s/python/${EPYTHON}/" "${FILESDIR}/hydrus-client" || die) + + make_desktop_entry "hydrus-client" "Hydrus Client" "/opt/hydrus/static/hydrus_non-transparent.png" \ + "AudioVideo;FileTools;Graphics;Network;" +} + +pkg_postinst() { + optfeature "automatic port forwarding support" "net-libs/miniupnpc" + optfeature "bandwidth charts support" "dev-python/pyside2[charts]" + optfeature "memory compression in the client" "dev-python/lz4" + optfeature "SOCKS proxy support" "dev-python/requests[socks5]" "dev-python/PySocks" +} diff --git a/media-gfx/hydrus/hydrus-528.ebuild b/media-gfx/hydrus/hydrus-528.ebuild new file mode 100644 index 000000000000..a3502913de33 --- /dev/null +++ b/media-gfx/hydrus/hydrus-528.ebuild @@ -0,0 +1,150 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{9..11} ) +PYTHON_REQ_USE="sqlite" + +DOCS_BUILDER=mkdocs +DOCS_DEPEND="dev-python/mkdocs-material dev-python/regex" + +inherit python-single-r1 desktop docs optfeature + +DESCRIPTION="A booru-like media organizer for the desktop" +HOMEPAGE="https://hydrusnetwork.github.io/hydrus/ https://github.com/hydrusnetwork/hydrus" + +if [[ "${PV}" == "9999" ]]; then + inherit git-r3 + + EGIT_REPO_URI="https://github.com/hydrusnetwork/hydrus.git" +else + SRC_URI="https://github.com/hydrusnetwork/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + + KEYWORDS="~amd64" +fi + +# hydrus itself is WTFPL +# icons included are CC-BY-2.5 +LICENSE="WTFPL-2 CC-BY-2.5" +SLOT="0" +IUSE="test" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +RESTRICT="!test? ( test )" + +# RDEPEND is sorted as such: +# - No specific requirements +# - Specific version or slot +RDEPEND=" + ${PYTHON_DEPS} + $(python_gen_cond_dep ' + dev-python/cbor2[${PYTHON_USEDEP}] + dev-python/chardet[${PYTHON_USEDEP}] + dev-python/cloudscraper[${PYTHON_USEDEP}] + dev-python/html5lib[${PYTHON_USEDEP}] + dev-python/lxml[${PYTHON_USEDEP}] + dev-python/numpy[${PYTHON_USEDEP}] + dev-python/pillow[${PYTHON_USEDEP},lcms] + dev-python/psutil[${PYTHON_USEDEP}] + dev-python/pyopenssl[${PYTHON_USEDEP}] + dev-python/pyside2[widgets,gui,${PYTHON_USEDEP}] + dev-python/python-mpv[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + dev-python/send2trash[${PYTHON_USEDEP}] + dev-python/service_identity[${PYTHON_USEDEP}] + dev-python/six[${PYTHON_USEDEP}] + dev-python/twisted[${PYTHON_USEDEP}] + media-libs/opencv[python,png,jpeg,${PYTHON_USEDEP}] + media-video/ffmpeg + + >=dev-python/QtPy-1.9.0-r4[pyside2,${PYTHON_USEDEP}] + dev-python/beautifulsoup4[${PYTHON_USEDEP}] + ') +" +BDEPEND=" + ${RDEPEND} + $(python_gen_cond_dep ' + test? ( + dev-python/httmock[${PYTHON_USEDEP}] + dev-python/mock[${PYTHON_USEDEP}] + + dev-python/pyside2[widgets,gui,multimedia,${PYTHON_USEDEP}] + ) + ') +" + +PATCHES=( + "${FILESDIR}/userpath-in-local-share.patch" +) + +src_prepare() { + default + + # Contains pre-built binaries for other systems and a broken swf renderer for linux + rm -r bin/ || die + # Python requirements file, not needed + rm requirements.txt || die + # Remove unneeded additional scripts + rm *.command *.sh *.bat || die +} + +src_compile() { + python_optimize "${S}" + docs_compile +} + +src_test() { + # The tests use unittest, but are run with a custom runner script. + # QT_QPA_PLATFORM is required to make them run without X + local -x QT_QPA_PLATFORM=offscreen + "${EPYTHON}" "${S}/hydrus_test.py" || die "Tests failed" +} + +src_install() { + local doc="${EPREFIX}/usr/share/doc/${PF}" + elog "Hydrus includes an excellent manual, that can either be viewed at" + elog "${doc}/html/help/index.html" + elog "or accessed through the hydrus help menu." + + mv "help my client will not boot.txt" "help_my_client_will_not_boot.txt" || die + + local DOCS=(COPYING README.md help_my_client_will_not_boot.txt db/) + einstalldocs + + # Files only needed for testing + rm hydrus_test.py hydrus/hydrus_test_boot.py || die + rm -r hydrus/test/ static/testing/ || die + # Build files used for CI and development, not actually needed. Has to be deleted after src_compile. + # because it contains documentation + rm -r static/build_files static/requirements || die + + # ${DOCS[@]} files are copied into doc + # ${S}/docs/ is the markdown source code for documentation + # .gitignore/.github files aren't needed for the program to work, same with mkdocs files + rm -r "${DOCS[@]}" "${S}/docs/" .gitignore .github/ mkdocs.yml mkdocs-gh-pages.yml || die + if use doc; then + # ${S}/_build = ${DOCS_OUTDIR}/.. , these have already been copied, remove before installation + rm -r "${S}/_build" || die + # The program expects to find documentation here, so add a symlink to doc + dosym "${doc}/html" /opt/hydrus/help + fi + + insinto /opt/hydrus + doins -r "${S}"/. + + exeinto /usr/bin + python_newexe - hydrus-server < <(sed "s/python/${EPYTHON}/" "${FILESDIR}/hydrus-server" || die) + python_newexe - hydrus-client < <(sed "s/python/${EPYTHON}/" "${FILESDIR}/hydrus-client" || die) + + make_desktop_entry "hydrus-client" "Hydrus Client" "/opt/hydrus/static/hydrus_non-transparent.png" \ + "AudioVideo;FileTools;Graphics;Network;" +} + +pkg_postinst() { + optfeature "automatic port forwarding support" "net-libs/miniupnpc" + optfeature "bandwidth charts support" "dev-python/pyside2[charts]" + optfeature "memory compression in the client" "dev-python/lz4" + optfeature "SOCKS proxy support" "dev-python/requests[socks5]" "dev-python/PySocks" +} -- cgit v1.2.3