Gentoo Archives: gentoo-commits

From: Gilles Dartiguelongue <eva@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: media-libs/libgphoto2/
Date: Sat, 08 Dec 2018 15:41:41
Message-Id: 1544283625.3f95de3a0b7d1cce978b586bfe7e6f7d86548b2e.eva@gentoo
1 commit: 3f95de3a0b7d1cce978b586bfe7e6f7d86548b2e
2 Author: Gilles Dartiguelongue <eva <AT> gentoo <DOT> org>
3 AuthorDate: Fri Dec 7 18:56:05 2018 +0000
4 Commit: Gilles Dartiguelongue <eva <AT> gentoo <DOT> org>
5 CommitDate: Sat Dec 8 15:40:25 2018 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3f95de3a
7
8 media-libs/libgphoto2: 2.5.16 → 2.5.20
9
10 Mostly new camera support.
11
12 Package-Manager: Portage-2.3.52, Repoman-2.3.12
13 Signed-off-by: Gilles Dartiguelongue <eva <AT> gentoo.org>
14
15 media-libs/libgphoto2/Manifest | 1 +
16 media-libs/libgphoto2/libgphoto2-2.5.20.ebuild | 211 +++++++++++++++++++++++++
17 2 files changed, 212 insertions(+)
18
19 diff --git a/media-libs/libgphoto2/Manifest b/media-libs/libgphoto2/Manifest
20 index d8093584af7..e04d37a15d4 100644
21 --- a/media-libs/libgphoto2/Manifest
22 +++ b/media-libs/libgphoto2/Manifest
23 @@ -1,2 +1,3 @@
24 DIST libgphoto2-2.5.14.tar.bz2 6992238 BLAKE2B 6173ada55f032ae2b630db5324c87ad9bebb3fda485fe9bc89a042d192a136a73596a92b1df3c762ffd7168cf91ca12f1fa2998e154152eb19cfd9b780ee2b2d SHA512 6dd75700e2b2afdf87f7eab4c62fbbe2c42f9154d644edfae25e3d5fbe5ed0894be832cc1367933fc6c113a1cc379d1956fecf108d6ee240935b9d7e2f614688
25 DIST libgphoto2-2.5.16.tar.bz2 7006551 BLAKE2B 79082e691d4d9061cc35c35cabd7d0d16407764df43f8abbc7ff80f7a2b734da78a2a74a17ec2e014d9050c75235c700f3de90b61ca9fb0d68fdcc7dde64269e SHA512 7863192c2959ffc8d771eca294adc54090192e3207cf8d3a9bf143e50034c3f1248e7fe41cad75f758ab2ad09c9258d50967b921adf3223d7c74370faa110a9e
26 +DIST libgphoto2-2.5.20.tar.bz2 7290524 BLAKE2B 0b616863fa74430f16d96a37955f655620a88fb2df2220fbe9337eb0f61b7babd9d36e1f1d58f45ca617c57feab93e9714228eae54c742385c3e4b0fc3667ff5 SHA512 13364a8fdfe137a21ebf04dfd2b30b20c7fb652e11e1b98cd06176e9a1576ef8f67121523111395100ed39d1d3e6e5d6d458b86d58502f7056a1c06a5623640a
27
28 diff --git a/media-libs/libgphoto2/libgphoto2-2.5.20.ebuild b/media-libs/libgphoto2/libgphoto2-2.5.20.ebuild
29 new file mode 100644
30 index 00000000000..02cbf96621a
31 --- /dev/null
32 +++ b/media-libs/libgphoto2/libgphoto2-2.5.20.ebuild
33 @@ -0,0 +1,211 @@
34 +# Copyright 1999-2018 Gentoo Authors
35 +# Distributed under the terms of the GNU General Public License v2
36 +
37 +# TODO
38 +# 1. Track upstream bug --disable-docs does not work.
39 +# https://sourceforge.net/p/gphoto/bugs/643/
40 +
41 +EAPI=6
42 +inherit eutils multilib multilib-minimal udev user
43 +
44 +DESCRIPTION="Library that implements support for numerous digital cameras"
45 +HOMEPAGE="http://www.gphoto.org/"
46 +SRC_URI="mirror://sourceforge/gphoto/${P}.tar.bz2"
47 +
48 +LICENSE="GPL-2"
49 +
50 +# FIXME: should we also bump for libgphoto2_port.so soname version?
51 +SLOT="0/6" # libgphoto2.so soname version
52 +
53 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
54 +IUSE="doc examples exif gd jpeg nls serial"
55 +
56 +# By default, drivers for all supported cameras will be compiled.
57 +# If you want to only compile for specific camera(s), set CAMERAS
58 +# environment to a space-separated list (no commas) of drivers that
59 +# you want to build.
60 +IUSE_CAMERAS="
61 + adc65 agfa_cl20 aox ax203
62 + barbie
63 + canon casio_qv clicksmart310
64 + digigr8 digita dimagev dimera3500 directory
65 + enigma13
66 + fuji
67 + gsmart300
68 + hp215
69 + iclick
70 + jamcam jd11 jl2005a jl2005c
71 + kodak_dc120 kodak_dc210 kodak_dc240 kodak_dc3200 kodak_ez200 konica konica_qm150
72 + largan lg_gsm
73 + mars mustek
74 + panasonic_coolshot panasonic_l859 panasonic_dc1000 panasonic_dc1580 pccam300 pccam600 pentax polaroid_pdc320 polaroid_pdc640 polaroid_pdc700 ptp2
75 + ricoh ricoh_g3
76 + samsung sierra sipix_blink2 sipix_web2 smal sonix sony_dscf1 sony_dscf55 soundvision spca50x sq905 st2205 stv0674 stv0680 sx330z
77 + toshiba_pdrm11 topfield tp6801
78 +"
79 +
80 +for camera in ${IUSE_CAMERAS}; do
81 + IUSE="${IUSE} +cameras_${camera}"
82 +done
83 +
84 +# libgphoto2 actually links to libltdl
85 +RDEPEND="
86 + >=dev-libs/libxml2-2.9.1-r4:2[${MULTILIB_USEDEP}]
87 + dev-libs/libltdl:0[${MULTILIB_USEDEP}]
88 + >=virtual/libusb-1-r1:1[${MULTILIB_USEDEP}]
89 + cameras_ax203? ( >=media-libs/gd-2.0.35-r4:=[${MULTILIB_USEDEP}] )
90 + cameras_st2205? ( >=media-libs/gd-2.0.35-r4:=[${MULTILIB_USEDEP}] )
91 + exif? ( >=media-libs/libexif-0.6.21-r1:=[${MULTILIB_USEDEP}] )
92 + gd? ( >=media-libs/gd-2.0.35-r4:=[jpeg=,${MULTILIB_USEDEP}] )
93 + jpeg? ( >=virtual/jpeg-0-r2:0[${MULTILIB_USEDEP}] )
94 + serial? ( >=dev-libs/lockdev-1.0.3.1.2-r2[${MULTILIB_USEDEP}] )
95 + !<sys-fs/udev-201
96 +"
97 +DEPEND="${RDEPEND}
98 + dev-util/gtk-doc-am
99 + sys-devel/flex
100 + >=sys-devel/gettext-0.14.1
101 + >=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}]
102 + doc? ( app-doc/doxygen )
103 +"
104 +
105 +MULTILIB_CHOST_TOOLS=(
106 + /usr/bin/gphoto2-port-config
107 + /usr/bin/gphoto2-config
108 +)
109 +
110 +pkg_pretend() {
111 + if ! echo "${USE}" | grep "cameras_" > /dev/null 2>&1; then
112 + einfo "No camera drivers will be built since you did not specify any."
113 + fi
114 +}
115 +
116 +pkg_setup() {
117 + enewgroup plugdev
118 +}
119 +
120 +src_prepare() {
121 + default
122 +
123 + # Handle examples ourselves
124 + sed 's/^\(SUBDIRS =.*\)examples\(.*\)$/\1\2/' -i Makefile.am Makefile.in \
125 + || die "examples sed failed"
126 +
127 + sed -e 's/sleep 2//' -i configure || die
128 +}
129 +
130 +multilib_src_configure() {
131 + local myconf
132 + use doc || myconf=( ac_cv_path_DOXYGEN=false )
133 +
134 + # Upstream doesn't default to --enable-option-checking due having another
135 + # configure in libgphoto2_port/ that also needs to be checked on every bump
136 + #
137 + # Serial port uses either lockdev or ttylock, but we don't have ttylock
138 + # --with-doc-dir needed to prevent duplicate docs installation, bug #586842
139 + ECONF_SOURCE=${S} \
140 + econf \
141 + --with-doc-dir="${EPREFIX}"/usr/share/doc/${PF} \
142 + --disable-docs \
143 + --disable-gp2ddb \
144 + $(use_enable nls) \
145 + $(use_with exif libexif auto) \
146 + $(use_with gd) \
147 + $(use_with jpeg) \
148 + $(use_enable serial) \
149 + $(use_enable serial lockdev) \
150 + --with-libusb=no \
151 + --with-libusb-1.0=auto \
152 + --disable-ttylock \
153 + --with-camlibs=${cameras} \
154 + --with-hotplug-doc-dir="${EPREFIX}"/usr/share/doc/${PF}/hotplug \
155 + --with-rpmbuild=$(type -P true) \
156 + udevscriptdir="$(get_udevdir)" \
157 + "${myconf[@]}"
158 +}
159 +
160 +src_configure() {
161 + local cameras
162 + local cam
163 + local cam_warn=no
164 + for cam in ${IUSE_CAMERAS} ; do
165 + if use "cameras_${cam}"; then
166 + cameras="${cameras},${cam}"
167 + else
168 + cam_warn=yes
169 + fi
170 + done
171 +
172 + if [ "${cam_warn}" = "yes" ]; then
173 + [ -z "${cameras}" ] || cameras="${cameras:1}"
174 + einfo "Enabled camera drivers: ${cameras:-none}"
175 + einfo "Upstream will not support you if you do not compile all camera drivers first"
176 + else
177 + cameras="all"
178 + einfo "Enabled camera drivers: all"
179 + fi
180 +
181 + multilib-minimal_src_configure
182 +}
183 +
184 +multilib_src_compile() {
185 + default
186 +
187 + if multilib_is_native_abi && use doc; then
188 + doxygen doc/Doxyfile || die "Documentation generation failed"
189 + fi
190 +}
191 +
192 +multilib_src_install_all() {
193 + prune_libtool_files --modules
194 +
195 + einstalldocs
196 + dodoc TESTERS MAINTAINERS HACKING
197 +
198 + if use examples; then
199 + insinto /usr/share/doc/${PF}/examples
200 + doins examples/README examples/*.c examples/*.h
201 + fi
202 +
203 + # FIXME: fixup autoconf bug #????
204 + if ! use doc && [ -d "${ED}/usr/share/doc/${PF}/apidocs.html" ]; then
205 + rm -fr "${ED}/usr/share/doc/${PF}/apidocs.html"
206 + fi
207 + # end fixup
208 +
209 + local udev_rules cam_list
210 + udev_rules="$(get_udevdir)/rules.d/70-libgphoto2.rules"
211 + cam_list="/usr/$(get_libdir)/libgphoto2/print-camera-list"
212 +
213 + if [ -x "${ED}"${cam_list} ]; then
214 + # Let print-camera-list find libgphoto2.so
215 + export LD_LIBRARY_PATH="${ED}/usr/$(get_libdir)"
216 + # Let libgphoto2 find its camera-modules
217 + export CAMLIBS="${ED}/usr/$(get_libdir)/libgphoto2/${PV}"
218 +
219 + einfo "Generating UDEV-rules ..."
220 + mkdir -p "${ED}"/${udev_rules%/*}
221 + echo -e "# do not edit this file, it will be overwritten on update\n#" \
222 + > "${ED}"/${udev_rules}
223 + "${ED}"${cam_list} udev-rules version 201 group plugdev >> "${ED}"/${udev_rules} \
224 + || die "failed to create udev-rules"
225 + else
226 + eerror "Unable to find print-camera-list"
227 + eerror "and therefore unable to generate hotplug usermap."
228 + eerror "You will have to manually generate it by running:"
229 + eerror " ${cam_list} udev-rules version 201 group plugdev > ${udev_rules}"
230 + fi
231 +
232 +}
233 +
234 +pkg_postinst() {
235 + if ! has_version "sys-auth/consolekit[acl]" && ! has_version "sys-apps/systemd[acl]" && ! has_version "sys-auth/elogind[acl]" ; then
236 + elog "Don't forget to add yourself to the plugdev group "
237 + elog "if you want to be able to access your camera."
238 + fi
239 +
240 + local old_udev_rules="${EROOT}"etc/udev/rules.d/99-libgphoto2.rules
241 + if [[ -f ${old_udev_rules} ]]; then
242 + rm -f "${old_udev_rules}"
243 + fi
244 +}