diff options
author | Edward W. Koenig <kingbeowulf@linuxgalaxy.org> | 2022-08-18 02:45:57 +0100 |
---|---|---|
committer | Willy Sudiarto Raharjo <willysr@slackbuilds.org> | 2022-08-20 10:06:37 +0700 |
commit | 6aeee633cc6497d4c8c4cfb27535277ab4cbd191 (patch) | |
tree | 15cfca7b1efa5af8f4be60ffc21d4e183ea06bc2 | |
parent | 2f638aaa0b4bbf25e3b4a3b6640e8e3969815662 (diff) |
libraries/libindi-libraries: Added (Distributed Interface)
Signed-off-by: Dave Woodfall <dave@slackbuilds.org>
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
-rw-r--r-- | libraries/libindi-libraries/README | 20 | ||||
-rw-r--r-- | libraries/libindi-libraries/doinst.sh | 3 | ||||
-rw-r--r-- | libraries/libindi-libraries/libindi-libraries.SlackBuild | 114 | ||||
-rw-r--r-- | libraries/libindi-libraries/libindi-libraries.info | 10 | ||||
-rw-r--r-- | libraries/libindi-libraries/slack-desc | 19 |
5 files changed, 166 insertions, 0 deletions
diff --git a/libraries/libindi-libraries/README b/libraries/libindi-libraries/README new file mode 100644 index 000000000000..cfa839e3f804 --- /dev/null +++ b/libraries/libindi-libraries/README @@ -0,0 +1,20 @@ +INDI Third Party Device Libraries + +INDI is a distributed control protocol designed to operate astronomical +instrumentation. INDI is small, flexible, easy to parse, and scalable. +It supports common DCS functions such as remote control, data +acquisition, monitoring, and a lot more. + +This script builds several third party libraries required by the +drivers. + +Some optional hardware dependecies are: +fxload download firmware into FX, FX2, and FX2LP EZ-USB devices + and devices and I2C serial EEPROMs (SBo) + +Notes: +1. Some of the drivers will need additional configuration of their + dependencies, e.g. gpsd for GPS devices. +2. Not all device drivers are implemented yet since their dependencies + are not yet available on Slackbuilds.org. This is a work in + progress. diff --git a/libraries/libindi-libraries/doinst.sh b/libraries/libindi-libraries/doinst.sh new file mode 100644 index 000000000000..47e1cb12cb44 --- /dev/null +++ b/libraries/libindi-libraries/doinst.sh @@ -0,0 +1,3 @@ +if [ -x /sbin/udevadm ]; then + /sbin/udevadm control --reload-rules >/dev/null 2>&1 && /sbin/udevadm trigger >/dev/null 2>&1 +fi diff --git a/libraries/libindi-libraries/libindi-libraries.SlackBuild b/libraries/libindi-libraries/libindi-libraries.SlackBuild new file mode 100644 index 000000000000..09bc7ed86780 --- /dev/null +++ b/libraries/libindi-libraries/libindi-libraries.SlackBuild @@ -0,0 +1,114 @@ +#!/bin/bash + +# Slackware build script for libindi + +# Copyright 2018 2022 Edward W. Koenig, Vancouver, WA, USA +# 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. + +cd $(dirname $0) ; CWD=$(pwd) + +PRGNAM=libindi-libraries +SRCNAM="indi-3rdparty" +VERSION=${VERSION:-1.9.7} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} +PKGTYPE=${PKGTYPE:-tgz} + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i586 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +case "$ARCH" in + x86_64) ;; + arm*) ;; + *) echo "Unsupported ARCH '$ARCH'"; exit 1 ;; +esac + +# If the variable PRINT_PACKAGE_NAME is set, then this script will report what +# the name of the created package would be, and then exit. This information +# could be useful to other scripts. +if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then + echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" + exit 0 +fi + +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +set -e + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $SRCNAM-$VERSION +tar xvf $CWD/$SRCNAM-$VERSION.tar.gz +cd $SRCNAM-$VERSION +chown -R root:root . +find -L . \ + \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ + -o -perm 511 \) -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; + +# Note: Some libraris may require addition sotware not yet availabe on SBo + +export CFLAGS="$SLKCFLAGS" +export CXXFLAGS="$SLKCFLAGS" +mkdir -p build +cd build + cmake \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DBUILD_LIBS=1 \ + -DCMAKE_BUILD_TYPE=Release .. + make + make install DESTDIR=$PKG +cd .. + +find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a README $PKG/usr/doc/$PRGNAM-$VERSION +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE diff --git a/libraries/libindi-libraries/libindi-libraries.info b/libraries/libindi-libraries/libindi-libraries.info new file mode 100644 index 000000000000..642ba315b868 --- /dev/null +++ b/libraries/libindi-libraries/libindi-libraries.info @@ -0,0 +1,10 @@ +PRGNAM="libindi-libraries" +VERSION="1.9.7" +HOMEPAGE="https://www.indilib.org/" +DOWNLOAD="UNSUPPORTED" +MD5SUM="" +DOWNLOAD_x86_64="https://github.com/indilib/indi-3rdparty/archive/v1.9.7/indi-3rdparty-1.9.7.tar.gz" +MD5SUM_x86_64="d756d3e9184349145e4e2669c19c71c6" +REQUIRES="libindi libdc1394 libftdi1 gpsd" +MAINTAINER="Edward W. Koenig" +EMAIL="kingbeowulf@linuxgalaxy.org" diff --git a/libraries/libindi-libraries/slack-desc b/libraries/libindi-libraries/slack-desc new file mode 100644 index 000000000000..95ad3ea4c3b7 --- /dev/null +++ b/libraries/libindi-libraries/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. +# Line up the first '|' above the ':' following the base package name, and +# the '|' on the right side marks the last column you can put a character in. +# You must make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':' except on otherwise blank lines. + + |-----handy-ruler------------------------------------------------------| +libindi-libraries: libindi-libraries (Instrument Neutral Distributed Interface) +libindi-libraries: +libindi-libraries: INDI is a distributed control protocol designed to operate +libindi-libraries: astronomical instrumentation. This script builds the third party +libindi-libraries: libraries for instrument control and data acquisition. +libindi-libraries: +libindi-libraries: +libindi-libraries: https://www.indilib.org/ +libindi-libraries: +libindi-libraries: +libindi-libraries: |