From 60bf248ad0c31c8bdb95b5d6d6b0c7adb0fafaac Mon Sep 17 00:00:00 2001 From: Eric Hameleers Date: Sun, 19 Mar 2017 21:06:40 +0100 Subject: deps: updated for KDE 5_17.03 Six packages have been added in order to compile the KDE packages libkface, digikam and kdenlive: - dvdauthor - frei0r - lensfun - mlt - opencv - vid.stab Furthermore I (re-)added some sources that I intend to use in the 'testing' branch of ktown. These Slackware originals were slightly modified and need to be compiled against wayland (also in need of recompilation are libxkbcommon and qt5 but those sources are already included): - elogind - mesa - xorg-server --- deps/elogind/elogind.SlackBuild | 171 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 171 insertions(+) create mode 100755 deps/elogind/elogind.SlackBuild (limited to 'deps/elogind/elogind.SlackBuild') diff --git a/deps/elogind/elogind.SlackBuild b/deps/elogind/elogind.SlackBuild new file mode 100755 index 0000000..b9d2d70 --- /dev/null +++ b/deps/elogind/elogind.SlackBuild @@ -0,0 +1,171 @@ +#!/bin/sh +# Copyright 2016 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2016, 2017 Eric Hameleers, Eindhoven, NL +# All rights reserved. +# +# Permission to use, copy, modify, and distribute this software for +# any purpose with or without fee is hereby granted, provided that +# the above copyright notice and this permission notice appear in all +# copies. +# +# THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 AUTHORS AND COPYRIGHT HOLDERS AND THEIR +# CONTRIBUTORS 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. +# ----------------------------------------------------------------------------- + + +PKGNAM=elogind +VERSION=${VERSION:-219.14} +BUILD=${BUILD:-2} + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-$PKGNAM + +# We do not use PAM by default: +USE_PAM=${USE_PAM:-"NO"} +[ "$USE_PAM" = "NO" -o "$USE_PAM" = "no" ] && DO_PAM="dis" || DO_PAM="en" + +if [ -e $CWD/machine.conf ]; then + . $CWD/machine.conf ] +elif [ -e /etc/slackbuild/machine.conf ]; then + . /etc/slackbuild/machine.conf ] +else + # Automatically determine the architecture we're building on: + MARCH=$( uname -m ) + if [ -z "$ARCH" ]; then + case "$MARCH" in + i?86) export ARCH=i486 ;; + 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 ;; + esac + fi + # Set CFLAGS/CXXFLAGS and LIBDIRSUFFIX: + if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" + elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" + elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" + elif [ "$ARCH" = "armv7hl" ]; then + SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16" + LIBDIRSUFFIX="" + elif [ "$ARCH" = "arm" ]; then + SLKCFLAGS="-O2 -march=armv5te" + LIBDIRSUFFIX="" + else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" + fi +fi + +case "$ARCH" in + arm*) TARGET=$ARCH-slackware-linux-gnueabi ;; + *) TARGET=$ARCH-slackware-linux ;; +esac + +rm -rf $PKG +mkdir -p $TMP $PKG +cd $TMP +rm -rf $PKGNAM-$VERSION +tar xvf $CWD/$PKGNAM-$VERSION.tar.gz || exit 1 +cd $PKGNAM-$VERSION || exit 1 + +# Launch elogind when called via DBus and make sure its rundir exists +# (in Slackware, /run is mounted as a tmpfs): +sed -i src/login/org.freedesktop.login1.service \ + -e "s,/bin/false,/bin/bash -c \"[[ ! -d /run/systemd ]] \&\& mkdir /run/systemd;/usr/libexec/elogind/elogind\"," + +# Apply Gentoo patches: +#cat $CWD/patches/elogind-219.12-session.patch | patch -p1 --verbose || exit 1 +cat $CWD/patches/elogind-219.12-runtime.patch | patch -p1 --verbose || exit 1 +cat $CWD/patches/elogind-lrt.patch | patch -p1 --verbose || exit 1 +cat $CWD/patches/elogind-docs.patch | patch -p1 --verbose || exit 1 +# Merge a pull request for an upstream fix: +cat $CWD/patches/elogind-polkit.patch | patch -p1 --verbose || exit 1 + +# Make sure ownerships and permissions are sane: +chown -R root:root . +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 {} \; + +# Configure: +autoreconf -vif +intltoolize +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --libexecdir=/usr/libexec \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --mandir=/usr/man \ + --docdir=/usr/doc/$PKGNAM-$VERSION \ + --disable-seccomp \ + --disable-selinux \ + --disable-apparmor \ + --${DO_PAM}able-pam \ + --disable-smack \ + --disable-tests \ + --enable-split-usr \ + --build=$TARGET + +# Build and install: +make || exit 1 +make install DESTDIR=$PKG || exit 1 + +# Strip binaries: +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 + +# Compress and link manpages, if any: +if [ -d $PKG/usr/man ]; then + ( cd $PKG/usr/man + for manpagedir in $(find . -type d -name "man*") ; do + ( cd $manpagedir + for eachpage in $( find . -type l -maxdepth 1) ; do + ln -s $( readlink $eachpage ).gz $eachpage.gz + rm $eachpage + done + gzip -9 *.? + ) + done + ) +fi + +# Add a rc script; Slackware does not support this out of the box: +mkdir -p $PKG/etc/rc.d +install -m 0755 $CWD/rc.elogind $PKG/etc/rc.d/rc.elogind.new + +# Add documentation: +mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION +cp -a \ + CODING_STYLE LICENSE* NEWS README TODO \ + $PKG/usr/doc/$PKGNAM-$VERSION + +# Add a description and post-install script: +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc +cat $CWD/doinst.sh > $PKG/install/doinst.sh + +# Create the package: +cd $PKG +/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz + -- cgit v1.2.3