diff options
author | V3n3RiX <venerix@koprulu.sector> | 2023-02-01 03:03:44 +0000 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2023-02-01 03:03:44 +0000 |
commit | 7414e061f0ef8e77eaa6de051a83181cddbef1dc (patch) | |
tree | 6e846750aa9822865c8d3a2ddff888c916f91653 /media-gfx/gmic | |
parent | d36c5f9e59f92a021c987989cd79d44460e0da42 (diff) |
gentoo auto-resync : 01:02:2023 - 03:03:44
Diffstat (limited to 'media-gfx/gmic')
-rw-r--r-- | media-gfx/gmic/Manifest | 5 | ||||
-rw-r--r-- | media-gfx/gmic/files/gmic-3.2.0-grep38.patch | 27 | ||||
-rw-r--r-- | media-gfx/gmic/files/gmic-3.2.0-makefile_automagic.patch | 133 | ||||
-rw-r--r-- | media-gfx/gmic/files/gmic-3.2.0-relative_rpath.patch | 11 | ||||
-rw-r--r-- | media-gfx/gmic/gmic-3.2.0.ebuild | 138 |
5 files changed, 314 insertions, 0 deletions
diff --git a/media-gfx/gmic/Manifest b/media-gfx/gmic/Manifest index f22e2fd6a147..342df65f1d19 100644 --- a/media-gfx/gmic/Manifest +++ b/media-gfx/gmic/Manifest @@ -4,8 +4,13 @@ AUX gmic-3.1.6-ar_so.patch 758 BLAKE2B 95031f8c3af292ef91d5cdf94406db158c74864c6 AUX gmic-3.1.6-grep38.patch 1200 BLAKE2B 6cfe274eb0577c9fb55b98564dc7a69e407ae8e7e80e66d62ca6d09485dbad4f578a1c2569041887040d73c02c0865695afaf504a546c93aa3a5f3e9574d3408 SHA512 7bdb4f45aef020dd4a9071f4bfd995da078526b37d693781c463d866e31a6bc1387c46035007fc4fcb9e2b871c42886483142aa4e8c244d5bd9e684a7e98e8af AUX gmic-3.1.6-makefile_automagic.patch 5327 BLAKE2B 0df03edbba289d327957a2e703be955dc357e12047e6f1d95a19fc906e4f42d395c2964d10220f642e9a0091b9349d2872066b787b3ae29ca7e231b21bec280f SHA512 80b28b476c61d80466d389924758a218591f5a50edd4583dfd8239d4f8f5a684da1403f7638ca2c99d8038a1135b15b95a87c51bdb65c7f637ce613429922143 AUX gmic-3.1.6-relative_rpath.patch 400 BLAKE2B 0f457f585d7efde1b05937f1baa240f6fd4590a3c05c2d988e88d8ee62e79c8ac39adb92bee247dcb999ef7654bf9c558802781e9933cb6de4b078cfe7b06ab9 SHA512 1c7da7542005d76f67a553ddec1d9291e34ff99adad3aae6c9761dde8aa93bba8f79eb388072fd43976ae4e45bae066d4726d642698bce36aafbca5dbae009b0 +AUX gmic-3.2.0-grep38.patch 1330 BLAKE2B 22a241d8c574ca87691ec84107c718aa36404325891e3f50458753cc9051f1da3100206286ebeab2142360146b81b94ba3c063897722dd7b01730790f5672276 SHA512 46c078ef39cae6a0763a6e4e8d6ff9ac736b51e0b5f73fc6f75609fffa06eddd895f6803b5d39cfcd3bccb6e09549bdc0ca2ca3a7c1a2c8fa075869599eeb7d1 +AUX gmic-3.2.0-makefile_automagic.patch 5397 BLAKE2B f5678cf7aba485c9d035fc34c0a2a75133567e6c4b91dc0a58f8511f8858c6c5facc4fced4fb4582a2336d03b68f6a5e95cc3490de0385e4a083568a20769c17 SHA512 904dbddee273c6ebb80d94e24a508043766e43c712464d02631fa584634248379f01e989749d218965afa593865883da2ebe267ac9b1755ca116573cdcfeeb73 +AUX gmic-3.2.0-relative_rpath.patch 406 BLAKE2B cb92f21c090bfdb3c91aef60fc854fd21531ba8e7560458503ae0c123baf89a703057b870dc9a4366f179575373861696dedebd930c472a51644d4ef41553520 SHA512 8653697eea7da0b0db5ad9f7d8882a147a6aa9bd80085e6bfba21922431e52fa0b7e67c1c74afe8237a994861864f1df07ca2855c5d99bc0e69d0c630f11ebc7 DIST gmic_3.0.1.tar.gz 10457923 BLAKE2B b495d10237abf5abe3d7df166119d2fc0b04142975d97db01ab0c5aa177f6e681931799fb392844e5c34d0503874a16d946a7146c5152cca1e64107948c02c03 SHA512 4bc08a3510e8987eea0463bfcf04de6dfd9a8ee8a38c14661ff201b8f563cab1b914dc60dc35b082cb5e868eb6232e2240a2d6703e0751215a82d6709236946a DIST gmic_3.1.6.tar.gz 10843311 BLAKE2B c50bcb9bd6c3d7d68a06f72faf0061d22b37c6fa357b40c16963c16a8841dba5ee8cf4509076a6734bb4eedbddfa2870897cb30687715ee6d7d84f2520700c17 SHA512 7d1ab97e8dfdf75b647cb7248eaa153e3ebcd5d1b799c67a6e027a5e2e8746047d348ea8e25485aed615d62f485dd06895fe6234f67a055cab423997b96f9775 +DIST gmic_3.2.0.tar.gz 10933655 BLAKE2B 6b87acb2a356d3d0c00e795d8b66de75acffa1f87b63caf58986ab52730fcd58bb9dfa37caf057ac2ab2a58695dd783c09018305f21d258427d9c1e450d1c14d SHA512 2eccf179e865416ce5a6cc38fd5587fe79fb30cda381ca2bcb1e587f101a55c502422121d4696834bc25b6200aa3c2292ff30947f2704a610f46e61460685f5b EBUILD gmic-3.0.1-r3.ebuild 4205 BLAKE2B 71f6968b9f8b6b4a242c5995c5f521c29830bf4a438d6e67f1f1422a0d2f7093b8b6bbf02338cc97cd302dbcf218edcda2ed6d532fcbd6ccd4163f7d23454a1f SHA512 15715c804177eeabb7184996526a8b9ff7a03c2c62e8207b0f3439a3425847f5bb142aa9b5820de776b227b12e72849e5ca62b2750bbef389c6b67e78a0a3625 EBUILD gmic-3.1.6-r1.ebuild 3509 BLAKE2B 0934a967523f764a803828dfdd37cc0e3ec0823058fda0c3e75c8f6f22c89e2c9d12c222681c747ece4b2ef63d3eef942285a180eedfaad96a07ff807249d921 SHA512 0180b54c193419f2c9bc382d1f59faa8fce136fc5d1ed87862b5107126133dd6424e7a930aab2c0eb414200be1676251c42924e99a17593ffb2d158919cc72c6 +EBUILD gmic-3.2.0.ebuild 3459 BLAKE2B f0bb5422482b190bf24bc0af0478da7939183ebf40184ceb2b48f568bb662f06309faddddf8ea65f693c9780db6573011d24e9fba2d4a8709bdd77527c87b234 SHA512 9a92034fca2e8d309d73f7b5851506042e5036703a69b522e8d51c4a5e7f67b3d2258bbfcca42b241f5860b90ad607bdae552f9a8ab5fb58da10d410f8dafd33 MISC metadata.xml 466 BLAKE2B 672259377cf7d693bc2493557b22150ddd3504d5bcb3f7b11c8e7e9a8ff591573503e5c9481d8a81e27757d4ebe205dd51a0fb57c0e691461988bc99fc714fc5 SHA512 62d65a13a3061fb31954fc08d753f6df7d76c262dc1c14304c1473dbe3f3412fb77cf808f0f205dc73d124f6dd1104c13d9dc79194eba702a0acdfb112fe6530 diff --git a/media-gfx/gmic/files/gmic-3.2.0-grep38.patch b/media-gfx/gmic/files/gmic-3.2.0-grep38.patch new file mode 100644 index 000000000000..e25a809fdeea --- /dev/null +++ b/media-gfx/gmic/files/gmic-3.2.0-grep38.patch @@ -0,0 +1,27 @@ +Starting with version 3.8, grep no longer quietly ignores backslashes +preceding a white-space character. + +--- a/src/Makefile ++++ b/src/Makefile +@@ -89,16 +89,16 @@ + WGET = wget --no-check-certificate --quiet -O + PLUGINDIR = $(shell gimptool-2.0 --gimpplugindir)/plug-ins + BASH_COMPLETIONSDIR = $(shell pkg-config --variable completionsdir bash-completion || echo $(PREFIX)/share/bash-completion/completions) +-VERSION = $(shell grep 'gmic_version\ ' gmic.h | tail -c4 | head -c3) +-VERSION1 = $(shell grep 'gmic_version\ ' gmic.h | tail -c4 | head -c1) +-VERSION2 = $(shell grep 'gmic_version\ ' gmic.h | tail -c3 | head -c1) +-VERSION3 = $(shell grep 'gmic_version\ ' gmic.h | tail -c2 | head -c1) ++VERSION = $(shell grep 'gmic_version ' gmic.h | tail -c4 | head -c3) ++VERSION1 = $(shell grep 'gmic_version ' gmic.h | tail -c4 | head -c1) ++VERSION2 = $(shell grep 'gmic_version ' gmic.h | tail -c3 | head -c1) ++VERSION3 = $(shell grep 'gmic_version ' gmic.h | tail -c2 | head -c1) + SVERSION=$(VERSION1).$(VERSION2).$(VERSION3) + SRC_PATH=$(shell pwd) + + # Check that versions of files 'CImg.h' and 'gmic.h' match. + ifneq (,$(wildcard CImg.h)) +-CIMG_VERSION = $(shell grep 'cimg_version\ ' CImg.h | tail -c4 | head -c3) ++CIMG_VERSION = $(shell grep 'cimg_version ' CImg.h | tail -c4 | head -c3) + else + CIMG_VERSION = $(VERSION) + endif diff --git a/media-gfx/gmic/files/gmic-3.2.0-makefile_automagic.patch b/media-gfx/gmic/files/gmic-3.2.0-makefile_automagic.patch new file mode 100644 index 000000000000..6cab84226e98 --- /dev/null +++ b/media-gfx/gmic/files/gmic-3.2.0-makefile_automagic.patch @@ -0,0 +1,133 @@ +--- a/src/Makefile ++++ b/src/Makefile +@@ -230,6 +230,7 @@ + + # Enable parallelization in CImg, using OpenMP. + # (http://www.openmp.org/) ++ifeq ($(GMIC_USE_OPENMP),yes) + ifdef IS_CLANG + OPENMP_CFLAGS = -I/usr/lib/gcc/x86_64-linux-gnu/9/include -Dcimg_use_openmp -fopenmp=libomp + OPENMP_LIBS = +@@ -237,6 +238,7 @@ + OPENMP_CFLAGS = -fopenmp -Dcimg_use_openmp + OPENMP_LIBS = -lgomp + endif ++endif + + # Enable software debugging. + # (Use address sanitizer and thus slows down the code) +@@ -258,9 +260,13 @@ + # Enable image display, using X11 (Unix). + # (Keep /usr/ dirname here since X11 is located in /usr/ on Mac too) + ifneq ($(OS),Darwin) ++ifeq ($(GMIC_USE_X11),yes) + X11_CFLAGS = -Dcimg_display=1 $(shell pkg-config --cflags x11 || echo -I/usr/X11R6/include) #-Dcimg_use_xrandr + X11_LIBS = $(shell pkg-config --libs x11 || echo -L/usr/X11R6/lib -lX11) -lpthread # $(shell pkg-config --libs xrandr || echo -lXrandr) + else ++X11_CFLAGS = -Dcimg_display=0 ++endif ++else + ifeq (,$(wildcard /usr/X11)) + X11_CFLAGS = -Dcimg_display=0 #-Dcimg_use_xrandr + X11_LIBS = -lpthread # $(shell pkg-config --libs xrandr || echo -lXrandr) +@@ -272,8 +278,10 @@ + + # Enable faster X11 display, using XShm extension. + # (ftp://www.x.org/pub/X11R7.7/doc/man/man3/XShm.3.xhtml) ++ifeq ($(GMIC_USE_XSHM),yes) + XSHM_CFLAGS = -Dcimg_use_xshm $(shell pkg-config --cflags xcb-shm) + XSHM_LIBS = $(shell pkg-config --libs xcb-shm || echo -L$(PREFIX)/X11R6/lib) -lXext ++endif + + # Enable image display, using GDI32 (Windows). + GDI32_CFLAGS = -Dcimg_display=2 +@@ -282,8 +290,10 @@ + # Enable native support of PNG image files, using the PNG library. + # (http://www.libpng.org/pub/png/libpng.html) + ifneq ($(OS),Darwin) ++ifeq ($(GMIC_USE_PNG),yes) + PNG_CFLAGS = -Dcimg_use_png $(shell pkg-config --cflags libpng) + PNG_LIBS = $(shell pkg-config --libs libpng || echo -lpng -lz) ++endif + else + ifeq (,$(wildcard /tmp/skl)) + PNG_CFLAGS = -Dcimg_use_png $(shell pkg-config --cflags libpng) +@@ -296,56 +306,76 @@ + + # Enable native support of JPEG image files, using the JPEG library. + # (http://libjpeg.sourceforge.net/) ++ifeq ($(GMIC_USE_JPEG),yes) + JPEG_CFLAGS = -Dcimg_use_jpeg $(shell pkg-config --cflags libjpeg) + JPEG_LIBS = $(shell pkg-config --libs libjpeg || echo -ljpeg) ++endif + + # Enable native support of TIFF image files, using the TIFF library. + # (http://www.libtiff.org/) ++ifeq ($(GMIC_USE_TIFF),yes) + TIFF_CFLAGS = -Dcimg_use_tiff $(shell pkg-config --cflags libtiff-4) + TIFF_LIBS = $(shell pkg-config --libs libtiff-4 || echo -ltiff) ++endif + + # Enable native support for loading HEIC/AVIF image files, using the libheif library. + # ( https://github.com/strukturag/libheif ) ++ifeq ($(GMIC_USE_HEIF),yes) + HEIF_CFLAGS = -Dcimg_use_heif + HEIF_LIBS = -lheif ++endif + + # Enable native support of MINC2 image files, using the MINC2 library. + # ( http://en.wikibooks.org/wiki/MINC/Reference/MINC2.0_Users_Guide ) ++ifeq ($(GMIC_USE_MINC2),yes) + MINC2_CFLAGS = -Dcimg_use_minc2 -I${HOME}/local/include + MINC2_LIBS = -lminc_io -lvolume_io2 -lminc2 -lnetcdf -lhdf5 -lz -L${HOME}/local/lib ++endif + + # Enable native support for downloading files from the network. + # ( http://curl.haxx.se/libcurl/ ) ++ifeq ($(GMIC_USE_CURL),yes) + CURL_CFLAGS = -Dcimg_use_curl $(shell pkg-config --cflags libcurl) + CURL_LIBS = $(shell pkg-config --libs libcurl || echo -lcurl) ++endif + + # Enable native support of webcams and video streaming, using the OpenCV library. + # (https://opencv.org/) ++ifeq ($(GMIC_USE_OPENCV),yes) + OPENCV_CFLAGS = -Dcimg_use_opencv $(shell pkg-config opencv --cflags) -I/usr/include/opencv -I/usr/include/opencv4 + OPENCV_LIBS = $(shell pkg-config opencv --libs || echo -lopencv_core -lopencv_highgui -lopencv_videoio) ++endif + + # Enable support of most classical image file formats, using the GraphicsMagick++ library. + # (http://www.graphicsmagick.org/Magick++/) ++ifeq ($(GMIC_USE_GRAPHICSMAGICK),yes) + MAGICK_CFLAGS = -Dcimg_use_magick $(shell pkg-config --cflags GraphicsMagick++ || echo -I$(PREFIX)/$(INCLUDE)/GraphicsMagick) + MAGICK_LIBS = $(shell pkg-config --libs GraphicsMagick++ || echo -lGraphicsMagick++) ++endif + + # Enable native support of EXR image files, using the OpenEXR library. + # (http://www.openexr.com/) +-OPENEXR_CFLAGS = -Dcimg_use_openexr $(shell pkg-config --cflags OpenEXR || echo -I$(PREFIX)/$(INCLUDE)/OpenEXR) +-OPENEXR_LIBS = $(shell pkg-config --libs OpenEXR || echo -lIlmImf -lHalf) ++ifeq ($(GMIC_USE_EXR),yes) ++OPENEXR_CFLAGS = -Dcimg_use_openexr $(shell pkg-config --cflags OpenEXR || echo -I$(USR)/$(INCLUDE)/OpenEXR -I$(USR)/$(INCLUDE)/Imath) ++OPENEXR_LIBS = $(shell pkg-config --libs OpenEXR || echo -lOpenEXR -lImath) ++endif + + # Enable Fast Fourier Transforms, using the FFTW3 library. + # (http://www.fftw.org/) ++ifeq ($(GMIC_USE_FFTW),yes) + FFTW_CFLAGS = -Dcimg_use_fftw3 $(shell pkg-config --cflags fftw3) + FFTW_LIBS = $(shell pkg-config --libs fftw3 || echo -lfftw3) + ifneq ($(OS),Windows) + FFTW_LIBS += -lfftw3_threads + endif ++endif + + # Enable native support of the BOARD library. + # (https://github.com/c-koi/libboard) ++ifeq ($(GMIC_USE_BOARD),yes) + BOARD_CFLAGS = -Dcimg_use_board + BOARD_LIBS = -lboard ++endif + + GMIC_STD_CFLAGS = $(MANDATORY_CFLAGS) $(ABORT_CFLAGS) $(PARALLEL_CFLAGS) $(FFTW_CFLAGS) $(CURL_CFLAGS) $(PNG_CFLAGS) $(JPEG_CFLAGS) $(TIFF_CFLAGS) + GMIC_STD_LIBS = $(MANDATORY_LIBS) $(PARALLEL_LIBS) $(FFTW_LIBS) $(CURL_LIBS) $(PNG_LIBS) $(JPEG_LIBS) $(TIFF_LIBS) diff --git a/media-gfx/gmic/files/gmic-3.2.0-relative_rpath.patch b/media-gfx/gmic/files/gmic-3.2.0-relative_rpath.patch new file mode 100644 index 000000000000..85db75fbb4c4 --- /dev/null +++ b/media-gfx/gmic/files/gmic-3.2.0-relative_rpath.patch @@ -0,0 +1,11 @@ +--- a/src/Makefile ++++ b/src/Makefile +@@ -188,7 +188,7 @@ + ifndef NO_SRIPDLIB + MANDATORY_CFLAGS += -std=c++11 -pedantic + endif +-MANDATORY_LIBS += -L. -L$(PREFIX)/$(LIB) -Wl,-rpath,. ++MANDATORY_LIBS += -L. -L$(PREFIX)/$(LIB) + ifdef IS_GCC + MANDATORY_CFLAGS += -Wall -Wextra -Wfatal-errors -Werror=unknown-pragmas -Werror=unused-label + GCC_VER_GTEQ5 = $(shell expr `$(CXX) -dumpversion | cut -f1 -d.` \>= 5) diff --git a/media-gfx/gmic/gmic-3.2.0.ebuild b/media-gfx/gmic/gmic-3.2.0.ebuild new file mode 100644 index 000000000000..e37b2cb59f90 --- /dev/null +++ b/media-gfx/gmic/gmic-3.2.0.ebuild @@ -0,0 +1,138 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs + +DESCRIPTION="GREYC's Magic Image Converter" +HOMEPAGE="https://gmic.eu/ https://github.com/GreycLab/gmic" +SRC_URI="https://gmic.eu/files/source/${PN}_${PV}.tar.gz" + +LICENSE="CeCILL-2 GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86" +IUSE="cli curl ffmpeg fftw gimp graphicsmagick jpeg opencv openexr openmp png qt5 tiff X" + +REQUIRED_USE=" + gimp? ( png fftw X ) + qt5? ( png fftw X ) +" + +MIN_QT_VER="5.2.0" +QT_DEPEND=" + >=dev-qt/qtcore-${MIN_QT_VER}:5 + >=dev-qt/qtgui-${MIN_QT_VER}:5 + >=dev-qt/qtnetwork-${MIN_QT_VER}:5 + >=dev-qt/qtwidgets-${MIN_QT_VER}:5 +" +DEPEND=" + sys-libs/zlib:0= + curl? ( net-misc/curl ) + fftw? ( sci-libs/fftw:3.0=[threads] ) + gimp? ( + media-gfx/gimp:0/2 + ${QT_DEPEND} + ) + graphicsmagick? ( media-gfx/graphicsmagick:= ) + jpeg? ( media-libs/libjpeg-turbo:= ) + opencv? ( >=media-libs/opencv-2.3.1a-r1:= ) + openexr? ( + dev-libs/imath:= + media-libs/openexr:= + ) + png? ( media-libs/libpng:= ) + qt5? ( ${QT_DEPEND} ) + tiff? ( media-libs/tiff:= ) + X? ( + x11-libs/libX11 + x11-libs/libXext + )" +RDEPEND="${DEPEND} + ffmpeg? ( media-video/ffmpeg:= ) +" +BDEPEND=" + virtual/pkgconfig + gimp? ( + dev-qt/linguist-tools:5 + media-gfx/gimp:0/2 + ) + qt5? ( dev-qt/linguist-tools:5 ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-3.1.6-ar_so.patch + "${FILESDIR}"/${PN}-3.2.0-grep38.patch + "${FILESDIR}"/${PN}-3.2.0-makefile_automagic.patch + "${FILESDIR}"/${PN}-3.2.0-relative_rpath.patch +) + +pkg_pretend() { + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp +} + +pkg_setup() { + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp +} + +gmic_emake() { + local mymakeargs=( + CC="$(tc-getCC)" + CXX="$(tc-getCXX)" + STRIP="/bin/true" + LIB="$(get_libdir)" + OPT_CFLAGS="${CXXFLAGS}" + OPT_LIBS="${LDFLAGS}" + GMIC_USE_CURL=$(usex curl) + GMIC_USE_EXR=$(usex openexr) + GMIC_USE_FFTW=$(usex fftw) + GMIC_USE_GRAPHICSMAGICK=$(usex graphicsmagick) + GMIC_USE_JPEG=$(usex jpeg) + GMIC_USE_OPENCV=$(usex opencv) + GMIC_USE_OPENMP=$(usex openmp) + GMIC_USE_PNG=$(usex png) + GMIC_USE_TIFF=$(usex tiff) + GMIC_USE_X11=$(usex X) + QMAKE="qmake5" + ) + + # Possibly unnecessary since 3.2.0, just in case though. + tc-is-clang && mymakeargs+=( OPENMP_LIBS="-lomp" ) + + emake -j1 -C src \ + "${mymakeargs[@]}" \ + $@ +} + +src_compile() { + gmic_emake lib libc + use cli && gmic_emake cli_shared + use gimp && gmic_emake gimp_shared + use qt5 && gmic_emake gmic_qt_shared +} + +src_install() { + # See below for why this has to name a directory even if USE=-gimp + local gimp_plugindir="/deleteme" + if use gimp; then + if type gimptool &>/dev/null; then + gimp_plugindir="$(gimptool --gimpplugindir)/plug-ins" + elif type gimptool-2.0 &>/dev/null; then + gimp_plugindir="$(gimptool-2.0 --gimpplugindir)/plug-ins" + elif type gimptool-2.99 &>/dev/null; then + gimp_plugindir="$(gimptool-2.99 --gimpplugindir)/plug-ins" + else + die "Cannot find GIMP plugin directory" + fi + fi + + gmic_emake DESTDIR="${ED}" PLUGINDIR="${gimp_plugindir}" install + + # Upstream build scripts create PLUGINDIR and write some files to it + # regardless of whether the GIMP plug-in has been built or not, or even + # when they haven't been able to execute gimptool to get the base path. + use gimp || rm -rf "${ED}/${gimp_plugindir}" + + # These are already gzipped in the source tarballs + find "${ED}/usr/share/man" -name "*.gz" -exec gunzip {} \; || die +} |