# $Id$ PNAME="openssl-compat" PVER="1.0.2n" PBUILD="r1" PCAT="dev-libs" DESCRIPTION="Provides libraries for SSL v2/3 and TLS v1." HOMEPAGE="http://www.openssl.org/" DEPEND=">= virtual/glibc" SDEPEND=">= dev-lang/perl-5 >= virtual/sed >= x11-misc/makedepend-1" SRCFILE="openssl-${PVER}.tar.gz" SRCDIR="${BUILDDIR}/openssl-${PVER}" sminclude multilib mbuild mtools msetfeature "!check" SRC_URI=( http://www.openssl.org/source/${SRCFILE} mirror://openssl/${SRCFILE} mirror://openssl/openssl-1.0-versioned-symbols.patch ) UP2DATE="updatecmd http://ftp.openssl.org/source/ | grep '${PNAME}-[0-9]' | highesttarball gz" # pkgs to rebuild: openssh, openvpn, proftpd, dovecot, subversion, neon, nxssh src_prepare() { munpack ${SRCFILE} || die # prevent conflicts with openssl-1.1 mpatch openssl-1.0-versioned-symbols.patch || die } src_compile() { local abi local libdir local myopts local myoptflags for abi in ${MULTILIB_ABIS} do cd ${SRCDIR}-${abi} case ${abi} in m32) libdir="lib" ;; m64) libdir="lib64" ;; esac myopts="linux-${ARCH}" [[ ${ARCH} = i*86 ]] && myopts="linux-elf" if [[ ${ARCH} = x86_64 ]] && [[ ${abi} = m32 ]] then myopts="linux-elf" fi # disable ssl3 # disabled, nssl requires this -fixme! #myoptflags+=" no-ssl3-method" # enable 64 bit ec_nistp if [[ ${ARCH} = x86_64 ]] && [[ ${abi} = m64 ]] then myoptflags+=" enable-ec_nistp_64_gcc_128" fi echo "Compiler: ${myopts}" abi-${abi} ./Configure \ --openssldir=/etc/ssl \ --prefix=/usr \ --libdir=${libdir}/openssl-1.0 \ shared ${myoptflags} threads zlib ${myopts} || die make depend || die done mmake -j1 || die } src_install() { cd ${SRCDIR} # needed directories minstalldir /etc/ssl || die mmake -j1 INSTALL_PREFIX=${BINDIR} install_sw || die # fix permissions mchmod 0755 /usr/$(mlibdir)/openssl-1.0/pkgconfig || die # do not conflict with openssl minstalldir /usr/include/openssl-1.0 || die mmove ${BINDIR}/usr/include/openssl /usr/include/openssl-1.0/ || die mmove ${BINDIR}/usr/$(mlibdir)/openssl-1.0/libcrypto.so.1.0.0 /usr/$(mlibdir)/ || die mmove ${BINDIR}/usr/$(mlibdir)/openssl-1.0/libssl.so.1.0.0 /usr/$(mlibdir)/ || die mlink ../libssl.so.1.0.0 /usr/$(mlibdir)/openssl-1.0/libssl.so || die mlink ../libcrypto.so.1.0.0 /usr/$(mlibdir)/openssl-1.0/libcrypto.so || die sed -i 's:/include$:/include/openssl-1.0:' ${BINDIR}/usr/$(mlibdir)/openssl-1.0/pkgconfig/*.pc || die if [[ $(mlibdir) != lib ]] then mmove ${BINDIR}/usr/lib/openssl-1.0/libcrypto.so.1.0.0 /usr/lib/ || die mmove ${BINDIR}/usr/lib/openssl-1.0/libssl.so.1.0.0 /usr/lib/ || die mlink ../libssl.so.1.0.0 /usr/lib/openssl-1.0/libssl.so || die mlink ../libcrypto.so.1.0.0 /usr/lib/openssl-1.0/libcrypto.so || die sed -i 's:/include$:/include/openssl-1.0:' ${BINDIR}/usr/lib/openssl-1.0/pkgconfig/*.pc || die fi mmove ${BINDIR}/usr/bin/openssl /usr/bin/openssl-1.0 || die mdelete -r /etc || die mdelete /usr/bin/c_rehash || die # install configure check compat symlinks mlink ./ /usr/include/openssl-1.0/include || die mlink ../../$(mlibdir)/openssl-1.0 /usr/include/openssl-1.0/$(mlibdir) || die if [[ $(mlibdir) != lib ]] then mlink ../../lib/openssl-1.0 /usr/include/openssl-1.0/lib || die fi # install docs minstalldocs CHANGES* FAQ LICENSE NEWS README doc/*.txt || die }