summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: a8d828de7786e6f64a0afea52e569adaadae2a92 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
# Maintainer: Christian Hesse <mail@eworm.de>
# Contributor: trya <tryagainprod@gmail.com>
# Contributor: Pierre Schmitz <pierre@archlinux.de>

_pkgbasename=openssl
pkgname=openssl098-dev
_ver=0.9.8zh
# use a pacman compatible version scheme
pkgver=${_ver/[a-z]*/.${_ver//[0-9.]/}}
pkgrel=4
pkgdesc='The Open Source toolkit for Secure Sockets Layer and Transport Layer Security (0.9.8 branch)'
arch=('i686' 'x86_64')
url='https://www.openssl.org'
license=('custom:BSD')
depends=($_pkgbasename)
makedepends=('perl')
optdepends=('ca-certificates')
provides=('openssl-compatibility' 'openssl098')
conflicts=('openssl-compatibility' 'openssl098')
options=(!makeflags)
validpgpkeys=('7953AC1FBC3DC8B3B292393ED5E9E43F7DF9EE8C' # Richard Levitte <richard@levitte.org>
              '8657ABB260F056B1E5190839D9C4D26D0E604491' # Matt Caswell <matt@openssl.org>
	      )
source=("https://www.openssl.org/source/old/0.9.x/${_pkgbasename}-${_ver}.tar.gz"{,.asc}
        'no-rpath.patch'
        'ca-dir.patch')
sha256sums=('f1d9f3ed1b85a82ecf80d0e2d389e1fda3fca9a4dba0bf07adbf231e1a5e2fd6'
            'SKIP'
            '754d6107a306311e15a1db6a1cc031b81691c8b9865e8809ac60ca6f184c957c'
            '9e8126f3a748f4c1d6fe34d4436de72b16a40e97a6d18234d2e88caa179d50c4')
prepare() {
	cd "${srcdir}/${_pkgbasename}-${_ver}"

	# remove rpath: http://bugs.archlinux.org/task/14367
	patch -p0 -i "${srcdir}/no-rpath.patch"
	# set ca dir to /etc/ssl by default
	patch -p0 -i "${srcdir}/ca-dir.patch"

	sed -i '/^push(@INC/s|)|,".")|' crypto/des/asm/des-586.pl
}

build() {
	cd "${srcdir}/${_pkgbasename}-${_ver}"

	# mark stack as non-executable: http://bugs.archlinux.org/task/12434
	./config --prefix=/usr --openssldir=/etc/ssl --libdir=lib \
		shared zlib enable-md2 -Wa,--noexecstack

	# fix cross compilation (and possibly more...)
	sed -i '/^CFLAG=/s/$/ $(CFLAGS)/' Makefile

	make
}

package() {
	cd "${srcdir}/${_pkgbasename}-${_ver}"

	install -D -m0755 libssl.so.0.9.8 "${pkgdir}/usr/lib/libssl.so.0.9.8"
	install -D -m0755 libcrypto.so.0.9.8 "${pkgdir}/usr/lib/libcrypto.so.0.9.8"
        mkdir -p "${pkgdir}/usr/lib/openssl-0.9.8"
        ln -s "/usr/lib/libssl.so.0.9.8" "${pkgdir}/usr/lib/openssl-0.9.8/libssl.so.0.9.8"
        ln -s "/usr/lib/libssl.so.0.9.8" "${pkgdir}/usr/lib/openssl-0.9.8/libssl.so"
        ln -s "/usr/lib/libcrypto.so.0.9.8" "${pkgdir}/usr/lib/openssl-0.9.8/libcrypto.so.0.9.8"
        ln -s "/usr/lib/libcrypto.so.0.9.8" "${pkgdir}/usr/lib/openssl-0.9.8/libcrypto.so"

        mkdir -p "${pkgdir}/usr/lib/openssl-0.9.8/pkgconfig"
        cp -vL *.pc "${pkgdir}/usr/lib/openssl-0.9.8/pkgconfig/."
        cp -rvL engines "${pkgdir}/usr/lib/openssl-0.9.8/engines"

	install -D -m0755 apps/openssl "${pkgdir}/usr/bin/openssl098"
        
        mkdir -p "${pkgdir}/usr/include"
        cp -rvL include/openssl "${pkgdir}/usr/include/openssl-0.9.8"

	mkdir -p "${pkgdir}/usr/share/licenses"
	ln -s ${_pkgbasename} "${pkgdir}/usr/share/licenses/${pkgname}"
}