aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-misc/iipsrv')
-rw-r--r--net-misc/iipsrv/Manifest1
-rw-r--r--net-misc/iipsrv/files/iipsrv-1.2-make.patch11
-rw-r--r--net-misc/iipsrv/files/iipsrv-1.2-rawtile.patch10
-rw-r--r--net-misc/iipsrv/files/iipsrv.apache2.conf6
-rw-r--r--net-misc/iipsrv/files/iipsrv.confd84
-rw-r--r--net-misc/iipsrv/files/iipsrv.initd32
-rw-r--r--net-misc/iipsrv/files/iipsrv.lighttpd.conf9
-rw-r--r--net-misc/iipsrv/files/iipsrv.systemd.conf77
-rw-r--r--net-misc/iipsrv/files/iipsrv.systemd.service21
-rw-r--r--net-misc/iipsrv/iipsrv-1.2.ebuild77
-rw-r--r--net-misc/iipsrv/metadata.xml33
11 files changed, 361 insertions, 0 deletions
diff --git a/net-misc/iipsrv/Manifest b/net-misc/iipsrv/Manifest
new file mode 100644
index 000000000..345b1c5a5
--- /dev/null
+++ b/net-misc/iipsrv/Manifest
@@ -0,0 +1 @@
+DIST iipsrv-1.2.tar.bz2 719024 BLAKE2B be1afb93f6367f58fd68c71b6e80c53601160b21cf90c76b42fef722d428555a2f0389864824c85db298112eef97f1ff6b3a5e345491a0096df11e123945872c SHA512 76d7dee476384e24dc13c8e37ed14999c8c584742303456cbc893eb11b2e5e6effe01f208f84830cefb48694290252908826550bf89d0fb1a8c6c82f1bc30fcd
diff --git a/net-misc/iipsrv/files/iipsrv-1.2-make.patch b/net-misc/iipsrv/files/iipsrv-1.2-make.patch
new file mode 100644
index 000000000..f9acb3ed4
--- /dev/null
+++ b/net-misc/iipsrv/files/iipsrv-1.2-make.patch
@@ -0,0 +1,11 @@
+--- iipsrv-1.2/Makefile.am 2021-04-09 22:29:51.000000000 +0200
++++ iipsrv-1.2/Makefile.am.new 2023-10-11 00:13:21.665852075 +0200
+@@ -1,6 +1,6 @@
+ AUTOMAKE_OPTIONS = dist-bzip2
+ ACLOCAL_AMFLAGS = -I m4
+
+-SUBDIRS = fcgi src man
++SUBDIRS = src man
+
+-EXTRA_DIST = TODO COPYING.FCGI doc windows
++EXTRA_DIST = doc windows
diff --git a/net-misc/iipsrv/files/iipsrv-1.2-rawtile.patch b/net-misc/iipsrv/files/iipsrv-1.2-rawtile.patch
new file mode 100644
index 000000000..2b50a94ce
--- /dev/null
+++ b/net-misc/iipsrv/files/iipsrv-1.2-rawtile.patch
@@ -0,0 +1,10 @@
+--- iipsrv-1.2/src/RawTile.h
++++ iipsrv-1.2/src/RawTile.new.h
+@@ -26,6 +26,7 @@
+ #include <string>
+ #include <cstdlib>
+ #include <ctime>
++#include <cstdint>
+
+ #if !( (__cplusplus >= 201103L) || ((defined(_MSC_VER) && _MSC_VER >= 1900)) )
+ #include <stdint.h> // Required for C++98
diff --git a/net-misc/iipsrv/files/iipsrv.apache2.conf b/net-misc/iipsrv/files/iipsrv.apache2.conf
new file mode 100644
index 000000000..2caeb4e20
--- /dev/null
+++ b/net-misc/iipsrv/files/iipsrv.apache2.conf
@@ -0,0 +1,6 @@
+<IfDefine PROXY>
+
+ProxyPass "/fcgi-bin/iipsrv.fcgi" "fcgi://0.0.0.0:9000/"
+ProxyPass "/iiif" "fcgi://0.0.0.0:9000/"
+
+</IfDefine>
diff --git a/net-misc/iipsrv/files/iipsrv.confd b/net-misc/iipsrv/files/iipsrv.confd
new file mode 100644
index 000000000..63443776a
--- /dev/null
+++ b/net-misc/iipsrv/files/iipsrv.confd
@@ -0,0 +1,84 @@
+# OpenRC configuration file
+
+
+# Parameters to pass to OpenRC init:
+
+# Set which host and port iipsrv should listen
+HOST="0.0.0.0"
+PORT=9000
+
+# Set user and group under which iipsrv should run
+USER=iipsrv
+GROUP=iipsrv
+
+
+# Parameters to pass directly to iipsrv.
+# See https://iipimage.sourceforge.io/documentation/server for full details.
+# Note that these must be exported:
+
+# File to which iipsrv should log
+export LOGFILE="/var/log/iipsrv.log"
+
+# Level of logging (0 is no logging)
+export VERBOSITY=1
+
+# Set a mapping from a URL prefix to a supported protocol
+export URI_MAP="iiif=>IIIF"
+
+# Max internal cache size for raw tile data in MB
+#MAX_IMAGE_CACHE_SIZE=10
+
+# Prefix automatically added to each file path
+#FILESYSTEM_PREFIX=
+
+# Suffix automatically added to end of each file path
+#FILESYSTEM_SUFFIX
+
+# Default JPEG quality factor
+#JPEG_QUALITY=75
+
+# Default PNG deflate compression factor
+# PNG_QUALITY=1
+
+# Default WebP quality factor
+#WEBP_QUALITY=50
+
+# Maximum output image dimensions in pixels
+#MAX_CVT=5000
+
+# Whether image may be upscaled: 0 = no, 1 = yes
+#ALLOW_UPSCALING=1
+
+# Maximum number of quality layers to decode in supported formats (-1 for all layers)
+# MAX_LAYERS=-1
+
+# TIFF image to use as watermark
+#WATERMARK=
+
+# Probability (between 0.0-1.0) that a tile will have watermark applied
+#WATERMARK_PROBABILITY=1.0
+
+# Opacity (between 0.0-1.0) applied to watermark image
+#WATERMARK_OPACITY=1
+
+#Comma-delimitted list of memcached servers with optional port numbers
+#MEMCACHED_SERVERS=
+
+#Time in seconds that cache remains fresh
+#MEMCACHED_TIMEOUT=86400
+
+# Interpolation method to use for rescaling when using image export
+# 0 = nearest neighbout, 1 = bilinear
+#INTERPOLATION=1
+
+# Cross Origin Resource Sharing setting. Disabled by default
+#CORS=
+
+# Set a base URL for use in IIIF requests if using web server rewriting
+#BASE_URL=
+
+# Set the HTTP Cache-Control header
+#CACHE_CONTROL="max-age=86400"
+
+# Pattern following name stem to indicate an image sequence
+#FILENAME_PATTERN="_pyr_"
diff --git a/net-misc/iipsrv/files/iipsrv.initd b/net-misc/iipsrv/files/iipsrv.initd
new file mode 100644
index 000000000..8426f7f47
--- /dev/null
+++ b/net-misc/iipsrv/files/iipsrv.initd
@@ -0,0 +1,32 @@
+#!/sbin/openrc-run
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+description="IIPImage server"
+
+command="/usr/sbin/iipsrv"
+command_args="--bind ${HOST}:${PORT}"
+command_user="${USER}:${GROUP}"
+command_background=true
+
+extra_started_commands="reload"
+description_reload="Empty internal caches"
+
+pidfile="/run/${RC_SVCNAME}.pid"
+
+
+start_pre()
+{
+ if [ ${LOGFILE} != "syslog" ]; then
+ # Make sure logfile is writable
+ checkpath --quiet --file --owner ${command_user} ${LOGFILE}
+ fi
+}
+
+
+reload()
+{
+ ebegin "Reloading ${RC_SVCNAME}"
+ start-stop-daemon --signal HUP --pidfile "${pidfile}"
+ eend $?
+}
diff --git a/net-misc/iipsrv/files/iipsrv.lighttpd.conf b/net-misc/iipsrv/files/iipsrv.lighttpd.conf
new file mode 100644
index 000000000..df62b1d21
--- /dev/null
+++ b/net-misc/iipsrv/files/iipsrv.lighttpd.conf
@@ -0,0 +1,9 @@
+server.modules += ("mod_fastcgi")
+fastcgi.server = (
+ "/fcgi-bin/iipsrv.fcgi" => (
+ ("host"=>"0.0.0.0", "port"=>9000, "check-local"=>"disable")
+ ),
+ "/iiif" => (
+ ("host"=>"0.0.0.0", "port"=>9000, "check-local"=>"disable")
+ )
+)
diff --git a/net-misc/iipsrv/files/iipsrv.systemd.conf b/net-misc/iipsrv/files/iipsrv.systemd.conf
new file mode 100644
index 000000000..353a40fde
--- /dev/null
+++ b/net-misc/iipsrv/files/iipsrv.systemd.conf
@@ -0,0 +1,77 @@
+# Systemd configuration file for iipsrv
+
+# Paramters passed to systemd.
+# Set which host and port iipsrv should listen
+HOST="0.0.0.0"
+PORT=9000
+
+
+# Parameters to pass directly to iipsrv.
+# See http://iipimage.sourceforge.net/documentation/server for full details.
+
+# File to which iipsrv should log
+LOGFILE="/var/log/iipsrv.log"
+
+# Level of logging (0 is no logging)
+VERBOSITY=1
+
+# Set a mapping from a URL prefix to a supported protocol
+URI_MAP="iiif=>IIIF"
+
+# Max internal cache size for raw tile data in MB
+#MAX_IMAGE_CACHE_SIZE=10
+
+# Prefix automatically added to each file path
+#FILESYSTEM_PREFIX=
+
+# Suffix automatically added to end of each file path
+#FILESYSTEM_SUFFIX
+
+# Default JPEG quality factor
+#JPEG_QUALITY=75
+
+# Default PNG deflate compression factor
+# PNG_QUALITY=1
+
+# Default WebP quality factor
+#WEBP_QUALITY=50
+
+# Maximum output image dimensions in pixels
+#MAX_CVT=5000
+
+# Whether image may be upscaled: 0 = no, 1 = yes
+#ALLOW_UPSCALING=1
+
+# Maximum number of quality layers to decode in supported formats (-1 for all layers)
+# MAX_LAYERS=-1
+
+# TIFF image to use as watermark
+#WATERMARK=
+
+# Probability (between 0.0-1.0) that a tile will have watermark applied
+#WATERMARK_PROBABILITY=1.0
+
+# Opacity (between 0.0-1.0) applied to watermark image
+#WATERMARK_OPACITY=1
+
+#Comma-delimitted list of memcached servers with optional port numbers
+#MEMCACHED_SERVERS=
+
+#Time in seconds that cache remains fresh
+#MEMCACHED_TIMEOUT=86400
+
+# Interpolation method to use for rescaling when using image export
+# 0 = nearest neighbout, 1 = bilinear
+#INTERPOLATION=1
+
+# Cross Origin Resource Sharing setting. Disabled by default
+#CORS=
+
+# Set a base URL for use in IIIF requests if using web server rewriting
+#BASE_URL=
+
+# Set the HTTP Cache-Control header
+#CACHE_CONTROL="max-age=86400"
+
+# Pattern following name stem to indicate an image sequence
+#FILENAME_PATTERN="_pyr_"
diff --git a/net-misc/iipsrv/files/iipsrv.systemd.service b/net-misc/iipsrv/files/iipsrv.systemd.service
new file mode 100644
index 000000000..7641b0ef6
--- /dev/null
+++ b/net-misc/iipsrv/files/iipsrv.systemd.service
@@ -0,0 +1,21 @@
+[Install]
+WantedBy=multi-user.target
+
+[Unit]
+Description=IIPImage server
+After=network.target
+Documentation=https://iipimage.sourceforge.io man:iipsrv(8)
+
+[Service]
+User=iipsrv
+Group=iipsrv
+
+Environment="HOST=0.0.0.0" "PORT=9000" "LOGFILE=/var/log/iipsrv.log"
+EnvironmentFile=-/etc/default/iipsrv
+
+# Make sure logfile is writable by our user
+ExecStartPre=+/bin/sh -ec "if [[ ${LOGFILE} != syslog ]]; then /usr/bin/touch -a ${LOGFILE} && chown iipsrv:iipsrv ${LOGFILE}; fi"
+
+ExecStart=/usr/sbin/iipsrv --bind ${HOST}:${PORT}
+ExecReload=kill -HUP $MAINPID
+Restart=on-failure
diff --git a/net-misc/iipsrv/iipsrv-1.2.ebuild b/net-misc/iipsrv/iipsrv-1.2.ebuild
new file mode 100644
index 000000000..3b3d7fd82
--- /dev/null
+++ b/net-misc/iipsrv/iipsrv-1.2.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit systemd
+
+DESCRIPTION="High performance image server for high resolution and scientific images"
+HOMEPAGE="https://iipimage.sourceforge.io"
+SRC_URI="mirror://sourceforge/iipimage/IIP%20Server/${P}/${P}.tar.bz2"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+
+IUSE="zlib png webp jpeg2k memcached lighttpd apache2"
+
+DEPEND="
+ dev-libs/fcgi
+ media-libs/libjpeg-turbo
+ media-libs/tiff
+ memcached? ( dev-libs/libmemcached-awesome )
+ png? ( media-libs/libpng )
+ webp? ( media-libs/libwebp )
+ jpeg2k? ( media-libs/openjpeg )
+ apache2? ( www-servers/apache[apache2_modules_proxy,apache2_modules_proxy_fcgi] )
+ lighttpd? ( www-servers/lighttpd )"
+
+RDEPEND="
+ acct-user/iipsrv
+ acct-group/iipsrv
+ ${DEPEND}"
+
+BDEPEND="${DEPEND}"
+
+# Skip autoconf m4 macro warning
+QA_CONFIG_IMPL_DECL_SKIP=( TIFFGetVersion )
+
+# Patches to add missing include to RawTile class and remove bundled libfcgi sources
+PATCHES=(
+ "${FILESDIR}/${P}-rawtile.patch"
+ "${FILESDIR}/${P}-make.patch"
+)
+
+src_install() {
+
+ # Rename and install our binary
+ newsbin src/iipsrv.fcgi iipsrv
+ doman man/iipsrv.8
+
+ # Install systemd service
+ systemd_newunit "${FILESDIR}"/${PN}.systemd.service iipsrv.service
+ # Install systemd environment file
+ insinto /etc/default/
+ newins "${FILESDIR}"/${PN}.systemd.conf iipsrv
+
+ # Install OpenRC script and config
+ newinitd "${FILESDIR}"/iipsrv.initd iipsrv
+ newconfd "${FILESDIR}"/iipsrv.confd iipsrv
+
+ # Install Lighttpd configuration
+ if use lighttpd ; then
+ elog "Installing Lighttpd configuration ..."
+ elog "Add line 'include \"iipsrv.conf\"' to /etc/lighttpd/lighttpd.conf and (re)start Lighttpd"
+ insinto /etc/lighttpd/
+ newins "${FILESDIR}"/iipsrv.lighttpd.conf iipsrv.conf
+ fi
+
+ # Install Apache configuration
+ if use apache2 ; then
+ elog "Installing Apache configuration ..."
+ elog "Define PROXY in /etc/conf.d/apache2 and (re)start Apache"
+ insinto /etc/apache2/modules.d/
+ newins "${FILESDIR}"/iipsrv.apache2.conf 20_iipsrv.conf
+ fi
+
+}
diff --git a/net-misc/iipsrv/metadata.xml b/net-misc/iipsrv/metadata.xml
new file mode 100644
index 000000000..24aa69064
--- /dev/null
+++ b/net-misc/iipsrv/metadata.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM 'https://www.gentoo.org/dtd/metadata.dtd'>
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>ruven@users.sourceforge.net</email>
+ <name>Ruven</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+
+ <longdescription>IIPImage is an advanced high-performance feature-rich image server system for web-based streamed viewing
+ and zooming of ultra high-resolution images. It is designed to be fast and bandwidth-efficient with low processor and memory
+ requirements. The system can comfortably handle gigapixel size images as well as advanced image features such as 8, 16 and 32 bits per
+ channel, CIELAB colorimetric images and scientific imagery such as multispectral images and digital elevation maps.</longdescription>
+ <use>
+ <flag name="lighttpd">Add Lighttpd config file</flag>
+ <flag name="apache2">Add Apache mox_proxy_fcgi config file</flag>
+ </use>
+
+ <upstream>
+ <maintainer>
+ <email>ruven@users.sourceforge.net</email>
+ <name>Ruven</name>
+ </maintainer>
+ <changelog>https://github.com/ruven/iipsrv/commits/master</changelog>
+ <doc>https://iipimage.sourceforge.net/documentation/server</doc>
+ <remote-id type="github">ruven/iipsrv</remote-id>
+ <remote-id type="sourceforge">iipimage</remote-id>
+ </upstream>
+
+</pkgmetadata>