annotate core/libarchive/libarchive.sh @ 157:8f5c82e50554

core/libarchive: initial import, closes #1192
author David Demelier <markand@malikania.fr>
date Wed, 13 Mar 2019 19:56:00 +0100
parents
children 1460ef8bce93
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
157
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
1 #!/bin/sh
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
2 #
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
3 # Copyright (c) 2019 FirstName LastName <mailaddress>
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
4 #
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
5 # Permission to use, copy, modify, and/or distribute this software for any
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
6 # purpose with or without fee is hereby granted, provided that the above
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
7 # copyright notice and this permission notice appear in all copies.
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
8 #
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
9 # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
10 # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
11 # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
12 # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
13 # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
14 # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
15 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
16 #
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
17
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
18 PKGNAME=libarchive
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
19 PKGVERSION=3.3.3
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
20 PKGREVISION=1
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
21 PKGLICENSE="BSD"
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
22 PKGSUMMARY="multi-format archive and compression library"
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
23 PKGDOWNLOAD="http://www.libarchive.org/downloads/$PKGNAME-$PKGVERSION.tar.gz"
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
24 #PKGDEPENDS="category/foo category/bar"
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
25 PKGOPTIONS="ACL BZIP2 EXPAT LZ4 LZMA LZO SSL ZLIB ZSTD"
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
26
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
27 : ${CHOST:=$(uname -m)-linux-musl}
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
28 : ${CBUILD:=$(uname -m)-linux-musl}
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
29 : ${CC:=gcc}
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
30 : ${CFLAGS:=-O2}
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
31 : ${CXX:=g++}
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
32 : ${CXXFLAGS:=-O2}
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
33 : ${LDFLAGS:=}
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
34 : ${LIBS:=}
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
35 : ${ACL:=yes}
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
36 : ${BZIP2:=yes}
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
37 : ${EXPAT:=yes}
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
38 : ${LZ4:=yes}
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
39 : ${LZMA:=yes}
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
40 : ${LZO:=no} # upstream default as of 3.3.3
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
41 : ${SSL:=yes}
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
42 : ${ZLIB:=yes}
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
43 : ${ZSTD:=yes}
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
44
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
45 if [ "$ACL" = "yes" ]; then
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
46 PKGDEPENDS="core/acl $PKGDEPENDS"
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
47 with_acl="--enable-acl"
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
48 else
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
49 with_acl="--disable-acl"
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
50 fi
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
51
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
52 if [ "$BZIP2" = "yes" ]; then
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
53 PKGDEPENDS="core/bzip2 $PKGDEPENDS"
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
54 with_bzip2="--with-bz2lib"
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
55 else
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
56 with_bzip2="--without-bz2lib"
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
57 fi
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
58
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
59 if [ "$EXPAT" = "yes" ]; then
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
60 PKGDEPENDS="lib/expat $PKGDEPENDS"
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
61 with_expat="--with-expat"
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
62 else
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
63 with_expat="--without-expat"
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
64 fi
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
65
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
66 if [ "$LZ4" = "yes" ]; then
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
67 PKGDEPENDS="core/lz4 $PKGDEPENDS"
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
68 with_lz4="--with-lz4"
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
69 else
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
70 with_lz4="--without-lz4"
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
71 fi
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
72
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
73 if [ "$LZMA" = "yes" ]; then
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
74 PKGDEPENDS="core/xz $PKGDEPENDS"
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
75 with_lzma="--with-lzma"
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
76 else
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
77 with_lzma="--without-lzma"
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
78 fi
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
79
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
80 if [ "$LZO" = "yes" ]; then
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
81 PKGDEPENDS="lib/lzo $PKGDEPENDS"
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
82 with_lzo="--with-lzo2"
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
83 else
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
84 with_lzo="--without-lzo2"
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
85 fi
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
86
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
87 if [ "$NETTLE" = "yes" ]; then
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
88 PKGDEPENDS="lib/nettle $PKGDEPENDS"
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
89 with_nettle="--with-nettle"
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
90 else
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
91 with_nettle="--without-nettle"
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
92 fi
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
93
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
94 if [ "$SSL" = "yes" ]; then
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
95 PKGDEPENDS="network/openssl $PKGDEPENDS"
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
96 with_ssl="--with-openssl"
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
97 else
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
98 with_ssl="--without-openssl"
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
99 fi
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
100
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
101 if [ "$ZSTD" = "yes" ]; then
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
102 PKGDEPENDS="core/zstd $PKGDEPENDS"
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
103 with_zstd="--with-zstd"
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
104 else
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
105 with_zstd="--without-zstd"
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
106 fi
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
107
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
108 build()
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
109 {
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
110 rm -rf $PKGNAME-$PKGVERSION
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
111 tar xvaf $PKGNAME-$PKGVERSION.tar.gz
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
112 pushd $PKGNAME-$PKGVERSION
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
113
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
114 CC="$CC" \
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
115 CFLAGS="$CFLAGS" \
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
116 CXX="$CXX" \
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
117 CXXFLAGS="$CXXFLAGS" \
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
118 LDFLAGS="$LDFLAGS" \
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
119 LIBS="$LIBS" \
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
120 ./configure \
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
121 --build=$CBUILD \
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
122 --host=$CHOST \
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
123 --prefix=/usr \
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
124 --disable-static \
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
125 --enable-shared \
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
126 --enable-bsdtar=shared \
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
127 --enable-bsdcat=shared \
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
128 --enable-bsdcpio=shared \
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
129 --without-xml2 \
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
130 $with_acl \
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
131 $with_bzip2 \
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
132 $with_expat \
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
133 $with_lz4 \
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
134 $with_lzma \
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
135 $with_lzo \
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
136 $with_nettle \
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
137 $with_ssl \
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
138 $with_zstd
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
139
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
140 make
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
141 make install DESTDIR=$DESTDIR
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
142 rm -f $DESTDIR/usr/lib/libarchive.la
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
143
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
144 popd
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
145 rm -rf $PKGNAME-$PKGVERSION
8f5c82e50554 core/libarchive: initial import, closes #1192
David Demelier <markand@malikania.fr>
parents:
diff changeset
146 }