Merge branch 'staging', discussion #8844

This commit is contained in:
Vladimír Čunát 2015-07-19 08:06:14 +02:00
commit 9a80550cc4
272 changed files with 4785 additions and 1517 deletions

View File

@ -48,7 +48,7 @@ in
config = mkIf config.krb5.enable { config = mkIf config.krb5.enable {
environment.systemPackages = [ pkgs.krb5 ]; environment.systemPackages = [ pkgs.krb5Full ];
environment.etc."krb5.conf".text = environment.etc."krb5.conf".text =
'' ''

View File

@ -166,7 +166,7 @@ in
script = "exec venus-planet ${configFile}"; script = "exec venus-planet ${configFile}";
serviceConfig.User = "${cfg.user}"; serviceConfig.User = "${cfg.user}";
serviceConfig.Group = "${cfg.group}"; serviceConfig.Group = "${cfg.group}";
environment.OPENSSL_X509_CERT_FILE = "/etc/ssl/certs/ca-bundle.crt"; environment.SSL_CERT_FILE = "/etc/ssl/certs/ca-bundle.crt";
startAt = cfg.dates; startAt = cfg.dates;
}; };

View File

@ -66,8 +66,6 @@ in
environment.sessionVariables = environment.sessionVariables =
{ SSL_CERT_FILE = "/etc/ssl/certs/ca-certificates.crt"; { SSL_CERT_FILE = "/etc/ssl/certs/ca-certificates.crt";
# FIXME: unneeded - remove eventually.
OPENSSL_X509_CERT_FILE = "/etc/ssl/certs/ca-certificates.crt";
# FIXME: unneeded - remove eventually. # FIXME: unneeded - remove eventually.
GIT_SSL_CAINFO = "/etc/ssl/certs/ca-certificates.crt"; GIT_SSL_CAINFO = "/etc/ssl/certs/ca-certificates.crt";
}; };

View File

