Gentoo Archives: gentoo-commits

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