Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 30419 - (show annotations) (download)
Thu Jan 18 14:34:12 2018 UTC (6 years, 3 months ago) by niro
File size: 3353 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 >= x11-misc/makedepend-1"
17
18 SRCFILE="openssl-${PVER}.tar.gz"
19 SRCDIR="${BUILDDIR}/openssl-${PVER}"
20
21 sminclude multilib mbuild mtools
22 msetfeature "!check"
23
24 SRC_URI=(
25 http://www.openssl.org/source/${SRCFILE}
26 mirror://openssl/${SRCFILE}
27 mirror://openssl/openssl-1.0-versioned-symbols.patch
28 )
29
30 UP2DATE="updatecmd http://ftp.openssl.org/source/ | grep '${PNAME}-[0-9]' | highesttarball gz"
31
32 # pkgs to rebuild: openssh, openvpn, proftpd, dovecot, subversion, neon, nxssh
33
34 src_prepare()
35 {
36 munpack ${SRCFILE} || die
37
38 # prevent conflicts with openssl-1.1
39 mpatch openssl-1.0-versioned-symbols.patch || die
40 }
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 # disabled, nssl requires this -fixme!
67 #myoptflags+=" no-ssl3-method"
68 # enable 64 bit ec_nistp
69 if [[ ${ARCH} = x86_64 ]] && [[ ${abi} = m64 ]]
70 then
71 myoptflags+=" enable-ec_nistp_64_gcc_128"
72 fi
73
74 echo "Compiler: ${myopts}"
75
76 abi-${abi} ./Configure \
77 --openssldir=/etc/ssl \
78 --prefix=/usr \
79 --libdir=${libdir}/openssl-1.0 \
80 shared ${myoptflags} threads zlib ${myopts} || die
81
82 make depend || die
83 done
84
85 mmake -j1 || die
86 }
87
88 src_install()
89 {
90 cd ${SRCDIR}
91
92 # needed directories
93 minstalldir /etc/ssl || die
94
95 mmake -j1 INSTALL_PREFIX=${BINDIR} install_sw || die
96
97 # fix permissions
98 mchmod 0755 /usr/$(mlibdir)/openssl-1.0/pkgconfig || die
99
100 # do not conflict with openssl
101 minstalldir /usr/include/openssl-1.0 || die
102 mmove ${BINDIR}/usr/include/openssl /usr/include/openssl-1.0/ || die
103 mmove ${BINDIR}/usr/$(mlibdir)/openssl-1.0/libcrypto.so.1.0.0 /usr/$(mlibdir)/ || die
104 mmove ${BINDIR}/usr/$(mlibdir)/openssl-1.0/libssl.so.1.0.0 /usr/$(mlibdir)/ || die
105 mlink ../libssl.so.1.0.0 /usr/$(mlibdir)/openssl-1.0/libssl.so || die
106 mlink ../libcrypto.so.1.0.0 /usr/$(mlibdir)/openssl-1.0/libcrypto.so || die
107 sed -i 's:/include$:/include/openssl-1.0:' ${BINDIR}/usr/$(mlibdir)/openssl-1.0/pkgconfig/*.pc || die
108 if [[ $(mlibdir) != lib ]]
109 then
110 mmove ${BINDIR}/usr/lib/openssl-1.0/libcrypto.so.1.0.0 /usr/lib/ || die
111 mmove ${BINDIR}/usr/lib/openssl-1.0/libssl.so.1.0.0 /usr/lib/ || die
112 mlink ../libssl.so.1.0.0 /usr/lib/openssl-1.0/libssl.so || die
113 mlink ../libcrypto.so.1.0.0 /usr/lib/openssl-1.0/libcrypto.so || die
114 sed -i 's:/include$:/include/openssl-1.0:' ${BINDIR}/usr/lib/openssl-1.0/pkgconfig/*.pc || die
115 fi
116 mmove ${BINDIR}/usr/bin/openssl /usr/bin/openssl-1.0 || die
117 mdelete -r /etc || die
118 mdelete /usr/bin/c_rehash || die
119
120 # install configure check compat symlinks
121 mlink ./ /usr/include/openssl-1.0/include || die
122 mlink ../../$(mlibdir)/openssl-1.0 /usr/include/openssl-1.0/$(mlibdir) || die
123 if [[ $(mlibdir) != lib ]]
124 then
125 mlink ../../lib/openssl-1.0 /usr/include/openssl-1.0/lib || die
126 fi
127
128 # install docs
129 minstalldocs CHANGES* FAQ LICENSE NEWS README doc/*.txt || die
130 }