@ -28,7 +28,10 @@ let
# Perform substitutions in all udev rules files. # Perform substitutions in all udev rules files.
udevRules = stdenv.mkDerivation { udevRules = stdenv.mkDerivation {
name = "udev-rules"; name = "udev-rules";
preferLocalBuild = true; preferLocalBuild = true;
allowSubstitutes = false;
buildCommand = '' buildCommand = ''
mkdir -p $out mkdir -p $out
shopt -s nullglob shopt -s nullglob

View File

@ -12,7 +12,10 @@ let
configDir = pkgs.stdenv.mkDerivation { configDir = pkgs.stdenv.mkDerivation {
name = "dbus-conf"; name = "dbus-conf";
preferLocalBuild = true; preferLocalBuild = true;
allowSubstitutes = false;
buildCommand = '' buildCommand = ''
mkdir -p $out mkdir -p $out

View File

@ -33,7 +33,7 @@ let
makeWrapper ${pkgs.lightdm_gtk_greeter}/sbin/lightdm-gtk-greeter \ makeWrapper ${pkgs.lightdm_gtk_greeter}/sbin/lightdm-gtk-greeter \
$out/greeter \ $out/greeter \
--prefix PATH : "${pkgs.glibc}/bin" \ --prefix PATH : "${pkgs.glibc}/bin" \
--set GDK_PIXBUF_MODULE_FILE "$(find ${theme} -name loaders.cache)" \ --set GDK_PIXBUF_MODULE_FILE "${pkgs.gdk_pixbuf}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache" \
--set GTK_PATH "${theme}:${pkgs.gtk3}" \ --set GTK_PATH "${theme}:${pkgs.gtk3}" \
--set GTK_EXE_PREFIX "${theme}" \ --set GTK_EXE_PREFIX "${theme}" \
--set GTK_DATA_PREFIX "${theme}" \ --set GTK_DATA_PREFIX "${theme}" \

View File

@ -101,6 +101,7 @@ let
if [] == failed then pkgs.stdenv.mkDerivation { if [] == failed then pkgs.stdenv.mkDerivation {
name = "nixos-${config.system.nixosVersion}"; name = "nixos-${config.system.nixosVersion}";
preferLocalBuild = true; preferLocalBuild = true;
allowSubstitutes = false;
buildCommand = systemBuilder; buildCommand = systemBuilder;
inherit (pkgs) utillinux coreutils; inherit (pkgs) utillinux coreutils;

View File

@ -13,13 +13,20 @@ rec {
pathSafeName = lib.replaceChars ["@" ":" "\\"] ["-" "-" "-"] name; pathSafeName = lib.replaceChars ["@" ":" "\\"] ["-" "-" "-"] name;
in in
if unit.enable then if unit.enable then
pkgs.runCommand "unit-${pathSafeName}" { preferLocalBuild = true; inherit (unit) text; } pkgs.runCommand "unit-${pathSafeName}"
{ preferLocalBuild = true;
allowSubstitutes = false;
inherit (unit) text;
}
'' ''
mkdir -p $out mkdir -p $out
echo -n "$text" > $out/${shellEscape name} echo -n "$text" > $out/${shellEscape name}
'' ''
else else
pkgs.runCommand "unit-${pathSafeName}-disabled" { preferLocalBuild = true; } pkgs.runCommand "unit-${pathSafeName}-disabled"
{ preferLocalBuild = true;
allowSubstitutes = false;
}
'' ''
mkdir -p $out mkdir -p $out
ln -s /dev/null $out/${shellEscape name} ln -s /dev/null $out/${shellEscape name}
@ -89,7 +96,10 @@ rec {
as)); as));
generateUnits = type: units: upstreamUnits: upstreamWants: generateUnits = type: units: upstreamUnits: upstreamWants:
pkgs.runCommand "${type}-units" { preferLocalBuild = true; } '' pkgs.runCommand "${type}-units"
{ preferLocalBuild = true;
allowSubstitutes = false;
} ''
mkdir -p $out mkdir -p $out
# Copy the upstream systemd units we're interested in. # Copy the upstream systemd units we're interested in.

View File

@ -14,6 +14,7 @@ let
builder = ./make-etc.sh; builder = ./make-etc.sh;
preferLocalBuild = true; preferLocalBuild = true;
allowSubstitutes = false;
/* !!! Use toXML. */ /* !!! Use toXML. */
sources = map (x: x.source) etc'; sources = map (x: x.source) etc';

View File

@ -11,7 +11,8 @@ stdenv.mkDerivation rec {
substituteInPlace Makefile \ substituteInPlace Makefile \
--replace "/usr/local" "$out" \ --replace "/usr/local" "$out" \
--replace "CFLAGS = " "CFLAGS = -I${ncurses}/include " \ --replace "CFLAGS = " "CFLAGS = -I${ncurses}/include " \
--replace "LDFLAGS = " "LDFLAGS = -L${ncurses}/lib " --replace "LDFLAGS = " "LDFLAGS = -L${ncurses}/lib " \
--replace "-lcurses" "-lncurses"
''; '';
preBuild = '' preBuild = ''
mkdir -p $out/bin mkdir -p $out/bin

View File

@ -3,8 +3,8 @@
let let
version = "5.2.0"; version = "5.2.0";
bsh = fetchurl { bsh = fetchurl {
url = http://www.beanshell.org/bsh-2.0b4.jar; url = http://www.beanshell.org/bsh-2.0b5.jar;
sha256 = "1di7hj2yms1m3wa8k70jpw0wzfnrgibpqnvdk33ahfaqi03mqfci"; sha256 = "0p2sxrpzd0vsk11zf3kb5h12yl1nq4yypb5mpjrm8ww0cfaijck2";
}; };
bcpg = fetchurl { bcpg = fetchurl {
url = http://central.maven.org/maven2/org/bouncycastle/bcpg-jdk16/1.46/bcpg-jdk16-1.46.jar; url = http://central.maven.org/maven2/org/bouncycastle/bcpg-jdk16/1.46/bcpg-jdk16-1.46.jar;

View File

@ -1,4 +1,7 @@
{ stdenv, fetchhg, ncurses, gettext, pkgconfig }: { stdenv, fetchhg, ncurses, gettext, pkgconfig
# apple frameworks
, CoreServices, CoreData, Cocoa, Foundation, libobjc }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "vim-${version}"; name = "vim-${version}";
@ -11,9 +14,16 @@ stdenv.mkDerivation rec {
sha256 = "1z0qarf6a2smab28g9dnxklhfayn85wx48bnddmyhb9kqzjgqgjc"; sha256 = "1z0qarf6a2smab28g9dnxklhfayn85wx48bnddmyhb9kqzjgqgjc";
}; };
# this makes maintainers very sad
# open source CF doesn't have anything NSArray-related, causing linking errors. the
# missing symbol is in system CoreFoundation.
NIX_LDFLAGS = stdenv.lib.optional stdenv.isDarwin
"/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation";
enableParallelBuilding = true; enableParallelBuilding = true;
buildInputs = [ ncurses pkgconfig ]; buildInputs = [ ncurses pkgconfig ]
++ stdenv.lib.optionals stdenv.isDarwin [ CoreData CoreServices Cocoa Foundation libobjc ];
nativeBuildInputs = [ gettext ]; nativeBuildInputs = [ gettext ];
configureFlags = [ configureFlags = [

View File

@ -5,8 +5,7 @@ makeFlags="XAWLIB=-lXaw3d BINDIR=$out/bin XAPPLOADDIR=$out/etc/X11/app-defaults
# We need chmod +wx on dirs, not just chmod +w # We need chmod +wx on dirs, not just chmod +w
dontMakeSourcesWritable=1 dontMakeSourcesWritable=1
postUnpack() { postUnpack() {
find . -type d | xargs -n1 chmod +x find . -type d -exec chmod +x '{}' \;
find . -type d | xargs -n1 chmod +x
} }
preBuild() { preBuild() {

View File

@ -23,7 +23,7 @@ stdenv.mkDerivation {
buildPhase = "sh ./compile.sh"; buildPhase = "sh ./compile.sh";
dontStrip = true; dontStrip = true;
installPhase = "mkdir $out/bin/ && cp 3dfsb $out/bin/"; installPhase = "mkdir -p $out/bin/ && cp 3dfsb $out/bin/";
preFixup = '' preFixup = ''
wrapProgram $out/bin/3dfsb \ wrapProgram $out/bin/3dfsb \

View File

@ -1,5 +1,5 @@
{ stdenv, fetchurl, python, pyqt5, sip_4_16, poppler_utils, pkgconfig, libpng { stdenv, fetchurl, python, pyqt5, sip_4_16, poppler_utils, pkgconfig, libpng
, imagemagick, libjpeg, fontconfig, podofo, qt53, icu, sqlite , imagemagick, libjpeg, fontconfig, podofo, qt5, icu, sqlite
, pil, makeWrapper, unrar, chmlib, pythonPackages, xz, libusb1, libmtp , pil, makeWrapper, unrar, chmlib, pythonPackages, xz, libusb1, libmtp
, xdg_utils , xdg_utils
}: }:
@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
buildInputs = buildInputs =
[ python pyqt5 sip_4_16 poppler_utils libpng imagemagick libjpeg [ python pyqt5 sip_4_16 poppler_utils libpng imagemagick libjpeg
fontconfig podofo qt53 pil chmlib icu sqlite libusb1 libmtp xdg_utils fontconfig podofo qt5.base pil chmlib icu sqlite libusb1 libmtp xdg_utils
pythonPackages.mechanize pythonPackages.lxml pythonPackages.dateutil pythonPackages.mechanize pythonPackages.lxml pythonPackages.dateutil
pythonPackages.cssutils pythonPackages.beautifulsoup pythonPackages.pillow pythonPackages.cssutils pythonPackages.beautifulsoup pythonPackages.pillow
pythonPackages.sqlite3 pythonPackages.netifaces pythonPackages.apsw pythonPackages.sqlite3 pythonPackages.netifaces pythonPackages.apsw

View File

@ -17,11 +17,11 @@ stdenv.mkDerivation {
substituteInPlace src/redshift-gtk/redshift-gtk python \ substituteInPlace src/redshift-gtk/redshift-gtk python \
--replace "/usr/bin/env python3" "${python}/bin/${python.executable}" --replace "/usr/bin/env python3" "${python}/bin/${python.executable}"
''; '';
/*
postInstall = '' postInstall = ''
wrapProgram "$out/bin/redshift-gtk" --prefix PYTHONPATH : $PYTHONPATH wrapProgram "$out/bin/redshift-gtk" --prefix PYTHONPATH : $PYTHONPATH
''; '';
*/
meta = with stdenv.lib; { meta = with stdenv.lib; {
inherit version; inherit version;
description = "Gradually change screen color temperature"; description = "Gradually change screen color temperature";

View File

@ -1,23 +0,0 @@
# This program used to come with xorg releases, but now I could only find it
# at http://www.x.org/releases/individual/.
# That is why this expression is not inside pkgs.xorg
{stdenv, fetchurl, libX11, pkgconfig}:
stdenv.mkDerivation rec {
name = "xlsfonts-1.0.4";
src = fetchurl {
url = "mirror://xorg/individual/app/${name}.tar.bz2";
sha256 = "1lhcx600z9v65nk93xaxfzi79bm4naynabb52gz1vy1bxj2r25r8";
};
buildInputs = [libX11 pkgconfig];
meta = {
homepage = http://www.x.org/;
description = "Lists the fonts available in the X server";
license = stdenv.lib.licenses.free;
maintainers = with stdenv.lib.maintainers; [viric];
platforms = with stdenv.lib.platforms; linux ++ darwin;
};
}

View File

@ -62,7 +62,6 @@ stdenv.mkDerivation rec {
--prefix "PATH" : "$out/share/panamax-api/bin:${env.ruby}/bin:$PATH" \ --prefix "PATH" : "$out/share/panamax-api/bin:${env.ruby}/bin:$PATH" \
--prefix "HOME" : "$out/share/panamax-api" \ --prefix "HOME" : "$out/share/panamax-api" \
--prefix "GEM_HOME" : "${env}/${env.ruby.gemPath}" \ --prefix "GEM_HOME" : "${env}/${env.ruby.gemPath}" \
--prefix "OPENSSL_X509_CERT_FILE" : "${cacert}/etc/ssl/certs/ca-bundle.crt" \
--prefix "SSL_CERT_FILE" : "${cacert}/etc/ssl/certs/ca-bundle.crt" \ --prefix "SSL_CERT_FILE" : "${cacert}/etc/ssl/certs/ca-bundle.crt" \
--prefix "GEM_PATH" : "$out/share/panamax-api:${bundler}/${env.ruby.gemPath}" --prefix "GEM_PATH" : "$out/share/panamax-api:${bundler}/${env.ruby.gemPath}"
''; '';

View File

@ -43,7 +43,7 @@ in mkTkabber (main // {
postPatch = '' postPatch = ''
substituteInPlace login.tcl --replace \ substituteInPlace login.tcl --replace \
"custom::defvar loginconf(sslcacertstore) \"\"" \ "custom::defvar loginconf(sslcacertstore) \"\"" \
"custom::defvar loginconf(sslcacertstore) \$env(OPENSSL_X509_CERT_FILE)" "custom::defvar loginconf(sslcacertstore) \$env(SSL_CERT_FILE)"
'' + optionalString (theme != null) '' '' + optionalString (theme != null) ''
themePath="$out/share/doc/tkabber/examples/xrdb/${theme}.xrdb" themePath="$out/share/doc/tkabber/examples/xrdb/${theme}.xrdb"
sed -i '/^if.*load_default_xrdb/,/^}$/ { sed -i '/^if.*load_default_xrdb/,/^}$/ {

View File

@ -1,6 +1,6 @@
{ stdenv, fetchurl, ncurses, openssl, perl, python, aspell, gnutls { stdenv, fetchurl, ncurses, openssl, perl, python, aspell, gnutls
, zlib, curl , pkgconfig, libgcrypt, ruby, lua5, tcl, guile , zlib, curl , pkgconfig, libgcrypt, ruby, lua5, tcl, guile
, pythonPackages, cacert, cmake, makeWrapper , pythonPackages, cacert, cmake, makeWrapper, libobjc
, extraBuildInputs ? [] }: , extraBuildInputs ? [] }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -16,6 +16,7 @@ stdenv.mkDerivation rec {
[ ncurses perl python openssl aspell gnutls zlib curl pkgconfig [ ncurses perl python openssl aspell gnutls zlib curl pkgconfig
libgcrypt ruby lua5 tcl guile pythonPackages.pycrypto makeWrapper libgcrypt ruby lua5 tcl guile pythonPackages.pycrypto makeWrapper
cacert cmake ] cacert cmake ]
++ stdenv.lib.optionals stdenv.isDarwin [ pythonPackages.pync libobjc ]
++ extraBuildInputs; ++ extraBuildInputs;
NIX_CFLAGS_COMPILE = "-I${python}/include/${python.libPrefix} -DCA_FILE=${cacert}/etc/ssl/certs/ca-bundle.crt"; NIX_CFLAGS_COMPILE = "-I${python}/include/${python.libPrefix} -DCA_FILE=${cacert}/etc/ssl/certs/ca-bundle.crt";

View File

@ -28,8 +28,6 @@ stdenv.mkDerivation rec {
]; ];
preFixup = '' preFixup = ''
rm $out/share/icons/hicolor/icon-theme.cache
for f in "$out"/bin/*; do for f in "$out"/bin/*; do
wrapProgram "$f" \ wrapProgram "$f" \
--prefix PYTHONPATH : "$(toPythonPath $out):$(toPythonPath ${pygobject3})" \ --prefix PYTHONPATH : "$(toPythonPath $out):$(toPythonPath ${pygobject3})" \

View File

@ -5,7 +5,7 @@ diff -ru -x '*~' git-1.9.2-orig/git-send-email.perl git-1.9.2/git-send-email.per
return; return;
} }
+ $smtp_ssl_cert_path //= $ENV{'OPENSSL_X509_CERT_FILE'}; + $smtp_ssl_cert_path //= $ENV{'SSL_CERT_FILE'};
+ +
if (!defined $smtp_ssl_cert_path) { if (!defined $smtp_ssl_cert_path) {
# use the OpenSSL defaults # use the OpenSSL defaults

View File

@ -1,5 +1,7 @@
{ stdenv, fetchurl, python, makeWrapper, docutils, unzip, hg-git, dulwich { stdenv, fetchurl, python, makeWrapper, docutils, unzip, hg-git, dulwich
, guiSupport ? false, tk ? null, curses, cacert }: , guiSupport ? false, tk ? null, curses, cacert
, ApplicationServices }:
let let
version = "3.3.3"; version = "3.3.3";
@ -19,6 +21,8 @@ stdenv.mkDerivation {
buildInputs = [ python makeWrapper docutils unzip ]; buildInputs = [ python makeWrapper docutils unzip ];
propagatedBuildInputs = stdenv.lib.optional stdenv.isDarwin ApplicationServices;
makeFlags = "PREFIX=$(out)"; makeFlags = "PREFIX=$(out)";
postInstall = (stdenv.lib.optionalString guiSupport postInstall = (stdenv.lib.optionalString guiSupport

View File

@ -37,7 +37,7 @@ stdenv.mkDerivation (rec {
${if httpServer then "--with-apxs=${apacheHttpd}/bin/apxs" else "--without-apxs"} ${if httpServer then "--with-apxs=${apacheHttpd}/bin/apxs" else "--without-apxs"}
${if pythonBindings || perlBindings then "--with-swig=${swig}" else "--without-swig"} ${if pythonBindings || perlBindings then "--with-swig=${swig}" else "--without-swig"}
${if javahlBindings then "--enable-javahl --with-jdk=${jdk}" else ""} ${if javahlBindings then "--enable-javahl --with-jdk=${jdk}" else ""}
${if stdenv.isDarwin then "--enable-keychain" else "--disable-keychain"} --disable-keychain
${if saslSupport then "--with-sasl=${sasl}" else "--without-sasl"} ${if saslSupport then "--with-sasl=${sasl}" else "--without-sasl"}
${if httpSupport then "--with-serf=${serf}" else "--without-serf"} ${if httpSupport then "--with-serf=${serf}" else "--without-serf"}
--with-zlib=${zlib} --with-zlib=${zlib}

View File

@ -0,0 +1,43 @@
{ stdenv, fetchFromGitHub, makeWrapper, phonon, phonon_backend_vlc, qt4
# "Free" API key generated by nckx <tobias.geerinckx.rice@gmail.com>
, withAPIKey ? "AIzaSyBtFgbln3bu1swQC-naMxMtKh384D3xJZE" }:
let version = "2.4"; in
stdenv.mkDerivation {
name = "minitube-${version}";
src = fetchFromGitHub {
sha256 = "0mm8v2vpspwxh2fqaykb381v6r9apywc1b0x8jkcbp7s43w10lp5";
rev = version;
repo = "minitube";
owner = "flaviotordini";
};
meta = with stdenv.lib; {
inherit version;
description = "Stand-alone YouTube video player";
longDescription = ''
Watch YouTube videos in a new way: you type a keyword, Minitube gives
you an endless video stream. Minitube is not about cloning the YouTube
website, it aims to create a new TV-like experience.
'';
homepage = http://flavio.tordini.org/minitube;
license = licenses.gpl3Plus;
platforms = with platforms; linux;
maintainers = with maintainers; [ nckx ];
};
buildInputs = [ phonon phonon_backend_vlc qt4 ];
nativeBuildInputs = [ makeWrapper ];
configurePhase = ''
qmake PREFIX=$out "DEFINES += APP_GOOGLE_API_KEY=${withAPIKey}"
'';
enableParallelBuilding = true;
postInstall = ''
wrapProgram $out/bin/minitube \
--prefix QT_PLUGIN_PATH : "${phonon_backend_vlc}/lib/kde4/plugins"
'';
}

View File

@ -1,22 +0,0 @@
{ stdenv, fetchurl, pkgconfig, libXcomposite, libXfixes, libXdamage
, libXrender, libXext }:
stdenv.mkDerivation rec {
name = "xcompmgr-1.1.6";
src = fetchurl {
url = "mirror://xorg/individual/app/${name}.tar.bz2";
sha256 = "c98949d36793b30ed1ed47495c87a05fa245ac0fc2857d2abc54979124687c02";
};
buildInputs = [ pkgconfig libXcomposite libXfixes libXdamage libXrender libXext ];
meta = {
homepage = http://www.x.org/;
description = "A sample compositing manager for X servers";
longDescription = ''
A sample compositing manager for X servers supporting the XFIXES,
DAMAGE, RENDER, and COMPOSITE extensions. It enables basic eye-candy
effects.
'';
license = "bsd";
maintainers = with stdenv.lib.maintainers; [ astsmtl ];
platforms = with stdenv.lib.platforms; linux;
};
}

View File

@ -9,7 +9,6 @@
, cc ? null, libc ? null, binutils ? null, coreutils ? null, shell ? stdenv.shell , cc ? null, libc ? null, binutils ? null, coreutils ? null, shell ? stdenv.shell
, zlib ? null, extraPackages ? [] , zlib ? null, extraPackages ? []
, dyld ? null # TODO: should this be a setup-hook on dyld? , dyld ? null # TODO: should this be a setup-hook on dyld?
, setupHook ? ./setup-hook.sh
, isGNU ? false, isClang ? false , isGNU ? false, isClang ? false
}: }:
@ -227,7 +226,7 @@ stdenv.mkDerivation {
'' ''
+ '' + ''
substituteAll ${setupHook} $out/nix-support/setup-hook.tmp substituteAll ${./setup-hook.sh} $out/nix-support/setup-hook.tmp
cat $out/nix-support/setup-hook.tmp >> $out/nix-support/setup-hook cat $out/nix-support/setup-hook.tmp >> $out/nix-support/setup-hook
rm $out/nix-support/setup-hook.tmp rm $out/nix-support/setup-hook.tmp

View File

@ -1,44 +0,0 @@
# This is an alternate setup hook for gcc-wrapper that uses the -I flag to
# add include search paths instead of -isystem. We need this for some packages
# because -isystem can change the search order specified by prior -I flags.
# Changing the search order can point gcc to the wrong package's headers.
# The -I flag will never change the order of prior flags.
export NIX_CC=@out@
addCVars () {
if [ -d $1/include ]; then
export NIX_CFLAGS_COMPILE+=" -I $1/include"
fi
if [ -d $1/lib64 -a ! -L $1/lib64 ]; then
export NIX_LDFLAGS+=" -L$1/lib64"
fi
if [ -d $1/lib ]; then
export NIX_LDFLAGS+=" -L$1/lib"
fi
}
envHooks+=(addCVars)
# Note: these come *after* $out in the PATH (see setup.sh).
if [ -n "@gcc@" ]; then
addToSearchPath PATH @gcc@/bin
fi
if [ -n "@binutils@" ]; then
addToSearchPath PATH @binutils@/bin
fi
if [ -n "@libc@" ]; then
addToSearchPath PATH @libc@/bin
fi
if [ -n "@coreutils@" ]; then
addToSearchPath PATH @coreutils@/bin
fi
export CC=gcc
export CXX=g++

View File

@ -2,7 +2,7 @@ export NIX_CC=@out@
addCVars () { addCVars () {
if [ -d $1/include ]; then if [ -d $1/include ]; then
export NIX_CFLAGS_COMPILE+=" -isystem $1/include" export NIX_CFLAGS_COMPILE+=" ${ccIncludeFlag:--isystem} $1/include"
fi fi
if [ -d $1/lib64 -a ! -L $1/lib64 ]; then if [ -d $1/lib64 -a ! -L $1/lib64 ]; then

View File

@ -23,6 +23,7 @@ rec {
passAsFile = [ "text" ]; passAsFile = [ "text" ];
# Pointless to do this on a remote machine. # Pointless to do this on a remote machine.
preferLocalBuild = true; preferLocalBuild = true;
allowSubstitutes = false;
} }
'' ''
n=$out${destination} n=$out${destination}

View File

@ -1,6 +1,6 @@
{fetchurl, stdenv, fontforge, perl, fontconfig, FontTTF}: {fetchurl, stdenv, fontforge, perl, fontconfig, FontTTF}:
let version = "2.34" ; in let version = "2.35" ; in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "dejavu-fonts-${version}"; name = "dejavu-fonts-${version}";
@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/dejavu/dejavu-fonts-${version}.tar.bz2"; url = "mirror://sourceforge/dejavu/dejavu-fonts-${version}.tar.bz2";
sha256 = "09wh9c9kk82i4kwy73fcqa0779bvf0ncikciqw2gxa9m2rkrxjmm"; sha256 = "1xdbi4llrq1qbkd73352ibrfqcbz93dww8hab216qz5szd95yvv4";
}; };
buildFlags = "full-ttf"; buildFlags = "full-ttf";
preBuild = '' preBuild = ''

View File

@ -11,8 +11,6 @@ stdenv.mkDerivation rec {
makeFlags = "INTROSPECTION_GIRDIR=$(out)/share/gir-1.0/ INTROSPECTION_TYPELIBDIR=$(out)/lib/girepository-1.0"; makeFlags = "INTROSPECTION_GIRDIR=$(out)/share/gir-1.0/ INTROSPECTION_TYPELIBDIR=$(out)/lib/girepository-1.0";
preBuild = "patchShebangs ./scripts";
buildInputs = [ intltool pkgconfig glib gobjectIntrospection ]; buildInputs = [ intltool pkgconfig glib gobjectIntrospection ];
meta = { meta = {

View File

@ -38,7 +38,7 @@ in stdenv.mkDerivation rec {
''; '';
preFixup = '' preFixup = ''
wrapProgram "$out/libexec/gnome-user-share" \ wrapProgram "$out/libexec/gnome-user-share-webdav" \
--set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
--prefix XDG_DATA_DIRS : "$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" --prefix XDG_DATA_DIRS : "$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
''; '';

View File

@ -3,11 +3,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
p_name = "exo"; p_name = "exo";
ver_maj = "0.10"; ver_maj = "0.10";
ver_min = "4"; ver_min = "6";
src = fetchurl { src = fetchurl {
url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2"; url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
sha256 = "cced5fdbc0b61a5d976210ff71ecdd81b89fcd15e5860a44f50da7b83fb2deaa"; sha256 = "1cc0e5a432e050a5e5aa64d126b988f4440da4f27474aaf42a4d8e13651d0752";
}; };
name = "${p_name}-${ver_maj}.${ver_min}"; name = "${p_name}-${ver_maj}.${ver_min}";

View File

@ -6,11 +6,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
p_name = "thunar"; p_name = "thunar";
ver_maj = "1.6"; ver_maj = "1.6";
ver_min = "6"; ver_min = "10";
src = fetchurl { src = fetchurl {
url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/Thunar-${ver_maj}.${ver_min}.tar.bz2"; url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/Thunar-${ver_maj}.${ver_min}.tar.bz2";
sha256 = "1cl9v3rdzipyyxml3pyrzspxfmmssz5h5snpj18irq4an42539dr"; sha256 = "7e9d24067268900e5e44d3325e60a1a2b2f8f556ec238ec12574fbea15fdee8a";
}; };
name = "${p_name}-${ver_maj}.${ver_min}"; name = "${p_name}-${ver_maj}.${ver_min}";

View File

@ -4,11 +4,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
p_name = "xfdesktop"; p_name = "xfdesktop";
ver_maj = "4.12"; ver_maj = "4.12";
ver_min = "0"; ver_min = "2";
src = fetchurl { src = fetchurl {
url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2"; url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
sha256 = "1ivzgg4792nid6wcgd1nq5vc3z0y5ip6ymq7ci5j2qkp663qnykf"; sha256 = "c9788883163b57bac39d12e5f8310c869d176454879defb78b67f8e9f1ad5225";
}; };
name = "${p_name}-${ver_maj}.${ver_min}"; name = "${p_name}-${ver_maj}.${ver_min}";

View File

@ -4,11 +4,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
p_name = "xfwm4"; p_name = "xfwm4";
ver_maj = "4.12"; ver_maj = "4.12";
ver_min = "2"; ver_min = "3";
src = fetchurl { src = fetchurl {
url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2"; url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
sha256 = "5bb5f72b41060d10bd3823f8b69abcd462bbd8853fdf9c82041450ae68e7d75a"; sha256 = "f4a988fbc4e0df7e8583c781d271559e56fd28696092f94ae052e9e6edb09eac";
}; };
name = "${p_name}-${ver_maj}.${ver_min}"; name = "${p_name}-${ver_maj}.${ver_min}";

View File

@ -56,7 +56,7 @@ assert langGo -> langCC;
with stdenv.lib; with stdenv.lib;
with builtins; with builtins;
let version = "4.8.4"; let version = "4.8.5";
# Whether building a cross-compiler for GNU/Hurd. # Whether building a cross-compiler for GNU/Hurd.
crossGNU = cross != null && cross.config == "i586-pc-gnu"; crossGNU = cross != null && cross.config == "i586-pc-gnu";
@ -209,9 +209,11 @@ stdenv.mkDerivation ({
builder = ../builder.sh; builder = ../builder.sh;
outputs = [ "out" "info" ];
src = fetchurl { src = fetchurl {
url = "mirror://gnu/gcc/gcc-${version}/gcc-${version}.tar.bz2"; url = "mirror://gnu/gcc/gcc-${version}/gcc-${version}.tar.bz2";
sha256 = "15c6gwm6dzsaagamxkak5smdkf1rdfbqqjs9jdbrp3lbg4ism02a"; sha256 = "08yggr18v373a1ihj0rg2vd6psnic42b518xcgp3r9k81xz1xyr2";
}; };
inherit patches; inherit patches;

View File

@ -56,7 +56,7 @@ assert langGo -> langCC;
with stdenv.lib; with stdenv.lib;
with builtins; with builtins;
let version = "4.9.2"; let version = "4.9.3";
# Whether building a cross-compiler for GNU/Hurd. # Whether building a cross-compiler for GNU/Hurd.
crossGNU = cross != null && cross.config == "i586-pc-gnu"; crossGNU = cross != null && cross.config == "i586-pc-gnu";
@ -208,9 +208,11 @@ stdenv.mkDerivation ({
builder = ../builder.sh; builder = ../builder.sh;
outputs = [ "out" "info" ];
src = fetchurl { src = fetchurl {
url = "mirror://gnu/gcc/gcc-${version}/gcc-${version}.tar.bz2"; url = "mirror://gnu/gcc/gcc-${version}/gcc-${version}.tar.bz2";
sha256 = "1pbjp4blk2ycaa6r3jmw4ky5f1s9ji3klbqgv8zs2sl5jn1cj810"; sha256 = "0zmnm00d2a1hsd41g34bhvxzvxisa2l584q3p447bd91lfjv4ci3";
}; };
inherit patches; inherit patches;

View File

@ -57,7 +57,7 @@ assert langGo -> langCC;
with stdenv.lib; with stdenv.lib;
with builtins; with builtins;
let version = "5.1.0"; let version = "5.2.0";
# Whether building a cross-compiler for GNU/Hurd. # Whether building a cross-compiler for GNU/Hurd.
crossGNU = cross != null && cross.config == "i586-pc-gnu"; crossGNU = cross != null && cross.config == "i586-pc-gnu";
@ -210,7 +210,7 @@ stdenv.mkDerivation ({
src = fetchurl { src = fetchurl {
url = "mirror://gnu/gcc/gcc-${version}/gcc-${version}.tar.bz2"; url = "mirror://gnu/gcc/gcc-${version}/gcc-${version}.tar.bz2";
sha256 = "1bd5vj4px3s8nlakbgrh38ynxq4s654m6nxz7lrj03mvkkwgvnmp"; sha256 = "1bccp8a106xwz3wkixn65ngxif112vn90qf95m6lzpgpnl25p0sz";
}; };
inherit patches; inherit patches;

View File

@ -90,7 +90,7 @@ stdenv.mkDerivation rec {
configurePhase = '' configurePhase = ''
./configure --prefix=$out \ ./configure --prefix=$out \
--with-gmp-libraries=${gmp}/lib --with-gmp-includes=${gmp}/include \ --with-gmp-libraries=${gmp}/lib --with-gmp-includes=${gmp}/include \
${stdenv.lib.optionalString stdenv.isDarwin "--with-gcc=${../../haskell-modules/gcc-clang-wrapper.sh}"} ${stdenv.lib.optionalString stdenv.isDarwin "--with-gcc=${./gcc-clang-wrapper.sh}"}
''; '';
# Stripping combined with patchelf breaks the executables (they die # Stripping combined with patchelf breaks the executables (they die

View File

@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
export NIX_LDFLAGS+=" -no_dtrace_dof" export NIX_LDFLAGS+=" -no_dtrace_dof"
''; '';
configureFlags = if stdenv.isDarwin then "--with-gcc=${../../haskell-modules/gcc-clang-wrapper.sh}" configureFlags = if stdenv.isDarwin then "--with-gcc=${./gcc-clang-wrapper.sh}"
else "--with-gcc=${stdenv.cc}/bin/gcc"; else "--with-gcc=${stdenv.cc}/bin/gcc";
NIX_CFLAGS_COMPILE = "-fomit-frame-pointer"; NIX_CFLAGS_COMPILE = "-fomit-frame-pointer";

View File

@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
export NIX_LDFLAGS+=" -no_dtrace_dof" export NIX_LDFLAGS+=" -no_dtrace_dof"
''; '';
configureFlags = if stdenv.isDarwin then "--with-gcc=${../../haskell-modules/gcc-clang-wrapper.sh}" configureFlags = if stdenv.isDarwin then "--with-gcc=${./gcc-clang-wrapper.sh}"
else "--with-gcc=${stdenv.cc}/bin/gcc"; else "--with-gcc=${stdenv.cc}/bin/gcc";
NIX_CFLAGS_COMPILE = "-fomit-frame-pointer"; NIX_CFLAGS_COMPILE = "-fomit-frame-pointer";

View File

@ -90,7 +90,7 @@ stdenv.mkDerivation rec {
configurePhase = '' configurePhase = ''
./configure --prefix=$out \ ./configure --prefix=$out \
--with-gmp-libraries=${gmp}/lib --with-gmp-includes=${gmp}/include \ --with-gmp-libraries=${gmp}/lib --with-gmp-includes=${gmp}/include \
${stdenv.lib.optionalString stdenv.isDarwin "--with-gcc=${../../haskell-modules/gcc-clang-wrapper.sh}"} ${stdenv.lib.optionalString stdenv.isDarwin "--with-gcc=${./gcc-clang-wrapper.sh}"}
''; '';
# Stripping combined with patchelf breaks the executables (they die # Stripping combined with patchelf breaks the executables (they die

View File

@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
export NIX_LDFLAGS+=" -no_dtrace_dof" export NIX_LDFLAGS+=" -no_dtrace_dof"
''; '';
configureFlags = if stdenv.isDarwin then "--with-gcc=${../../haskell-modules/gcc-clang-wrapper.sh}" configureFlags = if stdenv.isDarwin then "--with-gcc=${./gcc-clang-wrapper.sh}"
else "--with-gcc=${stdenv.cc}/bin/gcc"; else "--with-gcc=${stdenv.cc}/bin/gcc";
# required, because otherwise all symbols from HSffi.o are stripped, and # required, because otherwise all symbols from HSffi.o are stripped, and

View File

@ -52,7 +52,7 @@ in stdenv.mkDerivation rec {
export NIX_LDFLAGS+=" -no_dtrace_dof" export NIX_LDFLAGS+=" -no_dtrace_dof"
''; '';
configureFlags = if stdenv.isDarwin then "--with-gcc=${../../haskell-modules/gcc-clang-wrapper.sh}" configureFlags = if stdenv.isDarwin then "--with-gcc=${./gcc-clang-wrapper.sh}"
else "--with-gcc=${stdenv.cc}/bin/gcc"; else "--with-gcc=${stdenv.cc}/bin/gcc";
postInstall = '' postInstall = ''

View File

@ -66,7 +66,7 @@ stdenv.mkDerivation {
sed -i 's,/lib/ld-linux.so.2,${loader386},' src/cmd/8l/asm.c sed -i 's,/lib/ld-linux.so.2,${loader386},' src/cmd/8l/asm.c
''; '';
patches = [ ./cacert-1.2.patch ]; patches = [ ./cacert-1.2.patch ./R_386_GOT32.patch ];
GOOS = if stdenv.isDarwin then "darwin" else "linux"; GOOS = if stdenv.isDarwin then "darwin" else "linux";
GOARCH = if stdenv.isDarwin then "amd64" GOARCH = if stdenv.isDarwin then "amd64"

View File

@ -1,4 +1,6 @@
{ stdenv, lib, fetchurl, bison, glibc, bash, coreutils, makeWrapper, tzdata, iana_etc, perl, Security, goPackages }: { stdenv, lib, fetchurl, bison, glibc, bash, coreutils, makeWrapper, tzdata, iana_etc, perl, goPackages
, Security }:
let let
loader386 = "${glibc}/lib/ld-linux.so.2"; loader386 = "${glibc}/lib/ld-linux.so.2";
@ -17,8 +19,9 @@ stdenv.mkDerivation rec {
# perl is used for testing go vet # perl is used for testing go vet
buildInputs = [ bison bash makeWrapper perl ] buildInputs = [ bison bash makeWrapper perl ]
++ lib.optionals stdenv.isLinux [ glibc ] ++ lib.optionals stdenv.isLinux [ glibc ];
++ lib.optionals stdenv.isDarwin [ Security ];
propagatedBuildInputs = lib.optional stdenv.isDarwin Security;
# I'm not sure what go wants from its 'src', but the go installation manual # I'm not sure what go wants from its 'src', but the go installation manual
# describes an installation keeping the src. # describes an installation keeping the src.
@ -56,6 +59,13 @@ stdenv.mkDerivation rec {
sed -i 's,/lib/ld-linux.so.3,${loaderArm},' src/cmd/5l/asm.c sed -i 's,/lib/ld-linux.so.3,${loaderArm},' src/cmd/5l/asm.c
sed -i 's,/lib64/ld-linux-x86-64.so.2,${loaderAmd64},' src/cmd/6l/asm.c sed -i 's,/lib64/ld-linux-x86-64.so.2,${loaderAmd64},' src/cmd/6l/asm.c
sed -i 's,/lib/ld-linux.so.2,${loader386},' src/cmd/8l/asm.c sed -i 's,/lib/ld-linux.so.2,${loader386},' src/cmd/8l/asm.c
'' + lib.optionalString stdenv.isDarwin ''
sed -i 's,"/etc","'"$TMPDIR"'",' src/os/os_test.go
sed -i 's,/_go_os_test,'"$TMPDIR"'/_go_os_test,' src/os/path_test.go
sed -i '/TestRead0/areturn' src/os/os_test.go
sed -i '/TestSystemRoots/areturn' src/crypto/x509/root_darwin_test.go
touch $TMPDIR/group $TMPDIR/hosts $TMPDIR/passwd
''; '';
patches = [ patches = [

View File

@ -0,0 +1,46 @@
From 609d996fac7f68b34032572b7bde627f658b95f2 Mon Sep 17 00:00:00 2001
From: Russ Cox <rsc@golang.org>
Date: Mon, 6 Oct 2014 14:17:48 -0400
Subject: [PATCH] cmd/8l: accept R_386_GOT32 in push instruction
Fixes #8382.
LGTM=iant
R=iant
CC=golang-codereviews
https://golang.org/cl/149540045
---
src/cmd/8l/asm.c | 18 +++++++++++++-----
1 file changed, 13 insertions(+), 5 deletions(-)
diff --git a/src/cmd/8l/asm.c b/src/cmd/8l/asm.c
index c135dce..98c0424 100644
--- a/src/cmd/8l/asm.c
+++ b/src/cmd/8l/asm.c
@@ -117,13 +117,21 @@ adddynrel(LSym *s, Reloc *r)
case 256 + R_386_GOT32:
if(targ->type != SDYNIMPORT) {
// have symbol
- // turn MOVL of GOT entry into LEAL of symbol itself
- if(r->off < 2 || s->p[r->off-2] != 0x8b) {
- diag("unexpected GOT reloc for non-dynamic symbol %s", targ->name);
+ if(r->off >= 2 && s->p[r->off-2] == 0x8b) {
+ // turn MOVL of GOT entry into LEAL of symbol address, relative to GOT.
+ s->p[r->off-2] = 0x8d;
+ r->type = R_GOTOFF;
return;
}
- s->p[r->off-2] = 0x8d;
- r->type = R_GOTOFF;
+ if(r->off >= 2 && s->p[r->off-2] == 0xff && s->p[r->off-1] == 0xb3) {
+ // turn PUSHL of GOT entry into PUSHL of symbol itself.
+ // use unnecessary SS prefix to keep instruction same length.
+ s->p[r->off-2] = 0x36;
+ s->p[r->off-1] = 0x68;
+ r->type = R_ADDR;
+ return;
+ }
+ diag("unexpected GOT reloc for non-dynamic symbol %s", targ->name);
return;
}
addgotsym(ctxt, targ);

View File

@ -1,6 +1,6 @@
{ pkgs, newScope, stdenv, isl, fetchurl, overrideCC, wrapCC }: { pkgs, newScope, stdenv, isl, fetchurl, overrideCC, wrapCC }:
let let
callPackage = newScope (self // { inherit isl version fetch; }); callPackage = newScope (self // { inherit stdenv isl version fetch; });
version = "3.6.1"; version = "3.6.1";

View File

@ -27,7 +27,7 @@ in stdenv.mkDerivation rec {
mv compiler-rt-* $sourceRoot/projects/compiler-rt mv compiler-rt-* $sourceRoot/projects/compiler-rt
''; '';
buildInputs = [ perl groff cmake libxml2 python libffi ] ++ stdenv.lib.optional stdenv.isLinux valgrind; buildInputs = [ perl groff cmake libxml2 python libffi ] /* ++ stdenv.lib.optional stdenv.isLinux valgrind */;
propagatedBuildInputs = [ ncurses zlib ]; propagatedBuildInputs = [ ncurses zlib ];

View File

@ -84,6 +84,8 @@ stdenv.mkDerivation {
inherit version; inherit version;
inherit meta; inherit meta;
__impureHostDeps = [ "/usr/lib/libedit.3.dylib" ];
src = if isRelease then src = if isRelease then
fetchzip { fetchzip {
url = "http://static.rust-lang.org/dist/rustc-${version}-src.tar.gz"; url = "http://static.rust-lang.org/dist/rustc-${version}-src.tar.gz";
@ -107,16 +109,16 @@ stdenv.mkDerivation {
installPhase = '' installPhase = ''
mkdir -p "$out" mkdir -p "$out"
cp -r bin "$out/bin" cp -r bin "$out/bin"
'' + (if stdenv.isLinux then '' '' + stdenv.lib.optionalString stdenv.isLinux ''
patchelf --interpreter "${stdenv.glibc}/lib/${stdenv.cc.dynamicLinker}" \ patchelf --interpreter "${stdenv.glibc}/lib/${stdenv.cc.dynamicLinker}" \
--set-rpath "${stdenv.cc.cc}/lib/:${stdenv.cc.cc}/lib64/" \ --set-rpath "${stdenv.cc.cc}/lib/:${stdenv.cc.cc}/lib64/" \
"$out/bin/rustc" "$out/bin/rustc"
'' else ""); '';
}; };
configureFlags = configureFlags configureFlags = configureFlags
++ [ "--enable-local-rust" "--local-rust-root=$snapshot" ] ++ [ "--enable-local-rust" "--local-rust-root=$snapshot" "--enable-rpath" ]
++ stdenv.lib.optional (stdenv.cc ? clang) "--enable-clang"; ++ stdenv.lib.optional (stdenv.cc.cc ? isClang) "--enable-clang";
inherit patches; inherit patches;
@ -139,7 +141,8 @@ stdenv.mkDerivation {
--replace "\$\$(subst /,//," "\$\$(subst /,/," --replace "\$\$(subst /,//," "\$\$(subst /,/,"
''; '';
buildInputs = [ which file perl curl python27 makeWrapper git valgrind procps ]; buildInputs = [ which file perl curl python27 makeWrapper git ]
++ stdenv.lib.optionals (!stdenv.isDarwin) [ procps valgrind ];
enableParallelBuilding = true; enableParallelBuilding = true;

View File

@ -1,12 +1,12 @@
{ stdenv, fetchurl, bison, flex, boost, gputils ? null }: { stdenv, fetchurl, bison, flex, boost, gputils ? null }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "3.4.0"; version = "3.5.0";
name = "sdcc-${version}"; name = "sdcc-${version}";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/sdcc/sdcc-src-${version}.tar.bz2"; url = "mirror://sourceforge/sdcc/sdcc-src-${version}.tar.bz2";
sha256 = "1yavxffqdfhdyabdza936xxh9wq4cfwa385g26gjapsdp5ighsng"; sha256 = "1aazz0yynr694q0rich7r03qls0zvsjc00il14pb4i22c78phagq";
}; };
# TODO: remove this comment when gputils != null is tested # TODO: remove this comment when gputils != null is tested

View File

@ -186,21 +186,39 @@ self: super: {
# cabal2nix likes to generate dependencies on hinotify when hfsevents is really required # cabal2nix likes to generate dependencies on hinotify when hfsevents is really required
# on darwin: https://github.com/NixOS/cabal2nix/issues/146 # on darwin: https://github.com/NixOS/cabal2nix/issues/146
hinotify = if pkgs.stdenv.isDarwin then super.hfsevents else super.hinotify; hinotify = if pkgs.stdenv.isDarwin then self.hfsevents else super.hinotify;
# hfsevents needs CoreServices in scope
hfsevents = if pkgs.stdenv.isDarwin
then addBuildTool super.hfsevents pkgs.darwin.apple_sdk.frameworks.CoreServices
else super.hfsevents;
# FSEvents API is very buggy and tests are unreliable. See # FSEvents API is very buggy and tests are unreliable. See
# http://openradar.appspot.com/10207999 and similar issues # http://openradar.appspot.com/10207999 and similar issues
fsnotify = if pkgs.stdenv.isDarwin then dontCheck super.fsnotify else super.fsnotify; fsnotify = if pkgs.stdenv.isDarwin then dontCheck super.fsnotify else super.fsnotify;
# the system-fileio tests use canonicalizePath, which fails in the sandbox
system-fileio = if pkgs.stdenv.isDarwin then dontCheck super.system-fileio else super.system-fileio;
# Prevents needing to add security_tool as a build tool to all of x509-system's # Prevents needing to add security_tool as a build tool to all of x509-system's
# dependencies. # dependencies.
# TODO: use pkgs.darwin.security_tool once we can build it x509-system = if pkgs.stdenv.isDarwin && !pkgs.stdenv.cc.nativeLibc
x509-system = let security_tool = "/usr"; then let inherit (pkgs.darwin) security_tool;
in overrideCabal super.x509-system (drv: { in pkgs.lib.overrideDerivation (addBuildDepend super.x509-system security_tool) (drv: {
patchPhase = (drv.patchPhase or "") + pkgs.stdenv.lib.optionalString pkgs.stdenv.isDarwin '' patchPhase = (drv.patchPhase or "") + ''
substituteInPlace System/X509/MacOS.hs --replace security ${security_tool}/bin/security substituteInPlace System/X509/MacOS.hs --replace security ${security_tool}/bin/security
''; '';
}); })
else super.x509-system;
double-conversion = if !pkgs.stdenv.isDarwin
then super.double-conversion
else overrideCabal super.double-conversion (drv:
{
patchPhase = ''
substituteInPlace double-conversion.cabal --replace stdc++ c++
'';
});
# Does not compile: "fatal error: ieee-flpt.h: No such file or directory" # Does not compile: "fatal error: ieee-flpt.h: No such file or directory"
base_4_8_0_0 = markBroken super.base_4_8_0_0; base_4_8_0_0 = markBroken super.base_4_8_0_0;
@ -862,6 +880,10 @@ self: super: {
# https://github.com/yesodweb/serversession/issues/1 # https://github.com/yesodweb/serversession/issues/1
serversession = dontCheck super.serversession; serversession = dontCheck super.serversession;
yesod-bin = if pkgs.stdenv.isDarwin
then addBuildDepend super.yesod-bin pkgs.darwin.apple_sdk.frameworks.Cocoa
else super.yesod-bin;
# https://github.com/commercialhaskell/stack/issues/408 # https://github.com/commercialhaskell/stack/issues/408
# https://github.com/commercialhaskell/stack/issues/409 # https://github.com/commercialhaskell/stack/issues/409
stack = overrideCabal super.stack (drv: { preCheck = "export HOME=$TMPDIR"; doCheck = false; }); stack = overrideCabal super.stack (drv: { preCheck = "export HOME=$TMPDIR"; doCheck = false; });

View File

@ -44,10 +44,6 @@ self: super: {
# Don't use jailbreak built with Cabal 1.22.x because of https://github.com/peti/jailbreak-cabal/issues/9. # Don't use jailbreak built with Cabal 1.22.x because of https://github.com/peti/jailbreak-cabal/issues/9.
jailbreak-cabal = pkgs.haskell.packages.ghc784.jailbreak-cabal; jailbreak-cabal = pkgs.haskell.packages.ghc784.jailbreak-cabal;
# GHC 7.10.x's Haddock binary cannot generate hoogle files.
# https://ghc.haskell.org/trac/ghc/ticket/9921
mkDerivation = drv: super.mkDerivation (drv // { doHoogle = false; });
idris = idris =
let idris' = overrideCabal super.idris (drv: { let idris' = overrideCabal super.idris (drv: {
# "idris" binary cannot find Idris library otherwise while building. # "idris" binary cannot find Idris library otherwise while building.
@ -231,9 +227,6 @@ self: super: {
seqid-streams_0_1_0 = markBroken super.seqid-streams_0_1_0; seqid-streams_0_1_0 = markBroken super.seqid-streams_0_1_0;
vector_0_10_9_3 = markBroken super.vector_0_10_9_3; vector_0_10_9_3 = markBroken super.vector_0_10_9_3;
# https://github.com/purefn/hipbot/issues/1
hipbot = dontDistribute super.hipbot;
# https://github.com/HugoDaniel/RFC3339/issues/14 # https://github.com/HugoDaniel/RFC3339/issues/14
timerep = dontCheck super.timerep; timerep = dontCheck super.timerep;

View File

@ -24,6 +24,17 @@ stdenv.mkDerivation rec {
++ lib.optional stdenv.isSunOS ./ld-shared.patch ++ lib.optional stdenv.isSunOS ./ld-shared.patch
++ lib.optional stdenv.isDarwin [ ./cpp-precomp.patch ./no-libutil.patch ] ; ++ lib.optional stdenv.isDarwin [ ./cpp-precomp.patch ./no-libutil.patch ] ;
# There's an annoying bug on sandboxed Darwin in Perl's Cwd.pm where it looks for pwd
# in /bin/pwd and /usr/bin/pwd and then falls back on just "pwd" if it can't get them
# while at the same time erasing the PATH environment variable so it unconditionally
# fails. The code in question is guarded by a check for Mac OS, but the patch below
# doesn't have any runtime effect on other platforms.
postPatch = ''
pwd="$(type -P pwd)"
substituteInPlace dist/Cwd/Cwd.pm \
--replace "pwd_cmd = 'pwd'" "pwd_cmd = '$pwd'"
'';
# Build a thread-safe Perl with a dynamic libperls.o. We need the # Build a thread-safe Perl with a dynamic libperls.o. We need the
# "installstyle" option to ensure that modules are put under # "installstyle" option to ensure that modules are put under
# $out/lib/perl5 - this is the general default, but because $out # $out/lib/perl5 - this is the general default, but because $out

View File

@ -31,10 +31,23 @@ stdenv.mkDerivation rec {
patches = patches =
[ # Do not look in /usr etc. for dependencies. [ # Do not look in /usr etc. for dependencies.
./no-sys-dirs.patch ./no-sys-dirs.patch
# Remove in 5.20.3
./perl-5.20.2-gcc5_fixes-1.patch
] ]
++ optional stdenv.isSunOS ./ld-shared.patch ++ optional stdenv.isSunOS ./ld-shared.patch
++ stdenv.lib.optional stdenv.isDarwin [ ./cpp-precomp.patch ./no-libutil.patch ] ; ++ stdenv.lib.optional stdenv.isDarwin [ ./cpp-precomp.patch ./no-libutil.patch ] ;
# There's an annoying bug on sandboxed Darwin in Perl's Cwd.pm where it looks for pwd
# in /bin/pwd and /usr/bin/pwd and then falls back on just "pwd" if it can't get them
# while at the same time erasing the PATH environment variable so it unconditionally
# fails. The code in question is guarded by a check for Mac OS, but the patch below
# doesn't have any runtime effect on other platforms.
postPatch = stdenv.lib.optional (stdenv.isDarwin && !stdenv.cc.nativeLibc) ''
pwd="$(type -P pwd)"
substituteInPlace dist/PathTools/Cwd.pm \
--replace "pwd_cmd = 'pwd'" "pwd_cmd = '$pwd'"
'';
# Build a thread-safe Perl with a dynamic libperls.o. We need the # Build a thread-safe Perl with a dynamic libperls.o. We need the
# "installstyle" option to ensure that modules are put under # "installstyle" option to ensure that modules are put under
# $out/lib/perl5 - this is the general default, but because $out # $out/lib/perl5 - this is the general default, but because $out

View File

@ -0,0 +1,127 @@
Submitted By: Ken Moffat <ken at linuxfromscratch dot org>
Date: 2015-04-17
Initial Package Version: 5.20.2
Upstream Status: Committed
Origin: Petr Pisař and Tony Cook
Description: Fixes Errno.pm and h2ph with gcc-5.
1. cherry-picked because the change to $version will not apply, from
commit 816b056ffb99ae54642320e20dc30a59fd1effef
Author: Petr Písař <ppisar@redhat.com>
Date: Wed Feb 11 15:46:37 2015 +0100
Fix Errno.pm generation for gcc-5.0
gcc-5.0 -E interleaves now line numbers with expended macros, so that
the generated errno.c will be preprocessed to
EBFONT => [[
59
]]
which is hard to parse in in line-based reader.
So use -P option with gcc >= 5.0. Global -P usage would break makedepend,
global -ftrack-macro-expansion=0 would break lib/h2ph.t.
RT#123784
diff --git a/ext/Errno/Errno_pm.PL b/ext/Errno/Errno_pm.PL
index 3dadfce..c6bfa06 100644
--- a/ext/Errno/Errno_pm.PL
+++ b/ext/Errno/Errno_pm.PL
@@ -215,20 +215,31 @@ sub write_errno_pm {
{ # BeOS (support now removed) did not enter this block
# invoke CPP and read the output
+ my $inhibit_linemarkers = '';
+ if ($Config{gccversion} =~ /\A(\d+)\./ and $1 >= 5) {
+ # GCC 5.0 interleaves expanded macros with line numbers breaking
+ # each line into multiple lines. RT#123784
+ $inhibit_linemarkers = ' -P';
+ }
+
if ($^O eq 'VMS') {
- my $cpp = "$Config{cppstdin} $Config{cppflags} $Config{cppminus}";
+ my $cpp = "$Config{cppstdin} $Config{cppflags}" .
+ $inhibit_linemarkers . " $Config{cppminus}";
$cpp =~ s/sys\$input//i;
open(CPPO,"$cpp errno.c |") or
die "Cannot exec $Config{cppstdin}";
} elsif ($IsMSWin32 || $^O eq 'NetWare') {
- open(CPPO,"$Config{cpprun} $Config{cppflags} errno.c |") or
- die "Cannot run '$Config{cpprun} $Config{cppflags} errno.c'";
+ my $cpp = "$Config{cpprun} $Config{cppflags}" .
+ $inhibit_linemarkers;
+ open(CPPO,"$cpp errno.c |") or
+ die "Cannot run '$cpp errno.c'";
} elsif ($IsSymbian) {
- my $cpp = "gcc -E -I$ENV{SDK}\\epoc32\\include\\libc -";
+ my $cpp = "gcc -E -I$ENV{SDK}\\epoc32\\include\\libc" .
+ $inhibit_linemarkers ." -";
open(CPPO,"$cpp < errno.c |")
or die "Cannot exec $cpp";
} else {
- my $cpp = default_cpp();
+ my $cpp = default_cpp() . $inhibit_linemarkers;
open(CPPO,"$cpp < errno.c |")
or die "Cannot exec $cpp";
}
commit 3bea78d24634e630b610f59957e7a019205a67b2
Author: Tony Cook <tony@develop-help.com>
Date: Mon Feb 16 15:57:00 2015 +1100
h2ph: correct handling of hex constants for the preamble
Previously they were treated as identifiers resulting in code
generated like C< &0xFFF >.
We also try to prevent compile-time warnings from large hex integers,
the user isn't responsible for the generated code, so we delay those
warnings to run-time.
diff --git a/utils/h2ph.PL b/utils/h2ph.PL
index 9a8b14d..d082f22 100644
--- a/utils/h2ph.PL
+++ b/utils/h2ph.PL
@@ -769,7 +769,7 @@ sub inc_dirs
sub build_preamble_if_necessary
{
# Increment $VERSION every time this function is modified:
- my $VERSION = 3;
+ my $VERSION = 4;
my $preamble = "$Dest_dir/_h2ph_pre.ph";
# Can we skip building the preamble file?
@@ -788,6 +788,11 @@ sub build_preamble_if_necessary
open PREAMBLE, ">$preamble" or die "Cannot open $preamble: $!";
print PREAMBLE "# This file was created by h2ph version $VERSION\n";
+ # Prevent non-portable hex constants from warning.
+ #
+ # We still produce an overflow warning if we can't represent
+ # a hex constant as an integer.
+ print PREAMBLE "no warnings qw(portable);\n";
foreach (sort keys %define) {
if ($opt_D) {
@@ -814,6 +819,18 @@ DEFINE
# integer:
print PREAMBLE
"unless (defined &$_) { sub $_() { $1 } }\n\n";
+ } elsif ($define{$_} =~ /^([+-]?0x[\da-f]+)U?L{0,2}$/i) {
+ # hex integer
+ # Special cased, since perl warns on hex integers
+ # that can't be represented in a UV.
+ #
+ # This way we get the warning at time of use, so the user
+ # only gets the warning if they happen to use this
+ # platform-specific definition.
+ my $code = $1;
+ $code = "hex('$code')" if length $code > 10;
+ print PREAMBLE
+ "unless (defined &$_) { sub $_() { $code } }\n\n";
} elsif ($define{$_} =~ /^\w+$/) {
my $def = $define{$_};
if ($isatype{$def}) {

View File

@ -0,0 +1,11 @@
--- a/hints/darwin.sh 2013-05-08 11:13:45.000000000 -0600
+++ b/hints/darwin.sh 2013-05-08 11:15:04.000000000 -0600
@@ -129,7 +129,7 @@
# Avoid Apple's cpp precompiler, better for extensions
if [ "X`echo | ${cc} -no-cpp-precomp -E - 2>&1 >/dev/null`" = "X" ]; then
- cppflags="${cppflags} -no-cpp-precomp"
+ #cppflags="${cppflags} -no-cpp-precomp"
# This is necessary because perl's build system doesn't
# apply cppflags to cc compile lines as it should.

View File

@ -0,0 +1,105 @@
{ stdenv, fetchurl, enableThreading ? stdenv ? glibc }:
# We can only compile perl with threading on platforms where we have a
# real glibc in the stdenv.
#
# Instead of silently building an unthreaded perl if this is not the
# case, we force callers to disableThreading explicitly, therefore
# documenting the platforms where the perl is not threaded.
#
# In the case of stdenv linux boot stage1 it's not possible to use
# threading because of the simpleness of the bootstrap glibc, so we
# use enableThreading = false there.
assert enableThreading -> (stdenv ? glibc);
let
libc = if stdenv.cc.libc or null != null then stdenv.cc.libc else "/usr";
in
with stdenv.lib;
stdenv.mkDerivation rec {
name = "perl-5.22.0";
src = fetchurl {
url = "mirror://cpan/src/5.0/${name}.tar.gz";
sha256 = "0g5bl8sdpzx9gx2g5jq3py4bj07z2ylk7s1qn0fvsss2yl3hhs8c";
};
patches =
[ # Do not look in /usr etc. for dependencies.
./no-sys-dirs.patch
]
++ optional stdenv.isSunOS ./ld-shared.patch
++ stdenv.lib.optional stdenv.isDarwin [ ./cpp-precomp.patch ./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=cc"
"-Uinstallusrbinperl"
"-Dinstallstyle=lib/perl5"
"-Duseshrplib"
"-Dlocincpth=${libc}/include"
"-Dloclibpth=${libc}/lib"
]
++ optional enableThreading "-Dusethreads";
configureScript = "${stdenv.shell} ./Configure";
dontAddPrefix = true;
enableParallelBuilding = true;
preConfigure =
''
configureFlags="$configureFlags -Dprefix=$out -Dman1dir=$out/share/man/man1 -Dman3dir=$out/share/man/man3"
${optionalString stdenv.isArm ''
configureFlagsArray=(-Dldflags="-lm -lrt")
''}
'' + optionalString stdenv.isDarwin ''
substituteInPlace hints/darwin.sh --replace "env MACOSX_DEPLOYMENT_TARGET=10.3" ""
'' + optionalString (!enableThreading) ''
# We need to do this because the bootstrap doesn't have a static libpthread
sed -i 's,\(libswanted.*\)pthread,\1,g' Configure
'';
preBuild = optionalString (!(stdenv ? cc && stdenv.cc.nativeTools))
''
# Make Cwd work on NixOS (where we don't have a /bin/pwd).
substituteInPlace dist/PathTools/Cwd.pm --replace "'/bin/pwd'" "'$(type -tP pwd)'"
'';
setupHook = ./setup-hook.sh;
passthru.libPrefix = "lib/perl5/site_perl";
preCheck = ''
# Try and setup a local hosts file
if [ -f "${libc}/lib/libnss_files.so" ]; then
mkdir $TMPDIR/fakelib
cp "${libc}/lib/libnss_files.so" $TMPDIR/fakelib
sed -i 's,/etc/hosts,/dev/fd/3,g' $TMPDIR/fakelib/libnss_files.so
export LD_LIBRARY_PATH=$TMPDIR/fakelib
fi
'';
postCheck = ''
unset LD_LIBRARY_PATH
'';
meta = {
homepage = https://www.perl.org/;
description = "The standard implementation of the Perl 5 programmming language";
maintainers = [ maintainers.eelco ];
platforms = platforms.all;
};
}

View File

@ -0,0 +1,11 @@
--- perl-5.16.2/hints/solaris_2.sh.orig 2013-02-14 19:29:49.453988140 +0000
+++ perl-5.16.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`"

View File

@ -0,0 +1,12 @@
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="socket bind inet nsl nm ndbm gdbm dbm db malloc dl 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 ! !'`

View File

@ -0,0 +1,250 @@
diff -ru -x '*~' -x '*.rej' perl-5.20.0-orig/Configure perl-5.20.0/Configure
--- perl-5.20.0-orig/Configure 2014-05-26 15:34:18.000000000 +0200
+++ perl-5.20.0/Configure 2014-06-25 10:43:35.368285986 +0200
@@ -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
@@ -1337,8 +1329,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=''
@@ -1349,17 +1340,12 @@
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
@@ -1391,8 +1377,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
@@ -2446,7 +2430,6 @@
zip
"
pth=`echo $PATH | sed -e "s/$p_/ /g"`
-pth="$pth $sysroot/lib $sysroot/usr/lib"
for file in $loclist; do
eval xxx=\$$file
case "$xxx" in
@@ -4936,7 +4919,7 @@
: Set private lib path
case "$plibpth" in
'') if ./mips; then
- plibpth="$incpath/usr/lib $sysroot/usr/local/lib $sysroot/usr/ccs/lib"
+ plibpth="$incpath/usr/lib"
fi;;
esac
case "$libpth" in
@@ -8600,13 +8583,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
@@ -19900,9 +19878,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 " "
Only in perl-5.20.0/: Configure.orig
diff -ru -x '*~' -x '*.rej' perl-5.20.0-orig/ext/Errno/Errno_pm.PL perl-5.20.0/ext/Errno/Errno_pm.PL
--- perl-5.20.0-orig/ext/Errno/Errno_pm.PL 2014-05-26 15:34:20.000000000 +0200
+++ perl-5.20.0/ext/Errno/Errno_pm.PL 2014-06-25 10:31:24.317970047 +0200
@@ -126,11 +126,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) {
# When cross-compiling we may store a path for gcc's "sysroot" option:
my $sysroot = $Config{sysroot} || '';
# Some Linuxes have weird errno.hs which generate
Only in perl-5.20.0/ext/Errno: Errno_pm.PL.orig
diff -ru -x '*~' -x '*.rej' perl-5.20.0-orig/hints/freebsd.sh perl-5.20.0/hints/freebsd.sh
--- perl-5.20.0-orig/hints/freebsd.sh 2014-01-31 22:55:51.000000000 +0100
+++ perl-5.20.0/hints/freebsd.sh 2014-06-25 10:25:53.263964680 +0200
@@ -119,21 +119,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'
diff -ru -x '*~' -x '*.rej' perl-5.20.0-orig/hints/linux.sh perl-5.20.0/hints/linux.sh
--- perl-5.20.0-orig/hints/linux.sh 2014-05-26 15:34:20.000000000 +0200
+++ perl-5.20.0/hints/linux.sh 2014-06-25 10:33:47.354883843 +0200
@@ -150,25 +150,6 @@
;;
esac
-# Ubuntu 11.04 (and later, presumably) doesn't keep most libraries
-# (such as -lm) in /lib or /usr/lib. So we have to ask gcc to tell us
-# where to look. We don't want gcc's own libraries, however, so we
-# filter those out.
-# This could be conditional on Unbuntu, but other distributions may
-# follow suit, and this scheme seems to work even on rather old gcc's.
-# This unconditionally uses gcc because even if the user is using another
-# compiler, we still need to find the math library and friends, and I don't
-# know how other compilers will cope with that situation.
-# Morever, if the user has their own gcc earlier in $PATH than the system gcc,
-# we don't want its libraries. So we try to prefer the system gcc
-# Still, as an escape hatch, allow Configure command line overrides to
-# plibpth to bypass this check.
-if [ -x /usr/bin/gcc ] ; then
- gcc=/usr/bin/gcc
-else
- gcc=gcc
-fi
-
case "$plibpth" in
'') plibpth=`LANG=C LC_ALL=C $gcc $ccflags $ldflags -print-search-dirs | grep libraries |
cut -f2- -d= | tr ':' $trnl | grep -v 'gcc' | sed -e 's:/$::'`
@@ -178,32 +159,6 @@
;;
esac
-case "$libc" in
-'')
-# If you have glibc, then report the version for ./myconfig bug reporting.
-# (Configure doesn't need to know the specific version since it just uses
-# gcc to load the library for all tests.)
-# We don't use __GLIBC__ and __GLIBC_MINOR__ because they
-# are insufficiently precise to distinguish things like
-# libc-2.0.6 and libc-2.0.7.
- for p in $plibpth
- do
- for trylib in libc.so.6 libc.so
- do
- if $test -e $p/$trylib; then
- libc=`ls -l $p/$trylib | awk '{print $NF}'`
- if $test "X$libc" != X; then
- break
- fi
- fi
- done
- if $test "X$libc" != X; then
- break
- fi
- done
- ;;
-esac
-
# Are we using ELF? Thanks to Kenneth Albanowski <kjahds@kjahds.com>
# for this test.
cat >try.c <<'EOM'
@@ -367,33 +322,6 @@
;;
esac
-# SuSE8.2 has /usr/lib/libndbm* which are ld scripts rather than
-# true libraries. The scripts cause binding against static
-# version of -lgdbm which is a bad idea. So if we have 'nm'
-# make sure it can read the file
-# NI-S 2003/08/07
-case "$nm" in
- '') ;;
- *)
- for p in $plibpth
- do
- if $test -r $p/libndbm.so; then
- if $nm $p/libndbm.so >/dev/null 2>&1 ; then
- echo 'Your shared -lndbm seems to be a real library.'
- _libndbm_real=1
- break
- fi
- fi
- done
- if $test "X$_libndbm_real" = X; then
- echo 'Your shared -lndbm is not a real library.'
- set `echo X "$libswanted "| sed -e 's/ ndbm / /'`
- shift
- libswanted="$*"
- fi
- ;;
-esac
-
# Linux on Synology.
if [ -f /etc/synoinfo.conf -a -d /usr/syno ]; then
# Tested on Synology DS213 and DS413

View File

@ -0,0 +1,5 @@
addPerlLibPath () {
addToSearchPath PERL5LIB $1/lib/perl5/site_perl
}
envHooks+=(addPerlLibPath)

View File

@ -18,7 +18,7 @@ composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed)
enableParallelBuilding = true; enableParallelBuilding = true;
buildInputs = ["flex" "bison" "pkgconfig"]; buildInputs = [ flex bison pkgconfig ];
flags = { flags = {
@ -146,7 +146,7 @@ composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed)
openssl = { openssl = {
configureFlags = ["--with-openssl=${openssl}"]; configureFlags = ["--with-openssl=${openssl}"];
buildInputs = ["openssl"]; buildInputs = [openssl];
}; };
mbstring = { mbstring = {

View File

@ -16,6 +16,12 @@ stdenv.mkDerivation rec {
buildInputs = [ bison flex makeWrapper ]; buildInputs = [ bison flex makeWrapper ];
propagatedBuildInputs = [ llvm gmp mpfr readline ]; propagatedBuildInputs = [ llvm gmp mpfr readline ];
postPatch = ''
for f in expr.cc matcher.cc printer.cc symtable.cc parserdefs.hh; do
sed -i '1i\#include <stddef.h>' $f
done
'';
configureFlags = [ "--enable-release" ]; configureFlags = [ "--enable-release" ];
doCheck = true; doCheck = true;
checkPhase = '' checkPhase = ''

View File

@ -49,16 +49,27 @@ let
--replace "libraries=['curses']" "libraries=['ncurses']" --replace "libraries=['curses']" "libraries=['ncurses']"
# tkinter hints # tkinter hints
substituteInPlace lib_pypy/_tkinter/tklib.py \ substituteInPlace lib_pypy/_tkinter/tklib_build.py \
--replace "'/usr/include/tcl'" "'${tk}/include', '${tcl}/include'" \ --replace "'/usr/include/tcl'" "'${tk}/include', '${tcl}/include'" \
--replace "linklibs=['tcl', 'tk']" "linklibs=['${tcl.libPrefix}', '${tk.libPrefix}']" \ --replace "linklibs = ['tcl' + _ver, 'tk' + _ver]" "linklibs=['${tcl.libPrefix}', '${tk.libPrefix}']" \
--replace "libdirs = []" "libdirs = ['${tk}/lib', '${tcl}/lib']" --replace "libdirs = []" "libdirs = ['${tk}/lib', '${tcl}/lib']"
sed -i "s@libraries=\['sqlite3'\]\$@libraries=['sqlite3'], include_dirs=['${sqlite}/include'], library_dirs=['${sqlite}/lib']@" lib_pypy/_sqlite3.py sed -i "s@libraries=\['sqlite3'\]\$@libraries=['sqlite3'], include_dirs=['${sqlite}/include'], library_dirs=['${sqlite}/lib']@" lib_pypy/_sqlite3_build.py
''; '';
setupHook = ./setup-hook.sh; setupHook = ./setup-hook.sh;
postBuild = ''
cd ./lib_pypy
../pypy-c ./_audioop_build.py
../pypy-c ./_curses_build.py
../pypy-c ./_pwdgrp_build.py
../pypy-c ./_sqlite3_build.py
../pypy-c ./_syslog_build.py
../pypy-c ./_tkinter/tklib_build.py
cd ..
'';
doCheck = true; doCheck = true;
checkPhase = '' checkPhase = ''
export TERMINFO="${ncurses}/share/terminfo/"; export TERMINFO="${ncurses}/share/terminfo/";

View File

@ -1,12 +1,12 @@
addPythonPath() { addPythonPath() {
addToSearchPathWithCustomDelimiter : PYTHONPATH $1/lib/pypy2.5/site-packages addToSearchPathWithCustomDelimiter : PYTHONPATH $1/lib/pypy2.6/site-packages
} }
toPythonPath() { toPythonPath() {
local paths="$1" local paths="$1"
local result= local result=
for i in $paths; do for i in $paths; do
p="$i/lib/pypy2.5/site-packages" p="$i/lib/pypy2.6/site-packages"
result="${result}${result:+:}$p" result="${result}${result:+:}$p"
done done
echo $result echo $result

View File

@ -8,6 +8,8 @@
, tcl ? null, tk ? null, x11 ? null, libX11 ? null, x11Support ? !stdenv.isCygwin , tcl ? null, tk ? null, x11 ? null, libX11 ? null, x11Support ? !stdenv.isCygwin
, zlib ? null, zlibSupport ? true , zlib ? null, zlibSupport ? true
, expat, libffi , expat, libffi
, CF, configd
}: }:
assert zlibSupport -> zlib != null; assert zlibSupport -> zlib != null;
@ -40,6 +42,8 @@ let
# patch python to put zero timestamp into pyc # patch python to put zero timestamp into pyc
# if DETERMINISTIC_BUILD env var is set # if DETERMINISTIC_BUILD env var is set
./deterministic-build.patch ./deterministic-build.patch
./properly-detect-curses.patch
] ++ optionals stdenv.isCygwin [ ] ++ optionals stdenv.isCygwin [
./2.5.2-ctypes-util-find_library.patch ./2.5.2-ctypes-util-find_library.patch
./2.5.2-tkinter-x11.patch ./2.5.2-tkinter-x11.patch
@ -62,6 +66,8 @@ let
for i in Lib/plat-*/regen; do for i in Lib/plat-*/regen; do
substituteInPlace $i --replace /usr/include/ ${stdenv.cc.libc}/include/ substituteInPlace $i --replace /usr/include/ ${stdenv.cc.libc}/include/
done done
'' + optionalString stdenv.isDarwin ''
substituteInPlace configure --replace '`/usr/bin/arch`' '"i386"'
''; '';
configureFlags = [ configureFlags = [
@ -72,6 +78,8 @@ let
"--with-system-ffi" "--with-system-ffi"
"--with-system-expat" "--with-system-expat"
"ac_cv_func_bind_textdomain_codeset=yes" "ac_cv_func_bind_textdomain_codeset=yes"
] ++ optionals stdenv.isDarwin [
"--disable-toolbox-glue"
]; ];
postConfigure = if stdenv.isCygwin then '' postConfigure = if stdenv.isCygwin then ''
@ -86,7 +94,12 @@ let
[ db gdbm ncurses sqlite readline [ db gdbm ncurses sqlite readline
] ++ optionals x11Support [ tcl tk x11 libX11 ] ] ++ optionals x11Support [ tcl tk x11 libX11 ]
) )
++ optional zlibSupport zlib; ++ optional zlibSupport zlib
# depend on CF and configd only if purity is an issue
# the impure bootstrap compiler can't build CoreFoundation currently. it requires
# <mach-o/dyld.h> which is in our pure bootstrapTools, but not in the system headers.
++ optionals (stdenv.isDarwin && !stdenv.cc.nativeLibc) [ CF configd ];
# Build the basic Python interpreter without modules that have # Build the basic Python interpreter without modules that have
# external dependencies. # external dependencies.

View File

@ -0,0 +1,116 @@
From 6dc83db69b5e29d25ba6d73646ea2e9a1097848a Mon Sep 17 00:00:00 2001
From: Roumen Petrov <local@example.net>
Date: Sun, 19 Feb 2012 16:13:24 +0200
Subject: [PATCH] CROSS-properly detect WINDOW _flags for different ncurses versions
---
Include/py_curses.h | 5 +++++
configure.ac | 40 ++++++++++++++++++++++++++++++++++++++--
pyconfig.h.in | 6 ++++++
3 files changed, 49 insertions(+), 2 deletions(-)
diff --git a/Include/py_curses.h b/Include/py_curses.h
index f2c08f6..a9b5260 100644
--- a/Include/py_curses.h
+++ b/Include/py_curses.h
@@ -14,7 +14,9 @@
/* the following define is necessary for OS X 10.6; without it, the
Apple-supplied ncurses.h sets NCURSES_OPAQUE to 1, and then Python
can't get at the WINDOW flags field. */
+/* NOTE configure check if ncurses require such definition
#define NCURSES_OPAQUE 0
+*/
#endif /* __APPLE__ */
#ifdef __FreeBSD__
@@ -57,9 +59,12 @@
#ifdef HAVE_NCURSES_H
/* configure was checking <curses.h>, but we will
use <ncurses.h>, which has all these features. */
+/* NOTE configure check for existence of flags
+ * Also flags are visible only if WINDOW structure is not opaque
#ifndef WINDOW_HAS_FLAGS
#define WINDOW_HAS_FLAGS 1
#endif
+*/
#ifndef MVWDELCH_IS_EXPRESSION
#define MVWDELCH_IS_EXPRESSION 1
#endif
diff --git a/configure.ac b/configure.ac
index 0a3a186..75f5142 100644
--- a/configure.ac
+++ b/configure.ac
@@ -4150,15 +4150,51 @@ then
fi
AC_MSG_CHECKING(whether WINDOW has _flags)
-AC_CACHE_VAL(ac_cv_window_has_flags,
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <curses.h>]], [[
WINDOW *w;
w->_flags = 0;
]])],
[ac_cv_window_has_flags=yes],
-[ac_cv_window_has_flags=no]))
+[ac_cv_window_has_flags=no])
AC_MSG_RESULT($ac_cv_window_has_flags)
+py_curses_window_is_opaque=no
+if test no = $ac_cv_window_has_flags; then
+ AC_MSG_CHECKING([whether WINDOW has _flags in non-opaque structure])
+ AC_COMPILE_IFELSE([
+ AC_LANG_PROGRAM([[
+ #define NCURSES_OPAQUE 0
+ #include <curses.h>
+ ]],[[
+ WINDOW *w;
+ w->_flags = 0;
+ ]])],
+ [py_curses_window_is_opaque=yes])
+ AC_MSG_RESULT([$py_curses_window_is_opaque])
+fi
+if test yes = $py_curses_window_is_opaque; then
+ ac_cv_window_has_flags=yes
+ AC_DEFINE([NCURSES_OPAQUE], [0], [Define to 0 if you have WINDOW _flags in non-opaque structure.])
+fi
+
+py_curses_window_is_internal=no
+if test no = $ac_cv_window_has_flags; then
+ AC_MSG_CHECKING([whether WINDOW has _flags as internal structure])
+ AC_COMPILE_IFELSE([
+ AC_LANG_PROGRAM([[
+ #define NCURSES_INTERNALS 1
+ #include <curses.h>
+ ]],[[
+ WINDOW *w;
+ w->_flags = 0;
+ ]])],
+ [py_curses_window_is_internal=yes])
+ AC_MSG_RESULT([$py_curses_window_is_internal])
+fi
+if test yes = $py_curses_window_is_internal; then
+ ac_cv_window_has_flags=yes
+ AC_DEFINE([NCURSES_INTERNALS], [1], [Define to 1 if you have WINDOW _flags as internal structure.])
+fi
if test "$ac_cv_window_has_flags" = yes
then
diff --git a/pyconfig.h.in b/pyconfig.h.in
index 3ca3a4f..484c817 100644
--- a/pyconfig.h.in
+++ b/pyconfig.h.in
@@ -1130,6 +1130,12 @@
/* Define if mvwdelch in curses.h is an expression. */
#undef MVWDELCH_IS_EXPRESSION
+/* Define to 1 if you have WINDOW _flags as internal structure. */
+#undef NCURSES_INTERNALS
+
+/* Define to 0 if you have WINDOW _flags in non-opaque structure. */
+#undef NCURSES_OPAQUE
+
/* Define to the address where bug reports for this package should be sent. */
#undef PACKAGE_BUGREPORT
--
1.6.4

View File

@ -6,6 +6,7 @@
, groff, docSupport ? false , groff, docSupport ? false
, libyaml, yamlSupport ? true , libyaml, yamlSupport ? true
, ruby_1_9_3, autoreconfHook, bison, useRailsExpress ? true , ruby_1_9_3, autoreconfHook, bison, useRailsExpress ? true
, libiconv, libobjc
}: }:
let let
@ -44,7 +45,8 @@ stdenv.mkDerivation rec {
# support is not enabled, so add readline to the build inputs if curses # support is not enabled, so add readline to the build inputs if curses
# support is disabled (if it's enabled, we already have it) and we're # support is disabled (if it's enabled, we already have it) and we're
# running on darwin # running on darwin
++ (op (!cursesSupport && stdenv.isDarwin) readline); ++ (op (!cursesSupport && stdenv.isDarwin) readline)
++ (ops stdenv.isDarwin [ libiconv libobjc ]);
enableParallelBuilding = true; enableParallelBuilding = true;

View File

@ -7,6 +7,7 @@
, libyaml, yamlSupport ? true , libyaml, yamlSupport ? true
, libffi, fiddleSupport ? true , libffi, fiddleSupport ? true
, ruby_2_2_0, autoreconfHook, bison, useRailsExpress ? true , ruby_2_2_0, autoreconfHook, bison, useRailsExpress ? true
, libiconv, libobjc, libunwind
}: }:
let let
@ -47,7 +48,8 @@ stdenv.mkDerivation rec {
# support is not enabled, so add readline to the build inputs if curses # support is not enabled, so add readline to the build inputs if curses
# support is disabled (if it's enabled, we already have it) and we're # support is disabled (if it's enabled, we already have it) and we're
# running on darwin # running on darwin
++ (op (!cursesSupport && stdenv.isDarwin) readline); ++ (op (!cursesSupport && stdenv.isDarwin) readline)
++ (ops stdenv.isDarwin [ libiconv libobjc libunwind ]);
enableParallelBuilding = true; enableParallelBuilding = true;

View File

@ -7,6 +7,7 @@
, libyaml, yamlSupport ? true , libyaml, yamlSupport ? true
, libffi, fiddleSupport ? true , libffi, fiddleSupport ? true
, ruby_2_2_2, autoreconfHook, bison, useRailsExpress ? true , ruby_2_2_2, autoreconfHook, bison, useRailsExpress ? true
, libiconv, libobjc, libunwind
}: }:
let let
@ -47,7 +48,8 @@ stdenv.mkDerivation rec {
# support is not enabled, so add readline to the build inputs if curses # support is not enabled, so add readline to the build inputs if curses
# support is disabled (if it's enabled, we already have it) and we're # support is disabled (if it's enabled, we already have it) and we're
# running on darwin # running on darwin
++ (op (!cursesSupport && stdenv.isDarwin) readline); ++ (op (!cursesSupport && stdenv.isDarwin) readline)
++ (ops stdenv.isDarwin [ libiconv libobjc libunwind ]);
enableParallelBuilding = true; enableParallelBuilding = true;

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, pkgconfig, nspr, perl, python, zip }: { stdenv, fetchurl, pkgconfig, nspr, perl, python, zip, libffi, readline }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "17.0.0"; version = "17.0.0";
@ -11,16 +11,26 @@ stdenv.mkDerivation rec {
propagatedBuildInputs = [ nspr ]; propagatedBuildInputs = [ nspr ];
buildInputs = [ pkgconfig perl python zip ]; buildInputs = [ pkgconfig perl python zip libffi readline ];
postUnpack = "sourceRoot=\${sourceRoot}/js/src"; postUnpack = "sourceRoot=\${sourceRoot}/js/src";
postPatch = ''
# Fixes an issue with version detection under perl 5.22.x
sed -i 's/(defined\((@TEMPLATE_FILE)\))/\1/' config/milestone.pl
'';
preConfigure = '' preConfigure = ''
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${nspr}/include/nspr" export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${nspr}/include/nspr"
export LIBXUL_DIST=$out export LIBXUL_DIST=$out
''; '';
configureFlags = [ "--enable-threadsafe" "--with-system-nspr" ]; configureFlags = [
"--enable-threadsafe"
"--with-system-nspr"
"--with-system-ffi"
"--enable-readline"
];
# hack around a make problem, see https://github.com/NixOS/nixpkgs/issues/1279#issuecomment-29547393 # hack around a make problem, see https://github.com/NixOS/nixpkgs/issues/1279#issuecomment-29547393
preBuild = "touch -- {.,shell,jsapi-tests}/{-lpthread,-ldl}"; preBuild = "touch -- {.,shell,jsapi-tests}/{-lpthread,-ldl}";
@ -39,6 +49,8 @@ stdenv.mkDerivation rec {
paxmark mr jsapi-tests/jsapi-tests paxmark mr jsapi-tests/jsapi-tests
''; '';
postInstall = ''rm "$out"/lib/*.a''; # halve the output size
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Mozilla's JavaScript engine written in C/C++"; description = "Mozilla's JavaScript engine written in C/C++";
homepage = https://developer.mozilla.org/en/SpiderMonkey; homepage = https://developer.mozilla.org/en/SpiderMonkey;

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, pkgconfig, nspr, perl, python, zip }: { stdenv, fetchurl, pkgconfig, nspr, perl, python, zip, libffi, readline }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "24.2.0"; version = "24.2.0";
@ -11,7 +11,12 @@ stdenv.mkDerivation rec {
propagatedBuildInputs = [ nspr ]; propagatedBuildInputs = [ nspr ];
buildInputs = [ pkgconfig perl python zip ]; buildInputs = [ pkgconfig perl python zip libffi readline ];
postPatch = ''
# Fixes an issue with version detection under perl 5.22.x
sed -i 's/(defined\((@TEMPLATE_FILE)\))/\1/' config/milestone.pl
'';
postUnpack = "sourceRoot=\${sourceRoot}/js/src"; postUnpack = "sourceRoot=\${sourceRoot}/js/src";
@ -20,7 +25,12 @@ stdenv.mkDerivation rec {
export LIBXUL_DIST=$out export LIBXUL_DIST=$out
''; '';
configureFlags = [ "--enable-threadsafe" "--with-system-nspr" ]; configureFlags = [
"--enable-threadsafe"
"--with-system-nspr"
"--with-system-ffi"
"--enable-readline"
];
# hack around a make problem, see https://github.com/NixOS/nixpkgs/issues/1279#issuecomment-29547393 # hack around a make problem, see https://github.com/NixOS/nixpkgs/issues/1279#issuecomment-29547393
preBuild = "touch -- {.,shell,jsapi-tests}/{-lpthread,-ldl}"; preBuild = "touch -- {.,shell,jsapi-tests}/{-lpthread,-ldl}";

View File

@ -14,6 +14,9 @@ assert x11Support -> (x11 != null && libXrandr != null);
assert alsaSupport -> alsaLib != null; assert alsaSupport -> alsaLib != null;
assert pulseaudioSupport -> libpulseaudio != null; assert pulseaudioSupport -> libpulseaudio != null;
let
inherit (stdenv.lib) optional optionals;
in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "1.2.15"; version = "1.2.15";
name = "SDL-${version}"; name = "SDL-${version}";
@ -23,19 +26,19 @@ stdenv.mkDerivation rec {
sha256 = "005d993xcac8236fpvd1iawkz4wqjybkpn8dbwaliqz5jfkidlyn"; sha256 = "005d993xcac8236fpvd1iawkz4wqjybkpn8dbwaliqz5jfkidlyn";
}; };
nativeBuildInputs = [ pkgconfig ];
# Since `libpulse*.la' contain `-lgdbm', PulseAudio must be propagated. # Since `libpulse*.la' contain `-lgdbm', PulseAudio must be propagated.
propagatedNativeBuildInputs = propagatedBuildInputs =
stdenv.lib.optionals x11Support [ x11 libXrandr ] ++ optionals x11Support [ x11 libXrandr ] ++
stdenv.lib.optional alsaSupport alsaLib ++ optional alsaSupport alsaLib ++
stdenv.lib.optional pulseaudioSupport libpulseaudio; optional stdenv.isLinux libcap ++
optional openglSupport mesa ++
optional pulseaudioSupport libpulseaudio;
buildInputs = let buildInputs = let
notMingw = !(stdenv ? cross) || stdenv.cross.libc != "msvcrt"; notMingw = !(stdenv ? cross) || stdenv.cross.libc != "msvcrt";
in stdenv.lib.optional stdenv.isLinux libcap in optional notMingw audiofile;
++ (stdenv.lib.optional notMingw audiofile);
nativeBuildInputs = [ pkgconfig ] ++
stdenv.lib.optional openglSupport [ mesa ];
# XXX: By default, SDL wants to dlopen() PulseAudio, in which case # XXX: By default, SDL wants to dlopen() PulseAudio, in which case
# we must arrange to add it to its RPATH; however, `patchelf' seems # we must arrange to add it to its RPATH; however, `patchelf' seems

View File

@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
stdenv.lib.optional pulseaudioSupport libpulseaudio; stdenv.lib.optional pulseaudioSupport libpulseaudio;
buildInputs = [ pkgconfig audiofile ] ++ buildInputs = [ pkgconfig audiofile ] ++
stdenv.lib.optional openglSupport [ mesa ] ++ stdenv.lib.optional openglSupport mesa ++
stdenv.lib.optional alsaSupport alsaLib; stdenv.lib.optional alsaSupport alsaLib;
# https://bugzilla.libsdl.org/show_bug.cgi?id=1431 # https://bugzilla.libsdl.org/show_bug.cgi?id=1431

View File

@ -2,14 +2,14 @@
, intltool, dbus_glib, at_spi2_core, libSM }: , intltool, dbus_glib, at_spi2_core, libSM }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
versionMajor = "2.12"; versionMajor = "2.16";
versionMinor = "1"; versionMinor = "0";
moduleName = "at-spi2-atk"; moduleName = "at-spi2-atk";
name = "${moduleName}-${versionMajor}.${versionMinor}"; name = "${moduleName}-${versionMajor}.${versionMinor}";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${name}.tar.xz"; url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${name}.tar.xz";
sha256 = "5fa9c527bdec028e06797563cd52d49bcf06f638549df983424d88db89bb1336"; sha256 = "1y9gfz1iz3wpja7s000f0bmyyvc6im5fcdl6bxwbz0v3qdgc9vvq";
}; };
buildInputs = [ python pkgconfig popt atk libX11 libICE xlibs.libXtst libXi buildInputs = [ python pkgconfig popt atk libX11 libICE xlibs.libXtst libXi

View File

@ -2,14 +2,14 @@
, libX11, xextproto, libSM, libICE, libXtst, libXi, gobjectIntrospection }: , libX11, xextproto, libSM, libICE, libXtst, libXi, gobjectIntrospection }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
versionMajor = "2.12"; versionMajor = "2.16";
versionMinor = "0"; versionMinor = "0";
moduleName = "at-spi2-core"; moduleName = "at-spi2-core";
name = "${moduleName}-${versionMajor}.${versionMinor}"; name = "${moduleName}-${versionMajor}.${versionMinor}";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${name}.tar.xz"; url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${name}.tar.xz";
sha256 = "12gvsgdaxnxskndlhlmdkc50cfqgmzfc4n8la9944fz5k3fhwmfv"; sha256 = "1l3l39mw23zyjlcqidvkyqlr4gwbhplzw2hcv3qvn6p8ikxpf2qw";
}; };
buildInputs = [ buildInputs = [

View File

@ -32,8 +32,7 @@ stdenv.mkDerivation rec {
patches = [ ./blitz-gcc47.patch ./blitz-testsuite-stencil-et.patch ]; patches = [ ./blitz-gcc47.patch ./blitz-testsuite-stencil-et.patch ];
buildInputs = [ pkgconfig gfortran texinfo ] buildInputs = [ pkgconfig gfortran texinfo ]
++ optional (boost != null) boost ++ optional (boost != null) [ boost.lib ];
;
configureFlags = configureFlags =
[ "--enable-shared" [ "--enable-shared"

View File

@ -27,7 +27,9 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true; enableParallelBuilding = true;
preInstall = '' preInstall = ''
patchShebangs src/scripts if [ -d src/scripts ]; then
patchShebangs src/scripts
fi
''; '';
postInstall = '' postInstall = ''

View File

@ -1,4 +1,4 @@
{ fetchurl, stdenv, unzip, libtool }: { fetchurl, stdenv, unzip }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "crypto++-5.6.2"; name = "crypto++-5.6.2";
@ -8,45 +8,38 @@ stdenv.mkDerivation rec {
sha256 = "0x1mqpz1v071cfrw4grbw7z734cxnpry1qh2b6rsmcx6nkyd5gsw"; sha256 = "0x1mqpz1v071cfrw4grbw7z734cxnpry1qh2b6rsmcx6nkyd5gsw";
}; };
patches = (stdenv.lib.optional (stdenv.system != "i686-cygwin") ./dll.patch) patches = with stdenv;
++ (stdenv.lib.optional stdenv.isDarwin ./GNUmakefile.patch); lib.optional (system != "i686-cygwin") ./dll.patch
++ lib.optional isDarwin ./GNUmakefile.patch;
buildInputs = [ unzip libtool ]; buildInputs = [ unzip ];
# Unpack the thing in a subdirectory. sourceRoot = ".";
unpackPhase = ''
echo "unpacking Crypto++ to \`${name}' from \`$PWD'..."
mkdir "${name}" && (cd "${name}" && unzip "$src")
sourceRoot="$PWD/${name}"
'';
cxxflags = if stdenv.isi686 then "-march=i686" else configurePhase = let
if stdenv.isx86_64 then "-march=nocona -fPIC" else marchflags =
""; if stdenv.isi686 then "-march=i686" else
if stdenv.isx86_64 then "-march=nocona -mtune=generic" else
"";
in
''
sed -i GNUmakefile \
-e 's|-march=native|${marchflags} -fPIC|g' \
-e 's|-mtune=native||g' \
-e '/^CXXFLAGS =/s|-g ||'
'';
configurePhase = '' enableParallelBuilding = true;
sed -i GNUmakefile \
-e 's|-march=native|${cxxflags}|g' \
-e 's|-mtune=native||g' \
-e '/^CXXFLAGS =/s|-g -O2|-O3|'
'';
# I add what 'enableParallelBuilding' would add to the make call, makeFlags = "PREFIX=$(out)";
# if we were using the generic build phase. buildFlags = "libcryptopp.so";
buildPhase = ''
make PREFIX="$out" all libcryptopp.so -j$NIX_BUILD_CORES -l$NIX_BUILD_CORES
'';
# TODO: Installing cryptotest.exe doesn't seem to be necessary. We run
# that binary during this build anyway to verify everything works.
installPhase = ''
mkdir "$out"
make install PREFIX="$out"
'';
doCheck = true; doCheck = true;
checkPhase = "LD_LIBRARY_PATH=`pwd` make test"; checkPhase = "LD_LIBRARY_PATH=`pwd` make test";
# prefer -fPIC and .so to .a; cryptotest.exe seems superfluous
postInstall = ''rm "$out"/lib/*.a -r "$out/bin" '';
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Crypto++, a free C++ class library of cryptographic schemes"; description = "Crypto++, a free C++ class library of cryptographic schemes";
homepage = http://cryptopp.com/; homepage = http://cryptopp.com/;
@ -55,3 +48,4 @@ stdenv.mkDerivation rec {
maintainers = [ ]; maintainers = [ ];
}; };
} }

View File

@ -22,6 +22,7 @@ stdenv.mkDerivation rec {
configureFlags = [ configureFlags = [
(if cxxSupport then "--enable-cxx" else "--disable-cxx") (if cxxSupport then "--enable-cxx" else "--disable-cxx")
(if compat185 then "--enable-compat185" else "--disable-compat185") (if compat185 then "--enable-compat185" else "--disable-compat185")
"--enable-dbm"
]; ];
preConfigure = '' preConfigure = ''

View File

@ -7,8 +7,8 @@ assert x11Support -> libX11 != null
&& libSM != null; && libSM != null;
let let
version = "1.8.16"; version = "1.8.18";
sha256 = "01rba8mp8kqvmy6ibdmi806kjr3m14swnskqk02gyhykxxl54ybz"; sha256 = "1wn4k142m68d8yqd4i6dmx1ac0798yhkdnkk4mb72g3sfyffpwin";
inherit (stdenv) lib; inherit (stdenv) lib;

View File

@ -3,14 +3,14 @@
let let
ver_maj = "2.31"; ver_maj = "2.31";
ver_min = "3"; ver_min = "4";
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "gdk-pixbuf-${ver_maj}.${ver_min}"; name = "gdk-pixbuf-${ver_maj}.${ver_min}";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/gdk-pixbuf/${ver_maj}/${name}.tar.xz"; url = "mirror://gnome/sources/gdk-pixbuf/${ver_maj}/${name}.tar.xz";
sha256 = "ddd861747bb7c580acce7cfa3ce38c3f52a9516e66a6477988fd100c8fb9eabc"; sha256 = "05bslhk33qpssg66n2wys9khyzwkr4am0b23dym8n67qjds9gng5";
}; };
setupHook = ./setup-hook.sh; setupHook = ./setup-hook.sh;
@ -26,7 +26,8 @@ stdenv.mkDerivation rec {
+ stdenv.lib.optionalString (gobjectIntrospection != null) " --enable-introspection=yes" + stdenv.lib.optionalString (gobjectIntrospection != null) " --enable-introspection=yes"
; ;
doCheck = true; # Seems to randomly fail sometimes with a bus error. FIXME
doCheck = !stdenv.isDarwin;
postInstall = "rm -rf $out/share/gtk-doc"; postInstall = "rm -rf $out/share/gtk-doc";

View File

@ -1,23 +1,15 @@
findGdkPixbufLoaders() { findGdkPixbufLoaders() {
if [ -n "$out" ] && [ -z "$IN_NIX_SHELL" ]; then # choose the longest loaders.cache
local loadersCache="$1/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache"
# set pixbuf loaders.cache for this package if [ -f "$loadersCache" ]; then
if [ -f "$GDK_PIXBUF_MODULE_FILE" ]; then
local loadersDir="$out/lib/gdk-pixbuf-loaders-2.0/$name" if [ $(cat "$loadersCache"|wc -l) -gt $(cat "$GDK_PIXBUF_MODULE_FILE"|wc -l) ]; then
mkdir -p "$loadersDir" export GDK_PIXBUF_MODULE_FILE="$loadersCache"
fi
if [ -f "$1/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache" ]; then else
cat "$1/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache" >> "$loadersDir/loaders.cache" export GDK_PIXBUF_MODULE_FILE="$loadersCache"
fi fi
if [ -f "$1/lib/gdk-pixbuf/loaders.cache" ]; then
cat "$1/lib/gdk-pixbuf/loaders.cache" >> "$loadersDir/loaders.cache"
fi
# note, this is not a search path
export GDK_PIXBUF_MODULE_FILE=$(readlink -e "$loadersDir/loaders.cache")
fi fi
} }

View File

@ -19,7 +19,12 @@ stdenv.mkDerivation (rec {
"--with-included-gettext" "--with-included-gettext"
"--with-included-glib" "--with-included-glib"
"--with-included-libcroco" "--with-included-libcroco"
]); ])
# avoid retaining reference to CF during stdenv bootstrap
++ (stdenv.lib.optionals stdenv.isDarwin [
"gt_cv_func_CFPreferencesCopyAppValue=no"
"gt_cv_func_CFLocaleCopyCurrent=no"
]);
# On cross building, gettext supposes that the wchar.h from libc # On cross building, gettext supposes that the wchar.h from libc
# does not fulfill gettext needs, so it tries to work with its # does not fulfill gettext needs, so it tries to work with its

View File

@ -40,7 +40,7 @@ let
''; '';
ver_maj = "2.44"; ver_maj = "2.44";
ver_min = "0"; ver_min = "1";
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -48,7 +48,7 @@ stdenv.mkDerivation rec {
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/glib/${ver_maj}/${name}.tar.xz"; url = "mirror://gnome/sources/glib/${ver_maj}/${name}.tar.xz";
sha256 = "1fgmjv3yzxgbks31h42201x2izpw0sd84h8dfw0si3x00sqn5lzj"; sha256 = "01yabrfp64i11mrks3p1gcks99lw0zm7f5vhkc53sl4amyndw4c8";
}; };
patches = optional stdenv.isDarwin ./darwin-compilation.patch ++ optional doCheck ./skip-timer-test.patch; patches = optional stdenv.isDarwin ./darwin-compilation.patch ++ optional doCheck ./skip-timer-test.patch;

View File

@ -11,6 +11,12 @@ make_glib_find_gsettings_schemas() {
envHooks+=(make_glib_find_gsettings_schemas) envHooks+=(make_glib_find_gsettings_schemas)
glibPreFixupPhase() { glibPreFixupPhase() {
# Move gschemas in case the install flag didn't help
if [ -d "$out/share/glib-2.0/schemas" ]; then
mkdir -p "$out/share/gsettings-schemas/$name/glib-2.0"
mv "$out/share/glib-2.0/schemas" "$out/share/gsettings-schemas/$name/glib-2.0/"
fi
addToSearchPath GSETTINGS_SCHEMAS_PATH "$out/share/gsettings-schemas/$name" addToSearchPath GSETTINGS_SCHEMAS_PATH "$out/share/gsettings-schemas/$name"
} }

View File

@ -21,7 +21,8 @@ stdenv.mkDerivation rec {
then "ln -sf configfsf.guess config.guess" then "ln -sf configfsf.guess config.guess"
else ''echo "Darwin host is `./config.guess`."''; else ''echo "Darwin host is `./config.guess`."'';
configureFlags = if cxx then "--enable-cxx" else "--disable-cxx"; configureFlags = (if cxx then "--enable-cxx" else "--disable-cxx") +
stdenv.lib.optionalString stdenv.isDarwin " ac_cv_build=x86_64-apple-darwin13.4.0 ac_cv_host=x86_64-apple-darwin13.4.0";
# The test t-lucnum_ui fails (on Linux/x86_64) when built with GCC 4.8. # The test t-lucnum_ui fails (on Linux/x86_64) when built with GCC 4.8.
# Newer versions of GMP don't have that issue anymore. # Newer versions of GMP don't have that issue anymore.

View File

@ -1,6 +1,6 @@
{ stdenv, fetchurl, m4, cxx ? true, withStatic ? true }: { stdenv, fetchurl, m4, cxx ? true, withStatic ? true }:
with { inherit (stdenv.lib) optional; }; with { inherit (stdenv.lib) optional optionalString; };
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "gmp-5.1.3"; name = "gmp-5.1.3";
@ -28,6 +28,13 @@ stdenv.mkDerivation rec {
++ optional stdenv.is64bit "--with-pic" ++ optional stdenv.is64bit "--with-pic"
; ;
# The config.guess in GMP tries to runtime-detect various
# ARM optimization flags via /proc/cpuinfo (and is also
# broken on multicore CPUs). Avoid this impurity.
preConfigure = optionalString stdenv.isArm ''
configureFlagsArray+=("--build=$(./configfsf.guess)")
'';
doCheck = true; doCheck = true;
dontDisableStatic = withStatic; dontDisableStatic = withStatic;

View File

@ -1,6 +1,6 @@
{ stdenv, fetchurl, m4, cxx ? true, withStatic ? true }: { stdenv, fetchurl, m4, cxx ? true, withStatic ? true }:
with { inherit (stdenv.lib) optional; }; with { inherit (stdenv.lib) optional optionalString; };
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "gmp-6.0.0a"; name = "gmp-6.0.0a";
@ -26,6 +26,13 @@ stdenv.mkDerivation rec {
++ optional stdenv.is64bit "--with-pic" ++ optional stdenv.is64bit "--with-pic"
; ;
# The config.guess in GMP tries to runtime-detect various
# ARM optimization flags via /proc/cpuinfo (and is also
# broken on multicore CPUs). Avoid this impurity.
preConfigure = optionalString stdenv.isArm ''
configureFlagsArray+=("--build=$(./configfsf.guess)")
'';
doCheck = true; doCheck = true;
dontDisableStatic = withStatic; dontDisableStatic = withStatic;

View File

@ -7,15 +7,21 @@
assert guileBindings -> guile != null; assert guileBindings -> guile != null;
let
inherit (stdenv.lib) optional optionals optionalString;
in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "gnutls-${version}"; name = "gnutls-${version}";
inherit src patches; inherit src patches;
configureFlags = [ configureFlags =
# FIXME: perhaps use $SSL_CERT_FILE instead
optional stdenv.isLinux "--with-default-trust-store-file=/etc/ssl/certs/ca-certificates.crt"
++ [
"--disable-dependency-tracking" "--disable-dependency-tracking"
"--enable-fast-install" "--enable-fast-install"
] ++ stdenv.lib.optional guileBindings ] ++ optionals guileBindings
[ "--enable-guile" "--with-guile-site-dir=\${out}/share/guile/site" ]; [ "--enable-guile" "--with-guile-site-dir=\${out}/share/guile/site" ];
# Build of the Guile bindings is not parallel-safe. See # Build of the Guile bindings is not parallel-safe. See
@ -24,9 +30,9 @@ stdenv.mkDerivation rec {
enableParallelBuilding = !guileBindings; enableParallelBuilding = !guileBindings;
buildInputs = [ lzo lzip nettle libtasn1 libidn p11_kit zlib gmp ] buildInputs = [ lzo lzip nettle libtasn1 libidn p11_kit zlib gmp ]
++ stdenv.lib.optional stdenv.isLinux trousers ++ optional stdenv.isLinux trousers
++ [ unbound ] ++ [ unbound ]
++ stdenv.lib.optional guileBindings guile; ++ optional guileBindings guile;
nativeBuildInputs = [ perl pkgconfig autoreconfHook ]; nativeBuildInputs = [ perl pkgconfig autoreconfHook ];
@ -35,7 +41,7 @@ stdenv.mkDerivation rec {
doCheck = (!stdenv.isFreeBSD && !stdenv.isDarwin); doCheck = (!stdenv.isFreeBSD && !stdenv.isDarwin);
# Fixup broken libtool and pkgconfig files # Fixup broken libtool and pkgconfig files
preFixup = stdenv.lib.optionalString (!stdenv.isDarwin) '' preFixup = optionalString (!stdenv.isDarwin) ''
sed -e 's,-ltspi,-L${trousers}/lib -ltspi,' \ sed -e 's,-ltspi,-L${trousers}/lib -ltspi,' \
-e 's,-lz,-L${zlib}/lib -lz,' \ -e 's,-lz,-L${zlib}/lib -lz,' \
-e 's,-lgmp,-L${gmp}/lib -lgmp,' \ -e 's,-lgmp,-L${gmp}/lib -lgmp,' \

View File

@ -5,7 +5,7 @@
# In that case its about 6MB which could be separated # In that case its about 6MB which could be separated
let let
ver_maj = "1.42"; ver_maj = "1.44";
ver_min = "0"; ver_min = "0";
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/gobject-introspection/${ver_maj}/${name}.tar.xz"; url = "mirror://gnome/sources/gobject-introspection/${ver_maj}/${name}.tar.xz";
sha256 = "3ba2edfad4f71d4f0de16960b5d5f2511335fa646b2c49bbb93ce5942b3f95f7"; sha256 = "1b972qg2yb51sdavfvb6kc19akwc15c1bwnbg81vadxamql2q33g";
}; };
buildInputs = [ flex bison pkgconfig python ] buildInputs = [ flex bison pkgconfig python ]

View File

@ -1,4 +1,4 @@
{ fetchurl, stdenv }: { fetchurl, fetchpatch, stdenv }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "gsl-1.16"; name = "gsl-1.16";
@ -8,9 +8,16 @@ stdenv.mkDerivation rec {
sha256 = "0lrgipi0z6559jqh82yx8n4xgnxkhzj46v96dl77hahdp58jzg3k"; sha256 = "0lrgipi0z6559jqh82yx8n4xgnxkhzj46v96dl77hahdp58jzg3k";
}; };
# ToDo: there might be more impurities than FMA support check patches = [
patches = [ ./disable-fma.patch ]; # http://lists.gnu.org/archive/html/bug-gsl/2011-11/msg00019.html # ToDo: there might be more impurities than FMA support check
patchFlags = "-p0"; ./disable-fma.patch # http://lists.gnu.org/archive/html/bug-gsl/2011-11/msg00019.html
(fetchpatch {
name = "bug-39055.patch";
url = "http://git.savannah.gnu.org/cgit/gsl.git/patch/?id=9cc12d0377";
sha256 = "1bmrmihi28cly9g9pq54kkix2jy59y7cd7h5fw4v1c7h5rc2qvs8";
})
];
doCheck = true; doCheck = true;

View File

@ -1,5 +1,5 @@
--- configure.ac 2011-09-22 16:13:22 +0000 --- a/configure.ac 2011-09-22 16:13:22 +0000
+++ configure.ac 2011-11-26 23:55:24 +0000 +++ b/configure.ac 2011-11-26 23:55:24 +0000
@@ -381,6 +381,28 @@ @@ -381,6 +381,28 @@
AC_SUBST(HAVE_DARWIN_IEEE_INTERFACE) AC_SUBST(HAVE_DARWIN_IEEE_INTERFACE)
AC_SUBST(HAVE_DARWIN86_IEEE_INTERFACE) AC_SUBST(HAVE_DARWIN86_IEEE_INTERFACE)

View File

@ -18,9 +18,10 @@ stdenv.mkDerivation rec {
}; };
patchPhase = '' patchPhase = ''
sed -i 's@/bin/echo@echo@g' configure sed -i 's@/bin/echo@echo@g' configure
sed -i -e 's/^ /\t/' docs/{libs,plugins}/Makefile.in sed -i -e 's/^ /\t/' docs/{libs,plugins}/Makefile.in
patch -p1 < ${./gcc-4.9.patch}
''; '';
# TODO : v4l, libvisual # TODO : v4l, libvisual

View File

@ -0,0 +1,38 @@
https://bugzilla.gnome.org/show_bug.cgi?id=670690
From 9bd5a7ae5435469c3557a3d70e762791cb3dc5c7 Mon Sep 17 00:00:00 2001
From: Antoine Jacoutot <ajacoutot@gnome.org>
Date: Mon, 20 Jan 2014 15:44:09 +0100
Subject: [PATCH] audioresample: fix build on BSD
On i386, EMMINTRIN is defined but not usable without sse so check for
__SSE__ and __SSE2__ as well.
https://bugzilla.gnome.org/show_bug.cgi?id=670690
---
gst/audioresample/resample.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/gst/audioresample/resample.c b/gst/audioresample/resample.c
index 98d006c..481fa01 100644
--- a/gst/audioresample/resample.c
+++ b/gst/audioresample/resample.c
@@ -77,13 +77,13 @@
#define EXPORT G_GNUC_INTERNAL
#ifdef _USE_SSE
-#ifndef HAVE_XMMINTRIN_H
+#if !defined(__SSE__) || !defined(HAVE_XMMINTRIN_H)
#undef _USE_SSE
#endif
#endif
#ifdef _USE_SSE2
-#ifndef HAVE_EMMINTRIN_H
+#if !defined(__SSE2__) || !defined(HAVE_XMMINTRIN_H)
#undef _USE_SSE2
#endif
#endif
--
1.8.5.3

View File

@ -8,11 +8,11 @@ assert xineramaSupport -> xlibs.libXinerama != null;
assert cupsSupport -> cups != null; assert cupsSupport -> cups != null;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "gtk+-2.24.27"; name = "gtk+-2.24.28";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/gtk+/2.24/${name}.tar.xz"; url = "mirror://gnome/sources/gtk+/2.24/${name}.tar.xz";
sha256 = "1x14rnjvqslpa1q19fp1qalz5sxds72amsgjk8m7769rwk511jr0"; sha256 = "0mj6xn40py9r9lvzg633fal81xfwfm89d9mvz7jk4lmwk0g49imj";
}; };
enableParallelBuilding = true; enableParallelBuilding = true;

Some files were not shown because too many files have changed in this diff Show More