Contents of /smage/trunk/extras/openssl/openssl-1.0.2d-r2.smage2
Parent Directory | Revision Log
Revision 6957 -
(show annotations)
(download)
Wed Jul 29 08:13:29 2015 UTC (9 years, 1 month ago) by niro
File size: 3393 byte(s)
Wed Jul 29 08:13:29 2015 UTC (9 years, 1 month ago) by niro
File size: 3393 byte(s)
-include openssl binary and use an external POSIX c_rehash script to drop the perl runtime dependency
1 | # $Id$ |
2 | |
3 | PNAME="openssl" |
4 | PVER="1.0.2d" |
5 | PBUILD="r2" |
6 | |
7 | PCAT="dev-libs" |
8 | |
9 | DESCRIPTION="Provides libraries for SSL v2/3 and TLS v1." |
10 | HOMEPAGE="http://www.openssl.org/" |
11 | |
12 | DEPEND=">= virtual/glibc |
13 | >= app-crypt/openssl-c_rehash-1.6" |
14 | |
15 | SDEPEND=">= dev-lang/perl-5 |
16 | >= virtual/sed" |
17 | |
18 | SRCFILE="${PNAME}-${PVER}.tar.gz" |
19 | SRCDIR="${BUILDDIR}/${PNAME}-${PVER}" |
20 | |
21 | ALX_PKG_KEEP="usr/$(mlibdir)/libcrypto.so |
22 | usr/$(mlibdir)/libcrypto.so.* |
23 | usr/$(mlibdir)/libssl.so |
24 | usr/$(mlibdir)/libssl.so.* |
25 | usr/bin/openssl" |
26 | sminclude multilib mtools alx-split |
27 | msetfeature "!check" |
28 | |
29 | MKCERTS_CVS_REV=1.3 |
30 | |
31 | SRC_URI=( |
32 | http://www.openssl.org/source/${SRCFILE} |
33 | mirror://${PNAME}/${SRCFILE} |
34 | mirror://${PNAME}/openssl-make-certs.sh-${MKCERTS_CVS_REV} |
35 | mirror://${PNAME}/${PNAME}-1.0.2b-magellan.patch |
36 | ) |
37 | |
38 | UP2DATE="updatecmd -dont_wrap_pre http://www.openssl.org/source/ | grep 'LATEST' | sed 's:.*\(openssl-.*.tar.\(gz\|xz\|bz2\)\).*:\1:' | firsttarball gz" |
39 | |
40 | # pkgs to rebuild: openssh, openvpn, proftpd, dovecot, subversion, neon, nxssh |
41 | |
42 | src_prepare() |
43 | { |
44 | munpack ${SRCFILE} || die |
45 | |
46 | # fix CFLAGS and allow x86_64 multilib builds |
47 | mpatch ${PNAME}-1.0.2b-magellan.patch || die |
48 | } |
49 | |
50 | src_compile() |
51 | { |
52 | local abi |
53 | local libdir |
54 | local myopts |
55 | |
56 | for abi in ${MULTILIB_ABIS} |
57 | do |
58 | cd ${SRCDIR}-${abi} |
59 | |
60 | case ${abi} in |
61 | m32) libdir="lib" ;; |
62 | m64) libdir="lib64" ;; |
63 | esac |
64 | |
65 | myopts="linux-${ARCH}-${abi}" |
66 | [[ ${ARCH} = i*86 ]] && myopts="linux-elf" |
67 | |
68 | echo "Compiler: ${myopts}" |
69 | |
70 | ./Configure \ |
71 | --openssldir=/etc/ssl \ |
72 | --prefix=/usr \ |
73 | --libdir=${libdir} \ |
74 | shared threads zlib ${myopts} || die |
75 | |
76 | make depend || die |
77 | done |
78 | |
79 | mmake -j1 MANDIR=/usr/share/man || die |
80 | } |
81 | |
82 | alx_generic_src_install() |
83 | { |
84 | cd ${SRCDIR} |
85 | |
86 | # needed directories |
87 | minstalldir /etc/ssl || die |
88 | |
89 | mmake -j1 INSTALL_PREFIX=${BINDIR} MANDIR=/usr/share/man install || die |
90 | |
91 | # fix permissions |
92 | mchmod 0755 /usr/$(mlibdir)/pkgconfig || die |
93 | |
94 | # install certs, make install left them out |
95 | cp -r certs ${BINDIR}/etc/ssl || die |
96 | rm -r ${BINDIR}/etc/ssl/certs/{demo,expired} || die |
97 | |
98 | # keep these directories |
99 | mkeepdir /etc/ssl/certs || die |
100 | mkeepdir /etc/ssl/private || die |
101 | mchmod 0700 /etc/ssl/private || die |
102 | |
103 | # install our simple certificate creation script |
104 | minstalldir /usr/sbin || die |
105 | minstallexec -s openssl-make-certs.sh-${MKCERTS_CVS_REV} /usr/sbin/openssl-make-certs || die |
106 | |
107 | # namespace openssl programs to prevent conflicts with other man pages (from gentoo) |
108 | cd ${BINDIR}/usr/share/man |
109 | local m d s |
110 | for m in $(find . -type f | xargs grep -L '#include') |
111 | do |
112 | d=${m%/*} ; d=${d#./} ; m=${m##*/} |
113 | [[ ${m} == openssl.1* ]] && continue |
114 | [[ -n $(find -L ${d} -type l) ]] && die "erp, broken links already!" |
115 | mv ${d}/{,ssl-}${m} |
116 | # fix up references to renamed man pages |
117 | sed -i '/^[.]SH "SEE ALSO"/,/^[.]/s:\([^(, ]*(1)\):ssl-\1:g' ${d}/ssl-${m} |
118 | ln -s ssl-${m} ${d}/openssl-${m} |
119 | # locate any symlinks that point to this man page ... we assume |
120 | # that any broken links are due to the above renaming |
121 | for s in $(find -L ${d} -type l) |
122 | do |
123 | s=${s##*/} |
124 | rm -f ${d}/${s} |
125 | ln -s ssl-${m} ${d}/ssl-${s} |
126 | ln -s ssl-${s} ${d}/openssl-${s} |
127 | done |
128 | done |
129 | [[ -n $(find -L ${d} -type l) ]] && die "broken manpage links found :(" |
130 | |
131 | # install docs |
132 | minstalldocs CHANGES* FAQ LICENSE NEWS README doc/*.txt || die |
133 | |
134 | # rename orig c_rehash to c_rehash.pl on alx, we use an shell script to drop the perl runtime dep |
135 | mv ${BINDIR}/usr/bin/c_rehash{,.pl} || die |
136 | } |