Magellan Linux

Contents of /smage/trunk/core/openssl-compat/openssl-compat-1.0.2n-r1.smage2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 11607 - (show annotations) (download)
Wed Dec 27 09:50:30 2017 UTC (6 years, 4 months ago) by niro
File size: 3203 byte(s)
auto added: ver bump to 1.0.2n-r1
1 # $Id$
2
3 PNAME="openssl-compat"
4 PVER="1.0.2n"
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
14 SDEPEND=">= dev-lang/perl-5
15 >= virtual/sed"
16
17 SRCFILE="openssl-${PVER}.tar.gz"
18 SRCDIR="${BUILDDIR}/openssl-${PVER}"
19
20 ALX_PKG_KEEP="usr/$(mlibdir)/openssl-1.0/libcrypto.so
21 usr/$(mlibdir)/libcrypto.so.*
22 usr/$(mlibdir)/openssl-1.0/libssl.so
23 usr/$(mlibdir)/libssl.so.*
24 usr/bin/openssl-1.0"
25 sminclude multilib mbuild mtools alx-split
26 msetfeature "!check"
27
28 SRC_URI=(
29 http://www.openssl.org/source/${SRCFILE}
30 mirror://openssl/${SRCFILE}
31 mirror://openssl/openssl-1.0-versioned-symbols.patch
32 )
33
34 UP2DATE="updatecmd http://ftp.openssl.org/source/ | grep '${PNAME}-[0-9]' | highesttarball gz"
35
36 # pkgs to rebuild: openssh, openvpn, proftpd, dovecot, subversion, neon, nxssh
37
38 src_prepare()
39 {
40 munpack ${SRCFILE} || die
41
42 # prevent conflicts with openssl-1.1
43 mpatch openssl-1.0-versioned-symbols.patch || die
44 }
45
46 src_compile()
47 {
48 local abi
49 local libdir
50 local myopts
51 local myoptflags
52
53 for abi in ${MULTILIB_ABIS}
54 do
55 cd ${SRCDIR}-${abi}
56
57 case ${abi} in
58 m32) libdir="lib" ;;
59 m64) libdir="lib64" ;;
60 esac
61
62 myopts="linux-${ARCH}"
63 [[ ${ARCH} = i*86 ]] && myopts="linux-elf"
64 if [[ ${ARCH} = x86_64 ]] && [[ ${abi} = m32 ]]
65 then
66 myopts="linux-elf"
67 fi
68
69 # disable ssl3
70 myoptflags+=" no-ssl3-method"
71 # enable 64 bit ec_nistp
72 if [[ ${ARCH} = x86_64 ]] && [[ ${abi} = m64 ]]
73 then
74 myoptflags+=" enable-ec_nistp_64_gcc_128"
75 fi
76
77 echo "Compiler: ${myopts}"
78
79 abi-${abi} ./Configure \
80 --openssldir=/etc/ssl \
81 --prefix=/usr \
82 --libdir=${libdir}/openssl-1.0 \
83 shared ${myoptflags} threads zlib ${myopts} || die
84
85 make depend || die
86 done
87
88 mmake -j1 || die
89 }
90
91 alx_generic_src_install()
92 {
93 cd ${SRCDIR}
94
95 # needed directories
96 minstalldir /etc/ssl || die
97
98 mmake -j1 INSTALL_PREFIX=${BINDIR} install_sw || die
99
100 # fix permissions
101 mchmod 0755 /usr/$(mlibdir)/openssl-1.0/pkgconfig || die
102
103 # do not conflict with openssl
104 minstalldir /usr/include/openssl-1.0 || die
105 mmove ${BINDIR}/usr/include/openssl /usr/include/openssl-1.0/ || die
106 mmove ${BINDIR}/usr/$(mlibdir)/openssl-1.0/libcrypto.so.1.0.0 /usr/$(mlibdir)/ || die
107 mmove ${BINDIR}/usr/$(mlibdir)/openssl-1.0/libssl.so.1.0.0 /usr/$(mlibdir)/ || die
108 mlink ../libssl.so.1.0.0 /usr/$(mlibdir)/openssl-1.0/libssl.so || die
109 mlink ../libcrypto.so.1.0.0 /usr/$(mlibdir)/openssl-1.0/libcrypto.so || die
110 sed -i 's:/include$:/include/openssl-1.0:' ${BINDIR}/usr/$(mlibdir)/openssl-1.0/pkgconfig/*.pc || die
111 if [[ $(mlibdir) != lib ]]
112 then
113 mmove ${BINDIR}/usr/lib/openssl-1.0/libcrypto.so.1.0.0 /usr/lib/ || die
114 mmove ${BINDIR}/usr/lib/openssl-1.0/libssl.so.1.0.0 /usr/lib/ || die
115 mlink ../libssl.so.1.0.0 /usr/lib/openssl-1.0/libssl.so || die
116 mlink ../libcrypto.so.1.0.0 /usr/lib/openssl-1.0/libcrypto.so || die
117 sed -i 's:/include$:/include/openssl-1.0:' ${BINDIR}/usr/lib/openssl-1.0/pkgconfig/*.pc || die
118 fi
119 mmove ${BINDIR}/usr/bin/openssl /usr/bin/openssl-1.0 || die
120 mdelete -r /etc || die
121 mdelete /usr/bin/c_rehash || die
122
123 # install docs
124 minstalldocs CHANGES* FAQ LICENSE NEWS README doc/*.txt || die
125 }