Skip to content

Instantly share code, notes, and snippets.

@devkral
Created May 3, 2015 20:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save devkral/1f2c90012a4519e103b8 to your computer and use it in GitHub Desktop.
Save devkral/1f2c90012a4519e103b8 to your computer and use it in GitHub Desktop.
libressl PKGBUILD fixes
--- libressl-2.0.0/crypto/rand/rand_lib.c 2014-07-11 19:41:26.000000000 +0200
+++ libressl-2.0.0/crypto/rand/rand_lib.c 2014-07-12 00:16:22.583713400 +0200
@@ -98,3 +98,15 @@
arc4random_buf(buf, num);
return 1;
}
+
+int
+RAND_egd(const char *path)
+{
+ return -1;
+}
+
+int
+RAND_egd_bytes(const char *path, int bytes)
+{
+ return -1;
+}
--- libressl-2.0.0/include/openssl/rand.h 2014-07-11 19:41:25.000000000 +0200
+++ libressl-2.0.0/include/openssl/rand.h 2014-07-12 00:08:44.893435315 +0200
@@ -98,6 +98,8 @@
int RAND_write_file(const char *file);
const char *RAND_file_name(char *file, size_t num);
int RAND_status(void);
+int RAND_egd(const char *path);
+int RAND_egd_bytes(const char *path,int bytes);
int RAND_poll(void);
#endif
# Contributor: Reventlov <contact@volcanis.me>
# fixes: alex
pkgname=libressl
pkgver=2.1.6
pkgrel=1
pkgdesc="FREE version of the SSL/TLS protocol forked from OpenSSL"
url="http://www.libressl.org/"
arch=('i686' 'x86_64')
license=('custom:Openssl')
# Uncomment this if you know what you are doing - libressl is not yet a replacement of openssl
provides=('openssl=1.0.1')
conflicts=('openssl')
source=(http://ftp.openbsd.org/pub/OpenBSD/LibreSSL/${pkgname}-${pkgver}.tar.gz
libressl-dummy-rand-egd.patch
openssl.cnf) #dummy
sha512sums=('21ea1b504a000d130eac03b93301598c808f9ae75448025b8bf5ec83386364c541dbfbf8ba0b8dc1ac672f476d1a95438f73082e4fd8a5bfa8d7a40b265f38a6'
'82abf7787a56faf5d05d1dcc27c07f9f90b564f4398e82f6ad571eb8eb0dd086fc7e2162c2c151296389e95516e5417bca5209590f248025a107a3c87b7a7e12'
'b58c0bf88294d753da3ead62296e32b33728af20434c3ad20ce064f3a1b75ae32e5107a601526adf59144eb4c77f6add884b3116244154cbb826358824e7e684')
build() {
cd ${pkgname}-${pkgver}
# Dummy RAND_egd() function - Can help to compile some stuff - See https://blog.hboeck.de/archives/851-LibreSSL-on-Gentoo.html
patch -p1 < ../libressl-dummy-rand-egd.patch
./configure --prefix=/usr
make
}
package() {
cd ${pkgname}-${pkgver}
make DESTDIR="${pkgdir}" install
# Ugly renaming of the libressl manual pages using the scheme of openssl because libressl doesn't provide the MANSUFFIX var yet - Look at the openssl PKGBUILD
rename ".1" ".1ssl" "${pkgdir}"/usr/share/man/man1/*
rename ".3" ".3ssl" "${pkgdir}"/usr/share/man/man3/*
install -Dm 644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
install -Dm 644 "${srcdir}/openssl.cnf" "${pkgdir}/etc/ssl/openssl.cnf"
pushd "${pkgdir}/usr/lib"
ln -sf libssl.so libssl.so.1.0.0
ln -sf libcrypto.so libcrypto.so.1.0.0
chmod 744 lib*
chown root:root lib*
popd
}
# vim: ts=2 sw=2 et:
# Contributor: Reventlov <contact@volcanis.me>
# fixes: alex
pkgname=libressl
pkgver=2.1.6
pkgrel=1
pkgdesc="FREE version of the SSL/TLS protocol forked from OpenSSL"
url="http://www.libressl.org/"
arch=('i686' 'x86_64')
license=('custom:Openssl')
# Uncomment this if you know what you are doing - libressl is not yet a replacement of openssl
provides=('openssl=1.0.1')
conflicts=('openssl')
source=(http://ftp.openbsd.org/pub/OpenBSD/LibreSSL/${pkgname}-${pkgver}.tar.gz
libressl-dummy-rand-egd.patch
openssl.cnf) #dummy
sha512sums=('21ea1b504a000d130eac03b93301598c808f9ae75448025b8bf5ec83386364c541dbfbf8ba0b8dc1ac672f476d1a95438f73082e4fd8a5bfa8d7a40b265f38a6'
'82abf7787a56faf5d05d1dcc27c07f9f90b564f4398e82f6ad571eb8eb0dd086fc7e2162c2c151296389e95516e5417bca5209590f248025a107a3c87b7a7e12'
'b58c0bf88294d753da3ead62296e32b33728af20434c3ad20ce064f3a1b75ae32e5107a601526adf59144eb4c77f6add884b3116244154cbb826358824e7e684')
build() {
cd ${pkgname}-${pkgver}
# Dummy RAND_egd() function - Can help to compile some stuff - See https://blog.hboeck.de/archives/851-LibreSSL-on-Gentoo.html
patch -p1 < ../libressl-dummy-rand-egd.patch
./configure --prefix=/usr
make
}
package() {
cd ${pkgname}-${pkgver}
make DESTDIR="${pkgdir}" install
# Ugly renaming of the libressl manual pages using the scheme of openssl because libressl doesn't provide the MANSUFFIX var yet - Look at the openssl PKGBUILD
rename ".1" ".1ssl" "${pkgdir}"/usr/share/man/man1/*
rename ".3" ".3ssl" "${pkgdir}"/usr/share/man/man3/*
install -Dm 644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
install -Dm 644 "${srcdir}/openssl.cnf" "${pkgdir}/etc/ssl/openssl.cnf"
pushd "${pkgdir}/usr/lib"
ln -sf libssl.so libssl.so.1.0.0
ln -sf libcrypto.so libcrypto.so.1.0.0
chmod 744 lib*
chown root:root lib*
popd
}
# vim: ts=2 sw=2 et:
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment