Commit | Line | Data |
---|---|---|
6dca1d21 JB |
1 | # Description: Perl programming language |
2 | # URL: http://www.perl.org/ | |
3 | # Maintainer: CRUX System Team, core-ports at crux dot nu | |
b751b192 | 4 | # Arch Maintainer: CRUX-ARM System Team, devel at crux-arm dot nu |
6dca1d21 JB |
5 | # Depends on: db gdbm |
6 | ||
7 | name=perl | |
8 | version=5.10.0 | |
e6183612 | 9 | release=3 |
207dfa15 | 10 | source=(http://www.cpan.org/src/5.0/$name-$version.tar.gz \ |
6dca1d21 JB |
11 | $name-$version-cross_compile-1.patch) |
12 | ||
13 | build() { | |
14 | cd $name-$version | |
15 | patch -p1 -i $SRC/$name-$version-cross_compile-1.patch | |
16 | ||
e5c2f005 | 17 | # Use of safe cflags to build perl-cross on the host, and don't use msoft-float |
72937e28 | 18 | export CFLAGS=${CFLAGS/-msoft-float/} |
e5c2f005 | 19 | |
6dca1d21 JB |
20 | # avoid to use target generate_uudmap binary |
21 | sed -i Makefile.SH \ | |
22 | -e 's|generate_uudmap\\$(EXE_EXT): .*|generate_uudmap\\$(EXE_EXT):|' \ | |
23 | -e 's|\\$(CC) -o generate_uudmap \\$(LDFLAGS) generate_uudmap\\$(OBJ_EXT)|\\$(HOSTCC) -o generate_uudmap \\$(LDFLAGS) generate_uudmap.c|' | |
24 | ||
25 | # avoid ./perl | |
26 | sed -i Makefile.SH \ | |
27 | -e 's|./perl installman |echo installman|' \ | |
28 | -e 's|./perl |./miniperl-cross |g' | |
29 | ||
30 | sed -i utils/Makefile.SH \ | |
31 | -e 's|../miniperl|../miniperl-cross |g' | |
32 | ||
33 | # DynaLoader.a with -fPIC, so it can be linked into a shared lib later | |
34 | sed -i Makefile.SH \ | |
35 | -e "s@pldlflags=''@pldlflags=\"\$cccdlflags\"@g" \ | |
36 | -e "s@static_target='static'@static_target='static_pic'@g" | |
37 | ||
38 | cd Cross | |
39 | make HOSTCC="gcc" ARCH=arm CROSS_COMPILE="$CTARGET-" | |
40 | make DESTDIR=$PKG install | |
41 | ||
42 | ln -sf perl$version $PKG/usr/bin/perl | |
43 | ln -sf c2ph $PKG/usr/bin/pstruct | |
44 | ln -sf s2p $PKG/usr/bin/psed | |
45 | #ln -sf c2ph.1pm $PKG/usr/man/man1/pstruct.1pm | |
46 | #ln -sf s2p.1pm $PKG/usr/man/man1/psed.1pm | |
47 | ||
48 | find $PKG \ | |
49 | -iname 'TODO*' -or \ | |
50 | -iname 'Change*' -or \ | |
51 | -iname 'README*' -or \ | |
52 | -name '*.bs' -or \ | |
53 | -name .packlist -or \ | |
54 | -name perllocal.pod | xargs rm | |
55 | find $PKG -depth -empty -exec rmdir {} \; | |
56 | chmod -R +w $PKG | |
57 | } |