]>
Commit | Line | Data |
---|---|---|
1 | ############################################################################### | |
2 | # IPFire.org - An Open Source Firewall Solution # | |
3 | # Copyright (C) - IPFire Development Team <info@ipfire.org> # | |
4 | ############################################################################### | |
5 | ||
6 | name = openssl | |
7 | version = 3.1.4 | |
8 | release = 1 | |
9 | ||
10 | maintainer = Michael Tremer <michael.tremer@ipfire.org> | |
11 | groups = System/Libraries | |
12 | url = https://www.openssl.org/ | |
13 | license = OpenSSL | |
14 | summary = A general purpose cryptography library with TLS implementation. | |
15 | ||
16 | description | |
17 | The OpenSSL toolkit provides support for secure communications between | |
18 | machines. OpenSSL includes a certificate management tool and shared | |
19 | libraries which provide various cryptographic algorithms and protocols. | |
20 | end | |
21 | ||
22 | source_dl = https://openssl.org/source/ | |
23 | ||
24 | build | |
25 | requires | |
26 | ca-certificates | |
27 | coreutils | |
28 | perl | |
29 | perl(FindBin) | |
30 | perl(File::Compare) | |
31 | perl(File::Copy) | |
32 | perl(IPC::Cmd) | |
33 | perl(Math::BigInt) | |
34 | perl(Module::Load::Conditional) | |
35 | perl(Pod::Html) | |
36 | perl(Test::Harness) | |
37 | perl(Test::More) | |
38 | perl(Time::Local) | |
39 | sed | |
40 | zlib-devel | |
41 | end | |
42 | ||
43 | export HASHBANGPERL = %{bindir}/perl | |
44 | ||
45 | CFLAGS += -DPURIFY -Wa,--noexecstack | |
46 | ||
47 | # Set default ssl_arch. | |
48 | ssl_arch = linux-%{DISTRO_ARCH} | |
49 | ||
50 | if "%{DISTRO_ARCH}" == "x86_64" | |
51 | ssl_arch += enable-ec_nistp_64_gcc_128 | |
52 | end | |
53 | ||
54 | if "%{DISTRO_ARCH}" == "aarch64" | |
55 | ssl_arch += enable-ec_nistp_64_gcc_128 | |
56 | end | |
57 | ||
58 | configure = \ | |
59 | ./Configure \ | |
60 | --prefix=%{prefix} \ | |
61 | --libdir=%{libdir} \ | |
62 | --openssldir=%{sysconfdir}/pki/tls \ | |
63 | shared \ | |
64 | zlib \ | |
65 | enable-camellia \ | |
66 | enable-seed \ | |
67 | enable-rfc3779 \ | |
68 | enable-ktls \ | |
69 | no-rc4 \ | |
70 | no-rc5 \ | |
71 | no-sm2 \ | |
72 | no-sm4 \ | |
73 | %{ssl_arch} \ | |
74 | ${CFLAGS} \ | |
75 | ${LDFLAGS} | |
76 | ||
77 | test | |
78 | make test | |
79 | end | |
80 | ||
81 | install | |
82 | # Clean up the .pc files | |
83 | for i in libcrypto.pc libssl.pc openssl.pc; do | |
84 | sed -i '/^Libs.private:/{s/-L[^ ]* //;s/-Wl[^ ]* //}' $i | |
85 | done | |
86 | ||
87 | make install DESTDIR=%{BUILDROOT} | |
88 | ||
89 | # Remove dist config | |
90 | rm -vf %{BUILDROOT}%{sysconfdir}/pki/tls/openssl.cnf.dist | |
91 | end | |
92 | end | |
93 | ||
94 | packages | |
95 | package %{name} | |
96 | requires += %{name}-libs = %{thisver} | |
97 | end | |
98 | ||
99 | package %{name}-libs | |
100 | template LIBS | |
101 | ||
102 | requires += ca-certificates | |
103 | ||
104 | files += %{libdir}/openssl %{libdir}/engines* | |
105 | end | |
106 | ||
107 | package %{name}-devel | |
108 | template DEVEL | |
109 | end | |
110 | ||
111 | package %{name}-debuginfo | |
112 | template DEBUGINFO | |
113 | end | |
114 | end |