summaryrefslogtreecommitdiff
path: root/media-libs/libgphoto2
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-01-16 20:27:28 +0000
committerV3n3RiX <venerix@koprulu.sector>2022-01-16 20:27:28 +0000
commit2fd57282f0262ca084e05b0f2c63fbada395d02b (patch)
tree4e0f23cea9ce9fd972e70ebc5214bf36fed465cc /media-libs/libgphoto2
parentc3bc61051d7f12b4c682efa7a5460bbc8815649e (diff)
gentoo resync : 16.01.2021
Diffstat (limited to 'media-libs/libgphoto2')
-rw-r--r--media-libs/libgphoto2/Manifest3
-rw-r--r--media-libs/libgphoto2/files/2.5.28-configure-Allow-with-jpeg-yes-argument-again.patch197
-rw-r--r--media-libs/libgphoto2/libgphoto2-2.5.28.ebuild214
3 files changed, 414 insertions, 0 deletions
diff --git a/media-libs/libgphoto2/Manifest b/media-libs/libgphoto2/Manifest
index 86d154718afb..e048bd41bebc 100644
--- a/media-libs/libgphoto2/Manifest
+++ b/media-libs/libgphoto2/Manifest
@@ -1,3 +1,6 @@
+AUX 2.5.28-configure-Allow-with-jpeg-yes-argument-again.patch 6423 BLAKE2B ef91e230e39cb4a57db00b858f7375c1e2d62dd390373b2d70ba9ec4f2950c7a2ccc753ce467de9569c2888f2cd2c4d8f9333edd90a905a98b76b091f1184e82 SHA512 4bfe532bf3148627146310b4ab21814042402a7f0c78411ca5af2d992102d6be82b9675ba90df4c427843faede90bcdbe6e78b700cb4c83e7a2ef3e0b9371465
DIST libgphoto2-2.5.27.tar.bz2 7540660 BLAKE2B 6fa2d54497e2162b8e9a4be17a8fe74c6e13ccf15d8fe873649c4285188d86e45cbe8359572bcfd252f1abce28ac327d3333fcb62ad958e6f992c9e11fff4fb1 SHA512 7cc82977e62034c539c7e62bff62ee61a299d3adb0c42e88b8e5521e75eedbc22437b9520af8a4bbd7dc0639ce5a8a10b1f5e5e8075e9b73a566da9061c958f8
+DIST libgphoto2-2.5.28.tar.bz2 7399434 BLAKE2B 3feed613fd84cbea6109afa2ce643ad8be9b3df14cf332cbd93a8260d7082756f5278578b4052a289b954751a82a2f62583ea327ce96255bd653912130319bfc SHA512 5898d35a991361a6cc6824cb88aab79326b59e4080b5e885e1619667d11c4a92d24a1d3fbdbd6af49696508ace1eba1b17bf2f406c72dc9ad69bcf019bc86eec
EBUILD libgphoto2-2.5.27-r1.ebuild 6138 BLAKE2B 83d032cea7648fd9abab34677882082dc9589fa568e6d3451e48c63a8e35b774a41071ccd0c6249b7c3efb2d28cc4fc411827a8bd7b5a5aeeeab5f6730fdf336 SHA512 7f313d046bc0a3ae0cddb1b09b6b5ea472d14a741305bfdc9427872e8b1bcf221793ee20d0e4c86fc1bc83d61e614298efe96cf20da6e032d9d1c73e923e3256
+EBUILD libgphoto2-2.5.28.ebuild 6270 BLAKE2B 0bc7d864dc6e6942e52ca5ee014938688b5a2d47092d3367bc69fb2db842726604497ec6acbc8227a846239ce4c620c86806d76881b90e9a82d7ffcae1a36b15 SHA512 9228db88081ea83e025bbb5b800e6a2e2a36824a629a8263c5dd0dc0687bf92a547b457f820047c65abec6cfedb21f5fca97be06afd5340975e6e5aed278acac
MISC metadata.xml 401 BLAKE2B 114b82879f1ab00f4b6b0784a675fc50ba303fee05355f5d6edf32e3f5d3e3015f43e8f300fb9ff45b9dc9100a30431d0458ea8fe1c868090ad739e83587053e SHA512 87a96a6120a0a29c1b05aa43c1548cea9d7fcf0ff3c5815c3369dac7545c8ca05f5a7795f870566bd264cb2873fdf6a79a7dea92d318fca8078d8ec6d8c6a2e3
diff --git a/media-libs/libgphoto2/files/2.5.28-configure-Allow-with-jpeg-yes-argument-again.patch b/media-libs/libgphoto2/files/2.5.28-configure-Allow-with-jpeg-yes-argument-again.patch
new file mode 100644
index 000000000000..62450f7eb34b
--- /dev/null
+++ b/media-libs/libgphoto2/files/2.5.28-configure-Allow-with-jpeg-yes-argument-again.patch
@@ -0,0 +1,197 @@
+From 613b00785932198ba09d510e2b1aab5aa62e66e4 Mon Sep 17 00:00:00 2001
+From: Hans Ulrich Niedermann <hun@n-dimensional.de>
+Date: Mon, 10 Jan 2022 00:24:06 +0100
+Subject: [PATCH] configure: Allow --with-jpeg=yes argument again
+
+Allow the --with-jpeg=yes configure argument again. This
+was broken by commit ea00220b6f44a00c2efa792c538f1804ebe183c2.
+
+The GP_LIBJPEG macro in the configure script now handles the following cases:
+
+ --with-jpeg=no
+ --without-jpeg
+ Do not use libjpeg. Do not autodetect it either.
+
+ --with-jpeg
+ --with-jpeg=yes
+ Autodetect libjpeg. If not found, abort.
+
+ <no argument given>
+ --with-jpeg=auto
+ --with-jpeg=autodetect
+ Autodetect libjpeg. If found, use it.
+
+However, it does *NOT* handle
+
+ --with-jpeg=/path/to/somewhere
+
+at this time. Set LIBJPEG_CFLAGS and/or LIBJPEG_LIBS
+instead to specify which libjpeg to compile with and
+link against.
+
+This mostly matches the behaviour from before commit
+ea00220b6f44a00c2efa792c538f1804ebe183c2, which was
+
+ --with-jpeg=no
+ --without-jpeg
+ Do not use libjpeg. Do not autodetect it either.
+
+ --with-jpeg
+ --with-jpeg=yes
+ --with-jpeg=<any value other than "no">
+ Autodetect libjpeg. If found, use it. Otherwise, silently
+ ignore the user's wish to build with libjpeg.
+
+ <no argument given>
+ Autodetect libjpeg. If found, use it.
+
+If someone is running configure with --with-jpeg=yes and
+libjpeg cannot be used, we can assume that building without
+using libjpeg is not the outcome the user expects.
+
+Fixes: https://github.com/gphoto/libgphoto2/issues/759
+Closes: https://github.com/gphoto/libgphoto2/pull/760
+---
+ libgphoto2_port/gphoto-m4/gp-libjpeg.m4 | 99 +++++++++++++++++++------
+ 1 file changed, 76 insertions(+), 23 deletions(-)
+
+diff --git a/libgphoto2_port/gphoto-m4/gp-libjpeg.m4 b/libgphoto2_port/gphoto-m4/gp-libjpeg.m4
+index e707408d1..a60a15f03 100644
+--- a/libgphoto2_port/gphoto-m4/gp-libjpeg.m4
++++ b/libgphoto2_port/gphoto-m4/gp-libjpeg.m4
+@@ -2,9 +2,14 @@ dnl ####################################################################
+ dnl GP_LIBJPEG
+ dnl ####################################################################
+ dnl
++dnl Define the libjpeg related compile and linker flags depending on
++dnl configure arguments and availability on the system.
++dnl
+ dnl * If --without-jpeg or --with-jpeg=no is given, build without
+ dnl libjpeg support.
+-dnl * If not explicitly disabled by --without-jpeg, autodetect libjpeg.
++dnl
++dnl * If --with-jpeg=auto or --with-jpeg=autodetect is given,
++dnl autodetect libjpeg:
+ dnl * If any of LIBJPEG_(CFLAGS|LIBS) is explicitly given, try
+ dnl compile+link using that.
+ dnl * If compile+link works, use that.
+@@ -18,28 +23,87 @@ dnl * If libjpeg.pc has not been found, try default location.
+ dnl * If compile+link works, use that.
+ dnl * If compile+link fails, build without libjpeg.
+ dnl
++dnl * If --with-jpeg or --with-jpeg=yes is given, autodetect as
++dnl described above, but abort with an error message if libjpeg
++dnl could not be found.
++dnl
++dnl * If neither --with-jpeg nor --without-jpeg are explicitly given,
++dnl run the above autodetect sequence.
++dnl
+ AC_DEFUN([GP_LIBJPEG], [dnl
+ dnl
+ AC_MSG_CHECKING([whether to build with libjpeg])
+ AC_ARG_WITH([jpeg],
+ [AS_HELP_STRING([--without-jpeg],
+- [Build without libjpeg (default: with libjpeg)])],
+- [dnl just keep the with-jpeg however it is given
+- AS_VAR_IF([with_jpeg], [no], [], [dnl
+- AC_MSG_ERROR([
+-Unhandled value given to --with-jpeg / --without-jpeg: '$with_jpeg'
+-])
+- ])
+-], [dnl
+- with_jpeg=autodetect
++ [Build without libjpeg (default: autodetect)])],
++ [dnl Normalize --with-jpeg=ARG argument value
++ AS_CASE([$with_jpeg],
++ [autodetect], [with_jpeg=auto],
++ )
++], [dnl Default value
++ with_jpeg=auto
+ ])
++dnl
+ AC_MSG_RESULT([$with_jpeg])
+ dnl
+-AS_VAR_IF([with_jpeg], [no], [dnl Not using libjpeg, so no checks are needed
++AS_CASE([$with_jpeg],
++[no], [
+ # libjpeg explictly disabled from command line
+ GP_CONFIG_MSG([JPEG mangling support],
+ [no (disabled by --without-jpeg)])
+-], [dnl
++],
++[auto|yes], [
++ GP_LIBJPEG_AUTODETECT
++
++ AS_VAR_IF([have_libjpeg], [no], [dnl
++ AS_VAR_IF([with_jpeg], [yes], [dnl
++ AC_MSG_ERROR([
++libjpeg has been requested explicitly (--with-jpeg=yes), but could not be
++found and made to work.
++])
++ ], [dnl
++ GP_CONFIG_MSG([JPEG mangling support],
++ [${have_libjpeg} (could not find working libjpeg)])
++ ])
++ ], [dnl
++ AC_DEFINE([HAVE_LIBJPEG], [1],
++ [define if building with libjpeg])
++ GP_CONFIG_MSG([JPEG mangling support],
++ [${have_libjpeg}])
++ ])
++],
++[AC_MSG_ERROR([
++Unhandled value given to --with-jpeg: ${with_jpeg}
++
++To allow the auto-detection of libjpeg, set up the pkg-config related
++environment variables (PKG_CONFIG, PKG_CONFIG_PATH, PKG_CONFIG_LIBDIR)
++or have libjpeg installed in the standard location to include from and
++link to.
++
++To force specific compile and link flags for libjpeg, set the
++environment variables LIBJPEG_CFLAGS and $LIBJPEG_LIBS accordingly.
++])
++])
++])dnl
++dnl
++dnl
++dnl ####################################################################
++dnl GP_LIBJPEG_AUTODETECT
++dnl
++dnl Do the actual autodetection of libjpeg, setting
++dnl
++dnl have_libjpeg=yes
++dnl If libjpeg has been found and can be both compiled with and
++dnl linked against.
++dnl
++dnl have_libjpeg=no
++dnl If libjpeg has not been found or cannot be compiled with or
++dnl cannot be linked against.
++dnl
++dnl Used once: By GP_LIBJPEG to make the GP_LIBJPEG code more readable.
++dnl ####################################################################
++dnl
++AC_DEFUN([GP_LIBJPEG_AUTODETECT], [dnl
+ have_libjpeg=no
+
+ AC_MSG_CHECKING([for libjpeg via variables])
+@@ -78,17 +142,6 @@ libjpeg not found despite LIBJPEG_CFLAGS and/or LIBJPEG_LIBS being set.
+ ])
+ ])
+ ])
+-
+- AS_VAR_IF([have_libjpeg], [no], [dnl
+- GP_CONFIG_MSG([JPEG mangling support],
+- [${have_libjpeg} (requires libjpeg)])
+- ], [dnl
+- AC_DEFINE([HAVE_LIBJPEG], [1],
+- [define if building with libjpeg])
+- GP_CONFIG_MSG([JPEG mangling support],
+- [${have_libjpeg}])
+- ])
+-])
+ ])dnl
+ dnl
+ dnl
+--
+2.34.1
+
diff --git a/media-libs/libgphoto2/libgphoto2-2.5.28.ebuild b/media-libs/libgphoto2/libgphoto2-2.5.28.ebuild
new file mode 100644
index 000000000000..21661ad1025e
--- /dev/null
+++ b/media-libs/libgphoto2/libgphoto2-2.5.28.ebuild
@@ -0,0 +1,214 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# TODO
+# 1. Track upstream bug --disable-docs does not work.
+# https://sourceforge.net/p/gphoto/bugs/643/
+
+EAPI=7
+inherit autotools multilib-minimal udev
+
+DESCRIPTION="Library that implements support for numerous digital cameras"
+HOMEPAGE="http://www.gphoto.org/"
+SRC_URI="mirror://sourceforge/gphoto/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+
+# FIXME: should we also bump for libgphoto2_port.so soname version?
+SLOT="0/6" # libgphoto2.so soname version
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples exif gd jpeg nls serial"
+
+# By default, drivers for all supported cameras will be compiled.
+# If you want to only compile for specific camera(s), set CAMERAS
+# environment to a space-separated list (no commas) of drivers that
+# you want to build.
+IUSE_CAMERAS="
+ adc65 agfa_cl20 aox ax203
+ barbie
+ canon casio_qv clicksmart310
+ digigr8 digita dimagev dimera3500 directory
+ enigma13
+ fuji
+ gsmart300
+ hp215
+ iclick
+ jamcam jd11 jl2005a jl2005c
+ kodak_dc120 kodak_dc210 kodak_dc240 kodak_dc3200 kodak_ez200 konica konica_qm150
+ largan lg_gsm
+ mars mustek
+ panasonic_coolshot panasonic_l859 panasonic_dc1000 panasonic_dc1580 pccam300 pccam600 pentax polaroid_pdc320 polaroid_pdc640 polaroid_pdc700 ptp2
+ ricoh ricoh_g3
+ samsung sierra sipix_blink2 sipix_web2 smal sonix sony_dscf1 sony_dscf55 soundvision spca50x sq905 st2205 stv0674 stv0680 sx330z
+ toshiba_pdrm11 topfield tp6801
+"
+
+for camera in ${IUSE_CAMERAS}; do
+ IUSE="${IUSE} +cameras_${camera}"
+done
+
+# libgphoto2 actually links to libltdl
+RDEPEND="
+ acct-group/plugdev
+ >=dev-libs/libxml2-2.9.1-r4:2[${MULTILIB_USEDEP}]
+ dev-libs/libltdl:0[${MULTILIB_USEDEP}]
+ >=virtual/libusb-1-r1:1[${MULTILIB_USEDEP}]
+ cameras_ax203? ( >=media-libs/gd-2.0.35-r4:=[${MULTILIB_USEDEP}] )
+ cameras_st2205? ( >=media-libs/gd-2.0.35-r4:=[${MULTILIB_USEDEP}] )
+ exif? ( >=media-libs/libexif-0.6.21-r1:=[${MULTILIB_USEDEP}] )
+ gd? ( >=media-libs/gd-2.0.35-r4:=[jpeg=,${MULTILIB_USEDEP}] )
+ jpeg? ( >=virtual/jpeg-0-r2:0[${MULTILIB_USEDEP}] )
+ serial? ( >=dev-libs/lockdev-1.0.3.1.2-r2[${MULTILIB_USEDEP}] )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ dev-util/gtk-doc-am
+ sys-devel/flex
+ >=sys-devel/gettext-0.14.1
+ virtual/pkgconfig
+ doc? ( app-doc/doxygen )
+"
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/gphoto2-port-config
+ /usr/bin/gphoto2-config
+)
+
+PATCHES=(
+ "${FILESDIR}"/${PV}-configure-Allow-with-jpeg-yes-argument-again.patch
+)
+
+pkg_pretend() {
+ if ! echo "${USE}" | grep "cameras_" > /dev/null 2>&1; then
+ einfo "No camera drivers will be built since you did not specify any."
+ fi
+}
+
+src_prepare() {
+ default
+
+ # Handle examples ourselves
+ sed 's/^\(SUBDIRS =.*\)examples\(.*\)$/\1\2/' -i Makefile.am Makefile.in \
+ || die "examples sed failed"
+
+ sed -e 's/sleep 2//' -i configure || die
+
+ eautoreconf # For configure.ac patching
+}
+
+multilib_src_configure() {
+ local myconf
+ use doc || myconf=( ac_cv_path_DOXYGEN=no )
+
+ # Upstream doesn't default to --enable-option-checking due having another
+ # configure in libgphoto2_port/ that also needs to be checked on every bump
+ #
+ # Serial port uses either lockdev or ttylock, but we don't have ttylock
+ # --with-doc-dir needed to prevent duplicate docs installation, bug #586842
+ ECONF_SOURCE=${S} \
+ econf \
+ --with-doc-dir="${EPREFIX}"/usr/share/doc/${PF} \
+ --disable-docs \
+ --disable-gp2ddb \
+ $(use_enable nls) \
+ $(use_with exif libexif auto) \
+ $(use_with gd) \
+ $(use_with jpeg) \
+ $(use_enable serial) \
+ $(use_enable serial lockdev) \
+ --with-libusb=no \
+ --with-libusb-1.0=auto \
+ --disable-ttylock \
+ --with-camlibs=${cameras} \
+ --with-hotplug-doc-dir="${EPREFIX}"/usr/share/doc/${PF}/hotplug \
+ --with-rpmbuild=$(type -P true) \
+ udevscriptdir="$(get_udevdir)" \
+ "${myconf[@]}"
+}
+
+src_configure() {
+ local cameras
+ local cam
+ local cam_warn=no
+ for cam in ${IUSE_CAMERAS} ; do
+ if use "cameras_${cam}"; then
+ cameras="${cameras},${cam}"
+ else
+ cam_warn=yes
+ fi
+ done
+
+ if [ "${cam_warn}" = "yes" ]; then
+ [ -z "${cameras}" ] || cameras="${cameras:1}"
+ einfo "Enabled camera drivers: ${cameras:-none}"
+ einfo "Upstream will not support you if you do not compile all camera drivers first"
+ else
+ cameras="all"
+ einfo "Enabled camera drivers: all"
+ fi
+
+ multilib-minimal_src_configure
+}
+
+multilib_src_compile() {
+ default
+
+ if multilib_is_native_abi && use doc; then
+ doxygen doc/Doxyfile || die "Documentation generation failed"
+ fi
+}
+
+multilib_src_install_all() {
+ find "${ED}" -name '*.la' -delete || die
+
+ einstalldocs
+ dodoc TESTERS MAINTAINERS
+
+ if use examples; then
+ docinto examples
+ dodoc examples/README examples/*.c examples/*.h
+ fi
+
+ # FIXME: fixup autoconf bug #????
+ if ! use doc && [ -d "${ED}/usr/share/doc/${PF}/apidocs.html" ]; then
+ rm -fr "${ED}/usr/share/doc/${PF}/apidocs.html"
+ fi
+ # end fixup
+
+ local udev_rules cam_list
+ udev_rules="$(get_udevdir)/rules.d/70-libgphoto2.rules"
+ cam_list="/usr/$(get_libdir)/libgphoto2/print-camera-list"
+
+ if [ -x "${ED}"/${cam_list} ]; then
+ # Let print-camera-list find libgphoto2.so
+ export LD_LIBRARY_PATH="${ED}/usr/$(get_libdir)"
+ # Let libgphoto2 find its camera-modules
+ export CAMLIBS="${ED}/usr/$(get_libdir)/libgphoto2/${PV}"
+
+ einfo "Generating UDEV-rules ..."
+ mkdir -p "${ED}"/${udev_rules%/*}
+ echo -e "# do not edit this file, it will be overwritten on update\n#" \
+ > "${ED}"/${udev_rules}
+ "${ED}"${cam_list} udev-rules version 201 group plugdev >> "${ED}"/${udev_rules} \
+ || die "failed to create udev-rules"
+ else
+ eerror "Unable to find print-camera-list"
+ eerror "and therefore unable to generate hotplug usermap."
+ eerror "You will have to manually generate it by running:"
+ eerror " ${cam_list} udev-rules version 201 group plugdev > ${udev_rules}"
+ fi
+
+}
+
+pkg_postinst() {
+ if ! has_version "sys-auth/consolekit[acl]" && ! has_version "sys-apps/systemd[acl]" && ! has_version "sys-auth/elogind[acl]" ; then
+ elog "Don't forget to add yourself to the plugdev group "
+ elog "if you want to be able to access your camera."
+ fi
+
+ local old_udev_rules="${EROOT}"/etc/udev/rules.d/99-libgphoto2.rules
+ if [[ -f ${old_udev_rules} ]]; then
+ rm -f "${old_udev_rules}"
+ fi
+}