Merge branch 'staging'
http://hydra.nixos.org/eval/1234895 The mass errors on Hydra seem transient; I verified ghc on i686-linux. Only darwin jobs are queued ATM. There's a libpng security update included in this merge, so I don't want to wait too long.
This commit is contained in:
@@ -21,11 +21,11 @@ in
|
||||
with stdenv.lib;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "perl-5.20.2";
|
||||
name = "perl-5.20.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://cpan/authors/id/S/SH/SHAY/${name}.tar.gz";
|
||||
sha256 = "17cvplgpxbm1hshxlkra2fldn4da1iap1lsnb04hdm8ply93k95i";
|
||||
sha256 = "0jlvpd5l5nk7lzfd4akdg1sw6vinbkj6izclyyr0lrbidfky691m";
|
||||
};
|
||||
|
||||
outputs = [ "out" "man" ];
|
||||
@@ -33,8 +33,6 @@ stdenv.mkDerivation rec {
|
||||
patches =
|
||||
[ # Do not look in /usr etc. for dependencies.
|
||||
./no-sys-dirs.patch
|
||||
# Remove in 5.20.3
|
||||
./perl-5.20.2-gcc5_fixes-1.patch
|
||||
]
|
||||
++ optional stdenv.isSunOS ./ld-shared.patch
|
||||
++ stdenv.lib.optional stdenv.isDarwin [ ./cpp-precomp.patch ./no-libutil.patch ] ;
|
||||
@@ -84,6 +82,9 @@ stdenv.mkDerivation rec {
|
||||
''}
|
||||
'' + optionalString stdenv.isDarwin ''
|
||||
substituteInPlace hints/darwin.sh --replace "env MACOSX_DEPLOYMENT_TARGET=10.3" ""
|
||||
'' + optionalString (!enableThreading) ''
|
||||
# We need to do this because the bootstrap doesn't have a static libpthread
|
||||
sed -i 's,\(libswanted.*\)pthread,\1,g' Configure
|
||||
'';
|
||||
|
||||
preBuild = optionalString (!(stdenv ? cc && stdenv.cc.nativeTools))
|
||||
|
||||
@@ -1,127 +0,0 @@
|
||||
Submitted By: Ken Moffat <ken at linuxfromscratch dot org>
|
||||
Date: 2015-04-17
|
||||
Initial Package Version: 5.20.2
|
||||
Upstream Status: Committed
|
||||
Origin: Petr Pisař and Tony Cook
|
||||
Description: Fixes Errno.pm and h2ph with gcc-5.
|
||||
|
||||
1. cherry-picked because the change to $version will not apply, from
|
||||
commit 816b056ffb99ae54642320e20dc30a59fd1effef
|
||||
Author: Petr Písař <ppisar@redhat.com>
|
||||
Date: Wed Feb 11 15:46:37 2015 +0100
|
||||
|
||||
Fix Errno.pm generation for gcc-5.0
|
||||
|
||||
gcc-5.0 -E interleaves now line numbers with expended macros, so that
|
||||
the generated errno.c will be preprocessed to
|
||||
|
||||
EBFONT => [[
|
||||
59
|
||||
]]
|
||||
|
||||
which is hard to parse in in line-based reader.
|
||||
|
||||
So use -P option with gcc >= 5.0. Global -P usage would break makedepend,
|
||||
global -ftrack-macro-expansion=0 would break lib/h2ph.t.
|
||||
|
||||
RT#123784
|
||||
|
||||
diff --git a/ext/Errno/Errno_pm.PL b/ext/Errno/Errno_pm.PL
|
||||
index 3dadfce..c6bfa06 100644
|
||||
--- a/ext/Errno/Errno_pm.PL
|
||||
+++ b/ext/Errno/Errno_pm.PL
|
||||
@@ -215,20 +215,31 @@ sub write_errno_pm {
|
||||
{ # BeOS (support now removed) did not enter this block
|
||||
# invoke CPP and read the output
|
||||
|
||||
+ my $inhibit_linemarkers = '';
|
||||
+ if ($Config{gccversion} =~ /\A(\d+)\./ and $1 >= 5) {
|
||||
+ # GCC 5.0 interleaves expanded macros with line numbers breaking
|
||||
+ # each line into multiple lines. RT#123784
|
||||
+ $inhibit_linemarkers = ' -P';
|
||||
+ }
|
||||
+
|
||||
if ($^O eq 'VMS') {
|
||||
- my $cpp = "$Config{cppstdin} $Config{cppflags} $Config{cppminus}";
|
||||
+ my $cpp = "$Config{cppstdin} $Config{cppflags}" .
|
||||
+ $inhibit_linemarkers . " $Config{cppminus}";
|
||||
$cpp =~ s/sys\$input//i;
|
||||
open(CPPO,"$cpp errno.c |") or
|
||||
die "Cannot exec $Config{cppstdin}";
|
||||
} elsif ($IsMSWin32 || $^O eq 'NetWare') {
|
||||
- open(CPPO,"$Config{cpprun} $Config{cppflags} errno.c |") or
|
||||
- die "Cannot run '$Config{cpprun} $Config{cppflags} errno.c'";
|
||||
+ my $cpp = "$Config{cpprun} $Config{cppflags}" .
|
||||
+ $inhibit_linemarkers;
|
||||
+ open(CPPO,"$cpp errno.c |") or
|
||||
+ die "Cannot run '$cpp errno.c'";
|
||||
} elsif ($IsSymbian) {
|
||||
- my $cpp = "gcc -E -I$ENV{SDK}\\epoc32\\include\\libc -";
|
||||
+ my $cpp = "gcc -E -I$ENV{SDK}\\epoc32\\include\\libc" .
|
||||
+ $inhibit_linemarkers ." -";
|
||||
open(CPPO,"$cpp < errno.c |")
|
||||
or die "Cannot exec $cpp";
|
||||
} else {
|
||||
- my $cpp = default_cpp();
|
||||
+ my $cpp = default_cpp() . $inhibit_linemarkers;
|
||||
open(CPPO,"$cpp < errno.c |")
|
||||
or die "Cannot exec $cpp";
|
||||
}
|
||||
|
||||
commit 3bea78d24634e630b610f59957e7a019205a67b2
|
||||
Author: Tony Cook <tony@develop-help.com>
|
||||
Date: Mon Feb 16 15:57:00 2015 +1100
|
||||
|
||||
h2ph: correct handling of hex constants for the preamble
|
||||
|
||||
Previously they were treated as identifiers resulting in code
|
||||
generated like C< &0xFFF >.
|
||||
|
||||
We also try to prevent compile-time warnings from large hex integers,
|
||||
the user isn't responsible for the generated code, so we delay those
|
||||
warnings to run-time.
|
||||
|
||||
diff --git a/utils/h2ph.PL b/utils/h2ph.PL
|
||||
index 9a8b14d..d082f22 100644
|
||||
--- a/utils/h2ph.PL
|
||||
+++ b/utils/h2ph.PL
|
||||
@@ -769,7 +769,7 @@ sub inc_dirs
|
||||
sub build_preamble_if_necessary
|
||||
{
|
||||
# Increment $VERSION every time this function is modified:
|
||||
- my $VERSION = 3;
|
||||
+ my $VERSION = 4;
|
||||
my $preamble = "$Dest_dir/_h2ph_pre.ph";
|
||||
|
||||
# Can we skip building the preamble file?
|
||||
@@ -788,6 +788,11 @@ sub build_preamble_if_necessary
|
||||
|
||||
open PREAMBLE, ">$preamble" or die "Cannot open $preamble: $!";
|
||||
print PREAMBLE "# This file was created by h2ph version $VERSION\n";
|
||||
+ # Prevent non-portable hex constants from warning.
|
||||
+ #
|
||||
+ # We still produce an overflow warning if we can't represent
|
||||
+ # a hex constant as an integer.
|
||||
+ print PREAMBLE "no warnings qw(portable);\n";
|
||||
|
||||
foreach (sort keys %define) {
|
||||
if ($opt_D) {
|
||||
@@ -814,6 +819,18 @@ DEFINE
|
||||
# integer:
|
||||
print PREAMBLE
|
||||
"unless (defined &$_) { sub $_() { $1 } }\n\n";
|
||||
+ } elsif ($define{$_} =~ /^([+-]?0x[\da-f]+)U?L{0,2}$/i) {
|
||||
+ # hex integer
|
||||
+ # Special cased, since perl warns on hex integers
|
||||
+ # that can't be represented in a UV.
|
||||
+ #
|
||||
+ # This way we get the warning at time of use, so the user
|
||||
+ # only gets the warning if they happen to use this
|
||||
+ # platform-specific definition.
|
||||
+ my $code = $1;
|
||||
+ $code = "hex('$code')" if length $code > 10;
|
||||
+ print PREAMBLE
|
||||
+ "unless (defined &$_) { sub $_() { $code } }\n\n";
|
||||
} elsif ($define{$_} =~ /^\w+$/) {
|
||||
my $def = $define{$_};
|
||||
if ($isatype{$def}) {
|
||||
@@ -1,7 +1,8 @@
|
||||
{ patchSet, useRailsExpress, ops, patchLevel }:
|
||||
|
||||
let self = rec {
|
||||
rec {
|
||||
"1.9.3" = [
|
||||
./ssl_v3.patch
|
||||
./ruby19-parallel-install.patch
|
||||
./bitperfect-rdoc.patch
|
||||
] ++ ops useRailsExpress [
|
||||
@@ -25,13 +26,17 @@ let self = rec {
|
||||
"${patchSet}/patches/ruby/1.9.3/p${patchLevel}/railsexpress/18-fix-missing-c-return-event.patch"
|
||||
"${patchSet}/patches/ruby/1.9.3/p${patchLevel}/railsexpress/19-fix-process-daemon-call.patch"
|
||||
];
|
||||
"2.0.0" = ops useRailsExpress [
|
||||
"2.0.0" = [
|
||||
./ssl_v3.patch
|
||||
] ++ ops useRailsExpress [
|
||||
"${patchSet}/patches/ruby/2.0.0/p${patchLevel}/railsexpress/01-zero-broken-tests.patch"
|
||||
"${patchSet}/patches/ruby/2.0.0/p${patchLevel}/railsexpress/02-railsexpress-gc.patch"
|
||||
"${patchSet}/patches/ruby/2.0.0/p${patchLevel}/railsexpress/03-display-more-detailed-stack-trace.patch"
|
||||
"${patchSet}/patches/ruby/2.0.0/p${patchLevel}/railsexpress/04-show-full-backtrace-on-stack-overflow.patch"
|
||||
];
|
||||
"2.1.0" = ops useRailsExpress [
|
||||
"2.1.0" = [
|
||||
./ssl_v3.patch
|
||||
] ++ ops useRailsExpress [
|
||||
"${patchSet}/patches/ruby/2.1.0/railsexpress/01-current-2.1.1-fixes.patch"
|
||||
"${patchSet}/patches/ruby/2.1.0/railsexpress/02-zero-broken-tests.patch"
|
||||
"${patchSet}/patches/ruby/2.1.0/railsexpress/03-improve-gc-stats.patch"
|
||||
@@ -45,7 +50,9 @@ let self = rec {
|
||||
"${patchSet}/patches/ruby/2.1.0/railsexpress/11-funny-falcon-method-cache.patch"
|
||||
"${patchSet}/patches/ruby/2.1.0/railsexpress/12-backport-r44370.patch"
|
||||
];
|
||||
"2.1.1" = ops useRailsExpress [
|
||||
"2.1.1" = [
|
||||
./ssl_v3.patch
|
||||
] ++ ops useRailsExpress [
|
||||
"${patchSet}/patches/ruby/2.1.0/railsexpress/01-zero-broken-tests.patch"
|
||||
"${patchSet}/patches/ruby/2.1.0/railsexpress/02-improve-gc-stats.patch"
|
||||
"${patchSet}/patches/ruby/2.1.0/railsexpress/03-display-more-detailed-stack-trace.patch"
|
||||
@@ -58,7 +65,9 @@ let self = rec {
|
||||
"${patchSet}/patches/ruby/2.1.0/railsexpress/11-funny-falcon-method-cache.patch"
|
||||
"${patchSet}/patches/ruby/2.1.0/railsexpress/12-backport-r44370.patch"
|
||||
];
|
||||
"2.1.2" = ops useRailsExpress [
|
||||
"2.1.2" = [
|
||||
./ssl_v3.patch
|
||||
] ++ ops useRailsExpress [
|
||||
"${patchSet}/patches/ruby/2.1.2/railsexpress/01-zero-broken-tests.patch"
|
||||
"${patchSet}/patches/ruby/2.1.2/railsexpress/02-improve-gc-stats.patch"
|
||||
"${patchSet}/patches/ruby/2.1.2/railsexpress/03-display-more-detailed-stack-trace.patch"
|
||||
@@ -70,7 +79,9 @@ let self = rec {
|
||||
"${patchSet}/patches/ruby/2.1.2/railsexpress/09-aman-opt-aset-aref-str.patch"
|
||||
"${patchSet}/patches/ruby/2.1.2/railsexpress/10-funny-falcon-method-cache.patch"
|
||||
];
|
||||
"2.1.3" = ops useRailsExpress [
|
||||
"2.1.3" = [
|
||||
./ssl_v3.patch
|
||||
] ++ ops useRailsExpress [
|
||||
"${patchSet}/patches/ruby/2.1.3/railsexpress/01-zero-broken-tests.patch"
|
||||
"${patchSet}/patches/ruby/2.1.3/railsexpress/02-improve-gc-stats.patch"
|
||||
"${patchSet}/patches/ruby/2.1.3/railsexpress/03-display-more-detailed-stack-trace.patch"
|
||||
@@ -80,7 +91,9 @@ let self = rec {
|
||||
"${patchSet}/patches/ruby/2.1.3/railsexpress/07-aman-opt-aset-aref-str.patch"
|
||||
"${patchSet}/patches/ruby/2.1.3/railsexpress/08-funny-falcon-method-cache.patch"
|
||||
];
|
||||
"2.1.6" = ops useRailsExpress [
|
||||
"2.1.6" = [
|
||||
./ssl_v3.patch
|
||||
] ++ ops useRailsExpress [
|
||||
"${patchSet}/patches/ruby/2.1.6/railsexpress/01-zero-broken-tests.patch"
|
||||
"${patchSet}/patches/ruby/2.1.6/railsexpress/02-improve-gc-stats.patch"
|
||||
"${patchSet}/patches/ruby/2.1.6/railsexpress/03-display-more-detailed-stack-trace.patch"
|
||||
@@ -91,7 +104,9 @@ let self = rec {
|
||||
"${patchSet}/patches/ruby/2.1.6/railsexpress/08-funny-falcon-method-cache.patch"
|
||||
"${patchSet}/patches/ruby/2.1.6/railsexpress/09-heap-dump-support.patch"
|
||||
];
|
||||
"2.1.7" = ops useRailsExpress [
|
||||
"2.1.7" = [
|
||||
./ssl_v3.patch
|
||||
] ++ ops useRailsExpress [
|
||||
"${patchSet}/patches/ruby/2.1.7/railsexpress/01-zero-broken-tests.patch"
|
||||
"${patchSet}/patches/ruby/2.1.7/railsexpress/02-improve-gc-stats.patch"
|
||||
"${patchSet}/patches/ruby/2.1.7/railsexpress/03-display-more-detailed-stack-trace.patch"
|
||||
@@ -102,22 +117,28 @@ let self = rec {
|
||||
"${patchSet}/patches/ruby/2.1.7/railsexpress/08-funny-falcon-method-cache.patch"
|
||||
"${patchSet}/patches/ruby/2.1.7/railsexpress/09-heap-dump-support.patch"
|
||||
];
|
||||
"2.2.0" = ops useRailsExpress [
|
||||
"2.2.0" = [
|
||||
./ssl_v3.patch
|
||||
] ++ ops useRailsExpress [
|
||||
"${patchSet}/patches/ruby/2.2.0/railsexpress/01-zero-broken-tests.patch"
|
||||
"${patchSet}/patches/ruby/2.2.0/railsexpress/02-improve-gc-stats.patch"
|
||||
"${patchSet}/patches/ruby/2.2.0/railsexpress/03-display-more-detailed-stack-trace.patch"
|
||||
"${patchSet}/patches/ruby/2.2.0/railsexpress/04-backport-401c8bb.patch"
|
||||
"${patchSet}/patches/ruby/2.2.0/railsexpress/05-fix-packed-bitfield-compat-warning-for-older-gccs.patch"
|
||||
];
|
||||
"2.2.2" = ops useRailsExpress [
|
||||
"2.2.2" = [
|
||||
./ssl_v3.patch
|
||||
] ++ ops useRailsExpress [
|
||||
"${patchSet}/patches/ruby/2.2.2/railsexpress/01-zero-broken-tests.patch"
|
||||
"${patchSet}/patches/ruby/2.2.2/railsexpress/02-improve-gc-stats.patch"
|
||||
"${patchSet}/patches/ruby/2.2.2/railsexpress/03-display-more-detailed-stack-trace.patch"
|
||||
"${patchSet}/patches/ruby/2.2.2/railsexpress/04-backported-bugfixes-222.patch"
|
||||
];
|
||||
"2.2.3" = ops useRailsExpress [
|
||||
"2.2.3" = [
|
||||
./ssl_v3.patch
|
||||
] ++ ops useRailsExpress [
|
||||
"${patchSet}/patches/ruby/2.2.3/railsexpress/01-zero-broken-tests.patch"
|
||||
"${patchSet}/patches/ruby/2.2.3/railsexpress/02-improve-gc-stats.patch"
|
||||
"${patchSet}/patches/ruby/2.2.3/railsexpress/03-display-more-detailed-stack-trace.patch"
|
||||
];
|
||||
}; in self
|
||||
}
|
||||
|
||||
16
pkgs/development/interpreters/ruby/ssl_v3.patch
Normal file
16
pkgs/development/interpreters/ruby/ssl_v3.patch
Normal file
@@ -0,0 +1,16 @@
|
||||
--- a/ext/openssl/ossl_ssl.c 2015-11-26 16:41:03.775058140 +0000
|
||||
+++ b/ext/openssl/ossl_ssl.c 2015-11-26 16:40:56.191907346 +0000
|
||||
@@ -138,9 +138,12 @@
|
||||
OSSL_SSL_METHOD_ENTRY(SSLv2_server),
|
||||
OSSL_SSL_METHOD_ENTRY(SSLv2_client),
|
||||
#endif
|
||||
+#if defined(HAVE_SSLV3_METHOD) && defined(HAVE_SSLV3_SERVER_METHOD) && \
|
||||
+ defined(HAVE_SSLV3_CLIENT_METHOD)
|
||||
OSSL_SSL_METHOD_ENTRY(SSLv3),
|
||||
OSSL_SSL_METHOD_ENTRY(SSLv3_server),
|
||||
OSSL_SSL_METHOD_ENTRY(SSLv3_client),
|
||||
+#endif
|
||||
OSSL_SSL_METHOD_ENTRY(SSLv23),
|
||||
OSSL_SSL_METHOD_ENTRY(SSLv23_server),
|
||||
OSSL_SSL_METHOD_ENTRY(SSLv23_client),
|
||||
|
||||
@@ -28,6 +28,12 @@ stdenv.mkDerivation (rec {
|
||||
"gt_cv_func_CFLocaleCopyCurrent=no"
|
||||
]);
|
||||
|
||||
patchPhase = ''
|
||||
substituteInPlace gettext-tools/projects/KDE/trigger --replace "/bin/pwd" pwd
|
||||
substituteInPlace gettext-tools/projects/GNOME/trigger --replace "/bin/pwd" pwd
|
||||
substituteInPlace gettext-tools/src/project-id --replace "/bin/pwd" pwd
|
||||
'';
|
||||
|
||||
# On cross building, gettext supposes that the wchar.h from libc
|
||||
# does not fulfill gettext needs, so it tries to work with its
|
||||
# own wchar.h file, which does not cope well with the system's
|
||||
@@ -90,8 +96,8 @@ stdenv.mkDerivation (rec {
|
||||
# Make sure `error.c' gets compiled and is part of `libgettextlib.la'.
|
||||
# This fixes:
|
||||
# gettext-0.18.1.1/gettext-tools/src/msgcmp.c:371: undefined reference to `_error_message_count'
|
||||
|
||||
'' sed -i gettext-tools/gnulib-lib/Makefile.in \
|
||||
''
|
||||
sed -i gettext-tools/gnulib-lib/Makefile.in \
|
||||
-e 's/am_libgettextlib_la_OBJECTS =/am_libgettextlib_la_OBJECTS = error.lo/g'
|
||||
'';
|
||||
})
|
||||
|
||||
@@ -61,6 +61,8 @@ stdenv.mkDerivation ({
|
||||
./security-bdf1ff05.patch
|
||||
./cve-2014-8121.patch
|
||||
./cve-2015-1781.patch
|
||||
|
||||
./glibc-locale-incompatibility.patch
|
||||
];
|
||||
|
||||
postPatch =
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
http://git.savannah.gnu.org/cgit/guix.git/plain/gnu/packages/patches/glibc-locale-incompatibility.patch
|
||||
|
||||
This patch avoids an assertion failure when incompatible locale data
|
||||
is encountered:
|
||||
|
||||
https://sourceware.org/ml/libc-alpha/2015-09/msg00575.html
|
||||
|
||||
--- glibc-2.22/locale/loadlocale.c 2015-09-22 17:16:02.321981548 +0200
|
||||
+++ glibc-2.22/locale/loadlocale.c 2015-09-22 17:17:34.814659064 +0200
|
||||
@@ -120,10 +120,11 @@
|
||||
_nl_value_type_LC_XYZ array. There are all pointers. */
|
||||
switch (category)
|
||||
{
|
||||
-#define CATTEST(cat) \
|
||||
- case LC_##cat: \
|
||||
- assert (cnt < (sizeof (_nl_value_type_LC_##cat) \
|
||||
- / sizeof (_nl_value_type_LC_##cat[0]))); \
|
||||
+#define CATTEST(cat) \
|
||||
+ case LC_##cat: \
|
||||
+ if (cnt >= (sizeof (_nl_value_type_LC_##cat) \
|
||||
+ / sizeof (_nl_value_type_LC_##cat[0]))) \
|
||||
+ goto puntdata; \
|
||||
break
|
||||
CATTEST (NUMERIC);
|
||||
CATTEST (TIME);
|
||||
@@ -1,4 +1,4 @@
|
||||
{ fetchurl, stdenv }:
|
||||
{ fetchurl, stdenv, dejagnu, doCheck ? false }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "libffi-3.2.1";
|
||||
@@ -10,11 +10,15 @@ stdenv.mkDerivation rec {
|
||||
|
||||
patches = if stdenv.isCygwin then [ ./3.2.1-cygwin.patch ] else null;
|
||||
|
||||
buildInputs = stdenv.lib.optional doCheck dejagnu;
|
||||
|
||||
configureFlags = [
|
||||
"--with-gcc-arch=generic" # no detection of -march= or -mtune=
|
||||
"--enable-pax_emutramp"
|
||||
];
|
||||
|
||||
inherit doCheck;
|
||||
|
||||
dontStrip = stdenv ? cross; # Don't run the native `strip' when cross-compiling.
|
||||
|
||||
# Install headers in the right place.
|
||||
@@ -22,7 +26,7 @@ stdenv.mkDerivation rec {
|
||||
ln -s${if (stdenv.isFreeBSD || stdenv.isOpenBSD || stdenv.isDarwin) then "" else "r"}v "$out/lib/"libffi*/include "$out/include"
|
||||
'';
|
||||
|
||||
meta = {
|
||||
meta = with stdenv.lib; {
|
||||
description = "A foreign function call interface library";
|
||||
longDescription = ''
|
||||
The libffi library provides a portable, high level programming
|
||||
@@ -40,8 +44,8 @@ stdenv.mkDerivation rec {
|
||||
'';
|
||||
homepage = http://sourceware.org/libffi/;
|
||||
# See http://github.com/atgreen/libffi/blob/master/LICENSE .
|
||||
license = stdenv.lib.licenses.free;
|
||||
license = licenses.free;
|
||||
maintainers = [ ];
|
||||
platforms = stdenv.lib.platforms.all;
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -3,11 +3,11 @@
|
||||
assert zlib != null;
|
||||
|
||||
let
|
||||
version = "1.6.19";
|
||||
sha256 = "1s1mmkl79ghiczi2x2rbnp6y70v4c5pr8g3icxn9h5imymbmc71i";
|
||||
version = "1.6.20";
|
||||
sha256 = "12wis4rlisfnw79pj2778m42m94xpi9nq8m385hxk11lkyg9biam";
|
||||
patch_src = fetchurl {
|
||||
url = "mirror://sourceforge/libpng-apng/libpng-${version}-apng.patch.gz";
|
||||
sha256 = "0bgqkac16yhl0zwjzq2zwkixg2l2x3a6blbk3k0wqz0lza2a6jrh";
|
||||
sha256 = "11xgal9qk6fmqdgcb37xg55f2y58wizszw54p1pyq855d2xpwfz6";
|
||||
};
|
||||
whenPatched = stdenv.lib.optionalString apngSupport;
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@ else
|
||||
*/
|
||||
|
||||
let
|
||||
version = "11.0.5";
|
||||
version = "11.0.8";
|
||||
# this is the default search path for DRI drivers
|
||||
driverLink = "/run/opengl-driver" + stdenv.lib.optionalString stdenv.isi686 "-32";
|
||||
in
|
||||
@@ -38,7 +38,7 @@ stdenv.mkDerivation {
|
||||
+ head (splitString "." version) + ''.x/${version}/mesa-${version}.tar.xz'')
|
||||
"https://launchpad.net/mesa/trunk/${version}/+download/mesa-${version}.tar.xz"
|
||||
];
|
||||
sha256 = "9c255a2a6695fcc6ef4a279e1df0aeaf417dc142f39ee59dfb533d80494bb67a";
|
||||
sha256 = "5696e4730518b6805d2ed5def393c4293f425a2c2c01bd5ed4bdd7ad62f7ad75";
|
||||
};
|
||||
|
||||
prePatch = "patchShebangs .";
|
||||
|
||||
@@ -13,6 +13,8 @@ stdenv.mkDerivation rec {
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
patches = [ ./libressl.patch ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Qt Cryptographic Architecture";
|
||||
license = "LGPL";
|
||||
|
||||
28
pkgs/development/libraries/qca2/libressl.patch
Normal file
28
pkgs/development/libraries/qca2/libressl.patch
Normal file
@@ -0,0 +1,28 @@
|
||||
--- a/plugins/qca-ossl/qca-ossl.cpp 2015-12-02 09:34:25.810682094 +0000
|
||||
+++ b/plugins/qca-ossl/qca-ossl.cpp 2015-12-02 09:29:51.720392423 +0000
|
||||
@@ -5403,11 +5403,13 @@
|
||||
ctx = SSL_CTX_new(SSLv2_client_method());
|
||||
break;
|
||||
#endif
|
||||
+#ifndef OPENSSL_NO_SSL3
|
||||
case TLS::SSL_v3:
|
||||
ctx = SSL_CTX_new(SSLv3_client_method());
|
||||
break;
|
||||
+#endif
|
||||
case TLS::TLS_v1:
|
||||
+ ctx = SSL_CTX_new(SSLv23_client_method());
|
||||
- ctx = SSL_CTX_new(TLSv1_client_method());
|
||||
break;
|
||||
case TLS::DTLS_v1:
|
||||
default:
|
||||
@@ -7133,8 +7135,10 @@
|
||||
return new opensslInfoContext(this);
|
||||
else if ( type == "sha1" )
|
||||
return new opensslHashContext( EVP_sha1(), this, type);
|
||||
+#ifndef OPENSSL_NO_SHA0
|
||||
else if ( type == "sha0" )
|
||||
return new opensslHashContext( EVP_sha(), this, type);
|
||||
+#endif
|
||||
else if ( type == "ripemd160" )
|
||||
return new opensslHashContext( EVP_ripemd160(), this, type);
|
||||
#ifdef HAVE_OPENSSL_MD2
|
||||
@@ -50,6 +50,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
patches =
|
||||
[ ./glib-2.32.patch
|
||||
./libressl.patch
|
||||
(substituteAll {
|
||||
src = ./dlopen-absolute-paths.diff;
|
||||
inherit cups icu libXfixes;
|
||||
|
||||
64
pkgs/development/libraries/qt-4.x/4.8/libressl.patch
Normal file
64
pkgs/development/libraries/qt-4.x/4.8/libressl.patch
Normal file
@@ -0,0 +1,64 @@
|
||||
$OpenBSD: patch-src_network_ssl_qsslsocket_openssl_symbols_cpp,v 1.3 2015/09/17 12:24:42 dcoppa Exp $
|
||||
--- a/src/network/ssl/qsslsocket_openssl_symbols.cpp Wed Sep 16 13:27:39 2015
|
||||
+++ b/src/network/ssl/qsslsocket_openssl_symbols.cpp Wed Sep 16 13:33:06 2015
|
||||
@@ -228,13 +228,17 @@ DEFINEFUNC(int, SSL_shutdown, SSL *a, a, return -1, re
|
||||
#ifndef OPENSSL_NO_SSL2
|
||||
DEFINEFUNC(const SSL_METHOD *, SSLv2_client_method, DUMMYARG, DUMMYARG, return 0, return)
|
||||
#endif
|
||||
+#ifndef OPENSSL_NO_SSL3
|
||||
DEFINEFUNC(const SSL_METHOD *, SSLv3_client_method, DUMMYARG, DUMMYARG, return 0, return)
|
||||
+#endif
|
||||
DEFINEFUNC(const SSL_METHOD *, SSLv23_client_method, DUMMYARG, DUMMYARG, return 0, return)
|
||||
DEFINEFUNC(const SSL_METHOD *, TLSv1_client_method, DUMMYARG, DUMMYARG, return 0, return)
|
||||
#ifndef OPENSSL_NO_SSL2
|
||||
DEFINEFUNC(const SSL_METHOD *, SSLv2_server_method, DUMMYARG, DUMMYARG, return 0, return)
|
||||
#endif
|
||||
+#ifndef OPENSSL_NO_SSL3
|
||||
DEFINEFUNC(const SSL_METHOD *, SSLv3_server_method, DUMMYARG, DUMMYARG, return 0, return)
|
||||
+#endif
|
||||
DEFINEFUNC(const SSL_METHOD *, SSLv23_server_method, DUMMYARG, DUMMYARG, return 0, return)
|
||||
DEFINEFUNC(const SSL_METHOD *, TLSv1_server_method, DUMMYARG, DUMMYARG, return 0, return)
|
||||
#else
|
||||
@@ -822,13 +826,17 @@ bool q_resolveOpenSslSymbols()
|
||||
#ifndef OPENSSL_NO_SSL2
|
||||
RESOLVEFUNC(SSLv2_client_method)
|
||||
#endif
|
||||
+#ifndef OPENSSL_NO_SSL3
|
||||
RESOLVEFUNC(SSLv3_client_method)
|
||||
+#endif
|
||||
RESOLVEFUNC(SSLv23_client_method)
|
||||
RESOLVEFUNC(TLSv1_client_method)
|
||||
#ifndef OPENSSL_NO_SSL2
|
||||
RESOLVEFUNC(SSLv2_server_method)
|
||||
#endif
|
||||
+#ifndef OPENSSL_NO_SSL3
|
||||
RESOLVEFUNC(SSLv3_server_method)
|
||||
+#endif
|
||||
RESOLVEFUNC(SSLv23_server_method)
|
||||
RESOLVEFUNC(TLSv1_server_method)
|
||||
RESOLVEFUNC(X509_NAME_entry_count)
|
||||
--- a/src/network/ssl/qsslsocket_openssl.cpp Thu May 7 16:14:44 2015
|
||||
+++ b/src/network/ssl/qsslsocket_openssl.cpp Wed Sep 16 13:30:03 2015
|
||||
@@ -267,15 +267,19 @@ init_context:
|
||||
#endif
|
||||
break;
|
||||
case QSsl::SslV3:
|
||||
+#ifndef OPENSSL_NO_SSL3
|
||||
ctx = q_SSL_CTX_new(client ? q_SSLv3_client_method() : q_SSLv3_server_method());
|
||||
+#else
|
||||
+ ctx = 0; // SSL 3 not supported by the system, but chosen deliberately -> error
|
||||
+#endif
|
||||
break;
|
||||
- case QSsl::SecureProtocols: // SslV2 will be disabled below
|
||||
- case QSsl::TlsV1SslV3: // SslV2 will be disabled below
|
||||
case QSsl::AnyProtocol:
|
||||
- default:
|
||||
ctx = q_SSL_CTX_new(client ? q_SSLv23_client_method() : q_SSLv23_server_method());
|
||||
break;
|
||||
case QSsl::TlsV1:
|
||||
+ case QSsl::SecureProtocols:
|
||||
+ case QSsl::TlsV1SslV3:
|
||||
+ default:
|
||||
ctx = q_SSL_CTX_new(client ? q_TLSv1_client_method() : q_TLSv1_server_method());
|
||||
break;
|
||||
}
|
||||
36
pkgs/development/libraries/qt-5/5.5/qtbase/libressl.patch
Normal file
36
pkgs/development/libraries/qt-5/5.5/qtbase/libressl.patch
Normal file
@@ -0,0 +1,36 @@
|
||||
From 81494e67eccba04fc3fe554d76a9ca6fe7f2250e Mon Sep 17 00:00:00 2001
|
||||
From: hasufell <hasufell@gentoo.org>
|
||||
Date: Sat, 10 Oct 2015 01:15:01 +0200
|
||||
Subject: [PATCH] Fix compilation with libressl
|
||||
|
||||
By additionally checking for defined(SSL_CTRL_SET_CURVES), which
|
||||
is defined in openssl, but not in libressl.
|
||||
---
|
||||
src/network/ssl/qsslcontext_openssl.cpp | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/qtbase/src/network/ssl/qsslcontext_openssl.cpp b/qtbase/src/network/ssl/qsslcontext_openssl.cpp
|
||||
index b88ab54..cfc4f6d 100644
|
||||
--- a/qtbase/src/network/ssl/qsslcontext_openssl.cpp
|
||||
+++ b/qtbase/src/network/ssl/qsslcontext_openssl.cpp
|
||||
@@ -338,7 +338,7 @@ init_context:
|
||||
|
||||
const QVector<QSslEllipticCurve> qcurves = sslContext->sslConfiguration.ellipticCurves();
|
||||
if (!qcurves.isEmpty()) {
|
||||
-#if OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(OPENSSL_NO_EC)
|
||||
+#if OPENSSL_VERSION_NUMBER >= 0x10002000L && defined(SSL_CTRL_SET_CURVES) && !defined(OPENSSL_NO_EC)
|
||||
// Set the curves to be used
|
||||
if (q_SSLeay() >= 0x10002000L) {
|
||||
// SSL_CTX_ctrl wants a non-const pointer as last argument,
|
||||
@@ -352,7 +352,7 @@ init_context:
|
||||
return sslContext;
|
||||
}
|
||||
} else
|
||||
-#endif // OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(OPENSSL_NO_EC)
|
||||
+#endif // OPENSSL_VERSION_NUMBER >= 0x10002000L && defined(SSL_CTRL_SET_CURVES) && !defined(OPENSSL_NO_EC)
|
||||
{
|
||||
// specific curves requested, but not possible to set -> error
|
||||
sslContext->errorStr = msgErrorSettingEllipticCurves(QSslSocket::tr("OpenSSL version too old, need at least v1.0.2"));
|
||||
--
|
||||
2.6.0
|
||||
|
||||
@@ -6,3 +6,4 @@ dlopen-dbus.patch
|
||||
xdg-config-dirs.patch
|
||||
nix-profiles-library-paths.patch
|
||||
compose-search-path.patch
|
||||
libressl.patch
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
{ stdenv, fetchurl, ncurses, perl, xz, interactive ? false }:
|
||||
{ stdenv, fetchurl, ncurses, perl, xz, procps, interactive ? false }:
|
||||
|
||||
with stdenv.lib;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "texinfo-5.2";
|
||||
@@ -9,7 +11,8 @@ stdenv.mkDerivation rec {
|
||||
};
|
||||
|
||||
buildInputs = [ perl xz ]
|
||||
++ stdenv.lib.optional interactive ncurses;
|
||||
++ optional interactive ncurses
|
||||
++ optional doCheck procps; # for tests
|
||||
|
||||
preInstall = ''
|
||||
installFlags="TEXMF=$out/texmf-dist";
|
||||
@@ -21,8 +24,8 @@ stdenv.mkDerivation rec {
|
||||
meta = {
|
||||
homepage = "http://www.gnu.org/software/texinfo/";
|
||||
description = "The GNU documentation system";
|
||||
license = stdenv.lib.licenses.gpl3Plus;
|
||||
platforms = stdenv.lib.platforms.all;
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.all;
|
||||
|
||||
longDescription = ''
|
||||
Texinfo is the official documentation format of the GNU project.
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
{ stdenv, fetchurl, ncurses, perl, xz, libiconv, gawk, interactive ? false }:
|
||||
{ stdenv, fetchurl, ncurses, perl, xz, libiconv, gawk, procps, interactive ? false }:
|
||||
|
||||
with stdenv.lib;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "texinfo-6.0";
|
||||
@@ -9,17 +11,19 @@ stdenv.mkDerivation rec {
|
||||
};
|
||||
|
||||
buildInputs = [ perl xz ]
|
||||
++ stdenv.lib.optionals stdenv.isSunOS [ libiconv gawk ]
|
||||
++ stdenv.lib.optional interactive ncurses;
|
||||
++ optionals stdenv.isSunOS [ libiconv gawk ]
|
||||
++ optional interactive ncurses
|
||||
++ optional doCheck procps; # for tests
|
||||
|
||||
configureFlags = stdenv.lib.optionalString stdenv.isSunOS "AWK=${gawk}/bin/awk";
|
||||
configureFlags = stdenv.lib.optional stdenv.isSunOS "AWK=${gawk}/bin/awk";
|
||||
|
||||
preInstall = ''
|
||||
installFlags="TEXMF=$out/texmf-dist";
|
||||
installTargets="install install-tex";
|
||||
'';
|
||||
|
||||
doCheck = !stdenv.isDarwin && !interactive && !stdenv.isSunOS/*flaky*/;
|
||||
doCheck = interactive # simplify bootstrapping
|
||||
&& !stdenv.isDarwin && !stdenv.isSunOS/*flaky*/;
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = "http://www.gnu.org/software/texinfo/";
|
||||
|
||||
Reference in New Issue
Block a user