forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Package-Manager: portage-2.2.20.1
- Loading branch information
Showing
2 changed files
with
215 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,3 @@ | ||
DIST libgphoto2-2.5.5.1.tar.bz2 6699687 SHA256 600e6bde24545eef4d2d8285af389a5ae738707becb018c78611b2d8a3054846 SHA512 a274bb553abed2f498b28388b2e2bc1810b4f57823744e7461248020818f1b79430198d81091aaa8ddc18a2a2acc5acf4fce5800e80da5e7ba534f0c094c749a WHIRLPOOL 8831627d38a0d53eecc8cbbd54595f7c0eff93a6b78ba40b1651b36d843c1bb973e8ce07ebeba0bffd3dafe4302abcd2512472b76c3225fedc1df4c827aa5190 | ||
DIST libgphoto2-2.5.7.tar.bz2 6726164 SHA256 7260193277bdb4c319dd8f151224f87deac9fde64cbe5d2eb25d9c19e4d09894 SHA512 eaff704eb4ccfc6f7a2890c6583ece268005d91acbf8c5e192e2ac91e5a2f5f4f6c84b4dfc95773a6e6023fb12cb0e63d75eed8cd4f8a98019069ac6ab4e60f1 WHIRLPOOL 87a2fa5bbff780dce0131bcca90169bc4c273a42f4b99f2d614accba42284c1a6087ff4b1dbc6bdf139b88b95df6e4367404c873ac27b8388e594af2959dd563 | ||
DIST libgphoto2-2.5.8.tar.bz2 6941251 SHA256 031a262e342fae43f724afe66787947ce1fb483277dfe5a8cf1fbe92c58e27b6 SHA512 142957ce3c80e8ac091005ba51b24fc0b199aa46f1a196cb0cfd71e0101d6020f4dd0ec2deb7209ef9ff7b946453b5fd9faf944047c07eb9962d8d52c876b1f4 WHIRLPOOL 0a214237cc646dcf3902e065eae862a4d9b8a9df533e39a5508e41dabd837060a135fac79edb28394ab4638e86513abdeee6ca940ca6fe744833c94432e336c1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,214 @@ | ||
# Copyright 1999-2015 Gentoo Foundation | ||
# Distributed under the terms of the GNU General Public License v2 | ||
# $Id$ | ||
|
||
# TODO | ||
# 1. Track upstream bug --disable-docs does not work. | ||
# http://sourceforge.net/tracker/index.php?func=detail&aid=1643870&group_id=8874&atid=108874 | ||
|
||
EAPI="5" | ||
|
||
inherit eutils multilib multilib-minimal udev user | ||
|
||
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 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~ia64-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=" | ||
>=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}] ) | ||
!<sys-fs/udev-175 | ||
abi_x86_32? ( | ||
!<=app-emulation/emul-linux-x86-medialibs-20140508 | ||
!app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)] | ||
) | ||
" | ||
DEPEND="${RDEPEND} | ||
dev-util/gtk-doc-am | ||
sys-devel/flex | ||
>=sys-devel/gettext-0.14.1 | ||
>=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}] | ||
doc? ( app-doc/doxygen ) | ||
" | ||
|
||
MULTILIB_CHOST_TOOLS=( | ||
/usr/bin/gphoto2-port-config | ||
/usr/bin/gphoto2-config | ||
) | ||
|
||
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 | ||
} | ||
|
||
pkg_setup() { | ||
enewgroup plugdev | ||
} | ||
|
||
src_prepare() { | ||
# Handle examples ourselves | ||
sed 's/^\(SUBDIRS =.*\)examples\(.*\)$/\1\2/' -i Makefile.am Makefile.in \ | ||
|| die "examples sed failed" | ||
|
||
# If running eautoreconf | ||
# sed -e 's/sleep 2//' -i m4m/gp-camlibs.m4 || die | ||
sed -e 's/sleep 2//' -i configure || die | ||
} | ||
|
||
multilib_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}" | ||
ewarn "Upstream will not support you if you do not compile all camera drivers first" | ||
else | ||
cameras="all" | ||
einfo "Enabled camera drivers: all" | ||
fi | ||
|
||
local myconf | ||
use doc || myconf=( ac_cv_path_DOXYGEN=false ) | ||
|
||
# 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 | ||
ECONF_SOURCE=${S} \ | ||
econf \ | ||
--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-doc-dir="${EPREFIX}"/usr/share/doc/${PF} \ | ||
--with-html-dir="${EPREFIX}"/usr/share/doc/${PF}/html \ | ||
--with-hotplug-doc-dir="${EPREFIX}"/usr/share/doc/${PF}/hotplug \ | ||
--with-rpmbuild=$(type -P true) \ | ||
udevscriptdir="$(get_udevdir)" \ | ||
"${myconf[@]}" | ||
} | ||
|
||
multilib_src_compile() { | ||
default | ||
|
||
if multilib_is_native_abi && use doc; then | ||
doxygen doc/Doxyfile || die "Documentation generation failed" | ||
fi | ||
} | ||
|
||
multilib_src_install_all() { | ||
prune_libtool_files --modules | ||
|
||
# Clean up unwanted files | ||
rm "${ED}/usr/share/doc/${PF}/"{ABOUT-NLS,COPYING} || die "rm failed" | ||
dodoc ChangeLog NEWS* README* AUTHORS TESTERS MAINTAINERS HACKING | ||
|
||
if use examples; then | ||
insinto /usr/share/doc/${PF}/examples | ||
doins 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 175 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 175 group plugdev > ${udev_rules}" | ||
fi | ||
|
||
} | ||
|
||
pkg_postinst() { | ||
if ! has_version "sys-auth/consolekit[acl]" && ! has_version "sys-apps/systemd[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 | ||
} |