Merge branch 'glibc' of https://github.com/rnhmjoj/nixpkgs into staging
This commit is contained in:
8
pkgs/development/libraries/db/db-6.2.nix
Normal file
8
pkgs/development/libraries/db/db-6.2.nix
Normal file
@@ -0,0 +1,8 @@
|
||||
{ stdenv, fetchurl, ... } @ args:
|
||||
|
||||
import ./generic.nix (args // rec {
|
||||
version = "6.2.23";
|
||||
sha256 = "1isxx4jfmnh913jzhp8hhfngbk6dsg46f4kjpvvc56maj64jqqa7";
|
||||
license = stdenv.lib.licenses.agpl3;
|
||||
extraPatches = [ ./clang-6.0.patch ];
|
||||
})
|
||||
@@ -68,7 +68,8 @@ stdenv.mkDerivation ({
|
||||
++ lib.optionals stdenv.isi686 [
|
||||
./fix-i686-memchr.patch
|
||||
./i686-fix-vectorized-strcspn.patch
|
||||
];
|
||||
]
|
||||
++ lib.optional stdenv.isx86_64 ./fix-x64-abi.patch;
|
||||
|
||||
postPatch =
|
||||
# Needed for glibc to build with the gnumake 3.82
|
||||
|
||||
35
pkgs/development/libraries/glibc/fix-x64-abi.patch
Normal file
35
pkgs/development/libraries/glibc/fix-x64-abi.patch
Normal file
@@ -0,0 +1,35 @@
|
||||
From 3288c6da64add3b4561b8c10fff522027caea01c Mon Sep 17 00:00:00 2001
|
||||
From: Nicholas Miell <nmiell@gmail.com>
|
||||
Date: Sat, 17 Jun 2017 18:21:07 -0700
|
||||
Subject: [PATCH] Align the stack on entry to __tls_get_addr()
|
||||
|
||||
Old versions of gcc (4 & 5) didn't align the stack according to the
|
||||
AMD64 psABI when calling __tls_get_addr(). Apparently new versions of
|
||||
gcc (7) got much more aggressive about vectorizing and generating MOVAPS
|
||||
instructions, which means old binaries built with the buggy versions of
|
||||
gcc are much more likely to crash when using versions of glibc built
|
||||
using gcc 7.
|
||||
|
||||
For example, a large number of Linux games built using the Unity game
|
||||
engine and available for purchase on Steam.
|
||||
---
|
||||
elf/dl-tls.c | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/elf/dl-tls.c b/elf/dl-tls.c
|
||||
index 5aba33b3fa..3f3cb917de 100644
|
||||
--- a/elf/dl-tls.c
|
||||
+++ b/elf/dl-tls.c
|
||||
@@ -827,6 +827,10 @@ rtld_hidden_proto (__tls_get_addr)
|
||||
rtld_hidden_def (__tls_get_addr)
|
||||
#endif
|
||||
|
||||
+#ifdef __x86_64__
|
||||
+/* Old versions of gcc didn't align the stack. */
|
||||
+__attribute__((force_align_arg_pointer))
|
||||
+#endif
|
||||
/* The generic dynamic and local dynamic model cannot be used in
|
||||
statically linked applications. */
|
||||
void *
|
||||
--
|
||||
2.13.0
|
||||
@@ -0,0 +1,9 @@
|
||||
diff --git a/src/runtime/kwalletd/org.kde.kwalletd5.service.in b/src/runtime/kwalletd/org.kde.kwalletd5.service.in
|
||||
index 76eb90e..7a78e83 100644
|
||||
--- a/src/runtime/kwalletd/org.kde.kwalletd5.service.in
|
||||
+++ b/src/runtime/kwalletd/org.kde.kwalletd5.service.in
|
||||
@@ -1,3 +1,3 @@
|
||||
[D-BUS Service]
|
||||
Name=org.kde.kwalletd5
|
||||
-Exec=@CMAKE_INSTALL_PREFIX@/bin/kwalletd5
|
||||
+Exec=@CMAKE_INSTALL_BINDIR@/kwalletd5
|
||||
@@ -15,4 +15,5 @@ mkDerivation {
|
||||
knotifications kservice kwidgetsaddons kwindowsystem libgcrypt qgpgme
|
||||
];
|
||||
propagatedBuildInputs = [ qtbase ];
|
||||
patches = [ ./kwallet-dbus.patch ];
|
||||
}
|
||||
|
||||
@@ -28,7 +28,7 @@ let inherit (stdenv.lib) optional optionals hasPrefix; in
|
||||
let
|
||||
result = {
|
||||
libav_0_8 = libavFun "0.8.20" "0c7a2417c3a01eb74072691bb93ce802ae1be08f";
|
||||
libav_11 = libavFun "11.9" "36ed1329099676ff3c970576e03c6a21f2da2e15";
|
||||
libav_11 = libavFun "11.10" "38db6721ca8423682e4d614c170eccc33ba32e00";
|
||||
libav_12 = libavFun "12" "4ecde7274621c82a6882b7614d907b28de25cc4e";
|
||||
};
|
||||
|
||||
|
||||
@@ -1,46 +1,51 @@
|
||||
{ stdenv, fetchurl, fetchpatch, pkgconfig, gtk2, libXinerama, libSM, libXxf86vm
|
||||
{ stdenv, fetchFromGitHub, fetchpatch, pkgconfig, gtk2, gtk3, libXinerama, libSM, libXxf86vm
|
||||
, xf86vidmodeproto , gstreamer, gst-plugins-base, GConf, setfile
|
||||
, withMesa ? true, mesa_glu ? null, mesa_noglu ? null
|
||||
, compat24 ? false, compat26 ? true, unicode ? true
|
||||
, withWebKit ? false, webkitgtk24x-gtk2 ? null
|
||||
, withGtk2 ? true
|
||||
, withWebKit ? false, webkitgtk24x-gtk2 ? null, webkitgtk216x ? null
|
||||
, AGL ? null, Carbon ? null, Cocoa ? null, Kernel ? null, QTKit ? null
|
||||
}:
|
||||
|
||||
|
||||
assert withMesa -> mesa_glu != null && mesa_noglu != null;
|
||||
assert withWebKit -> webkitgtk24x-gtk2 != null;
|
||||
assert withWebKit -> (if withGtk2 then webkitgtk24x-gtk2 else webkitgtk216x) != null;
|
||||
|
||||
with stdenv.lib;
|
||||
|
||||
let
|
||||
version = "3.0.2";
|
||||
version = "3.0.3.1";
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
name = "wxwidgets-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/wxwindows/wxWidgets-${version}.tar.bz2";
|
||||
sha256 = "0paq27brw4lv8kspxh9iklpa415mxi8zc117vbbbhfjgapf7js1l";
|
||||
src = fetchFromGitHub {
|
||||
owner = "wxWidgets";
|
||||
repo = "wxWidgets";
|
||||
rev = "v${version}";
|
||||
sha256 = "1b90in65k1ij6kyk41knxs86i6hx5lkz30gpvzdvh0cbjagv5asq";
|
||||
};
|
||||
|
||||
buildInputs =
|
||||
[ gtk2 libXinerama libSM libXxf86vm xf86vidmodeproto gstreamer
|
||||
[ (if withGtk2 then gtk2 else gtk3) libXinerama libSM libXxf86vm xf86vidmodeproto gstreamer
|
||||
gst-plugins-base GConf ]
|
||||
++ optional withMesa mesa_glu
|
||||
++ optional withWebKit webkitgtk24x-gtk2
|
||||
++ optional withWebKit (if withGtk2 then webkitgtk24x-gtk2 else webkitgtk216x)
|
||||
++ optionals stdenv.isDarwin [ setfile Carbon Cocoa Kernel QTKit ];
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
|
||||
propagatedBuildInputs = optional stdenv.isDarwin AGL;
|
||||
|
||||
patches = [ (fetchpatch {
|
||||
url = "https://raw.githubusercontent.com/jessehager/MINGW-packages/af6ece963d8157dd3fbc710bcc190647c4924c63/mingw-w64-wxwidgets/wxWidgets-3.0.2-gcc6-abs.patch";
|
||||
sha256 = "0100pg0z7i6cjyysf2k3330pmqmdaxgc9hz6kxnfvc31dynjcq3h";
|
||||
}) ];
|
||||
patches =
|
||||
# "Add support for WebKit2GTK+ in wxWebView". Will be in 3.0.4
|
||||
optional (!withGtk2) (fetchpatch {
|
||||
url = "https://github.com/wxWidgets/wxWidgets/commit/ec6e54bc893fb7516731ca9c71e0d0bbc5ae9ff7.patch";
|
||||
sha256 = "0gxd83xajm7gdv9rdzyvqwa2p5nz29nr23i0zx2dgfpsvz2qjp3q";
|
||||
});
|
||||
|
||||
configureFlags =
|
||||
[ "--enable-gtk2" "--disable-precomp-headers" "--enable-mediactrl"
|
||||
[ "--disable-precomp-headers" "--enable-mediactrl"
|
||||
(if compat24 then "--enable-compat24" else "--disable-compat24")
|
||||
(if compat26 then "--enable-compat26" else "--disable-compat26") ]
|
||||
++ optional unicode "--enable-unicode"
|
||||
@@ -72,7 +77,7 @@ stdenv.mkDerivation {
|
||||
|
||||
passthru = {
|
||||
inherit compat24 compat26 unicode;
|
||||
gtk = gtk2;
|
||||
gtk = if withGtk2 then gtk2 else gtk3;
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
Reference in New Issue
Block a user