summaryrefslogtreecommitdiff
path: root/libraries/libgphoto2/libgphoto2.SlackBuild
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/libgphoto2/libgphoto2.SlackBuild')
-rw-r--r--libraries/libgphoto2/libgphoto2.SlackBuild113
1 files changed, 68 insertions, 45 deletions
diff --git a/libraries/libgphoto2/libgphoto2.SlackBuild b/libraries/libgphoto2/libgphoto2.SlackBuild
index 7952a49ea2..16ca223f4e 100644
--- a/libraries/libgphoto2/libgphoto2.SlackBuild
+++ b/libraries/libgphoto2/libgphoto2.SlackBuild
@@ -2,23 +2,30 @@
# Slackware build script for libgphoto2
-# Written by Frank Caraballo <fecaraballo[AT]gmail.com>
-# No Guarantees. Use this SlackBuild at your own risk.
-# Public Domain
-
-# Modified by Michael Wagner <lapinours@web.de>
-# (change group ownership for udev rules to plugdev, adjust README)
-# Do not blame the original author if anything goes wrong with these changes.
-
-# Modified by Robby Workman <rworkman@slackbuilds.org> to fix a bug in
-# the way the fdi files are created (the xml header must be the first line,
-# so we can't append the autogenerated rules - they must overwrite the file)
-# Thanks to amrit for the report.
+# Copyright 2007-2008 Frank Caraballo <fecaraballo{at}gmail{dot}com>
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=libgphoto2
-VERSION=2.4.0
+VERSION=2.4.3
ARCH=${ARCH:-i486}
-BUILD=${BUILD:-3}
+BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
CWD=$(pwd)
@@ -26,25 +33,33 @@ TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
-DOCS="ABOUT-NLS ChangeLog HACKING INSTALL MAINTAINERS README.in TESTERS"
-
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
fi
+set -e
+
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
-cd $TMP || exit 1
+cd $TMP
rm -rf $PRGNAM-$VERSION
-tar -xvjf $CWD/$PRGNAM-$VERSION.tar.bz2 || exit 1
-cd $PRGNAM-$VERSION || exit 1
+tar xvf $CWD/$PRGNAM-$VERSION.tar.bz2
+cd $PRGNAM-$VERSION
chown -R root:root .
-chmod -R u+w,go+r-w,a-s .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
-# Patch print-camera-list.c for newer kernels
-patch -p0 < $CWD/print-camera-list.c.diff || exit 1
+# Fix the usage of obsolete PHYSDEVPATH in favor of DEVPATH in the
+# check-ptp-camera script called by udev
+# https://sourceforge.net/tracker/index.php?func=detail&aid=2110825&group_id=8874&atid=108874
+patch -p1 < $CWD/check-ptp-camera.diff
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
@@ -52,47 +67,55 @@ CXXFLAGS="$SLKCFLAGS" \
--prefix=/usr \
--disable-static \
--mandir=/usr/man \
+ --docdir=/usr/doc/$PRGNAM-$VERSION \
--with-doc-dir=/usr/doc/$PRGNAM-$VERSION \
- || exit 1
-
-make || exit 1
+ --build=$ARCH-slackware-linux
# Make sure udev helper scripts are put in the right place and
# install the other utilities to /usr/bin instead of /usr/lib/libgphoto2/
make \
udevscriptdir=/lib/udev \
+ utilsdir=/usr/bin
+make \
+ udevscriptdir=/lib/udev \
utilsdir=/usr/bin \
- install-strip DESTDIR=$PKG \
- || exit 1
-
-# Install "dummy" udev rules file so it will be removed later if the package
-# is uninstalled; the post-install script will append auto-generated rules
-mkdir -p $PKG/etc/udev/rules.d
-cat << EOF > $PKG/etc/udev/rules.d/90-libgphoto2.rules
-# DO NOT EDIT THIS FILE!
-# Any custom changes will be lost if the libgphoto package is upgraded.
-
-EOF
-
+ install DESTDIR=$PKG
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+# Generate udev rules and hal device information files
+# First, we'll have to set (and export) some important variables
+LD_LIBRARY_PATH=/$PKG/usr/lib
+CAMLIBS=$PKG/usr/lib/$PRGNAM/$VERSION
+LIBDIR=$PKG/usr/lib
+export LD_LIBRARY_PATH CAMLIBS LIBDIR
+# Generate udev rules
+mkdir -p $PKG/etc/udev/rules.d
+$PKG/usr/bin/print-camera-list udev-rules mode 0660 owner root group plugdev \
+ > $PKG/etc/udev/rules.d/90-libgphoto2.rules
+# Generate fdi files
mkdir -p $PKG/usr/share/hal/fdi/information/20thirdparty
-touch $PKG/usr/share/hal/fdi/information/20thirdparty/10-camera-libgphoto2.fdi
-touch $PKG/usr/share/hal/fdi/information/20thirdparty/10-camera-libgphoto2-device.fdi
+$PKG/usr/bin/print-camera-list hal-fdi \
+ > $PKG/usr/share/hal/fdi/information/20thirdparty/10-camera-libgphoto2.fdi
+$PKG/usr/bin/print-camera-list hal-fdi-device \
+ > $PKG/usr/share/hal/fdi/information/20thirdparty/10-camera-libgphoto2-device.fdi
+unset LD_LIBRARY_PATH CAMLIBS LIBDIR # Unset these just in case
-# Compress man pages
-( cd $PKG/usr/man
+( cd $PKG/usr/man || exit 1
find . -type f -exec gzip -9 {} \;
for i in $(find . -type l) ; do ln -s $(readlink $i).gz $i.gz ; rm $i ; done
)
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a $DOCS $PKG/usr/doc/$PRGNAM-$VERSION
-cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+cp -a AUTHORS COPYING* ChangeLog HACKING INSTALL MAINTAINERS \
+ NEWS README README.packaging TESTERS $PKG/usr/doc/$PRGNAM-$VERSION
# We don't need these
-rm -rf $PKG/usr/doc/$PRGNAM-$VERSION/{apidocs.html,linux-hotplug,README.apidocs}
+rm -rf $PKG/usr/doc/$PRGNAM-$VERSION/{apidocs.html,camlibs,linux-hotplug,README.apidocs}
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
-cat $CWD/doinst.sh > $PKG/install/doinst.sh
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.tgz
+