summaryrefslogtreecommitdiff
path: root/libre/perl-static/PKGBUILD
blob: 091af217137086a257bae5c4e4fddad402843f01 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# Maintainer: Márcio Silva <coadde@parabola.nu>
# based of perl

_pkgname=perl
pkgname=perl-static
pkgver=5.22.1
pkgrel=2
pkgdesc="A highly capable, feature-rich programming language (static libraries only)"
arch=(i686 x86_64 armv7h)
license=('GPL' 'PerlArtistic')
url="http://www.perl.org"
groups=('base')
depends=('gdbm-static' 'db-static' 'perl')
source=(http://www.cpan.org/src/5.0/perl-${pkgver}.tar.bz2
        CVE-2016-2381_duplicate_env.diff)
options=('makeflags' '!purge' 'emptydirs' 'staticlibs')
md5sums=('67242b9bd642b458bec884ed2a040910'
         'a108f258b9ba1504b6051d123ccaa623')

prepare() {
  cd ${srcdir}/${_pkgname}-${pkgver}

  patch -p1 -i "$srcdir/CVE-2016-2381_duplicate_env.diff"
}

build() {
  cd ${srcdir}/${_pkgname}-${pkgver}

  if [ "${CARCH}" = "x86_64" ]; then
    # for x86_64
    arch_opts="-Dcccdlflags='-fPIC'"
  else
    # for i686
    arch_opts=""
  fi

  ./Configure -des -Dusethreads -Duseshrplib=false -Doptimize="${CFLAGS}" \
    -Dprefix=/usr \
    -Darchlib=/usr/lib/perl5/core_perl \
    -Dinc_version_list=none \
    ${arch_opts} \
    -Dlddlflags="-static -nostartfiles ${LDFLAGS}" -Dldflags="${LDFLAGS}" \
    -Ddynamic_ext=none -Dso=none
  make
}

check() {
  cd ${srcdir}/${_pkgname}-${pkgver}
#  TEST_JOBS=$(echo $MAKEFLAGS | sed 's/.*-j\([0-9][0-9]*\).*/\1/') make test_harness
##  make test
}

package() {
  cd ${srcdir}/${_pkgname}-${pkgver}
  make DESTDIR="$pkgdir" install

  # remove conflicting files
  rm -vr ${pkgdir}/usr/{bin,lib/perl5/{5,s}*,share}
  rm -vr ${pkgdir}/usr/lib/perl5/core_perl/{B,Compress,Data,Devel,Digest,Encode,File,Filter,Hash,I18N,IO,IPC,List,Math,MIME,PerlIO,Scalar,Sub,Sys,Tie,Time,Unicode,threads}
  rm -v ${pkgdir}/usr/lib/perl5/core_perl/{.packlist,*.{pl,pm,pod},CORE/*.h}
}