Evince 3.x

Kreiranje Slackware paketa

Moderator: Urednik

Post Reply

Administrator
Administrator
offline
User avatar

Posts: 3451
Joined: 01 Apr 2012, 13:50
Location: Mlečni put

Post Napisano: 20 Sep 2013, 13:43


Jedina aplikacija koja mi je ostala da instaliram na Beta verziji Slacka je Evince. Na Slacky.eu je prilično stara verzija koja nije radila kod mene. Zbog toga sam pregledao koja je sveža verzija i vidim da i na SBo malo kasne. Verzija na Slacky je 2.32, na SBo je 3.4 a poslednja je 3.9.5.

Ja sam iskoristio skriptu sa SBo, odradio standardne izmene i napravio paket za 32bit Slack. Trenutno nisam u mogućnosti da napravim 64bit paket ali ostavljam skriptu pa kome nije teško neka napravi i 64bit paket.

Code: Select all

#!/bin/sh

# Slackware build script for evince

# Copyright 2009  Andrew Brouwers <abrouwers@gmail.com>
# Copyright 2009-2011, Michiel van Wessem, Manchester, United Kingdom.
# 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=evince
VERSION=${VERSION:-3.9.5}
BUILD=${BUILD:-1}
TAG=${TAG:-_stereo}

if [ -z "$ARCH" ]; then
  case "$( uname -m )" in
    i?86) ARCH=i486 ;;
    arm*) ARCH=arm ;;
       *) ARCH=$( uname -m ) ;;
  esac
fi

NLS=${NLS:-YES}

CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}

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"
else
  SLKCFLAGS="-O2"
  LIBDIRSUFFIX=""
fi

set -e

rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.xz
cd $PRGNAM-$VERSION
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 {} \;

if [ "$NLS" != "YES" ]; then
    # disable NLS - we're going for a small package here.
    rm po/*.po
    sed -i -e 's/USE_NLS=yes/USE_NLS=no/g' \
      -e 's/ENABLE_NLS 1/ENABLE_NLS 0/g' configure
fi

CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
  --prefix=/usr \
  --libdir=/usr/lib${LIBDIRSUFFIX} \
  --mandir=/usr/man \
  --sysconfdir=/etc \
  --localstatedir=/var \
  --mandir=/usr/man \
  --docdir=/usr/doc/$PRGNAM-$VERSION \
  --without-keyring \
  --without-gconf \
  --enable-dbus \
  --enable-pdf \
  --enable-tiff \
  --enable-djvu \
  --enable-t1lib \
  --enable-pixbuf \
  --enable-comics \
  --enable-impress \
  --disable-dvi \
  --disable-static \
  --disable-scrollkeeper \
  --disable-nautilus \
  --disable-introspection \
  --disable-maintainer-mode \
  --build=$ARCH-slackware-linux

make
make install DESTDIR=$PKG

# Fix desktop entry
sed -i "/NoDisplay=true/d" $PKG/usr/share/applications/evince.desktop

find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
  | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true

find $PKG/usr/man -type f -exec gzip -9 {} \;
for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done

rm -rf $PKG/{usr/share/gtk-doc,etc}
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a AUTHORS COPYING NEWS 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
cat $CWD/doinst.sh > $PKG/install/doinst.sh

cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-txz}
Nakon toga se standardno instalira/nadogradi i dobije se rezultat
Slackware package /tmp/evince-3.9.5-i486-1_stereo.txz created.

root@stereo:/home/zeljko/Downloads/evince# installpkg /tmp/evince-3.9.5-i486-1_stereo.txz
Verifying package evince-3.9.5-i486-1_stereo.txz.
Installing package evince-3.9.5-i486-1_stereo.txz:
PACKAGE DESCRIPTION:
# evince (a simple gnome-based document viewer)
#
# Evince is a document viewer for multiple document formats.
# It currently supports pdf, postscript, djvu, tiff, and dvi.
#
# The goal of evince is to replace the multiple document viewers
# that exist on the GNOME Desktop with a single simple application.
#
# homepage: http://projects.gnome.org/evince/" onclick="window.open(this.href);return false;
#
Executing install script for evince-3.9.5-i486-1_stereo.txz.
Package evince-3.9.5-i486-1_stereo.txz installed.
evince.png
Hvala svima na testiranju :)

EDIT: umalo da zaboravim da postavim bitan link :) Source code evince-3.9.5

NAPOMENA: paket je izgrađen na -current verziji slacka. Da bi radio na stabilnoj verziji potrebno je instalirati i dodatne zavisnosti. Na SBo se kao jedina neophodna zavisnost iznosi dconf. Takođe, paket nije testiran na stabilnoj verziji slack-a i ne znam da li će na njoj raditi. Ako želite, možete testirati :beer:
Use the source, Luke
SSZ irc kanal
Spread the Word, “CHOOSE SLACK! and Don’t look back.”


Post Reply

Who is online

Users browsing this forum: No registered users and 18 guests