summaryrefslogtreecommitdiffstats
path: root/heimdall
diff options
context:
space:
mode:
author Eric Hameleers <alien@slackware.com>2021-11-21 12:33:40 +0000
committer Eric Hameleers <alien@slackware.com>2021-11-21 12:33:40 +0000
commitcbf0fcaf6a44fee758145831c94676f4ac3d524e (patch)
treeb5c446c928af1aa79fbaefb7aff2c16b67d4a21c /heimdall
parentf28f740a046f6f29e37861cabe1621d28aaf291b (diff)
downloadasb-cbf0fcaf6a44fee758145831c94676f4ac3d524e.tar.gz
asb-cbf0fcaf6a44fee758145831c94676f4ac3d524e.tar.xz
heimdall: update to 1.4.2
Diffstat (limited to 'heimdall')
-rwxr-xr-xheimdall/build/heimdall.SlackBuild147
1 files changed, 48 insertions, 99 deletions
diff --git a/heimdall/build/heimdall.SlackBuild b/heimdall/build/heimdall.SlackBuild
index b30bea28..c6f4bafe 100755
--- a/heimdall/build/heimdall.SlackBuild
+++ b/heimdall/build/heimdall.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
# $Id$
-# Copyright 2012, 2013 Eric Hameleers, Eindhoven, NL
+# Copyright 2012, 2013, 2016, 2021 Eric Hameleers, Eindhoven, NL
# All rights reserved.
#
# Permission to use, copy, modify, and distribute this software for
@@ -32,11 +32,16 @@
# Changelog:
# 1.3.2-1: 10/May/2012 by Eric Hameleers <alien@slackware.com>
# * Initial build.
-# 1.4.0-1: 01/sep/2012 by Eric Hameleers <alien@slackware.com>
+# 1.4.0-1: 01/sep/2013 by Eric Hameleers <alien@slackware.com>
# * Update.
-#
+# 1.4.1-1: 22/apr/2016 by Eric Hameleers <alien@slackware.com>
+# * Update. No longer depends on a separate libusbx, because
+# that fork of libusb folded back into its parent.
+# 1.4.2-1: 21/nov/2021 by Eric Hameleers <alien@slackware.com>
+# * Update.
+#
# Run 'sh heimdall.SlackBuild' to build a Slackware package.
-# The package (.tgz) and .txt file as well as build logs are created in /tmp .
+# The package (.txz) and .txt file as well as build logs are created in /tmp .
# Install it using 'installpkg'.
#
# -----------------------------------------------------------------------------
@@ -45,9 +50,9 @@
PRGNAM=heimdall
SRCNAM=Benjamin-Dobell-Heimdall
-VERSION=${VERSION:-1.4.0}
+VERSION=${VERSION:-1.4.2}
BUILD=${BUILD:-1}
-NUMJOBS=${NUMJOBS:" -j4 "}
+NUMJOBS=${NUMJOBS:-" -j$(nproc) "}
TAG=${TAG:-alien}
# Where do we look for sources?
@@ -66,19 +71,18 @@ SRCURL="https://github.com/Benjamin-Dobell/Heimdall/tarball/v${VERSION}"
##
# Automatically determine the architecture we're building on:
-MARCH=$( uname -m )
if [ -z "$ARCH" ]; then
- case "$MARCH" in
- i?86) export ARCH=i486 ;;
- armv7hl) export ARCH=$MARCH ;;
- arm*) export ARCH=arm ;;
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
# Unless $ARCH is already set, use uname -m for all other archs:
- *) export ARCH=$MARCH ;;
+ *) ARCH=$(uname -m) ;;
esac
+ export ARCH
fi
-
+# Set CFLAGS/CXXFLAGS and LIBDIRSUFFIX:
case "$ARCH" in
- i486) SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ i?86) SLKCFLAGS="-O2 -march=${ARCH} -mtune=i686"
SLKLDFLAGS=""; LIBDIRSUFFIX=""
;;
x86_64) SLKCFLAGS="-O2 -fPIC"
@@ -87,12 +91,12 @@ case "$ARCH" in
armv7hl) SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16"
SLKLDFLAGS=""; LIBDIRSUFFIX=""
;;
- *) SLKCFLAGS="-O2"
- SLKLDFLAGS=""; LIBDIRSUFFIX=""
+ *) SLKCFLAGS=${SLKCFLAGS:-"-O2"}
+ SLKLDFLAGS=${SLKLDFLAGS:-""}; LIBDIRSUFFIX=${LIBDIRSUFFIX:-""}
;;
esac
-case "ARCH" in
+case "$ARCH" in
arm*) TARGET=$ARCH-slackware-linux-gnueabi ;;
*) TARGET=$ARCH-slackware-linux ;;
esac
@@ -125,7 +129,7 @@ if ! [ -f ${SOURCE} ]; then
if [ -f ${SOURCE} ]; then echo "Ah, found it!"; continue; fi
if ! [ "x${SRCURL}" == "x" ]; then
echo "Will download file to $(dirname $SOURCE)"
- wget -nv -T 20 -O "${SOURCE}" "${SRCURL}" || true
+ wget --no-check-certificate -nv -T 20 -O "${SOURCE}" "${SRCURL}" || true
if [ $? -ne 0 -o ! -s "${SOURCE}" ]; then
echo "Downloading '$(basename ${SOURCE})' failed... aborting the build."
mv -f "${SOURCE}" "${SOURCE}".FAIL
@@ -152,26 +156,6 @@ cd $TMP/tmp-$PRGNAM
echo "Extracting the source archive(s) for $PRGNAM..."
tar -xvf ${SOURCE}
cd ${SRCNAM}-*
-
-# Fix DOS line endings:
-sed -i -e 's/\r$//' Linux/README
-
-# Patches:
-touch $OUTPUT/patch-${PRGNAM}.log
-# Slackware does not have the "service" command and anyway we would not want
-# udev to be restarted while building a package:
-cat $SRCDIR/heimdall.noservice.patch | patch -p0 --verbose \
- 2>&1 | tee -a $OUTPUT/patch-${PRGNAM}.log
-# Install the udev rules into the correct location:
-cat $SRCDIR/heimdall.udevrules.patch | patch -p1 --verbose \
- 2>&1 | tee -a $OUTPUT/patch-${PRGNAM}.log
-
-# Stuff used for Windows only - get rid of it just in case:
-rm -rf libusbx-1.0
-rm -rf heimdall-frontend/include
-rm -rf heimdall/autom4te.cache
-rm -rf libpit/autom4te.cache
-
chown -R root:root .
chmod -R u+w,go+r-w,a+X-s .
@@ -180,54 +164,29 @@ export LDFLAGS="$SLKLDFLAGS"
export CXXFLAGS="$SLKCFLAGS"
export CFLAGS="$SLKCFLAGS"
-touch $OUTPUT/configure-${PRGNAM}.log
-touch $OUTPUT/make-${PRGNAM}.log
-touch $OUTPUT/install-${PRGNAM}.log
-
-( cd libpit
- ./configure \
- --prefix=/usr \
- --libdir=/usr/lib${LIBDIRSUFFIX} \
- --mandir=/usr/man \
- --docdir=/usr/doc/$PRGNAM-$VERSION \
- --localstatedir=/var \
- --sysconfdir=/etc \
- --program-prefix= \
- --program-suffix= \
- --build=$TARGET \
- 2>&1 | tee -a $OUTPUT/configure-${PRGNAM}.log
- make $NUMJOBS 2>&1 | tee -a $OUTPUT/make-${PRGNAM}.log
-) || exit 1
-
-( cd heimdall
- ./configure \
- --prefix=/usr \
- --libdir=/usr/lib${LIBDIRSUFFIX} \
- --mandir=/usr/man \
- --docdir=/usr/doc/$PRGNAM-$VERSION \
- --localstatedir=/var \
- --sysconfdir=/etc \
- --program-prefix= \
- --program-suffix= \
- --build=$TARGET \
- 2>&1 | tee -a $OUTPUT/configure-${PRGNAM}.log
- make $NUMJOBS 2>&1 | tee -a $OUTPUT/make-${PRGNAM}.log
-) || exit 1
-
-( cd heimdall-frontend
- qmake OUTPUTDIR="/usr/bin" QMAKE_CXXFLAGS="${CXXFLAGS}" \
- 2>&1 | tee -a $OUTPUT/configure-${PRGNAM}.log
- make $NUMJOBS 2>&1 | tee -a $OUTPUT/make-${PRGNAM}.log
-) || exit 1
-
-# Install the lot:
-( cd heimdall
- make DESTDIR=$PKG install 2>&1 | tee -a $OUTPUT/install-${PRGNAM}.log
-) || exit 1
-
-( cd heimdall-frontend
- make INSTALL_ROOT=$PKG install 2>&1 | tee -a $OUTPUT/install-${PRGNAM}.log
-) || exit 1
+mkdir -p build-${PRGNAM}
+cd build-${PRGNAM}
+ cmake \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DMAN_INSTALL_DIR=/usr/man \
+ -DSYSCONF_INSTALL_DIR=/etc \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ .. \
+ 2>&1 | tee $OUTPUT/configure-${PRGNAM}.log
+ make $NUMJOBS 2>&1 | tee $OUTPUT/make-${PRGNAM}.log
+ mkdir -p $PKG/usr/bin
+ install -D -m0755 bin/* $PKG/usr/bin/
+cd -
+
+# Install the UDEV rules:
+mkdir -p $PKG/lib/udev/rules.d
+install -m0644 heimdall/60-heimdall.rules \
+ $PKG/lib/udev/rules.d/60-heimdall.rules
# Add a .desktop file:
mkdir -p $PKG/usr/share/applications
@@ -272,7 +231,7 @@ EOINS
# Add documentation:
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a README $PKG/usr/doc/$PRGNAM-$VERSION/
+cp -a README* LICENSE $PKG/usr/doc/$PRGNAM-$VERSION/
cp -a Linux/README $PKG/usr/doc/$PRGNAM-$VERSION/README.Linux
cat $SRCDIR/$(basename $0) > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
chown -R root:root $PKG/usr/doc/$PRGNAM-$VERSION
@@ -284,14 +243,6 @@ if [ -d $PKG/usr/man ]; then
for i in $(find $PKG/usr/man -type l -name "*.?") ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
fi
-# Compress info pages and remove the package's dir file:
-if [ -d $PKG/usr/info ]; then
- rm -f $PKG/usr/info/dir
- gzip -9f $PKG/usr/info/*.info*
- # If any info files are present, consider adding this to a doinst.sh:
- # chroot . install-info /usr/info/XXXXX.info.gz /usr/info/dir 2> /dev/null
-fi
-
# Strip binaries (if any):
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
@@ -299,16 +250,14 @@ find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
# Add a package description:
mkdir -p $PKG/install
cat $SRCDIR/slack-desc > $PKG/install/slack-desc
-cat $SRCDIR/slack-required > $PKG/install/slack-required
# Build the package:
cd $PKG
-makepkg --linkadd y --chown n $OUTPUT/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.${PKGTYPE:-tgz} 2>&1 | tee $OUTPUT/makepkg-${PRGNAM}.log
+makepkg --linkadd y --chown n $OUTPUT/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.${PKGTYPE:-txz} 2>&1 | tee $OUTPUT/makepkg-${PRGNAM}.log
cd $OUTPUT
-md5sum ${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.${PKGTYPE:-tgz} > ${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.${PKGTYPE:-tgz}.md5
+md5sum ${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.${PKGTYPE:-txz} > ${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.${PKGTYPE:-txz}.md5
cd -
cat $PKG/install/slack-desc | grep "^${PRGNAM}" > $OUTPUT/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.txt
-cat $PKG/install/slack-required > $OUTPUT/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.dep
# Restore the original umask:
umask ${_UMASK_}