Magellan Linux

Contents of /smage/branches/alx07x-unstable/core/openssl/openssl-1.1.1g-r1.smage2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 14584 - (show annotations) (download)
Tue Aug 4 11:23:13 2020 UTC (3 years, 8 months ago) by niro
File size: 3473 byte(s)
-release branches/alx07x-unstable
1 # $Id$
2
3 PNAME="openssl"
4 PVER="1.1.1g"
5 PBUILD="r1"
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 etc/ssl/openssl.cnf"
27 sminclude multilib mbuild mtools alx-split
28 msetfeature "!check"
29
30 MKCERTS_CVS_REV=1.3
31
32 SRC_URI=(
33 http://www.openssl.org/source/${SRCFILE}
34 mirror://${PNAME}/${SRCFILE}
35 mirror://${PNAME}/openssl-make-certs.sh-${MKCERTS_CVS_REV}
36 )
37
38 UP2DATE="updatecmd http://ftp.openssl.org/source/ | grep '${PNAME}-[0-9]' | highesttarball gz"
39
40 # pkgs to rebuild: openssh, openvpn, proftpd, dovecot, subversion, neon, nxssh
41
42 src_compile()
43 {
44 local abi
45 local libdir
46 local myopts
47 local myoptflags
48
49 for abi in ${MULTILIB_ABIS}
50 do
51 cd ${SRCDIR}-${abi}
52
53 case ${abi} in
54 m32) libdir="lib" ;;
55 m64) libdir="lib64" ;;
56 esac
57
58 myopts="linux-${ARCH}"
59 [[ ${ARCH} = i*86 ]] && myopts="linux-elf"
60 if [[ ${ARCH} = x86_64 ]] && [[ ${abi} = m32 ]]
61 then
62 myopts="linux-elf"
63 fi
64
65 # disable ssl3
66 myoptflags+=" no-ssl3-method"
67 # enable 64 bit ec_nistp
68 if [[ ${ARCH} = x86_64 ]] && [[ ${abi} = m64 ]]
69 then
70 myoptflags+=" enable-ec_nistp_64_gcc_128"
71 fi
72
73 echo "Compiler: ${myopts}"
74
75 abi-${abi} ./Configure \
76 --openssldir=/etc/ssl \
77 --prefix=/usr \
78 --libdir=${libdir} \
79 shared ${myoptflags} threads zlib ${myopts} || die
80
81 make depend || die
82 done
83
84 mmake -j1 MANDIR=/usr/share/man || die
85 }
86
87 alx_generic_src_install()
88 {
89 cd ${SRCDIR}
90
91 # needed directories
92 minstalldir /etc/ssl || die
93
94 mmake -j1 DESTDIR=${BINDIR} MANDIR=/usr/share/man install || die
95
96 # fix permissions
97 mchmod 0755 /usr/$(mlibdir)/pkgconfig || die
98
99 # # install certs, make install left them out
100 # cp -r certs ${BINDIR}/etc/ssl || die
101 # rm -r ${BINDIR}/etc/ssl/certs/{demo,expired} || die
102
103 # keep these directories
104 mkeepdir /etc/ssl/certs || die
105 mkeepdir /etc/ssl/private || die
106 mchmod 0700 /etc/ssl/private || die
107
108 # install our simple certificate creation script
109 minstalldir /usr/sbin || die
110 minstallexec -s openssl-make-certs.sh-${MKCERTS_CVS_REV} /usr/sbin/openssl-make-certs || die
111
112 # namespace openssl programs to prevent conflicts with other man pages (from gentoo)
113 cd ${BINDIR}/usr/share/man
114 local m d s
115 for m in $(find . -type f | xargs grep -L '#include')
116 do
117 d=${m%/*} ; d=${d#./} ; m=${m##*/}
118 [[ ${m} == openssl.1* ]] && continue
119 [[ -n $(find -L ${d} -type l) ]] && die "erp, broken links already!"
120 mv ${d}/{,ssl-}${m}
121 # fix up references to renamed man pages
122 sed -i '/^[.]SH "SEE ALSO"/,/^[.]/s:\([^(, ]*(1)\):ssl-\1:g' ${d}/ssl-${m}
123 ln -s ssl-${m} ${d}/openssl-${m}
124 # locate any symlinks that point to this man page ... we assume
125 # that any broken links are due to the above renaming
126 for s in $(find -L ${d} -type l)
127 do
128 s=${s##*/}
129 rm -f ${d}/${s}
130 ln -s ssl-${m} ${d}/ssl-${s}
131 ln -s ssl-${s} ${d}/openssl-${s}
132 done
133 done
134 [[ -n $(find -L ${d} -type l) ]] && die "broken manpage links found :("
135
136 # install docs
137 minstalldocs CHANGES* FAQ LICENSE NEWS README doc/*.txt || die
138
139 # rename orig c_rehash to c_rehash.pl on alx, we use an shell script to drop the perl runtime dep
140 mv ${BINDIR}/usr/bin/c_rehash{,.pl} || die
141 }