source: npl/overig/jasper/jasper.SlackBuild.orig @ 929bb42

Last change on this file since 929bb42 was c5c522c, checked in by Edwin Eefting <edwin@datux.nl>, 8 years ago

initial commit, transferred from cleaned syn3 svn tree

  • Property mode set to 100755
File size: 5.2 KB
Line 
1#!/bin/sh
2
3# Copyright 2007, 2008  Eric Hameleers, Eijdhoven, NL
4# Copyright 2009, 2010  Patrick J. Volkerding, Sebeka, MN, USA
5# All rights reserved.
6
7#   Permission to use, copy, modify, and distribute this software for
8#   any purpose with or without fee is hereby granted, provided that
9#   the above copyright notice and this permission notice appear in all
10#   copies.
11#
12#   THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
13#   WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
14#   MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
15#   IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
16#   CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
17#   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
18#   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
19#   USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
20#   ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
21#   OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
22#   OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23#   SUCH DAMAGE.
24
25
26PKGNAM=jasper
27VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
28BUILD=${BUILD:-5}
29
30# Automatically determine the architecture we're building on:
31if [ -z "$ARCH" ]; then
32  case "$( uname -m )" in
33    i?86) export ARCH=i586 ;;
34    arm*) export ARCH=arm ;;
35    # Unless $ARCH is already set, use uname -m for all other archs:
36       *) export ARCH=$( uname -m ) ;;
37  esac
38fi
39
40case "$ARCH" in
41  i586)      SLKCFLAGS="-O2 -march=i586 -mtune=i686"
42             LIBDIRSUFFIX=""
43             ;;
44  s390)      SLKCFLAGS="-O2"
45             LIBDIRSUFFIX=""
46             ;;
47  powerpc)   SLKCFLAGS="-O2"
48             LIBDIRSUFFIX=""
49             ;;
50  x86_64)    SLKCFLAGS="-O2 -fPIC"
51             LIBDIRSUFFIX="64"
52             ;;
53  athlon-xp) SLKCFLAGS="-march=athlon-xp -O3 -pipe -fomit-frame-pointer"
54             LIBDIRSUFFIX=""
55             ;;
56  *)         SLKCFLAGS="-O2"
57             LIBDIRSUFFIX=""
58             ;;
59esac
60
61CWD=$(pwd)
62TMP=${TMP:-/tmp}
63PKG=$TMP/package-$PKGNAM
64rm -rf $PKG
65mkdir -p $TMP $PKG
66
67cd $TMP
68rm -rf $PKGNAM-$VERSION
69tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1
70cd $PKGNAM-$VERSION
71chown -R root:root .
72find . \
73  \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
74  -exec chmod 755 {} \; -o \
75  \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
76  -exec chmod 644 {} \;
77
78# Taken from http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=469786
79zcat $CWD/patches/jpc_dec.c.patch.gz | patch -p1 --verbose || exit 1
80
81# Taken from http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=413041;msg=88
82zcat $CWD/patches/patch-libjasper-stepsizes-overflow.diff.gz | patch -p1 --verbose || exit 1
83
84# Apply security fixes - taken from fedora
85zcat $CWD/patches/jasper-1.900.1-CVE-2008-3520.patch.gz | patch -p1 --verbose || exit 1
86zcat $CWD/patches/jasper-1.900.1-CVE-2008-3522.patch.gz | patch -p1 --verbose || exit 1
87zcat $CWD/patches/jasper-1.900.1-CVE-2011-4516-CVE-2011-4517-CERT-VU-887409.patch.gz | patch -p1 --verbose || exit 1
88zcat $CWD/patches/jasper-CVE-2014-8138.patch.gz | patch -p1 --verbose || exit 1
89zcat $CWD/patches/jasper-CVE-2014-8157.patch.gz | patch -p1 --verbose || exit 1
90zcat $CWD/patches/jasper-CVE-2014-8158.patch.gz | patch -p1 --verbose || exit 1
91zcat $CWD/patches/jasper-CVE-2014-8137.patch.gz | patch -p1 --verbose || exit 1
92zcat $CWD/patches/jasper-CVE-2014-9029.patch.gz | patch -p1 --verbose || exit 1
93
94# Apply fixes for issues discovered by coverity - taken from fedora
95zcat $CWD/patches/jasper-1.900.1-Coverity-BAD_SIZEOF.patch.gz | patch -p1 --verbose || exit 1
96zcat $CWD/patches/jasper-1.900.1-Coverity-CHECKED_RETURN.patch.gz | patch -p1 --verbose || exit 1
97zcat $CWD/patches/jasper-1.900.1-Coverity-FORWARD_NULL.patch.gz | patch -p1 --verbose || exit 1
98zcat $CWD/patches/jasper-1.900.1-Coverity-NULL_RETURNS.patch.gz | patch -p1 --verbose || exit 1
99zcat $CWD/patches/jasper-1.900.1-Coverity-RESOURCE_LEAKS.patch.gz | patch -p1 --verbose || exit 1
100zcat $CWD/patches/jasper-1.900.1-Coverity-UNREACHABLE.patch.gz | patch -p1 --verbose || exit 1
101zcat $CWD/patches/jasper-1.900.1-Coverity-UNUSED_VALUE.patch.gz | patch -p1 --verbose || exit 1
102
103CFLAGS="$SLKCFLAGS -fno-strict-overflow" \
104CXXFLAGS="$SLKCFLAGS -fno-strict-overflow" \
105./configure \
106  --prefix=/usr \
107  --libdir=/usr/lib${LIBDIRSUFFIX} \
108  --localstatedir=/var \
109  --sysconfdir=/etc \
110  --mandir=/usr/man \
111  --enable-shared \
112  --disable-static \
113  --program-prefix= \
114  --program-suffix= \
115  --build=$ARCH-slackware-linux
116
117make || exit 1
118make DESTDIR=$PKG install
119
120mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
121cp -a \
122  COPYRIGHT INSTALL LICENSE NEWS README \
123  $PKG/usr/doc/$PKGNAM-$VERSION
124find $PKG/usr/doc -type f -exec chmod 644 {} \;
125
126find $PKG/usr/man -type f -name "*.?" -exec gzip -9f {} \;
127for i in $(find $PKG/usr/man -type l -name "*.?") ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
128
129find $PKG | xargs file | grep -e "executable" -e "shared object" \
130  | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
131
132mkdir -p $PKG/install
133cat $CWD/slack-desc > $PKG/install/slack-desc
134
135cd $PKG
136/sbin/makepkg -l y -c n $TMP/${PKGNAM}-${VERSION}-${ARCH}-${BUILD}.txz
137
Note: See TracBrowser for help on using the repository browser.