Merge branch 'staging'
This commit is contained in:
commit
de99c9c955
|
@ -3,7 +3,7 @@
|
|||
stdenv.mkDerivation {
|
||||
name = "nix-generate-from-cpan-1";
|
||||
|
||||
buildInputs = [ makeWrapper perl perlPackages.YAMLLibYAML perlPackages.JSON ];
|
||||
buildInputs = [ makeWrapper perl perlPackages.YAMLLibYAML perlPackages.JSON perlPackages.CPANPLUS ];
|
||||
|
||||
unpackPhase = "true";
|
||||
buildPhase = "true";
|
||||
|
@ -19,4 +19,4 @@ stdenv.mkDerivation {
|
|||
maintainers = [ stdenv.lib.maintainers.eelco ];
|
||||
description = "Utility to generate a Nix expression for a Perl package from CPAN";
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
|
@ -100,7 +100,7 @@ sub get_deps {
|
|||
foreach my $n (keys %{$deps}) {
|
||||
next if $n eq "perl";
|
||||
# Hacky way to figure out if this module is part of Perl.
|
||||
if ($n !~ /^JSON/ && $n !~ /^YAML/) {
|
||||
if ($n !~ /^JSON/ && $n !~ /^YAML/ && $n !~ /^Module::Pluggable/) {
|
||||
eval "use $n;";
|
||||
if (!$@) {
|
||||
print STDERR "skipping Perl-builtin module $n\n";
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{ stdenv, fetchurl, libogg }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "flac-1.3.0";
|
||||
name = "flac-1.3.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://downloads.xiph.org/releases/flac/${name}.tar.xz";
|
||||
sha256 = "1p0hh190kqvpkbk1bbajd81jfbmkyl4fn2i7pggk2zppq6m68bgs";
|
||||
sha256 = "4773c0099dba767d963fd92143263be338c48702172e8754b9bc5103efe1c56c";
|
||||
};
|
||||
|
||||
buildInputs = [ libogg ];
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
|
||||
let
|
||||
|
||||
version = "6.8.9-8";
|
||||
version = "6.9.0-0";
|
||||
|
||||
arch =
|
||||
if stdenv.system == "i686-linux" then "i686"
|
||||
|
@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
src = fetchurl {
|
||||
url = "mirror://imagemagick/releases/${name}.tar.xz";
|
||||
sha256 = "1c792hbwi308lm9xkml319xaa4w3bz6hwy6i92jwrm7kqr4h8di7";
|
||||
sha256 = "1dmrl5x63msdnxsf4cmhz5v4ard2z3jrgp2zhqlb27399j81qcqj";
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ stdenv, fetchFromGitHub, qt53 }:
|
||||
{ stdenv, fetchFromGitHub, qt5 }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "0.9";
|
||||
|
@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
|
|||
sha256 = "8462f3eded7b2219acc143258544b0dfac32d81e10cac61ff14276d426704c93";
|
||||
};
|
||||
|
||||
buildInputs = [ qt53 ];
|
||||
buildInputs = [ qt5 ];
|
||||
|
||||
buildPhase = ''
|
||||
pushd ./konsole-qml-plugin
|
||||
|
@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
cat > $out/bin/cool-old-term <<EOF
|
||||
#!${stdenv.shell}
|
||||
${qt53}/bin/qmlscene -I $out/lib/cool-old-term/imports $out/share/cool-old-term/app/main.qml
|
||||
${qt5}/bin/qmlscene -I $out/lib/cool-old-term/imports $out/share/cool-old-term/app/main.qml
|
||||
EOF
|
||||
chmod a+x $out/bin/cool-old-term
|
||||
'';
|
||||
|
|
|
@ -16,6 +16,9 @@ stdenv.mkDerivation {
|
|||
# these tests take a long time and don't
|
||||
# always complete in the build environment
|
||||
postPatch = "sed -i '/add_subdirectory(tests)/d' CMakeLists.txt";
|
||||
|
||||
NIX_CFLAGS_COMPILE = "-Wno-error=cpp";
|
||||
|
||||
doCheck = false;
|
||||
checkTarget = "test-release"; # this would be the target
|
||||
|
||||
|
|
|
@ -69,5 +69,6 @@ stdenv.mkDerivation rec {
|
|||
license = licenses.agpl3;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ bjornfor the-kenny ];
|
||||
broken = true; # requires Perl 5.14
|
||||
};
|
||||
}
|
||||
|
|
|
@ -17,6 +17,8 @@ stdenv.mkDerivation rec {
|
|||
./ipc-lazytrace.patch
|
||||
];
|
||||
|
||||
postPatch = "substituteInPlace plugin/pluginutil.c --replace strndup strndup_";
|
||||
|
||||
passthru.mozillaPlugin = "/lib/mozilla/plugins";
|
||||
|
||||
meta = {
|
||||
|
|
|
@ -7,6 +7,8 @@ stdenv.mkDerivation {
|
|||
(fetchurl { url = "http://mawercer.de/~nix/repos/libsvgtiny-9721.tar.gz"; sha256 = "0c4c8e357c220218a32ef789eb2ba8226a403d4c2b550d7c65f351a0af5d1a71"; });
|
||||
# END
|
||||
|
||||
NIX_CFLAGS_COMPILE = "-Wno-error=cpp";
|
||||
|
||||
installPhase = "make PREFIX=$out install";
|
||||
buildInputs = [pkgconfig gperf libxml2];
|
||||
|
||||
|
|
|
@ -7,6 +7,8 @@ stdenv.mkDerivation {
|
|||
(fetchurl { url = "http://mawercer.de/~nix/repos/libwapcaplet-9721.tar.gz"; sha256 = "7f9f32ca772c939d67f3bc8bf0705544c2b2950760da3fe6a4e069ad0f77d91a"; });
|
||||
# END
|
||||
|
||||
NIX_CFLAGS_COMPILE = "-Wno-error=cpp";
|
||||
|
||||
installPhase = "make PREFIX=$out install";
|
||||
buildInputs = [];
|
||||
|
||||
|
|
|
@ -37,5 +37,6 @@ stdenv.mkDerivation rec {
|
|||
license = stdenv.lib.licenses.gpl3;
|
||||
maintainers = with stdenv.lib.maintainers; [ lovek323 garbas the-kenny ];
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
broken = true; # we have a newer stable that builds
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,14 +1,20 @@
|
|||
{ stdenv, fetchurl, xz, bzip2, perl, xlibs, libdvdnav, libbluray
|
||||
, zlib, a52dec, libmad, faad2, ffmpeg, alsaLib
|
||||
, pkgconfig, dbus, fribidi, qt4, freefont_ttf, libebml, libmatroska
|
||||
, pkgconfig, dbus, fribidi, freefont_ttf, libebml, libmatroska
|
||||
, libvorbis, libtheora, speex, lua5, libgcrypt, libupnp
|
||||
, libcaca, pulseaudio, flac, schroedinger, libxml2, librsvg
|
||||
, mpeg2dec, udev, gnutls, avahi, libcddb, jack2, SDL, SDL_image
|
||||
, libmtp, unzip, taglib, libkate, libtiger, libv4l, samba, liboggz
|
||||
, libass, libva, libdvbpsi, libdc1394, libraw1394, libopus
|
||||
, libvdpau
|
||||
, onlyLibVLC ? false
|
||||
, qt4 ? null, qt5 ? null, withQt5 ? false
|
||||
}:
|
||||
|
||||
with stdenv.lib;
|
||||
|
||||
assert (withQt5 -> qt5 != null); assert (!withQt5 -> qt4 != null);
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "vlc-${version}";
|
||||
version = "2.1.5";
|
||||
|
@ -20,13 +26,13 @@ stdenv.mkDerivation rec {
|
|||
|
||||
buildInputs =
|
||||
[ xz bzip2 perl zlib a52dec libmad faad2 ffmpeg alsaLib libdvdnav libdvdnav.libdvdread
|
||||
libbluray dbus fribidi qt4 libvorbis libtheora speex lua5 libgcrypt
|
||||
libbluray dbus fribidi libvorbis libtheora speex lua5 libgcrypt
|
||||
libupnp libcaca pulseaudio flac schroedinger libxml2 librsvg mpeg2dec
|
||||
udev gnutls avahi libcddb jack2 SDL SDL_image libmtp unzip taglib
|
||||
libkate libtiger libv4l samba liboggz libass libdvbpsi libva
|
||||
xlibs.xlibs xlibs.libXv xlibs.libXvMC xlibs.libXpm xlibs.xcbutilkeysyms
|
||||
libdc1394 libraw1394 libopus libebml libmatroska libvdpau
|
||||
];
|
||||
] ++ [(if withQt5 then qt5 else qt4)];
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
|
||||
|
@ -36,7 +42,8 @@ stdenv.mkDerivation rec {
|
|||
"--enable-dc1394"
|
||||
"--enable-ncurses"
|
||||
"--enable-vdpau"
|
||||
];
|
||||
]
|
||||
++ optional onlyLibVLC "--disable-vlc";
|
||||
|
||||
preConfigure = ''sed -e "s@/bin/echo@echo@g" -i configure'';
|
||||
|
||||
|
|
22
pkgs/build-support/setup-hooks/find-xml-catalogs.sh
Normal file
22
pkgs/build-support/setup-hooks/find-xml-catalogs.sh
Normal file
|
@ -0,0 +1,22 @@
|
|||
addXMLCatalogs () {
|
||||
local d i
|
||||
# ‘xml/dtd’ and ‘xml/xsl’ are deprecated. Catalogs should be
|
||||
# installed underneath ‘share/xml’.
|
||||
for d in $1/share/xml $1/xml/dtd $1/xml/xsl; do
|
||||
if [ -d $d ]; then
|
||||
for i in $(find $d -name catalog.xml); do
|
||||
XML_CATALOG_FILES+=" $i"
|
||||
done
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
if [ -z "$libxmlHookDone" ]; then
|
||||
libxmlHookDone=1
|
||||
|
||||
# Set up XML_CATALOG_FILES. An empty initial value prevents
|
||||
# xmllint and xsltproc from looking in /etc/xml/catalog.
|
||||
export XML_CATALOG_FILES
|
||||
if [ -z "$XML_CATALOG_FILES" ]; then XML_CATALOG_FILES=" "; fi
|
||||
envHooks+=(addXMLCatalogs)
|
||||
fi
|
|
@ -3,6 +3,7 @@
|
|||
# $output/lib. The rationale is that lib64 directories are unnecessary
|
||||
# in Nix (since 32-bit and 64-bit builds of a package are in different
|
||||
# store paths anyway).
|
||||
# If the move would overwrite anything, it should fail on rmdir.
|
||||
|
||||
fixupOutputHooks+=(_moveLib64)
|
||||
|
||||
|
@ -13,7 +14,7 @@ _moveLib64() {
|
|||
mkdir -p $prefix/lib
|
||||
shopt -s dotglob
|
||||
for i in $prefix/lib64/*; do
|
||||
mv "$i" $prefix/lib
|
||||
mv --no-clobber "$i" $prefix/lib
|
||||
done
|
||||
shopt -u dotglob
|
||||
rmdir $prefix/lib64
|
||||
|
|
|
@ -1,17 +0,0 @@
|
|||
source $stdenv/setup
|
||||
|
||||
unpackFile $src
|
||||
|
||||
cd docbook-*
|
||||
|
||||
mkdir -p $out/xml/rng
|
||||
cp -prv rng $out/xml/rng/docbook
|
||||
|
||||
mkdir -p $out/xml/dtd
|
||||
cp -prv dtd $out/xml/dtd/docbook
|
||||
|
||||
mkdir -p $out/share/doc
|
||||
cp -prv docs $out/share/doc/docbook
|
||||
|
||||
mkdir -p $out/share/docbook
|
||||
cp -prv tools $out/share/docbook/
|
|
@ -1,13 +1,35 @@
|
|||
{stdenv, fetchurl, unzip}:
|
||||
{ lib, stdenv, fetchurl, unzip }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "docbook5-5.0";
|
||||
builder = ./builder.sh;
|
||||
|
||||
src = fetchurl {
|
||||
url = http://www.docbook.org/xml/5.0/docbook-5.0.zip;
|
||||
sha256 = "13i04dkd709f0p5f2413sf2y9321pfi4y85ynf8wih6ryphnbk9x";
|
||||
};
|
||||
|
||||
buildInputs = [unzip];
|
||||
buildInputs = [ unzip ];
|
||||
|
||||
installPhase =
|
||||
''
|
||||
dst=$out/share/xml/docbook-5.0
|
||||
mkdir -p $dst
|
||||
cp -prv * $dst/
|
||||
|
||||
substituteInPlace $dst/catalog.xml --replace 'uri="' "uri=\"$dst/"
|
||||
|
||||
rm -rf $dst/docs $dst/ChangeLog
|
||||
|
||||
# Backwards compatibility. Will remove eventually.
|
||||
mkdir -p $out/xml/rng $out/xml/dtd
|
||||
ln -s $dst/rng $out/xml/rng/docbook
|
||||
ln -s $dst/dtd $out/xml/dtd/docbook
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Schemas for DocBook 5.0, a semantic markup language for technical documentation";
|
||||
homepage = http://docbook.org/xml/5.0/;
|
||||
maintainers = [ lib.maintainers.eelco ];
|
||||
platforms = lib.platforms.all;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
{stdenv, fetchurl}:
|
||||
{ lib, stdenv, fetchurl }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "docbook-xsl-ns-1.78.1";
|
||||
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/docbook/${name}.tar.bz2";
|
||||
sha256 = "1x3sc0axk9z3i6n0jhlsmzlmb723a4sjgslm9g12by6phirdx3ng";
|
||||
|
@ -12,13 +12,20 @@ stdenv.mkDerivation rec {
|
|||
|
||||
installPhase =
|
||||
''
|
||||
dst=$out/share/xml/docbook-xsl-ns
|
||||
mkdir -p $dst
|
||||
rm -rf RELEASE* README* INSTALL TODO NEWS* BUGS install.sh svn* tools log Makefile tests extensions webhelp
|
||||
mv * $dst/
|
||||
|
||||
# Backwards compatibility. Will remove eventually.
|
||||
mkdir -p $out/xml/xsl
|
||||
cd ..
|
||||
mv docbook-xsl-ns-* $out/xml/xsl/docbook
|
||||
ln -s $dst $out/xml/xsl/docbook
|
||||
'';
|
||||
|
||||
meta = {
|
||||
homepage = http://wiki.docbook.org/topic/DocBookXslStylesheets;
|
||||
description = "XSL stylesheets for transforming DocBook documents into HTML and various other formats";
|
||||
maintainers = [ lib.maintainers.eelco ];
|
||||
platforms = lib.platforms.all;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{ kde, kdelibs, python, sip, pyqt4, kdepimlibs, shared_desktop_ontologies,
|
||||
polkit_qt_1, boost, lndir, pkgconfig }:
|
||||
polkit_qt4, boost, lndir, pkgconfig }:
|
||||
|
||||
let pydir = "lib/python${python.majorVersion}"; in
|
||||
|
||||
|
@ -9,7 +9,7 @@ kde {
|
|||
|
||||
buildInputs = [
|
||||
python kdepimlibs shared_desktop_ontologies
|
||||
boost polkit_qt_1
|
||||
boost polkit_qt4
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
, qt4, bzip2, fam, shared_mime_info, giflib, jasper, strigi
|
||||
, openexr, avahi, kerberos, shared_desktop_ontologies, libXScrnSaver
|
||||
, automoc4, soprano, qca2, attica, enchant, libdbusmenu_qt, grantlee
|
||||
, docbook_xml_dtd_42, docbook_xsl, polkit_qt_1, acl, attr, libXtst
|
||||
, docbook_xml_dtd_42, docbook_xsl, polkit_qt4, acl, attr, libXtst
|
||||
, udev, herqq, phonon, libjpeg, xz, ilmbase, libxslt
|
||||
, pkgconfig
|
||||
}:
|
||||
|
@ -13,7 +13,7 @@ kde {
|
|||
|
||||
buildInputs =
|
||||
[ pkgconfig attica avahi bzip2 enchant fam giflib grantlee herqq
|
||||
libdbusmenu_qt libXScrnSaver polkit_qt_1 qca2 acl jasper libxslt
|
||||
libdbusmenu_qt libXScrnSaver polkit_qt4 qca2 acl jasper libxslt
|
||||
shared_desktop_ontologies xz udev libjpeg kerberos openexr
|
||||
libXtst attr
|
||||
];
|
||||
|
|
15
pkgs/development/compilers/gcc/4.8/bug-61801.patch
Normal file
15
pkgs/development/compilers/gcc/4.8/bug-61801.patch
Normal file
|
@ -0,0 +1,15 @@
|
|||
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61801
|
||||
https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=212740
|
||||
|
||||
--- a/gcc/sched-deps.c 2014/07/17 07:48:49 212739
|
||||
+++ b/gcc/sched-deps.c 2014/07/17 07:49:44 212740
|
||||
@@ -2744,7 +2744,8 @@
|
||||
Consider for instance a volatile asm that changes the fpu rounding
|
||||
mode. An insn should not be moved across this even if it only uses
|
||||
pseudo-regs because it might give an incorrectly rounded result. */
|
||||
- if (code != ASM_OPERANDS || MEM_VOLATILE_P (x))
|
||||
+ if ((code != ASM_OPERANDS || MEM_VOLATILE_P (x))
|
||||
+ && !DEBUG_INSN_P (insn))
|
||||
reg_pending_barrier = TRUE_BARRIER;
|
||||
|
||||
/* For all ASM_OPERANDS, we must traverse the vector of input operands.
|
|
@ -61,7 +61,7 @@ let version = "4.8.3";
|
|||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
patches = []
|
||||
patches = [ ./bug-61801.patch ]
|
||||
++ optional enableParallelBuilding ./parallel-bconfig.patch
|
||||
++ optional (cross != null) ./libstdc++-target.patch
|
||||
++ optional noSysDirs ./no-sys-dirs.patch
|
||||
|
|
|
@ -17,6 +17,8 @@ stdenv.mkDerivation {
|
|||
|
||||
buildInputs = [ bison glibc bash makeWrapper ];
|
||||
|
||||
NIX_CFLAGS_COMPILE = "-Wno-error=cpp";
|
||||
|
||||
# I'm not sure what go wants from its 'src', but the go installation manual
|
||||
# describes an installation keeping the src.
|
||||
preUnpack = ''
|
||||
|
|
|
@ -16,6 +16,8 @@ stdenv.mkDerivation {
|
|||
|
||||
buildInputs = [ bison glibc bash makeWrapper ];
|
||||
|
||||
NIX_CFLAGS_COMPILE = "-Wno-error=cpp";
|
||||
|
||||
# I'm not sure what go wants from its 'src', but the go installation manual
|
||||
# describes an installation keeping the src.
|
||||
preUnpack = ''
|
||||
|
|
|
@ -60,6 +60,8 @@ stdenv.mkDerivation {
|
|||
else throw "Unsupported system";
|
||||
GOARM = stdenv.lib.optionalString (stdenv.system == "armv5tel-linux") "5";
|
||||
|
||||
NIX_CFLAGS_COMPILE = "-Wno-error=cpp";
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p "$out/bin"
|
||||
export GOROOT="$(pwd)/"
|
||||
|
|
|
@ -16,6 +16,8 @@ stdenv.mkDerivation rec {
|
|||
${if gputils == null then "--disable-pic14-port --disable-pic16-port" else ""}
|
||||
'';
|
||||
|
||||
NIX_CFLAGS_COMPILE = "--std=c99"; # http://sourceforge.net/p/sdcc/code/9106/
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Small Device C Compiler";
|
||||
longDescription = ''
|
||||
|
|
|
@ -1,64 +0,0 @@
|
|||
{ stdenv, fetchurl }:
|
||||
|
||||
let
|
||||
|
||||
libc = if stdenv ? gcc && stdenv.gcc.libc != null then stdenv.gcc.libc else "/usr";
|
||||
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "perl-5.14.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://cpan/src/${name}.tar.gz";
|
||||
sha256 = "1js47zzna3v38fjnirf2vq6y0rjp8m86ysj5vagzgkig956d8gw0";
|
||||
};
|
||||
|
||||
patches =
|
||||
[ # Do not look in /usr etc. for dependencies.
|
||||
./no-sys-dirs.patch
|
||||
]
|
||||
++ stdenv.lib.optional stdenv.isSunOS ./ld-shared.patch
|
||||
++ stdenv.lib.optional stdenv.isDarwin ./no-libutil.patch;
|
||||
|
||||
# Build a thread-safe Perl with a dynamic libperls.o. We need the
|
||||
# "installstyle" option to ensure that modules are put under
|
||||
# $out/lib/perl5 - this is the general default, but because $out
|
||||
# contains the string "perl", Configure would select $out/lib.
|
||||
# Miniperl needs -lm. perl needs -lrt.
|
||||
configureFlags =
|
||||
[ "-de"
|
||||
"-Dcc=gcc"
|
||||
"-Uinstallusrbinperl"
|
||||
"-Dinstallstyle=lib/perl5"
|
||||
"-Duseshrplib"
|
||||
"-Dlocincpth=${libc}/include"
|
||||
"-Dloclibpth=${libc}/lib"
|
||||
]
|
||||
++ stdenv.lib.optional (stdenv ? glibc) "-Dusethreads";
|
||||
|
||||
configureScript = "${stdenv.shell} ./Configure";
|
||||
|
||||
dontAddPrefix = true;
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
preConfigure =
|
||||
''
|
||||
configureFlags="$configureFlags -Dprefix=$out -Dman1dir=$out/share/man/man1 -Dman3dir=$out/share/man/man3"
|
||||
|
||||
${stdenv.lib.optionalString stdenv.isArm ''
|
||||
configureFlagsArray=(-Dldflags="-lm -lrt")
|
||||
''}
|
||||
'';
|
||||
|
||||
preBuild = stdenv.lib.optionalString (!(stdenv ? gcc && stdenv.gcc.nativeTools))
|
||||
''
|
||||
# Make Cwd work on NixOS (where we don't have a /bin/pwd).
|
||||
substituteInPlace dist/Cwd/Cwd.pm --replace "'/bin/pwd'" "'$(type -tP pwd)'"
|
||||
'';
|
||||
|
||||
setupHook = ./setup-hook.sh;
|
||||
|
||||
passthru.libPrefix = "lib/perl5/site_perl";
|
||||
}
|
|
@ -1,11 +0,0 @@
|
|||
--- perl-5.14.2/hints/solaris_2.sh.orig 2013-02-14 19:29:49.453988140 +0000
|
||||
+++ perl-5.14.2/hints/solaris_2.sh 2013-02-14 19:30:31.681631019 +0000
|
||||
@@ -568,7 +568,7 @@
|
||||
# ccflags="$ccflags -Wa,`getconf XBS5_LP64_OFF64_CFLAGS 2>/dev/null`"
|
||||
# fi
|
||||
ldflags="$ldflags -m64"
|
||||
- lddlflags="$lddlflags -G -m64"
|
||||
+ lddlflags="$lddlflags -shared -m64"
|
||||
;;
|
||||
*)
|
||||
getconfccflags="`getconf XBS5_LP64_OFF64_CFLAGS 2>/dev/null`"
|
|
@ -1,12 +0,0 @@
|
|||
diff -ru -x '*~' perl-5.14.2-orig/Configure perl-5.14.2/Configure
|
||||
--- perl-5.14.2-orig/Configure 2011-09-26 11:44:34.000000000 +0200
|
||||
+++ perl-5.14.2/Configure 2012-02-16 17:24:50.779839039 +0100
|
||||
@@ -1368,7 +1368,7 @@
|
||||
: List of libraries we want.
|
||||
: If anyone needs extra -lxxx, put those in a hint file.
|
||||
libswanted="sfio socket bind inet nsl nm ndbm gdbm dbm db malloc dl dld ld sun"
|
||||
-libswanted="$libswanted m crypt sec util c cposix posix ucb bsd BSD"
|
||||
+libswanted="$libswanted m crypt sec c cposix posix ucb bsd BSD"
|
||||
: We probably want to search /usr/shlib before most other libraries.
|
||||
: This is only used by the lib/ExtUtils/MakeMaker.pm routine extliblist.
|
||||
glibpth=`echo " $glibpth " | sed -e 's! /usr/shlib ! !'`
|
|
@ -1,152 +0,0 @@
|
|||
diff -ru -x '*~' perl-5.14.2-orig/Configure perl-5.14.2/Configure
|
||||
--- perl-5.14.2-orig/Configure 2011-09-26 11:44:34.000000000 +0200
|
||||
+++ perl-5.14.2/Configure 2012-01-20 17:05:23.089223129 +0100
|
||||
@@ -106,15 +106,7 @@
|
||||
fi
|
||||
|
||||
: Proper PATH setting
|
||||
-paths='/bin /usr/bin /usr/local/bin /usr/ucb /usr/local /usr/lbin'
|
||||
-paths="$paths /opt/bin /opt/local/bin /opt/local /opt/lbin"
|
||||
-paths="$paths /usr/5bin /etc /usr/gnu/bin /usr/new /usr/new/bin /usr/nbin"
|
||||
-paths="$paths /opt/gnu/bin /opt/new /opt/new/bin /opt/nbin"
|
||||
-paths="$paths /sys5.3/bin /sys5.3/usr/bin /bsd4.3/bin /bsd4.3/usr/ucb"
|
||||
-paths="$paths /bsd4.3/usr/bin /usr/bsd /bsd43/bin /opt/ansic/bin /usr/ccs/bin"
|
||||
-paths="$paths /etc /usr/lib /usr/ucblib /lib /usr/ccs/lib"
|
||||
-paths="$paths /sbin /usr/sbin /usr/libexec"
|
||||
-paths="$paths /system/gnu_library/bin"
|
||||
+paths=''
|
||||
|
||||
for p in $paths
|
||||
do
|
||||
@@ -1311,8 +1303,7 @@
|
||||
archname=''
|
||||
: Possible local include directories to search.
|
||||
: Set locincpth to "" in a hint file to defeat local include searches.
|
||||
-locincpth="/usr/local/include /opt/local/include /usr/gnu/include"
|
||||
-locincpth="$locincpth /opt/gnu/include /usr/GNU/include /opt/GNU/include"
|
||||
+locincpth=""
|
||||
:
|
||||
: no include file wanted by default
|
||||
inclwanted=''
|
||||
@@ -1328,17 +1319,12 @@
|
||||
archobjs=''
|
||||
libnames=''
|
||||
: change the next line if compiling for Xenix/286 on Xenix/386
|
||||
-xlibpth='/usr/lib/386 /lib/386'
|
||||
+xlibpth=''
|
||||
: Possible local library directories to search.
|
||||
-loclibpth="/usr/local/lib /opt/local/lib /usr/gnu/lib"
|
||||
-loclibpth="$loclibpth /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib"
|
||||
+loclibpth=""
|
||||
|
||||
: general looking path for locating libraries
|
||||
-glibpth="/lib /usr/lib $xlibpth"
|
||||
-glibpth="$glibpth /usr/ccs/lib /usr/ucblib /usr/local/lib"
|
||||
-test -f /usr/shlib/libc.so && glibpth="/usr/shlib $glibpth"
|
||||
-test -f /shlib/libc.so && glibpth="/shlib $glibpth"
|
||||
-test -d /usr/lib64 && glibpth="$glibpth /lib64 /usr/lib64 /usr/local/lib64"
|
||||
+glibpth=""
|
||||
|
||||
: Private path used by Configure to find libraries. Its value
|
||||
: is prepended to libpth. This variable takes care of special
|
||||
@@ -1371,8 +1357,6 @@
|
||||
libswanted="$libswanted m crypt sec util c cposix posix ucb bsd BSD"
|
||||
: We probably want to search /usr/shlib before most other libraries.
|
||||
: This is only used by the lib/ExtUtils/MakeMaker.pm routine extliblist.
|
||||
-glibpth=`echo " $glibpth " | sed -e 's! /usr/shlib ! !'`
|
||||
-glibpth="/usr/shlib $glibpth"
|
||||
: Do not use vfork unless overridden by a hint file.
|
||||
usevfork=false
|
||||
|
||||
@@ -2380,7 +2364,6 @@
|
||||
zip
|
||||
"
|
||||
pth=`echo $PATH | sed -e "s/$p_/ /g"`
|
||||
-pth="$pth /lib /usr/lib"
|
||||
for file in $loclist; do
|
||||
eval xxx=\$$file
|
||||
case "$xxx" in
|
||||
@@ -4785,7 +4768,7 @@
|
||||
: Set private lib path
|
||||
case "$plibpth" in
|
||||
'') if ./mips; then
|
||||
- plibpth="$incpath/usr/lib /usr/local/lib /usr/ccs/lib"
|
||||
+ plibpth="$incpath/usr/lib"
|
||||
fi;;
|
||||
esac
|
||||
case "$libpth" in
|
||||
@@ -8390,13 +8373,8 @@
|
||||
echo " "
|
||||
case "$sysman" in
|
||||
'')
|
||||
- syspath='/usr/share/man/man1 /usr/man/man1'
|
||||
- syspath="$syspath /usr/man/mann /usr/man/manl /usr/man/local/man1"
|
||||
- syspath="$syspath /usr/man/u_man/man1"
|
||||
- syspath="$syspath /usr/catman/u_man/man1 /usr/man/l_man/man1"
|
||||
- syspath="$syspath /usr/local/man/u_man/man1 /usr/local/man/l_man/man1"
|
||||
- syspath="$syspath /usr/man/man.L /local/man/man1 /usr/local/man/man1"
|
||||
- sysman=`./loc . /usr/man/man1 $syspath`
|
||||
+ syspath=''
|
||||
+ sysman=''
|
||||
;;
|
||||
esac
|
||||
if $test -d "$sysman"; then
|
||||
@@ -19721,9 +19699,10 @@
|
||||
case "$full_ar" in
|
||||
'') full_ar=$ar ;;
|
||||
esac
|
||||
+full_ar=ar
|
||||
|
||||
: Store the full pathname to the sed program for use in the C program
|
||||
-full_sed=$sed
|
||||
+full_sed=sed
|
||||
|
||||
: see what type gids are declared as in the kernel
|
||||
echo " "
|
||||
diff -ru -x '*~' perl-5.14.2-orig/ext/Errno/Errno_pm.PL perl-5.14.2/ext/Errno/Errno_pm.PL
|
||||
--- perl-5.14.2-orig/ext/Errno/Errno_pm.PL 2011-09-26 11:44:34.000000000 +0200
|
||||
+++ perl-5.14.2/ext/Errno/Errno_pm.PL 2012-01-20 17:02:07.938138311 +0100
|
||||
@@ -137,11 +137,7 @@
|
||||
if ($dep =~ /(\S+errno\.h)/) {
|
||||
$file{$1} = 1;
|
||||
}
|
||||
- } elsif ($^O eq 'linux' &&
|
||||
- $Config{gccversion} ne '' &&
|
||||
- $Config{gccversion} !~ /intel/i
|
||||
- # might be using, say, Intel's icc
|
||||
- ) {
|
||||
+ } elsif (0) {
|
||||
# Some Linuxes have weird errno.hs which generate
|
||||
# no #file or #line directives
|
||||
my $linux_errno_h = -e '/usr/include/errno.h' ?
|
||||
diff -ru -x '*~' perl-5.14.2-orig/hints/freebsd.sh perl-5.14.2/hints/freebsd.sh
|
||||
--- perl-5.14.2-orig/hints/freebsd.sh 2011-09-19 15:18:22.000000000 +0200
|
||||
+++ perl-5.14.2/hints/freebsd.sh 2012-01-20 17:10:37.267924044 +0100
|
||||
@@ -118,21 +118,21 @@
|
||||
objformat=`/usr/bin/objformat`
|
||||
if [ x$objformat = xaout ]; then
|
||||
if [ -e /usr/lib/aout ]; then
|
||||
- libpth="/usr/lib/aout /usr/local/lib /usr/lib"
|
||||
- glibpth="/usr/lib/aout /usr/local/lib /usr/lib"
|
||||
+ libpth=""
|
||||
+ glibpth=""
|
||||
fi
|
||||
lddlflags='-Bshareable'
|
||||
else
|
||||
- libpth="/usr/lib /usr/local/lib"
|
||||
- glibpth="/usr/lib /usr/local/lib"
|
||||
+ libpth=""
|
||||
+ glibpth=""
|
||||
ldflags="-Wl,-E "
|
||||
lddlflags="-shared "
|
||||
fi
|
||||
cccdlflags='-DPIC -fPIC'
|
||||
;;
|
||||
*)
|
||||
- libpth="/usr/lib /usr/local/lib"
|
||||
- glibpth="/usr/lib /usr/local/lib"
|
||||
+ libpth=""
|
||||
+ glibpth=""
|
||||
ldflags="-Wl,-E "
|
||||
lddlflags="-shared "
|
||||
cccdlflags='-DPIC -fPIC'
|
|
@ -1,5 +0,0 @@
|
|||
addPerlLibPath () {
|
||||
addToSearchPath PERL5LIB $1/lib/perl5/site_perl
|
||||
}
|
||||
|
||||
envHooks+=(addPerlLibPath)
|
|
@ -1,4 +1,4 @@
|
|||
{ stdenv, fetchurl, enableThreading ? true }:
|
||||
{ stdenv, fetchurl, enableThreading ? stdenv ? glibc }:
|
||||
|
||||
# We can only compile perl with threading on platforms where we have a
|
||||
# real glibc in the stdenv.
|
||||
|
|
|
@ -48,6 +48,7 @@ stdenv.mkDerivation rec {
|
|||
configureFlags = [ "--enable-shared" "--enable-lt=${libtool}/bin/libtool" ];
|
||||
|
||||
NIX_LDFLAGS = "-lgcc_s";
|
||||
enableParallelBuilding = true;
|
||||
|
||||
postInstall = ''
|
||||
for p in $(ls $out/bin/) ; do
|
||||
|
|
|
@ -21,6 +21,8 @@ stdenv.mkDerivation {
|
|||
|
||||
dontDisableStatic = true;
|
||||
|
||||
NIX_CFLAGS_COMPILE = "-D__USE_BSD";
|
||||
|
||||
meta = {
|
||||
homepage = http://www.cwi.nl/htbin/sen1/twiki/bin/view/SEN1/ATerm;
|
||||
license = "LGPL";
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ stdenv, fetchurl, pkgconfig, libiconvOrEmpty, libintlOrEmpty
|
||||
{ stdenv, fetchurl, fetchpatch, pkgconfig, libiconvOrEmpty, libintlOrEmpty
|
||||
, expat, zlib, libpng, pixman, fontconfig, freetype, xlibs
|
||||
, gobjectSupport ? true, glib
|
||||
, xcbSupport ? true # no longer experimental since 1.12
|
||||
|
@ -18,6 +18,12 @@ stdenv.mkDerivation rec {
|
|||
sha1 = "53cf589b983412ea7f78feee2e1ba9cea6e3ebae";
|
||||
};
|
||||
|
||||
patches = [(fetchpatch {
|
||||
name = "fix-racket.diff";
|
||||
url = "http://cgit.freedesktop.org/cairo/patch/?id=2de69581c28bf115852037ca41eba13cb7335976";
|
||||
sha256 = "0mk2fd9fwxqzravlmnbbrzwak15wqspn7609y0yn6qh87va5i0x4";
|
||||
})];
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ] ++ libintlOrEmpty ++ libiconvOrEmpty;
|
||||
|
||||
propagatedBuildInputs =
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
{ fetchurl, stdenv, pkgconfig, cairo, x11, fontconfig, freetype, libsigcxx }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "cairomm-1.10.0";
|
||||
name = "cairomm-1.11.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://cairographics.org/releases/${name}.tar.gz";
|
||||
sha256 = "13rrp96px95m6xnvmsaqb0wcqsnizg3bz334k0yhlyxf7v29d386";
|
||||
sha1 = "35e190a03f760924bece5dc1204cc36b3583c806";
|
||||
};
|
||||
|
||||
buildInputs = [ pkgconfig ];
|
||||
|
||||
|
||||
propagatedBuildInputs = [ cairo x11 fontconfig freetype libsigcxx ];
|
||||
|
||||
meta = {
|
||||
|
|
|
@ -3,8 +3,8 @@
|
|||
, libX11, libICE, libSM, useX11 ? (stdenv.isLinux || stdenv.isDarwin) }:
|
||||
|
||||
let
|
||||
version = "1.8.10";
|
||||
sha256 = "13mgvwigm931r8n9363imnn0vn6dvc0m322k3p8fs5c8nvyqggqh";
|
||||
version = "1.8.12";
|
||||
sha256 = "07jhcalg00i2rx5zrgk73rg0vm7lzi5q5z2gscrbl999ipr2h569";
|
||||
|
||||
inherit (stdenv) lib;
|
||||
|
||||
|
|
|
@ -23,14 +23,6 @@ stdenv.mkDerivation rec {
|
|||
sha256 = "16baa4g5lswkyjlyf1h5lwc0zjap7c4d8grw79349a5w6dsl8qnw";
|
||||
};
|
||||
|
||||
infinality_patch =
|
||||
let subvers = "1";
|
||||
in fetchurl {
|
||||
url = http://www.infinality.net/fedora/linux/zips/fontconfig-infinality-1-20130104_1.tar.bz2;
|
||||
sha256 = "1fm5xx0mx2243jrq5rxk4v0ajw2nawpj23399h710bx6hd1rviq7";
|
||||
}
|
||||
;
|
||||
|
||||
patches = [
|
||||
(fetchpatch ({
|
||||
url = "http://cgit.freedesktop.org/fontconfig/patch/?id=f44157c809d280e2a0ce87fb078fc4b278d24a67";
|
||||
|
@ -71,7 +63,7 @@ stdenv.mkDerivation rec {
|
|||
installFlags = "fc_cachedir=$(TMPDIR)/dummy RUN_FC_CACHE_TEST=false";
|
||||
|
||||
postInstall = ''
|
||||
cd "$out/etc/fonts" && tar xvf ${infinality_patch}
|
||||
cd "$out/etc/fonts"
|
||||
rm conf.d/{50-user,51-local}.conf
|
||||
"${libxslt}/bin/xsltproc" --stringparam fontDirectories "${fontbhttf}" \
|
||||
--stringparam fontconfig "$out" \
|
||||
|
|
|
@ -1,170 +0,0 @@
|
|||
Picked from upstream commits, but excluding changes to news and tests:
|
||||
d183645616b0533 and 4e8f95a0df7c2
|
||||
Also see https://sourceware.org/bugzilla/show_bug.cgi?id=17137
|
||||
|
||||
diff --git a/locale/setlocale.c b/locale/setlocale.c
|
||||
index 9458468..6455b8b 100644
|
||||
--- a/locale/setlocale.c
|
||||
+++ b/locale/setlocale.c
|
||||
@@ -272,6 +272,8 @@ setlocale (int category, const char *locale)
|
||||
of entries of the form `CATEGORY=VALUE'. */
|
||||
const char *newnames[__LC_LAST];
|
||||
struct __locale_data *newdata[__LC_LAST];
|
||||
+ /* Copy of the locale argument, for in-place splitting. */
|
||||
+ char *locale_copy = NULL;
|
||||
|
||||
/* Set all name pointers to the argument name. */
|
||||
for (category = 0; category < __LC_LAST; ++category)
|
||||
@@ -281,7 +283,13 @@ setlocale (int category, const char *locale)
|
||||
if (__glibc_unlikely (strchr (locale, ';') != NULL))
|
||||
{
|
||||
/* This is a composite name. Make a copy and split it up. */
|
||||
- char *np = strdupa (locale);
|
||||
+ locale_copy = strdup (locale);
|
||||
+ if (__glibc_unlikely (locale_copy == NULL))
|
||||
+ {
|
||||
+ __libc_rwlock_unlock (__libc_setlocale_lock);
|
||||
+ return NULL;
|
||||
+ }
|
||||
+ char *np = locale_copy;
|
||||
char *cp;
|
||||
int cnt;
|
||||
|
||||
@@ -299,6 +307,7 @@ setlocale (int category, const char *locale)
|
||||
{
|
||||
error_return:
|
||||
__libc_rwlock_unlock (__libc_setlocale_lock);
|
||||
+ free (locale_copy);
|
||||
|
||||
/* Bogus category name. */
|
||||
ERROR_RETURN;
|
||||
@@ -391,8 +400,9 @@ setlocale (int category, const char *locale)
|
||||
/* Critical section left. */
|
||||
__libc_rwlock_unlock (__libc_setlocale_lock);
|
||||
|
||||
- /* Free the resources (the locale path variable). */
|
||||
+ /* Free the resources. */
|
||||
free (locale_path);
|
||||
+ free (locale_copy);
|
||||
|
||||
return composite;
|
||||
}
|
||||
diff --git a/locale/findlocale.c b/locale/findlocale.c
|
||||
index bbaf708..22e8b53 100644
|
||||
--- a/locale/findlocale.c
|
||||
+++ b/locale/findlocale.c
|
||||
@@ -17,6 +17,7 @@
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#include <assert.h>
|
||||
+#include <errno.h>
|
||||
#include <locale.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
@@ -57,6 +58,45 @@ struct loaded_l10nfile *_nl_locale_file_list[__LC_LAST];
|
||||
|
||||
const char _nl_default_locale_path[] attribute_hidden = LOCALEDIR;
|
||||
|
||||
+/* Checks if the name is actually present, that is, not NULL and not
|
||||
+ empty. */
|
||||
+static inline int
|
||||
+name_present (const char *name)
|
||||
+{
|
||||
+ return name != NULL && name[0] != '\0';
|
||||
+}
|
||||
+
|
||||
+/* Checks that the locale name neither extremely long, nor contains a
|
||||
+ ".." path component (to prevent directory traversal). */
|
||||
+static inline int
|
||||
+valid_locale_name (const char *name)
|
||||
+{
|
||||
+ /* Not set. */
|
||||
+ size_t namelen = strlen (name);
|
||||
+ /* Name too long. The limit is arbitrary and prevents stack overflow
|
||||
+ issues later. */
|
||||
+ if (__glibc_unlikely (namelen > 255))
|
||||
+ return 0;
|
||||
+ /* Directory traversal attempt. */
|
||||
+ static const char slashdot[4] = {'/', '.', '.', '/'};
|
||||
+ if (__glibc_unlikely (memmem (name, namelen,
|
||||
+ slashdot, sizeof (slashdot)) != NULL))
|
||||
+ return 0;
|
||||
+ if (namelen == 2 && __glibc_unlikely (name[0] == '.' && name [1] == '.'))
|
||||
+ return 0;
|
||||
+ if (namelen >= 3
|
||||
+ && __glibc_unlikely (((name[0] == '.'
|
||||
+ && name[1] == '.'
|
||||
+ && name[2] == '/')
|
||||
+ || (name[namelen - 3] == '/'
|
||||
+ && name[namelen - 2] == '.'
|
||||
+ && name[namelen - 1] == '.'))))
|
||||
+ return 0;
|
||||
+ /* If there is a slash in the name, it must start with one. */
|
||||
+ if (__glibc_unlikely (memchr (name, '/', namelen) != NULL) && name[0] != '/')
|
||||
+ return 0;
|
||||
+ return 1;
|
||||
+}
|
||||
|
||||
struct __locale_data *
|
||||
internal_function
|
||||
@@ -65,7 +105,7 @@ _nl_find_locale (const char *locale_path, size_t locale_path_len,
|
||||
{
|
||||
int mask;
|
||||
/* Name of the locale for this category. */
|
||||
- char *loc_name;
|
||||
+ char *loc_name = (char *) *name;
|
||||
const char *language;
|
||||
const char *modifier;
|
||||
const char *territory;
|
||||
@@ -73,31 +113,39 @@ _nl_find_locale (const char *locale_path, size_t locale_path_len,
|
||||
const char *normalized_codeset;
|
||||
struct loaded_l10nfile *locale_file;
|
||||
|
||||
- if ((*name)[0] == '\0')
|
||||
+ if (loc_name[0] == '\0')
|
||||
{
|
||||
/* The user decides which locale to use by setting environment
|
||||
variables. */
|
||||
- *name = getenv ("LC_ALL");
|
||||
- if (*name == NULL || (*name)[0] == '\0')
|
||||
- *name = getenv (_nl_category_names.str
|
||||
+ loc_name = getenv ("LC_ALL");
|
||||
+ if (!name_present (loc_name))
|
||||
+ loc_name = getenv (_nl_category_names.str
|
||||
+ _nl_category_name_idxs[category]);
|
||||
- if (*name == NULL || (*name)[0] == '\0')
|
||||
- *name = getenv ("LANG");
|
||||
+ if (!name_present (loc_name))
|
||||
+ loc_name = getenv ("LANG");
|
||||
+ if (!name_present (loc_name))
|
||||
+ loc_name = (char *) _nl_C_name;
|
||||
}
|
||||
|
||||
- if (*name == NULL || (*name)[0] == '\0'
|
||||
- || (__builtin_expect (__libc_enable_secure, 0)
|
||||
- && strchr (*name, '/') != NULL))
|
||||
- *name = (char *) _nl_C_name;
|
||||
+ /* We used to fall back to the C locale if the name contains a slash
|
||||
+ character '/', but we now check for directory traversal in
|
||||
+ valid_locale_name, so this is no longer necessary. */
|
||||
|
||||
- if (__builtin_expect (strcmp (*name, _nl_C_name), 1) == 0
|
||||
- || __builtin_expect (strcmp (*name, _nl_POSIX_name), 1) == 0)
|
||||
+ if (__builtin_expect (strcmp (loc_name, _nl_C_name), 1) == 0
|
||||
+ || __builtin_expect (strcmp (loc_name, _nl_POSIX_name), 1) == 0)
|
||||
{
|
||||
/* We need not load anything. The needed data is contained in
|
||||
the library itself. */
|
||||
*name = (char *) _nl_C_name;
|
||||
return _nl_C[category];
|
||||
}
|
||||
+ else if (!valid_locale_name (loc_name))
|
||||
+ {
|
||||
+ __set_errno (EINVAL);
|
||||
+ return NULL;
|
||||
+ }
|
||||
+
|
||||
+ *name = loc_name;
|
||||
|
||||
/* We really have to load some data. First we try the archive,
|
||||
but only if there was no LOCPATH environment variable specified. */
|
|
@ -1,206 +0,0 @@
|
|||
http://anonscm.debian.org/viewvc/pkg-glibc/glibc-package/trunk/debian/patches/any/cvs-CVE-2014-5119.diff?revision=6248&view=co
|
||||
|
||||
commit a1a6a401ab0a3c9f15fb7eaebbdcee24192254e8
|
||||
Author: Florian Weimer <fweimer@redhat.com>
|
||||
Date: Tue Aug 26 19:38:59 2014 +0200
|
||||
|
||||
__gconv_translit_find: Disable function [BZ #17187]
|
||||
|
||||
This functionality has never worked correctly, and the implementation
|
||||
contained a security vulnerability (CVE-2014-5119).
|
||||
|
||||
2014-08-26 Florian Weimer <fweimer@redhat.com>
|
||||
|
||||
[BZ #17187]
|
||||
* iconv/gconv_trans.c (struct known_trans, search_tree, lock,
|
||||
trans_compare, open_translit, __gconv_translit_find):
|
||||
Remove module loading code.
|
||||
|
||||
--- a/iconv/gconv_trans.c
|
||||
+++ b/iconv/gconv_trans.c
|
||||
@@ -238,181 +238,12 @@ __gconv_transliterate (struct __gconv_step *step,
|
||||
return __GCONV_ILLEGAL_INPUT;
|
||||
}
|
||||
|
||||
-
|
||||
-/* Structure to represent results of found (or not) transliteration
|
||||
- modules. */
|
||||
-struct known_trans
|
||||
-{
|
||||
- /* This structure must remain the first member. */
|
||||
- struct trans_struct info;
|
||||
-
|
||||
- char *fname;
|
||||
- void *handle;
|
||||
- int open_count;
|
||||
-};
|
||||
-
|
||||
-
|
||||
-/* Tree with results of previous calls to __gconv_translit_find. */
|
||||
-static void *search_tree;
|
||||
-
|
||||
-/* We modify global data. */
|
||||
-__libc_lock_define_initialized (static, lock);
|
||||
-
|
||||
-
|
||||
-/* Compare two transliteration entries. */
|
||||
-static int
|
||||
-trans_compare (const void *p1, const void *p2)
|
||||
-{
|
||||
- const struct known_trans *s1 = (const struct known_trans *) p1;
|
||||
- const struct known_trans *s2 = (const struct known_trans *) p2;
|
||||
-
|
||||
- return strcmp (s1->info.name, s2->info.name);
|
||||
-}
|
||||
-
|
||||
-
|
||||
-/* Open (maybe reopen) the module named in the struct. Get the function
|
||||
- and data structure pointers we need. */
|
||||
-static int
|
||||
-open_translit (struct known_trans *trans)
|
||||
-{
|
||||
- __gconv_trans_query_fct queryfct;
|
||||
-
|
||||
- trans->handle = __libc_dlopen (trans->fname);
|
||||
- if (trans->handle == NULL)
|
||||
- /* Not available. */
|
||||
- return 1;
|
||||
-
|
||||
- /* Find the required symbol. */
|
||||
- queryfct = __libc_dlsym (trans->handle, "gconv_trans_context");
|
||||
- if (queryfct == NULL)
|
||||
- {
|
||||
- /* We cannot live with that. */
|
||||
- close_and_out:
|
||||
- __libc_dlclose (trans->handle);
|
||||
- trans->handle = NULL;
|
||||
- return 1;
|
||||
- }
|
||||
-
|
||||
- /* Get the context. */
|
||||
- if (queryfct (trans->info.name, &trans->info.csnames, &trans->info.ncsnames)
|
||||
- != 0)
|
||||
- goto close_and_out;
|
||||
-
|
||||
- /* Of course we also have to have the actual function. */
|
||||
- trans->info.trans_fct = __libc_dlsym (trans->handle, "gconv_trans");
|
||||
- if (trans->info.trans_fct == NULL)
|
||||
- goto close_and_out;
|
||||
-
|
||||
- /* Now the optional functions. */
|
||||
- trans->info.trans_init_fct =
|
||||
- __libc_dlsym (trans->handle, "gconv_trans_init");
|
||||
- trans->info.trans_context_fct =
|
||||
- __libc_dlsym (trans->handle, "gconv_trans_context");
|
||||
- trans->info.trans_end_fct =
|
||||
- __libc_dlsym (trans->handle, "gconv_trans_end");
|
||||
-
|
||||
- trans->open_count = 1;
|
||||
-
|
||||
- return 0;
|
||||
-}
|
||||
-
|
||||
-
|
||||
int
|
||||
internal_function
|
||||
__gconv_translit_find (struct trans_struct *trans)
|
||||
{
|
||||
- struct known_trans **found;
|
||||
- const struct path_elem *runp;
|
||||
- int res = 1;
|
||||
-
|
||||
- /* We have to have a name. */
|
||||
- assert (trans->name != NULL);
|
||||
-
|
||||
- /* Acquire the lock. */
|
||||
- __libc_lock_lock (lock);
|
||||
-
|
||||
- /* See whether we know this module already. */
|
||||
- found = __tfind (trans, &search_tree, trans_compare);
|
||||
- if (found != NULL)
|
||||
- {
|
||||
- /* Is this module available? */
|
||||
- if ((*found)->handle != NULL)
|
||||
- {
|
||||
- /* Maybe we have to reopen the file. */
|
||||
- if ((*found)->handle != (void *) -1)
|
||||
- /* The object is not unloaded. */
|
||||
- res = 0;
|
||||
- else if (open_translit (*found) == 0)
|
||||
- {
|
||||
- /* Copy the data. */
|
||||
- *trans = (*found)->info;
|
||||
- (*found)->open_count++;
|
||||
- res = 0;
|
||||
- }
|
||||
- }
|
||||
- }
|
||||
- else
|
||||
- {
|
||||
- size_t name_len = strlen (trans->name) + 1;
|
||||
- int need_so = 0;
|
||||
- struct known_trans *newp;
|
||||
-
|
||||
- /* We have to continue looking for the module. */
|
||||
- if (__gconv_path_elem == NULL)
|
||||
- __gconv_get_path ();
|
||||
-
|
||||
- /* See whether we have to append .so. */
|
||||
- if (name_len <= 4 || memcmp (&trans->name[name_len - 4], ".so", 3) != 0)
|
||||
- need_so = 1;
|
||||
-
|
||||
- /* Create a new entry. */
|
||||
- newp = (struct known_trans *) malloc (sizeof (struct known_trans)
|
||||
- + (__gconv_max_path_elem_len
|
||||
- + name_len + 3)
|
||||
- + name_len);
|
||||
- if (newp != NULL)
|
||||
- {
|
||||
- char *cp;
|
||||
-
|
||||
- /* Clear the struct. */
|
||||
- memset (newp, '\0', sizeof (struct known_trans));
|
||||
-
|
||||
- /* Store a copy of the module name. */
|
||||
- newp->info.name = cp = (char *) (newp + 1);
|
||||
- cp = __mempcpy (cp, trans->name, name_len);
|
||||
-
|
||||
- newp->fname = cp;
|
||||
-
|
||||
- /* Search in all the directories. */
|
||||
- for (runp = __gconv_path_elem; runp->name != NULL; ++runp)
|
||||
- {
|
||||
- cp = __mempcpy (__stpcpy ((char *) newp->fname, runp->name),
|
||||
- trans->name, name_len);
|
||||
- if (need_so)
|
||||
- memcpy (cp, ".so", sizeof (".so"));
|
||||
-
|
||||
- if (open_translit (newp) == 0)
|
||||
- {
|
||||
- /* We found a module. */
|
||||
- res = 0;
|
||||
- break;
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- if (res)
|
||||
- newp->fname = NULL;
|
||||
-
|
||||
- /* In any case we'll add the entry to our search tree. */
|
||||
- if (__tsearch (newp, &search_tree, trans_compare) == NULL)
|
||||
- {
|
||||
- /* Yickes, this should not happen. Unload the object. */
|
||||
- res = 1;
|
||||
- /* XXX unload here. */
|
||||
- }
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- __libc_lock_unlock (lock);
|
||||
-
|
||||
- return res;
|
||||
+ /* Transliteration module loading has been removed because it never
|
||||
+ worked as intended and suffered from a security vulnerability.
|
||||
+ Consequently, this function always fails. */
|
||||
+ return 1;
|
||||
}
|
|
@ -1,336 +0,0 @@
|
|||
From: Siddhesh Poyarekar <siddhesh@redhat.com>
|
||||
Date: Thu, 27 Feb 2014 15:42:09 +0000 (+0530)
|
||||
Subject: Fix sign of input to bsloww1 (BZ #16623)
|
||||
X-Git-Url: http://repo.or.cz/w/glibc.git/commitdiff_plain/1cadc85813d736f7682fa2eeadae639ab6b66c65
|
||||
|
||||
Fix sign of input to bsloww1 (BZ #16623)
|
||||
|
||||
In 84ba214c, I removed some redundant sign computations and in the
|
||||
process, I incorrectly got rid of a temporary variable, thus passing
|
||||
the absolute value of the input to bsloww1. This caused #16623.
|
||||
|
||||
This fix undoes the incorrect change.
|
||||
|
||||
[nix]: drop docs update (wouldn't apply)
|
||||
---
|
||||
|
||||
diff --git a/math/auto-libm-test-in b/math/auto-libm-test-in
|
||||
index ac5348f..fafe96f 100644
|
||||
--- a/math/auto-libm-test-in
|
||||
+++ b/math/auto-libm-test-in
|
||||
@@ -594,6 +594,7 @@ cos 0x1.0000010b239a9p0
|
||||
cos 0x1.00000162a932bp0
|
||||
cos 0x1.000002d452a10p0
|
||||
cos 0x1.000005bc7d86dp0
|
||||
+cos 0x1.200145a975ce6p32
|
||||
cos 1
|
||||
cos 2
|
||||
cos 3
|
||||
@@ -1748,6 +1749,7 @@ sin 7
|
||||
sin 8
|
||||
sin 9
|
||||
sin 10
|
||||
+sin 0x1.2001469775ce6p32
|
||||
|
||||
sincos 0
|
||||
sincos -0
|
||||
diff --git a/math/auto-libm-test-out b/math/auto-libm-test-out
|
||||
index 8f79359..59c08a7 100644
|
||||
--- a/math/auto-libm-test-out
|
||||
+++ b/math/auto-libm-test-out
|
||||
@@ -74446,6 +74446,75 @@ cos 0x1.000005bc7d86dp0
|
||||
= cos tonearest ldbl-128ibm 0x1.000005bc7d86dp+0L : 0x8.a513ba9f703d3ffffffcb92354p-4L : inexact-ok
|
||||
= cos towardzero ldbl-128ibm 0x1.000005bc7d86dp+0L : 0x8.a513ba9f703d3ffffffcb92354p-4L : inexact-ok
|
||||
= cos upward ldbl-128ibm 0x1.000005bc7d86dp+0L : 0x8.a513ba9f703d3ffffffcb92358p-4L : inexact-ok
|
||||
+cos 0x1.200145a975ce6p32
|
||||
+= cos downward flt-32 0x1.200146p+32f : -0xf.74fbep-4f : inexact-ok
|
||||
+= cos tonearest flt-32 0x1.200146p+32f : -0xf.74fbdp-4f : inexact-ok
|
||||
+= cos towardzero flt-32 0x1.200146p+32f : -0xf.74fbdp-4f : inexact-ok
|
||||
+= cos upward flt-32 0x1.200146p+32f : -0xf.74fbdp-4f : inexact-ok
|
||||
+= cos downward dbl-64 0x1.200146p+32 : -0xf.74fbd5498fe5p-4 : inexact-ok
|
||||
+= cos tonearest dbl-64 0x1.200146p+32 : -0xf.74fbd5498fe5p-4 : inexact-ok
|
||||
+= cos towardzero dbl-64 0x1.200146p+32 : -0xf.74fbd5498fe48p-4 : inexact-ok
|
||||
+= cos upward dbl-64 0x1.200146p+32 : -0xf.74fbd5498fe48p-4 : inexact-ok
|
||||
+= cos downward ldbl-96-intel 0x1.200146p+32L : -0xf.74fbd5498fe4c0dp-4L : inexact-ok
|
||||
+= cos tonearest ldbl-96-intel 0x1.200146p+32L : -0xf.74fbd5498fe4c0cp-4L : inexact-ok
|
||||
+= cos towardzero ldbl-96-intel 0x1.200146p+32L : -0xf.74fbd5498fe4c0cp-4L : inexact-ok
|
||||
+= cos upward ldbl-96-intel 0x1.200146p+32L : -0xf.74fbd5498fe4c0cp-4L : inexact-ok
|
||||
+= cos downward ldbl-96-m68k 0x1.200146p+32L : -0xf.74fbd5498fe4c0dp-4L : inexact-ok
|
||||
+= cos tonearest ldbl-96-m68k 0x1.200146p+32L : -0xf.74fbd5498fe4c0cp-4L : inexact-ok
|
||||
+= cos towardzero ldbl-96-m68k 0x1.200146p+32L : -0xf.74fbd5498fe4c0cp-4L : inexact-ok
|
||||
+= cos upward ldbl-96-m68k 0x1.200146p+32L : -0xf.74fbd5498fe4c0cp-4L : inexact-ok
|
||||
+= cos downward ldbl-128 0x1.200146p+32L : -0xf.74fbd5498fe4c0c71bd9e4ef59e8p-4L : inexact-ok
|
||||
+= cos tonearest ldbl-128 0x1.200146p+32L : -0xf.74fbd5498fe4c0c71bd9e4ef59e8p-4L : inexact-ok
|
||||
+= cos towardzero ldbl-128 0x1.200146p+32L : -0xf.74fbd5498fe4c0c71bd9e4ef59ep-4L : inexact-ok
|
||||
+= cos upward ldbl-128 0x1.200146p+32L : -0xf.74fbd5498fe4c0c71bd9e4ef59ep-4L : inexact-ok
|
||||
+= cos downward ldbl-128ibm 0x1.200146p+32L : -0xf.74fbd5498fe4c0c71bd9e4ef5cp-4L : inexact-ok
|
||||
+= cos tonearest ldbl-128ibm 0x1.200146p+32L : -0xf.74fbd5498fe4c0c71bd9e4ef58p-4L : inexact-ok
|
||||
+= cos towardzero ldbl-128ibm 0x1.200146p+32L : -0xf.74fbd5498fe4c0c71bd9e4ef58p-4L : inexact-ok
|
||||
+= cos upward ldbl-128ibm 0x1.200146p+32L : -0xf.74fbd5498fe4c0c71bd9e4ef58p-4L : inexact-ok
|
||||
+= cos downward flt-32 0x1.200144p+32f : 0xf.bc96cp-4f : inexact-ok
|
||||
+= cos tonearest flt-32 0x1.200144p+32f : 0xf.bc96dp-4f : inexact-ok
|
||||
+= cos towardzero flt-32 0x1.200144p+32f : 0xf.bc96cp-4f : inexact-ok
|
||||
+= cos upward flt-32 0x1.200144p+32f : 0xf.bc96dp-4f : inexact-ok
|
||||
+= cos downward dbl-64 0x1.200144p+32 : 0xf.bc96ca2c658a8p-4 : inexact-ok
|
||||
+= cos tonearest dbl-64 0x1.200144p+32 : 0xf.bc96ca2c658a8p-4 : inexact-ok
|
||||
+= cos towardzero dbl-64 0x1.200144p+32 : 0xf.bc96ca2c658a8p-4 : inexact-ok
|
||||
+= cos upward dbl-64 0x1.200144p+32 : 0xf.bc96ca2c658bp-4 : inexact-ok
|
||||
+= cos downward ldbl-96-intel 0x1.200144p+32L : 0xf.bc96ca2c658abf5p-4L : inexact-ok
|
||||
+= cos tonearest ldbl-96-intel 0x1.200144p+32L : 0xf.bc96ca2c658abf6p-4L : inexact-ok
|
||||
+= cos towardzero ldbl-96-intel 0x1.200144p+32L : 0xf.bc96ca2c658abf5p-4L : inexact-ok
|
||||
+= cos upward ldbl-96-intel 0x1.200144p+32L : 0xf.bc96ca2c658abf6p-4L : inexact-ok
|
||||
+= cos downward ldbl-96-m68k 0x1.200144p+32L : 0xf.bc96ca2c658abf5p-4L : inexact-ok
|
||||
+= cos tonearest ldbl-96-m68k 0x1.200144p+32L : 0xf.bc96ca2c658abf6p-4L : inexact-ok
|
||||
+= cos towardzero ldbl-96-m68k 0x1.200144p+32L : 0xf.bc96ca2c658abf5p-4L : inexact-ok
|
||||
+= cos upward ldbl-96-m68k 0x1.200144p+32L : 0xf.bc96ca2c658abf6p-4L : inexact-ok
|
||||
+= cos downward ldbl-128 0x1.200144p+32L : 0xf.bc96ca2c658abf5ace7b886a8fbp-4L : inexact-ok
|
||||
+= cos tonearest ldbl-128 0x1.200144p+32L : 0xf.bc96ca2c658abf5ace7b886a8fbp-4L : inexact-ok
|
||||
+= cos towardzero ldbl-128 0x1.200144p+32L : 0xf.bc96ca2c658abf5ace7b886a8fbp-4L : inexact-ok
|
||||
+= cos upward ldbl-128 0x1.200144p+32L : 0xf.bc96ca2c658abf5ace7b886a8fb8p-4L : inexact-ok
|
||||
+= cos downward ldbl-128ibm 0x1.200144p+32L : 0xf.bc96ca2c658abf5ace7b886a8cp-4L : inexact-ok
|
||||
+= cos tonearest ldbl-128ibm 0x1.200144p+32L : 0xf.bc96ca2c658abf5ace7b886a9p-4L : inexact-ok
|
||||
+= cos towardzero ldbl-128ibm 0x1.200144p+32L : 0xf.bc96ca2c658abf5ace7b886a8cp-4L : inexact-ok
|
||||
+= cos upward ldbl-128ibm 0x1.200144p+32L : 0xf.bc96ca2c658abf5ace7b886a9p-4L : inexact-ok
|
||||
+= cos downward dbl-64 0x1.200145a975ce6p+32 : -0x6.568e7ed3dffdp-4 : inexact-ok
|
||||
+= cos tonearest dbl-64 0x1.200145a975ce6p+32 : -0x6.568e7ed3dffccp-4 : inexact-ok
|
||||
+= cos towardzero dbl-64 0x1.200145a975ce6p+32 : -0x6.568e7ed3dffccp-4 : inexact-ok
|
||||
+= cos upward dbl-64 0x1.200145a975ce6p+32 : -0x6.568e7ed3dffccp-4 : inexact-ok
|
||||
+= cos downward ldbl-96-intel 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfe8p-4L : inexact-ok
|
||||
+= cos tonearest ldbl-96-intel 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfep-4L : inexact-ok
|
||||
+= cos towardzero ldbl-96-intel 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfep-4L : inexact-ok
|
||||
+= cos upward ldbl-96-intel 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfep-4L : inexact-ok
|
||||
+= cos downward ldbl-96-m68k 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfe8p-4L : inexact-ok
|
||||
+= cos tonearest ldbl-96-m68k 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfep-4L : inexact-ok
|
||||
+= cos towardzero ldbl-96-m68k 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfep-4L : inexact-ok
|
||||
+= cos upward ldbl-96-m68k 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfep-4L : inexact-ok
|
||||
+= cos downward ldbl-128 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfe227fd726840e8p-4L : inexact-ok
|
||||
+= cos tonearest ldbl-128 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfe227fd726840e4p-4L : inexact-ok
|
||||
+= cos towardzero ldbl-128 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfe227fd726840e4p-4L : inexact-ok
|
||||
+= cos upward ldbl-128 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfe227fd726840e4p-4L : inexact-ok
|
||||
+= cos downward ldbl-128ibm 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfe227fd726842p-4L : inexact-ok
|
||||
+= cos tonearest ldbl-128ibm 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfe227fd72684p-4L : inexact-ok
|
||||
+= cos towardzero ldbl-128ibm 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfe227fd72684p-4L : inexact-ok
|
||||
+= cos upward ldbl-128ibm 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfe227fd72684p-4L : inexact-ok
|
||||
cos 1
|
||||
= cos downward flt-32 0x1p+0f : 0x8.a514p-4f : inexact-ok
|
||||
= cos tonearest flt-32 0x1p+0f : 0x8.a514p-4f : inexact-ok
|
||||
@@ -157744,6 +157813,75 @@ sin 10
|
||||
= sin tonearest ldbl-128ibm 0xap+0L : -0x8.b44f7af9a7a92ce7fb22be025p-4L : inexact-ok
|
||||
= sin towardzero ldbl-128ibm 0xap+0L : -0x8.b44f7af9a7a92ce7fb22be024cp-4L : inexact-ok
|
||||
= sin upward ldbl-128ibm 0xap+0L : -0x8.b44f7af9a7a92ce7fb22be024cp-4L : inexact-ok
|
||||
+sin 0x1.2001469775ce6p32
|
||||
+= sin downward flt-32 0x1.200148p+32f : -0x5.595d8p-4f : inexact-ok
|
||||
+= sin tonearest flt-32 0x1.200148p+32f : -0x5.595d8p-4f : inexact-ok
|
||||
+= sin towardzero flt-32 0x1.200148p+32f : -0x5.595d78p-4f : inexact-ok
|
||||
+= sin upward flt-32 0x1.200148p+32f : -0x5.595d78p-4f : inexact-ok
|
||||
+= sin downward dbl-64 0x1.200148p+32 : -0x5.595d7e536fe38p-4 : inexact-ok
|
||||
+= sin tonearest dbl-64 0x1.200148p+32 : -0x5.595d7e536fe34p-4 : inexact-ok
|
||||
+= sin towardzero dbl-64 0x1.200148p+32 : -0x5.595d7e536fe34p-4 : inexact-ok
|
||||
+= sin upward dbl-64 0x1.200148p+32 : -0x5.595d7e536fe34p-4 : inexact-ok
|
||||
+= sin downward ldbl-96-intel 0x1.200148p+32L : -0x5.595d7e536fe35eep-4L : inexact-ok
|
||||
+= sin tonearest ldbl-96-intel 0x1.200148p+32L : -0x5.595d7e536fe35ed8p-4L : inexact-ok
|
||||
+= sin towardzero ldbl-96-intel 0x1.200148p+32L : -0x5.595d7e536fe35ed8p-4L : inexact-ok
|
||||
+= sin upward ldbl-96-intel 0x1.200148p+32L : -0x5.595d7e536fe35ed8p-4L : inexact-ok
|
||||
+= sin downward ldbl-96-m68k 0x1.200148p+32L : -0x5.595d7e536fe35eep-4L : inexact-ok
|
||||
+= sin tonearest ldbl-96-m68k 0x1.200148p+32L : -0x5.595d7e536fe35ed8p-4L : inexact-ok
|
||||
+= sin towardzero ldbl-96-m68k 0x1.200148p+32L : -0x5.595d7e536fe35ed8p-4L : inexact-ok
|
||||
+= sin upward ldbl-96-m68k 0x1.200148p+32L : -0x5.595d7e536fe35ed8p-4L : inexact-ok
|
||||
+= sin downward ldbl-128 0x1.200148p+32L : -0x5.595d7e536fe35edbe2ad0df9d944p-4L : inexact-ok
|
||||
+= sin tonearest ldbl-128 0x1.200148p+32L : -0x5.595d7e536fe35edbe2ad0df9d94p-4L : inexact-ok
|
||||
+= sin towardzero ldbl-128 0x1.200148p+32L : -0x5.595d7e536fe35edbe2ad0df9d94p-4L : inexact-ok
|
||||
+= sin upward ldbl-128 0x1.200148p+32L : -0x5.595d7e536fe35edbe2ad0df9d94p-4L : inexact-ok
|
||||
+= sin downward ldbl-128ibm 0x1.200148p+32L : -0x5.595d7e536fe35edbe2ad0df9dap-4L : inexact-ok
|
||||
+= sin tonearest ldbl-128ibm 0x1.200148p+32L : -0x5.595d7e536fe35edbe2ad0df9dap-4L : inexact-ok
|
||||
+= sin towardzero ldbl-128ibm 0x1.200148p+32L : -0x5.595d7e536fe35edbe2ad0df9d8p-4L : inexact-ok
|
||||
+= sin upward ldbl-128ibm 0x1.200148p+32L : -0x5.595d7e536fe35edbe2ad0df9d8p-4L : inexact-ok
|
||||
+= sin downward flt-32 0x1.200146p+32f : 0x4.220ffp-4f : inexact-ok
|
||||
+= sin tonearest flt-32 0x1.200146p+32f : 0x4.220ffp-4f : inexact-ok
|
||||
+= sin towardzero flt-32 0x1.200146p+32f : 0x4.220ffp-4f : inexact-ok
|
||||
+= sin upward flt-32 0x1.200146p+32f : 0x4.220ff8p-4f : inexact-ok
|
||||
+= sin downward dbl-64 0x1.200146p+32 : 0x4.220ff25f5cfp-4 : inexact-ok
|
||||
+= sin tonearest dbl-64 0x1.200146p+32 : 0x4.220ff25f5cf04p-4 : inexact-ok
|
||||
+= sin towardzero dbl-64 0x1.200146p+32 : 0x4.220ff25f5cfp-4 : inexact-ok
|
||||
+= sin upward dbl-64 0x1.200146p+32 : 0x4.220ff25f5cf04p-4 : inexact-ok
|
||||
+= sin downward ldbl-96-intel 0x1.200146p+32L : 0x4.220ff25f5cf02a4p-4L : inexact-ok
|
||||
+= sin tonearest ldbl-96-intel 0x1.200146p+32L : 0x4.220ff25f5cf02a48p-4L : inexact-ok
|
||||
+= sin towardzero ldbl-96-intel 0x1.200146p+32L : 0x4.220ff25f5cf02a4p-4L : inexact-ok
|
||||
+= sin upward ldbl-96-intel 0x1.200146p+32L : 0x4.220ff25f5cf02a48p-4L : inexact-ok
|
||||
+= sin downward ldbl-96-m68k 0x1.200146p+32L : 0x4.220ff25f5cf02a4p-4L : inexact-ok
|
||||
+= sin tonearest ldbl-96-m68k 0x1.200146p+32L : 0x4.220ff25f5cf02a48p-4L : inexact-ok
|
||||
+= sin towardzero ldbl-96-m68k 0x1.200146p+32L : 0x4.220ff25f5cf02a4p-4L : inexact-ok
|
||||
+= sin upward ldbl-96-m68k 0x1.200146p+32L : 0x4.220ff25f5cf02a48p-4L : inexact-ok
|
||||
+= sin downward ldbl-128 0x1.200146p+32L : 0x4.220ff25f5cf02a464dbb3a679ccp-4L : inexact-ok
|
||||
+= sin tonearest ldbl-128 0x1.200146p+32L : 0x4.220ff25f5cf02a464dbb3a679ccp-4L : inexact-ok
|
||||
+= sin towardzero ldbl-128 0x1.200146p+32L : 0x4.220ff25f5cf02a464dbb3a679ccp-4L : inexact-ok
|
||||
+= sin upward ldbl-128 0x1.200146p+32L : 0x4.220ff25f5cf02a464dbb3a679cc4p-4L : inexact-ok
|
||||
+= sin downward ldbl-128ibm 0x1.200146p+32L : 0x4.220ff25f5cf02a464dbb3a679cp-4L : inexact-ok
|
||||
+= sin tonearest ldbl-128ibm 0x1.200146p+32L : 0x4.220ff25f5cf02a464dbb3a679cp-4L : inexact-ok
|
||||
+= sin towardzero ldbl-128ibm 0x1.200146p+32L : 0x4.220ff25f5cf02a464dbb3a679cp-4L : inexact-ok
|
||||
+= sin upward ldbl-128ibm 0x1.200146p+32L : 0x4.220ff25f5cf02a464dbb3a679ep-4L : inexact-ok
|
||||
+= sin downward dbl-64 0x1.2001469775ce6p+32 : -0x6.444fda50019fcp-4 : inexact-ok
|
||||
+= sin tonearest dbl-64 0x1.2001469775ce6p+32 : -0x6.444fda50019f8p-4 : inexact-ok
|
||||
+= sin towardzero dbl-64 0x1.2001469775ce6p+32 : -0x6.444fda50019f8p-4 : inexact-ok
|
||||
+= sin upward dbl-64 0x1.2001469775ce6p+32 : -0x6.444fda50019f8p-4 : inexact-ok
|
||||
+= sin downward ldbl-96-intel 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f6p-4L : inexact-ok
|
||||
+= sin tonearest ldbl-96-intel 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f58p-4L : inexact-ok
|
||||
+= sin towardzero ldbl-96-intel 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f58p-4L : inexact-ok
|
||||
+= sin upward ldbl-96-intel 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f58p-4L : inexact-ok
|
||||
+= sin downward ldbl-96-m68k 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f6p-4L : inexact-ok
|
||||
+= sin tonearest ldbl-96-m68k 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f58p-4L : inexact-ok
|
||||
+= sin towardzero ldbl-96-m68k 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f58p-4L : inexact-ok
|
||||
+= sin upward ldbl-96-m68k 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f58p-4L : inexact-ok
|
||||
+= sin downward ldbl-128 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f5ba3779ca70604p-4L : inexact-ok
|
||||
+= sin tonearest ldbl-128 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f5ba3779ca706p-4L : inexact-ok
|
||||
+= sin towardzero ldbl-128 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f5ba3779ca706p-4L : inexact-ok
|
||||
+= sin upward ldbl-128 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f5ba3779ca706p-4L : inexact-ok
|
||||
+= sin downward ldbl-128ibm 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f5ba3779ca708p-4L : inexact-ok
|
||||
+= sin tonearest ldbl-128ibm 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f5ba3779ca706p-4L : inexact-ok
|
||||
+= sin towardzero ldbl-128ibm 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f5ba3779ca706p-4L : inexact-ok
|
||||
+= sin upward ldbl-128ibm 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f5ba3779ca706p-4L : inexact-ok
|
||||
sincos 0
|
||||
= sincos downward flt-32 0x0p+0f : 0x0p+0f 0x1p+0f : inexact-ok
|
||||
= sincos tonearest flt-32 0x0p+0f : 0x0p+0f 0x1p+0f : inexact-ok
|
||||
diff --git a/sysdeps/ieee754/dbl-64/s_sin.c b/sysdeps/ieee754/dbl-64/s_sin.c
|
||||
index 6105e9f..50109b8 100644
|
||||
--- a/sysdeps/ieee754/dbl-64/s_sin.c
|
||||
+++ b/sysdeps/ieee754/dbl-64/s_sin.c
|
||||
@@ -447,19 +447,21 @@ __sin (double x)
|
||||
}
|
||||
else
|
||||
{
|
||||
+ double t;
|
||||
if (a > 0)
|
||||
{
|
||||
m = 1;
|
||||
+ t = a;
|
||||
db = da;
|
||||
}
|
||||
else
|
||||
{
|
||||
m = 0;
|
||||
- a = -a;
|
||||
+ t = -a;
|
||||
db = -da;
|
||||
}
|
||||
- u.x = big + a;
|
||||
- y = a - (u.x - big);
|
||||
+ u.x = big + t;
|
||||
+ y = t - (u.x - big);
|
||||
res = do_sin (u, y, db, &cor);
|
||||
cor = (cor > 0) ? 1.035 * cor + eps : 1.035 * cor - eps;
|
||||
retval = ((res == res + cor) ? ((m) ? res : -res)
|
||||
@@ -671,19 +673,21 @@ __cos (double x)
|
||||
}
|
||||
else
|
||||
{
|
||||
+ double t;
|
||||
if (a > 0)
|
||||
{
|
||||
m = 1;
|
||||
+ t = a;
|
||||
db = da;
|
||||
}
|
||||
else
|
||||
{
|
||||
m = 0;
|
||||
- a = -a;
|
||||
+ t = -a;
|
||||
db = -da;
|
||||
}
|
||||
- u.x = big + a;
|
||||
- y = a - (u.x - big);
|
||||
+ u.x = big + t;
|
||||
+ y = t - (u.x - big);
|
||||
res = do_sin (u, y, db, &cor);
|
||||
cor = (cor > 0) ? 1.035 * cor + eps : 1.035 * cor - eps;
|
||||
retval = ((res == res + cor) ? ((m) ? res : -res)
|
||||
diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps
|
||||
index f3980f8..544f1c7 100644
|
||||
--- a/sysdeps/x86_64/fpu/libm-test-ulps
|
||||
+++ b/sysdeps/x86_64/fpu/libm-test-ulps
|
||||
@@ -10900,6 +10900,14 @@ idouble: 1
|
||||
Test "cos_downward (0x1.0c152382d7365p+0)":
|
||||
double: 1
|
||||
idouble: 1
|
||||
+Test "cos_downward (0x1.200145a975ce6p+32)":
|
||||
+double: 1
|
||||
+idouble: 1
|
||||
+ildouble: 1
|
||||
+ldouble: 1
|
||||
+Test "cos_downward (0x1.200146p+32)":
|
||||
+ildouble: 1
|
||||
+ldouble: 1
|
||||
Test "cos_downward (0x1.921fb4p+0)":
|
||||
ildouble: 1
|
||||
ldouble: 1
|
||||
@@ -11126,6 +11134,9 @@ idouble: 1
|
||||
Test "cos_towardzero (0x1.0c152382d7365p+0)":
|
||||
double: 1
|
||||
idouble: 1
|
||||
+Test "cos_towardzero (0x1.200146p+32)":
|
||||
+double: 1
|
||||
+idouble: 1
|
||||
Test "cos_towardzero (0x1.921fb4p+0)":
|
||||
ildouble: 1
|
||||
ldouble: 1
|
||||
@@ -11258,6 +11269,17 @@ idouble: 1
|
||||
Test "cos_upward (0x1.0c1524p+0)":
|
||||
double: 1
|
||||
idouble: 1
|
||||
+Test "cos_upward (0x1.200144p+32)":
|
||||
+double: 1
|
||||
+idouble: 1
|
||||
+Test "cos_upward (0x1.200145a975ce6p+32)":
|
||||
+ildouble: 1
|
||||
+ldouble: 1
|
||||
+Test "cos_upward (0x1.200146p+32)":
|
||||
+double: 1
|
||||
+idouble: 1
|
||||
+ildouble: 1
|
||||
+ldouble: 1
|
||||
Test "cos_upward (0x1.921fb4p+0)":
|
||||
double: 1
|
||||
idouble: 1
|
||||
@@ -15155,6 +15177,19 @@ double: 1
|
||||
idouble: 1
|
||||
ildouble: 1
|
||||
ldouble: 1
|
||||
+Test "sin_downward (0x1.2001469775ce6p+32)":
|
||||
+double: 1
|
||||
+idouble: 1
|
||||
+ildouble: 1
|
||||
+ldouble: 1
|
||||
+Test "sin_downward (0x1.200146p+32)":
|
||||
+double: 1
|
||||
+idouble: 1
|
||||
+Test "sin_downward (0x1.200148p+32)":
|
||||
+double: 1
|
||||
+idouble: 1
|
||||
+ildouble: 1
|
||||
+ldouble: 1
|
||||
Test "sin_downward (0x1.921fb54442d18468p+0)":
|
||||
ildouble: 1
|
||||
ldouble: 1
|
||||
@@ -15383,6 +15418,9 @@ double: 1
|
||||
idouble: 1
|
||||
ildouble: 1
|
||||
ldouble: 1
|
||||
+Test "sin_towardzero (0x1.200146p+32)":
|
||||
+double: 1
|
||||
+idouble: 1
|
||||
Test "sin_towardzero (0x1.921fb54442d18468p+0)":
|
||||
ildouble: 1
|
||||
ldouble: 1
|
||||
@@ -15532,6 +15570,12 @@ ldouble: 1
|
||||
Test "sin_upward (-0x8.60a92p-4)":
|
||||
ildouble: 1
|
||||
ldouble: 1
|
||||
+Test "sin_upward (0x1.2001469775ce6p+32)":
|
||||
+ildouble: 1
|
||||
+ldouble: 1
|
||||
+Test "sin_upward (0x1.200148p+32)":
|
||||
+ildouble: 1
|
||||
+ldouble: 1
|
||||
Test "sin_upward (0x1.921fb4p+0)":
|
||||
double: 1
|
||||
idouble: 1
|
|
@ -1,12 +0,0 @@
|
|||
diff -ur glibc-2.17.orig/csu/Makefile glibc-2.17/csu/Makefile
|
||||
--- glibc-2.17.orig/csu/Makefile 2012-12-25 04:02:13.000000000 +0100
|
||||
+++ glibc-2.17/csu/Makefile 2013-08-19 16:01:57.132378550 +0200
|
||||
@@ -172,7 +172,7 @@
|
||||
os=Linux; \
|
||||
fi; \
|
||||
printf '"Compiled on a %s %s system on %s.\\n"\n' \
|
||||
- "$$os" "$$version" "`date +%Y-%m-%d`";; \
|
||||
+ "$$os" "$$version";; \
|
||||
*) ;; \
|
||||
esac; \
|
||||
files="$(all-Banner-files)"; \
|
|
@ -46,10 +46,6 @@ postInstall() {
|
|||
ln -s lib $out/lib64
|
||||
fi
|
||||
|
||||
# This file, that should not remain in the glibc derivation,
|
||||
# may have not been created during the preInstall
|
||||
rm -f $out/lib/libgcc_s.so.1
|
||||
|
||||
# Get rid of more unnecessary stuff.
|
||||
rm -rf $out/var $out/sbin/sln
|
||||
}
|
|
@ -13,7 +13,7 @@ cross:
|
|||
|
||||
let
|
||||
|
||||
version = "2.19";
|
||||
version = "2.20";
|
||||
|
||||
in
|
||||
|
||||
|
@ -56,14 +56,6 @@ stdenv.mkDerivation ({
|
|||
"/bin:/usr/bin", which is inappropriate on NixOS machines. This
|
||||
patch extends the search path by "/run/current-system/sw/bin". */
|
||||
./fix_path_attribute_in_getconf.patch
|
||||
|
||||
./fix-math.patch
|
||||
|
||||
./cve-2014-0475.patch
|
||||
./cve-2014-5119.patch
|
||||
|
||||
/* Remove references to the compilation date. */
|
||||
./glibc-remove-date-from-compilation-banner.patch
|
||||
];
|
||||
|
||||
postPatch =
|
||||
|
@ -77,8 +69,11 @@ stdenv.mkDerivation ({
|
|||
+ ''
|
||||
echo "LDFLAGS-nscd += -static-libgcc" >> nscd/Makefile
|
||||
''
|
||||
# Replace the date and time in nscd by $out.
|
||||
# It is used as a protocol compatibility check.
|
||||
# Replace the date and time in nscd by a prefix of $out.
|
||||
# It is used as a protocol compatibility check.
|
||||
# Note: the size of the struct changes, but using only a part
|
||||
# would break hash-rewriting. When receiving stats it does check
|
||||
# that the struct sizes match and can't cause overflow or something.
|
||||
+ ''
|
||||
cat ${./glibc-remove-datetime-from-nscd.patch} \
|
||||
| sed "s,@out@,$out," | patch -p1
|
||||
|
@ -155,7 +150,7 @@ stdenv.mkDerivation ({
|
|||
}
|
||||
else fetchurl {
|
||||
url = "mirror://gnu/glibc/glibc-${version}.tar.gz";
|
||||
sha256 = "15n7x9mmzhd7w6s5hd9srx0h23b32gwb306x98k9ss940yvnvb8q";
|
||||
sha256 = "1g6ysvk15arpi7c1f1fpx5slgfr2k3dqd5xr0yvijajp1m0xxq9p";
|
||||
};
|
||||
|
||||
# Remove absolute paths from `configure' & co.; build out-of-tree.
|
|
@ -35,7 +35,7 @@ in
|
|||
preInstall = ''
|
||||
if [ -f ${stdenv.gcc.gcc}/lib/libgcc_s.so.1 ]; then
|
||||
mkdir -p $out/lib
|
||||
ln -s ${stdenv.gcc.gcc}/lib/libgcc_s.so.1 $out/lib/libgcc_s.so.1
|
||||
cp ${stdenv.gcc.gcc}/lib/libgcc_s.so.1 $out/lib/libgcc_s.so.1
|
||||
fi
|
||||
'';
|
||||
|
|
@ -1,12 +1,12 @@
|
|||
diff -rupN a/elf/rtld.c b/elf/rtld.c
|
||||
--- a/elf/rtld.c 2013-08-11 00:52:55.000000001 +0200
|
||||
+++ b/elf/rtld.c 2014-02-18 13:56:19.000000001 +0100
|
||||
@@ -1639,7 +1639,7 @@ ERROR: ld.so: object '%s' cannot be load
|
||||
diff -ru glibc-2.20-orig/elf/rtld.c glibc-2.20/elf/rtld.c
|
||||
--- glibc-2.20-orig/elf/rtld.c 2014-09-07 10:09:09.000000000 +0200
|
||||
+++ glibc-2.20/elf/rtld.c 2014-10-27 11:32:25.203043157 +0100
|
||||
@@ -1513,7 +1513,7 @@
|
||||
open(). So we do this first. If it succeeds we do almost twice
|
||||
the work but this does not matter, since it is not for production
|
||||
use. */
|
||||
- static const char preload_file[] = "/etc/ld.so.preload";
|
||||
+ static const char preload_file[] = "/etc/ld-nix.so.preload";
|
||||
if (__builtin_expect (__access (preload_file, R_OK) == 0, 0))
|
||||
if (__glibc_unlikely (__access (preload_file, R_OK) == 0))
|
||||
{
|
||||
/* Read the contents of the file. */
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
/* We use this to make sure the receiver is the same. */
|
||||
-static const char compilation[21] = __DATE__ " " __TIME__;
|
||||
+static const char compilation[21] = "@out@";
|
||||
+static const char compilation[] = "@out@";
|
||||
|
||||
/* Statistic data for one database. */
|
||||
struct dbstat
|
|
@ -28,8 +28,8 @@ build null {
|
|||
mkdir -p $TMPDIR/"$(dirname $(readlink -f $(type -p localedef)))/../lib/locale"
|
||||
|
||||
# Hack to allow building of the locales (needed since glibc-2.12)
|
||||
sed -i -e "s,^LOCALEDEF=.*,LOCALEDEF=localedef --prefix=$TMPDIR," -e \
|
||||
/library-path/d ../glibc-2*/localedata/Makefile
|
||||
sed -i -e 's,^$(rtld-prefix) $(common-objpfx)locale/localedef,localedef --prefix='$TMPDIR',' ../glibc-2*/localedata/Makefile
|
||||
|
||||
${if allLocales then "" else
|
||||
"echo SUPPORTED-LOCALES=\"${toString locales}\" > ../glibc-2*/localedata/SUPPORTED"}
|
||||
|
|
@ -1,15 +1,15 @@
|
|||
{ stdenv, fetchurl, pkgconfig, glib, libsigcxx }:
|
||||
|
||||
let
|
||||
ver_maj = "2.38";
|
||||
ver_min = "1";
|
||||
ver_maj = "2.42";
|
||||
ver_min = "0";
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
name = "glibmm-${ver_maj}.${ver_min}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/glibmm/${ver_maj}/${name}.tar.xz";
|
||||
sha256 = "18n4czi6lh4ncj54apxms18xn9k8pmrp2ba9sxn0sk9w3pp2bja9";
|
||||
sha256 = "985083d97378d234da27a7243587cc0d186897a4b2d3c1286f794089be1a3397";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
|
|
|
@ -1,67 +0,0 @@
|
|||
{ fetchurl, stdenv, zlib, lzo, libtasn1, nettle, pkgconfig, lzip
|
||||
, guileBindings, guile, perl, gmp }:
|
||||
|
||||
assert guileBindings -> guile != null;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "gnutls-3.1.26";
|
||||
|
||||
src = fetchurl {
|
||||
url = "ftp://ftp.gnutls.org/gcrypt/gnutls/v3.1/${name}.tar.lz";
|
||||
sha256 = "7947e18fd0c292c0274d810c9bdf674b8faa3566e056ea404a39f335982607a3";
|
||||
};
|
||||
|
||||
# FreeBSD doesn't have <alloca.h>, and Gnulib's `alloca' module isn't used.
|
||||
patches = stdenv.lib.optional stdenv.isFreeBSD ./guile-gnulib-includes.patch;
|
||||
|
||||
# Note: GMP is a dependency of Nettle, whose public headers include
|
||||
# GMP headers, hence the hack.
|
||||
configurePhase = ''
|
||||
./configure --prefix="$out" \
|
||||
--disable-dependency-tracking --enable-fast-install \
|
||||
--without-p11-kit \
|
||||
--with-lzo --with-libtasn1-prefix="${libtasn1}" \
|
||||
--with-libnettle-prefix="${nettle}" \
|
||||
CPPFLAGS="-I${gmp}/include" \
|
||||
${stdenv.lib.optionalString guileBindings
|
||||
"--enable-guile --with-guile-site-dir=\"$out/share/guile/site\""}
|
||||
'';
|
||||
|
||||
# Build of the Guile bindings is not parallel-safe. See
|
||||
# <http://git.savannah.gnu.org/cgit/gnutls.git/commit/?id=330995a920037b6030ec0282b51dde3f8b493cad>
|
||||
# for the actual fix.
|
||||
enableParallelBuilding = !guileBindings;
|
||||
|
||||
buildInputs = [ zlib lzo lzip ]
|
||||
++ stdenv.lib.optional guileBindings guile;
|
||||
|
||||
nativeBuildInputs = [ perl pkgconfig ];
|
||||
|
||||
propagatedBuildInputs = [ nettle libtasn1 ];
|
||||
|
||||
# XXX: Gnulib's `test-select' fails on FreeBSD:
|
||||
# http://hydra.nixos.org/build/2962084/nixlog/1/raw .
|
||||
doCheck = false;#(!stdenv.isFreeBSD && !stdenv.isDarwin);
|
||||
|
||||
meta = {
|
||||
description = "The GNU Transport Layer Security Library";
|
||||
|
||||
longDescription = ''
|
||||
GnuTLS is a project that aims to develop a library which
|
||||
provides a secure layer, over a reliable transport
|
||||
layer. Currently the GnuTLS library implements the proposed
|
||||
standards by the IETF's TLS working group.
|
||||
|
||||
Quoting from the TLS protocol specification:
|
||||
|
||||
"The TLS protocol provides communications privacy over the
|
||||
Internet. The protocol allows client/server applications to
|
||||
communicate in a way that is designed to prevent eavesdropping,
|
||||
tampering, or message forgery."
|
||||
'';
|
||||
|
||||
homepage = http://www.gnu.org/software/gnutls/;
|
||||
license = stdenv.lib.licenses.lgpl21Plus;
|
||||
maintainers = [ stdenv.lib.maintainers.eelco ];
|
||||
};
|
||||
}
|
|
@ -4,11 +4,11 @@
|
|||
assert guileBindings -> guile != null;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "gnutls-3.2.17";
|
||||
name = "gnutls-3.2.20";
|
||||
|
||||
src = fetchurl {
|
||||
url = "ftp://ftp.gnutls.org/gcrypt/gnutls/v3.2/${name}.tar.lz";
|
||||
sha256 = "a332adda1d294fbee859ae46ee0c128d8959c4a5b9c28e7cdbe5c9b56898fc25";
|
||||
sha256 = "0mjwzj486g0aj5i3zr70mixmbd4ldrj1ckrwmcr90si6bqa0sc6q";
|
||||
};
|
||||
|
||||
patches =
|
||||
|
|
|
@ -16,10 +16,10 @@ stdenv.mkDerivation rec {
|
|||
sha256 = "162flbzwzz0b8axab2gimc4dglpaw88fh1d177zfg0whczlpbsln";
|
||||
};
|
||||
|
||||
buildInputs = [ flex bison glib pkgconfig python ]
|
||||
buildInputs = [ flex bison pkgconfig python ]
|
||||
++ libintlOrEmpty
|
||||
++ stdenv.lib.optional stdenv.isDarwin otool;
|
||||
propagatedBuildInputs = [ libffi ];
|
||||
propagatedBuildInputs = [ libffi glib ];
|
||||
|
||||
# Tests depend on cairo, which is undesirable (it pulls in lots of
|
||||
# other dependencies).
|
||||
|
|
|
@ -1,21 +1,22 @@
|
|||
{ stdenv, fetchurl, pkgconfig, gtk3, glibmm, cairomm, pangomm, atkmm }:
|
||||
|
||||
let
|
||||
ver_maj = "3.11"; # unstable version, but ATM no stable builds with gtk-3.12 and this is the version used in GNOME-3.12 "stable"
|
||||
ver_min = "9";
|
||||
ver_maj = "3.12";
|
||||
ver_min = "0";
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
name = "gtkmm-${ver_maj}.${ver_min}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/gtkmm/${ver_maj}/${name}.tar.xz";
|
||||
sha256 = "04yji82prijlwpd3blx0am1ikjy7y7ih7jd628dywdjbbfq42920";
|
||||
sha256 = "86c526ceec15d889996822128d566748bb36f70cf5a2c270530dfc546a2574e1";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
|
||||
propagatedBuildInputs = [ glibmm gtk3 atkmm cairomm pangomm ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
doCheck = true;
|
||||
|
||||
meta = {
|
||||
|
|
|
@ -8,11 +8,11 @@
|
|||
# (icu is a ~30 MB dependency, the rest is very small in comparison)
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "harfbuzz-0.9.35";
|
||||
name = "harfbuzz-0.9.36";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://www.freedesktop.org/software/harfbuzz/release/${name}.tar.bz2";
|
||||
sha256 = "1v86596994bnb9hx7laykhw4ipixqz9ckwzyyqf340pmlsmsi88a";
|
||||
sha256 = "3bfbf7b016167ee6b2a2f83948fef75cc1253081873d6a91022161815956b9be";
|
||||
};
|
||||
|
||||
configureFlags = [
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{ stdenv, fetchurl, python }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "libevdev-1.3";
|
||||
name = "libevdev-1.3.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://www.freedesktop.org/software/libevdev/${name}.tar.xz";
|
||||
sha256 = "0iil4pnla0kjdx52ay7igq65sx32sjbzn1wx9q3v74m5g7712m16";
|
||||
sha256 = "0hr6xjp7vcnr7lnr1il03235rcslqb95yv7j88qh51q0bwcpcz2b";
|
||||
};
|
||||
|
||||
buildInputs = [ python ];
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ stdenv, fetchurl, zlib, xz, python ? null, pythonSupport ? true }:
|
||||
{ stdenv, fetchurl, zlib, xz, python ? null, pythonSupport ? true, findXMLCatalogs }:
|
||||
|
||||
assert pythonSupport -> python != null;
|
||||
|
||||
|
@ -22,9 +22,7 @@ stdenv.mkDerivation (rec {
|
|||
# RUNPATH for that, leading to undefined references for its users.
|
||||
++ (stdenv.lib.optional stdenv.isFreeBSD xz);
|
||||
|
||||
propagatedBuildInputs = [ zlib ];
|
||||
|
||||
setupHook = ./setup-hook.sh;
|
||||
propagatedBuildInputs = [ zlib findXMLCatalogs ];
|
||||
|
||||
passthru = { inherit pythonSupport version; };
|
||||
|
||||
|
|
|
@ -1,19 +0,0 @@
|
|||
addXMLCatalogs () {
|
||||
for kind in dtd xsl; do
|
||||
if test -d $1/xml/$kind; then
|
||||
for i in $(find $1/xml/$kind -name catalog.xml); do
|
||||
export XML_CATALOG_FILES="$XML_CATALOG_FILES $i"
|
||||
done
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
if test -z "$libxmlHookDone"; then
|
||||
libxmlHookDone=1
|
||||
|
||||
# Set up XML_CATALOG_FILES. An empty initial value prevents
|
||||
# xmllint and xsltproc from looking in /etc/xml/catalog.
|
||||
export XML_CATALOG_FILES
|
||||
if test -z "$XML_CATALOG_FILES"; then XML_CATALOG_FILES=" "; fi
|
||||
envHooks+=(addXMLCatalogs)
|
||||
fi
|
|
@ -1,4 +1,4 @@
|
|||
{ stdenv, fetchurl, libxml2 }:
|
||||
{ stdenv, fetchurl, libxml2, findXMLCatalogs }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "libxslt-1.1.28";
|
||||
|
@ -10,6 +10,8 @@ stdenv.mkDerivation rec {
|
|||
|
||||
buildInputs = [ libxml2 ];
|
||||
|
||||
propagatedBuildInputs = [ findXMLCatalogs ];
|
||||
|
||||
patches = stdenv.lib.optionals stdenv.isSunOS [ ./patch-ah.patch ];
|
||||
|
||||
configureFlags = [
|
||||
|
@ -21,11 +23,6 @@ stdenv.mkDerivation rec {
|
|||
"--without-debugger"
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p $out/nix-support
|
||||
ln -s ${libxml2}/nix-support/setup-hook $out/nix-support/
|
||||
'';
|
||||
|
||||
meta = {
|
||||
homepage = http://xmlsoft.org/XSLT/;
|
||||
description = "A C library and tools to do XSL transformations";
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ stdenv, fetchurl, pkgconfig, intltool, flex, bison, autoreconfHook, substituteAll
|
||||
{ stdenv, fetchurl, fetchpatch, pkgconfig, intltool, flex, bison, autoreconfHook, substituteAll
|
||||
, python, libxml2Python, file, expat, makedepend
|
||||
, libdrm, xorg, wayland, udev, llvm, libffi
|
||||
, libvdpau, libelf
|
||||
|
@ -45,6 +45,12 @@ stdenv.mkDerivation {
|
|||
./glx_ro_text_segm.patch # fix for grsecurity/PaX
|
||||
# TODO: revive ./dricore-gallium.patch when it gets ported (from Ubuntu),
|
||||
# as it saved ~35 MB in $drivers; watch https://launchpad.net/ubuntu/+source/mesa/+changelog
|
||||
(fetchpatch {
|
||||
name = "fix-lp_test_arit.diff";
|
||||
url = "http://cgit.freedesktop.org/mesa/mesa/patch/"
|
||||
+ "?id=8148a06b8fdb734f7f9a11ce787ee6505939fdaa";
|
||||
sha256 = "0k2bnl7d28nx2y88jchw6jj4f3xfdjjvz4vpvhc40060c2iz8fla";
|
||||
})
|
||||
] ++ optional stdenv.isLinux
|
||||
(substituteAll {
|
||||
src = ./dlopen-absolute-paths.diff;
|
||||
|
@ -78,7 +84,7 @@ stdenv.mkDerivation {
|
|||
|
||||
"--with-dri-drivers=i965,r200,radeon"
|
||||
"--with-gallium-drivers=i915,nouveau,r300,r600,svga,swrast,radeonsi"
|
||||
"--with-egl-platforms=x11,drm" "--enable-gbm"
|
||||
"--with-egl-platforms=x11,wayland,drm" "--enable-gbm"
|
||||
]
|
||||
++ optional enableTextureFloats "--enable-texture-float"
|
||||
++ optionals enableExtraFeatures [
|
||||
|
@ -97,13 +103,13 @@ stdenv.mkDerivation {
|
|||
autoreconfHook intltool expat libxml2Python llvm
|
||||
glproto dri2proto dri3proto presentproto
|
||||
libX11 libXext libxcb libXt libXfixes libxshmfence
|
||||
libffi /* wayland */ libvdpau libelf
|
||||
libffi wayland libvdpau libelf
|
||||
] ++ optionals enableExtraFeatures [ /*libXvMC*/ ]
|
||||
++ optional stdenv.isLinux udev
|
||||
;
|
||||
|
||||
enableParallelBuilding = true;
|
||||
#doCheck = true; # https://bugs.freedesktop.org/show_bug.cgi?id=67672
|
||||
doCheck = true;
|
||||
|
||||
# move gallium-related stuff to $drivers, so $out doesn't depend on LLVM;
|
||||
# also move libOSMesa to $osmesa, as it's relatively big
|
||||
|
|
|
@ -1,28 +1,39 @@
|
|||
{ stdenv, fetchurl, cmake, automoc4, qt4, pkgconfig, phonon, gstreamer
|
||||
, gst_plugins_base }:
|
||||
{ stdenv, fetchurl, cmake, automoc4, pkgconfig, gst_all_1
|
||||
, phonon, qt4 ? null, qt5 ? null, withQt5 ? false }:
|
||||
|
||||
with stdenv.lib;
|
||||
|
||||
assert (withQt5 -> qt5 != null); assert (!withQt5 -> qt4 != null);
|
||||
|
||||
let
|
||||
version = "4.7.2";
|
||||
version = "4.8.0";
|
||||
pname = "phonon-backend-gstreamer";
|
||||
qt = if withQt5 then qt5 else qt4;
|
||||
# Force same Qt version in phonon
|
||||
phonon_ = phonon.override { inherit qt4 qt5 withQt5; };
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "${pname}-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://kde/stable/phonon/${pname}/${version}/src/${name}.tar.xz";
|
||||
sha256 = "1cfjk450aajr8hfhnfq7zbmryprxiwr9ha5x585dsh7mja82mdw0";
|
||||
url = "mirror://kde/stable/phonon/${pname}/${version}/${name}.tar.xz";
|
||||
sha256 = "0zjqf1gpj6h9hj27225vihg5gj0fjgvh4n9nkrbij7kf57bcn6gq";
|
||||
};
|
||||
|
||||
buildInputs = [ phonon qt4 gstreamer gst_plugins_base ];
|
||||
buildInputs = with gst_all_1; [ phonon_ qt gstreamer gst-plugins-base ];
|
||||
|
||||
nativeBuildInputs = [ cmake automoc4 pkgconfig ];
|
||||
|
||||
cmakeFlags = [ "-DCMAKE_INSTALL_LIBDIR=lib" ];
|
||||
cmakeFlags =
|
||||
[ "-DCMAKE_INSTALL_LIBDIR=lib"
|
||||
] ++ optional withQt5 "-DPHONON_BUILD_PHONON4QT5=ON";
|
||||
|
||||
meta = {
|
||||
homepage = http://phonon.kde.org/;
|
||||
description = "GStreamer backend for Phonon";
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
};
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ ttuegel ];
|
||||
license = licenses.lgpl21Plus;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,26 +1,37 @@
|
|||
{ stdenv, fetchurl, xz, qt4, vlc, automoc4, cmake, pkgconfig, phonon }:
|
||||
{ stdenv, fetchurl, xz, vlc, automoc4, cmake, pkgconfig, phonon
|
||||
, qt4 ? null, qt5 ? null, withQt5 ? false }:
|
||||
|
||||
with stdenv.lib;
|
||||
|
||||
assert (withQt5 -> qt5 != null); assert (!withQt5 -> qt4 != null);
|
||||
|
||||
let
|
||||
pname = "phonon-backend-vlc";
|
||||
v = "0.7.2";
|
||||
vlc_ = vlc.override { inherit qt4; }; #Force using the same qt version
|
||||
v = "0.8.1";
|
||||
# Force same Qt version in phonon and VLC
|
||||
vlc_ = vlc.override { inherit qt4 qt5 withQt5; };
|
||||
phonon_ = phonon.override { inherit qt4 qt5 withQt5; };
|
||||
in
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "${pname}-${v}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://kde/stable/phonon/${pname}/${v}/src/${pname}-${v}.tar.xz";
|
||||
sha256 = "1acmbn8pmmq16gcz825dlzaf3haj6avp1bmcxzpkjd1fvxh86y0a";
|
||||
url = "mirror://kde/stable/phonon/${pname}/${v}/${pname}-${v}.tar.xz";
|
||||
sha256 = "1fyfh7qyb6rld350v2fgz452ld96d3z5ifchr323q0vc3hb9k222";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake pkgconfig automoc4 xz ];
|
||||
|
||||
buildInputs = [ qt4 vlc_ phonon ];
|
||||
buildInputs = [ vlc_ phonon_ (if withQt5 then qt5 else qt4)];
|
||||
|
||||
cmakeFlags = optional withQt5 "-DPHONON_BUILD_PHONON4QT5=ON";
|
||||
|
||||
meta = {
|
||||
homepage = http://phonon.kde.org/;
|
||||
description = "VideoLAN backend for Phonon multimedia framework";
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
maintainers = [ stdenv.lib.maintainers.urkud ];
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ ttuegel urkud ];
|
||||
license = licenses.lgpl21Plus;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,25 +1,33 @@
|
|||
{ stdenv, fetchurl, cmake, automoc4, qt4, pulseaudio }:
|
||||
{ stdenv, fetchurl, cmake, automoc4, pulseaudio
|
||||
, qt4 ? null, qt5 ? null, withQt5 ? false }:
|
||||
|
||||
assert (withQt5 -> qt5 != null); assert (!withQt5 -> qt4 != null);
|
||||
|
||||
with stdenv.lib;
|
||||
|
||||
let
|
||||
v = "4.7.2";
|
||||
v = "4.8.1";
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "phonon-${v}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://kde/stable/phonon/${v}/${name}.tar.xz";
|
||||
sha256 = "1ghidabmi6vnnmz8q272qi259nb8bbqlbayqk52ln98fs8s9g7l1";
|
||||
url = "mirror://kde/stable/phonon/${v}/phonon-${v}.tar.xz";
|
||||
sha256 = "1l97h1jj3gvl1chx1qbipizfvjgqc05wrhdcflc76c2krlk03jmn";
|
||||
};
|
||||
|
||||
buildInputs = [ qt4 pulseaudio ];
|
||||
buildInputs = [ (if withQt5 then qt5 else qt4) pulseaudio ];
|
||||
|
||||
nativeBuildInputs = [ cmake automoc4 ];
|
||||
|
||||
cmakeFlags = optional withQt5 "-DPHONON_BUILD_PHONON4QT5=ON";
|
||||
|
||||
meta = {
|
||||
homepage = http://phonon.kde.org/;
|
||||
description = "Multimedia API for Qt";
|
||||
license = stdenv.lib.licenses.lgpl2;
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
};
|
||||
maintainers = with stdenv.lib.maintainers; [ ttuegel ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,20 +1,22 @@
|
|||
{ stdenv, fetchurl, cmake, qt4, pkgconfig, polkit, automoc4, glib }:
|
||||
{ stdenv, fetchurl, cmake, pkgconfig, polkit, automoc4, glib
|
||||
, qt4 ? null, qt5 ? null, withQt5 ? false }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "polkit-qt-1-0.103.0";
|
||||
assert (withQt5 -> qt5 != null); assert (!withQt5 -> qt4 != null);
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "polkit-qt-1-0.112.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://kde/stable/apps/KDE4.x/admin/${name}.tar.bz2";
|
||||
sha256 = "0k17sb70ywk94dmncnkyig03sg1hcfbhi5wlc77xf3rxirmmccif";
|
||||
url = "mirror://kde/stable/apps/KDE4.x/admin/polkit-qt-1-0.112.0.tar.bz2";
|
||||
sha256 = "1ip78x20hjqvm08kxhp6gb8hf6k5n6sxyx6kk2yvvq53djzh7yv7";
|
||||
};
|
||||
|
||||
patches = [ ./polkit-install.patch ];
|
||||
nativeBuildInputs = [ cmake automoc4 pkgconfig ];
|
||||
|
||||
nativeBuildInputs = [ cmake automoc4 ];
|
||||
|
||||
propagatedBuildInputs = [ polkit glib qt4 ];
|
||||
propagatedBuildInputs = [ polkit glib (if withQt5 then qt5 else qt4) ];
|
||||
|
||||
meta = {
|
||||
description = "A Qt wrapper around PolKit";
|
||||
maintainers = with stdenv.lib.maintainers; [ ttuegel ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,12 +0,0 @@
|
|||
diff -ru -x '*~' polkit-qt-1-0.99.0-orig/PolkitQt-1Config.cmake.in polkit-qt-1-0.99.0/PolkitQt-1Config.cmake.in
|
||||
--- polkit-qt-1-0.99.0-orig/PolkitQt-1Config.cmake.in 2010-12-08 18:22:28.000000000 +0100
|
||||
+++ polkit-qt-1-0.99.0/PolkitQt-1Config.cmake.in 2011-07-12 13:26:51.000000000 +0200
|
||||
@@ -15,7 +15,7 @@
|
||||
|
||||
set(POLKITQT-1_INCLUDE_DIR "@INCLUDE_INSTALL_DIR@/polkit-qt-1")
|
||||
set(POLKITQT-1_LIB_DIR "@LIB_INSTALL_DIR@")
|
||||
-set(POLKITQT-1_POLICY_FILES_INSTALL_DIR "${POLKITQT-1_INSTALL_DIR}/share/polkit-1/actions")
|
||||
+set(POLKITQT-1_POLICY_FILES_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/share/polkit-1/actions")
|
||||
|
||||
# Compatibility
|
||||
if(WIN32)
|
|
@ -1,4 +1,4 @@
|
|||
{ stdenv, fetchurl, fetchgit, pkgconfig, cmake, libiconvOrEmpty, libintlOrEmpty
|
||||
{ stdenv, fetchurl, fetchpatch, pkgconfig, cmake, libiconvOrEmpty, libintlOrEmpty
|
||||
, zlib, curl, cairo, freetype, fontconfig, lcms, libjpeg, openjpeg
|
||||
, qt4Support ? false, qt4 ? null
|
||||
}:
|
||||
|
@ -7,6 +7,14 @@ let
|
|||
version = "0.28.1"; # even major numbers are stable
|
||||
sha256 = "01pxjdbhvpxf00ncf8d9wxc8gkcqcxz59lwrpa151ah988inxkrc";
|
||||
|
||||
# This is for Okular (and similar) to support subpixel rendering.
|
||||
# It's kept from upstream because of political reasons.
|
||||
qtcairo_patch = fetchpatch {
|
||||
url = "https://github.com/giddie/poppler-qt4-cairo-backend/compare/"
|
||||
+ "fa1d636...b30f96c.diff"; # update to current maint...qt4-lcd
|
||||
sha256 = "0g18y247k2vcz1n56rnfpy226f22v4r9c7pk8cf2h9l12vz2qxkm";
|
||||
};
|
||||
|
||||
poppler_drv = nameSuff: merge: stdenv.mkDerivation (stdenv.lib.mergeAttrsByFuncDefaultsClean [
|
||||
rec {
|
||||
name = "poppler-${nameSuff}-${version}";
|
||||
|
@ -53,6 +61,7 @@ let
|
|||
poppler_glib = poppler_drv "glib" { };
|
||||
|
||||
poppler_qt4 = poppler_drv "qt4" {
|
||||
patches = [ qtcairo_patch ];
|
||||
propagatedBuildInputs = [ qt4 poppler_glib ];
|
||||
NIX_LDFLAGS = "-lpoppler";
|
||||
postConfigure = ''
|
||||
|
|
|
@ -1,7 +1,31 @@
|
|||
diff -ruN qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/widgets/styles/qgtkstyle_p.cpp qt-everywhere-opensource-src-5.1.1/qtbase/src/widgets/styles/qgtkstyle_p.cpp
|
||||
--- qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/widgets/styles/qgtkstyle_p.cpp 2013-08-25 20:03:30.000000000 +0200
|
||||
+++ qt-everywhere-opensource-src-5.1.1/qtbase/src/widgets/styles/qgtkstyle_p.cpp 2013-09-25 17:58:04.229373681 +0200
|
||||
@@ -348,7 +348,7 @@
|
||||
From 35d5995a58c86a6addbf0aaf0d1be64d39182872 Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Tuegel <ttuegel@gmail.com>
|
||||
Date: Mon, 1 Dec 2014 17:21:58 -0600
|
||||
Subject: [PATCH] dlopen-gtkstyle
|
||||
|
||||
---
|
||||
qtbase/src/widgets/styles/qgtk2painter.cpp | 2 +-
|
||||
qtbase/src/widgets/styles/qgtkstyle_p.cpp | 12 ++++++------
|
||||
2 files changed, 7 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/qtbase/src/widgets/styles/qgtk2painter.cpp b/qtbase/src/widgets/styles/qgtk2painter.cpp
|
||||
index 7b9bd97..075947a 100644
|
||||
--- a/qtbase/src/widgets/styles/qgtk2painter.cpp
|
||||
+++ b/qtbase/src/widgets/styles/qgtk2painter.cpp
|
||||
@@ -104,7 +104,7 @@ static void initGtk()
|
||||
static bool initialized = false;
|
||||
if (!initialized) {
|
||||
// enforce the "0" suffix, so we'll open libgtk-x11-2.0.so.0
|
||||
- QLibrary libgtk(QLS("gtk-x11-2.0"), 0, 0);
|
||||
+ QLibrary libgtk(QLS("@gtk@/lib/libgtk-x11-2.0"), 0, 0);
|
||||
|
||||
QGtk2PainterPrivate::gdk_pixmap_new = (Ptr_gdk_pixmap_new)libgtk.resolve("gdk_pixmap_new");
|
||||
QGtk2PainterPrivate::gdk_pixbuf_get_from_drawable = (Ptr_gdk_pixbuf_get_from_drawable)libgtk.resolve("gdk_pixbuf_get_from_drawable");
|
||||
diff --git a/qtbase/src/widgets/styles/qgtkstyle_p.cpp b/qtbase/src/widgets/styles/qgtkstyle_p.cpp
|
||||
index 2c64225..3343d32 100644
|
||||
--- a/qtbase/src/widgets/styles/qgtkstyle_p.cpp
|
||||
+++ b/qtbase/src/widgets/styles/qgtkstyle_p.cpp
|
||||
@@ -334,7 +334,7 @@ void QGtkStylePrivate::gtkWidgetSetFocus(GtkWidget *widget, bool focus)
|
||||
void QGtkStylePrivate::resolveGtk() const
|
||||
{
|
||||
// enforce the "0" suffix, so we'll open libgtk-x11-2.0.so.0
|
||||
|
@ -10,7 +34,7 @@ diff -ruN qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/widgets/styles/qgtk
|
|||
|
||||
gtk_init = (Ptr_gtk_init)libgtk.resolve("gtk_init");
|
||||
gtk_window_new = (Ptr_gtk_window_new)libgtk.resolve("gtk_window_new");
|
||||
@@ -461,8 +461,8 @@
|
||||
@@ -432,8 +432,8 @@ void QGtkStylePrivate::resolveGtk() const
|
||||
pango_font_description_get_family = (Ptr_pango_font_description_get_family)libgtk.resolve("pango_font_description_get_family");
|
||||
pango_font_description_get_style = (Ptr_pango_font_description_get_style)libgtk.resolve("pango_font_description_get_style");
|
||||
|
||||
|
@ -21,7 +45,7 @@ diff -ruN qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/widgets/styles/qgtk
|
|||
}
|
||||
|
||||
/* \internal
|
||||
@@ -630,9 +630,9 @@
|
||||
@@ -601,9 +601,9 @@ void QGtkStylePrivate::cleanupGtkWidgets()
|
||||
static bool resolveGConf()
|
||||
{
|
||||
if (!QGtkStylePrivate::gconf_client_get_default) {
|
||||
|
@ -34,3 +58,6 @@ diff -ruN qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/widgets/styles/qgtk
|
|||
}
|
||||
return (QGtkStylePrivate::gconf_client_get_default !=0);
|
||||
}
|
||||
--
|
||||
2.1.3
|
||||
|
|
@ -0,0 +1,53 @@
|
|||
From 8c30f72dbe11752e8ed25f292c6e5695d7733f72 Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Tuegel <ttuegel@gmail.com>
|
||||
Date: Mon, 1 Dec 2014 17:22:23 -0600
|
||||
Subject: [PATCH] dlopen-webkit-nsplugin
|
||||
|
||||
---
|
||||
qtwebkit/Source/WebCore/plugins/qt/PluginPackageQt.cpp | 2 +-
|
||||
qtwebkit/Source/WebCore/plugins/qt/PluginViewQt.cpp | 2 +-
|
||||
.../WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp | 2 +-
|
||||
3 files changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/qtwebkit/Source/WebCore/plugins/qt/PluginPackageQt.cpp b/qtwebkit/Source/WebCore/plugins/qt/PluginPackageQt.cpp
|
||||
index 679480b..2c373cc 100644
|
||||
--- a/qtwebkit/Source/WebCore/plugins/qt/PluginPackageQt.cpp
|
||||
+++ b/qtwebkit/Source/WebCore/plugins/qt/PluginPackageQt.cpp
|
||||
@@ -132,7 +132,7 @@ static void initializeGtk(QLibrary* module = 0)
|
||||
}
|
||||
}
|
||||
|
||||
- QLibrary library(QLatin1String("libgtk-x11-2.0"), 0);
|
||||
+ QLibrary library(QLatin1String("@gtk@/lib/libgtk-x11-2.0"), 0);
|
||||
if (library.load()) {
|
||||
typedef void *(*gtk_init_check_ptr)(int*, char***);
|
||||
gtk_init_check_ptr gtkInitCheck = (gtk_init_check_ptr)library.resolve("gtk_init_check");
|
||||
diff --git a/qtwebkit/Source/WebCore/plugins/qt/PluginViewQt.cpp b/qtwebkit/Source/WebCore/plugins/qt/PluginViewQt.cpp
|
||||
index de06a2f..363bde5 100644
|
||||
--- a/qtwebkit/Source/WebCore/plugins/qt/PluginViewQt.cpp
|
||||
+++ b/qtwebkit/Source/WebCore/plugins/qt/PluginViewQt.cpp
|
||||
@@ -697,7 +697,7 @@ static Display *getPluginDisplay()
|
||||
// support gdk based plugins (like flash) that use a different X connection.
|
||||
// The code below has the same effect as this one:
|
||||
// Display *gdkDisplay = gdk_x11_display_get_xdisplay(gdk_display_get_default());
|
||||
- QLibrary library(QLatin1String("libgdk-x11-2.0"), 0);
|
||||
+ QLibrary library(QLatin1String("@gdk_pixbuf@/lib/libgdk-x11-2.0"), 0);
|
||||
if (!library.load())
|
||||
return 0;
|
||||
|
||||
diff --git a/qtwebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp b/qtwebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp
|
||||
index d734ff6..62a2197 100644
|
||||
--- a/qtwebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp
|
||||
+++ b/qtwebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp
|
||||
@@ -64,7 +64,7 @@ static Display* getPluginDisplay()
|
||||
// The code below has the same effect as this one:
|
||||
// Display *gdkDisplay = gdk_x11_display_get_xdisplay(gdk_display_get_default());
|
||||
|
||||
- QLibrary library(QLatin1String("libgdk-x11-2.0"), 0);
|
||||
+ QLibrary library(QLatin1String("@gdk_pixbuf@/libgdk-x11-2.0"), 0);
|
||||
if (!library.load())
|
||||
return 0;
|
||||
|
||||
--
|
||||
2.1.3
|
||||
|
25
pkgs/development/libraries/qt-5/0003-glib-2.32.patch
Normal file
25
pkgs/development/libraries/qt-5/0003-glib-2.32.patch
Normal file
|
@ -0,0 +1,25 @@
|
|||
From a41c3e3a3a1ce4b373b1bbb98f3a835e9e8a0718 Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Tuegel <ttuegel@gmail.com>
|
||||
Date: Mon, 1 Dec 2014 17:22:39 -0600
|
||||
Subject: [PATCH] glib-2.32
|
||||
|
||||
---
|
||||
qtscript/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/qtscript/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h b/qtscript/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h
|
||||
index 1f6d25e..087c3fb 100644
|
||||
--- a/qtscript/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h
|
||||
+++ b/qtscript/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h
|
||||
@@ -81,7 +81,7 @@
|
||||
#include <pthread.h>
|
||||
#elif PLATFORM(GTK)
|
||||
#include <wtf/gtk/GOwnPtr.h>
|
||||
-typedef struct _GMutex GMutex;
|
||||
+typedef union _GMutex GMutex;
|
||||
typedef struct _GCond GCond;
|
||||
#endif
|
||||
|
||||
--
|
||||
2.1.3
|
||||
|
39
pkgs/development/libraries/qt-5/0004-dlopen-resolv.patch
Normal file
39
pkgs/development/libraries/qt-5/0004-dlopen-resolv.patch
Normal file
|
@ -0,0 +1,39 @@
|
|||
From 63af41c6eeca28c911c13b1a77afeaf860863c2d Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Tuegel <ttuegel@gmail.com>
|
||||
Date: Mon, 1 Dec 2014 17:22:55 -0600
|
||||
Subject: [PATCH] dlopen-resolv
|
||||
|
||||
---
|
||||
qtbase/src/network/kernel/qdnslookup_unix.cpp | 2 +-
|
||||
qtbase/src/network/kernel/qhostinfo_unix.cpp | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/qtbase/src/network/kernel/qdnslookup_unix.cpp b/qtbase/src/network/kernel/qdnslookup_unix.cpp
|
||||
index 8c5a0eb..27ebf16 100644
|
||||
--- a/qtbase/src/network/kernel/qdnslookup_unix.cpp
|
||||
+++ b/qtbase/src/network/kernel/qdnslookup_unix.cpp
|
||||
@@ -87,7 +87,7 @@ static void resolveLibrary()
|
||||
if (!lib.load())
|
||||
#endif
|
||||
{
|
||||
- lib.setFileName(QLatin1String("resolv"));
|
||||
+ lib.setFileName(QLatin1String("@glibc/lib/resolv"));
|
||||
if (!lib.load())
|
||||
return;
|
||||
}
|
||||
diff --git a/qtbase/src/network/kernel/qhostinfo_unix.cpp b/qtbase/src/network/kernel/qhostinfo_unix.cpp
|
||||
index df8c8b1..613d0e0 100644
|
||||
--- a/qtbase/src/network/kernel/qhostinfo_unix.cpp
|
||||
+++ b/qtbase/src/network/kernel/qhostinfo_unix.cpp
|
||||
@@ -103,7 +103,7 @@ static void resolveLibrary()
|
||||
if (!lib.load())
|
||||
#endif
|
||||
{
|
||||
- lib.setFileName(QLatin1String("resolv"));
|
||||
+ lib.setFileName(QLatin1String("@glibc@/lib/libresolv"));
|
||||
if (!lib.load())
|
||||
return;
|
||||
}
|
||||
--
|
||||
2.1.3
|
||||
|
25
pkgs/development/libraries/qt-5/0005-dlopen-gl.patch
Normal file
25
pkgs/development/libraries/qt-5/0005-dlopen-gl.patch
Normal file
|
@ -0,0 +1,25 @@
|
|||
From 6aaf6858bf817172a4c503158e1701c4837ee790 Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Tuegel <ttuegel@gmail.com>
|
||||
Date: Mon, 1 Dec 2014 17:23:08 -0600
|
||||
Subject: [PATCH] dlopen-gl
|
||||
|
||||
---
|
||||
qtbase/src/plugins/platforms/xcb/qglxintegration.cpp | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp b/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp
|
||||
index 67235e0..2220a2e 100644
|
||||
--- a/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp
|
||||
+++ b/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp
|
||||
@@ -434,7 +434,7 @@ void (*QGLXContext::getProcAddress(const QByteArray &procName)) ()
|
||||
{
|
||||
extern const QString qt_gl_library_name();
|
||||
// QLibrary lib(qt_gl_library_name());
|
||||
- QLibrary lib(QLatin1String("GL"));
|
||||
+ QLibrary lib(QLatin1String("@openglDriver@/lib/libGL"));
|
||||
glXGetProcAddressARB = (qt_glXGetProcAddressARB) lib.resolve("glXGetProcAddressARB");
|
||||
}
|
||||
}
|
||||
--
|
||||
2.1.3
|
||||
|
52
pkgs/development/libraries/qt-5/0006-tzdir.patch
Normal file
52
pkgs/development/libraries/qt-5/0006-tzdir.patch
Normal file
|
@ -0,0 +1,52 @@
|
|||
From 775fd74351faaabd45f6751618b28e2b05812d05 Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Tuegel <ttuegel@gmail.com>
|
||||
Date: Mon, 1 Dec 2014 17:23:22 -0600
|
||||
Subject: [PATCH] tzdir
|
||||
|
||||
---
|
||||
qtbase/src/corelib/tools/qtimezoneprivate_tz.cpp | 21 +++++++++++++++------
|
||||
1 file changed, 15 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/qtbase/src/corelib/tools/qtimezoneprivate_tz.cpp b/qtbase/src/corelib/tools/qtimezoneprivate_tz.cpp
|
||||
index b4ea91e..a56a245 100644
|
||||
--- a/qtbase/src/corelib/tools/qtimezoneprivate_tz.cpp
|
||||
+++ b/qtbase/src/corelib/tools/qtimezoneprivate_tz.cpp
|
||||
@@ -68,7 +68,10 @@ typedef QHash<QByteArray, QTzTimeZone> QTzTimeZoneHash;
|
||||
// Parse zone.tab table, assume lists all installed zones, if not will need to read directories
|
||||
static QTzTimeZoneHash loadTzTimeZones()
|
||||
{
|
||||
- QString path = QStringLiteral("/usr/share/zoneinfo/zone.tab");
|
||||
+ QString path = qgetenv("TZDIR");
|
||||
+ path += "/zone.tab";
|
||||
+ if (!QFile::exists(path))
|
||||
+ path = QStringLiteral("/usr/share/zoneinfo/zone.tab");
|
||||
if (!QFile::exists(path))
|
||||
path = QStringLiteral("/usr/lib/zoneinfo/zone.tab");
|
||||
|
||||
@@ -559,12 +562,18 @@ void QTzTimeZonePrivate::init(const QByteArray &ianaId)
|
||||
if (!tzif.open(QIODevice::ReadOnly))
|
||||
return;
|
||||
} else {
|
||||
- // Open named tz, try modern path first, if fails try legacy path
|
||||
- tzif.setFileName(QLatin1String("/usr/share/zoneinfo/") + QString::fromLocal8Bit(ianaId));
|
||||
+ // Try TZDIR first
|
||||
+ QString zoneinfoDir = qgetenv("TZDIR");
|
||||
+ zoneinfoDir += "/" + QString::fromLocal8Bit(ianaId);
|
||||
+ tzif.setFileName(zoneinfoDir);
|
||||
if (!tzif.open(QIODevice::ReadOnly)) {
|
||||
- tzif.setFileName(QLatin1String("/usr/lib/zoneinfo/") + QString::fromLocal8Bit(ianaId));
|
||||
- if (!tzif.open(QIODevice::ReadOnly))
|
||||
- return;
|
||||
+ // Open named tz, try modern path first, if fails try legacy path
|
||||
+ tzif.setFileName(QLatin1String("/usr/share/zoneinfo/") + QString::fromLocal8Bit(ianaId));
|
||||
+ if (!tzif.open(QIODevice::ReadOnly)) {
|
||||
+ tzif.setFileName(QLatin1String("/usr/lib/zoneinfo/") + QString::fromLocal8Bit(ianaId));
|
||||
+ if (!tzif.open(QIODevice::ReadOnly))
|
||||
+ return;
|
||||
+ }
|
||||
}
|
||||
}
|
||||
|
||||
--
|
||||
2.1.3
|
||||
|
25
pkgs/development/libraries/qt-5/0007-dlopen-webkit-gtk.patch
Normal file
25
pkgs/development/libraries/qt-5/0007-dlopen-webkit-gtk.patch
Normal file
|
@ -0,0 +1,25 @@
|
|||
From 089db8835c80bf2b7dd91a97a5c6eb26636b6ab9 Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Tuegel <ttuegel@gmail.com>
|
||||
Date: Mon, 1 Dec 2014 17:26:39 -0600
|
||||
Subject: [PATCH] dlopen-webkit-gtk
|
||||
|
||||
---
|
||||
qtwebkit/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/qtwebkit/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp b/qtwebkit/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp
|
||||
index 8de6521..0b25748 100644
|
||||
--- a/qtwebkit/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp
|
||||
+++ b/qtwebkit/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp
|
||||
@@ -53,7 +53,7 @@ static void messageHandler(QtMsgType type, const QMessageLogContext&, const QStr
|
||||
|
||||
static bool initializeGtk()
|
||||
{
|
||||
- QLibrary gtkLibrary(QLatin1String("libgtk-x11-2.0"), 0);
|
||||
+ QLibrary gtkLibrary(QLatin1String("@gtk@/lib/libgtk-x11-2.0"), 0);
|
||||
if (!gtkLibrary.load())
|
||||
return false;
|
||||
typedef void* (*gtk_init_ptr)(void*, void*);
|
||||
--
|
||||
2.1.3
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
From 25d2922cce383fcaa4c138e0cc6c8d92328eeacb Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Tuegel <ttuegel@gmail.com>
|
||||
Date: Mon, 1 Dec 2014 17:30:41 -0600
|
||||
Subject: [PATCH] dlopen-webkit-udev
|
||||
|
||||
---
|
||||
qtwebkit/Source/WebCore/platform/qt/GamepadsQt.cpp | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/qtwebkit/Source/WebCore/platform/qt/GamepadsQt.cpp b/qtwebkit/Source/WebCore/platform/qt/GamepadsQt.cpp
|
||||
index 60ff317..da8ac69 100644
|
||||
--- a/qtwebkit/Source/WebCore/platform/qt/GamepadsQt.cpp
|
||||
+++ b/qtwebkit/Source/WebCore/platform/qt/GamepadsQt.cpp
|
||||
@@ -111,12 +111,12 @@ private:
|
||||
bool load()
|
||||
{
|
||||
m_libUdev.setLoadHints(QLibrary::ResolveAllSymbolsHint);
|
||||
- m_libUdev.setFileNameAndVersion(QStringLiteral("udev"), 1);
|
||||
+ m_libUdev.setFileNameAndVersion(QStringLiteral("@udev@/lib/libudev"), 1);
|
||||
m_loaded = m_libUdev.load();
|
||||
if (resolveMethods())
|
||||
return true;
|
||||
|
||||
- m_libUdev.setFileNameAndVersion(QStringLiteral("udev"), 0);
|
||||
+ m_libUdev.setFileNameAndVersion(QStringLiteral("@udev@/lib/libudev"), 0);
|
||||
m_loaded = m_libUdev.load();
|
||||
return resolveMethods();
|
||||
}
|
||||
--
|
||||
2.1.3
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
From 17c7257e54c00ea2121f2cf95fb2be5e5db6b4ad Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Tuegel <ttuegel@gmail.com>
|
||||
Date: Mon, 1 Dec 2014 17:31:03 -0600
|
||||
Subject: [PATCH] dlopen-serialport-udev
|
||||
|
||||
---
|
||||
qtserialport/src/serialport/qtudev_p.h | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/qtserialport/src/serialport/qtudev_p.h b/qtserialport/src/serialport/qtudev_p.h
|
||||
index 09940ab..45460f9 100644
|
||||
--- a/qtserialport/src/serialport/qtudev_p.h
|
||||
+++ b/qtserialport/src/serialport/qtudev_p.h
|
||||
@@ -119,9 +119,9 @@ inline void *resolveSymbol(QLibrary *udevLibrary, const char *symbolName)
|
||||
inline bool resolveSymbols(QLibrary *udevLibrary)
|
||||
{
|
||||
if (!udevLibrary->isLoaded()) {
|
||||
- udevLibrary->setFileNameAndVersion(QStringLiteral("udev"), 1);
|
||||
+ udevLibrary->setFileNameAndVersion(QStringLiteral("@udev@/lib/libudev"), 1);
|
||||
if (!udevLibrary->load()) {
|
||||
- udevLibrary->setFileNameAndVersion(QStringLiteral("udev"), 0);
|
||||
+ udevLibrary->setFileNameAndVersion(QStringLiteral("@udev@/lib/libudev"), 0);
|
||||
if (!udevLibrary->load()) {
|
||||
qWarning("Failed to load the library: %s, supported version(s): %i and %i", qPrintable(udevLibrary->fileName()), 1, 0);
|
||||
return false;
|
||||
--
|
||||
2.1.3
|
||||
|
29
pkgs/development/libraries/qt-5/0010-dlopen-libXcursor.patch
Normal file
29
pkgs/development/libraries/qt-5/0010-dlopen-libXcursor.patch
Normal file
|
@ -0,0 +1,29 @@
|
|||
From b56e3737ca97e3de664603976989da4419297eb3 Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Tuegel <ttuegel@gmail.com>
|
||||
Date: Mon, 1 Dec 2014 17:33:51 -0600
|
||||
Subject: [PATCH] dlopen-libXcursor
|
||||
|
||||
---
|
||||
qtbase/src/plugins/platforms/xcb/qxcbcursor.cpp | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/qtbase/src/plugins/platforms/xcb/qxcbcursor.cpp b/qtbase/src/plugins/platforms/xcb/qxcbcursor.cpp
|
||||
index 6dbac90..4b23fc2 100644
|
||||
--- a/qtbase/src/plugins/platforms/xcb/qxcbcursor.cpp
|
||||
+++ b/qtbase/src/plugins/platforms/xcb/qxcbcursor.cpp
|
||||
@@ -305,10 +305,10 @@ QXcbCursor::QXcbCursor(QXcbConnection *conn, QXcbScreen *screen)
|
||||
#ifdef XCB_USE_XLIB
|
||||
static bool function_ptrs_not_initialized = true;
|
||||
if (function_ptrs_not_initialized) {
|
||||
- QLibrary xcursorLib(QLatin1String("Xcursor"), 1);
|
||||
+ QLibrary xcursorLib(QLatin1String("@libXcursor@/lib/libXcursor"), 1);
|
||||
bool xcursorFound = xcursorLib.load();
|
||||
if (!xcursorFound) { // try without the version number
|
||||
- xcursorLib.setFileName(QLatin1String("Xcursor"));
|
||||
+ xcursorLib.setFileName(QLatin1String("@libXcursor@/lib/Xcursor"));
|
||||
xcursorFound = xcursorLib.load();
|
||||
}
|
||||
if (xcursorFound) {
|
||||
--
|
||||
2.1.3
|
||||
|
38
pkgs/development/libraries/qt-5/0011-dlopen-openssl.patch
Normal file
38
pkgs/development/libraries/qt-5/0011-dlopen-openssl.patch
Normal file
|
@ -0,0 +1,38 @@
|
|||
From 99d458c93698b2d4f16ff164ed54237279ffbb64 Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Tuegel <ttuegel@gmail.com>
|
||||
Date: Mon, 1 Dec 2014 17:35:21 -0600
|
||||
Subject: [PATCH] dlopen-openssl
|
||||
|
||||
---
|
||||
qtbase/src/network/ssl/qsslsocket_openssl_symbols.cpp | 8 ++++----
|
||||
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/qtbase/src/network/ssl/qsslsocket_openssl_symbols.cpp b/qtbase/src/network/ssl/qsslsocket_openssl_symbols.cpp
|
||||
index 4e6200f..d9c3e7d 100644
|
||||
--- a/qtbase/src/network/ssl/qsslsocket_openssl_symbols.cpp
|
||||
+++ b/qtbase/src/network/ssl/qsslsocket_openssl_symbols.cpp
|
||||
@@ -585,8 +585,8 @@ static QPair<QLibrary*, QLibrary*> loadOpenSsl()
|
||||
#endif
|
||||
#if defined(SHLIB_VERSION_NUMBER) && !defined(Q_OS_QNX) // on QNX, the libs are always libssl.so and libcrypto.so
|
||||
// first attempt: the canonical name is libssl.so.<SHLIB_VERSION_NUMBER>
|
||||
- libssl->setFileNameAndVersion(QLatin1String("ssl"), QLatin1String(SHLIB_VERSION_NUMBER));
|
||||
- libcrypto->setFileNameAndVersion(QLatin1String("crypto"), QLatin1String(SHLIB_VERSION_NUMBER));
|
||||
+ libssl->setFileNameAndVersion(QLatin1String("@openssl@/lib/libssl"), QLatin1String(SHLIB_VERSION_NUMBER));
|
||||
+ libcrypto->setFileNameAndVersion(QLatin1String("@openssl@/lib/libcrypto"), QLatin1String(SHLIB_VERSION_NUMBER));
|
||||
if (libcrypto->load() && libssl->load()) {
|
||||
// libssl.so.<SHLIB_VERSION_NUMBER> and libcrypto.so.<SHLIB_VERSION_NUMBER> found
|
||||
return pair;
|
||||
@@ -597,8 +597,8 @@ static QPair<QLibrary*, QLibrary*> loadOpenSsl()
|
||||
#endif
|
||||
|
||||
// second attempt: find the development files libssl.so and libcrypto.so
|
||||
- libssl->setFileNameAndVersion(QLatin1String("ssl"), -1);
|
||||
- libcrypto->setFileNameAndVersion(QLatin1String("crypto"), -1);
|
||||
+ libssl->setFileNameAndVersion(QLatin1String("@openssl@/lib/libssl"), -1);
|
||||
+ libcrypto->setFileNameAndVersion(QLatin1String("@openssl@/lib/libcrypto"), -1);
|
||||
if (libcrypto->load() && libssl->load()) {
|
||||
// libssl.so.0 and libcrypto.so.0 found
|
||||
return pair;
|
||||
--
|
||||
2.1.3
|
||||
|
25
pkgs/development/libraries/qt-5/0012-dlopen-dbus.patch
Normal file
25
pkgs/development/libraries/qt-5/0012-dlopen-dbus.patch
Normal file
|
@ -0,0 +1,25 @@
|
|||
From eec8a79c6cc9e2c65fd43db48ca2347de3ae0c5e Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Tuegel <ttuegel@gmail.com>
|
||||
Date: Mon, 1 Dec 2014 17:38:04 -0600
|
||||
Subject: [PATCH] dlopen-dbus
|
||||
|
||||
---
|
||||
qtbase/src/dbus/qdbus_symbols.cpp | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/qtbase/src/dbus/qdbus_symbols.cpp b/qtbase/src/dbus/qdbus_symbols.cpp
|
||||
index a7a1b67..661baf1 100644
|
||||
--- a/qtbase/src/dbus/qdbus_symbols.cpp
|
||||
+++ b/qtbase/src/dbus/qdbus_symbols.cpp
|
||||
@@ -93,7 +93,7 @@ bool qdbus_loadLibDBus()
|
||||
|
||||
static int majorversions[] = { 3, 2, -1 };
|
||||
lib->unload();
|
||||
- lib->setFileName(QLatin1String("dbus-1"));
|
||||
+ lib->setFileName(QLatin1String("@dbus_libs@/lib/libdbus-1"));
|
||||
for (uint i = 0; i < sizeof(majorversions) / sizeof(majorversions[0]); ++i) {
|
||||
lib->setFileNameAndVersion(lib->fileName(), majorversions[i]);
|
||||
if (lib->load() && lib->resolve("dbus_connection_open_private"))
|
||||
--
|
||||
2.1.3
|
||||
|
|
@ -3,9 +3,9 @@
|
|||
, mesaSupported, mesa, mesa_glu, openssl, dbus, cups, pkgconfig
|
||||
, libtiff, glib, icu, mysql, postgresql, sqlite, perl, coreutils, libXi
|
||||
, gdk_pixbuf, python, gdb, xlibs, libX11, libxcb, xcbutil, xcbutilimage
|
||||
, xcbutilkeysyms, xcbutilwm,udev, libxml2, libxslt, pcre, libxkbcommon
|
||||
, xcbutilkeysyms, xcbutilwm, udev, libxml2, libxslt, pcre, libxkbcommon
|
||||
, alsaLib, gstreamer, gst_plugins_base
|
||||
, pulseaudio, bison, flex, gperf, ruby, libwebp
|
||||
, pulseaudio, bison, flex, gperf, ruby, libwebp, libXcursor
|
||||
, flashplayerFix ? false
|
||||
, gtkStyle ? false, libgnomeui, gtk, GConf, gnome_vfs
|
||||
, buildDocs ? false
|
||||
|
@ -17,8 +17,8 @@
|
|||
with stdenv.lib;
|
||||
|
||||
let
|
||||
v_maj = "5.2";
|
||||
v_min = "1";
|
||||
v_maj = "5.3";
|
||||
v_min = "2";
|
||||
ver = "${v_maj}.${v_min}";
|
||||
in
|
||||
|
||||
|
@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
|
|||
src = fetchurl {
|
||||
url = "http://download.qt-project.org/official_releases/qt/"
|
||||
+ "${v_maj}/${ver}/single/qt-everywhere-opensource-src-${ver}.tar.gz";
|
||||
sha256 = "18bxrnyis7xbhpxpf7w42i54hs4qr062b1wx4c0dpmja3lc29sc4";
|
||||
sha256 = "0b98n2jl62dyqxwn1gdj9xmk8wrrdxnazr65fdk5qw1hmlpgvly8";
|
||||
};
|
||||
|
||||
# The version property must be kept because it will be included into the QtSDK package name
|
||||
|
@ -45,23 +45,40 @@ stdenv.mkDerivation rec {
|
|||
'';
|
||||
|
||||
patches =
|
||||
[ ./glib-2.32.patch
|
||||
optional gtkStyle
|
||||
(substituteAll {
|
||||
src = ./qt-5.2-dlopen-absolute-paths.patch;
|
||||
inherit cups icu libXfixes;
|
||||
glibc = stdenv.gcc.libc;
|
||||
openglDriver = if mesaSupported then mesa.driverLink else "/no-such-path";
|
||||
})
|
||||
] ++ optional gtkStyle (substituteAll {
|
||||
src = ./dlopen-gtkstyle.patch;
|
||||
src = ./0001-dlopen-gtkstyle.patch;
|
||||
# substituteAll ignores env vars starting with capital letter
|
||||
gconf = GConf;
|
||||
inherit gnome_vfs libgnomeui gtk;
|
||||
})
|
||||
++ optional flashplayerFix (substituteAll {
|
||||
src = ./dlopen-webkit-nsplugin.patch;
|
||||
++ optional flashplayerFix
|
||||
(substituteAll {
|
||||
src = ./0002-dlopen-webkit-nsplugin.patch;
|
||||
inherit gtk gdk_pixbuf;
|
||||
});
|
||||
})
|
||||
++ optional flashplayerFix
|
||||
(substituteAll {
|
||||
src = ./0007-dlopen-webkit-gtk.patch;
|
||||
inherit gtk;
|
||||
})
|
||||
++ [
|
||||
./0003-glib-2.32.patch
|
||||
(substituteAll {
|
||||
src = ./0004-dlopen-resolv.patch;
|
||||
glibc = stdenv.gcc.libc;
|
||||
})
|
||||
(substituteAll {
|
||||
src = ./0005-dlopen-gl.patch;
|
||||
openglDriver = if mesaSupported then mesa.driverLink else "/no-such-path";
|
||||
})
|
||||
./0006-tzdir.patch
|
||||
(substituteAll { src = ./0008-dlopen-webkit-udev.patch; inherit udev; })
|
||||
(substituteAll { src = ./0009-dlopen-serialport-udev.patch; inherit udev; })
|
||||
(substituteAll { src = ./0010-dlopen-libXcursor.patch; inherit libXcursor; })
|
||||
(substituteAll { src = ./0011-dlopen-openssl.patch; inherit openssl; })
|
||||
(substituteAll { src = ./0012-dlopen-dbus.patch; dbus_libs = dbus; })
|
||||
];
|
||||
|
||||
preConfigure = ''
|
||||
export LD_LIBRARY_PATH="$PWD/qtbase/lib:$PWD/qtbase/plugins/platforms:$PWD/qttools/lib:$LD_LIBRARY_PATH"
|
||||
|
@ -92,7 +109,6 @@ stdenv.mkDerivation rec {
|
|||
-gui
|
||||
-widgets
|
||||
-opengl desktop
|
||||
-javascript-jit
|
||||
-qml-debug
|
||||
-nis
|
||||
-iconv
|
||||
|
@ -160,7 +176,7 @@ stdenv.mkDerivation rec {
|
|||
homepage = http://qt-project.org;
|
||||
description = "A cross-platform application framework for C++";
|
||||
license = "GPL/LGPL";
|
||||
maintainers = [ maintainers.bbenoist ];
|
||||
maintainers = with maintainers; [ bbenoist qknight ttuegel ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,36 +0,0 @@
|
|||
diff -ruN qt-everywhere-opensource-src-5.1.1-orig/qtwebkit/Source/WebCore/plugins/qt/PluginPackageQt.cpp qt-everywhere-opensource-src-5.1.1/qtwebkit/Source/WebCore/plugins/qt/PluginPackageQt.cpp
|
||||
--- qt-everywhere-opensource-src-5.1.1-orig/qtwebkit/Source/WebCore/plugins/qt/PluginPackageQt.cpp 2013-08-25 20:04:47.000000000 +0200
|
||||
+++ qt-everywhere-opensource-src-5.1.1/qtwebkit/Source/WebCore/plugins/qt/PluginPackageQt.cpp 2013-09-25 17:59:45.925363807 +0200
|
||||
@@ -132,7 +132,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
- QLibrary library(QLatin1String("libgtk-x11-2.0"), 0);
|
||||
+ QLibrary library(QLatin1String("@gtk@/lib/libgtk-x11-2.0"), 0);
|
||||
if (library.load()) {
|
||||
typedef void *(*gtk_init_check_ptr)(int*, char***);
|
||||
gtk_init_check_ptr gtkInitCheck = (gtk_init_check_ptr)library.resolve("gtk_init_check");
|
||||
diff -ruN qt-everywhere-opensource-src-5.1.1-orig/qtwebkit/Source/WebCore/plugins/qt/PluginViewQt.cpp qt-everywhere-opensource-src-5.1.1/qtwebkit/Source/WebCore/plugins/qt/PluginViewQt.cpp
|
||||
--- qt-everywhere-opensource-src-5.1.1-orig/qtwebkit/Source/WebCore/plugins/qt/PluginViewQt.cpp 2013-08-25 20:04:47.000000000 +0200
|
||||
+++ qt-everywhere-opensource-src-5.1.1/qtwebkit/Source/WebCore/plugins/qt/PluginViewQt.cpp 2013-09-25 18:00:29.551215155 +0200
|
||||
@@ -702,7 +702,7 @@
|
||||
// support gdk based plugins (like flash) that use a different X connection.
|
||||
// The code below has the same effect as this one:
|
||||
// Display *gdkDisplay = gdk_x11_display_get_xdisplay(gdk_display_get_default());
|
||||
- QLibrary library(QLatin1String("libgdk-x11-2.0"), 0);
|
||||
+ QLibrary library(QLatin1String("@gdk_pixbuf@/lib/libgdk-x11-2.0"), 0);
|
||||
if (!library.load())
|
||||
return 0;
|
||||
|
||||
diff -ruN qt-everywhere-opensource-src-5.1.1-orig/qtwebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp qt-everywhere-opensource-src-5.1.1/qtwebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp
|
||||
--- qt-everywhere-opensource-src-5.1.1-orig/qtwebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp 2013-08-25 20:04:42.000000000 +0200
|
||||
+++ qt-everywhere-opensource-src-5.1.1/qtwebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp 2013-09-25 18:04:54.955408293 +0200
|
||||
@@ -64,7 +64,7 @@
|
||||
// The code below has the same effect as this one:
|
||||
// Display *gdkDisplay = gdk_x11_display_get_xdisplay(gdk_display_get_default());
|
||||
|
||||
- QLibrary library(QLatin1String("libgdk-x11-2.0"), 0);
|
||||
+ QLibrary library(QLatin1String("@gdk_pixbuf@/libgdk-x11-2.0"), 0);
|
||||
if (!library.load())
|
||||
return 0;
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
diff -ruN qt-everywhere-opensource-src-5.1.1-orig/qtscript/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h qt-everywhere-opensource-src-5.1.1/qtscript/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h
|
||||
--- qt-everywhere-opensource-src-5.1.1-orig/qtscript/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h 2013-08-25 20:04:35.000000000 +0200
|
||||
+++ qt-everywhere-opensource-src-5.1.1/qtscript/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h 2013-09-25 18:09:22.154639482 +0200
|
||||
@@ -81,7 +81,7 @@
|
||||
#include <pthread.h>
|
||||
#elif PLATFORM(GTK)
|
||||
#include <wtf/gtk/GOwnPtr.h>
|
||||
-typedef struct _GMutex GMutex;
|
||||
+typedef union _GMutex GMutex;
|
||||
typedef struct _GCond GCond;
|
||||
#endif
|
||||
|
|
@ -1,36 +0,0 @@
|
|||
diff -ruN qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/network/kernel/qhostinfo_unix.cpp qt-everywhere-opensource-src-5.1.1/qtbase/src/network/kernel/qhostinfo_unix.cpp
|
||||
--- qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/network/kernel/qhostinfo_unix.cpp 2013-08-25 20:03:35.000000000 +0200
|
||||
+++ qt-everywhere-opensource-src-5.1.1/qtbase/src/network/kernel/qhostinfo_unix.cpp 2013-09-25 17:43:14.047015411 +0200
|
||||
@@ -103,7 +103,7 @@
|
||||
if (!lib.load())
|
||||
#endif
|
||||
{
|
||||
- lib.setFileName(QLatin1String("resolv"));
|
||||
+ lib.setFileName(QLatin1String("@glibc@/lib/libresolv"));
|
||||
if (!lib.load())
|
||||
return;
|
||||
}
|
||||
diff -ruN qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp qt-everywhere-opensource-src-5.1.1/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp
|
||||
--- qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp 2013-08-25 20:03:35.000000000 +0200
|
||||
+++ qt-everywhere-opensource-src-5.1.1/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp 2013-09-25 17:51:29.834674976 +0200
|
||||
@@ -379,7 +379,7 @@
|
||||
{
|
||||
extern const QString qt_gl_library_name();
|
||||
// QLibrary lib(qt_gl_library_name());
|
||||
- QLibrary lib(QLatin1String("GL"));
|
||||
+ QLibrary lib(QLatin1String("@openglDriver@/lib/libGL"));
|
||||
glXGetProcAddressARB = (qt_glXGetProcAddressARB) lib.resolve("glXGetProcAddressARB");
|
||||
}
|
||||
}
|
||||
diff -ruN qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/printsupport/kernel/qcups.cpp qt-everywhere-opensource-src-5.1.1/qtbase/src/printsupport/kernel/qcups.cpp
|
||||
--- qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/printsupport/kernel/qcups.cpp 2013-08-25 20:03:36.000000000 +0200
|
||||
+++ qt-everywhere-opensource-src-5.1.1/qtbase/src/printsupport/kernel/qcups.cpp 2013-09-25 17:40:35.895942599 +0200
|
||||
@@ -91,7 +91,7 @@
|
||||
|
||||
static void resolveCups()
|
||||
{
|
||||
- QLibrary cupsLib(QLatin1String("cups"), 2);
|
||||
+ QLibrary cupsLib(QLatin1String("@cups@/lib/libcups"), 2);
|
||||
if(cupsLib.load()) {
|
||||
_cupsGetDests = (CupsGetDests) cupsLib.resolve("cupsGetDests");
|
||||
_cupsFreeDests = (CupsFreeDests) cupsLib.resolve("cupsFreeDests");
|
|
@ -1,24 +0,0 @@
|
|||
diff -ruN qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/network/kernel/qhostinfo_unix.cpp qt-everywhere-opensource-src-5.1.1/qtbase/src/network/kernel/qhostinfo_unix.cpp
|
||||
--- qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/network/kernel/qhostinfo_unix.cpp 2013-08-25 20:03:35.000000000 +0200
|
||||
+++ qt-everywhere-opensource-src-5.1.1/qtbase/src/network/kernel/qhostinfo_unix.cpp 2013-09-25 17:43:14.047015411 +0200
|
||||
@@ -103,7 +103,7 @@
|
||||
if (!lib.load())
|
||||
#endif
|
||||
{
|
||||
- lib.setFileName(QLatin1String("resolv"));
|
||||
+ lib.setFileName(QLatin1String("@glibc@/lib/libresolv"));
|
||||
if (!lib.load())
|
||||
return;
|
||||
}
|
||||
diff -ruN qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp qt-everywhere-opensource-src-5.1.1/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp
|
||||
--- qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp 2013-08-25 20:03:35.000000000 +0200
|
||||
+++ qt-everywhere-opensource-src-5.1.1/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp 2013-09-25 17:51:29.834674976 +0200
|
||||
@@ -379,7 +379,7 @@
|
||||
{
|
||||
extern const QString qt_gl_library_name();
|
||||
// QLibrary lib(qt_gl_library_name());
|
||||
- QLibrary lib(QLatin1String("GL"));
|
||||
+ QLibrary lib(QLatin1String("@openglDriver@/lib/libGL"));
|
||||
glXGetProcAddressARB = (qt_glXGetProcAddressARB) lib.resolve("glXGetProcAddressARB");
|
||||
}
|
||||
}
|
|
@ -1,165 +0,0 @@
|
|||
{ stdenv, fetchurl, substituteAll, libXrender, libXext
|
||||
, libXfixes, freetype, fontconfig, zlib, libjpeg, libpng
|
||||
, mesaSupported, mesa, mesa_glu, openssl, dbus, cups, pkgconfig
|
||||
, libtiff, glib, icu, mysql, postgresql, sqlite, perl, coreutils, libXi
|
||||
, gdk_pixbuf, python, gdb, xlibs, libX11, libxcb, xcbutil, xcbutilimage
|
||||
, xcbutilkeysyms, xcbutilwm,udev, libxml2, libxslt, pcre, libxkbcommon
|
||||
, alsaLib, gstreamer, gst_plugins_base
|
||||
, pulseaudio, bison, flex, gperf, ruby, libwebp
|
||||
, flashplayerFix ? false
|
||||
, gtkStyle ? false, libgnomeui, gtk, GConf, gnome_vfs
|
||||
, buildDocs ? false
|
||||
, buildExamples ? false
|
||||
, buildTests ? false
|
||||
, developerBuild ? false
|
||||
}:
|
||||
|
||||
with stdenv.lib;
|
||||
|
||||
let
|
||||
v_maj = "5.3";
|
||||
v_min = "1";
|
||||
ver = "${v_maj}.${v_min}";
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "qt-${ver}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://download.qt-project.org/official_releases/qt/"
|
||||
+ "${v_maj}/${ver}/single/qt-everywhere-opensource-src-${ver}.tar.gz";
|
||||
sha256 = "189mgfqxjg0jp0vkfrj55p9brl018wzf7lir8yjr0pajp8jqd2ds";
|
||||
};
|
||||
|
||||
# The version property must be kept because it will be included into the QtSDK package name
|
||||
version = ver;
|
||||
|
||||
prePatch = ''
|
||||
substituteInPlace configure --replace /bin/pwd pwd
|
||||
substituteInPlace qtbase/configure --replace /bin/pwd pwd
|
||||
substituteInPlace qtbase/src/corelib/global/global.pri --replace /bin/ls ${coreutils}/bin/ls
|
||||
substituteInPlace qtbase/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp \
|
||||
--replace /usr/share/X11/locale ${libX11}/share/X11/locale \
|
||||
--replace /usr/lib/X11/locale ${libX11}/share/X11/locale
|
||||
sed -e 's@/\(usr\|opt\)/@/var/empty/@g' -i config.tests/*/*.test -i qtbase/mkspecs/*/*.conf
|
||||
'';
|
||||
|
||||
patches =
|
||||
[ ./glib-2.32.patch
|
||||
(substituteAll {
|
||||
src = ./qt-5.3-dlopen-absolute-paths.patch;
|
||||
inherit cups icu libXfixes;
|
||||
glibc = stdenv.gcc.libc;
|
||||
openglDriver = if mesaSupported then mesa.driverLink else "/no-such-path";
|
||||
})
|
||||
] ++ optional gtkStyle (substituteAll {
|
||||
src = ./dlopen-gtkstyle.patch;
|
||||
# substituteAll ignores env vars starting with capital letter
|
||||
gconf = GConf;
|
||||
inherit gnome_vfs libgnomeui gtk;
|
||||
})
|
||||
++ optional flashplayerFix (substituteAll {
|
||||
src = ./dlopen-webkit-nsplugin.patch;
|
||||
inherit gtk gdk_pixbuf;
|
||||
});
|
||||
|
||||
preConfigure = ''
|
||||
export LD_LIBRARY_PATH="$PWD/qtbase/lib:$PWD/qtbase/plugins/platforms:$PWD/qttools/lib:$LD_LIBRARY_PATH"
|
||||
export MAKEFLAGS=-j$NIX_BUILD_CORES
|
||||
'';
|
||||
|
||||
prefixKey = "-prefix ";
|
||||
|
||||
# -no-eglfs, -no-directfb, -no-linuxfb and -no-kms because of the current minimalist mesa
|
||||
# TODO Remove obsolete and useless flags once the build will be totally mastered
|
||||
configureFlags = ''
|
||||
-verbose
|
||||
-confirm-license
|
||||
-opensource
|
||||
|
||||
-release
|
||||
-shared
|
||||
-c++11
|
||||
${optionalString developerBuild "-developer-build"}
|
||||
-largefile
|
||||
-accessibility
|
||||
-rpath
|
||||
-optimized-qmake
|
||||
-strip
|
||||
-reduce-relocations
|
||||
-system-proxies
|
||||
|
||||
-gui
|
||||
-widgets
|
||||
-opengl desktop
|
||||
-qml-debug
|
||||
-nis
|
||||
-iconv
|
||||
-icu
|
||||
-pch
|
||||
-glib
|
||||
-xcb
|
||||
-qpa xcb
|
||||
-${optionalString (cups == null) "no-"}cups
|
||||
|
||||
-no-eglfs
|
||||
-no-directfb
|
||||
-no-linuxfb
|
||||
-no-kms
|
||||
|
||||
-system-zlib
|
||||
-system-libpng
|
||||
-system-libjpeg
|
||||
-system-xcb
|
||||
-system-xkbcommon
|
||||
-openssl-linked
|
||||
-dbus-linked
|
||||
|
||||
-system-sqlite
|
||||
-${if mysql != null then "plugin" else "no"}-sql-mysql
|
||||
-${if postgresql != null then "plugin" else "no"}-sql-psql
|
||||
|
||||
-make libs
|
||||
-make tools
|
||||
-${optionalString (buildExamples == false) "no"}make examples
|
||||
-${optionalString (buildTests == false) "no"}make tests
|
||||
'';
|
||||
|
||||
propagatedBuildInputs = [
|
||||
xlibs.libXcomposite libX11 libxcb libXext libXrender libXi
|
||||
fontconfig freetype openssl dbus.libs glib udev libxml2 libxslt pcre
|
||||
zlib libjpeg libpng libtiff sqlite icu
|
||||
libwebp alsaLib gstreamer gst_plugins_base pulseaudio
|
||||
xcbutil xcbutilimage xcbutilkeysyms xcbutilwm libxkbcommon
|
||||
]
|
||||
# Qt doesn't directly need GLU (just GL), but many apps use, it's small and
|
||||
# doesn't remain a runtime-dep if not used
|
||||
++ optionals mesaSupported [ mesa mesa_glu ]
|
||||
++ optional (cups != null) cups
|
||||
++ optional (mysql != null) mysql
|
||||
++ optional (postgresql != null) postgresql;
|
||||
|
||||
buildInputs = [ gdb bison flex gperf ruby ];
|
||||
|
||||
nativeBuildInputs = [ python perl pkgconfig ];
|
||||
|
||||
postInstall =
|
||||
''
|
||||
${optionalString buildDocs ''
|
||||
make docs && make install_docs
|
||||
''}
|
||||
|
||||
# Don't retain build-time dependencies like gdb and ruby.
|
||||
sed '/QMAKE_DEFAULT_.*DIRS/ d' -i $out/mkspecs/qconfig.pri
|
||||
'';
|
||||
|
||||
enableParallelBuilding = true; # often fails on Hydra, as well as qt4
|
||||
|
||||
meta = {
|
||||
homepage = http://qt-project.org;
|
||||
description = "A cross-platform application framework for C++";
|
||||
license = "GPL/LGPL";
|
||||
maintainers = [ maintainers.bbenoist maintainers.qknight ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
|
@ -21,5 +21,6 @@ stdenv.mkDerivation rec {
|
|||
description = "An implementation of the C++ Standard Library";
|
||||
homepage = http://sourceforge.net/projects/stlport/;
|
||||
license = stdenv.lib.licenses.free; # seems BSD-like
|
||||
broken = true; # probably glibc-2.20 -related issue
|
||||
};
|
||||
}
|
||||
|
|
|
@ -12,6 +12,8 @@ stdenv.mkDerivation rec {
|
|||
|
||||
buildInputs = [ ncurses libpcap ];
|
||||
|
||||
NIX_CFLAGS_COMPILE = "-Wno-error=cpp";
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "libpcap based program for live TCP connection monitoring";
|
||||
homepage = http://www.rhythm.cx/~steve/devel/tcptrack/; # dead link
|
||||
|
|
16
pkgs/os-specific/linux/busybox/busybox-in-store.patch
Normal file
16
pkgs/os-specific/linux/busybox/busybox-in-store.patch
Normal file
|
@ -0,0 +1,16 @@
|
|||
Allow BusyBox to be invoked as "<something>-busybox". This is
|
||||
necessary when it's run from the Nix store as <hash>-busybox during
|
||||
stdenv bootstrap.
|
||||
|
||||
diff -ru -x '*~' busybox-1.22.1-orig/libbb/appletlib.c busybox-1.22.1/libbb/appletlib.c
|
||||
--- busybox-1.22.1-orig/libbb/appletlib.c 2014-01-09 19:15:44.000000000 +0100
|
||||
+++ busybox-1.22.1/libbb/appletlib.c 2014-10-29 09:53:01.232052068 +0100
|
||||
@@ -764,7 +764,7 @@
|
||||
int applet = find_applet_by_name(name);
|
||||
if (applet >= 0)
|
||||
run_applet_no_and_exit(applet, argv);
|
||||
- if (strncmp(name, "busybox", 7) == 0)
|
||||
+ if (strstr(name, "busybox") != 0)
|
||||
exit(busybox_main(argv));
|
||||
}
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
{stdenv, fetchurl, enableStatic ? false, extraConfig ? ""}:
|
||||
{ lib, stdenv, uclibc, fetchurl, enableStatic ? false, enableMinimal ? false, useUclibc ? false, extraConfig ? "" }:
|
||||
|
||||
let
|
||||
configParser = ''
|
||||
|
@ -7,14 +7,7 @@ let
|
|||
NAME=`echo "$LINE" | cut -d \ -f 1`
|
||||
OPTION=`echo "$LINE" | cut -d \ -f 2`
|
||||
|
||||
if test -z "$NAME"; then
|
||||
continue
|
||||
fi
|
||||
|
||||
if test "$NAME" == "CLEAR"; then
|
||||
echo "parseconfig: CLEAR"
|
||||
echo > .config
|
||||
fi
|
||||
if ! [[ "$NAME" =~ ^CONFIG_ ]]; then continue; fi
|
||||
|
||||
echo "parseconfig: removing $NAME"
|
||||
sed -i /$NAME'\(=\| \)'/d .config
|
||||
|
@ -25,19 +18,6 @@ let
|
|||
}
|
||||
'';
|
||||
|
||||
nixConfig = ''
|
||||
CONFIG_PREFIX "$out"
|
||||
CONFIG_INSTALL_NO_USR y
|
||||
|
||||
# Use the external mount.cifs program.
|
||||
CONFIG_FEATURE_MOUNT_CIFS n
|
||||
CONFIG_FEATURE_MOUNT_HELPERS y
|
||||
'';
|
||||
|
||||
staticConfig = stdenv.lib.optionalString enableStatic ''
|
||||
CONFIG_STATIC y
|
||||
'';
|
||||
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
|
@ -48,17 +28,34 @@ stdenv.mkDerivation rec {
|
|||
sha256 = "12v7nri79v8gns3inmz4k24q7pcnwi00hybs0wddfkcy1afh42xf";
|
||||
};
|
||||
|
||||
patches = [ ./busybox-in-store.patch ];
|
||||
|
||||
configurePhase = ''
|
||||
export KCONFIG_NOTIMESTAMP=1
|
||||
make defconfig
|
||||
make ${if enableMinimal then "allnoconfig" else "defconfig"}
|
||||
|
||||
${configParser}
|
||||
|
||||
cat << EOF | parseconfig
|
||||
${staticConfig}
|
||||
${nixConfig}
|
||||
|
||||
CONFIG_PREFIX "$out"
|
||||
CONFIG_INSTALL_NO_USR y
|
||||
|
||||
${lib.optionalString enableStatic ''
|
||||
CONFIG_STATIC y
|
||||
''}
|
||||
|
||||
# Use the external mount.cifs program.
|
||||
CONFIG_FEATURE_MOUNT_CIFS n
|
||||
CONFIG_FEATURE_MOUNT_HELPERS y
|
||||
|
||||
${extraConfig}
|
||||
$extraCrossConfig
|
||||
EOF
|
||||
|
||||
make oldconfig
|
||||
'' + lib.optionalString useUclibc ''
|
||||
makeFlagsArray+=("CC=gcc -isystem ${uclibc}/include -B${uclibc}/lib -L${uclibc}/lib")
|
||||
'';
|
||||
|
||||
crossAttrs = {
|
||||
|
@ -75,8 +72,8 @@ stdenv.mkDerivation rec {
|
|||
meta = {
|
||||
description = "Tiny versions of common UNIX utilities in a single small executable";
|
||||
homepage = http://busybox.net/;
|
||||
license = stdenv.lib.licenses.gpl2;
|
||||
maintainers = with stdenv.lib.maintainers; [viric];
|
||||
platforms = with stdenv.lib.platforms; linux;
|
||||
license = lib.licenses.gpl2;
|
||||
maintainers = [ lib.maintainers.viric ];
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,12 +0,0 @@
|
|||
diff --git a/include/libbb.h b/include/libbb.h
|
||||
index f12800f..e7806c2 100644
|
||||
--- a/include/libbb.h
|
||||
+++ b/include/libbb.h
|
||||
@@ -40,6 +40,7 @@
|
||||
#include <sys/poll.h>
|
||||
#include <sys/ioctl.h>
|
||||
#include <sys/mman.h>
|
||||
+#include <sys/resource.h>
|
||||
#include <sys/socket.h>
|
||||
#include <sys/stat.h>
|
||||
#include <sys/time.h>
|
|
@ -18,6 +18,8 @@ stdenv.mkDerivation {
|
|||
|
||||
buildPhase = "make -f makefile";
|
||||
|
||||
NIX_CFLAGS_COMPILE = "-Wno-error=cpp";
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p "$out/bin"
|
||||
cp ./disk_indicator "$out/bin/"
|
||||
|
|
|
@ -11,20 +11,10 @@ stdenv.mkDerivation {
|
|||
sha256 = "8dd3de546aeb1ae42fb05409aeb724a145fe9aa1dbe1115441c2297c9d48cf31";
|
||||
};
|
||||
|
||||
configureFlags =
|
||||
if stdenv ? isDietLibC
|
||||
then ""
|
||||
else "--enable-dynamic-e2fsck --enable-elf-shlibs";
|
||||
configureFlags ="--enable-dynamic-e2fsck --enable-elf-shlibs";
|
||||
buildInputs = [gettext];
|
||||
preInstall = "installFlagsArray=('LN=ln -s')";
|
||||
postInstall = "make install-libs";
|
||||
|
||||
NIX_CFLAGS_COMPILE =
|
||||
if stdenv ? isDietLibC then
|
||||
"-UHAVE_SYS_PRCTL_H " +
|
||||
(if stdenv.system == "x86_64-linux" then "-DHAVE_LSEEK64_PROTOTYPE=1 -Dstat64=stat" else "")
|
||||
else "";
|
||||
}
|
||||
|
||||
|
||||
#note that ext3cow requires the ext3cow kernel patch !!!!
|
||||
|
|
|
@ -4,7 +4,7 @@ assert cross == null -> stdenv.isLinux;
|
|||
|
||||
let
|
||||
|
||||
version = "3.12.6";
|
||||
version = "3.12.32";
|
||||
|
||||
kernelHeadersBaseConfig =
|
||||
if cross == null
|
||||
|
@ -17,8 +17,8 @@ stdenv.mkDerivation {
|
|||
name = "linux-headers-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.bz2";
|
||||
sha256 = "1qh6f1az0flfrbkdjx1i9r7yf31ad0gxigax91nd33z2jmd6h4df";
|
||||
url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
|
||||
sha256 = "1hzws2bf267hfk81ywqcxspkyi1lg56x63izdc0pv1338xcfas53";
|
||||
};
|
||||
|
||||
targetConfig = if cross != null then cross.config else null;
|
|
@ -25,6 +25,8 @@ stdenv.mkDerivation {
|
|||
buildInputs = [ elfutils python perl newt slang pkgconfig] ++
|
||||
stdenv.lib.optional withGtk gtk;
|
||||
|
||||
NIX_CFLAGS_COMPILE = "-Wno-error=cpp";
|
||||
|
||||
installFlags = "install install-man ASCIIDOC8=1";
|
||||
|
||||
inherit elfutils;
|
||||
|
|
|
@ -26,10 +26,6 @@ stdenv.mkDerivation {
|
|||
|
||||
postInstall = "rm $out/sbin/insmod.static"; # don't need it
|
||||
|
||||
# We don't want bash (and therefore glibc) in the closure of the
|
||||
# output, since we want to put this in a initrd.
|
||||
dontPatchShebangs = stdenv ? isDietLibC;
|
||||
|
||||
meta = {
|
||||
homepage = http://www.kernel.org/pub/linux/utils/kernel/module-init-tools/;
|
||||
description = "Tools for loading and managing Linux kernel modules";
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue