pkgsrc/security/openssl/Makefile
tnn 5b7fef9e0c Update to openssl-0.9.8g. Provided by Jukka Salmi in pkgsrc-wip.
pkgsrc notes:
  o Tested on NetBSD/i386 (Jukka Salmi), Mac OSX 10.5 (Adrian Portelli),
    Linux (Jeremy C. Reed), Tru64 5.1b (tnn), HP-UX 11i (tnn).
    Because the Makefile system has been rewamped, other
    platforms may require fixes. Please test if you can.
  o OpenSSL can now be built with installation to DESTDIR.

Overview of important changes since 0.9.7i:
  o Add gcc 4.2 support.
  o DTLS improvements.
  o RFC4507bis support.
  o TLS Extensions support.
  o RFC3779 support.
  o New cipher Camellia
  o Updated ECC cipher suite support.
  o New functions EVP_CIPHER_CTX_new() and EVP_CIPHER_CTX_free().
  o Zlib compression usage fixes.
  o Major work on the BIGNUM library for higher efficiency and to
    make operations more streamlined and less contradictory.  This
    is the result of a major audit of the BIGNUM library.
  o Addition of BIGNUM functions for fields GF(2^m) and NIST
    curves, to support the Elliptic Crypto functions.
  o Major work on Elliptic Crypto; ECDH and ECDSA added, including
    the use through EVP, X509 and ENGINE.
  o New ASN.1 mini-compiler that's usable through the OpenSSL
    configuration file.
  o Added support for ASN.1 indefinite length constructed encoding.
  o New PKCS#12 'medium level' API to manipulate PKCS#12 files.
  o Complete rework of shared library construction and linking
    programs with shared or static libraries, through a separate
    Makefile.shared.
  o Rework of the passing of parameters from one Makefile to another.
  o Changed ENGINE framework to load dynamic engine modules
    automatically from specifically given directories.
  o New structure and ASN.1 functions for CertificatePair.
  o Changed the key-generation and primality testing "progress"
    mechanism to take a structure that contains the ticker
    function and an argument.
  o New engine module: GMP (performs private key exponentiation).
  o New engine module: VIA PadLOck ACE extension in VIA C3
    Nehemiah processors.
  o Added support for IPv6 addresses in certificate extensions.
    See RFC 1884, section 2.2.
  o Added support for certificate policy mappings, policy
    constraints and name constraints.
  o Added support for multi-valued AVAs in the OpenSSL
    configuration file.
  o Added support for multiple certificates with the same subject
    in the 'openssl ca' index file.
  o Make it possible to create self-signed certificates using
    'openssl ca -selfsign'.
  o Make it possible to generate a serial number file with
    'openssl ca -create_serial'.
  o New binary search functions with extended functionality.
  o New BUF functions.
  o New STORE structure and library to provide an interface to all
    sorts of data repositories.  Supports storage of public and
    private keys, certificates, CRLs, numbers and arbitrary blobs.
    This library is unfortunately unfinished and unused withing
    OpenSSL.
  o New control functions for the error stack.
  o Changed the PKCS#7 library to support one-pass S/MIME
    processing.
  o New FIPS 180-2 algorithms (SHA-224, -256, -384 and -512).
  o New X509_VERIFY_PARAM structure to support parametrisation
    of X.509 path validation.
  o Change the default digest in 'openssl' commands from MD5 to
    SHA-1.
  o Added support for DTLS.
  o New BIGNUM blinding.
  o Added support for the RSA-PSS encryption scheme
  o Added support for the RSA X.931 padding.
  o Added support for files larger than 2GB.
  o Added alternate pkg-config files.
2008-01-17 06:42:47 +00:00

125 lines
3.6 KiB
Makefile

