Magellan Linux

Contents of /smage/branches/alx08x-unstable/core/openssl-compat/openssl-compat-1.0.2u-r2.smage2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 17264 - (show annotations) (download)
Wed Nov 22 10:20:17 2023 UTC (6 months, 3 weeks ago) by niro
File size: 4663 byte(s)
-release branches/alx08x-unstable
1 # $Id$
2
3 PNAME="openssl-compat"
4 PVER="1.0.2u"
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
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/$(MABI=m64 mlibdir)/openssl-1.0/libcrypto.so
21 usr/$(MABI=m64 mlibdir)/libcrypto.so.*
22 usr/$(MABI=m64 mlibdir)/openssl-1.0/libssl.so
23 usr/$(MABI=m64 mlibdir)/libssl.so.*
24 usr/bin/openssl-1.0"
25 ALX_LIB32_PKG_KEEP="usr/$(MABI=m32 mlibdir)/openssl-1.0/libcrypto.so
26 usr/$(MABI=m32 mlibdir)/libcrypto.so.*
27 usr/$(MABI=m32 mlibdir)/openssl-1.0/libssl.so
28 usr/$(MABI=m32 mlibdir)/libssl.so.*"
29 sminclude multilib mbuild mtools lib32-split alx-split
30 msetfeature "!check"
31
32 SRC_URI=(
33 http://www.openssl.org/source/${SRCFILE}
34 mirror://openssl/${SRCFILE}
35 mirror://openssl/openssl-1.0-versioned-symbols.patch
36 )
37
38 # hardcoded version
39 UP2DATE="updatecmd http://ftp.openssl.org/source/old/1.0.2/ | grep -v 1.0.2.tar | highesttarball gz"
40
41 # pkgs to rebuild: openssh, openvpn, proftpd, dovecot, subversion, neon, nxssh
42
43 src_prepare()
44 {
45 munpack ${SRCFILE} || die
46
47 # prevent conflicts with openssl-1.1
48 mpatch openssl-1.0-versioned-symbols.patch || die
49 }
50
51 src_compile()
52 {
53 local abi
54 local libdir
55 local myopts
56 local myoptflags
57
58 for abi in ${MULTILIB_ABIS}
59 do
60 cd ${SRCDIR}-${abi}
61
62 case ${abi} in
63 m32) libdir="${ABI_X86_LIBDIR}" ;;
64 m64) libdir="${ABI_X86_64_LIBDIR}" ;;
65 esac
66
67 myopts="linux-${ARCH}"
68 [[ ${ARCH} = i*86 ]] && myopts="linux-elf"
69 if [[ ${ARCH} = x86_64 ]] && [[ ${abi} = m32 ]]
70 then
71 myopts="linux-elf"
72 fi
73
74 # disable ssl3
75 # disabled, nssl requires this -fixme!
76 #myoptflags+=" no-ssl3-method"
77 # enable 64 bit ec_nistp
78 if [[ ${ARCH} = x86_64 ]] && [[ ${abi} = m64 ]]
79 then
80 myoptflags+=" enable-ec_nistp_64_gcc_128"
81 fi
82
83 echo "Compiler: ${myopts}"
84
85 abi-${abi} ./Configure \
86 --openssldir=/etc/ssl \
87 --prefix=/usr \
88 --libdir=${libdir}/openssl-1.0 \
89 shared ${myoptflags} threads zlib ${myopts} || die
90
91 make depend || die
92 done
93
94 mmake -j1 || die
95 }
96
97 alx_generic_src_install()
98 {
99 cd ${SRCDIR}
100
101 # needed directories
102 minstalldir /etc/ssl || die
103
104 mmake -j1 INSTALL_PREFIX=${BINDIR} install_sw || die
105
106 # fix permissions
107 mchmod 0755 /usr/$(mlibdir)/openssl-1.0/pkgconfig || die
108
109 # do not conflict with openssl
110 minstalldir /usr/include/openssl-1.0 || die
111 mmove ${BINDIR}/usr/include/openssl /usr/include/openssl-1.0/ || die
112 mmove ${BINDIR}/usr/$(mlibdir)/openssl-1.0/libcrypto.so.1.0.0 /usr/$(mlibdir)/ || die
113 mmove ${BINDIR}/usr/$(mlibdir)/openssl-1.0/libssl.so.1.0.0 /usr/$(mlibdir)/ || die
114 mlink ../libssl.so.1.0.0 /usr/$(mlibdir)/openssl-1.0/libssl.so || die
115 mlink ../libcrypto.so.1.0.0 /usr/$(mlibdir)/openssl-1.0/libcrypto.so || die
116 sed -i 's:/include$:/include/openssl-1.0:' ${BINDIR}/usr/$(mlibdir)/openssl-1.0/pkgconfig/*.pc || die
117 if [[ $(MABI=m64 mlibdir) != lib ]]
118 then
119 mmove ${BINDIR}/usr/$(MABI=m64 mlibdir)/openssl-1.0/libcrypto.so.1.0.0 /usr/$(MABI=m64 mlibdir)/ || die
120 mmove ${BINDIR}/usr/$(MABI=m64 mlibdir)/openssl-1.0/libssl.so.1.0.0 /usr/$(MABI=m64 mlibdir)/ || die
121 mlink ../libssl.so.1.0.0 /usr/$(MABI=m64 mlibdir)/openssl-1.0/libssl.so || die
122 mlink ../libcrypto.so.1.0.0 /usr/$(MABI=m64 mlibdir)/openssl-1.0/libcrypto.so || die
123 sed -i 's:/include$:/include/openssl-1.0:' ${BINDIR}/usr/$(MABI=m64 mlibdir)/openssl-1.0/pkgconfig/*.pc || die
124 fi
125 if [[ $(MABI=m32 mlibdir) != lib ]]
126 then
127 mmove ${BINDIR}/usr/$(MABI=m32 mlibdir)/openssl-1.0/libcrypto.so.1.0.0 /usr/$(MABI=m32 mlibdir)/ || die
128 mmove ${BINDIR}/usr/$(MABI=m32 mlibdir)/openssl-1.0/libssl.so.1.0.0 /usr/$(MABI=m32 mlibdir)/ || die
129 mlink ../libssl.so.1.0.0 /usr/$(MABI=m32 mlibdir)/openssl-1.0/libssl.so || die
130 mlink ../libcrypto.so.1.0.0 /usr/$(MABI=m32 mlibdir)/openssl-1.0/libcrypto.so || die
131 sed -i 's:/include$:/include/openssl-1.0:' ${BINDIR}/usr/$(MABI=m32 mlibdir)/openssl-1.0/pkgconfig/*.pc || die
132 fi
133 mmove ${BINDIR}/usr/bin/openssl /usr/bin/openssl-1.0 || die
134 mdelete -r /etc || die
135 mdelete /usr/bin/c_rehash || die
136
137 # install configure check compat symlinks
138 mlink ./ /usr/include/openssl-1.0/include || die
139 mlink ../../$(mlibdir)/openssl-1.0 /usr/include/openssl-1.0/$(mlibdir) || die
140 if [[ $(MABI=m64 mlibdir) != lib ]]
141 then
142 mlink ../../$(MABI=m64 mlibdir)/openssl-1.0 /usr/include/openssl-1.0/$(MABI=m64 mlibdir) || die
143 fi
144 if [[ $(MABI=m32 mlibdir) != lib ]]
145 then
146 mlink ../../$(MABI=m32 mlibdir)/openssl-1.0 /usr/include/openssl-1.0/$(MABI=m32 mlibdir) || die
147 fi
148
149 # install docs
150 minstalldocs CHANGES* FAQ LICENSE NEWS README doc/*.txt || die
151 }