# $NetBSD: Makefile,v 1.131 2008/01/17 06:42:47 tnn Exp $
OPENSSL_SNAPSHOT?= # empty
OPENSSL_STABLE?= # empty
OPENSSL_VERS?= 0.9.8g
.if empty(OPENSSL_SNAPSHOT)
DISTNAME= openssl-${OPENSSL_VERS}
MASTER_SITES= http://mirrors.isc.org/pub/openssl/source/ \
http://www.mirrors.wiretapped.net/security/cryptography/libraries/tls/openssl/ \
http://sunsite.rediris.es/pub/mirror/OpenSSL/ \
http://ftp.wayne.edu/pub/openssl/source/ \
http://www.binarycode.org/openssl/source/ \
ftp://ftp.openssl.org/source/
.else
. if !empty(OPENSSL_STABLE:M[yY][eE][sS])
DISTNAME= openssl-${OPENSSL_VERS:C/[a-z]$//}-stable-SNAP-${OPENSSL_SNAPSHOT}
PKGNAME= openssl-${OPENSSL_VERS}beta${OPENSSL_SNAPSHOT}
MASTER_SITES= ftp://ftp.openssl.org/snapshot/
. else
DISTNAME= openssl-SNAP-${OPENSSL_SNAPSHOT}
PKGNAME= openssl-${OPENSSL_VERS}alpha${OPENSSL_SNAPSHOT}
MASTER_SITES= ftp://ftp.openssl.org/snapshot/
. endif
.endif
SVR4_PKGNAME= ossl
CATEGORIES= security
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= http://www.openssl.org/
COMMENT= Secure Socket Layer and cryptographic library
CONFLICTS= SSLeay-[0-9]* ssleay-[0-9]*
CRYPTO= yes
PKG_INSTALLATION_TYPES= overwrite pkgviews
PKG_DESTDIR_SUPPORT= user-destdir
.include "../../mk/bsd.prefs.mk"
.include "../../mk/compiler.mk"
USE_TOOLS+= gmake perl
TEST_TARGET= tests
HAS_CONFIGURE= yes
CONFIGURE_SCRIPT= ./config
CONFIGURE_ARGS+= --prefix=${PREFIX:Q}
CONFIGURE_ARGS+= --install_prefix=${DESTDIR}
CONFIGURE_ARGS+= --openssldir=${PKG_SYSCONFDIR:Q}
CONFIGURE_ARGS+= shared threads
.if ${OPSYS} == "SunOS"
. if ${MACHINE_ARCH} == "sparc"
OPENSSL_MACHINE_ARCH= ${SPARC_TARGET_ARCH}
. elif ${MACHINE_ARCH} == "i386"
OPENSSL_MACHINE_ARCH= x86
. elif ${MACHINE_ARCH} == "x86_64"
OPENSSL_MACHINE_ARCH= ${MACHINE_ARCH}
. endif
# only override the configure target if we know the platform, falling
# back to ./config's autodetection if not.
. if defined(OPENSSL_MACHINE_ARCH) && !empty(OPENSSL_MACHINE_ARCH)
CONFIGURE_SCRIPT= ./Configure
. if !empty(CC_VERSION:Mgcc*)
CONFIGURE_ARGS+= solaris-${OPENSSL_MACHINE_ARCH}-gcc
. else
CONFIGURE_ARGS+= solaris-${OPENSSL_MACHINE_ARCH}-cc
. endif
. endif
.elif ${OPSYS} == "IRIX"
CONFIGURE_ARGS+= no-asm
. if ${ABI} == "64"
CONFIGURE_SCRIPT= ./Configure
. if !empty(CC_VERSION:Mgcc*)
CONFIGURE_ARGS+= irix64-mips4-gcc
. else
CONFIGURE_ARGS+= irix64-mips4-cc
. endif
. endif
.elif ${OPSYS} == "OSF1"
PLIST_OPSYS= PLIST.osf1
CONFIGURE_SCRIPT= ./Configure
. if !empty(CC_VERSION:Mgcc*)
CONFIGURE_ARGS+= tru64-alpha-gcc
. else
CONFIGURE_ARGS+= tru64-alpha-cc
. endif
.elif ${OPSYS} == "Darwin"
.include "../../mk/dlopen.buildlink3.mk"
SUBST_CLASSES+= dl
SUBST_MESSAGE.dl= Adding dynamic link compatibility library.
SUBST_STAGE.dl= post-configure
SUBST_FILES.dl= Makefile apps/Makefile crypto/Makefile \
crypto/pkcs7/Makefile test/Makefile
SUBST_SED.dl= -e 's,^EX_LIBS=,EX_LIBS=${DL_LDFLAGS:Q} ,g'
.endif
.include "../../security/openssl/options.mk"
CONFIGURE_ARGS+= ${CFLAGS} ${LDFLAGS}
CONFIGURE_ENV+= PERL=${PERL5:Q}
PLIST_OPSYS?= ${PKGDIR}/PLIST.${LOWER_OPSYS:C/([.0-9]*)$//}
.if exists(${PLIST_OPSYS})
PLIST_SHLIB= ${PLIST_OPSYS}
.else
PLIST_SHLIB= ${PKGDIR}/PLIST.shlib
.endif
PLIST_SRC= ${PLIST_SHLIB}
PLIST_SRC+= ${PKGDIR}/PLIST.common
PLIST_SUBST+= SHLIB_VERSION=${OPENSSL_VERS:C/[^0-9]*$//}
PLIST_SUBST+= SHLIB_MAJOR=${OPENSSL_VERS:C/\..*$//}
PKG_SYSCONFSUBDIR= openssl
CONF_FILES= ${PREFIX}/share/examples/openssl/openssl.cnf \
${PKG_SYSCONFDIR}/openssl.cnf
OWN_DIRS= ${PKG_SYSCONFDIR}/certs ${PKG_SYSCONFDIR}/private
# Fix the path to perl in various scripts.
pre-configure:
cd ${WRKSRC} && ${PERL5} util/perlpath.pl ${PERL5}
.include "../../mk/bsd.pkg.mk"