Merge branch 'staging', discussion #8844

Changed files
+4775 -1507
nixos
modules
config
programs
security
services
hardware
system
x11
display-managers
system
activation
boot
etc
pkgs
applications
editors
graphics
xfig
misc
3dfsb
calibre
redshift
xlsfonts
networking
cluster
panamax
instant-messengers
tkabber
irc
weechat
newsreaders
liferea
version-management
git-and-tools
mercurial
subversion
video
minitube
window-managers
xcompmgr
build-support
data
fonts
dejavu-fonts
desktops
gnome-3
3.16
core
gnome-menus
gnome-user-share
xfce
development
compilers
haskell-modules
interpreters
libraries
perl-modules
pure-modules
stldict
stllib
python-modules
tools
build-managers
cmake
gnumake
gnustep
chefdk
misc
binutils
help2man
pkgconfig
profiling
oprofile
web
games
sgt-puzzles
xconq
os-specific
darwin
adv_cmds
apple-sdk
apple-source-releases
CF
adv_cmds
configd
libauto
libsecurity_apple_csp
libsecurity_apple_cspdl
libsecurity_apple_file_dl
libsecurity_apple_x509_cl
libsecurity_apple_x509_tp
libsecurity_asn1
libsecurity_cdsa_client
libsecurity_cdsa_plugin
libsecurity_cdsa_utilities
libsecurity_cdsa_utils
libsecurity_codesigning
libsecurity_cssm
libsecurity_filedb
libsecurity_generic
libsecurity_keychain
libsecurity_mds
libsecurity_ocspd
libsecurity_pkcs12
libsecurity_sd_cspdl
libsecurity_utilities
libsecurityd
security_dotmac_tp
binutils
osx-private-sdk
osx-sdk
security-tool
linux
eudev
kexectools
systemd
usbutils
wpa_supplicant
servers
shells
stdenv
tools
X11
xdg-utils
archivers
gnutar
sharutils
backup
bareos
filesystems
misc
networking
security
crackxls
pinentry
sbsigntool
text
gawk
groff
recode
typesetting
tex
tetex
top-level
+1 -1
nixos/modules/config/krb5.nix
···
config = mkIf config.krb5.enable {
-
environment.systemPackages = [ pkgs.krb5 ];
+
environment.systemPackages = [ pkgs.krb5Full ];
environment.etc."krb5.conf".text =
''
+1 -1
nixos/modules/programs/venus.nix
···
script = "exec venus-planet ${configFile}";
serviceConfig.User = "${cfg.user}";
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;
};
-2
nixos/modules/security/ca.nix
···
environment.sessionVariables =
{ 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.
GIT_SSL_CAINFO = "/etc/ssl/certs/ca-certificates.crt";
};
+3
nixos/modules/services/hardware/udev.nix
···
# Perform substitutions in all udev rules files.
udevRules = stdenv.mkDerivation {
name = "udev-rules";
+
preferLocalBuild = true;
+
allowSubstitutes = false;
+
buildCommand = ''
mkdir -p $out
shopt -s nullglob
+3
nixos/modules/services/system/dbus.nix
···
configDir = pkgs.stdenv.mkDerivation {
name = "dbus-conf";
+
preferLocalBuild = true;
+
allowSubstitutes = false;
+
buildCommand = ''
mkdir -p $out
+1 -1
nixos/modules/services/x11/display-managers/lightdm.nix
···
makeWrapper ${pkgs.lightdm_gtk_greeter}/sbin/lightdm-gtk-greeter \
$out/greeter \
--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_EXE_PREFIX "${theme}" \
--set GTK_DATA_PREFIX "${theme}" \
+1
nixos/modules/system/activation/top-level.nix
···
if [] == failed then pkgs.stdenv.mkDerivation {
name = "nixos-${config.system.nixosVersion}";
preferLocalBuild = true;
+
allowSubstitutes = false;
buildCommand = systemBuilder;
inherit (pkgs) utillinux coreutils;
+13 -3
nixos/modules/system/boot/systemd-lib.nix
···
pathSafeName = lib.replaceChars ["@" ":" "\\"] ["-" "-" "-"] name;
in
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
echo -n "$text" > $out/${shellEscape name}
''
else
-
pkgs.runCommand "unit-${pathSafeName}-disabled" { preferLocalBuild = true; }
+
pkgs.runCommand "unit-${pathSafeName}-disabled"
+
{ preferLocalBuild = true;
+
allowSubstitutes = false;
+
}
''
mkdir -p $out
ln -s /dev/null $out/${shellEscape name}
···
as));
generateUnits = type: units: upstreamUnits: upstreamWants:
-
pkgs.runCommand "${type}-units" { preferLocalBuild = true; } ''
+
pkgs.runCommand "${type}-units"
+
{ preferLocalBuild = true;
+
allowSubstitutes = false;
+
} ''
mkdir -p $out
# Copy the upstream systemd units we're interested in.
+1
nixos/modules/system/etc/etc.nix
···
builder = ./make-etc.sh;
preferLocalBuild = true;
+
allowSubstitutes = false;
/* !!! Use toXML. */
sources = map (x: x.source) etc';
+2 -1
pkgs/applications/editors/heme/default.nix
···
substituteInPlace Makefile \
--replace "/usr/local" "$out" \
--replace "CFLAGS = " "CFLAGS = -I${ncurses}/include " \
-
--replace "LDFLAGS = " "LDFLAGS = -L${ncurses}/lib "
+
--replace "LDFLAGS = " "LDFLAGS = -L${ncurses}/lib " \
+
--replace "-lcurses" "-lncurses"
'';
preBuild = ''
mkdir -p $out/bin
+2 -2
pkgs/applications/editors/jedit/default.nix
···
let
version = "5.2.0";
bsh = fetchurl {
-
url = http://www.beanshell.org/bsh-2.0b4.jar;
-
sha256 = "1di7hj2yms1m3wa8k70jpw0wzfnrgibpqnvdk33ahfaqi03mqfci";
+
url = http://www.beanshell.org/bsh-2.0b5.jar;
+
sha256 = "0p2sxrpzd0vsk11zf3kb5h12yl1nq4yypb5mpjrm8ww0cfaijck2";
};
bcpg = fetchurl {
url = http://central.maven.org/maven2/org/bouncycastle/bcpg-jdk16/1.46/bcpg-jdk16-1.46.jar;
+12 -2
pkgs/applications/editors/vim/default.nix
···
-
{ stdenv, fetchhg, ncurses, gettext, pkgconfig }:
+
{ stdenv, fetchhg, ncurses, gettext, pkgconfig
+
+
# apple frameworks
+
, CoreServices, CoreData, Cocoa, Foundation, libobjc }:
stdenv.mkDerivation rec {
name = "vim-${version}";
···
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;
-
buildInputs = [ ncurses pkgconfig ];
+
buildInputs = [ ncurses pkgconfig ]
+
++ stdenv.lib.optionals stdenv.isDarwin [ CoreData CoreServices Cocoa Foundation libobjc ];
nativeBuildInputs = [ gettext ];
configureFlags = [
+1 -2
pkgs/applications/graphics/xfig/builder.sh
···
# We need chmod +wx on dirs, not just chmod +w
dontMakeSourcesWritable=1
postUnpack() {
-
find . -type d | xargs -n1 chmod +x
-
find . -type d | xargs -n1 chmod +x
+
find . -type d -exec chmod +x '{}' \;
}
preBuild() {
+1 -1
pkgs/applications/misc/3dfsb/default.nix
···
buildPhase = "sh ./compile.sh";
dontStrip = true;
-
installPhase = "mkdir $out/bin/ && cp 3dfsb $out/bin/";
+
installPhase = "mkdir -p $out/bin/ && cp 3dfsb $out/bin/";
preFixup = ''
wrapProgram $out/bin/3dfsb \
+2 -2
pkgs/applications/misc/calibre/default.nix
···
{ 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
, xdg_utils
}:
···
buildInputs =
[ 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.cssutils pythonPackages.beautifulsoup pythonPackages.pillow
pythonPackages.sqlite3 pythonPackages.netifaces pythonPackages.apsw
+2 -2
pkgs/applications/misc/redshift/default.nix
···
substituteInPlace src/redshift-gtk/redshift-gtk python \
--replace "/usr/bin/env python3" "${python}/bin/${python.executable}"
'';
-
+
/*
postInstall = ''
wrapProgram "$out/bin/redshift-gtk" --prefix PYTHONPATH : $PYTHONPATH
'';
-
+
*/
meta = with stdenv.lib; {
inherit version;
description = "Gradually change screen color temperature";
-23
pkgs/applications/misc/xlsfonts/default.nix
···
-
# 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;
-
};
-
}
-1
pkgs/applications/networking/cluster/panamax/api/default.nix
···
--prefix "PATH" : "$out/share/panamax-api/bin:${env.ruby}/bin:$PATH" \
--prefix "HOME" : "$out/share/panamax-api" \
--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 "GEM_PATH" : "$out/share/panamax-api:${bundler}/${env.ruby.gemPath}"
'';
+1 -1
pkgs/applications/networking/instant-messengers/tkabber/default.nix
···
postPatch = ''
substituteInPlace login.tcl --replace \
"custom::defvar loginconf(sslcacertstore) \"\"" \
-
"custom::defvar loginconf(sslcacertstore) \$env(OPENSSL_X509_CERT_FILE)"
+
"custom::defvar loginconf(sslcacertstore) \$env(SSL_CERT_FILE)"
'' + optionalString (theme != null) ''
themePath="$out/share/doc/tkabber/examples/xrdb/${theme}.xrdb"
sed -i '/^if.*load_default_xrdb/,/^}$/ {
+2 -1
pkgs/applications/networking/irc/weechat/default.nix
···
{ stdenv, fetchurl, ncurses, openssl, perl, python, aspell, gnutls
, zlib, curl , pkgconfig, libgcrypt, ruby, lua5, tcl, guile
-
, pythonPackages, cacert, cmake, makeWrapper
+
, pythonPackages, cacert, cmake, makeWrapper, libobjc
, extraBuildInputs ? [] }:
stdenv.mkDerivation rec {
···
[ ncurses perl python openssl aspell gnutls zlib curl pkgconfig
libgcrypt ruby lua5 tcl guile pythonPackages.pycrypto makeWrapper
cacert cmake ]
+
++ stdenv.lib.optionals stdenv.isDarwin [ pythonPackages.pync libobjc ]
++ extraBuildInputs;
NIX_CFLAGS_COMPILE = "-I${python}/include/${python.libPrefix} -DCA_FILE=${cacert}/etc/ssl/certs/ca-bundle.crt";
-2
pkgs/applications/networking/newsreaders/liferea/default.nix
···
];
preFixup = ''
-
rm $out/share/icons/hicolor/icon-theme.cache
-
for f in "$out"/bin/*; do
wrapProgram "$f" \
--prefix PYTHONPATH : "$(toPythonPath $out):$(toPythonPath ${pygobject3})" \
+1 -1
pkgs/applications/version-management/git-and-tools/git/cert-path.patch
···
return;
}
-
+ $smtp_ssl_cert_path //= $ENV{'OPENSSL_X509_CERT_FILE'};
+
+ $smtp_ssl_cert_path //= $ENV{'SSL_CERT_FILE'};
+
if (!defined $smtp_ssl_cert_path) {
# use the OpenSSL defaults
+5 -1
pkgs/applications/version-management/mercurial/default.nix
···
{ stdenv, fetchurl, python, makeWrapper, docutils, unzip, hg-git, dulwich
-
, guiSupport ? false, tk ? null, curses, cacert }:
+
, guiSupport ? false, tk ? null, curses, cacert
+
+
, ApplicationServices }:
let
version = "3.3.3";
···
pythonPackages = [ curses ];
buildInputs = [ python makeWrapper docutils unzip ];
+
+
propagatedBuildInputs = stdenv.lib.optional stdenv.isDarwin ApplicationServices;
makeFlags = "PREFIX=$(out)";
+1 -1
pkgs/applications/version-management/subversion/default.nix
···
${if httpServer then "--with-apxs=${apacheHttpd}/bin/apxs" else "--without-apxs"}
${if pythonBindings || perlBindings then "--with-swig=${swig}" else "--without-swig"}
${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 httpSupport then "--with-serf=${serf}" else "--without-serf"}
--with-zlib=${zlib}
+43
pkgs/applications/video/minitube/default.nix
···
+
{ 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"
+
'';
+
}
-22
pkgs/applications/window-managers/xcompmgr/default.nix
···
-
{ 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;
-
};
-
}
+1 -2
pkgs/build-support/cc-wrapper/default.nix
···
, cc ? null, libc ? null, binutils ? null, coreutils ? null, shell ? stdenv.shell
, zlib ? null, extraPackages ? []
, dyld ? null # TODO: should this be a setup-hook on dyld?
-
, setupHook ? ./setup-hook.sh
, isGNU ? false, isClang ? false
}:
···
''
+ ''
-
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
rm $out/nix-support/setup-hook.tmp
-44
pkgs/build-support/cc-wrapper/setup-hook-stdinc.sh
···
-
# 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++
+1 -1
pkgs/build-support/cc-wrapper/setup-hook.sh
···
addCVars () {
if [ -d $1/include ]; then
-
export NIX_CFLAGS_COMPILE+=" -isystem $1/include"
+
export NIX_CFLAGS_COMPILE+=" ${ccIncludeFlag:--isystem} $1/include"
fi
if [ -d $1/lib64 -a ! -L $1/lib64 ]; then
+1
pkgs/build-support/trivial-builders.nix
···
passAsFile = [ "text" ];
# Pointless to do this on a remote machine.
preferLocalBuild = true;
+
allowSubstitutes = false;
}
''
n=$out${destination}
+2 -2
pkgs/data/fonts/dejavu-fonts/default.nix
···
{fetchurl, stdenv, fontforge, perl, fontconfig, FontTTF}:
-
let version = "2.34" ; in
+
let version = "2.35" ; in
stdenv.mkDerivation rec {
name = "dejavu-fonts-${version}";
···
src = fetchurl {
url = "mirror://sourceforge/dejavu/dejavu-fonts-${version}.tar.bz2";
-
sha256 = "09wh9c9kk82i4kwy73fcqa0779bvf0ncikciqw2gxa9m2rkrxjmm";
+
sha256 = "1xdbi4llrq1qbkd73352ibrfqcbz93dww8hab216qz5szd95yvv4";
};
buildFlags = "full-ttf";
preBuild = ''
-2
pkgs/desktops/gnome-3/3.16/core/gnome-menus/default.nix
···
makeFlags = "INTROSPECTION_GIRDIR=$(out)/share/gir-1.0/ INTROSPECTION_TYPELIBDIR=$(out)/lib/girepository-1.0";
-
preBuild = "patchShebangs ./scripts";
-
buildInputs = [ intltool pkgconfig glib gobjectIntrospection ];
meta = {
+1 -1
pkgs/desktops/gnome-3/3.16/core/gnome-user-share/default.nix
···
'';
preFixup = ''
-
wrapProgram "$out/libexec/gnome-user-share" \
+
wrapProgram "$out/libexec/gnome-user-share-webdav" \
--set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
--prefix XDG_DATA_DIRS : "$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
'';
+2 -2
pkgs/desktops/xfce/core/exo.nix
···
stdenv.mkDerivation rec {
p_name = "exo";
ver_maj = "0.10";
-
ver_min = "4";
+
ver_min = "6";
src = fetchurl {
url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
-
sha256 = "cced5fdbc0b61a5d976210ff71ecdd81b89fcd15e5860a44f50da7b83fb2deaa";
+
sha256 = "1cc0e5a432e050a5e5aa64d126b988f4440da4f27474aaf42a4d8e13651d0752";
};
name = "${p_name}-${ver_maj}.${ver_min}";
+2 -2
pkgs/desktops/xfce/core/thunar.nix
···
stdenv.mkDerivation rec {
p_name = "thunar";
ver_maj = "1.6";
-
ver_min = "6";
+
ver_min = "10";
src = fetchurl {
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}";
+2 -2
pkgs/desktops/xfce/core/xfdesktop.nix
···
stdenv.mkDerivation rec {
p_name = "xfdesktop";
ver_maj = "4.12";
-
ver_min = "0";
+
ver_min = "2";
src = fetchurl {
url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
-
sha256 = "1ivzgg4792nid6wcgd1nq5vc3z0y5ip6ymq7ci5j2qkp663qnykf";
+
sha256 = "c9788883163b57bac39d12e5f8310c869d176454879defb78b67f8e9f1ad5225";
};
name = "${p_name}-${ver_maj}.${ver_min}";
+2 -2
pkgs/desktops/xfce/core/xfwm4.nix
···
stdenv.mkDerivation rec {
p_name = "xfwm4";
ver_maj = "4.12";
-
ver_min = "2";
+
ver_min = "3";
src = fetchurl {
url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
-
sha256 = "5bb5f72b41060d10bd3823f8b69abcd462bbd8853fdf9c82041450ae68e7d75a";
+
sha256 = "f4a988fbc4e0df7e8583c781d271559e56fd28696092f94ae052e9e6edb09eac";
};
name = "${p_name}-${ver_maj}.${ver_min}";
+4 -2
pkgs/development/compilers/gcc/4.8/default.nix
···
with stdenv.lib;
with builtins;
-
let version = "4.8.4";
+
let version = "4.8.5";
# Whether building a cross-compiler for GNU/Hurd.
crossGNU = cross != null && cross.config == "i586-pc-gnu";
···
builder = ../builder.sh;
+
outputs = [ "out" "info" ];
+
src = fetchurl {
url = "mirror://gnu/gcc/gcc-${version}/gcc-${version}.tar.bz2";
-
sha256 = "15c6gwm6dzsaagamxkak5smdkf1rdfbqqjs9jdbrp3lbg4ism02a";
+
sha256 = "08yggr18v373a1ihj0rg2vd6psnic42b518xcgp3r9k81xz1xyr2";
};
inherit patches;
+4 -2
pkgs/development/compilers/gcc/4.9/default.nix
···
with stdenv.lib;
with builtins;
-
let version = "4.9.2";
+
let version = "4.9.3";
# Whether building a cross-compiler for GNU/Hurd.
crossGNU = cross != null && cross.config == "i586-pc-gnu";
···
builder = ../builder.sh;
+
outputs = [ "out" "info" ];
+
src = fetchurl {
url = "mirror://gnu/gcc/gcc-${version}/gcc-${version}.tar.bz2";
-
sha256 = "1pbjp4blk2ycaa6r3jmw4ky5f1s9ji3klbqgv8zs2sl5jn1cj810";
+
sha256 = "0zmnm00d2a1hsd41g34bhvxzvxisa2l584q3p447bd91lfjv4ci3";
};
inherit patches;
+2 -2
pkgs/development/compilers/gcc/5/default.nix
···
with stdenv.lib;
with builtins;
-
let version = "5.1.0";
+
let version = "5.2.0";
# Whether building a cross-compiler for GNU/Hurd.
crossGNU = cross != null && cross.config == "i586-pc-gnu";
···
src = fetchurl {
url = "mirror://gnu/gcc/gcc-${version}/gcc-${version}.tar.bz2";
-
sha256 = "1bd5vj4px3s8nlakbgrh38ynxq4s654m6nxz7lrj03mvkkwgvnmp";
+
sha256 = "1bccp8a106xwz3wkixn65ngxif112vn90qf95m6lzpgpnl25p0sz";
};
inherit patches;
+1 -1
pkgs/development/compilers/ghc/7.0.4-binary.nix
···
configurePhase = ''
./configure --prefix=$out \
--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
+1 -1
pkgs/development/compilers/ghc/7.0.4.nix
···
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";
NIX_CFLAGS_COMPILE = "-fomit-frame-pointer";
+1 -1
pkgs/development/compilers/ghc/7.2.2.nix
···
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";
NIX_CFLAGS_COMPILE = "-fomit-frame-pointer";
+1 -1
pkgs/development/compilers/ghc/7.4.2-binary.nix
···
configurePhase = ''
./configure --prefix=$out \
--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
+1 -1
pkgs/development/compilers/ghc/7.4.2.nix
···
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";
# required, because otherwise all symbols from HSffi.o are stripped, and
+1 -1
pkgs/development/compilers/ghc/7.6.3.nix
···
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";
postInstall = ''
+1 -1
pkgs/development/compilers/go/1.3.nix
···
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";
GOARCH = if stdenv.isDarwin then "amd64"
+13 -3
pkgs/development/compilers/go/1.4.nix
···
-
{ 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
loader386 = "${glibc}/lib/ld-linux.so.2";
···
# perl is used for testing go vet
buildInputs = [ bison bash makeWrapper perl ]
-
++ lib.optionals stdenv.isLinux [ glibc ]
-
++ lib.optionals stdenv.isDarwin [ Security ];
+
++ lib.optionals stdenv.isLinux [ glibc ];
+
+
propagatedBuildInputs = lib.optional stdenv.isDarwin Security;
# I'm not sure what go wants from its 'src', but the go installation manual
# describes an installation keeping the src.
···
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,/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 = [
+46
pkgs/development/compilers/go/R_386_GOT32.patch
···
+
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);
+1 -1
pkgs/development/compilers/llvm/3.6/default.nix
···
{ pkgs, newScope, stdenv, isl, fetchurl, overrideCC, wrapCC }:
let
-
callPackage = newScope (self // { inherit isl version fetch; });
+
callPackage = newScope (self // { inherit stdenv isl version fetch; });
version = "3.6.1";
+1 -1
pkgs/development/compilers/llvm/3.6/llvm.nix
···
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 ];
+8 -5
pkgs/development/compilers/rustc/generic.nix
···
inherit version;
inherit meta;
+
__impureHostDeps = [ "/usr/lib/libedit.3.dylib" ];
+
src = if isRelease then
fetchzip {
url = "http://static.rust-lang.org/dist/rustc-${version}-src.tar.gz";
···
installPhase = ''
mkdir -p "$out"
cp -r bin "$out/bin"
-
'' + (if stdenv.isLinux then ''
+
'' + stdenv.lib.optionalString stdenv.isLinux ''
patchelf --interpreter "${stdenv.glibc}/lib/${stdenv.cc.dynamicLinker}" \
--set-rpath "${stdenv.cc.cc}/lib/:${stdenv.cc.cc}/lib64/" \
"$out/bin/rustc"
-
'' else "");
+
'';
};
configureFlags = configureFlags
-
++ [ "--enable-local-rust" "--local-rust-root=$snapshot" ]
-
++ stdenv.lib.optional (stdenv.cc ? clang) "--enable-clang";
+
++ [ "--enable-local-rust" "--local-rust-root=$snapshot" "--enable-rpath" ]
+
++ stdenv.lib.optional (stdenv.cc.cc ? isClang) "--enable-clang";
inherit patches;
···
--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;
+2 -2
pkgs/development/compilers/sdcc/default.nix
···
{ stdenv, fetchurl, bison, flex, boost, gputils ? null }:
stdenv.mkDerivation rec {
-
version = "3.4.0";
+
version = "3.5.0";
name = "sdcc-${version}";
src = fetchurl {
url = "mirror://sourceforge/sdcc/sdcc-src-${version}.tar.bz2";
-
sha256 = "1yavxffqdfhdyabdza936xxh9wq4cfwa385g26gjapsdp5ighsng";
+
sha256 = "1aazz0yynr694q0rich7r03qls0zvsjc00il14pb4i22c78phagq";
};
# TODO: remove this comment when gputils != null is tested
+30 -8
pkgs/development/haskell-modules/configuration-common.nix
···
# cabal2nix likes to generate dependencies on hinotify when hfsevents is really required
# 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
# http://openradar.appspot.com/10207999 and similar issues
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
# dependencies.
-
# TODO: use pkgs.darwin.security_tool once we can build it
-
x509-system = let security_tool = "/usr";
-
in overrideCabal super.x509-system (drv: {
-
patchPhase = (drv.patchPhase or "") + pkgs.stdenv.lib.optionalString pkgs.stdenv.isDarwin ''
-
substituteInPlace System/X509/MacOS.hs --replace security ${security_tool}/bin/security
-
'';
-
});
+
x509-system = if pkgs.stdenv.isDarwin && !pkgs.stdenv.cc.nativeLibc
+
then let inherit (pkgs.darwin) security_tool;
+
in pkgs.lib.overrideDerivation (addBuildDepend super.x509-system security_tool) (drv: {
+
patchPhase = (drv.patchPhase or "") + ''
+
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"
base_4_8_0_0 = markBroken super.base_4_8_0_0;
···
# https://github.com/yesodweb/serversession/issues/1
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/409
-7
pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix
···
# 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;
-
# 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 =
let idris' = overrideCabal super.idris (drv: {
# "idris" binary cannot find Idris library otherwise while building.
···
QuickCheck_1_2_0_1 = markBroken super.QuickCheck_1_2_0_1;
seqid-streams_0_1_0 = markBroken super.seqid-streams_0_1_0;
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
timerep = dontCheck super.timerep;
pkgs/development/haskell-modules/gcc-clang-wrapper.sh pkgs/development/compilers/ghc/gcc-clang-wrapper.sh
+11
pkgs/development/interpreters/perl/5.16/default.nix
···
++ lib.optional stdenv.isSunOS ./ld-shared.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
# "installstyle" option to ensure that modules are put under
# $out/lib/perl5 - this is the general default, but because $out
+13
pkgs/development/interpreters/perl/5.20/default.nix
···
patches =
[ # Do not look in /usr etc. for dependencies.
./no-sys-dirs.patch
+
# Remove in 5.20.3
+
./perl-5.20.2-gcc5_fixes-1.patch
]
++ optional stdenv.isSunOS ./ld-shared.patch
++ stdenv.lib.optional stdenv.isDarwin [ ./cpp-precomp.patch ./no-libutil.patch ] ;
+
+
# 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
# "installstyle" option to ensure that modules are put under
+127
pkgs/development/interpreters/perl/5.20/perl-5.20.2-gcc5_fixes-1.patch
···
+
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}) {
+11
pkgs/development/interpreters/perl/5.22/cpp-precomp.patch
···
+
--- 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.
+105
pkgs/development/interpreters/perl/5.22/default.nix
···
+
{ 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;
+
};
+
}
+11
pkgs/development/interpreters/perl/5.22/ld-shared.patch
···
+
--- 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`"
+12
pkgs/development/interpreters/perl/5.22/no-libutil.patch
···
+
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 ! !'`
+250
pkgs/development/interpreters/perl/5.22/no-sys-dirs.patch
···
+
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
+5
pkgs/development/interpreters/perl/5.22/setup-hook.sh
···
+
addPerlLibPath () {
+
addToSearchPath PERL5LIB $1/lib/perl5/site_perl
+
}
+
+
envHooks+=(addPerlLibPath)
+2 -2
pkgs/development/interpreters/php/generic.nix
···
enableParallelBuilding = true;
-
buildInputs = ["flex" "bison" "pkgconfig"];
+
buildInputs = [ flex bison pkgconfig ];
flags = {
···
openssl = {
configureFlags = ["--with-openssl=${openssl}"];
-
buildInputs = ["openssl"];
+
buildInputs = [openssl];
};
mbstring = {
+6
pkgs/development/interpreters/pure/default.nix
···
buildInputs = [ bison flex makeWrapper ];
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" ];
doCheck = true;
checkPhase = ''
+14 -3
pkgs/development/interpreters/pypy/default.nix
···
--replace "libraries=['curses']" "libraries=['ncurses']"
# tkinter hints
-
substituteInPlace lib_pypy/_tkinter/tklib.py \
+
substituteInPlace lib_pypy/_tkinter/tklib_build.py \
--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']"
-
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;
+
+
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;
checkPhase = ''
+2 -2
pkgs/development/interpreters/pypy/setup-hook.sh
···
addPythonPath() {
-
addToSearchPathWithCustomDelimiter : PYTHONPATH $1/lib/pypy2.5/site-packages
+
addToSearchPathWithCustomDelimiter : PYTHONPATH $1/lib/pypy2.6/site-packages
}
toPythonPath() {
local paths="$1"
local result=
for i in $paths; do
-
p="$i/lib/pypy2.5/site-packages"
+
p="$i/lib/pypy2.6/site-packages"
result="${result}${result:+:}$p"
done
echo $result
+14 -1
pkgs/development/interpreters/python/2.7/default.nix
···
, tcl ? null, tk ? null, x11 ? null, libX11 ? null, x11Support ? !stdenv.isCygwin
, zlib ? null, zlibSupport ? true
, expat, libffi
+
+
, CF, configd
}:
assert zlibSupport -> zlib != null;
···
# patch python to put zero timestamp into pyc
# if DETERMINISTIC_BUILD env var is set
./deterministic-build.patch
+
+
./properly-detect-curses.patch
] ++ optionals stdenv.isCygwin [
./2.5.2-ctypes-util-find_library.patch
./2.5.2-tkinter-x11.patch
···
for i in Lib/plat-*/regen; do
substituteInPlace $i --replace /usr/include/ ${stdenv.cc.libc}/include/
done
+
'' + optionalString stdenv.isDarwin ''
+
substituteInPlace configure --replace '`/usr/bin/arch`' '"i386"'
'';
configureFlags = [
···
"--with-system-ffi"
"--with-system-expat"
"ac_cv_func_bind_textdomain_codeset=yes"
+
] ++ optionals stdenv.isDarwin [
+
"--disable-toolbox-glue"
];
postConfigure = if stdenv.isCygwin then ''
···
[ db gdbm ncurses sqlite readline
] ++ 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
# external dependencies.
+116
pkgs/development/interpreters/python/2.7/properly-detect-curses.patch
···
+
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
+
+3 -1
pkgs/development/interpreters/ruby/ruby-1.9.3.nix
···
, groff, docSupport ? false
, libyaml, yamlSupport ? true
, ruby_1_9_3, autoreconfHook, bison, useRailsExpress ? true
+
, libiconv, libobjc
}:
let
···
# 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
# running on darwin
-
++ (op (!cursesSupport && stdenv.isDarwin) readline);
+
++ (op (!cursesSupport && stdenv.isDarwin) readline)
+
++ (ops stdenv.isDarwin [ libiconv libobjc ]);
enableParallelBuilding = true;
+3 -1
pkgs/development/interpreters/ruby/ruby-2.2.0.nix
···
, libyaml, yamlSupport ? true
, libffi, fiddleSupport ? true
, ruby_2_2_0, autoreconfHook, bison, useRailsExpress ? true
+
, libiconv, libobjc, libunwind
}:
let
···
# 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
# running on darwin
-
++ (op (!cursesSupport && stdenv.isDarwin) readline);
+
++ (op (!cursesSupport && stdenv.isDarwin) readline)
+
++ (ops stdenv.isDarwin [ libiconv libobjc libunwind ]);
enableParallelBuilding = true;
+3 -1
pkgs/development/interpreters/ruby/ruby-2.2.2.nix
···
, libyaml, yamlSupport ? true
, libffi, fiddleSupport ? true
, ruby_2_2_2, autoreconfHook, bison, useRailsExpress ? true
+
, libiconv, libobjc, libunwind
}:
let
···
# 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
# running on darwin
-
++ (op (!cursesSupport && stdenv.isDarwin) readline);
+
++ (op (!cursesSupport && stdenv.isDarwin) readline)
+
++ (ops stdenv.isDarwin [ libiconv libobjc libunwind ]);
enableParallelBuilding = true;
+15 -3
pkgs/development/interpreters/spidermonkey/17.0.nix
···
-
{ stdenv, fetchurl, pkgconfig, nspr, perl, python, zip }:
+
{ stdenv, fetchurl, pkgconfig, nspr, perl, python, zip, libffi, readline }:
stdenv.mkDerivation rec {
version = "17.0.0";
···
propagatedBuildInputs = [ nspr ];
-
buildInputs = [ pkgconfig perl python zip ];
+
buildInputs = [ pkgconfig perl python zip libffi readline ];
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 = ''
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${nspr}/include/nspr"
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
preBuild = "touch -- {.,shell,jsapi-tests}/{-lpthread,-ldl}";
···
paxmark m shell/js17
paxmark mr jsapi-tests/jsapi-tests
'';
+
+
postInstall = ''rm "$out"/lib/*.a''; # halve the output size
meta = with stdenv.lib; {
description = "Mozilla's JavaScript engine written in C/C++";
+13 -3
pkgs/development/interpreters/spidermonkey/24.2.nix
···
-
{ stdenv, fetchurl, pkgconfig, nspr, perl, python, zip }:
+
{ stdenv, fetchurl, pkgconfig, nspr, perl, python, zip, libffi, readline }:
stdenv.mkDerivation rec {
version = "24.2.0";
···
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";
···
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
preBuild = "touch -- {.,shell,jsapi-tests}/{-lpthread,-ldl}";
+12 -9
pkgs/development/libraries/SDL/default.nix
···
assert alsaSupport -> alsaLib != null;
assert pulseaudioSupport -> libpulseaudio != null;
+
let
+
inherit (stdenv.lib) optional optionals;
+
in
stdenv.mkDerivation rec {
version = "1.2.15";
name = "SDL-${version}";
···
sha256 = "005d993xcac8236fpvd1iawkz4wqjybkpn8dbwaliqz5jfkidlyn";
};
+
nativeBuildInputs = [ pkgconfig ];
+
# Since `libpulse*.la' contain `-lgdbm', PulseAudio must be propagated.
-
propagatedNativeBuildInputs =
-
stdenv.lib.optionals x11Support [ x11 libXrandr ] ++
-
stdenv.lib.optional alsaSupport alsaLib ++
-
stdenv.lib.optional pulseaudioSupport libpulseaudio;
+
propagatedBuildInputs =
+
optionals x11Support [ x11 libXrandr ] ++
+
optional alsaSupport alsaLib ++
+
optional stdenv.isLinux libcap ++
+
optional openglSupport mesa ++
+
optional pulseaudioSupport libpulseaudio;
buildInputs = let
notMingw = !(stdenv ? cross) || stdenv.cross.libc != "msvcrt";
-
in stdenv.lib.optional stdenv.isLinux libcap
-
++ (stdenv.lib.optional notMingw audiofile);
-
-
nativeBuildInputs = [ pkgconfig ] ++
-
stdenv.lib.optional openglSupport [ mesa ];
+
in optional notMingw audiofile;
# XXX: By default, SDL wants to dlopen() PulseAudio, in which case
# we must arrange to add it to its RPATH; however, `patchelf' seems
+1 -1
pkgs/development/libraries/SDL2/default.nix
···
stdenv.lib.optional pulseaudioSupport libpulseaudio;
buildInputs = [ pkgconfig audiofile ] ++
-
stdenv.lib.optional openglSupport [ mesa ] ++
+
stdenv.lib.optional openglSupport mesa ++
stdenv.lib.optional alsaSupport alsaLib;
# https://bugzilla.libsdl.org/show_bug.cgi?id=1431
+3 -3
pkgs/development/libraries/at-spi2-atk/default.nix
···
, intltool, dbus_glib, at_spi2_core, libSM }:
stdenv.mkDerivation rec {
-
versionMajor = "2.12";
-
versionMinor = "1";
+
versionMajor = "2.16";
+
versionMinor = "0";
moduleName = "at-spi2-atk";
name = "${moduleName}-${versionMajor}.${versionMinor}";
src = fetchurl {
url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${name}.tar.xz";
-
sha256 = "5fa9c527bdec028e06797563cd52d49bcf06f638549df983424d88db89bb1336";
+
sha256 = "1y9gfz1iz3wpja7s000f0bmyyvc6im5fcdl6bxwbz0v3qdgc9vvq";
};
buildInputs = [ python pkgconfig popt atk libX11 libICE xlibs.libXtst libXi
+2 -2
pkgs/development/libraries/at-spi2-core/default.nix
···
, libX11, xextproto, libSM, libICE, libXtst, libXi, gobjectIntrospection }:
stdenv.mkDerivation rec {
-
versionMajor = "2.12";
+
versionMajor = "2.16";
versionMinor = "0";
moduleName = "at-spi2-core";
name = "${moduleName}-${versionMajor}.${versionMinor}";
src = fetchurl {
url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${name}.tar.xz";
-
sha256 = "12gvsgdaxnxskndlhlmdkc50cfqgmzfc4n8la9944fz5k3fhwmfv";
+
sha256 = "1l3l39mw23zyjlcqidvkyqlr4gwbhplzw2hcv3qvn6p8ikxpf2qw";
};
buildInputs = [
+1 -2
pkgs/development/libraries/blitz/default.nix
···
patches = [ ./blitz-gcc47.patch ./blitz-testsuite-stencil-et.patch ];
buildInputs = [ pkgconfig gfortran texinfo ]
-
++ optional (boost != null) boost
-
;
+
++ optional (boost != null) [ boost.lib ];
configureFlags =
[ "--enable-shared"
+3 -1
pkgs/development/libraries/botan/generic.nix
···
enableParallelBuilding = true;
preInstall = ''
-
patchShebangs src/scripts
+
if [ -d src/scripts ]; then
+
patchShebangs src/scripts
+
fi
'';
postInstall = ''
+25 -31
pkgs/development/libraries/crypto++/default.nix
···
-
{ fetchurl, stdenv, unzip, libtool }:
+
{ fetchurl, stdenv, unzip }:
stdenv.mkDerivation rec {
name = "crypto++-5.6.2";
···
sha256 = "0x1mqpz1v071cfrw4grbw7z734cxnpry1qh2b6rsmcx6nkyd5gsw";
};
-
patches = (stdenv.lib.optional (stdenv.system != "i686-cygwin") ./dll.patch)
-
++ (stdenv.lib.optional stdenv.isDarwin ./GNUmakefile.patch);
-
-
buildInputs = [ unzip libtool ];
+
patches = with stdenv;
+
lib.optional (system != "i686-cygwin") ./dll.patch
+
++ lib.optional isDarwin ./GNUmakefile.patch;
-
# Unpack the thing in a subdirectory.
-
unpackPhase = ''
-
echo "unpacking Crypto++ to \`${name}' from \`$PWD'..."
-
mkdir "${name}" && (cd "${name}" && unzip "$src")
-
sourceRoot="$PWD/${name}"
-
'';
+
buildInputs = [ unzip ];
-
cxxflags = if stdenv.isi686 then "-march=i686" else
-
if stdenv.isx86_64 then "-march=nocona -fPIC" else
-
"";
+
sourceRoot = ".";
-
configurePhase = ''
-
sed -i GNUmakefile \
-
-e 's|-march=native|${cxxflags}|g' \
-
-e 's|-mtune=native||g' \
-
-e '/^CXXFLAGS =/s|-g -O2|-O3|'
-
'';
+
configurePhase = let
+
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 ||'
+
'';
-
# I add what 'enableParallelBuilding' would add to the make call,
-
# if we were using the generic build phase.
-
buildPhase = ''
-
make PREFIX="$out" all libcryptopp.so -j$NIX_BUILD_CORES -l$NIX_BUILD_CORES
-
'';
+
enableParallelBuilding = true;
-
# 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"
-
'';
+
makeFlags = "PREFIX=$(out)";
+
buildFlags = "libcryptopp.so";
doCheck = true;
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; {
description = "Crypto++, a free C++ class library of cryptographic schemes";
···
maintainers = [ ];
};
}
+
+1
pkgs/development/libraries/db/generic.nix
···
configureFlags = [
(if cxxSupport then "--enable-cxx" else "--disable-cxx")
(if compat185 then "--enable-compat185" else "--disable-compat185")
+
"--enable-dbm"
];
preConfigure = ''
+2 -2
pkgs/development/libraries/dbus/default.nix
···
&& libSM != null;
let
-
version = "1.8.16";
-
sha256 = "01rba8mp8kqvmy6ibdmi806kjr3m14swnskqk02gyhykxxl54ybz";
+
version = "1.8.18";
+
sha256 = "1wn4k142m68d8yqd4i6dmx1ac0798yhkdnkk4mb72g3sfyffpwin";
inherit (stdenv) lib;
+4 -3
pkgs/development/libraries/gdk-pixbuf/default.nix
···
let
ver_maj = "2.31";
-
ver_min = "3";
+
ver_min = "4";
in
stdenv.mkDerivation rec {
name = "gdk-pixbuf-${ver_maj}.${ver_min}";
src = fetchurl {
url = "mirror://gnome/sources/gdk-pixbuf/${ver_maj}/${name}.tar.xz";
-
sha256 = "ddd861747bb7c580acce7cfa3ce38c3f52a9516e66a6477988fd100c8fb9eabc";
+
sha256 = "05bslhk33qpssg66n2wys9khyzwkr4am0b23dym8n67qjds9gng5";
};
setupHook = ./setup-hook.sh;
···
+ 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";
+9 -17
pkgs/development/libraries/gdk-pixbuf/setup-hook.sh
···
findGdkPixbufLoaders() {
-
if [ -n "$out" ] && [ -z "$IN_NIX_SHELL" ]; then
-
-
# set pixbuf loaders.cache for this package
-
-
local loadersDir="$out/lib/gdk-pixbuf-loaders-2.0/$name"
-
mkdir -p "$loadersDir"
-
-
if [ -f "$1/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache" ]; then
-
cat "$1/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache" >> "$loadersDir/loaders.cache"
-
fi
-
-
if [ -f "$1/lib/gdk-pixbuf/loaders.cache" ]; then
-
cat "$1/lib/gdk-pixbuf/loaders.cache" >> "$loadersDir/loaders.cache"
+
# choose the longest loaders.cache
+
local loadersCache="$1/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache"
+
if [ -f "$loadersCache" ]; then
+
if [ -f "$GDK_PIXBUF_MODULE_FILE" ]; then
+
if [ $(cat "$loadersCache"|wc -l) -gt $(cat "$GDK_PIXBUF_MODULE_FILE"|wc -l) ]; then
+
export GDK_PIXBUF_MODULE_FILE="$loadersCache"
+
fi
+
else
+
export GDK_PIXBUF_MODULE_FILE="$loadersCache"
fi
-
-
# note, this is not a search path
-
export GDK_PIXBUF_MODULE_FILE=$(readlink -e "$loadersDir/loaders.cache")
-
fi
}
+6 -1
pkgs/development/libraries/gettext/default.nix
···
"--with-included-gettext"
"--with-included-glib"
"--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
# does not fulfill gettext needs, so it tries to work with its
+2 -2
pkgs/development/libraries/glib/default.nix
···
'';
ver_maj = "2.44";
-
ver_min = "0";
+
ver_min = "1";
in
stdenv.mkDerivation rec {
···
src = fetchurl {
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;
+6
pkgs/development/libraries/glib/setup-hook.sh
···
envHooks+=(make_glib_find_gsettings_schemas)
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"
}
+2 -1
pkgs/development/libraries/gmp/4.3.2.nix
···
then "ln -sf configfsf.guess 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.
# Newer versions of GMP don't have that issue anymore.
+8 -1
pkgs/development/libraries/gmp/5.1.x.nix
···
{ stdenv, fetchurl, m4, cxx ? true, withStatic ? true }:
-
with { inherit (stdenv.lib) optional; };
+
with { inherit (stdenv.lib) optional optionalString; };
stdenv.mkDerivation rec {
name = "gmp-5.1.3";
···
++ optional stdenv.isDarwin "ABI=64"
++ 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;
+8 -1
pkgs/development/libraries/gmp/6.x.nix
···
{ stdenv, fetchurl, m4, cxx ? true, withStatic ? true }:
-
with { inherit (stdenv.lib) optional; };
+
with { inherit (stdenv.lib) optional optionalString; };
stdenv.mkDerivation rec {
name = "gmp-6.0.0a";
···
++ optional stdenv.isDarwin "ABI=64"
++ 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;
+11 -5
pkgs/development/libraries/gnutls/generic.nix
···
assert guileBindings -> guile != null;
+
let
+
inherit (stdenv.lib) optional optionals optionalString;
+
in
stdenv.mkDerivation rec {
name = "gnutls-${version}";
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"
"--enable-fast-install"
-
] ++ stdenv.lib.optional guileBindings
+
] ++ optionals guileBindings
[ "--enable-guile" "--with-guile-site-dir=\${out}/share/guile/site" ];
# Build of the Guile bindings is not parallel-safe. See
···
enableParallelBuilding = !guileBindings;
buildInputs = [ lzo lzip nettle libtasn1 libidn p11_kit zlib gmp ]
-
++ stdenv.lib.optional stdenv.isLinux trousers
+
++ optional stdenv.isLinux trousers
++ [ unbound ]
-
++ stdenv.lib.optional guileBindings guile;
+
++ optional guileBindings guile;
nativeBuildInputs = [ perl pkgconfig autoreconfHook ];
···
doCheck = (!stdenv.isFreeBSD && !stdenv.isDarwin);
# Fixup broken libtool and pkgconfig files
-
preFixup = stdenv.lib.optionalString (!stdenv.isDarwin) ''
+
preFixup = optionalString (!stdenv.isDarwin) ''
sed -e 's,-ltspi,-L${trousers}/lib -ltspi,' \
-e 's,-lz,-L${zlib}/lib -lz,' \
-e 's,-lgmp,-L${gmp}/lib -lgmp,' \
+2 -2
pkgs/development/libraries/gobject-introspection/default.nix
···
# In that case its about 6MB which could be separated
let
-
ver_maj = "1.42";
+
ver_maj = "1.44";
ver_min = "0";
in
stdenv.mkDerivation rec {
···
src = fetchurl {
url = "mirror://gnome/sources/gobject-introspection/${ver_maj}/${name}.tar.xz";
-
sha256 = "3ba2edfad4f71d4f0de16960b5d5f2511335fa646b2c49bbb93ce5942b3f95f7";
+
sha256 = "1b972qg2yb51sdavfvb6kc19akwc15c1bwnbg81vadxamql2q33g";
};
buildInputs = [ flex bison pkgconfig python ]
+11 -4
pkgs/development/libraries/gsl/default.nix
···
-
{ fetchurl, stdenv }:
+
{ fetchurl, fetchpatch, stdenv }:
stdenv.mkDerivation rec {
name = "gsl-1.16";
···
sha256 = "0lrgipi0z6559jqh82yx8n4xgnxkhzj46v96dl77hahdp58jzg3k";
};
-
# ToDo: there might be more impurities than FMA support check
-
patches = [ ./disable-fma.patch ]; # http://lists.gnu.org/archive/html/bug-gsl/2011-11/msg00019.html
-
patchFlags = "-p0";
+
patches = [
+
# ToDo: there might be more impurities than FMA support check
+
./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;
+2 -2
pkgs/development/libraries/gsl/disable-fma.patch
···
-
--- configure.ac 2011-09-22 16:13:22 +0000
-
+++ configure.ac 2011-11-26 23:55:24 +0000
+
--- a/configure.ac 2011-09-22 16:13:22 +0000
+
+++ b/configure.ac 2011-11-26 23:55:24 +0000
@@ -381,6 +381,28 @@
AC_SUBST(HAVE_DARWIN_IEEE_INTERFACE)
AC_SUBST(HAVE_DARWIN86_IEEE_INTERFACE)
+2 -1
pkgs/development/libraries/gstreamer/legacy/gst-plugins-base/default.nix
···
};
patchPhase = ''
-
sed -i 's@/bin/echo@echo@g' configure
sed -i -e 's/^ /\t/' docs/{libs,plugins}/Makefile.in
+
+
patch -p1 < ${./gcc-4.9.patch}
'';
# TODO : v4l, libvisual
+38
pkgs/development/libraries/gstreamer/legacy/gst-plugins-base/gcc-4.9.patch
···
+
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
+
+2 -2
pkgs/development/libraries/gtk+/2.x.nix
···
assert cupsSupport -> cups != null;
stdenv.mkDerivation rec {
-
name = "gtk+-2.24.27";
+
name = "gtk+-2.24.28";
src = fetchurl {
url = "mirror://gnome/sources/gtk+/2.24/${name}.tar.xz";
-
sha256 = "1x14rnjvqslpa1q19fp1qalz5sxds72amsgjk8m7769rwk511jr0";
+
sha256 = "0mj6xn40py9r9lvzg633fal81xfwfm89d9mvz7jk4lmwk0g49imj";
};
enableParallelBuilding = true;
+2 -2
pkgs/development/libraries/gtk+/3.x.nix
···
let
ver_maj = "3.16";
-
ver_min = "2";
+
ver_min = "5";
version = "${ver_maj}.${ver_min}";
in
stdenv.mkDerivation rec {
···
src = fetchurl {
url = "mirror://gnome/sources/gtk+/${ver_maj}/gtk+-${version}.tar.xz";
-
sha256 = "1yhwg2l72l3khfkprydcjlpxjrg11ccqfc80sjl56llz3jk66fd0";
+
sha256 = "0cdwykh4086f7fl4dkybgpyxyb1jcmxbfin2az42z5pb4z8rjz5q";
};
nativeBuildInputs = [ pkgconfig gettext gobjectIntrospection perl ];
+5
pkgs/development/libraries/icu/default.nix
···
configureFlags = "--disable-debug" +
stdenv.lib.optionalString stdenv.isDarwin " --enable-rpath";
+
# remove dependency on bootstrap-tools in early stdenv build
+
postInstall = stdenv.lib.optionalString stdenv.isDarwin ''
+
sed -i 's/INSTALL_CMD=.*install/INSTALL_CMD=install/' $out/lib/icu/${version}/pkgdata.inc
+
'';
+
enableParallelBuilding = true;
meta = with stdenv.lib; {
+3 -5
pkgs/development/libraries/isl/default.nix pkgs/development/libraries/isl/0.15.0.nix
···
{ stdenv, fetchurl, gmp }:
stdenv.mkDerivation rec {
-
name = "isl-0.14";
+
name = "isl-0.15";
src = fetchurl {
-
url = "http://isl.gforge.inria.fr/${name}.tar.bz2";
-
sha256 = "0dlg4b85nw4w534525h0fvb7yhb8i4am8kskhmm0ym7qabzh4g3y";
+
url = "http://isl.gforge.inria.fr/${name}.tar.xz";
+
sha256 = "1m922l5bz69lvkcxrib7lvjqwfqsr8rpbzgmb2aq07bp76460jhh";
};
buildInputs = [ gmp ];
enableParallelBuilding = true;
-
-
doCheck = true;
meta = {
homepage = http://www.kotnet.org/~skimo/isl/;
+11 -9
pkgs/development/libraries/jsoncpp/default.nix
···
export sourceRoot=${src.name}
'';
-
nativeBuildInputs = [
-
# cmake can be built with the system jsoncpp, or its own bundled version.
-
# Obviously we cannot build it against the system jsoncpp that doesn't yet exist, so
-
# we make a bootstrapping build with the bundled version.
-
(cmake.override { jsoncpp = null; })
-
python
-
];
+
# Hack to be able to run the test, broken because we use
+
# CMAKE_SKIP_BUILD_RPATH to avoid cmake resetting rpath on install
+
preBuild = ''
+
export LD_LIBRARY_PATH="`pwd`/src/lib_json:$LD_LIBRARY_PATH"
+
'';
+
+
nativeBuildInputs = [ cmake python ];
cmakeFlags = [
-
"-DJSONCPP_WITH_CMAKE_PACKAGE=1"
+
"-DJSONCPP_LIB_BUILD_SHARED=ON"
+
"-DJSONCPP_LIB_BUILD_STATIC=OFF"
+
"-DJSONCPP_WITH_CMAKE_PACKAGE=ON"
];
meta = {
inherit version;
homepage = https://github.com/open-source-parsers/jsoncpp;
description = "A simple API to manipulate JSON data in C++";
-
maintainers = with stdenv.lib.maintainers; [ ttuegel ];
+
maintainers = with stdenv.lib.maintainers; [ ttuegel page ];
license = stdenv.lib.licenses.mit;
branch = "1.6";
};
+52 -23
pkgs/development/libraries/kerberos/heimdal.nix
···
-
{ stdenv, fetchurl, pkgconfig, flex, yacc, readline, openldap, libcap_ng
-
, sqlite, db, ncurses, openssl, cyrus_sasl
+
{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, python, perl, yacc, flex
+
, texinfo, perlPackages
+
, openldap, libcap_ng, sqlite, openssl, db, libedit, pam
+
+
# Extra Args
+
, type ? ""
}:
+
let
+
libOnly = type == "lib";
+
in
+
with stdenv.lib;
stdenv.mkDerivation rec {
-
name = "heimdal-1.5.3";
+
name = "${type}heimdal-2015-06-17";
-
src = fetchurl {
-
urls = [
-
"http://www.h5l.org/dist/src/${name}.tar.gz"
-
"http://ftp.pdc.kth.se/pub/heimdal/src/${name}.tar.gz"
-
];
-
sha256 = "19gypf9vzfrs2bw231qljfl4cqc1riyg0ai0xmm1nd1wngnpphma";
+
src = fetchFromGitHub {
+
owner = "heimdal";
+
repo = "heimdal";
+
rev = "be63a2914adcbea7d42d56e674ee6edb4883ebaf";
+
sha256 = "147gv49gmy94y6f0x1vx523qni0frgcp3r7fill0r06rkfgfzc0j";
};
+
nativeBuildInputs = [ autoreconfHook pkgconfig python perl yacc flex ]
+
++ (with perlPackages; [ JSON ])
+
++ optional (!libOnly) texinfo;
+
buildInputs = [ libcap_ng sqlite openssl db libedit ]
+
++ optionals (!libOnly) [ openldap pam ];
+
## ugly, X should be made an option
configureFlags = [
+
"--sysconfdir=/etc"
+
"--localstatedir=/var"
"--enable-hdb-openldap-module"
"--with-capng"
-
"--with-openldap=${openldap}"
"--with-sqlite3=${sqlite}"
-
"--with-openssl-lib=${openssl}/lib"
+
"--with-berkeley-db=${db}"
+
"--with-libedit=${libedit}"
+
"--with-openssl=${openssl}"
"--without-x"
+
] ++ optionals (!libOnly) [
+
"--with-openldap=${openldap}"
];
-
preConfigure = ''
-
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -pthread"
+
buildPhase = optionalString libOnly ''
+
(cd include; make -j $NIX_BUILD_CORES)
+
(cd lib; make -j $NIX_BUILD_CORES)
+
(cd tools; make -j $NIX_BUILD_CORES)
+
(cd include/hcrypto; make -j $NIX_BUILD_CORES)
+
(cd lib/hcrypto; make -j $NIX_BUILD_CORES)
+
'';
+
+
installPhase = optionalString libOnly ''
+
(cd include; make -j $NIX_BUILD_CORES install)
+
(cd lib; make -j $NIX_BUILD_CORES install)
+
(cd tools; make -j $NIX_BUILD_CORES install)
+
(cd include/hcrypto; make -j $NIX_BUILD_CORES install)
+
(cd lib/hcrypto; make -j $NIX_BUILD_CORES install)
+
rm -rf $out/{libexec,sbin,share}
+
find $out/bin -type f | grep -v 'krb5-config' | xargs rm
'';
# We need to build hcrypt for applications like samba
postBuild = ''
-
(cd lib/hcrypto; make)
-
(cd include/hcrypto; make)
+
(cd include/hcrypto; make -j $NIX_BUILD_CORES)
+
(cd lib/hcrypto; make -j $NIX_BUILD_CORES)
'';
postInstall = ''
# Install hcrypto
-
(cd lib/hcrypto; make install)
-
(cd include/hcrypto; make install)
+
(cd include/hcrypto; make -j $NIX_BUILD_CORES install)
+
(cd lib/hcrypto; make -j $NIX_BUILD_CORES install)
-
# dont succeed with --libexec=$out/sbin, so
+
# Doesn't succeed with --libexec=$out/sbin, so
mv "$out/libexec/"* $out/sbin/
rmdir $out/libexec
'';
-
buildInputs = [
-
pkgconfig flex yacc readline openldap libcap_ng sqlite db ncurses
-
cyrus_sasl openssl
-
];
+
enableParallelBuilding = true;
-
meta = with stdenv.lib; {
+
meta = {
description = "an implementation of Kerberos 5 (and some more stuff) largely written in Sweden";
license = licenses.bsd3;
platforms = platforms.linux;
+39 -19
pkgs/development/libraries/kerberos/krb5.nix
···
-
{ stdenv, fetchurl, pkgconfig, perl, ncurses, yacc, openssl, openldap, bootstrap_cmds }:
+
{ stdenv, fetchurl, pkgconfig, perl, yacc, bootstrap_cmds
+
, openssl, openldap, libedit
+
+
# Extra Arguments
+
, type ? ""
+
}:
let
-
pname = "krb5";
-
version = "1.13.1";
-
name = "${pname}-${version}";
-
webpage = http://web.mit.edu/kerberos/;
+
libOnly = type == "lib";
in
-
-
stdenv.mkDerivation (rec {
-
inherit name;
+
with stdenv.lib;
+
stdenv.mkDerivation rec {
+
name = "${type}krb5-${version}";
+
version = "1.13.2";
src = fetchurl {
-
url = "${webpage}dist/krb5/1.13/${name}-signed.tar";
-
sha256 = "0gk6jvr64rf6l4xcyxn8i3fr5d1j7dhqvwyv3vw2qdkzz7yjkxjd";
+
url = "${meta.homepage}dist/krb5/1.13/krb5-${version}-signed.tar";
+
sha256 = "1qbdzyrws7d0q4filsibh28z54pd5l987jr0ygv43iq9085w6a75";
};
-
buildInputs = [ pkgconfig perl ncurses yacc openssl openldap ]
+
nativeBuildInputs = [ pkgconfig perl yacc ]
# Provides the mig command used by the build scripts
-
++ stdenv.lib.optional stdenv.isDarwin bootstrap_cmds ;
+
++ stdenv.lib.optional stdenv.isDarwin bootstrap_cmds;
+
buildInputs = [ openssl ]
+
++ optionals (!libOnly) [ openldap libedit ];
unpackPhase = ''
tar -xf $src
-
tar -xzf ${name}.tar.gz
-
cd ${name}/src
+
tar -xzf krb5-${version}.tar.gz
+
cd krb5-${version}/src
+
'';
+
+
buildPhase = optionalString libOnly ''
+
(cd util; make -j $NIX_BUILD_CORES)
+
(cd include; make -j $NIX_BUILD_CORES)
+
(cd lib; make -j $NIX_BUILD_CORES)
+
(cd build-tools; make -j $NIX_BUILD_CORES)
'';
-
configureFlags = [ "--with-tcl=no" ];
+
installPhase = optionalString libOnly ''
+
mkdir -p $out/{bin,include/{gssapi,gssrpc,kadm5,krb5},lib/pkgconfig,sbin,share/{et,man/man1}}
+
(cd util; make -j $NIX_BUILD_CORES install)
+
(cd include; make -j $NIX_BUILD_CORES install)
+
(cd lib; make -j $NIX_BUILD_CORES install)
+
(cd build-tools; make -j $NIX_BUILD_CORES install)
+
rm -rf $out/{sbin,share}
+
find $out/bin -type f | grep -v 'krb5-config' | xargs rm
+
'';
enableParallelBuilding = true;
-
meta = with stdenv.lib; {
+
meta = {
description = "MIT Kerberos 5";
-
homepage = webpage;
-
license = "MPL";
+
homepage = http://web.mit.edu/kerberos/;
+
license = licenses.mit;
platforms = platforms.unix;
maintainers = with maintainers; [ wkennington ];
};
passthru.implementation = "krb5";
-
})
+
}
+2
pkgs/development/libraries/lame/default.nix
···
sha256 = "1zr3kadv35ii6liia0bpfgxpag27xcivp571ybckpbz4b10nnd14";
};
+
patches = [ ./gcc-4.9.patch ];
+
nativeBuildInputs = [ ]
++ optional nasmSupport nasm;
+33
pkgs/development/libraries/lame/gcc-4.9.patch
···
+
fix sse optimizations build on 32-bit with gcc 4.9
+
http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=351af417bae0d09bd5a3753d1237f03adf591933
+
+
xmm_quantize_sub.c: In function 'init_xrpow_core_sse':
+
xmm_quantize_sub.c:65:18: warning: SSE vector return without SSE enabled changes the ABI [-W
+
psabi]
+
const __m128 vec_fabs_mask = _mm_loadu_ps(&fabs_mask._float[0]);
+
^
+
In file included from xmm_quantize_sub.c:37:0:
+
/usr/lib/gcc/i686-w64-mingw32/4.9.0/include/xmmintrin.h:933:1: error: inlining failed in call to always_inline '_mm_loadu_ps': target specific option mismatch
+
_mm_loadu_ps (float const *__P)
+
^
+
xmm_quantize_sub.c:65:18: error: called from here
+
const __m128 vec_fabs_mask = _mm_loadu_ps(&fabs_mask._float[0]);
+
^
+
--- lame/libmp3lame/vector/xmm_quantize_sub.c.orig 2014-06-08 12:16:19.455468042 -0700
+
+++ lame/libmp3lame/vector/xmm_quantize_sub.c 2014-06-08 12:16:09.592356980 -0700
+
@@ -35,6 +35,7 @@
+
#ifdef HAVE_XMMINTRIN_H
+
+
#include <xmmintrin.h>
+
+#pragma GCC target("sse")
+
+
typedef union {
+
int32_t _i_32[4]; /* unions are initialized by its first member */
+
@@ -124,6 +125,7 @@
+
}
+
+
+
+#pragma GCC target("sse2")
+
void
+
fht_SSE2(FLOAT * fz, int n)
+
{
+143
pkgs/development/libraries/libarchive/CVE-2015-1197.patch
···
+
From 59357157706d47c365b2227739e17daba3607526 Mon Sep 17 00:00:00 2001
+
From: Alessandro Ghedini <alessandro@ghedini.me>
+
Date: Sun, 1 Mar 2015 12:07:45 +0100
+
Subject: [PATCH] Add ARCHIVE_EXTRACT_SECURE_NOABSOLUTEPATHS option
+
+
This fixes a directory traversal in the cpio tool.
+
---
+
cpio/bsdcpio.1 | 3 ++-
+
cpio/cpio.c | 2 ++
+
libarchive/archive.h | 2 ++
+
libarchive/archive_write_disk.3 | 3 +++
+
libarchive/archive_write_disk_posix.c | 14 +++++++++++---
+
libarchive/test/test_write_disk_secure.c | 23 +++++++++++++++++++++++
+
6 files changed, 43 insertions(+), 4 deletions(-)
+
+
diff --git a/cpio/bsdcpio.1 b/cpio/bsdcpio.1
+
index f966aa0..e52546e 100644
+
--- a/cpio/bsdcpio.1
+
+++ b/cpio/bsdcpio.1
+
@@ -156,7 +156,8 @@ See above for description.
+
.It Fl Fl insecure
+
(i and p mode only)
+
Disable security checks during extraction or copying.
+
-This allows extraction via symbolic links and path names containing
+
+This allows extraction via symbolic links, absolute paths,
+
+and path names containing
+
.Sq ..
+
in the name.
+
.It Fl J , Fl Fl xz
+
diff --git a/cpio/cpio.c b/cpio/cpio.c
+
index 0acde11..b267e9b 100644
+
--- a/cpio/cpio.c
+
+++ b/cpio/cpio.c
+
@@ -171,6 +171,7 @@ main(int argc, char *argv[])
+
cpio->extract_flags |= ARCHIVE_EXTRACT_NO_OVERWRITE_NEWER;
+
cpio->extract_flags |= ARCHIVE_EXTRACT_SECURE_SYMLINKS;
+
cpio->extract_flags |= ARCHIVE_EXTRACT_SECURE_NODOTDOT;
+
+ cpio->extract_flags |= ARCHIVE_EXTRACT_SECURE_NOABSOLUTEPATHS;
+
cpio->extract_flags |= ARCHIVE_EXTRACT_PERM;
+
cpio->extract_flags |= ARCHIVE_EXTRACT_FFLAGS;
+
cpio->extract_flags |= ARCHIVE_EXTRACT_ACL;
+
@@ -256,6 +257,7 @@ main(int argc, char *argv[])
+
case OPTION_INSECURE:
+
cpio->extract_flags &= ~ARCHIVE_EXTRACT_SECURE_SYMLINKS;
+
cpio->extract_flags &= ~ARCHIVE_EXTRACT_SECURE_NODOTDOT;
+
+ cpio->extract_flags &= ~ARCHIVE_EXTRACT_SECURE_NOABSOLUTEPATHS;
+
break;
+
case 'L': /* GNU cpio */
+
cpio->option_follow_links = 1;
+
diff --git a/libarchive/archive.h b/libarchive/archive.h
+
index 1f0fc38..ef635ac 100644
+
--- a/libarchive/archive.h
+
+++ b/libarchive/archive.h
+
@@ -649,6 +649,8 @@ __LA_DECL int archive_read_set_passphrase_callback(struct archive *,
+
/* Default: Do not use HFS+ compression if it was not compressed. */
+
/* This has no effect except on Mac OS v10.6 or later. */
+
#define ARCHIVE_EXTRACT_HFS_COMPRESSION_FORCED (0x8000)
+
+/* Default: Do not reject entries with absolute paths */
+
+#define ARCHIVE_EXTRACT_SECURE_NOABSOLUTEPATHS (0x10000)
+
+
__LA_DECL int archive_read_extract(struct archive *, struct archive_entry *,
+
int flags);
+
diff --git a/libarchive/archive_write_disk.3 b/libarchive/archive_write_disk.3
+
index fa925cc..a2e7afa 100644
+
--- a/libarchive/archive_write_disk.3
+
+++ b/libarchive/archive_write_disk.3
+
@@ -177,6 +177,9 @@ The default is to not refuse such paths.
+
Note that paths ending in
+
.Pa ..
+
always cause an error, regardless of this flag.
+
+.It Cm ARCHIVE_EXTRACT_SECURE_NOABSOLUTEPATHS
+
+Refuse to extract an absolute path.
+
+The default is to not refuse such paths.
+
.It Cm ARCHIVE_EXTRACT_SPARSE
+
Scan data for blocks of NUL bytes and try to recreate them with holes.
+
This results in sparse files, independent of whether the archive format
+
diff --git a/libarchive/archive_write_disk_posix.c b/libarchive/archive_write_disk_posix.c
+
index ab3bdac..c1290eb 100644
+
--- a/libarchive/archive_write_disk_posix.c
+
+++ b/libarchive/archive_write_disk_posix.c
+
@@ -2509,8 +2509,9 @@ cleanup_pathname_win(struct archive_write_disk *a)
+
/*
+
* Canonicalize the pathname. In particular, this strips duplicate
+
* '/' characters, '.' elements, and trailing '/'. It also raises an
+
- * error for an empty path, a trailing '..' or (if _SECURE_NODOTDOT is
+
- * set) any '..' in the path.
+
+ * error for an empty path, a trailing '..', (if _SECURE_NODOTDOT is
+
+ * set) any '..' in the path or (if ARCHIVE_EXTRACT_SECURE_NOABSOLUTEPATHS
+
+ * is set) if the path is absolute.
+
*/
+
static int
+
cleanup_pathname(struct archive_write_disk *a)
+
@@ -2529,8 +2530,15 @@ cleanup_pathname(struct archive_write_disk *a)
+
cleanup_pathname_win(a);
+
#endif
+
/* Skip leading '/'. */
+
- if (*src == '/')
+
+ if (*src == '/') {
+
+ if (a->flags & ARCHIVE_EXTRACT_SECURE_NOABSOLUTEPATHS) {
+
+ archive_set_error(&a->archive, ARCHIVE_ERRNO_MISC,
+
+ "Path is absolute");
+
+ return (ARCHIVE_FAILED);
+
+ }
+
+
+
separator = *src++;
+
+ }
+
+
/* Scan the pathname one element at a time. */
+
for (;;) {
+
diff --git a/libarchive/test/test_write_disk_secure.c b/libarchive/test/test_write_disk_secure.c
+
index 31c5bfd..2c94206 100644
+
--- a/libarchive/test/test_write_disk_secure.c
+
+++ b/libarchive/test/test_write_disk_secure.c
+
@@ -178,6 +178,29 @@ DEFINE_TEST(test_write_disk_secure)
+
assert(S_ISDIR(st.st_mode));
+
archive_entry_free(ae);
+
+
+ /*
+
+ * Without security checks, we should be able to
+
+ * extract an absolute path.
+
+ */
+
+ assert((ae = archive_entry_new()) != NULL);
+
+ archive_entry_copy_pathname(ae, "/tmp/libarchive_test-test_write_disk_secure-absolute_path.tmp");
+
+ archive_entry_set_mode(ae, S_IFREG | 0777);
+
+ assert(0 == archive_write_header(a, ae));
+
+ assert(0 == archive_write_finish_entry(a));
+
+ assertFileExists("/tmp/libarchive_test-test_write_disk_secure-absolute_path.tmp");
+
+ assert(0 == unlink("/tmp/libarchive_test-test_write_disk_secure-absolute_path.tmp"));
+
+
+
+ /* But with security checks enabled, this should fail. */
+
+ assert(archive_entry_clear(ae) != NULL);
+
+ archive_entry_copy_pathname(ae, "/tmp/libarchive_test-test_write_disk_secure-absolute_path.tmp");
+
+ archive_entry_set_mode(ae, S_IFREG | 0777);
+
+ archive_write_disk_set_options(a, ARCHIVE_EXTRACT_SECURE_NOABSOLUTEPATHS);
+
+ failure("Extracting an absolute path should fail here.");
+
+ assertEqualInt(ARCHIVE_FAILED, archive_write_header(a, ae));
+
+ archive_entry_free(ae);
+
+ assert(0 == archive_write_finish_entry(a));
+
+ assertFileNotExists("/tmp/libarchive_test-test_write_disk_secure-absolute_path.tmp");
+
+
+
assertEqualInt(ARCHIVE_OK, archive_write_free(a));
+
+
/* Test the entries on disk. */
+1
pkgs/development/libraries/libarchive/default.nix
···
patches = [
./CVE-2013-0211.patch # https://github.com/libarchive/libarchive/commit/22531545
+
./CVE-2015-1197.patch # https://github.com/NixOS/nixpkgs/issues/6799
];
buildInputs = [ sharutils libxml2 zlib bzip2 openssl xz ] ++
+7 -6
pkgs/development/libraries/libclc/default.nix
···
-
{ stdenv, fetchsvn, python, llvm, clang }:
+
{ stdenv, fetchFromGitHub, python, llvm, clang }:
stdenv.mkDerivation {
name = "libclc-2015-03-27";
-
src = fetchsvn {
-
url = "http://llvm.org/svn/llvm-project/libclc/trunk";
-
rev = "233456";
-
sha256 = "0g56kgffc1qr9rzhcjr4w8kljcicg0q828s9b4bmfzjvywd7hhr0";
+
src = fetchFromGitHub {
+
owner = "llvm-mirror";
+
repo = "libclc";
+
rev = "0a2d1619921545b52303be5608b64dc46f381e97";
+
sha256 = "0hgm013c0vlfqfbbf4cdajl01hhk1mhsfk4h4bfza1san97l0vcc";
};
buildInputs = [ python llvm clang ];
···
meta = with stdenv.lib; {
homepage = http://libclc.llvm.org/;
-
description = "implementation of the library requirements of the OpenCL C programming language";
+
description = "Implementation of the library requirements of the OpenCL C programming language";
license = licenses.mit;
platforms = platforms.all;
maintainers = with maintainers; [ wkennington ];
+2 -2
pkgs/development/libraries/libdrm/default.nix
···
{ stdenv, fetchurl, pkgconfig, libpthreadstubs, libpciaccess, udev }:
stdenv.mkDerivation rec {
-
name = "libdrm-2.4.60";
+
name = "libdrm-2.4.61";
src = fetchurl {
url = "http://dri.freedesktop.org/libdrm/${name}.tar.bz2";
-
sha256 = "12cqnmssi6mbr93n29mm84k8wix5nx6zs82k7wcmj7z3r335ymwr";
+
sha256 = "8b549092c8961a393a7e1d9a1bccddcea8e2af67c0d7d7c67babb9fc3b47699c";
};
nativeBuildInputs = [ pkgconfig ];
+1 -1
pkgs/development/libraries/libedit/default.nix
···
] else null;
postInstall = ''
-
sed -i ${stdenv.lib.optionalString (stdenv.isDarwin && stdenv.cc.nativeTools) "''"} s/-lncurses/-lncursesw/g $out/lib/pkgconfig/libedit.pc
+
sed -i s/-lncurses/-lncursesw/g $out/lib/pkgconfig/libedit.pc
'';
configureFlags = [ "--enable-widec" ];
+2
pkgs/development/libraries/libev/default.nix
···
sha256 = "1jyw7qbl0spxqa0dccj9x1jsw7cj7szff43cq4acmklnra4mzz48";
};
+
patches = [ ./noreturn.patch ];
+
# Version 4.19 is not valid C11 (which Clang default to)
# Check if this is still necessary on upgrade
NIX_CFLAGS_COMPILE = if stdenv.cc.isClang then "-std=c99" else null;
+13
pkgs/development/libraries/libev/noreturn.patch
···
+
diff --git a/ev.c b/ev.c
+
index 6f36c6d..b8a1c5f 100644
+
--- a/ev.c
+
+++ b/ev.c
+
@@ -1026,7 +1026,7 @@ ecb_inline uint64_t ecb_rotr64 (uint64_t x, unsigned int count) { return (x << (
+
#define ecb_unreachable() __builtin_unreachable ()
+
#else
+
/* this seems to work fine, but gcc always emits a warning for it :/ */
+
- ecb_inline void ecb_unreachable (void) ecb_noreturn;
+
+ ecb_inline ecb_noreturn void ecb_unreachable (void);
+
ecb_inline void ecb_unreachable (void) { }
+
#endif
+
+1 -5
pkgs/development/libraries/libffi/default.nix
···
-
{ fetchurl, stdenv, dejagnu }:
+
{ fetchurl, stdenv }:
stdenv.mkDerivation rec {
name = "libffi-3.2.1";
···
patches = if stdenv.isCygwin then [ ./3.2.1-cygwin.patch ] else null;
-
buildInputs = stdenv.lib.optional doCheck dejagnu;
-
configureFlags = [
"--with-gcc-arch=generic" # no detection of -march= or -mtune=
"--enable-pax_emutramp"
];
-
-
doCheck = stdenv.isLinux; # until we solve dejagnu problems on darwin and expect on BSD
dontStrip = stdenv ? cross; # Don't run the native `strip' when cross-compiling.
+2 -2
pkgs/development/libraries/libidn/default.nix
···
{ fetchurl, stdenv }:
stdenv.mkDerivation rec {
-
name = "libidn-1.30";
+
name = "libidn-1.31";
src = fetchurl {
url = "mirror://gnu/libidn/${name}.tar.gz";
-
sha256 = "0lxh5r1z8gsk4jxx3rv8aasjv8p53j4y04kvfn2w30a0syagrf9r";
+
sha256 = "026z12mczlag443ms9n954h36pi3m7iva9jfw8y4ispsj772zpxg";
};
doCheck = ! stdenv.isDarwin;
+2 -3
pkgs/development/libraries/libnatspec/default.nix
···
maintainers = [ stdenv.lib.maintainers.urkud ];
};
} // stdenv.lib.optionalAttrs (!stdenv.isLinux) {
-
NIX_CFLAGS_COMPILE = "-I${libiconv}/include";
-
-
NIX_CFLAGS_LINK = "-L${libiconv}/lib -liconv";
+
NIX_LDFLAGS = "-liconv";
+
propagatedBuildInputs = [ libiconv ];
})
+8 -1
pkgs/development/libraries/librsvg/default.nix
···
# The loaders.cache can be used by setting GDK_PIXBUF_MODULE_FILE to
# point to this file in a wrapper.
postConfigure = ''
-
GDK_PIXBUF=$out/lib/gdk-pixbuf
+
GDK_PIXBUF=$out/lib/gdk-pixbuf-2.0/2.10.0
mkdir -p $GDK_PIXBUF/loaders
sed -e "s#gdk_pixbuf_moduledir = .*#gdk_pixbuf_moduledir = $GDK_PIXBUF/loaders#" \
-i gdk-pixbuf-loader/Makefile
···
-i gdk-pixbuf-loader/Makefile
sed -e "s#\$(GDK_PIXBUF_QUERYLOADERS)#GDK_PIXBUF_MODULEDIR=$GDK_PIXBUF/loaders \$(GDK_PIXBUF_QUERYLOADERS)#" \
-i gdk-pixbuf-loader/Makefile
+
'';
+
+
# Merge gdkpixbuf and librsvg loaders
+
postInstall = ''
+
mv $GDK_PIXBUF/loaders.cache $GDK_PIXBUF/loaders.cache.tmp
+
cat ${gdk_pixbuf}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache $GDK_PIXBUF/loaders.cache.tmp > $GDK_PIXBUF/loaders.cache
+
rm $GDK_PIXBUF/loaders.cache.tmp
'';
}
+2 -20
pkgs/development/libraries/libtiff/default.nix
···
-
{ stdenv, fetchurl, fetchsvn, pkgconfig, zlib, libjpeg, xz }:
+
{ stdenv, fetchurl, pkgconfig, zlib, libjpeg, xz }:
let
-
version = "4.0.3";
-
patchDir = fetchsvn {
-
url = svn://svn.archlinux.org/packages/libtiff/trunk;
-
rev = "198247";
-
sha256 = "0a47l0zkc1zz7wxg64cyjv9z1djdvfyxgmwd03znlsac4zijkcy4";
-
};
+
version = "4.0.4beta";
in
stdenv.mkDerivation rec {
name = "libtiff-${version}";
···
];
sha256 = "0wj8d1iwk9vnpax2h29xqc2hwknxg3s0ay2d5pxkg59ihbifn6pa";
};
-
-
patchPhase = ''
-
for p in ${patchDir}/*-{2013-4244,2012-4447,2012-4564,2013-1960,2013-1961,libjpeg-turbo}.patch; do
-
patch -p1 < "$p"
-
done
-
(
-
cd tools
-
for p in ${patchDir}/*-CVE-{2013-4231,2013-4232}.patch; do
-
patch -p0 < "$p"
-
done
-
)
-
patch -p0 < ${patchDir}/${if stdenv.isDarwin then "tiff-4.0.3" else "*"}-tiff2pdf-colors.patch
-
''; # ^ sh on darwin seems not to expand globs in redirects, and I don't want to rebuild all again elsewhere
nativeBuildInputs = [ pkgconfig ];
+4 -2
pkgs/development/libraries/libusb1/default.nix
···
-
{ stdenv, fetchurl, pkgconfig, udev ? null }:
+
{ stdenv, fetchurl, pkgconfig, udev ? null, libobjc, IOKit }:
stdenv.mkDerivation rec {
name = "libusb-1.0.19";
···
};
buildInputs = [ pkgconfig ];
-
propagatedBuildInputs = stdenv.lib.optional stdenv.isLinux udev;
+
propagatedBuildInputs =
+
stdenv.lib.optional stdenv.isLinux udev ++
+
stdenv.lib.optionals stdenv.isDarwin [ libobjc IOKit ];
NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isLinux "-lgcc_s";
+5 -2
pkgs/development/libraries/libuv/default.nix
···
-
{ stdenv, lib, fetchFromGitHub, autoconf, automake, libtool, pkgconfig }:
+
{ stdenv, lib, fetchFromGitHub, autoconf, automake, libtool, pkgconfig
+
+
, ApplicationServices, CoreServices }:
let
stable = "stable";
···
mkWithAutotools = stability: version: sha256: stdenv.mkDerivation {
name = mkName stability version;
src = mkSrc version sha256;
-
buildInputs = [ automake autoconf libtool pkgconfig ];
+
buildInputs = [ automake autoconf libtool pkgconfig ]
+
++ stdenv.lib.optionals stdenv.isDarwin [ ApplicationServices CoreServices ];
preConfigure = ''
LIBTOOLIZE=libtoolize ./autogen.sh
'';
-7
pkgs/development/libraries/libxcomp/default.nix
···
'';
enableParallelBuilding = true;
-
-
postInstall = ''
-
mkdir $out/lib
-
cp libXcomp.so* $out/lib
-
mkdir $out/include
-
cp NX.h $out/include
-
'';
}
-7
pkgs/development/libraries/mbedtls/default.nix
···
"DESTDIR=\${out}"
];
-
postInstall = ''
-
rm $out/lib/lib{mbedtls.so.8,polarssl.{a,so}}
-
ln -s libmbedtls.so $out/lib/libmbedtls.so.8
-
ln -s libmbedtls.so $out/lib/libpolarssl.so
-
ln -s libmbedtls.a $out/lib/libpolarssl.a
-
'';
-
doCheck = true;
meta = with stdenv.lib; {
+6 -26
pkgs/development/libraries/mesa/default.nix
···
{ stdenv, fetchurl, fetchpatch, pkgconfig, intltool, flex, bison, autoreconfHook, substituteAll
, python, libxml2Python, file, expat, makedepend, pythonPackages
, libdrm, xorg, wayland, udev, llvmPackages, libffi, libomxil-bellagio
-
, libvdpau, libelf, libva, libclc
+
, libvdpau, libelf, libva
, grsecEnabled
, enableTextureFloats ? false # Texture floats are patented, see docs/patents.txt
, enableExtraFeatures ? false # not maintained
···
*/
let
-
version = "10.5.6";
+
version = "10.6.1";
# this is the default search path for DRI drivers
driverLink = "/run/opengl-driver" + stdenv.lib.optionalString stdenv.isi686 "-32";
-
clang = if llvmPackages ? clang-unwrapped then llvmPackages.clang-unwrapped else llvmPackages.clang;
in
with { inherit (stdenv.lib) optional optionals optionalString; };
···
"https://launchpad.net/mesa/trunk/${version}/+download/mesa-${version}.tar.xz"
"ftp://ftp.freedesktop.org/pub/mesa/${version}/mesa-${version}.tar.xz"
];
-
sha256 = "15d5icr7q0nq1a7718fsj4s1l29aa4qdxvmkgmjadxz5pm9ph0b6";
+
sha256 = "6c80a2b647e57c85dc36e609d9aed17f878f0d8e0cf9ace86d14cf604101e1eb";
};
prePatch = "patchShebangs .";
···
configureFlags = [
"--sysconfdir=/etc"
"--localstatedir=/var"
-
"--with-clang-libdir=${clang}/lib"
"--with-dri-driverdir=$(drivers)/lib/dri"
"--with-dri-searchpath=${driverLink}/lib/dri"
···
++ [
"--enable-xvmc"
"--enable-vdpau"
-
"--enable-omx"
-
"--enable-va"
+
#"--enable-omx"
+
#"--enable-va"
# TODO: Figure out how to enable opencl without having a runtime dependency on clang
"--disable-opencl"
-
#"--enable-opencl"
-
#"--enable-opencl-icd"
"--with-gallium-drivers=svga,i915,ilo,r300,r600,radeonsi,nouveau,freedreno,swrast"
"--enable-shared-glapi"
···
autoreconfHook intltool expat libxml2Python llvmPackages.llvm
glproto dri2proto dri3proto presentproto
libX11 libXext libxcb libXt libXfixes libxshmfence
-
libffi wayland libvdpau libelf libXvMC libomxil-bellagio libva
-
libclc clang
+
libffi wayland libvdpau libelf libXvMC /* libomxil-bellagio libva */
] ++ optional stdenv.isLinux udev;
enableParallelBuilding = true;
···
`#$out/lib/libXvMC*` \
$out/lib/gbm $out/lib/libgbm* \
'' + ''
-
$out/lib/gallium-pipe \
-
$out/lib/libdricore* \
-
$out/lib/libgallium* \
$out/lib/vdpau \
$out/lib/libxatracker*
···
$out/lib/pkgconfig/osmesa.pc
'' + /* now fix references in .la files */ ''
-
sed "/^libdir=/s,$out,$drivers," -i \
-
'' + optionalString enableExtraFeatures ''
-
`#$drivers/lib/libXvMC*.la` \
-
'' + ''
-
$drivers/lib/gallium-pipe/*.la \
-
$drivers/lib/libgallium.la \
-
$drivers/lib/vdpau/*.la \
-
$drivers/lib/libdricore*.la
-
-
sed "s,$out\(/lib/\(libdricore[0-9\.]*\|libgallium\).la\),$drivers\1,g" \
-
-i $drivers/lib/*.la $drivers/lib/*/*.la
-
sed "/^libdir=/s,$out,$osmesa," -i \
$osmesa/lib/libOSMesa*.la
+53 -103
pkgs/development/libraries/ncurses/default.nix
···
-
{ stdenv, fetchurl
+
{ lib, stdenv, fetchurl
-
# Optional Dependencies
-
, gpm ? null
+
, mouseSupport ? false
+
, unicode ? true
+
+
, gpm
# Extra Options
, abiVersion ? "5"
-
, unicode ? true
}:
-
let
-
mkFlag = trueStr: falseStr: cond: name: val:
-
if cond == null then null else
-
"--${if cond != false then trueStr else falseStr}${name}${if val != null && cond != false then "=${val}" else ""}";
-
mkEnable = mkFlag "enable-" "disable-";
-
mkWith = mkFlag "with-" "without-";
-
mkOther = mkFlag "" "" true;
-
-
shouldUsePkg = pkg_: let
-
pkg = (builtins.tryEval pkg_).value;
-
in if stdenv.lib.any (x: x == stdenv.system) (pkg.meta.platforms or [])
-
then pkg
-
else null;
-
-
buildShared = !stdenv.isDarwin;
-
-
optGpm = shouldUsePkg gpm;
-
in
stdenv.mkDerivation rec {
name = "ncurses-5.9";
···
sha256 = "0fsn7xis81za62afan0vvm38bvgzg5wfmv1m86flqcj0nj7jjilh";
};
-
patches = [ ./clang.patch ];
-
-
buildInputs = [ optGpm ];
+
# gcc-5.patch should be removed after 5.9
+
patches = [ ./clang.patch ./gcc-5.patch ];
configureFlags = [
-
(mkWith true "abi-version" abiVersion)
-
(mkWith true "cxx" null)
-
(mkWith true "cxx-binding" null)
-
(mkWith false "ada" null)
-
(mkWith true "manpages" null)
-
(mkWith true "progs" null)
-
(mkWith doCheck "tests" null)
-
(mkWith true "curses-h" null)
-
(mkEnable true "pc-files" null)
-
(mkWith buildShared "shared" null)
-
(mkWith true "normal" null)
-
(mkWith false "debug" null)
-
(mkWith false "termlib" null)
-
(mkWith false "ticlib" null)
-
(mkWith optGpm "gpm" null)
-
(mkEnable true "overwrite" null)
-
(mkEnable true "database" null)
-
(mkWith true "xterm-new" null)
-
(mkEnable true "symlinks" null)
-
(mkEnable unicode "widec" null)
-
(mkEnable true "ext-colors" null)
-
(mkEnable true "ext-mouse" null)
-
] ++ stdenv.lib.optionals stdenv.isCygwin [
-
"--enable-sp-funcs"
-
"--enable-term-driver"
-
"--enable-const"
-
"--enable-ext-colors"
-
"--enable-ext-mouse"
-
"--enable-reentrant"
-
"--enable-colorfgbg"
-
"--enable-tcap-names"
-
];
+
"--with-shared"
+
"--without-debug"
+
"--enable-pc-files"
+
"--enable-symlinks"
+
] ++ lib.optional unicode "--enable-widec";
+
+
buildInputs = lib.optional (mouseSupport && stdenv.isLinux) gpm;
-
# PKG_CONFIG_LIBDIR is where the *.pc files will be installed. If this
-
# directory doesn't exist, the configure script will disable installation of
-
# *.pc files. The configure script usually (on LSB distros) pick $(path of
-
# pkg-config)/../lib/pkgconfig. On NixOS that path doesn't exist and is not
-
# the place we want to put *.pc files from other packages anyway. So we must
-
# tell it explicitly where to install with PKG_CONFIG_LIBDIR.
preConfigure = ''
+
configureFlagsArray+=("--includedir=$out/include")
export PKG_CONFIG_LIBDIR="$out/lib/pkgconfig"
mkdir -p "$PKG_CONFIG_LIBDIR"
-
'' + stdenv.lib.optionalString stdenv.isCygwin ''
+
'' + lib.optionalString stdenv.isCygwin ''
sed -i -e 's,LIB_SUFFIX="t,LIB_SUFFIX=",' configure
'';
···
# When building a wide-character (Unicode) build, create backward
# compatibility links from the the "normal" libraries to the
# wide-character libraries (e.g. libncurses.so to libncursesw.so).
-
postInstall = if unicode then (''
-
# Create a non-abi versioned config
+
postInstall = ''
+
# Determine what suffixes our libraries have
+
suffix="$(awk -F': ' 'f{print $3; f=0} /default library suffix/{f=1}' config.log)"
+
libs="$(ls $out/lib/pkgconfig | tr ' ' '\n' | sed "s,\(.*\)$suffix\.pc,\1,g")"
+
suffixes="$(echo "$suffix" | awk '{for (i=1; i < length($0); i++) {x=substr($0, i+1, length($0)-i); print x}}')"
+
+
# Get the path to the config util
cfg=$(basename $out/bin/ncurses*-config)
-
ln -svf $cfg $out/bin/ncursesw-config
-
ln -svf $cfg $out/bin/ncurses-config
-
# Allow for end users who #include <ncurses?w/*.h>
-
ln -svf . $out/include/ncursesw
-
ln -svf . $out/include/ncurses
+
# symlink the full suffixed include directory
+
ln -svf . $out/include/ncurses$suffix
-
# Create non-unicode compatability
-
libs="$(find $out/lib -name \*w.a | sed 's,.*lib\(.*\)w.a.*,\1,g')"
-
for lib in $libs; do
-
if [ -e "$out/lib/lib''${lib}w.so" ]; then
-
ln -svf lib''${lib}w.so $out/lib/lib$lib.so
-
ln -svf lib''${lib}w.so.${abiVersion} $out/lib/lib$lib.so.${abiVersion}
-
fi
-
ln -svf lib''${lib}w.a $out/lib/lib$lib.a
-
ln -svf ''${lib}w.pc $out/lib/pkgconfig/$lib.pc
-
done
+
for newsuffix in $suffixes ""; do
+
# Create a non-abi versioned config util links
+
ln -svf $cfg $out/bin/ncurses$newsuffix-config
-
# Create curses compatability
-
ln -svf libncursesw.so $out/lib/libcursesw.so
-
ln -svf libncursesw.so $out/lib/libcurses.so
-
'' + stdenv.lib.optionalString stdenv.isCygwin ''
-
for lib in $libs; do
-
if test -e $out/lib/lib''${lib}w.dll.a; then
-
ln -svf lib''${lib}w.dll.a $out/lib/lib$lib.dll.a
-
fi
+
# Allow for end users who #include <ncurses?w/*.h>
+
ln -svf . $out/include/ncurses$newsuffix
+
+
for lib in $libs; do
+
for dylibtype in so dll dylib; do
+
if [ -e "$out/lib/lib''${lib}$suffix.$dylibtype" ]; then
+
ln -svf lib''${lib}$suffix.$dylibtype $out/lib/lib$lib$newsuffix.$dylibtype
+
ln -svf lib''${lib}$suffix.$dylibtype.${abiVersion} $out/lib/lib$lib$newsuffix.$dylibtype.${abiVersion}
+
fi
+
done
+
for statictype in a dll.a la; do
+
if [ -e "$out/lib/lib''${lib}$suffix.$statictype" ]; then
+
ln -svf lib''${lib}$suffix.$statictype $out/lib/lib$lib$newsuffix.$statictype
+
fi
+
done
+
ln -svf ''${lib}$suffix.pc $out/lib/pkgconfig/$lib$newsuffix.pc
+
done
done
-
'') else ''
-
# Create a non-abi versioned config
-
cfg=$(basename $out/bin/ncurses*-config)
-
ln -svf $cfg $out/bin/ncurses-config
+
'';
-
# Allow for end users who #include <ncurses/*.h>
-
ln -svf . $out/include/ncurses
-
-
# Create curses compatability
-
ln -svf libncurses.so $out/lib/libcurses.so
+
preFixup = ''
+
rm $out/lib/*.a
'';
-
meta = with stdenv.lib; {
+
meta = {
description = "Free software emulation of curses in SVR4 and more";
longDescription = ''
···
homepage = http://www.gnu.org/software/ncurses/;
-
license = licenses.mit;
-
platforms = platforms.all;
-
maintainers = with maintainers; [ wkennington ];
+
license = lib.licenses.mit;
+
platforms = lib.platforms.all;
+
maintainers = [ lib.maintainers.wkennington ];
};
passthru = {
-
ldflags = if unicode then "-lncursesw" else "-lncurses";
+
ldflags = "-lncurses";
inherit unicode abiVersion;
};
}
+46
pkgs/development/libraries/ncurses/gcc-5.patch
···
+
https://bugs.gentoo.org/545114
+
+
extracted from the upstream change (which had many unrelated commits in one)
+
+
From 97bb4678dc03e753290b39bbff30ba2825df9517 Mon Sep 17 00:00:00 2001
+
From: "Thomas E. Dickey" <dickey@invisible-island.net>
+
Date: Sun, 7 Dec 2014 03:10:09 +0000
+
Subject: [PATCH] ncurses 5.9 - patch 20141206
+
+
+ modify MKlib_gen.sh to work around change in development version of
+
gcc introduced here:
+
https://gcc.gnu.org/ml/gcc-patches/2014-06/msg02185.html
+
https://gcc.gnu.org/ml/gcc-patches/2014-07/msg00236.html
+
(reports by Marcus Shawcroft, Maohui Lei).
+
+
diff --git a/ncurses/base/MKlib_gen.sh b/ncurses/base/MKlib_gen.sh
+
index d8cc3c9..b91398c 100755
+
--- a/ncurses/base/MKlib_gen.sh
+
+++ b/ncurses/base/MKlib_gen.sh
+
@@ -474,11 +474,22 @@ sed -n -f $ED1 \
+
-e 's/gen_$//' \
+
-e 's/ / /g' >>$TMP
+
+
+cat >$ED1 <<EOF
+
+s/ / /g
+
+s/^ //
+
+s/ $//
+
+s/P_NCURSES_BOOL/NCURSES_BOOL/g
+
+EOF
+
+
+
+# A patch discussed here:
+
+# https://gcc.gnu.org/ml/gcc-patches/2014-06/msg02185.html
+
+# introduces spurious #line markers. Work around that by ignoring the system's
+
+# attempt to define "bool" and using our own symbol here.
+
+sed -e 's/bool/P_NCURSES_BOOL/g' $TMP > $ED2
+
+cat $ED2 >$TMP
+
+
+
$preprocessor $TMP 2>/dev/null \
+
-| sed \
+
- -e 's/ / /g' \
+
- -e 's/^ //' \
+
- -e 's/_Bool/NCURSES_BOOL/g' \
+
+| sed -f $ED1 \
+
| $AWK -f $AW2 \
+
| sed -f $ED3 \
+
| sed \
+2 -2
pkgs/development/libraries/nghttp2/default.nix
···
in
stdenv.mkDerivation rec {
name = "${prefix}nghttp2-${version}";
-
version = "0.7.14";
+
version = "1.0.2";
# Don't use fetchFromGitHub since this needs a bootstrap curl
src = fetchurl {
url = "http://pub.wak.io/nixos/tarballs/nghttp2-${version}.tar.bz2";
-
sha256 = "000d50yzyysbr9ldhvnbpzn35vplqm08dnmh55wc5zk273gy383f";
+
sha256 = "633dd6d5d1f29a4d802d6c9e5b9eeb0b9104f35652396f26999a27515b6c1c14";
};
# Configure script searches for a symbol which does not exist in jemalloc on Darwin
+37 -65
pkgs/development/libraries/openssl/1.0.2.x.nix
···
{ stdenv, fetchurl, perl
, withCryptodev ? false, cryptodevHeaders }:
+
with stdenv.lib;
let
-
name = "openssl-1.0.2c";
-
-
opensslCrossSystem = stdenv.lib.attrByPath [ "openssl" "system" ]
+
opensslCrossSystem = attrByPath [ "openssl" "system" ]
(throw "openssl needs its platform name cross building" null)
stdenv.cross;
-
-
patchesCross = isCross: let
-
isDarwin = stdenv.isDarwin || (isCross && stdenv.cross.libc == "libSystem");
-
in
-
[ # Allow the location of the X509 certificate file (the CA
-
# bundle) to be set through the environment variable
-
# ‘OPENSSL_X509_CERT_FILE’. This is necessary because the
-
# default location ($out/ssl/cert.pem) doesn't exist, and
-
# hardcoding something like /etc/ssl/cert.pem is impure and
-
# cannot be overriden per-process. For security, the
-
# environment variable is ignored for setuid binaries.
-
# FIXME: drop this patch; it really isn't necessary, because
-
# OpenSSL already supports a ‘SSL_CERT_FILE’ variable.
-
./cert-file.patch
-
]
-
-
++ stdenv.lib.optionals (isCross && opensslCrossSystem == "hurd-x86")
-
[ ./cert-file-path-max.patch # merge with `cert-file.patch' eventually
-
./gnu.patch # submitted upstream
-
]
-
-
++ stdenv.lib.optionals (stdenv.system == "x86_64-kfreebsd-gnu")
-
[ ./gnu.patch
-
./kfreebsd-gnu.patch
-
];
-
-
extraPatches = stdenv.lib.optional stdenv.isCygwin ./1.0.1-cygwin64.patch;
in
-
-
stdenv.mkDerivation {
-
inherit name;
+
stdenv.mkDerivation rec {
+
name = "openssl-1.0.2d";
src = fetchurl {
urls = [
"http://www.openssl.org/source/${name}.tar.gz"
"http://openssl.linux-mirror.org/source/${name}.tar.gz"
];
-
sha256 = "10vasdg52qiyqvgbp14n9z7ghglmhzvag9qpiz2nfqssycvvlf00";
+
sha1 = "d01d17b44663e8ffa6a33a5a30053779d9593c3d";
};
-
patches = (patchesCross false) ++ extraPatches;
+
patches = optional stdenv.isCygwin ./1.0.1-cygwin64.patch;
+
nativeBuildInputs = [ perl ];
buildInputs = stdenv.lib.optional withCryptodev cryptodevHeaders;
-
-
nativeBuildInputs = [ perl ];
# On x86_64-darwin, "./config" misdetects the system as
# "darwin-i386-cc". So specify the system type explicitly.
···
else if stdenv.system == "x86_64-solaris" then "./Configure solaris64-x86_64-gcc"
else "./config";
-
configureFlags = "shared --libdir=lib --openssldir=etc/ssl" +
-
stdenv.lib.optionalString withCryptodev " -DHAVE_CRYPTODEV -DUSE_CRYPTODEV_DIGESTS";
-
-
# CYGXXX: used to be set for cygwin with optionalString. Not needed
-
# anymore but kept to prevent rebuild.
-
preBuild = "";
+
configureFlags = [
+
"shared"
+
"--libdir=lib"
+
"--openssldir=etc/ssl"
+
] ++ stdenv.lib.optionals withCryptodev [
+
"-DHAVE_CRYPTODEV"
+
"-DUSE_CRYPTODEV_DIGESTS"
+
];
-
makeFlags = "MANDIR=$(out)/share/man";
+
makeFlags = [
+
"MANDIR=$(out)/share/man"
+
];
# Parallel building is broken in OpenSSL.
enableParallelBuilding = false;
-
postInstall =
-
''
-
# If we're building dynamic libraries, then don't install static
-
# libraries.
-
if [ -n "$(echo $out/lib/*.so $out/lib/*.dylib)" ]; then
-
rm $out/lib/*.a
-
fi
-
''; # */
+
postInstall = ''
+
# If we're building dynamic libraries, then don't install static
+
# libraries.
+
if [ -n "$(echo $out/lib/*.so $out/lib/*.dylib $out/lib/*.dll)" ]; then
+
rm "$out/lib/"*.a
+
fi
+
+
# remove dependency on Perl at runtime
+
rm -r $out/etc/ssl/misc $out/bin/c_rehash
+
'';
+
+
postFixup = ''
+
# Check to make sure we don't depend on perl
+
if grep -r '${perl}' $out; then
+
echo "Found an erroneous dependency on perl ^^^" >&2
+
exit 1
+
fi
+
'';
crossAttrs = {
-
patches = patchesCross true;
-
preConfigure=''
# It's configure does not like --build or --host
-
export configureFlags="--libdir=lib --cross-compile-prefix=${stdenv.cross.config}- shared ${opensslCrossSystem}"
+
export configureFlags="${concatStringsSep " " (configureFlags ++ [ opensslCrossSystem ])}"
'';
-
postInstall = ''
-
# Openssl installs readonly files, which otherwise we can't strip.
-
# This could at some stdenv hash change be put out of crossAttrs, too
-
chmod -R +w $out
-
-
# Remove references to perl, to avoid depending on it at runtime
-
rm $out/bin/c_rehash $out/ssl/misc/CA.pl $out/ssl/misc/tsget
-
'';
configureScript = "./Configure";
-
} // stdenv.lib.optionalAttrs (opensslCrossSystem == "darwin64-x86_64-cc") {
-
CC = "gcc";
};
meta = {
-34
pkgs/development/libraries/openssl/cert-file-path-max.patch
···
-
This patch, to be applied after `cert-file.patch', fixes compilation
-
on GNU/Hurd where `PATH_MAX' is not defined.
-
-
diff -ubB --show-c-function openssl-1.0.0e/crypto/x509/x509_def.c.orig openssl-1.0.0e/crypto/x509/x509_def.c
-
--- openssl-1.0.0e/crypto/x509/x509_def.c.orig 2012-01-06 00:08:48.000000000 +0100
-
+++ openssl-1.0.0e/crypto/x509/x509_def.c 2012-01-06 00:11:29.000000000 +0100
-
@@ -58,6 +58,7 @@
-
-
#include <stdio.h>
-
#include <stdlib.h>
-
+#include <string.h>
-
#include <limits.h>
-
#include <unistd.h>
-
#include <sys/types.h>
-
@@ -76,14 +77,16 @@ const char *X509_get_default_cert_dir(vo
-
-
const char *X509_get_default_cert_file(void)
-
{
-
- static char buf[PATH_MAX] = X509_CERT_FILE;
-
+ static char *buf;
-
static int init = 0;
-
if (!init) {
-
init = 1;
-
char * s = getenv("OPENSSL_X509_CERT_FILE");
-
if (s && getuid() == geteuid()) {
-
- strncpy(buf, s, sizeof(buf));
-
- buf[sizeof(buf) - 1] = 0;
-
+ buf = strdup(s);
-
+ }
-
+ if (!s) {
-
+ buf = strdup(X509_CERT_FILE);
-
}
-
}
-
return buf;
-39
pkgs/development/libraries/openssl/cert-file.patch
···
-
diff -ru openssl-1.0.1m-orig/crypto/x509/x509_def.c openssl-1.0.1m/crypto/x509/x509_def.c
-
--- openssl-1.0.1m-orig/crypto/x509/x509_def.c 2015-03-19 14:19:00.000000000 +0100
-
+++ openssl-1.0.1m/crypto/x509/x509_def.c 2015-03-19 15:50:44.676683616 +0100
-
@@ -57,6 +57,10 @@
-
*/
-
-
#include <stdio.h>
-
+#include <stdlib.h>
-
+#include <limits.h>
-
+#include <unistd.h>
-
+#include <sys/types.h>
-
#include "cryptlib.h"
-
#include <openssl/crypto.h>
-
#include <openssl/x509.h>
-
@@ -78,7 +82,23 @@
-
-
const char *X509_get_default_cert_file(void)
-
{
-
- return (X509_CERT_FILE);
-
+ static char buf[PATH_MAX] = X509_CERT_FILE;
-
+ static int init = 0;
-
+ if (!init) {
-
+ init = 1;
-
+ char * s = getenv("OPENSSL_X509_CERT_FILE");
-
+ if (s) {
-
+#ifndef OPENSSL_SYS_WINDOWS
-
+ if (getuid() == geteuid()) {
-
+#endif
-
+ strncpy(buf, s, sizeof(buf));
-
+ buf[sizeof(buf) - 1] = 0;
-
+#ifndef OPENSSL_SYS_WINDOWS
-
+ }
-
+#endif
-
+ }
-
+ }
-
+ return buf;
-
}
-
-
const char *X509_get_default_cert_dir_env(void)
+38 -67
pkgs/development/libraries/openssl/default.nix
···
{ stdenv, fetchurl, perl
, withCryptodev ? false, cryptodevHeaders }:
+
with stdenv.lib;
let
-
name = "openssl-1.0.1m";
-
-
opensslCrossSystem = stdenv.lib.attrByPath [ "openssl" "system" ]
+
opensslCrossSystem = attrByPath [ "openssl" "system" ]
(throw "openssl needs its platform name cross building" null)
stdenv.cross;
-
-
patchesCross = isCross: let
-
isDarwin = stdenv.isDarwin || (isCross && stdenv.cross.libc == "libSystem");
-
in
-
[ # Allow the location of the X509 certificate file (the CA
-
# bundle) to be set through the environment variable
-
# ‘OPENSSL_X509_CERT_FILE’. This is necessary because the
-
# default location ($out/ssl/cert.pem) doesn't exist, and
-
# hardcoding something like /etc/ssl/cert.pem is impure and
-
# cannot be overriden per-process. For security, the
-
# environment variable is ignored for setuid binaries.
-
# FIXME: drop this patch; it really isn't necessary, because
-
# OpenSSL already supports a ‘SSL_CERT_FILE’ variable.
-
./cert-file.patch
-
]
-
-
++ stdenv.lib.optionals (isCross && opensslCrossSystem == "hurd-x86")
-
[ ./cert-file-path-max.patch # merge with `cert-file.patch' eventually
-
./gnu.patch # submitted upstream
-
]
-
-
++ stdenv.lib.optionals (stdenv.system == "x86_64-kfreebsd-gnu")
-
[ ./gnu.patch
-
./kfreebsd-gnu.patch
-
]
-
-
++ stdenv.lib.optional isDarwin ./darwin-arch.patch;
-
-
extraPatches = stdenv.lib.optional stdenv.isCygwin ./1.0.1-cygwin64.patch;
in
-
-
stdenv.mkDerivation {
-
inherit name;
+
stdenv.mkDerivation rec {
+
name = "openssl-1.0.1p";
src = fetchurl {
urls = [
"http://www.openssl.org/source/${name}.tar.gz"
"http://openssl.linux-mirror.org/source/${name}.tar.gz"
];
-
sha256 = "0x7gvyybmqm4lv62mlhlm80f1rn7il2qh8224rahqv0i15xhnpq9";
+
sha1 = "9d1977cc89242cd11471269ece2ed4650947c046";
};
-
patches = (patchesCross false) ++ extraPatches;
+
patches = optional stdenv.isCygwin ./1.0.1-cygwin64.patch
+
++ optional (stdenv.isDarwin || (stdenv ? cross && stdenv.cross.libc == "libSystem")) ./darwin-arch.patch;
+
nativeBuildInputs = [ perl ];
buildInputs = stdenv.lib.optional withCryptodev cryptodevHeaders;
-
-
nativeBuildInputs = [ perl ];
# On x86_64-darwin, "./config" misdetects the system as
# "darwin-i386-cc". So specify the system type explicitly.
···
else if stdenv.system == "x86_64-solaris" then "./Configure solaris64-x86_64-gcc"
else "./config";
-
configureFlags = "shared --libdir=lib --openssldir=etc/ssl" +
-
stdenv.lib.optionalString withCryptodev " -DHAVE_CRYPTODEV -DUSE_CRYPTODEV_DIGESTS";
+
configureFlags = [
+
"shared"
+
"--libdir=lib"
+
"--openssldir=etc/ssl"
+
] ++ stdenv.lib.optionals withCryptodev [
+
"-DHAVE_CRYPTODEV"
+
"-DUSE_CRYPTODEV_DIGESTS"
+
];
-
# CYGXXX: used to be set for cygwin with optionalString. Not needed
-
# anymore but kept to prevent rebuild.
-
preBuild = "";
-
-
makeFlags = "MANDIR=$(out)/share/man";
+
makeFlags = [
+
"MANDIR=$(out)/share/man"
+
];
# Parallel building is broken in OpenSSL.
enableParallelBuilding = false;
-
postInstall =
-
''
-
# If we're building dynamic libraries, then don't install static
-
# libraries.
-
if [ -n "$(echo $out/lib/*.so $out/lib/*.dylib)" ]; then
-
rm $out/lib/*.a
-
fi
-
''; # */
+
postInstall = ''
+
# If we're building dynamic libraries, then don't install static
+
# libraries.
+
if [ -n "$(echo $out/lib/*.so $out/lib/*.dylib $out/lib/*.dll)" ]; then
+
rm "$out/lib/"*.a
+
fi
-
crossAttrs = {
-
patches = patchesCross true;
+
# remove dependency on Perl at runtime
+
rm -r $out/etc/ssl/misc $out/bin/c_rehash
+
'';
+
+
postFixup = ''
+
# Check to make sure we don't depend on perl
+
if grep -r '${perl}' $out; then
+
echo "Found an erroneous dependency on perl ^^^" >&2
+
exit 1
+
fi
+
'';
+
crossAttrs = {
preConfigure=''
# It's configure does not like --build or --host
-
export configureFlags="--libdir=lib --cross-compile-prefix=${stdenv.cross.config}- shared ${opensslCrossSystem}"
+
export configureFlags="${concatStringsSep " " (configureFlags ++ [ opensslCrossSystem ])}"
'';
-
postInstall = ''
-
# Openssl installs readonly files, which otherwise we can't strip.
-
# This could at some stdenv hash change be put out of crossAttrs, too
-
chmod -R +w $out
-
-
# Remove references to perl, to avoid depending on it at runtime
-
rm $out/bin/c_rehash $out/ssl/misc/CA.pl $out/ssl/misc/tsget
-
'';
configureScript = "./Configure";
-
} // stdenv.lib.optionalAttrs (opensslCrossSystem == "darwin64-x86_64-cc") {
-
CC = "gcc";
};
meta = {
-25
pkgs/development/libraries/openssl/gnu.patch
···
-
Patch to fix compilation on GNU/Hurd and GNU/kFreeBSD.
-
-
--- openssl-1.0.0e/Configure 2012-01-06 00:39:49.000000000 +0100
-
+++ openssl-1.0.0e/Configure 2012-01-06 00:39:51.000000000 +0100
-
@@ -563,7 +563,7 @@ my %table=(
-
"newsos4-gcc","gcc:-O -DB_ENDIAN::(unknown):NEWS4:-lmld -liberty:BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR DES_RISC1 DES_UNROLL BF_PTR::::",
-
-
##### GNU Hurd
-
-"hurd-x86", "gcc:-DL_ENDIAN -DTERMIOS -O3 -fomit-frame-pointer -march=i486 -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC",
-
+"hurd-x86", "gcc:-DL_ENDIAN -DTERMIOS -O3 -fomit-frame-pointer -march=i486 -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-
-
##### OS/2 EMX
-
"OS2-EMX", "gcc::::::::",
-
-
--- openssl-1.0.0e/crypto/dso/dso_dlfcn.c 2012-01-06 00:05:47.000000000 +0100
-
+++ openssl-1.0.0e/crypto/dso/dso_dlfcn.c 2012-01-06 00:21:05.000000000 +0100
-
@@ -60,7 +60,7 @@
-
that handle _GNU_SOURCE and other similar macros. Defining it later
-
is simply too late, because those headers are protected from re-
-
inclusion. */
-
-#ifdef __linux
-
+#if defined __linux || defined __GNU__ || defined __GLIBC__
-
# ifndef _GNU_SOURCE
-
# define _GNU_SOURCE /* make sure dladdr is declared */
-
# endif
-12
pkgs/development/libraries/openssl/hurd-target.patch
···
-
diff -Naur openssl-1.0.0d-orig/Configure openssl-1.0.0d/Configure
-
--- openssl-1.0.0d-orig/Configure 2010-11-30 17:19:26.000000000 -0500
-
+++ openssl-1.0.0d/Configure 2011-11-16 13:52:57.614416683 -0500
-
@@ -563,7 +563,7 @@
-
"newsos4-gcc","gcc:-O -DB_ENDIAN::(unknown):NEWS4:-lmld -liberty:BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR DES_RISC1 DES_UNROLL BF_PTR::::",
-
-
##### GNU Hurd
-
-"hurd-x86", "gcc:-DL_ENDIAN -DTERMIOS -O3 -fomit-frame-pointer -march=i486 -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC",
-
+"hurd-x86","gcc:-DL_ENDIAN -DTERMIOS -O3 -Wa,--noexecstack -g -mtune=i486 -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-
-
##### OS/2 EMX
-
"OS2-EMX", "gcc::::::::",
-36
pkgs/development/libraries/openssl/kfreebsd-gnu.patch
···
-
Allow compilation on GNU/kFreeBSD. Ideally, there'd be a single way to process
-
all glibc-based system, but the build system is soooo broken.
-
-
--- openssl-1.0.0i/config
-
+++ openssl-1.0.0i/config
-
@@ -170,6 +170,10 @@ case "${SYSTEM}:${RELEASE}:${VERSION}:${
-
echo "${MACHINE}-whatever-linux1"; exit 0
-
;;
-
-
+ GNU/kFreeBSD*)
-
+ echo "kfreebsd-gnu"; exit 0;
-
+ ;;
-
+
-
GNU*)
-
echo "hurd-x86"; exit 0;
-
;;
-
@@ -810,6 +814,7 @@ case "$GUESSOS" in
-
beos-*) OUT="$GUESSOS" ;;
-
x86pc-*-qnx6) OUT="QNX6-i386" ;;
-
*-*-qnx6) OUT="QNX6" ;;
-
+ kfreebsd-gnu) OUT="kfreebsd-gnu";;
-
*) OUT=`echo $GUESSOS | awk -F- '{print $3}'`;;
-
esac
-
-
-
--- openssl-1.0.0i/Configure
-
+++ openssl-1.0.0i/Configure
-
@@ -565,6 +565,9 @@ my %table=(
-
##### GNU Hurd
-
"hurd-x86", "gcc:-DL_ENDIAN -DTERMIOS -O3 -fomit-frame-pointer -march=i486 -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC",
-
-
+##### GNU/kFreeBSD on x86_64, copied from "linux-x86_64"
-
+"kfreebsd-gnu", "gcc:-m64 -DL_ENDIAN -DTERMIOS -O3 -Wall -DMD32_REG_T=int::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
-
+
-
##### OS/2 EMX
-
"OS2-EMX", "gcc::::::::",
+1 -1
pkgs/development/libraries/pixman/default.nix
···
postInstall = glib.flattenInclude;
-
patches = stdenv.lib.optional stdenv.cc.isClang ./fix-clang36.patch;
+
patches = stdenv.lib.optional stdenv.isDarwin ./fix-clang36.patch;
meta = {
homepage = http://pixman.org;
+3 -3
pkgs/development/libraries/polkit/default.nix
···
in
stdenv.mkDerivation rec {
-
name = "polkit-0.112";
+
name = "polkit-0.113";
src = fetchurl {
url = "http://www.freedesktop.org/software/polkit/releases/${name}.tar.gz";
-
sha256 = "1xkary7yirdcjdva950nqyhmsz48qhrdsr78zciahj27p8yg95fn";
+
sha256 = "109w86kfqrgz83g9ivggplmgc77rz8kx8646izvm2jb57h4rbh71";
};
buildInputs =
···
preConfigure = ''
patchShebangs .
'' + stdenv.lib.optionalString useSystemd /* bogus chroot detection */ ''
-
sed '/libsystemd-login autoconfigured, but system does not appear to use systemd/s/.*/:/' -i configure
+
sed '/libsystemd autoconfigured/s/.*/:/' -i configure
''
# ‘libpolkit-agent-1.so’ should call the setuid wrapper on
# NixOS. Hard-coding the path is kinda ugly. Maybe we can just
+2 -4
pkgs/development/libraries/qt-4.x/4.8/default.nix
···
let
v_maj = "4.8";
-
v_min = "6";
+
v_min = "7";
vers = "${v_maj}.${v_min}";
in
···
src = fetchurl {
url = "http://download.qt-project.org/official_releases/qt/"
+ "${v_maj}/${vers}/qt-everywhere-opensource-src-${vers}.tar.gz";
-
sha256 = "0b036iqgmbbv37dgwwfihw3mihjbnw3kb5kaisdy0qi8nn8xs54b";
+
sha256 = "183fca7n7439nlhxyg1z7aky0izgbyll3iwakw4gwivy16aj5272";
};
# The version property must be kept because it will be included into the QtSDK package name
···
nativeBuildInputs = [ perl pkgconfig which ];
-
# occasional build problems if one has too many cores (like on Hydra)
-
# @vcunat has been unable to find a *reliable* fix
enableParallelBuilding = false;
NIX_CFLAGS_COMPILE = optionalString stdenv.isDarwin
+4 -2
pkgs/development/libraries/qt-5/5.4/setup-hook.sh
···
fi
fi
-
if [[ -n $qtSubmodule ]] && [[ -d "$1/lib" ]]; then
+
if [[ -d "$1/lib" ]]; then
@lndir@/bin/lndir -silent "$1/lib" "$qtOut/lib"
-
find "$1/lib" -printf 'lib/%P\n' >> "$qtOut/nix-support/qt-inputs"
+
if [[ -n $qtSubmodule ]]; then
+
find "$1/lib" -printf 'lib/%P\n' >> "$qtOut/nix-support/qt-inputs"
+
fi
fi
fi
}
+1
pkgs/development/libraries/rocksdb/default.nix
···
# Environment vars used for building certain configurations
PORTABLE = "1";
USE_SSE = "1";
+
CMAKE_CXX_FLAGS = "-std=gnu++11";
JEMALLOC_LIB = stdenv.lib.optionalString (malloc == jemalloc) "-ljemalloc";
buildFlags = [
+4 -4
pkgs/development/libraries/wayland/default.nix
···
stdenv.mkDerivation rec {
name = "wayland-${version}";
-
version = "1.7.0";
+
version = "1.8.1";
src = fetchurl {
url = "http://wayland.freedesktop.org/releases/${name}.tar.xz";
-
sha256 = "173w0pqzk2m7hjlg15bymrx7ynxgq1ciadg03hzybxwnvfi4gsmx";
+
sha256 = "1j3gfzn8i0xhk3j34mwb2srrscjxfyi279jhyq80mz943j6r6z7i";
};
-
configureFlags = "--with-scanner";
+
configureFlags = "--with-scanner --disable-documentation";
nativeBuildInputs = [ pkgconfig ];
-
buildInputs = [ libffi docbook_xsl doxygen graphviz libxslt xmlto expat ];
+
buildInputs = [ libffi /* docbook_xsl doxygen graphviz libxslt xmlto */ expat ];
meta = {
description = "Reference implementation of the wayland protocol";
+7
pkgs/development/libraries/zlib/default.nix
···
sha256 = "039agw5rqvqny92cpkrfn243x2gd4xn13hs3xi6isk55d2vqqr9n";
};
+
postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
+
substituteInPlace configure \
+
--replace '/usr/bin/libtool' 'ar' \
+
--replace 'AR="libtool"' 'AR="ar"' \
+
--replace 'ARFLAGS="-o"' 'ARFLAGS="-r"'
+
'';
+
configureFlags = if static then "" else "--shared";
preConfigure = ''
+2 -2
pkgs/development/perl-modules/DBD-SQLite/default.nix
···
{ stdenv, fetchurl, buildPerlPackage, DBI, sqlite }:
buildPerlPackage rec {
-
name = "DBD-SQLite-1.44";
+
name = "DBD-SQLite-1.48";
src = fetchurl {
url = "mirror://cpan/authors/id/I/IS/ISHIGAKI/${name}.tar.gz";
-
sha256 = "10r7wv5x4vzn9zbk3c7mhbx6kz76xxd9p357592c0wamj458qlml";
+
sha256 = "19hf0fc4dlnpmxsxx3jjbh2z6d2jafgdlqhwz4irkp2cbl7j75xk";
};
propagatedBuildInputs = [ DBI ];
+3 -3
pkgs/development/perl-modules/lwp-protocol-https-cert-file.patch
···
-
Use $OPENSSL_X509_CERT_FILE to get the CA certificates.
+
Use $SSL_CERT_FILE to get the CA certificates.
diff -ru -x '*~' LWP-Protocol-https-6.02-orig/lib/LWP/Protocol/https.pm LWP-Protocol-https-6.02/lib/LWP/Protocol/https.pm
--- LWP-Protocol-https-6.02-orig/lib/LWP/Protocol/https.pm 2011-03-27 13:54:01.000000000 +0200
···
}
if ($ssl_opts{SSL_verify_mode}) {
unless (exists $ssl_opts{SSL_ca_file} || exists $ssl_opts{SSL_ca_path}) {
-
+ if (defined $ENV{'OPENSSL_X509_CERT_FILE'}) {
-
+ $ssl_opts{SSL_ca_file} = $ENV{'OPENSSL_X509_CERT_FILE'};
+
+ if (defined $ENV{'SSL_CERT_FILE'}) {
+
+ $ssl_opts{SSL_ca_file} = $ENV{'SSL_CERT_FILE'};
+ }
+ }
+ unless (exists $ssl_opts{SSL_ca_file} || exists $ssl_opts{SSL_ca_path}) {
+6
pkgs/development/pure-modules/stldict/default.nix
···
sha256 = "5b894ae6dc574c7022258e2732bea649c82c959ec4d0be13fb5a3e8ba8488f28";
};
+
postPatch = ''
+
for f in hashdict.cc orddict.cc; do
+
sed -i '1i\#include <stddef.h>' $f
+
done
+
'';
+
buildInputs = [ pkgconfig ];
propagatedBuildInputs = [ pure ];
makeFlags = "libdir=$(out)/lib prefix=$(out)/";
+6
pkgs/development/pure-modules/stllib/default.nix
···
sha256 = "1d550764fc2f8ba6ddbd1fbd3da2d6965b69e2c992747265d9ebe4f16aa5e455";
};
+
postPatch = ''
+
for f in pure-stlmap/{stlmap.cpp,stlmmap.cpp,stlhmap.cpp}; do
+
sed -i '1i\#include <cstddef>' $f
+
done
+
'';
+
buildInputs = [ pkgconfig ];
propagatedBuildInputs = [ pure ];
makeFlags = "libdir=$(out)/lib prefix=$(out)/";
-13
pkgs/development/python-modules/gyp/no-darwin-cflags.patch
···
self._Appendf(cflags, 'GCC_OPTIMIZATION_LEVEL', '-O%s', default='s')
if self._Test('GCC_GENERATE_DEBUGGING_SYMBOLS', 'YES', default='YES'):
-
@@ -519,12 +513,6 @@
-
if self._Test('GCC_SYMBOLS_PRIVATE_EXTERN', 'YES', default='NO'):
-
cflags.append('-fvisibility=hidden')
-
-
- if self._Test('GCC_TREAT_WARNINGS_AS_ERRORS', 'YES', default='NO'):
-
- cflags.append('-Werror')
-
-
-
- if self._Test('GCC_WARN_ABOUT_MISSING_NEWLINE', 'YES', default='NO'):
-
- cflags.append('-Wnewline-eof')
-
-
-
# In Xcode, this is only activated when GCC_COMPILER_VERSION is clang or
-
# llvm-gcc. It also requires a fairly recent libtool, and
-
# if the system clang isn't used, DYLD_LIBRARY_PATH needs to contain the
@@ -553,7 +541,6 @@
# TODO: Supporting fat binaries will be annoying.
self._WarnUnimplemented('ARCHS')
+1 -1
pkgs/development/python-modules/setuptools/default.nix
···
''
dst=$out/lib/${python.libPrefix}/site-packages
mkdir -p $dst
-
PYTHONPATH="$dst:$PYTHONPATH"
+
export PYTHONPATH="$dst:$PYTHONPATH"
${python}/bin/${python.executable} setup.py install --prefix=$out --install-lib=$out/lib/${python.libPrefix}/site-packages
wrapPythonPrograms
'';
+3 -5
pkgs/development/tools/build-managers/cmake/default.nix
···
{ stdenv, fetchurl
-
, bzip2, curl, expat, jsoncpp, libarchive, xz, zlib
+
, bzip2, curl, expat, libarchive, xz, zlib
, useNcurses ? false, ncurses, useQt4 ? false, qt4
, wantPS ? false, ps ? null
}:
···
buildInputs =
[ bzip2 curl expat libarchive xz zlib ]
-
++ optional (jsoncpp != null && !stdenv.isCygwin) jsoncpp
++ optional useNcurses ncurses
++ optional useQt4 qt4;
···
CMAKE_PREFIX_PATH = stdenv.lib.concatStringsSep ":" buildInputs;
configureFlags =
-
[
-
"--docdir=/share/doc/${name}"
+
[ "--docdir=/share/doc/${name}"
"--mandir=/share/man"
+
"--no-system-jsoncpp"
]
++ optional (!stdenv.isCygwin) "--system-libs"
-
++ optional (jsoncpp == null || stdenv.isCygwin) "--no-system-jsoncpp"
++ optional useQt4 "--qt-gui"
++ ["--"]
++ optional (!useNcurses) "-DBUILD_CursesDialog=OFF";
+3
pkgs/development/tools/build-managers/gnumake/4.1/default.nix
···
# and /usr/lib. It's a stupid feature anyway. Likewise, when searching for
# included Makefiles, don't look in /usr/include and friends.
./impure-dirs.patch
+
+
# Don't segfault if we can't get a tty name.
+
./no-tty-name.patch
];
meta = {
+53
pkgs/development/tools/build-managers/gnumake/4.1/no-tty-name.patch
···
+
From 292da6f6867b75a5af7ddbb639a1feae022f438f Mon Sep 17 00:00:00 2001
+
From: Paul Smith <psmith@gnu.org>
+
Date: Mon, 20 Oct 2014 05:54:56 +0000
+
Subject: * main.c (main): [SV 43434] Handle NULL returns from ttyname().
+
+
---
+
diff --git main.c main.c
+
index b2d169c..0cdb8a8 100644
+
--- main.c
+
+++ main.c
+
@@ -1429,13 +1429,18 @@ main (int argc, char **argv, char **envp)
+
#ifdef HAVE_ISATTY
+
if (isatty (fileno (stdout)))
+
if (! lookup_variable (STRING_SIZE_TUPLE ("MAKE_TERMOUT")))
+
- define_variable_cname ("MAKE_TERMOUT", TTYNAME (fileno (stdout)),
+
- o_default, 0)->export = v_export;
+
-
+
+ {
+
+ const char *tty = TTYNAME (fileno (stdout));
+
+ define_variable_cname ("MAKE_TERMOUT", tty ? tty : DEFAULT_TTYNAME,
+
+ o_default, 0)->export = v_export;
+
+ }
+
if (isatty (fileno (stderr)))
+
if (! lookup_variable (STRING_SIZE_TUPLE ("MAKE_TERMERR")))
+
- define_variable_cname ("MAKE_TERMERR", TTYNAME (fileno (stderr)),
+
- o_default, 0)->export = v_export;
+
+ {
+
+ const char *tty = TTYNAME (fileno (stderr));
+
+ define_variable_cname ("MAKE_TERMERR", tty ? tty : DEFAULT_TTYNAME,
+
+ o_default, 0)->export = v_export;
+
+ }
+
#endif
+
+
/* Reset in case the switches changed our minds. */
+
diff --git makeint.h makeint.h
+
index 6223936..2009f41 100644
+
--- makeint.h
+
+++ makeint.h
+
@@ -436,10 +436,11 @@ extern struct rlimit stack_limit;
+
/* The number of bytes needed to represent the largest integer as a string. */
+
#define INTSTR_LENGTH CSTRLEN ("18446744073709551616")
+
+
+#define DEFAULT_TTYNAME "true"
+
#ifdef HAVE_TTYNAME
+
# define TTYNAME(_f) ttyname (_f)
+
#else
+
-# define TTYNAME(_f) "true"
+
+# define TTYNAME(_f) DEFAULT_TTYNAME
+
#endif
+
+
+
--
+
cgit v0.9.0.2
+31
pkgs/development/tools/build-managers/gnustep/make/default.nix
···
+
{ stdenv, fetchurl }:
+
+
stdenv.mkDerivation rec {
+
name = "make-${version}";
+
version = "1.0";
+
+
src = fetchurl {
+
url = "http://ftpmain.gnustep.org/pub/gnustep/core/gnustep-make-2.6.6.tar.gz";
+
sha256 = "07cqr8x17bia9w6clbmiv7ay6r9nplrjz2cyzinv4w7zfpc19vxw";
+
};
+
+
patchPhase = ''
+
substituteInPlace GNUmakefile.in \
+
--replace which type \
+
--replace 'tooldir = $(DESTDIR)' 'tooldir = ' \
+
--replace 'makedir = $(DESTDIR)' 'makedir = ' \
+
--replace 'mandir = $(DESTDIR)' 'mandir = '
+
+
substituteInPlace FilesystemLayouts/apple \
+
--replace /usr/local ""
+
'';
+
+
installFlags = "DESTDIR=$(out)";
+
+
postInstall = ''
+
mkdir -p $out/nix-support
+
cat >$out/nix-support/setup-hook <<EOF
+
. $out/Library/GNUstep/Makefiles/GNUstep.sh
+
EOF
+
'';
+
}
+23
pkgs/development/tools/build-managers/gnustep/xcode/default.nix
···
+
{ stdenv, fetchgit, gnustep-make, Foundation, libobjc }:
+
+
stdenv.mkDerivation rec {
+
name = "xcode-${version}";
+
version = "1.0";
+
+
makeFlags = "messages=yes";
+
+
installFlags = "DESTDIR=$(out)";
+
+
__impureHostDeps = [
+
"/System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/UIFoundation"
+
"/usr/lib/libextension.dylib"
+
];
+
+
buildInputs = [ gnustep-make Foundation libobjc ];
+
+
src = fetchgit {
+
url = "https://github.com/gnustep/xcode";
+
rev = "cc5016794e44f9998674120a5e4625aa09ca455a";
+
sha256 = "85420f3f61091b2e4548cf5e99d886cb9c72cf07b8b9fae3eebc87e7b6b7e54a";
+
};
+
}
+2 -2
pkgs/development/tools/chefdk/default.nix
···
-
{ stdenv, lib, bundlerEnv, ruby, perl }:
+
{ stdenv, lib, bundlerEnv, ruby, perl, autoconf }:
bundlerEnv {
name = "chefdk-0.4.0";
···
lockfile = ./Gemfile.lock;
gemset = ./gemset.nix;
-
buildInputs = [ perl ];
+
buildInputs = [ perl autoconf ];
meta = with lib; {
description = "A streamlined development and deployment workflow for Chef platform";
+4 -4
pkgs/development/tools/misc/binutils/default.nix
···
, cross ? null, gold ? true, bison ? null
}:
-
assert !stdenv.isDarwin;
-
let basename = "binutils-2.23.1"; in
with { inherit (stdenv.lib) optional optionals optionalString; };
···
# As binutils takes part in the stdenv building, we don't want references
# to the bootstrap-tools libgcc (as uses to happen on arm/mips)
-
NIX_CFLAGS_COMPILE = "-static-libgcc";
+
NIX_CFLAGS_COMPILE = if stdenv.isDarwin
+
then "-Wno-string-plus-int -Wno-deprecated-declarations"
+
else "-static-libgcc";
configureFlags =
-
[ "--enable-shared" "--enable-deterministic-archives" ]
+
[ "--enable-shared" "--enable-deterministic-archives" "--disable-werror" ]
++ optional (stdenv.system == "mips64el-linux") "--enable-fix-loongson2f-nop"
++ optional (cross != null) "--target=${cross.config}"
++ optionals gold [ "--enable-gold" "--enable-plugins" ]
+2 -2
pkgs/development/tools/misc/help2man/default.nix
···
{ stdenv, fetchurl, perl, gettext, LocaleGettext, makeWrapper }:
stdenv.mkDerivation rec {
-
name = "help2man-1.46.6";
+
name = "help2man-1.47.1";
src = fetchurl {
url = "mirror://gnu/help2man/${name}.tar.xz";
-
sha256 = "1brccgnjf09f2zg70s6gv6gn68mi59kp3zf50wvxp79n72ngapv1";
+
sha256 = "01ib718afwc28bmh1n0p5h7245vs3rrfm7bj1sq4avmh1kv2d6y5";
};
buildInputs = [ makeWrapper perl gettext LocaleGettext ];
+1 -1
pkgs/development/tools/misc/pkgconfig/default.nix
···
sha256 = "0igqq5m204w71m11y0nipbdf5apx87hwfll6axs12hn4dqfb6vkb";
};
-
buildInputs = stdenv.lib.optional stdenv.isCygwin libiconv;
+
buildInputs = stdenv.lib.optional (stdenv.isCygwin || stdenv.isDarwin) libiconv;
configureFlags = [ "--with-internal-glib" ];
+4 -17
pkgs/development/tools/profiling/oprofile/default.nix
···
-
{ stdenv, fetchurl, binutils, popt, makeWrapper, gawk, which, gnugrep, zlib
-
, pkgconfig
+
{ stdenv, fetchurl, binutils, popt, zlib, pkgconfig
, withGUI ? false , qt4 ? null}:
# libX11 is needed because the Qt build stuff automatically adds `-lX11'.
assert withGUI -> qt4 != null;
stdenv.mkDerivation rec {
-
name = "oprofile-0.9.9";
+
name = "oprofile-1.0.0";
src = fetchurl {
url = "mirror://sourceforge/oprofile/${name}.tar.gz";
-
sha256 = "15vm24jhw4xfd55pfw1rlpzfsh4bl1vyjsajs78bi9xbv8038lhy";
+
sha256 = "0nn4wfvwy4nii25y6lwlrnzx9ah4nz0r93yk7hswiy6wxjs10wc4";
};
-
patchPhase = ''
-
sed -i "utils/opcontrol" \
-
-e "s|OPCONTROL=.*$|OPCONTROL=\"$out/bin/opcontrol\"|g ;
-
s|OPDIR=.*$|OPDIR=\"$out/bin\"|g ;
-
s|^PATH=.*$||g"
-
'';
-
-
buildInputs = [ binutils zlib popt makeWrapper gawk which gnugrep pkgconfig ]
+
buildInputs = [ binutils zlib popt pkgconfig ]
++ stdenv.lib.optionals withGUI [ qt4 ];
configureFlags = [
"--disable-shared" # needed because only the static libbfd is available
]
++ stdenv.lib.optional withGUI "--with-qt-dir=${qt4} --enable-gui=qt4";
-
-
postInstall = ''
-
wrapProgram "$out/bin/opcontrol" \
-
--prefix PATH : "$out/bin:${gawk}/bin:${which}/bin:${gnugrep}/bin"
-
'';
meta = {
description = "System-wide profiler for Linux";
+7 -11
pkgs/development/web/nodejs/default.nix
···
{ stdenv, fetchurl, openssl, python, zlib, libuv, v8, utillinux, http-parser
-
, pkgconfig, runCommand, which, unstableVersion ? false
+
, pkgconfig, runCommand, which, libtool, unstableVersion ? false
}:
# nodejs 0.12 can't be built on armv5tel. Armv6 with FPU, minimum I think.
···
assert stdenv.system != "armv5tel-linux";
let
-
dtrace = runCommand "dtrace-native" {} ''
-
mkdir -p $out/bin
-
ln -sv /usr/sbin/dtrace $out/bin
-
'';
-
version = "0.12.7";
deps = {
···
sha256 = "17gk29zbw58l0sjjfw86acp39pkiblnq0gsq1jdrd70w0pgn8gdj";
};
-
configureFlags = concatMap sharedConfigureFlags (builtins.attrNames deps);
+
configureFlags = concatMap sharedConfigureFlags (builtins.attrNames deps) ++ [ "--without-dtrace" ];
prePatch = ''
-
sed -e 's|^#!/usr/bin/env python$|#!${python}/bin/python|g' -i configure
+
patchShebangs .
'';
-
patches = if stdenv.isDarwin then [ ./no-xcode.patch ] else null;
-
+
patches = stdenv.lib.optional stdenv.isDarwin ./no-xcode.patch;
buildInputs = [ python which ]
++ (optional stdenv.isLinux utillinux)
-
++ optionals stdenv.isDarwin [ pkgconfig openssl dtrace ];
+
++ optionals stdenv.isDarwin [ pkgconfig openssl libtool ];
setupHook = ./setup-hook.sh;
+
+
enableParallelBuilding = true;
passthru.interpreterName = "nodejs";
+12 -12
pkgs/development/web/nodejs/v0_10.nix
···
{ stdenv, fetchurl, openssl, python, zlib, v8, utillinux, http-parser, c-ares
-
, pkgconfig, runCommand, which
+
, pkgconfig, runCommand, which, libtool
+
+
# apple frameworks
+
, CoreServices, ApplicationServices, Carbon, Foundation
}:
let
-
dtrace = runCommand "dtrace-native" {} ''
-
mkdir -p $out/bin
-
ln -sv /usr/sbin/dtrace $out/bin
-
'';
-
version = "0.10.38";
# !!! Should we also do shared libuv?
···
sha256 = "12xpa9jzry5g0j41908498qqs8v0q6miqkv6mggyzas8bvnshgai";
};
-
configureFlags = concatMap sharedConfigureFlags (builtins.attrNames deps);
+
configureFlags = concatMap sharedConfigureFlags (builtins.attrNames deps) ++
+
stdenv.lib.optional stdenv.isDarwin "--without-dtrace";
prePatch = ''
-
sed -e 's|^#!/usr/bin/env python$|#!${python}/bin/python|g' -i configure
+
patchShebangs .
'';
-
patches = if stdenv.isDarwin then [ ./no-xcode.patch ] else null;
+
patches = stdenv.lib.optional stdenv.isDarwin ./no-xcode.patch;
-
postPatch = if stdenv.isDarwin then ''
+
postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
(cd tools/gyp; patch -Np1 -i ${../../python-modules/gyp/no-darwin-cflags.patch})
-
'' else null;
+
'';
buildInputs = [ python which ]
++ (optional stdenv.isLinux utillinux)
-
++ optionals stdenv.isDarwin [ pkgconfig openssl dtrace ];
+
++ optionals stdenv.isDarwin [ pkgconfig openssl libtool CoreServices ApplicationServices Foundation ];
+
propagatedBuildInputs = optionals stdenv.isDarwin [ Carbon ];
setupHook = ./setup-hook.sh;
passthru.interpreterName = "nodejs-0.10";
+1 -1
pkgs/games/sgt-puzzles/default.nix
···
makeFlags = ["prefix=$(out)" "gamesdir=$(out)/bin"];
preInstall = ''
mkdir -p "$out"/{bin,share/doc/sgtpuzzles}
-
cp puzzles.txt LICENCE README "$out/share/doc/sgtpuzzles"
+
cp gamedesc.txt LICENCE README "$out/share/doc/sgtpuzzles"
cp LICENCE "$out/share/doc/sgtpuzzles/LICENSE"
'';
preConfigure = ''
+32 -56
pkgs/games/xconq/default.nix
···
-
x@{builderDefsPackage
-
, rpm, cpio, xproto, libX11, libXmu, libXaw, libXt, tcl, tk, libXext
-
, fontconfig
-
, makeWrapper
-
, ...}:
-
builderDefsPackage
-
(a :
-
let
-
helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
-
[];
+
{ stdenv, fetchurl, cpio, xproto, libX11, libXmu, libXaw, libXt, tcl, tk
+
, libXext, fontconfig, makeWrapper }:
-
buildInputs = map (n: builtins.getAttr n x)
-
(builtins.attrNames (builtins.removeAttrs x helperArgNames));
-
sourceInfo = rec {
-
baseName="xconq";
-
version="7.5.0-0pre.0.20050612";
-
name="${baseName}-${version}";
-
extension="src.rpm";
-
project="${baseName}";
-
url="mirror://sourceforge/project/${project}/${baseName}/${name}/${baseName}-${version}.${extension}";
-
hash="0i41dz95af2pzmmjz0sc1n0wdxy7gjqlfcl503hw1xd5zza2lw2j";
-
};
-
in
-
rec {
-
src = a.fetchurl {
-
url = sourceInfo.url;
-
sha256 = sourceInfo.hash;
+
stdenv.mkDerivation rec {
+
name = "${baseName}-${version}";
+
baseName="xconq";
+
version = "7.5.0-0pre.0.20050612";
+
+
src = fetchurl {
+
url = "mirror://sourceforge/project/${baseName}/${baseName}/${name}/${name}.tar.gz";
+
sha256 = "1za78yx57mgwcmmi33wx3533yz1x093dnqis8q2qmqivxav51lca";
};
-
inherit (sourceInfo) name version;
-
inherit buildInputs;
+
buildInputs = [ cpio xproto libX11 libXmu libXaw libXt tcl tk libXext
+
fontconfig makeWrapper ];
-
/* doConfigure should be removed if not needed */
-
phaseNames = ["addInputs" "doUnpack" "fixMakefiles" "fixCfiles" "fixTCLfiles"
-
"doConfigure" "doMakeInstall" "doWrap"];
-
-
doWrap = a.makeManyWrappers ''$out/bin/*'' ''--prefix TCLLIBPATH ' ' "${tk}/lib"'';
+
configureFlags = [
+
"--enable-alternate-scoresdir=scores"
+
"--with-tclconfig=${tcl}/lib"
+
"--with-tkconfig=${tk}/lib"
+
];
-
fixMakefiles = a.fullDepEntry ''
+
patchPhase = ''
+
# Fix Makefiles
find . -name 'Makefile.in' -exec sed -re 's@^ ( *)(cd|[&][&])@ \1\2@' -i '{}' ';'
find . -name 'Makefile.in' -exec sed -e '/chown/d; /chgrp/d' -i '{}' ';'
sed -e '/^ * *[$][(]tcltkdir[)]\/[*][.][*]/d' -i tcltk/Makefile.in
-
'' ["minInit" "doUnpack"];
-
fixCfiles = a.fullDepEntry ''
+
# Fix C files
sed -re 's@[(]int[)]color@(long)color@' -i tcltk/tkmap.c
sed -re '/unitp = view_unit[(]uview[)]/aelse *unitp = NULL\;' -i tcltk/tkmap.c
-
'' ["minInit" "doUnpack"];
-
fixTCLfiles = a.fullDepEntry ''
+
# Fix TCL files
sed -re 's@MediumBlue@LightBlue@g' -i tcltk/tkconq.tcl
-
'' ["minInit" "doUnpack"];
+
'';
-
configureFlags = [
-
"--enable-alternate-scoresdir=scores"
-
"--with-tclconfig=${tcl}/lib"
-
"--with-tkconfig=${tk}/lib"
-
];
+
postInstall = ''
+
for file in $out/bin/*; do
+
wrapProgram $file --prefix TCLLIBPATH ' ' "${tk}/lib"
+
done
+
'';
-
meta = {
+
meta = with stdenv.lib; {
description = "A programmable turn-based strategy game";
-
maintainers = with a.lib.maintainers;
-
[
-
raskin
-
];
-
platforms = with a.lib.platforms;
-
linux;
-
license = a.lib.licenses.gpl2;
+
maintainers = with maintainers; [ raskin ];
+
platforms = platforms.linux;
+
license = licenses.gpl2;
};
-
passthru = {
-
};
-
}) x
-
+
}
-35
pkgs/os-specific/darwin/adv_cmds/ps.nix
···
-
{ stdenv, fetchurl }:
-
-
stdenv.mkDerivation rec {
-
name = "ps-${version}";
-
version = "153";
-
-
src = fetchurl {
-
url = "http://opensource.apple.com/tarballs/adv_cmds/adv_cmds-${version}.tar.gz";
-
sha256 = "174v6a4zkcm2pafzgdm6kvs48z5f911zl7k49hv7kjq6gm58w99v";
-
};
-
-
buildPhase = ''
-
cd ps
-
cc -Os -Wall -I. -c -o fmt.o fmt.c
-
cc -Os -Wall -I. -c -o keyword.o keyword.c
-
cc -Os -Wall -I. -c -o nlist.o nlist.c
-
cc -Os -Wall -I. -c -o print.o print.c
-
cc -Os -Wall -I. -c -o ps.o ps.c
-
cc -Os -Wall -I. -c -o tasks.o tasks.c
-
cc -o ps fmt.o keyword.o nlist.o print.o ps.o tasks.o
-
'';
-
-
installPhase = ''
-
mkdir -p $out/bin $out/share/man/man1
-
-
cp ps $out/bin/ps
-
cp ps.1 $out/share/man/man1
-
'';
-
-
-
meta = {
-
platforms = stdenv.lib.platforms.darwin;
-
maintainers = with stdenv.lib.maintainers; [ gridaphobe ];
-
};
-
}
+152
pkgs/os-specific/darwin/apple-sdk/default.nix
···
+
{ stdenv, fetchurl, xar, gzip, cpio, CF }:
+
+
let
+
# sadly needs to be exported because security_tool needs it
+
sdk = stdenv.mkDerivation rec {
+
version = "10.9";
+
name = "MacOS_SDK-${version}";
+
+
src = fetchurl {
+
url = "http://swcdn.apple.com/content/downloads/27/02/031-06182/xxog8vxu8i6af781ivf4uhy6yt1lslex34/DevSDK_OSX109.pkg";
+
sha256 = "16b7aplha5573yl1d44nl2yxzp0w2hafihbyh7930wrcvba69iy4";
+
};
+
+
buildInputs = [ xar gzip cpio ];
+
+
phases = [ "unpackPhase" "installPhase" "fixupPhase" ];
+
+
unpackPhase = ''
+
xar -x -f $src
+
'';
+
+
installPhase = ''
+
start="$(pwd)"
+
mkdir -p $out
+
cd $out
+
cat $start/Payload | gzip -d | cpio -idm
+
+
mv usr/* .
+
rmdir usr
+
+
mv System/* .
+
rmdir System
+
+
cd Library/Frameworks/QuartzCore.framework/Versions/A/Headers
+
for file in CI*.h; do
+
rm $file
+
ln -s ../Frameworks/CoreImage.framework/Versions/A/Headers/$file
+
done
+
'';
+
+
meta = with stdenv.lib; {
+
description = "Apple SDK ${version}";
+
maintainers = with maintainers; [ copumpkin ];
+
platforms = platforms.darwin;
+
};
+
};
+
+
framework = name: deps: stdenv.mkDerivation {
+
name = "apple-framework-${name}";
+
+
phases = [ "installPhase" "fixupPhase" ];
+
+
installPhase = ''
+
linkFramework() {
+
local path="$1"
+
local dest="$out/Library/Frameworks/$path"
+
local name="$(basename "$path" .framework)"
+
local current="$(readlink "/System/Library/Frameworks/$path/Versions/Current")"
+
+
mkdir -p "$dest"
+
pushd "$dest" >/dev/null
+
+
ln -s "${sdk}/Library/Frameworks/$path/Versions/$current/Headers"
+
ln -s -L "/System/Library/Frameworks/$path/Versions/$current/$name"
+
ln -s -L "/System/Library/Frameworks/$path/Versions/$current/Resources"
+
+
if [ -f "/System/Library/Frameworks/$path/module.map" ]; then
+
ln -s "/System/Library/Frameworks/$path/module.map"
+
fi
+
+
pushd "${sdk}/Library/Frameworks/$path/Versions/$current" >/dev/null
+
local children=$(echo Frameworks/*.framework)
+
popd >/dev/null
+
+
for child in $children; do
+
childpath="$path/Versions/$current/$child"
+
linkFramework "$childpath"
+
done
+
+
if [ -d "$dest/Versions/$current" ]; then
+
mv $dest/Versions/$current/* .
+
fi
+
+
popd >/dev/null
+
}
+
+
linkFramework "${name}.framework"
+
'';
+
+
propagatedBuildInputs = deps;
+
+
# Not going to bother being more precise than this...
+
__propagatedImpureHostDeps = (import ./impure-deps.nix).${name};
+
+
meta = with stdenv.lib; {
+
description = "Apple SDK framework ${name}";
+
maintainers = with maintainers; [ copumpkin ];
+
platforms = platforms.darwin;
+
};
+
};
+
in rec {
+
libs = {
+
xpc = stdenv.mkDerivation {
+
name = "apple-lib-xpc";
+
phases = [ "installPhase" "fixupPhase" ];
+
+
installPhase = ''
+
mkdir -p $out/include
+
pushd $out/include >/dev/null
+
ln -s "${sdk}/include/xpc"
+
popd >/dev/null
+
'';
+
};
+
+
Xplugin = stdenv.mkDerivation {
+
name = "apple-lib-Xplugin";
+
phases = [ "installPhase" "fixupPhase" ];
+
+
# Not enough
+
__propagatedImpureHostDeps = [ "/usr/lib/libXplugin.1.dylib" ];
+
+
propagatedBuildInputs = with frameworks; [
+
OpenGL ApplicationServices Carbon IOKit CoreFoundation CoreGraphics CoreServices CoreText
+
];
+
+
installPhase = ''
+
mkdir -p $out/include $out/lib
+
ln -s "${sdk}/include/Xplugin.h" $out/include/Xplugin.h
+
ln -s "/usr/lib/libXplugin.1.dylib" $out/lib/libXplugin.dylib
+
'';
+
};
+
+
utmp = stdenv.mkDerivation {
+
name = "apple-lib-utmp";
+
phases = [ "installPhase" "fixupPhase" ];
+
+
installPhase = ''
+
mkdir -p $out/include
+
pushd $out/include >/dev/null
+
ln -s "${sdk}/include/utmp.h"
+
ln -s "${sdk}/include/utmpx.h"
+
popd >/dev/null
+
'';
+
};
+
};
+
+
frameworks = (stdenv.lib.mapAttrs framework (import ./frameworks.nix { inherit frameworks libs; })) // {
+
CoreFoundation = CF;
+
};
+
+
inherit sdk;
+
}
+119
pkgs/os-specific/darwin/apple-sdk/frameworks.nix
···
+
# Current as of 10.9
+
# Epic weird knot-tying happening here.
+
# TODO: clean up the process for generating this and include it
+
+
{ frameworks, libs }:
+
+
with frameworks; with libs; {
+
AGL = [ Carbon OpenGL ];
+
AVFoundation = [ ApplicationServices CoreGraphics ];
+
AVKit = [];
+
Accounts = [];
+
AddressBook = [ Carbon CoreFoundation ];
+
AppKit = [ AudioToolbox QuartzCore ];
+
AppKitScripting = [];
+
AppleScriptKit = [];
+
AppleScriptObjC = [];
+
AppleShareClientCore = [ CoreServices ];
+
AudioToolbox = [ AudioUnit CoreAudio CoreFoundation CoreMIDI ];
+
AudioUnit = [ Carbon CoreAudio CoreFoundation ];
+
AudioVideoBridging = [ Foundation ];
+
Automator = [];
+
CFNetwork = [ CoreFoundation ];
+
CalendarStore = [];
+
Cocoa = [];
+
Collaboration = [];
+
CoreAudio = [ CoreFoundation IOKit ];
+
CoreAudioKit = [ AudioUnit ];
+
CoreData = [];
+
CoreGraphics = [ Accelerate CoreFoundation IOKit IOSurface SystemConfiguration ];
+
CoreLocation = [];
+
CoreMIDI = [ CoreFoundation ];
+
CoreMIDIServer = [];
+
CoreMedia = [ ApplicationServices AudioToolbox CoreAudio CoreFoundation CoreGraphics CoreVideo ];
+
CoreMediaIO = [ CoreFoundation CoreMedia ];
+
CoreText = [ CoreFoundation CoreGraphics ];
+
CoreVideo = [ ApplicationServices CoreFoundation CoreGraphics IOSurface OpenGL ];
+
CoreWLAN = [ SecurityFoundation ];
+
DVComponentGlue = [ CoreServices QuickTime ];
+
DVDPlayback = [];
+
DirectoryService = [ CoreFoundation ];
+
DiscRecording = [ CoreFoundation CoreServices IOKit ];
+
DiscRecordingUI = [];
+
DiskArbitration = [ CoreFoundation IOKit ];
+
DrawSprocket = [ Carbon ];
+
EventKit = [];
+
ExceptionHandling = [];
+
FWAUserLib = [];
+
ForceFeedback = [ CoreFoundation IOKit ];
+
Foundation = [ CoreFoundation Security ApplicationServices AppKit SystemConfiguration ];
+
GLKit = [ CoreFoundation ];
+
GLUT = [ GL OpenGL ];
+
GSS = [];
+
GameController = [];
+
GameKit = [ Foundation ];
+
ICADevices = [ Carbon CoreFoundation IOBluetooth ];
+
IMServicePlugIn = [];
+
IOBluetoothUI = [ IOBluetooth ];
+
IOKit = [ CoreFoundation ];
+
IOSurface = [ CoreFoundation IOKit xpc ];
+
ImageCaptureCore = [];
+
ImageIO = [ CoreFoundation CoreGraphics ];
+
InputMethodKit = [ Carbon ];
+
InstallerPlugins = [];
+
InstantMessage = [];
+
JavaFrameEmbedding = [];
+
JavaScriptCore = [ CoreFoundation ];
+
Kerberos = [];
+
Kernel = [ CoreFoundation IOKit ];
+
LDAP = [];
+
LatentSemanticMapping = [ Carbon CoreFoundation ];
+
MapKit = [];
+
MediaAccessibility = [ CoreFoundation CoreGraphics CoreText QuartzCore ];
+
MediaToolbox = [ AudioToolbox CoreFoundation CoreMedia ];
+
NetFS = [ CoreFoundation ];
+
OSAKit = [ Carbon ];
+
OpenAL = [];
+
OpenCL = [ IOSurface OpenGL ];
+
OpenGL = [];
+
PCSC = [ CoreData ];
+
PreferencePanes = [];
+
PubSub = [];
+
Python = [ ApplicationServices ];
+
QTKit = [ QuickTime ];
+
QuickLook = [ ApplicationServices CoreFoundation ];
+
QuickTime = [ ApplicationServices AudioUnit Carbon CoreAudio CoreServices OpenGL QuartzCore ];
+
Ruby = [];
+
RubyCocoa = [];
+
SceneKit = [];
+
ScreenSaver = [];
+
Scripting = [];
+
ScriptingBridge = [];
+
Security = [ CoreFoundation IOKit ];
+
SecurityFoundation = [];
+
SecurityInterface = [ Security ];
+
ServiceManagement = [ CoreFoundation Security ];
+
Social = [];
+
SpriteKit = [];
+
StoreKit = [];
+
SyncServices = [];
+
SystemConfiguration = [ CoreFoundation Security ];
+
TWAIN = [ Carbon ];
+
Tcl = [];
+
Tk = [ ApplicationServices Carbon X11 ];
+
VideoDecodeAcceleration = [ CoreFoundation CoreVideo ];
+
VideoToolbox = [ CoreFoundation CoreMedia CoreVideo ];
+
WebKit = [ ApplicationServices Carbon JavaScriptCore OpenGL X11 ];
+
+
# Umbrellas
+
Accelerate = [ CoreWLAN IOBluetooth ];
+
ApplicationServices = [ CoreFoundation CoreServices CoreText ImageIO ];
+
Carbon = [ ApplicationServices CoreFoundation CoreServices IOKit Security QuartzCore ];
+
CoreBluetooth = [];
+
CoreServices = [ CFNetwork CoreAudio CoreData CoreFoundation DiskArbitration Security NetFS OpenDirectory ServiceManagement ];
+
IOBluetooth = [ IOKit ];
+
JavaVM = [];
+
OpenDirectory = [];
+
Quartz = [ QuickLook ];
+
QuartzCore = [ ApplicationServices CoreFoundation CoreVideo OpenCL ];
+
}
+199
pkgs/os-specific/darwin/apple-sdk/impure-deps.nix
···
+
rec {
+
CFNetwork = [
+
"/System/Library/Frameworks/CFNetwork.framework"
+
"/usr/lib/libsqlite3.dylib"
+
"/usr/lib/libxml2.2.dylib"
+
];
+
IOKit = [
+
"/System/Library/Frameworks/IOKit.framework"
+
];
+
DiskArbitration = [
+
"/System/Library/Frameworks/DiskArbitration.framework"
+
];
+
Security = [
+
"/System/Library/Frameworks/Security.framework"
+
"/usr/lib/libbsm.0.dylib"
+
"/usr/lib/libbz2.1.0.dylib"
+
"/usr/lib/libpam.2.dylib"
+
"/usr/lib/libxar.1.dylib"
+
"/usr/lib/libxml2.2.dylib"
+
"/usr/lib/libsqlite3.dylib"
+
];
+
GSS = [
+
"/System/Library/Frameworks/GSS.framework"
+
];
+
Kerberos = [
+
"/System/Library/Frameworks/Kerberos.framework"
+
];
+
CoreServices = [
+
"/System/Library/Frameworks/CoreServices.framework"
+
"/System/Library/PrivateFrameworks/DataDetectorsCore.framework/Versions/A/DataDetectorsCore"
+
"/System/Library/PrivateFrameworks/TCC.framework/Versions/A/TCC"
+
"/System/Library/PrivateFrameworks/LanguageModeling.framework/Versions/A/LanguageModeling"
+
"/usr/lib/libmecabra.dylib"
+
"/usr/lib/libcmph.dylib"
+
"/usr/lib/libiconv.2.dylib"
+
"/usr/lib/libxslt.1.dylib"
+
] ++ Foundation;
+
IOSurface = [
+
"/System/Library/Frameworks/IOSurface.framework"
+
];
+
CoreGraphics = [
+
"/System/Library/Frameworks/CoreGraphics.framework"
+
"/System/Library/PrivateFrameworks/MultitouchSupport.framework/Versions/A/MultitouchSupport"
+
"/usr/lib/libbsm.0.dylib"
+
"/usr/lib/libz.1.dylib"
+
];
+
CoreText = [
+
"/System/Library/Frameworks/CoreText.framework"
+
];
+
ImageIO = [
+
"/System/Library/Frameworks/ImageIO.framework"
+
];
+
ApplicationServices = [
+
"/System/Library/Frameworks/ApplicationServices.framework"
+
"/usr/lib/libcups.2.dylib"
+
"/usr/lib/libresolv.9.dylib"
+
] ++ AudioToolbox;
+
OpenGL = [
+
"/System/Library/Frameworks/OpenGL.framework"
+
];
+
CoreVideo = [
+
"/System/Library/Frameworks/CoreVideo.framework"
+
];
+
QuartzCore = [
+
"/System/Library/Frameworks/QuartzCore.framework"
+
"/System/Library/PrivateFrameworks/CrashReporterSupport.framework/Versions/A/CrashReporterSupport"
+
];
+
PCSC = [
+
"/System/Library/Frameworks/PCSC.framework"
+
];
+
AppKit = [
+
"/System/Library/Frameworks/AppKit.framework"
+
"/System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Apple80211"
+
"/System/Library/PrivateFrameworks/AppleJPEG.framework/Versions/A/AppleJPEG"
+
"/System/Library/PrivateFrameworks/AppleVPA.framework/Versions/A/AppleVPA"
+
"/System/Library/PrivateFrameworks/Backup.framework/Versions/A/Backup"
+
"/System/Library/PrivateFrameworks/ChunkingLibrary.framework/Versions/A/ChunkingLibrary"
+
"/System/Library/PrivateFrameworks/CommonAuth.framework/Versions/A/CommonAuth"
+
"/System/Library/PrivateFrameworks/CoreSymbolication.framework/Versions/A/CoreSymbolication"
+
"/System/Library/PrivateFrameworks/CoreUI.framework/Versions/A/CoreUI"
+
"/System/Library/PrivateFrameworks/CoreWiFi.framework/Versions/A/CoreWiFi"
+
"/System/Library/PrivateFrameworks/CrashReporterSupport.framework/Versions/A/CrashReporterSupport"
+
"/System/Library/PrivateFrameworks/DataDetectorsCore.framework/Versions/A/DataDetectorsCore"
+
"/System/Library/PrivateFrameworks/DebugSymbols.framework/Versions/A/DebugSymbols"
+
"/System/Library/PrivateFrameworks/DesktopServicesPriv.framework/Versions/A/DesktopServicesPriv"
+
"/System/Library/PrivateFrameworks/FaceCore.framework/Versions/A/FaceCore"
+
"/System/Library/PrivateFrameworks/GenerationalStorage.framework/Versions/A/GenerationalStorage"
+
"/System/Library/PrivateFrameworks/Heimdal.framework/Heimdal"
+
"/System/Library/PrivateFrameworks/Heimdal.framework/Versions/Current"
+
"/System/Library/PrivateFrameworks/Heimdal.framework/Versions/A/Heimdal"
+
"/System/Library/PrivateFrameworks/IconServices.framework/Versions/A/IconServices"
+
"/System/Library/PrivateFrameworks/LanguageModeling.framework/Versions/A/LanguageModeling"
+
"/System/Library/PrivateFrameworks/MultitouchSupport.framework/Versions/A/MultitouchSupport"
+
"/System/Library/PrivateFrameworks/NetAuth.framework/Versions/A/NetAuth"
+
"/System/Library/PrivateFrameworks/PerformanceAnalysis.framework/Versions/A/PerformanceAnalysis"
+
"/System/Library/PrivateFrameworks/RemoteViewServices.framework/Versions/A/RemoteViewServices"
+
"/System/Library/PrivateFrameworks/Sharing.framework/Versions/A/Sharing"
+
"/System/Library/PrivateFrameworks/SpeechRecognitionCore.framework/Versions/A/SpeechRecognitionCore"
+
"/System/Library/PrivateFrameworks/Symbolication.framework/Versions/A/Symbolication"
+
"/System/Library/PrivateFrameworks/TCC.framework/Versions/A/TCC"
+
"/System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/UIFoundation"
+
"/System/Library/PrivateFrameworks/Ubiquity.framework/Versions/A/Ubiquity"
+
"/System/Library/PrivateFrameworks/login.framework/Versions/A/Frameworks/loginsupport.framework/Versions/A/loginsupport"
+
"/usr/lib/libCRFSuite.dylib"
+
"/usr/lib/libOpenScriptingUtil.dylib"
+
"/usr/lib/libarchive.2.dylib"
+
"/usr/lib/libbsm.0.dylib"
+
"/usr/lib/libbz2.1.0.dylib"
+
"/usr/lib/libc++.1.dylib"
+
"/usr/lib/libc++abi.dylib"
+
"/usr/lib/libcmph.dylib"
+
"/usr/lib/libcups.2.dylib"
+
"/usr/lib/libextension.dylib"
+
"/usr/lib/libheimdal-asn1.dylib"
+
"/usr/lib/libiconv.2.dylib"
+
"/usr/lib/libicucore.A.dylib"
+
"/usr/lib/liblangid.dylib"
+
"/usr/lib/liblzma.5.dylib"
+
"/usr/lib/libmecabra.dylib"
+
"/usr/lib/libpam.2.dylib"
+
"/usr/lib/libresolv.9.dylib"
+
"/usr/lib/libsqlite3.dylib"
+
"/usr/lib/libxar.1.dylib"
+
"/usr/lib/libxml2.2.dylib"
+
"/usr/lib/libxslt.1.dylib"
+
"/usr/lib/libz.1.dylib"
+
];
+
Foundation = [
+
"/System/Library/Frameworks/Foundation.framework"
+
"/usr/lib/libextension.dylib"
+
"/usr/lib/libarchive.2.dylib"
+
"/usr/lib/liblzma.5.dylib"
+
"/usr/lib/liblangid.dylib"
+
"/usr/lib/libCRFSuite.dylib"
+
];
+
CoreData = [
+
"/System/Library/Frameworks/CoreData.framework"
+
];
+
Cocoa = [
+
"/System/Library/Frameworks/Cocoa.framework"
+
"/System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/UIFoundation"
+
"/System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A"
+
];
+
Carbon = [
+
"/System/Library/Frameworks/Carbon.framework"
+
"/System/Library/PrivateFrameworks/CoreUI.framework/Versions/A/CoreUI"
+
"/System/Library/PrivateFrameworks/DesktopServicesPriv.framework/Versions/A/DesktopServicesPriv"
+
"/System/Library/PrivateFrameworks/IconServices.framework/Versions/A/IconServices"
+
"/System/Library/PrivateFrameworks/ChunkingLibrary.framework/Versions/A/ChunkingLibrary"
+
"/System/Library/PrivateFrameworks/Ubiquity.framework/Versions/A/Ubiquity"
+
"/System/Library/PrivateFrameworks/Sharing.framework/Versions/A/Sharing"
+
"/System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Apple80211"
+
"/System/Library/PrivateFrameworks/GenerationalStorage.framework/Versions/A/GenerationalStorage"
+
];
+
CoreAudio = [
+
"/System/Library/Frameworks/CoreAudio.framework"
+
];
+
AudioUnit = [
+
"/System/Library/Frameworks/AudioUnit.framework"
+
];
+
CoreMIDI = [
+
"/System/Library/Frameworks/CoreMIDI.framework"
+
];
+
AudioToolbox = [
+
"/System/Library/Frameworks/AudioToolbox.framework"
+
];
+
SystemConfiguration = [
+
"/System/Library/Frameworks/SystemConfiguration.framework"
+
];
+
NetFS = [
+
"/System/Library/Frameworks/NetFS.framework"
+
"/System/Library/PrivateFrameworks/NetAuth.framework/Versions/A/NetAuth"
+
"/System/Library/PrivateFrameworks/login.framework/Versions/A/Frameworks/loginsupport.framework/Versions/A/loginsupport"
+
];
+
Accelerate = [
+
"/System/Library/Frameworks/Accelerate.framework"
+
];
+
OpenDirectory = [
+
"/System/Library/Frameworks/OpenDirectory.framework"
+
];
+
ServiceManagement = [
+
"/System/Library/Frameworks/ServiceManagement.framework"
+
];
+
OpenCL = [
+
"/System/Library/Frameworks/OpenCL.framework"
+
];
+
CoreWLAN = [
+
"/System/Library/Frameworks/CoreWLAN.framework"
+
];
+
IOBluetooth = [
+
"/System/Library/Frameworks/IOBluetooth.framework"
+
] ++ AudioUnit ++ CoreBluetooth;
+
CoreBluetooth = [
+
"/System/Library/Frameworks/CoreBluetooth.framework"
+
];
+
SecurityFoundation = [
+
"/System/Library/Frameworks/SecurityFoundation.framework"
+
];
+
}
+39
pkgs/os-specific/darwin/apple-source-releases/CF/cf-bridging.patch
···
+
diff --git a/CFBase.h b/CFBase.h
+
index ffddd2b..e5a926b 100644
+
--- a/CFBase.h
+
+++ b/CFBase.h
+
@@ -249,6 +249,33 @@ CF_EXTERN_C_BEGIN
+
#endif
+
#endif
+
+
+#if __has_attribute(objc_bridge) && __has_feature(objc_bridge_id) && __has_feature(objc_bridge_id_on_typedefs)
+
+
+
+#ifdef __OBJC__
+
+@class NSArray;
+
+@class NSAttributedString;
+
+@class NSString;
+
+@class NSNull;
+
+@class NSCharacterSet;
+
+@class NSData;
+
+@class NSDate;
+
+@class NSTimeZone;
+
+@class NSDictionary;
+
+@class NSError;
+
+@class NSLocale;
+
+@class NSNumber;
+
+@class NSSet;
+
+@class NSURL;
+
+#endif
+
+
+
+#define CF_BRIDGED_TYPE(T) __attribute__((objc_bridge(T)))
+
+#define CF_BRIDGED_MUTABLE_TYPE(T) __attribute__((objc_bridge_mutable(T)))
+
+#define CF_RELATED_TYPE(T,C,I) __attribute__((objc_bridge_related(T,C,I)))
+
+#else
+
+#define CF_BRIDGED_TYPE(T)
+
+#define CF_BRIDGED_MUTABLE_TYPE(T)
+
+#define CF_RELATED_TYPE(T,C,I)
+
+#endif
+
+
CF_EXPORT double kCFCoreFoundationVersionNumber;
+
+
+13 -1
pkgs/os-specific/darwin/apple-source-releases/CF/default.nix
···
appleDerivation {
buildInputs = [ dyld icu libdispatch launchd libclosure ];
-
patches = [ ./add-cf-initialize.patch ./add-cfmachport.patch ];
+
patches = [ ./add-cf-initialize.patch ./add-cfmachport.patch ./cf-bridging.patch ];
+
+
# CFAttributedString.h is in the SDK only, not on opensource.apple.com or github
+
__propagatedImpureHostDeps = [
+
"/System/Library/Frameworks/CoreFoundation.framework"
+
"/usr/lib/libc++.1.dylib"
+
"/usr/lib/libc++abi.dylib"
+
"/usr/lib/libicucore.A.dylib"
+
"/usr/lib/libz.1.dylib"
+
];
preBuild = ''
substituteInPlace Makefile \
···
'';
postInstall = ''
+
# gross! convince apple to release this as part of CF
+
cp /System/Library/Frameworks/CoreFoundation.framework/Headers/CFAttributedString.h "$out/System/Library/Frameworks/CoreFoundation.framework/Headers"
+
mv $out/System/* $out
rmdir $out/System
'';
+10 -5
pkgs/os-specific/darwin/apple-source-releases/adv_cmds/default.nix
···
appleDerivation {
# Will override the name until we provide all of adv_cmds
-
name = "ps-${version}";
-
buildPhase = ''
-
cd ps
+
pushd ps
cc -Os -Wall -I. -c -o fmt.o fmt.c
cc -Os -Wall -I. -c -o keyword.o keyword.c
cc -Os -Wall -I. -c -o nlist.o nlist.c
···
cc -Os -Wall -I. -c -o ps.o ps.c
cc -Os -Wall -I. -c -o tasks.o tasks.c
cc -o ps fmt.o keyword.o nlist.o print.o ps.o tasks.o
+
popd
+
+
pushd locale
+
c++ -o locale locale.cc
+
popd
'';
installPhase = ''
mkdir -p $out/bin $out/share/man/man1
-
cp ps $out/bin/ps
-
cp ps.1 $out/share/man/man1
+
cp ps/ps $out/bin/ps
+
cp ps/ps.1 $out/share/man/man1
+
cp locale/locale $out/bin/locale
+
cp locale/locale.1 $out/share/man/man1
'';
+2
pkgs/os-specific/darwin/apple-source-releases/configd/default.nix
···
{ stdenv, appleDerivation, launchd, bootstrap_cmds, xnu, ppp, IOKit, eap8021x, Security }:
appleDerivation {
+
meta.broken = stdenv.cc.nativeLibc;
+
buildInputs = [ launchd bootstrap_cmds xnu ppp IOKit eap8021x ];
propagatedBuildInputs = [ Security ];
+36 -8
pkgs/os-specific/darwin/apple-source-releases/default.nix
···
inherit sha256;
};
+
appleDerivation_ = name: version: sha256: attrs: stdenv.mkDerivation ({
+
inherit version;
+
name = "${name}-${version}";
+
} // (if attrs ? srcs then {} else {
+
src = fetchApple version sha256 name;
+
}) // attrs);
+
applePackage = namePath: version: sha256:
let
name = builtins.elemAt (stdenv.lib.splitString "/" namePath) 0;
-
-
appleDerivation = attrs: stdenv.mkDerivation ({
-
inherit version;
-
name = "${name}-${version}";
-
} // (if attrs ? srcs then {} else {
-
src = fetchApple version sha256 name;
-
}) // attrs);
+
appleDerivation = appleDerivation_ name version sha256;
callPackage = pkgs.newScope (packages // pkgs.darwin // { inherit appleDerivation name version; });
in callPackage (./. + builtins.toPath "/${namePath}");
+
+
libsecPackage = pkgs.callPackage ./libsecurity_generic {
+
inherit applePackage appleDerivation_;
+
};
IOKitSpecs = {
IOAudioFamily = fetchApple "197.4.2" "1dmrczdmbdkvnhjbv233wx4xczgpf5wjrhr83aizrwpks5avkxbr";
···
libdispatch = applePackage "libdispatch" "339.92.1" "1lc5033cmkwxy3r26gh9plimxshxfcbgw6i0j7mgjlnpk86iy5bk" {};
libiconv = applePackage "libiconv" "41" "0sni1gx6i2h7r4r4hhwbxdir45cp039m4wi74izh4l0pfw7gywad" {};
Libinfo = applePackage "Libinfo" "449.1.3" "1ix6f7xwjnq9bqgv8w27k4j64bqn1mfhh91nc7ciiv55axpdb9hq" {};
-
Libm = applePackage "Libm" "2026" "02sd82ig2jvvyyfschmb4gpz6psnizri8sh6i982v341x6y4ysl7" {};
+
Libm = applePackage "Libm" "2026" "02sd82ig2jvvyyfschmb4gpz6psnizri8sh6i982v341x6y4ysl7" {}; # This is from 10.7 !! :(
Libnotify = applePackage "Libnotify" "121.20.1" "164rx4za5z74s0mk9x0m1815r1m9kfal8dz3bfaw7figyjd6nqad" {};
libpthread = applePackage "libpthread" "105.1.4" "09vwwahcvmxvx2xl0890gkp91n61dld29j73y2pa597bqkag2qpg" {};
libresolv = applePackage "libresolv" "54" "028mp2smd744ryxwl8cqz4njv8h540sdw3an1yl7yxqcs04r0p4b" {};
Libsystem = applePackage "Libsystem" "1197.1.1" "1yfj2qdrf9vrzs7p9m4wlb7zzxcrim1gw43x4lvz4qydpp5kg2rh" {};
+
libutil = applePackage "libutil" "38" "12gsvmj342n5d81kqwba68bmz3zf2757442g1sz2y5xmcapa3g5f" {};
libunwind = applePackage "libunwind" "35.3" "0miffaa41cv0lzf8az5k1j1ng8jvqvxcr4qrlkf3xyj479arbk1b" {};
mDNSResponder = applePackage "mDNSResponder" "522.92.1" "1cp87qda1s7brriv413i71yggm8yqfwv64vknrnqv24fcb8hzbmy" {};
objc4 = applePackage "objc4" "551.1" "1jrdb6yyb5jwwj27c1r0nr2y2ihqjln8ynj61mpkvp144c1cm5bg" {};
···
removefile = applePackage "removefile" "33" "0ycvp7cnv40952a1jyhm258p6gg5xzh30x86z5gb204x80knw30y" {};
Security = applePackage "Security" "55471.14.18" "1nv0dczf67dhk17hscx52izgdcyacgyy12ag0jh6nl5hmfzsn8yy" {};
xnu = applePackage "xnu" "2422.115.4" "1ssw5fzvgix20bw6y13c39ib0zs7ykpig3irlwbaccpjpci5jl0s" {};
+
+
libsecurity_apple_csp = libsecPackage "libsecurity_apple_csp" "55003" "1ngyn1ik27n4x981px3kfd1z1n8zx7r5w812b6qfjpy5nw4h746w" {};
+
libsecurity_apple_cspdl = libsecPackage "libsecurity_apple_cspdl" "55000" "1svqa5fhw7p7njzf8bzg7zgc5776aqjhdbnlhpwmr5hmz5i0x8r7" {};
+
libsecurity_apple_file_dl = libsecPackage "libsecurity_apple_file_dl" "55000" "1dfqani3n135i3iqmafc1k9awmz6s0a78zifhk15rx5a8ps870bl" {};
+
libsecurity_apple_x509_cl = libsecPackage "libsecurity_apple_x509_cl" "55004" "1gji2i080560s08k1nigsla1zdmi6slyv97xaj5vqxjpxb0g1xf5" {};
+
libsecurity_apple_x509_tp = libsecPackage "libsecurity_apple_x509_tp" "55009.3" "1bsms3nvi62wbvjviwjhjhzhylad8g6vmvlj3ngd0wyd0ywxrs46" {};
+
libsecurity_asn1 = libsecPackage "libsecurity_asn1" "55000.2" "0i8aakjxdfj0lqcgqmbip32g7r4h57xhs8w0sxfvfl45q22s782w" {};
+
libsecurity_cdsa_client = libsecPackage "libsecurity_cdsa_client" "55000" "127jxnypkycy8zqwicfv333h11318m00gd37jnswbrpg44xd1wdy" {};
+
libsecurity_cdsa_plugin = libsecPackage "libsecurity_cdsa_plugin" "55001" "0ifmx85rs51i7zjm015s8kc2dqyrlvbr39lw9xzxgd2ds33i4lfj" {};
+
libsecurity_cdsa_utilities = libsecPackage "libsecurity_cdsa_utilities" "55006" "1kzsl0prvfa8a0m3j3pcxq06aix1csgayd3lzx27iqg84c8mhzan" {};
+
libsecurity_cdsa_utils = libsecPackage "libsecurity_cdsa_utils" "55000" "0q55jizav6n0lkj7lcmcr2mjdhnbnnn525fa9ipwgvzbspihw0g6" {};
+
libsecurity_codesigning = libsecPackage "libsecurity_codesigning" "55037.15" "0vf5nj2g383b4hknlp51qll5pm8z4qbf56dnc16n3wm8gj82iasy" {};
+
libsecurity_cssm = libsecPackage "libsecurity_cssm" "55005.5" "0l6ia533bhr8kqp2wa712bnzzzisif3kbn7h3bzzf4nps4wmwzn4" {};
+
libsecurity_filedb = libsecPackage "libsecurity_filedb" "55016.1" "1r0ik95xapdl6l2lhd079vpq41jjgshz2hqb8490gpy5wyc49cxb" {};
+
libsecurity_keychain = libsecPackage "libsecurity_keychain" "55050.9" "15wf2slcgyns61kk7jndgm9h22vidyphh9x15x8viyprra9bkhja" {};
+
libsecurity_mds = libsecPackage "libsecurity_mds" "55000" "0vin5hnzvkx2rdzaaj2gxmx38amxlyh6j24a8gc22y09d74p5lzs" {};
+
libsecurity_ocspd = libsecPackage "libsecurity_ocspd" "55010" "1bxzpihc6w0ji4x8810a4lfkq83787yhjl60xm24bv1prhqcm73b" {};
+
libsecurity_pkcs12 = libsecPackage "libsecurity_pkcs12" "55000" "1yq8p2sp39q40fxshb256b7jn9lvmpymgpm8yz9kqrf980xddgsg" {};
+
libsecurity_sd_cspdl = libsecPackage "libsecurity_sd_cspdl" "55003" "10v76xycfnvz1n0zqfbwn3yh4w880lbssqhkn23iim3ihxgm5pbd" {};
+
libsecurity_utilities = libsecPackage "libsecurity_utilities" "55030.3" "0ayycfy9jm0n0c7ih9f3m69ynh8hs80v8yicq47aa1h9wclbxg8r" {};
+
libsecurityd = libsecPackage "libsecurityd" "55004" "1ywm2qj8l7rhaxy5biwxsyavd0d09d4bzchm03nlvwl313p2747x" {};
+
security_dotmac_tp = libsecPackage "security_dotmac_tp" "55107.1" "1l4fi9qhrghj0pkvywi8da22bh06c5bv3l40a621b5g258na50pl" {};
};
in packages
+6 -1
pkgs/os-specific/darwin/apple-source-releases/libauto/default.nix
···
-
{ stdenv, appleDerivation }:
+
{ stdenv, appleDerivation, libdispatch, Libsystem }:
appleDerivation {
+
# these are included in the pure libc
+
buildInputs = stdenv.lib.optionals stdenv.cc.nativeLibc [ libdispatch Libsystem ];
+
buildPhase = ''
cp ${./auto_dtrace.h} ./auto_dtrace.h
+
+
substituteInPlace ThreadLocalCollector.h --replace SubZone.h Subzone.h
substituteInPlace auto_zone.cpp \
--replace "#include <msgtracer_client.h>" ''$'#include <asl.h>\nstatic void msgtracer_log_with_keys(...) { };'
+11
pkgs/os-specific/darwin/apple-source-releases/libsecurity_apple_csp/GNUmakefile
···
+
include $(GNUSTEP_MAKEFILES)/common.make
+
+
LIBRARY_NAME = security_apple_csp
+
+
security_apple_csp_HEADER_FILES = $(notdir $(wildcard lib/*.h))
+
security_apple_csp_HEADER_FILES_DIR = lib
+
+
security_apple_csp_CC_FILES = $(wildcard lib/*.cpp)
+
security_apple_csp_C_FILES = $(wildcard lib/*.c)
+
+
include $(GNUSTEP_MAKEFILES)/library.make
+31
pkgs/os-specific/darwin/apple-source-releases/libsecurity_apple_csp/default.nix
···
+
{ appleDerivation, apple_sdk, libsecurity_asn1, libsecurity_cdsa_plugin, libsecurity_cdsa_utilities, libsecurity_cdsa_utils, libsecurity_utilities, osx_private_sdk, stdenv }:
+
appleDerivation {
+
buildInputs = [
+
libsecurity_cdsa_utilities
+
libsecurity_utilities
+
libsecurity_cdsa_plugin
+
libsecurity_asn1
+
libsecurity_cdsa_utils
+
];
+
NIX_CFLAGS_COMPILE = "-Iopen_ssl";
+
patchPhase = ''
+
for file in lib/BlockCryptor.h lib/RSA_DSA_signature.h lib/castContext.h \
+
lib/RawSigner.h lib/MD2Object.h lib/HMACSHA1.h lib/bfContext.h lib/rc4Context.h; do
+
substituteInPlace ''$file --replace \
+
'"CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h"' \
+
'"${apple_sdk.sdk}/include/MacTypes.h"'
+
done
+
+
for file in lib/castContext.h lib/gladmanContext.h lib/desContext.h lib/rc4Context.h; do
+
substituteInPlace ''$file --replace \
+
'/usr/local/include/CommonCrypto/CommonCryptorSPI.h' \
+
'${osx_private_sdk}/usr/include/CommonCrypto/CommonCryptorSPI.h'
+
done
+
+
substituteInPlace lib/opensshWrap.cpp --replace RSA_DSA_Keys.h RSA_DSA_keys.h
+
'' + stdenv.lib.optionalString (!stdenv.cc.nativeLibc) ''
+
substituteInPlace lib/pbkdf2.c --replace \
+
'<CoreServices/../Frameworks/CarbonCore.framework/Headers/ConditionalMacros.h>' \
+
'"${stdenv.libc}/include/ConditionalMacros.h"'
+
'';
+
}
+10
pkgs/os-specific/darwin/apple-source-releases/libsecurity_apple_cspdl/GNUmakefile
···
+
include $(GNUSTEP_MAKEFILES)/common.make
+
+
LIBRARY_NAME = security_apple_cspdl
+
+
security_apple_cspdl_HEADER_FILES = $(notdir $(wildcard lib/*.h))
+
security_apple_cspdl_HEADER_FILES_DIR = lib
+
+
security_apple_cspdl_CC_FILES = $(wildcard lib/*.cpp)
+
+
include $(GNUSTEP_MAKEFILES)/library.make
+16
pkgs/os-specific/darwin/apple-source-releases/libsecurity_apple_cspdl/default.nix
···
+
{ appleDerivation, libsecurity_cdsa_client, libsecurity_cdsa_plugin, libsecurity_cdsa_utilities, libsecurity_keychain, libsecurity_utilities, libsecurityd }:
+
appleDerivation {
+
buildInputs = [
+
libsecurity_cdsa_plugin
+
libsecurity_cdsa_utilities
+
libsecurity_utilities
+
libsecurityd
+
libsecurity_cdsa_client
+
libsecurity_keychain
+
];
+
patchPhase = ''
+
for file in lib/*; do
+
sed -i 's/#include <\(.*\)>/#include "\1"/' ''$file
+
done
+
'';
+
}
+10
pkgs/os-specific/darwin/apple-source-releases/libsecurity_apple_file_dl/GNUmakefile
···
+
include $(GNUSTEP_MAKEFILES)/common.make
+
+
LIBRARY_NAME = security_apple_file_dl
+
+
security_apple_file_dl_HEADER_FILES = $(notdir $(wildcard lib/*.h))
+
security_apple_file_dl_HEADER_FILES_DIR = lib
+
+
security_apple_file_dl_CC_FILES = $(wildcard lib/*.cpp)
+
+
include $(GNUSTEP_MAKEFILES)/library.make
+17
pkgs/os-specific/darwin/apple-source-releases/libsecurity_apple_file_dl/default.nix
···
+
{ appleDerivation, libsecurity_cdsa_client, libsecurity_cdsa_plugin, libsecurity_cdsa_utilities, libsecurity_filedb, libsecurity_keychain, libsecurity_utilities, libsecurityd }:
+
appleDerivation {
+
buildInputs = [
+
libsecurity_cdsa_plugin
+
libsecurity_cdsa_utilities
+
libsecurity_utilities
+
libsecurityd
+
libsecurity_cdsa_client
+
libsecurity_keychain
+
libsecurity_filedb
+
];
+
patchPhase = ''
+
for file in lib/*; do
+
sed -i 's/#include <\(.*\)>/#include "\1"/' ''$file
+
done
+
'';
+
}
+10
pkgs/os-specific/darwin/apple-source-releases/libsecurity_apple_x509_cl/GNUmakefile
···
+
include $(GNUSTEP_MAKEFILES)/common.make
+
+
LIBRARY_NAME = security_apple_x509_cl
+
+
security_apple_x509_cl_HEADER_FILES = $(notdir $(wildcard lib/*.h))
+
security_apple_x509_cl_HEADER_FILES_DIR = lib
+
+
security_apple_x509_cl_CC_FILES = $(wildcard lib/*.cpp)
+
+
include $(GNUSTEP_MAKEFILES)/library.make
+18
pkgs/os-specific/darwin/apple-source-releases/libsecurity_apple_x509_cl/default.nix
···
+
{ appleDerivation, libsecurity_asn1, libsecurity_cdsa_client, libsecurity_cdsa_plugin, libsecurity_cdsa_utilities, libsecurity_filedb, libsecurity_keychain, libsecurity_utilities, libsecurityd, osx_private_sdk }:
+
appleDerivation {
+
buildInputs = [
+
libsecurity_cdsa_plugin
+
libsecurity_cdsa_utilities
+
libsecurity_utilities
+
libsecurityd
+
libsecurity_cdsa_client
+
libsecurity_keychain
+
libsecurity_filedb
+
libsecurity_asn1
+
];
+
patchPhase = ''
+
for file in lib/*; do
+
sed -i 's/#include <\(.*\)>/#include "\1"/' ''$file
+
done
+
'';
+
}
+10
pkgs/os-specific/darwin/apple-source-releases/libsecurity_apple_x509_tp/GNUmakefile
···
+
include $(GNUSTEP_MAKEFILES)/common.make
+
+
LIBRARY_NAME = security_apple_x509_tp
+
+
security_apple_x509_tp_HEADER_FILES = $(notdir $(wildcard lib/*.h))
+
security_apple_x509_tp_HEADER_FILES_DIR = lib
+
+
security_apple_x509_tp_CC_FILES = $(wildcard lib/*.cpp)
+
+
include $(GNUSTEP_MAKEFILES)/library.make
+19
pkgs/os-specific/darwin/apple-source-releases/libsecurity_apple_x509_tp/default.nix
···
+
{ appleDerivation, libsecurity_asn1, libsecurity_cdsa_client, libsecurity_cdsa_plugin, libsecurity_cdsa_utilities, libsecurity_filedb, libsecurity_keychain, libsecurity_ocspd, libsecurity_utilities, libsecurityd }:
+
appleDerivation {
+
buildInputs = [
+
libsecurity_cdsa_plugin
+
libsecurity_cdsa_utilities
+
libsecurity_utilities
+
libsecurityd
+
libsecurity_cdsa_client
+
libsecurity_keychain
+
libsecurity_filedb
+
libsecurity_asn1
+
libsecurity_ocspd
+
];
+
patchPhase = ''
+
for file in lib/*; do
+
sed -i 's/#include <\(.*\)>/#include "\1"/' ''$file
+
done
+
'';
+
}
+11
pkgs/os-specific/darwin/apple-source-releases/libsecurity_asn1/GNUmakefile
···
+
include $(GNUSTEP_MAKEFILES)/common.make
+
+
LIBRARY_NAME = security_asn1
+
+
security_asn1_C_FILES = $(wildcard lib/*.c)
+
security_asn1_CC_FILES = $(wildcard lib/*.cpp)
+
+
security_asn1_HEADER_FILES = $(notdir $(wildcard lib/*.h))
+
security_asn1_HEADER_FILES_DIR = lib
+
+
include $(GNUSTEP_MAKEFILES)/library.make
+14
pkgs/os-specific/darwin/apple-source-releases/libsecurity_asn1/default.nix
···
+
{ appleDerivation, libsecurity_cdsa_utilities, libsecurity_utilities, osx_private_sdk }:
+
appleDerivation {
+
__propagatedImpureHostDeps = [
+
"/System/Library/Frameworks/Security.framework/Security"
+
"/System/Library/Frameworks/Security.framework/Resources"
+
"/System/Library/Frameworks/Security.framework/PlugIns"
+
"/System/Library/Frameworks/Security.framework/XPCServices"
+
"/System/Library/Frameworks/Security.framework/Versions"
+
];
+
propagatedBuildInputs = [
+
libsecurity_utilities
+
libsecurity_cdsa_utilities
+
];
+
}
+10
pkgs/os-specific/darwin/apple-source-releases/libsecurity_cdsa_client/GNUmakefile
···
+
include $(GNUSTEP_MAKEFILES)/common.make
+
+
LIBRARY_NAME = security_cdsa_client
+
+
security_cdsa_client_HEADER_FILES = $(notdir $(wildcard lib/*.h))
+
security_cdsa_client_HEADER_FILES_DIR = lib
+
+
security_cdsa_client_CC_FILES = $(wildcard lib/*.cpp)
+
+
include $(GNUSTEP_MAKEFILES)/library.make
+8
pkgs/os-specific/darwin/apple-source-releases/libsecurity_cdsa_client/default.nix
···
+
{ appleDerivation, libsecurity_cdsa_utilities, libsecurity_utilities, libsecurityd }:
+
appleDerivation {
+
buildInputs = [
+
libsecurity_utilities
+
libsecurity_cdsa_utilities
+
libsecurityd
+
];
+
}
+10
pkgs/os-specific/darwin/apple-source-releases/libsecurity_cdsa_plugin/GNUmakefile
···
+
include $(GNUSTEP_MAKEFILES)/common.make
+
+
LIBRARY_NAME = security_cdsa_plugin
+
+
security_cdsa_plugin_HEADER_FILES = $(notdir $(wildcard lib/*.h))
+
security_cdsa_plugin_HEADER_FILES_DIR = lib
+
+
security_cdsa_plugin_CC_FILES = $(wildcard lib/*.cpp)
+
+
include $(GNUSTEP_MAKEFILES)/library.make
+15
pkgs/os-specific/darwin/apple-source-releases/libsecurity_cdsa_plugin/default.nix
···
+
{ appleDerivation, libsecurity_cdsa_utilities, libsecurity_cssm, libsecurity_utilities, osx_private_sdk, perl }:
+
appleDerivation {
+
buildInputs = [
+
libsecurity_cdsa_utilities
+
libsecurity_utilities
+
perl
+
];
+
patchPhase = ''
+
unpackFile ${libsecurity_cssm.src}
+
cp libsecurity_cssm*/lib/cssm{dli,aci,cli,cspi,tpi}.h lib
+
'';
+
preBuild = ''
+
perl lib/generator.pl lib lib/generator.cfg lib lib || exit 1
+
'';
+
}
+13
pkgs/os-specific/darwin/apple-source-releases/libsecurity_cdsa_utilities/GNUmakefile
···
+
include $(GNUSTEP_MAKEFILES)/common.make
+
+
LIBRARY_NAME = security_cdsa_utilities
+
+
security_cdsa_utilities_HEADER_FILES = $(notdir $(wildcard lib/*.h))
+
security_cdsa_utilities_HEADER_FILES_DIR = lib
+
+
security_cdsa_utilities_CC_FILES = $(wildcard lib/*.cpp) lib/Schema.cpp lib/KeySchema.cpp
+
+
lib/%.cpp: lib/%.m4
+
m4 $< > $@
+
+
include $(GNUSTEP_MAKEFILES)/library.make
+13
pkgs/os-specific/darwin/apple-source-releases/libsecurity_cdsa_utilities/default.nix
···
+
{ CommonCrypto, appleDerivation, libsecurity_codesigning, libsecurity_utilities, m4, osx_private_sdk }:
+
appleDerivation {
+
buildInputs = [
+
libsecurity_utilities
+
m4
+
];
+
patchPhase = ''
+
patch -p1 < ${./handletemplates.patch}
+
unpackFile ${libsecurity_codesigning.src}
+
mv libsecurity_codesigning*/lib security_codesigning
+
'';
+
NIX_CFLAGS_COMPILE = "-I${CommonCrypto}/include/CommonCrypto";
+
}
+19
pkgs/os-specific/darwin/apple-source-releases/libsecurity_cdsa_utilities/handletemplates.patch
···
+
--- a/lib/handletemplates.h 1969-12-31 16:00:01.000000000 -0800
+
+++ b/lib/handletemplates.h 1969-12-31 16:00:01.000000000 -0800
+
@@ -32,6 +32,7 @@
+
#include <security_utilities/threading.h>
+
#include <security_utilities/globalizer.h>
+
#include <security_cdsa_utilities/cssmerrors.h>
+
+#include <vector>
+
+
#if __GNUC__ > 2
+
#include <ext/hash_map>
+
@@ -129,7 +130,7 @@
+
// @@@ Remove when 4003540 is fixed
+
template <class Subtype>
+
static void findAllRefs(std::vector<_Handle> &refs) {
+
- state().findAllRefs<Subtype>(refs);
+
+ state().template findAllRefs<Subtype>(refs);
+
}
+
+
protected:
+13
pkgs/os-specific/darwin/apple-source-releases/libsecurity_cdsa_utils/GNUmakefile
···
+
include $(GNUSTEP_MAKEFILES)/common.make
+
+
LIBRARY_NAME = security_cdsa_utils
+
+
security_cdsa_utils_HEADER_FILES = $(notdir $(wildcard lib/*.h))
+
security_cdsa_utils_HEADER_FILES_DIR = lib
+
+
security_cdsa_utils_CC_FILES = $(wildcard lib/*.cpp)
+
+
lib/%.cpp: lib/%.m4
+
m4 $< > $@
+
+
include $(GNUSTEP_MAKEFILES)/library.make
+8
pkgs/os-specific/darwin/apple-source-releases/libsecurity_cdsa_utils/default.nix
···
+
{ Security, appleDerivation, apple_sdk, cppcheck, libsecurity_cdsa_utilities, libsecurity_utilities, m4, osx_private_sdk }:
+
appleDerivation {
+
buildInputs = [
+
libsecurity_utilities
+
libsecurity_cdsa_utilities
+
m4
+
];
+
}
+10
pkgs/os-specific/darwin/apple-source-releases/libsecurity_codesigning/GNUmakefile
···
+
include $(GNUSTEP_MAKEFILES)/common.make
+
+
LIBRARY_NAME = security_codesigning
+
+
security_codesigning_HEADER_FILES = $(notdir $(wildcard lib/*.h))
+
security_codesigning_HEADER_FILES_DIR = lib
+
+
security_codesigning_CC_FILES = $(wildcard lib/*.cpp)
+
+
include $(GNUSTEP_MAKEFILES)/library.make
+7
pkgs/os-specific/darwin/apple-source-releases/libsecurity_codesigning/default.nix
···
+
{ appleDerivation, libsecurity_cdsa_utilities, libsecurity_utilities }:
+
appleDerivation {
+
buildInputs = [
+
libsecurity_utilities
+
libsecurity_cdsa_utilities
+
];
+
}
+11
pkgs/os-specific/darwin/apple-source-releases/libsecurity_cssm/GNUmakefile
···
+
include $(GNUSTEP_MAKEFILES)/common.make
+
+
LIBRARY_NAME = security_cssm
+
+
security_cssm_HEADER_FILES = $(notdir $(wildcard lib/*.h))
+
security_cssm_HEADER_FILES_DIR = lib
+
+
security_cssm_CC_FILES = $(wildcard lib/*.cpp)
+
security_cssm_C_FILES = $(wildcard lib/*.c)
+
+
include $(GNUSTEP_MAKEFILES)/library.make
+14
pkgs/os-specific/darwin/apple-source-releases/libsecurity_cssm/default.nix
···
+
{ appleDerivation, libsecurity_cdsa_client, libsecurity_cdsa_plugin, libsecurity_cdsa_utilities, libsecurity_codesigning, libsecurity_utilities, perl }:
+
appleDerivation {
+
buildInputs = [
+
libsecurity_utilities
+
libsecurity_cdsa_utilities
+
libsecurity_cdsa_client
+
perl
+
libsecurity_cdsa_plugin
+
];
+
preBuild = ''
+
mkdir derived_src
+
perl lib/generator.pl lib lib/generator.cfg derived_src
+
'';
+
}
+10
pkgs/os-specific/darwin/apple-source-releases/libsecurity_filedb/GNUmakefile
···
+
include $(GNUSTEP_MAKEFILES)/common.make
+
+
LIBRARY_NAME = security_filedb
+
+
security_filedb_HEADER_FILES = $(notdir $(wildcard lib/*.h))
+
security_filedb_HEADER_FILES_DIR = lib
+
+
security_filedb_CC_FILES = $(wildcard lib/*.cpp)
+
+
include $(GNUSTEP_MAKEFILES)/library.make
+13
pkgs/os-specific/darwin/apple-source-releases/libsecurity_filedb/default.nix
···
+
{ appleDerivation, apple_sdk, libsecurity_cdsa_plugin, libsecurity_cdsa_utilities, libsecurity_utilities, osx_private_sdk }:
+
appleDerivation {
+
buildInputs = [
+
libsecurity_utilities
+
libsecurity_cdsa_utilities
+
libsecurity_cdsa_plugin
+
];
+
patchPhase = ''
+
cp ${osx_private_sdk}/usr/local/include/sandbox_private.h .
+
substituteInPlace sandbox_private.h --replace '<sandbox.h>' '"${apple_sdk.sdk}/include/sandbox.h"'
+
substituteInPlace lib/AtomicFile.cpp --replace '<sandbox.h>' '"sandbox_private.h"'
+
'';
+
}
+58
pkgs/os-specific/darwin/apple-source-releases/libsecurity_generic/default.nix
···
+
{ appleDerivation_, applePackage, pkgs, stdenv }:
+
name: version: sha256: args: let
+
n = stdenv.lib.removePrefix "lib" name;
+
makeFile = ../. + builtins.toPath "/${name}/GNUmakefile";
+
appleDerivation = appleDerivation_ name version sha256;
+
in applePackage name version sha256 (args // {
+
appleDerivation = a:
+
appleDerivation (stdenv.lib.mergeAttrsConcatenateValues {
+
__impureHostDeps = import ./impure_deps.nix;
+
+
patchPhase = ''
+
# allows including <Security/some-private-header.h>
+
ln -s ${pkgs.darwin.osx_private_sdk}/System/Library/Frameworks/Security.framework/Versions/A/PrivateHeaders Security
+
+
grep -Rl MacErrors.h . | while read file; do
+
substituteInPlace "''$file" --replace \
+
'<CoreServices/../Frameworks/CarbonCore.framework/Headers/MacErrors.h>' \
+
'"${pkgs.darwin.apple_sdk.sdk}/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/Headers/MacErrors.h"'
+
done || true # grep returns 1 if it can't find the string
+
+
grep -Rl MacTypes.h . | while read file; do
+
substituteInPlace "''$file" --replace \
+
'<CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h>' \
+
'"${pkgs.darwin.apple_sdk.sdk}/include/MacTypes.h"'
+
done || true # grep returns 1 if it can't find the string
+
'';
+
preBuild = ''
+
ln -s lib ${n}
+
makeFlagsArray=(-j''$NIX_BUILD_CORES)
+
'';
+
buildInputs = [
+
pkgs.gnustep-make
+
];
+
makeFlags = [
+
"-f${makeFile}"
+
"MAKEFILE_NAME=${makeFile}"
+
"GNUSTEP_ABSOLUTE_INSTALL_PATHS=yes"
+
"LIB_LINK_INSTALL_DIR=\$(out)/lib"
+
];
+
installFlags = [
+
"${n}_INSTALL_DIR=\$(out)/lib"
+
"${n}_HEADER_FILES_INSTALL_DIR=\$(out)/include/${n}"
+
"GNUSTEP_HEADERS="
+
];
+
NIX_CFLAGS_COMPILE = [
+
"-isystem lib"
+
"-iframework ${pkgs.darwin.Security}/Library/Frameworks"
+
"-I."
+
"-Wno-deprecated-declarations"
+
];
+
NIX_LDFLAGS = with pkgs.darwin; with apple_sdk.frameworks; [
+
"-L${libobjc}/lib"
+
"-F${Foundation}/Library/Frameworks"
+
"-F${AppKit}/Library/Frameworks"
+
"-no_dtrace_dof"
+
];
+
} a);
+
})
+129
pkgs/os-specific/darwin/apple-source-releases/libsecurity_generic/impure_deps.nix
···
+
# generated using a ruby script
+
[
+
"/System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate"
+
"/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vImage.framework/Versions/A/vImage"
+
"/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib"
+
"/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLAPACK.dylib"
+
"/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLinearAlgebra.dylib"
+
"/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvDSP.dylib"
+
"/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvMisc.dylib"
+
"/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/vecLib"
+
"/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit"
+
"/System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices"
+
"/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/ATS"
+
"/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Resources/libFontParser.dylib"
+
"/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Resources/libFontRegistry.dylib"
+
"/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ColorSync.framework/Versions/A/ColorSync"
+
"/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/HIServices"
+
"/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/LangAnalysis.framework/Versions/A/LangAnalysis"
+
"/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/PrintCore.framework/Versions/A/PrintCore"
+
"/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/QD.framework/Versions/A/QD"
+
"/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/SpeechSynthesis.framework/Versions/A/SpeechSynthesis"
+
"/System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox"
+
"/System/Library/Frameworks/AudioUnit.framework/Versions/A/AudioUnit"
+
"/System/Library/Frameworks/CFNetwork.framework/Versions/A/CFNetwork"
+
"/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/CarbonSound.framework/Versions/A/CarbonSound"
+
"/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox"
+
"/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Ink.framework/Versions/A/Ink"
+
"/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SpeechRecognition.framework/Versions/A/SpeechRecognition"
+
"/System/Library/Frameworks/CoreAudio.framework/Versions/A/CoreAudio"
+
"/System/Library/Frameworks/CoreBluetooth.framework/Versions/A/CoreBluetooth"
+
"/System/Library/Frameworks/CoreData.framework/Versions/A/CoreData"
+
"/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation"
+
"/System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics"
+
"/System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices"
+
"/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/AE.framework/Versions/A/AE"
+
"/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/CarbonCore"
+
"/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/DictionaryServices.framework/Versions/A/DictionaryServices"
+
"/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/FSEvents.framework/Versions/A/FSEvents"
+
"/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/LaunchServices"
+
"/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Metadata"
+
"/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/OSServices.framework/Versions/A/OSServices"
+
"/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SearchKit.framework/Versions/A/SearchKit"
+
"/System/Library/Frameworks/CoreText.framework/Versions/A/CoreText"
+
"/System/Library/Frameworks/CoreVideo.framework/Versions/A/CoreVideo"
+
"/System/Library/Frameworks/CoreWLAN.framework/Versions/A/CoreWLAN"
+
"/System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration"
+
"/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation"
+
"/System/Library/Frameworks/GSS.framework/Versions/A/GSS"
+
"/System/Library/Frameworks/IOBluetooth.framework/Versions/A/IOBluetooth"
+
"/System/Library/Frameworks/IOKit.framework/Versions/A/IOKit"
+
"/System/Library/Frameworks/IOSurface.framework/Versions/A/IOSurface"
+
"/System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO"
+
"/System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libGIF.dylib"
+
"/System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libJP2.dylib"
+
"/System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libJPEG.dylib"
+
"/System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libPng.dylib"
+
"/System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libRadiance.dylib"
+
"/System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libTIFF.dylib"
+
"/System/Library/Frameworks/Kerberos.framework/Versions/A/Kerberos"
+
"/System/Library/Frameworks/NetFS.framework/Versions/A/NetFS"
+
"/System/Library/Frameworks/OpenCL.framework/Versions/A/OpenCL"
+
"/System/Library/Frameworks/OpenDirectory.framework/Versions/A/Frameworks/CFOpenDirectory.framework/Versions/A/CFOpenDirectory"
+
"/System/Library/Frameworks/OpenDirectory.framework/Versions/A/OpenDirectory"
+
"/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCVMSPluginSupport.dylib"
+
"/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCoreVMClient.dylib"
+
"/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGFXShared.dylib"
+
"/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib"
+
"/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLImage.dylib"
+
"/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLU.dylib"
+
"/System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL"
+
"/System/Library/Frameworks/QuartzCore.framework/Versions/A/Frameworks/CoreImage.framework/Versions/A/CoreImage"
+
"/System/Library/Frameworks/QuartzCore.framework/Versions/A/QuartzCore"
+
"/System/Library/Frameworks/Security.framework/Versions/A/Security"
+
"/System/Library/Frameworks/SecurityFoundation.framework/Versions/A/SecurityFoundation"
+
"/System/Library/Frameworks/ServiceManagement.framework/Versions/A/ServiceManagement"
+
"/System/Library/Frameworks/SystemConfiguration.framework/Versions/A/SystemConfiguration"
+
"/System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Apple80211"
+
"/System/Library/PrivateFrameworks/AppleJPEG.framework/Versions/A/AppleJPEG"
+
"/System/Library/PrivateFrameworks/AppleVPA.framework/Versions/A/AppleVPA"
+
"/System/Library/PrivateFrameworks/Backup.framework/Versions/A/Backup"
+
"/System/Library/PrivateFrameworks/ChunkingLibrary.framework/Versions/A/ChunkingLibrary"
+
"/System/Library/PrivateFrameworks/CommonAuth.framework/Versions/A/CommonAuth"
+
"/System/Library/PrivateFrameworks/CoreSymbolication.framework/Versions/A/CoreSymbolication"
+
"/System/Library/PrivateFrameworks/CoreUI.framework/Versions/A/CoreUI"
+
"/System/Library/PrivateFrameworks/CoreWiFi.framework/Versions/A/CoreWiFi"
+
"/System/Library/PrivateFrameworks/CrashReporterSupport.framework/Versions/A/CrashReporterSupport"
+
"/System/Library/PrivateFrameworks/DataDetectorsCore.framework/Versions/A/DataDetectorsCore"
+
"/System/Library/PrivateFrameworks/DebugSymbols.framework/Versions/A/DebugSymbols"
+
"/System/Library/PrivateFrameworks/DesktopServicesPriv.framework/Versions/A/DesktopServicesPriv"
+
"/System/Library/PrivateFrameworks/FaceCore.framework/Versions/A/FaceCore"
+
"/System/Library/PrivateFrameworks/GenerationalStorage.framework/Versions/A/GenerationalStorage"
+
"/System/Library/PrivateFrameworks/Heimdal.framework/Versions/A/Heimdal"
+
"/System/Library/PrivateFrameworks/IconServices.framework/Versions/A/IconServices"
+
"/System/Library/PrivateFrameworks/LanguageModeling.framework/Versions/A/LanguageModeling"
+
"/System/Library/PrivateFrameworks/MultitouchSupport.framework/Versions/A/MultitouchSupport"
+
"/System/Library/PrivateFrameworks/NetAuth.framework/Versions/A/NetAuth"
+
"/System/Library/PrivateFrameworks/PerformanceAnalysis.framework/Versions/A/PerformanceAnalysis"
+
"/System/Library/PrivateFrameworks/RemoteViewServices.framework/Versions/A/RemoteViewServices"
+
"/System/Library/PrivateFrameworks/Sharing.framework/Versions/A/Sharing"
+
"/System/Library/PrivateFrameworks/SpeechRecognitionCore.framework/Versions/A/SpeechRecognitionCore"
+
"/System/Library/PrivateFrameworks/Symbolication.framework/Versions/A/Symbolication"
+
"/System/Library/PrivateFrameworks/TCC.framework/Versions/A/TCC"
+
"/System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/UIFoundation"
+
"/System/Library/PrivateFrameworks/Ubiquity.framework/Versions/A/Ubiquity"
+
"/System/Library/PrivateFrameworks/login.framework/Versions/A/Frameworks/loginsupport.framework/Versions/A/loginsupport"
+
"/usr/lib/libCRFSuite.dylib"
+
"/usr/lib/libOpenScriptingUtil.dylib"
+
"/usr/lib/libarchive.2.dylib"
+
"/usr/lib/libbsm.0.dylib"
+
"/usr/lib/libbz2.1.0.dylib"
+
"/usr/lib/libc++.1.dylib"
+
"/usr/lib/libc++abi.dylib"
+
"/usr/lib/libcmph.dylib"
+
"/usr/lib/libcups.2.dylib"
+
"/usr/lib/libextension.dylib"
+
"/usr/lib/libheimdal-asn1.dylib"
+
"/usr/lib/libiconv.2.dylib"
+
"/usr/lib/libicucore.A.dylib"
+
"/usr/lib/liblangid.dylib"
+
"/usr/lib/liblzma.5.dylib"
+
"/usr/lib/libmecabra.dylib"
+
"/usr/lib/libpam.2.dylib"
+
"/usr/lib/libresolv.9.dylib"
+
"/usr/lib/libsqlite3.dylib"
+
"/usr/lib/libxar.1.dylib"
+
"/usr/lib/libxml2.2.dylib"
+
"/usr/lib/libxslt.1.dylib"
+
"/usr/lib/libz.1.dylib"
+
]
+10
pkgs/os-specific/darwin/apple-source-releases/libsecurity_keychain/GNUmakefile
···
+
include $(GNUSTEP_MAKEFILES)/common.make
+
+
LIBRARY_NAME = security_keychain
+
+
security_keychain_HEADER_FILES = $(notdir $(wildcard lib/*.h))
+
security_keychain_HEADER_FILES_DIR = lib
+
+
security_keychain_CC_FILES = $(wildcard lib/*.cpp)
+
+
include $(GNUSTEP_MAKEFILES)/library.make
+47
pkgs/os-specific/darwin/apple-source-releases/libsecurity_keychain/default.nix
···
+
{ CF, Security, appleDerivation, apple_sdk, libsecurity_asn1, libsecurity_cdsa_client, libsecurity_cdsa_utilities, libsecurity_cdsa_utils, libsecurity_ocspd, libsecurity_pkcs12, libsecurity_utilities, libsecurityd, openssl, osx_private_sdk, security_dotmac_tp }:
+
appleDerivation {
+
buildInputs = [
+
libsecurity_utilities
+
libsecurity_cdsa_client
+
libsecurity_cdsa_utilities
+
libsecurityd
+
CF
+
libsecurity_asn1
+
libsecurity_pkcs12
+
libsecurity_cdsa_utils
+
openssl
+
libsecurity_ocspd
+
security_dotmac_tp
+
];
+
patchPhase = ''
+
substituteInPlace lib/Keychains.cpp --replace DLDbListCFPref.h DLDBListCFPref.h
+
+
substituteInPlace lib/SecCertificate.cpp --replace '#include <Security/SecCertificatePriv.h>' ""
+
+
cp ${osx_private_sdk}/usr/include/xpc/private.h xpc
+
cp ${apple_sdk.sdk}/include/xpc/*.h xpc
+
cp ${osx_private_sdk}/usr/local/include/sandbox_private.h lib/sandbox.h
+
+
substituteInPlace lib/SecItemPriv.h \
+
--replace "extern CFTypeRef kSecAttrAccessGroup" "extern const CFTypeRef kSecAttrAccessGroup" \
+
--replace "extern CFTypeRef kSecAttrIsSensitive" "extern const CFTypeRef kSecAttrIsSensitive" \
+
--replace "extern CFTypeRef kSecAttrIsExtractable" "extern const CFTypeRef kSecAttrIsExtractable"
+
+
substituteInPlace lib/Keychains.cpp --replace \
+
'<CoreServices/../Frameworks/CarbonCore.framework/Headers/MacErrors.h>' \
+
'"${apple_sdk.sdk}/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/Headers/MacErrors.h"'
+
+
substituteInPlace lib/CertificateValues.cpp --replace \
+
'#include <Security/SecCertificatePriv.h>' ""
+
+
substituteInPlace lib/DLDBListCFPref.cpp --replace \
+
'dispatch_once_t AppSandboxChecked;' ''$'namespace Security {\ndispatch_once_t AppSandboxChecked;' \
+
--replace 'return mLoginDLDbIdentifier;' 'return mLoginDLDbIdentifier; }' \
+
--replace '_xpc_runtime_is_app_sandboxed()' 'false'
+
# hope that doesn't hurt anything
+
+
substituteInPlace lib/KCEventNotifier.h --replace \
+
'CoreFoundation/CFNotificationCenter.h' \
+
'${apple_sdk.sdk}/Library/Frameworks/CoreFoundation.framework/Versions/A/Headers/CFNotificationCenter.h'
+
'';
+
}
+10
pkgs/os-specific/darwin/apple-source-releases/libsecurity_mds/GNUmakefile
···
+
include $(GNUSTEP_MAKEFILES)/common.make
+
+
LIBRARY_NAME = security_mds
+
+
security_mds_HEADER_FILES = $(notdir $(wildcard lib/*.h))
+
security_mds_HEADER_FILES_DIR = lib
+
+
security_mds_CC_FILES = $(wildcard lib/*.cpp)
+
+
include $(GNUSTEP_MAKEFILES)/library.make
+11
pkgs/os-specific/darwin/apple-source-releases/libsecurity_mds/default.nix
···
+
{ appleDerivation, libsecurity_cdsa_client, libsecurity_cdsa_plugin, libsecurity_cdsa_utilities, libsecurity_filedb, libsecurity_utilities, libsecurityd }:
+
appleDerivation {
+
buildInputs = [
+
libsecurity_cdsa_plugin
+
libsecurity_cdsa_utilities
+
libsecurity_filedb
+
libsecurity_utilities
+
libsecurity_cdsa_client
+
libsecurityd
+
];
+
}
+10
pkgs/os-specific/darwin/apple-source-releases/libsecurity_ocspd/GNUmakefile
···
+
include $(GNUSTEP_MAKEFILES)/common.make
+
+
LIBRARY_NAME = security_ocspd
+
+
security_ocspd_HEADER_FILES = $(notdir $(wildcard lib/*.h))
+
security_ocspd_HEADER_FILES_DIR = lib
+
+
security_ocspd_CC_FILES = $(wildcard lib/*.cpp)
+
+
include $(GNUSTEP_MAKEFILES)/library.make
+20
pkgs/os-specific/darwin/apple-source-releases/libsecurity_ocspd/default.nix
···
+
{ appleDerivation, bootstrap_cmds, libsecurity_cdsa_utilities, libsecurity_utilities, osx_private_sdk }:
+
appleDerivation {
+
buildInputs = [
+
libsecurity_utilities
+
libsecurity_cdsa_utilities
+
bootstrap_cmds
+
];
+
postUnpack = ''
+
pushd libsecurity*
+
ls -lah
+
mkdir -p lib
+
cp common/* lib
+
cp client/* lib
+
popd
+
'';
+
preBuild = ''
+
make -f mig/mig.mk SRCROOT=. BUILT_PRODUCTS_DIR=. || exit 1
+
cp derived_src/* lib
+
'';
+
}
+11
pkgs/os-specific/darwin/apple-source-releases/libsecurity_pkcs12/GNUmakefile
···
+
include $(GNUSTEP_MAKEFILES)/common.make
+
+
LIBRARY_NAME = security_pkcs12
+
+
security_pkcs12_HEADER_FILES = $(notdir $(wildcard lib/*.h))
+
security_pkcs12_HEADER_FILES_DIR = lib
+
+
security_pkcs12_CC_FILES = $(wildcard lib/*.cpp)
+
security_pkcs12_C_FILES = $(wildcard lib/*.c)
+
+
include $(GNUSTEP_MAKEFILES)/library.make
+15
pkgs/os-specific/darwin/apple-source-releases/libsecurity_pkcs12/default.nix
···
+
{ appleDerivation, libsecurity_asn1, libsecurity_cdsa_client, libsecurity_cdsa_utils, libsecurity_keychain, osx_private_sdk }:
+
appleDerivation {
+
patchPhase = ''
+
substituteInPlace lib/pkcsoids.h --replace '#error' '#warning'
+
'';
+
preBuild = ''
+
unpackFile ${libsecurity_keychain.src}
+
mv libsecurity_keychain*/lib security_keychain
+
'';
+
buildInputs = [
+
libsecurity_asn1
+
libsecurity_cdsa_utils
+
libsecurity_cdsa_client
+
];
+
}
+10
pkgs/os-specific/darwin/apple-source-releases/libsecurity_sd_cspdl/GNUmakefile
···
+
include $(GNUSTEP_MAKEFILES)/common.make
+
+
LIBRARY_NAME = security_sd_cspdl
+
+
security_sd_cspdl_HEADER_FILES = $(notdir $(wildcard lib/*.h))
+
security_sd_cspdl_HEADER_FILES_DIR = lib
+
+
security_sd_cspdl_CC_FILES = $(wildcard lib/*.cpp)
+
+
include $(GNUSTEP_MAKEFILES)/library.make
+10
pkgs/os-specific/darwin/apple-source-releases/libsecurity_sd_cspdl/default.nix
···
+
{ appleDerivation, libsecurity_cdsa_client, libsecurity_cdsa_plugin, libsecurity_cdsa_utilities, libsecurity_utilities, libsecurityd }:
+
appleDerivation {
+
buildInputs = [
+
libsecurity_cdsa_plugin
+
libsecurity_utilities
+
libsecurity_cdsa_utilities
+
libsecurityd
+
libsecurity_cdsa_client
+
];
+
}
+11
pkgs/os-specific/darwin/apple-source-releases/libsecurity_utilities/GNUmakefile
···
+
include $(GNUSTEP_MAKEFILES)/common.make
+
+
LIBRARY_NAME = security_utilities
+
+
security_utilities_HEADER_FILES = $(notdir $(wildcard lib/*.h))
+
security_utilities_HEADER_FILES_DIR = lib
+
+
security_utilities_C_FILES = $(wildcard lib/*.c)
+
security_utilities_CC_FILES = $(wildcard lib/*.cpp)
+
+
include $(GNUSTEP_MAKEFILES)/library.make
+23
pkgs/os-specific/darwin/apple-source-releases/libsecurity_utilities/default.nix
···
+
{ IOKit, appleDerivation, apple_sdk, libauto, libobjc, libsecurity_codesigning, osx_private_sdk, sqlite, stdenv }:
+
appleDerivation {
+
buildInputs = [
+
libauto
+
libobjc
+
IOKit
+
sqlite
+
apple_sdk.frameworks.PCSC
+
];
+
patchPhase = ''
+
substituteInPlace lib/errors.h --replace \
+
'<CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h>' \
+
'"MacTypes.h"'
+
substituteInPlace lib/debugging.cpp --replace PATH_MAX 1024
+
substituteInPlace lib/superblob.h --replace 'result->at' 'result->template at'
+
substituteInPlace lib/ccaudit.cpp --replace '<bsm/libbsm.h>' '"bsm/libbsm.h"'
+
+
cp ${osx_private_sdk}/usr/include/security_utilities/utilities_dtrace.h lib
+
cp -R ${osx_private_sdk}/usr/local/include/bsm lib
+
'' + stdenv.lib.optionalString (!stdenv.cc.nativeLibc) ''
+
substituteInPlace lib/vproc++.cpp --replace /usr/local/include/vproc_priv.h ${stdenv.libc}/include/vproc_priv.h
+
'';
+
}
+11
pkgs/os-specific/darwin/apple-source-releases/libsecurityd/GNUmakefile
···
+
include $(GNUSTEP_MAKEFILES)/common.make
+
+
LIBRARY_NAME = securityd
+
+
securityd_HEADER_FILES = $(notdir $(wildcard lib/*.h))
+
securityd_HEADER_FILES_DIR = lib
+
+
securityd_CC_FILES = $(wildcard lib/*.cpp)
+
securityd_C_FILES = $(wildcard lib/*.c)
+
+
include $(GNUSTEP_MAKEFILES)/library.make
+23
pkgs/os-specific/darwin/apple-source-releases/libsecurityd/default.nix
···
+
{ appleDerivation, bootstrap_cmds, libsecurity_cdsa_client, libsecurity_cdsa_utilities, libsecurity_utilities, osx_private_sdk }:
+
appleDerivation {
+
buildInputs = [
+
libsecurity_cdsa_utilities
+
libsecurity_utilities
+
bootstrap_cmds
+
];
+
patchPhase = ''
+
unpackFile ${libsecurity_cdsa_client.src}
+
mv libsecurity_cdsa_client*/lib security_cdsa_client
+
ln -s lib securityd_client
+
+
patch -p1 < ${./xdr-arity.patch}
+
'';
+
preBuild = ''
+
make -f mig/mig.mk SRCROOT=. BUILT_PRODUCTS_DIR=.
+
cp derived_src/* lib
+
rm lib/ucspClientC.c
+
'';
+
postInstall = ''
+
ln -s ''$out/include/securityd ''$out/include/securityd_client
+
'';
+
}
+79
pkgs/os-specific/darwin/apple-source-releases/libsecurityd/xdr-arity.patch
···
+
diff --git a/lib/sec_xdr.c b/lib/sec_xdr.c
+
index fe5f038..6239b6c 100644
+
--- a/lib/sec_xdr.c
+
+++ b/lib/sec_xdr.c
+
@@ -223,7 +223,7 @@ bool_t copyin(void *data, xdrproc_t proc, void** copy, u_int *size)
+
sec_xdrmem_create(&xdr, (char *)xdr_data, length, XDR_ENCODE);
+
+
// cast to void* - function can go both ways (xdr->x_op)
+
- if (proc(&xdr, data)) {
+
+ if (proc(&xdr, data, 0)) {
+
*copy = xdr_data;
+
if (size) *size = length;
+
return (TRUE);
+
@@ -261,7 +261,7 @@ bool_t copyout(const void *copy, u_int size, xdrproc_t proc, void **data, u_int
+
if (!sec_xdr_arena_init(&arena, &xdr, length_out ? length_out : length_required, length_out ? *data : NULL))
+
return (FALSE);
+
+
- if (proc(&xdr, data))
+
+ if (proc(&xdr, data, 0))
+
{
+
*length = length_required;
+
return (TRUE);
+
@@ -284,7 +284,7 @@ bool_t copyout_chunked(const void *copy, u_int size, xdrproc_t proc, void **data
+
+
void *data_out = NULL;
+
+
- if (proc(&xdr, &data_out))
+
+ if (proc(&xdr, &data_out, 0))
+
{
+
*data = data_out;
+
return (TRUE);
+
diff --git a/lib/sec_xdr_array.c b/lib/sec_xdr_array.c
+
index 152a71b..e5ec1ad 100644
+
--- a/lib/sec_xdr_array.c
+
+++ b/lib/sec_xdr_array.c
+
@@ -147,7 +147,7 @@ sec_xdr_array(XDR *xdrs, uint8_t **addrp, u_int *sizep, u_int maxsize, u_int els
+
for (i = 0; (i < c) && stat; i++) {
+
if ((xdrs->x_op == XDR_DECODE) && sizeof_alloc)
+
memset(obj, 0, elsize);
+
- stat = (*elproc)(xdrs, target);
+
+ stat = (*elproc)(xdrs, target, 0);
+
if ((xdrs->x_op == XDR_ENCODE) || !sizeof_alloc)
+
target += elsize;
+
}
+
diff --git a/lib/sec_xdr_reference.c b/lib/sec_xdr_reference.c
+
index a66fb37..ab5b4c4 100644
+
--- a/lib/sec_xdr_reference.c
+
+++ b/lib/sec_xdr_reference.c
+
@@ -121,7 +121,7 @@ sec_xdr_reference(XDR *xdrs, uint8_t **pp, u_int size, xdrproc_t proc)
+
break;
+
}
+
+
- stat = (*proc)(xdrs, loc);
+
+ stat = (*proc)(xdrs, loc, 0);
+
+
if (xdrs->x_op == XDR_FREE) {
+
sec_mem_free(xdrs, loc, size);
+
diff --git a/lib/sec_xdr_sizeof.c b/lib/sec_xdr_sizeof.c
+
index a18bcd0..8c33dbc 100644
+
--- a/lib/sec_xdr_sizeof.c
+
+++ b/lib/sec_xdr_sizeof.c
+
@@ -190,7 +190,7 @@ sec_xdr_sizeof_in(func, data)
+
+
sec_xdr_arena_allocator_t size_alloc;
+
sec_xdr_arena_init_size_alloc(&size_alloc, &x);
+
- stat = func(&x, data);
+
+ stat = func(&x, data, 0);
+
if (x.x_private)
+
free(x.x_private);
+
return (stat == TRUE ? (unsigned) x.x_handy: 0);
+
@@ -210,7 +210,7 @@ sec_xdr_sizeof_out(copy, size, func, data)
+
+
sec_xdr_arena_allocator_t size_alloc;
+
sec_xdr_arena_init_size_alloc(&size_alloc, &x);
+
- stat = func(&x, data);
+
+ stat = func(&x, data, 0);
+
if (size_alloc.data)
+
free(size_alloc.data);
+
return (stat == TRUE ? (unsigned long)size_alloc.offset : 0);
+8
pkgs/os-specific/darwin/apple-source-releases/security_dotmac_tp/GNUmakefile
···
+
include $(GNUSTEP_MAKEFILES)/common.make
+
+
LIBRARY_NAME = security_dotmac_tp
+
+
security_dotmac_tp_HEADER_FILES = $(notdir $(wildcard lib/*.h))
+
security_dotmac_tp_HEADER_FILES_DIR = lib
+
+
include $(GNUSTEP_MAKEFILES)/library.make
+4
pkgs/os-specific/darwin/apple-source-releases/security_dotmac_tp/default.nix
···
+
{ appleDerivation }:
+
+
appleDerivation {
+
}
+39
pkgs/os-specific/darwin/binutils/default.nix
···
+
{ stdenv, binutils-raw, cctools }:
+
+
stdenv.mkDerivation {
+
name = "cctools-binutils-darwin";
+
buildCommand = ''
+
mkdir -p $out/bin $out/include
+
+
ln -s ${binutils-raw}/bin/c++filt $out/bin/c++filt
+
+
# We specifically need:
+
# - ld: binutils doesn't provide it on darwin
+
# - as: as above
+
# - ar: the binutils one prodices .a files that the cctools ld doesn't like
+
# - ranlib: for compatibility with ar
+
# - dsymutil: soon going away once it goes into LLVM (this one is fake anyway)
+
# - otool: we use it for some of our name mangling
+
# - install_name_tool: we use it to rewrite stuff in our bootstrap tools
+
# - strip: the binutils one seems to break mach-o files
+
# - lipo: gcc build assumes it exists
+
# - nm: the gnu one doesn't understand many new load commands
+
for i in ar ranlib as dsymutil install_name_tool ld strip otool lipo nm strings size; do
+
ln -sf "${cctools}/bin/$i" "$out/bin/$i"
+
done
+
+
for i in ${binutils-raw}/include/*.h; do
+
ln -s "$i" "$out/include/$(basename $i)"
+
done
+
+
for i in ${cctools}/include/*; do
+
ln -s "$i" "$out/include/$(basename $i)"
+
done
+
+
# FIXME: this will give us incorrect man pages for bits of cctools
+
ln -s ${binutils-raw}/share $out/share
+
ln -s ${binutils-raw}/lib $out/lib
+
+
ln -s ${cctools}/libexec $out/libexec
+
'';
+
}
+14 -32
pkgs/os-specific/darwin/osx-private-sdk/default.nix
···
-
{ stdenv, fetchFromGitHub, python, osx_sdk }:
-
-
let
-
sdkVersion = "10.9";
-
in stdenv.mkDerivation {
-
name = "PrivateMacOSX${sdkVersion}.sdk";
-
-
src = fetchFromGitHub {
-
owner = "copumpkin";
-
repo = "OSXPrivateSDK";
-
rev = "bde9cba13e6ae62a8e4e0f405008ea719526e7ad";
-
sha256 = "1vj3fxwp32irxjk987p7a223sm5bl5rrlajcvgy69k0wb0fp0krc";
-
};
-
-
buildInputs = [ python ];
-
-
configurePhase = "true";
-
-
buildPhase = ''
-
python PrivateSDK.py -i ${osx_sdk}/Developer/SDKs/MacOSX${sdkVersion}.sdk -o PrivateMacOSX${sdkVersion}.sdk
-
'';
-
-
installPhase = ''
-
mkdir -p $out/Developer/SDKs/
-
mv PrivateMacOSX${sdkVersion}.sdk $out/Developer/SDKs
-
'';
+
{ stdenv, fetchzip }:
-
meta = with stdenv.lib; {
-
description = "A private Mac OS ${sdkVersion} SDK, suitable for building many of Apple's open source releases";
-
maintainers = with maintainers; [ copumpkin ];
-
platforms = platforms.darwin;
-
license = licenses.unfree;
-
};
+
let full = stdenv.lib.overrideDerivation (fetchzip {
+
url = "https://github.com/samdmarshall/OSXPrivateSDK/tarball/69bf3c7f7140ed6ab2b6684b427bd457209858fe";
+
name = "osx-private-sdk-10.9";
+
sha256 = "1agl4kyry6m7yz3sql5mrbvmd1xkmb4nbq976phcpk19inans1zm";
+
}) (drv: {
+
postFetch = ''
+
unpackFile() {
+
tar xzf "$1"
+
}
+
'' + drv.postFetch;
+
}); in {
+
outPath = "${full}/PrivateSDK10.9";
+
passthru.sdk10 = "${full}/PrivateSDK10.10";
}
+2 -2
pkgs/os-specific/darwin/osx-sdk/default.nix
···
let
version = "10.9";
-
in stdenv.mkDerivation {
+
in stdenv.mkDerivation rec {
name = "MacOSX10.9.sdk";
src = "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk";
···
platforms = platforms.darwin;
license = licenses.unfree;
};
-
}
+
}
+14
pkgs/os-specific/darwin/security-tool/GNUmakefile
···
+
include $(GNUSTEP_MAKEFILES)/common.make
+
+
TOOL_NAME = security
+
security_C_FILES = $(wildcard *.c)
+
security_CC_FILES = $(wildcard *.cpp)
+
+
security_LDFLAGS = \
+
-lsecurity_cdsa_utilities -lsecurity_cdsa_utils -lsecurity_keychain -lsecurity_cssm \
+
-lsecurity_cdsa_client -lsecurity_utilities -lsecurity_asn1 -lsecurity_mds \
+
-lsecurity_cdsa_plugin -lsecurity_pkcs12 -lsecurity_apple_csp -lsecurity_apple_cspdl \
+
-lsecurity_apple_file_dl -lsecurity_apple_x509_cl -lsecurity_apple_x509_tp \
+
-lsecurity_sd_cspdl -lsecurity_filedb -lsecurityd -framework Security -framework PCSC
+
+
include $(GNUSTEP_MAKEFILES)/tool.make
+74 -14
pkgs/os-specific/darwin/security-tool/default.nix
···
-
{ stdenv, fetchurl, osx_private_sdk }:
+
{ CoreServices, Foundation, PCSC, Security, GSS, Kerberos, makeWrapper, apple_sdk, fetchurl, gnustep-make, libobjc, libsecurity_apple_csp, libsecurity_apple_cspdl, libsecurity_apple_file_dl, libsecurity_apple_x509_cl, libsecurity_apple_x509_tp, libsecurity_asn1, libsecurity_cdsa_client, libsecurity_cdsa_plugin, libsecurity_cdsa_utilities, libsecurity_cdsa_utils, libsecurity_cssm, libsecurity_filedb, libsecurity_keychain, libsecurity_mds, libsecurity_pkcs12, libsecurity_sd_cspdl, libsecurity_utilities, libsecurityd, osx_private_sdk, stdenv }:
stdenv.mkDerivation rec {
-
version = "55115";
-
name = "SecurityTool-${version}";
+
version = "55115";
+
name = "SecurityTool-${version}";
src = fetchurl {
url = "http://opensource.apple.com/tarballs/SecurityTool/SecurityTool-${version}.tar.gz";
sha256 = "0apcz4vy2z5645jhrs60wj3w27mncjjqv42h5lln36g6qs2n9113";
};
-
configurePhase = "";
+
patchPhase = ''
+
# copied from libsecurity_generic
+
ln -s ${osx_private_sdk}/System/Library/Frameworks/Security.framework/Versions/A/PrivateHeaders Security
-
# Someday we shall purge this impurity!
-
buildPhase = ''
-
/usr/bin/xcodebuild SDKROOT=${osx_private_sdk}/Developer/SDKs/PrivateMacOSX10.9.sdk/
+
substituteInPlace cmsutil.c --replace \
+
'<CoreServices/../Frameworks/CarbonCore.framework/Headers/MacErrors.h>' \
+
'"${apple_sdk.sdk}/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/Headers/MacErrors.h"'
+
substituteInPlace createFVMaster.c --replace \
+
'<CoreServices/../Frameworks/CarbonCore.framework/Headers/MacErrors.h>' \
+
'"${apple_sdk.sdk}/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/Headers/MacErrors.h"'
'';
-
installPhase = ''
-
mkdir -p $out/bin/
-
cp build/Release/security $out/bin
+
postUnpack = ''
+
unpackFile ${Security.src}
+
cp Security-*/utilities/src/fileIo.c SecurityTool*
+
cp Security-*/utilities/src/fileIo.h SecurityTool*
+
'';
+
+
preBuild = ''
+
makeFlagsArray=(-j''$NIX_BUILD_CORES)
+
'';
+
+
NIX_LDFLAGS = "-no_dtrace_dof";
+
+
makeFlags = "-f ${./GNUmakefile} MAKEFILE_NAME=${./GNUmakefile}";
+
+
installFlags = [
+
"security_INSTALL_DIR=\$(out)/bin"
+
];
+
+
propagatedBuildInputs = [ GSS Kerberos Security PCSC Foundation ];
+
+
__propagatedImpureHostDeps = [ "/System/Library/Keychains" ];
+
+
buildInputs = [
+
gnustep-make
+
libsecurity_asn1
+
libsecurity_utilities
+
libsecurity_cdsa_utilities
+
libobjc
+
libsecurity_cdsa_client
+
libsecurity_keychain
+
libsecurity_cssm
+
libsecurity_cdsa_utils
+
libsecurity_mds
+
libsecurity_cdsa_plugin
+
libsecurity_apple_csp
+
libsecurity_apple_cspdl
+
libsecurity_apple_file_dl
+
libsecurity_apple_x509_cl
+
libsecurity_apple_x509_tp
+
libsecurity_pkcs12
+
libsecurity_sd_cspdl
+
libsecurity_filedb
+
libsecurityd
+
makeWrapper
+
];
+
+
NIX_CFLAGS_COMPILE = [
+
"-F${Security}/Library/Frameworks"
+
"-F${PCSC}/Library/Frameworks"
+
"-Wno-deprecated-declarations"
+
];
+
+
postInstall = ''
+
wrapProgram $out/bin/security --set DYLD_INSERT_LIBRARIES /usr/lib/libsqlite3.dylib
'';
meta = with stdenv.lib; {
description = "Command line interface to Mac OS X keychains and Security framework";
-
maintainers = with maintainers; [ copumpkin ];
-
platforms = platforms.darwin;
-
license = licenses.apsl20;
+
maintainers = with maintainers; [
+
copumpkin
+
joelteon
+
];
+
platforms = platforms.darwin;
+
license = licenses.apsl20;
};
-
}
+
}
+
+6
pkgs/os-specific/linux/eudev/default.nix
···
"hwdb_bin=/var/lib/udev/hwdb.bin"
"udevrulesdir=/etc/udev/rules.d"
];
+
+
preInstall = ''
+
# Disable install-exec-hook target as it conflicts with our move-sbin setup-hook
+
sed -i 's;$(MAKE) $(AM_MAKEFLAGS) install-exec-hook;$(MAKE) $(AM_MAKEFLAGS);g' src/udev/Makefile
+
'';
+
installFlags =
[
"localstatedir=$(TMPDIR)/var"
+4 -2
pkgs/os-specific/linux/kexectools/default.nix
···
{ stdenv, fetchurl, zlib }:
+
let version = "2.0.10"; in
stdenv.mkDerivation rec {
-
name = "kexec-tools-2.0.9";
+
name = "kexec-tools-${version}";
src = fetchurl {
url = "http://horms.net/projects/kexec/kexec-tools/${name}.tar.xz";
-
sha256 = "0wag8pxn13i0j91x2bszpmi5i88xnndcmqz1w5a0jdbnxff4mqwa";
+
sha256 = "18x134nj37j1rshn5hxbyhdcv9kk5sfshs72alkip1icf54l2gp2";
};
buildInputs = [ zlib ];
meta = with stdenv.lib; {
+
inherit version;
homepage = http://horms.net/projects/kexec/kexec-tools;
description = "Tools related to the kexec Linux feature";
platforms = with platforms; linux;
+1 -1
pkgs/os-specific/linux/systemd/default.nix
···
''
# FIXME: patch this in systemd properly (and send upstream).
# FIXME: use sulogin from util-linux once updated.
-
for i in src/remount-fs/remount-fs.c src/core/mount.c src/core/swap.c src/fsck/fsck.c units/emergency.service.in units/rescue.service.m4.in src/journal/cat.c src/core/shutdown.c src/nspawn/nspawn.c; do
+
for i in src/remount-fs/remount-fs.c src/core/mount.c src/core/swap.c src/fsck/fsck.c units/emergency.service.in units/rescue.service.in src/journal/cat.c src/core/shutdown.c src/nspawn/nspawn.c; do
test -e $i
substituteInPlace $i \
--replace /usr/bin/getent ${stdenv.glibc}/bin/getent \
-1
pkgs/os-specific/linux/usbutils/default.nix
···
postInstall =
''
-
rm $out/sbin/update-usbids.sh
substituteInPlace $out/bin/lsusb.py \
--replace /usr/share/usb.ids ${hwdata}/data/hwdata/usb.ids
'';
+1 -4
pkgs/os-specific/linux/wpa_supplicant/default.nix
···
];
postInstall = ''
-
# Copy the wpa_priv binary which is not installed
-
mkdir -p $out/bin
-
cp -v wpa_priv $out/bin
-
mkdir -p $out/share/man/man5 $out/share/man/man8
cp -v "doc/docbook/"*.5 $out/share/man/man5/
cp -v "doc/docbook/"*.8 $out/share/man/man8/
···
sed -e "s@/sbin/wpa_supplicant@$out&@" -i "$out/share/dbus-1/system-services/"*
cp -v dbus/dbus-wpa_supplicant.conf $out/etc/dbus-1/system.d
cp -v "systemd/"*.service $out/etc/systemd/system
+
rm $out/share/man/man8/wpa_priv.8
'';
meta = with stdenv.lib; {
+1 -1
pkgs/servers/samba/4.x.nix
···
postFixup = ''
export SAMBA_LIBS="$(find $out -type f -name \*.so -exec dirname {} \; | sort | uniq)"
-
read -r -d "" SCRIPT << EOF
+
read -r -d "" SCRIPT << EOF || true
[ -z "\$SAMBA_LIBS" ] && exit 1;
BIN='{}';
OLD_LIBS="\$(patchelf --print-rpath "\$BIN" 2>/dev/null | tr ':' '\n')";
+4 -3
pkgs/servers/sql/mariadb/default.nix
···
"-DWITH_PARTITION_STORAGE_ENGINE=1"
"-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1"
"-DWITHOUT_FEDERATED_STORAGE_ENGINE=1"
-
] ++ stdenv.lib.optional stdenv.isDarwin "-DWITHOUT_OQGRAPH_STORAGE_ENGINE=1";
-
-
NIX_CFLAGS_COMPILE = "-Wno-error=cpp";
+
] ++ stdenv.lib.optionals stdenv.isDarwin [
+
"-DWITHOUT_OQGRAPH_STORAGE_ENGINE=1"
+
"-DWITHOUT_TOKUDB=1"
+
];
enableParallelBuilding = true;
+2
pkgs/servers/x11/xorg/builder.sh
···
if test -n "$origPostInstall"; then eval "$origPostInstall"; fi
local r p requires
+
set +o pipefail
requires=$(grep "Requires:" $out/lib/pkgconfig/*.pc | \
sed "s/Requires://" | sed "s/,/ /g")
+
set -o pipefail
echo "propagating requisites $requires"
+179 -119
pkgs/servers/x11/xorg/default.nix
···
}) // {inherit ;};
kbproto = (mkDerivation "kbproto" {
-
name = "kbproto-1.0.6";
+
name = "kbproto-1.0.7";
builder = ./builder.sh;
src = fetchurl {
-
url = mirror://xorg/X11R7.7/src/everything/kbproto-1.0.6.tar.bz2;
-
sha256 = "0yal11hhpiisy3w8wmacsdzzzcnc3xwnswxz8k7zri40xc5aqz03";
+
url = mirror://xorg/individual/proto/kbproto-1.0.7.tar.bz2;
+
sha256 = "0mxqj1pzhjpz9495vrjnpi10kv2n1s4vs7di0sh3yvipfq5j30pq";
};
buildInputs = [pkgconfig ];
}) // {inherit ;};
···
}) // {inherit applewmproto libX11 libXext xextproto ;};
libFS = (mkDerivation "libFS" {
-
name = "libFS-1.0.6";
+
name = "libFS-1.0.7";
builder = ./builder.sh;
src = fetchurl {
-
url = mirror://xorg/individual/lib/libFS-1.0.6.tar.bz2;
-
sha256 = "1mxfsvj9m3pn8cdkcn4kg190zp665mf4pv0083g6xykvsgxzq1wh";
+
url = mirror://xorg/individual/lib/libFS-1.0.7.tar.bz2;
+
sha256 = "1wy4km3qwwajbyl8y9pka0zwizn7d9pfiyjgzba02x3a083lr79f";
};
buildInputs = [pkgconfig fontsproto xproto xtrans ];
}) // {inherit fontsproto xproto xtrans ;};
···
}) // {inherit xproto ;};
libXaw = (mkDerivation "libXaw" {
-
name = "libXaw-1.0.12";
+
name = "libXaw-1.0.13";
builder = ./builder.sh;
src = fetchurl {
-
url = mirror://xorg/individual/lib/libXaw-1.0.12.tar.bz2;
-
sha256 = "1xnv7jy86j9vhmw74frkzcraynqbw1p1s79jasargsgwfi433z4n";
+
url = mirror://xorg/individual/lib/libXaw-1.0.13.tar.bz2;
+
sha256 = "1kdhxplwrn43d9jp3v54llp05kwx210lrsdvqb6944jp29rhdy4f";
};
buildInputs = [pkgconfig libX11 libXext xextproto libXmu libXpm xproto libXt ];
}) // {inherit libX11 libXext xextproto libXmu libXpm xproto libXt ;};
···
buildInputs = [pkgconfig libX11 libXext xextproto xproto libXt ];
}) // {inherit libX11 libXext xextproto xproto libXt ;};
+
libXpresent = (mkDerivation "libXpresent" {
+
name = "libXpresent-1.0.0";
+
builder = ./builder.sh;
+
src = fetchurl {
+
url = mirror://xorg/individual/lib/libXpresent-1.0.0.tar.bz2;
+
sha256 = "12kvvar3ihf6sw49h6ywfdiwmb8i1gh8wasg1zhzp6hs2hay06n1";
+
};
+
buildInputs = [pkgconfig presentproto libX11 xextproto xproto ];
+
}) // {inherit presentproto libX11 xextproto xproto ;};
+
libXrandr = (mkDerivation "libXrandr" {
-
name = "libXrandr-1.4.2";
+
name = "libXrandr-1.5.0";
builder = ./builder.sh;
src = fetchurl {
-
url = mirror://xorg/individual/lib/libXrandr-1.4.2.tar.bz2;
-
sha256 = "1b95p3l84ppv6j7dbbmg0zrz6k8xdwvnag1l6ajm3gk9qwdb79ya";
+
url = mirror://xorg/individual/lib/libXrandr-1.5.0.tar.bz2;
+
sha256 = "0n6ycs1arf4wb1cal9il6v7vbxbf21qhs9sbfl8xndgwnxclk1kg";
};
buildInputs = [pkgconfig randrproto renderproto libX11 libXext xextproto xproto libXrender ];
}) // {inherit randrproto renderproto libX11 libXext xextproto xproto libXrender ;};
libXrender = (mkDerivation "libXrender" {
-
name = "libXrender-0.9.8";
+
name = "libXrender-0.9.9";
builder = ./builder.sh;
src = fetchurl {
-
url = mirror://xorg/individual/lib/libXrender-0.9.8.tar.bz2;
-
sha256 = "0qpwyjhbpp734vnhca992pjh4w7ijslidkzx1pcwbbk000pv050x";
+
url = mirror://xorg/individual/lib/libXrender-0.9.9.tar.bz2;
+
sha256 = "06myx7044qqdswxndsmd82fpp670klnizkgzdm194h51h1wyabzw";
};
buildInputs = [pkgconfig renderproto libX11 xproto ];
}) // {inherit renderproto libX11 xproto ;};
···
}) // {inherit resourceproto libX11 libXext xextproto xproto ;};
libXt = (mkDerivation "libXt" {
-
name = "libXt-1.1.4";
+
name = "libXt-1.1.5";
builder = ./builder.sh;
src = fetchurl {
-
url = mirror://xorg/individual/lib/libXt-1.1.4.tar.bz2;
-
sha256 = "0myxwbx9ylam5x3ia5b5f4x8azcqdm420h9ad1r4hrgmi2lrffl4";
+
url = mirror://xorg/individual/lib/libXt-1.1.5.tar.bz2;
+
sha256 = "06lz6i7rbrp19kgikpaz4c97fw7n31k2h2aiikczs482g2zbdvj6";
};
buildInputs = [pkgconfig libICE kbproto libSM libX11 xproto ];
}) // {inherit libICE kbproto libSM libX11 xproto ;};
···
}) // {inherit dmxproto libX11 libXext xextproto ;};
libfontenc = (mkDerivation "libfontenc" {
-
name = "libfontenc-1.1.2";
+
name = "libfontenc-1.1.3";
builder = ./builder.sh;
src = fetchurl {
-
url = mirror://xorg/individual/lib/libfontenc-1.1.2.tar.bz2;
-
sha256 = "0qign0ivqk166l9yfd51gw9lbhgs718bcrmvc40yicjr6gnyz959";
+
url = mirror://xorg/individual/lib/libfontenc-1.1.3.tar.bz2;
+
sha256 = "08gxmrhgw97mv0pvkfmd46zzxrn6zdw4g27073zl55gwwqq8jn3h";
};
buildInputs = [pkgconfig xproto zlib ];
}) // {inherit xproto zlib ;};
libpciaccess = (mkDerivation "libpciaccess" {
-
name = "libpciaccess-0.13.3";
+
name = "libpciaccess-0.13.4";
builder = ./builder.sh;
src = fetchurl {
-
url = mirror://xorg/individual/lib/libpciaccess-0.13.3.tar.bz2;
-
sha256 = "1qy2i776jb7912dxqylv59p41sa0hw8lmn7asd3ywvp0wk56rmvc";
+
url = mirror://xorg/individual/lib/libpciaccess-0.13.4.tar.bz2;
+
sha256 = "1krgryi9ngjr66242v0v5mczihgv0y7rrvx0563arr318mjn9y07";
};
buildInputs = [pkgconfig zlib ];
}) // {inherit zlib ;};
···
}) // {inherit libxslt libpthreadstubs python libXau xcbproto libXdmcp ;};
libxkbfile = (mkDerivation "libxkbfile" {
-
name = "libxkbfile-1.0.8";
+
name = "libxkbfile-1.0.9";
builder = ./builder.sh;
src = fetchurl {
-
url = mirror://xorg/X11R7.7/src/everything/libxkbfile-1.0.8.tar.bz2;
-
sha256 = "0flg5arw6n3njagmsi4i4l0zl5bfx866a1h9ydc3bi1pqlclxaca";
+
url = mirror://xorg/individual/lib/libxkbfile-1.0.9.tar.bz2;
+
sha256 = "0smimr14zvail7ar68n7spvpblpdnih3jxrva7cpa6cn602px0ai";
};
buildInputs = [pkgconfig kbproto libX11 ];
}) // {inherit kbproto libX11 ;};
···
}) // {inherit libXau ;};
randrproto = (mkDerivation "randrproto" {
-
name = "randrproto-1.4.1";
+
name = "randrproto-1.5.0";
builder = ./builder.sh;
src = fetchurl {
-
url = mirror://xorg/individual/proto/randrproto-1.4.1.tar.bz2;
-
sha256 = "1p7155hsp48b0sjm4rc67wz6y1nxqrq69vyw0sjxh8h6pcpcngal";
+
url = mirror://xorg/individual/proto/randrproto-1.5.0.tar.bz2;
+
sha256 = "0s4496z61y5q45q20gldwpf788b9nsa8hb13gnck1mwwwwrmarsc";
};
buildInputs = [pkgconfig ];
}) // {inherit ;};
···
}) // {inherit xproto ;};
setxkbmap = (mkDerivation "setxkbmap" {
-
name = "setxkbmap-1.3.0";
+
name = "setxkbmap-1.3.1";
builder = ./builder.sh;
src = fetchurl {
-
url = mirror://xorg/X11R7.7/src/everything/setxkbmap-1.3.0.tar.bz2;
-
sha256 = "1inygpvlgc6vr5h9laxw9lnvafnccl3fy0g5n9ll28iq3yfmqc1x";
+
url = mirror://xorg/individual/app/setxkbmap-1.3.1.tar.bz2;
+
sha256 = "1qfk097vjysqb72pq89h0la3462kbb2dh1d11qzs2fr67ybb7pd9";
};
buildInputs = [pkgconfig libX11 libxkbfile ];
}) // {inherit libX11 libxkbfile ;};
smproxy = (mkDerivation "smproxy" {
-
name = "smproxy-1.0.5";
+
name = "smproxy-1.0.6";
builder = ./builder.sh;
src = fetchurl {
-
url = mirror://xorg/X11R7.7/src/everything/smproxy-1.0.5.tar.bz2;
-
sha256 = "02fn5wa1gs2jap6sr9j9yk6zsvz82j8l61pf74iyqwa99q4wnb67";
+
url = mirror://xorg/individual/app/smproxy-1.0.6.tar.bz2;
+
sha256 = "0rkjyzmsdqmlrkx8gy2j4q6iksk58hcc92xzdprkf8kml9ar3wbc";
};
buildInputs = [pkgconfig libICE libSM libXmu libXt ];
}) // {inherit libICE libSM libXmu libXt ;};
twm = (mkDerivation "twm" {
-
name = "twm-1.0.8";
+
name = "twm-1.0.9";
builder = ./builder.sh;
src = fetchurl {
-
url = mirror://xorg/individual/app/twm-1.0.8.tar.bz2;
-
sha256 = "0i1ff8h2gh1ab311da5dlhl0nrma0qbrk403ymzi4cnnacikaq3n";
+
url = mirror://xorg/individual/app/twm-1.0.9.tar.bz2;
+
sha256 = "02iicvhkp3i7q5rliyymiq9bppjr0pzfs6rgb78kppryqdx1cxf5";
};
buildInputs = [pkgconfig libICE libSM libX11 libXext libXmu xproto libXt ];
}) // {inherit libICE libSM libX11 libXext libXmu xproto libXt ;};
···
}) // {inherit ;};
x11perf = (mkDerivation "x11perf" {
-
name = "x11perf-1.5.4";
+
name = "x11perf-1.6.0";
builder = ./builder.sh;
src = fetchurl {
-
url = mirror://xorg/X11R7.7/src/everything/x11perf-1.5.4.tar.bz2;
-
sha256 = "111iwpxhnxjiq44w96zf0kszg5zpgv1g3ayx18v4nhdzl9bqivi4";
+
url = mirror://xorg/individual/app/x11perf-1.6.0.tar.bz2;
+
sha256 = "0lb716yfdb8f11h4cz93d1bapqdxf1xplsb21kbp4xclq7g9hw78";
};
-
buildInputs = [pkgconfig libX11 libXext libXft libXmu libXrender ];
-
}) // {inherit libX11 libXext libXft libXmu libXrender ;};
+
buildInputs = [pkgconfig libX11 libXext libXft libXmu xproto libXrender ];
+
}) // {inherit libX11 libXext libXft libXmu xproto libXrender ;};
xauth = (mkDerivation "xauth" {
name = "xauth-1.0.9";
···
buildInputs = [pkgconfig gperf m4 libxcb xcbutilimage xcbutilrenderutil xproto ];
}) // {inherit gperf m4 libxcb xcbutilimage xcbutilrenderutil xproto ;};
+
xcbutilerrors = (mkDerivation "xcbutilerrors" {
+
name = "xcb-util-errors-1.0";
+
builder = ./builder.sh;
+
src = fetchurl {
+
url = http://xcb.freedesktop.org/dist/xcb-util-errors-1.0.tar.bz2;
+
sha256 = "158rm913dg3hxrrhyvvxr8bcm0pjy5jws70dhy2s12w1krv829k8";
+
};
+
buildInputs = [pkgconfig gperf m4 libxcb xcbproto xproto ];
+
}) // {inherit gperf m4 libxcb xcbproto xproto ;};
+
xcbutilimage = (mkDerivation "xcbutilimage" {
name = "xcb-util-image-0.4.0";
builder = ./builder.sh;
···
}) // {inherit ;};
xcmsdb = (mkDerivation "xcmsdb" {
-
name = "xcmsdb-1.0.4";
+
name = "xcmsdb-1.0.5";
builder = ./builder.sh;
src = fetchurl {
-
url = mirror://xorg/X11R7.7/src/everything/xcmsdb-1.0.4.tar.bz2;
-
sha256 = "03ms731l3kvaldq7ycbd30j6134b61i3gbll4b2gl022wyzbjq74";
+
url = mirror://xorg/individual/app/xcmsdb-1.0.5.tar.bz2;
+
sha256 = "1ik7gzlp2igz183x70883000ygp99r20x3aah6xhaslbpdhm6n75";
};
buildInputs = [pkgconfig libX11 ];
}) // {inherit libX11 ;};
+
+
xcompmgr = (mkDerivation "xcompmgr" {
+
name = "xcompmgr-1.1.7";
+
builder = ./builder.sh;
+
src = fetchurl {
+
url = mirror://xorg/individual/app/xcompmgr-1.1.7.tar.bz2;
+
sha256 = "14k89mz13jxgp4h2pz0yq0fbkw1lsfcb3acv8vkknc9i4ld9n168";
+
};
+
buildInputs = [pkgconfig libXcomposite libXdamage libXext libXfixes libXrender ];
+
}) // {inherit libXcomposite libXdamage libXext libXfixes libXrender ;};
xcursorgen = (mkDerivation "xcursorgen" {
name = "xcursorgen-1.0.6";
···
}) // {inherit libX11 libXau libXaw libXdmcp libXext libXft libXinerama libXmu libXpm libXt ;};
xdpyinfo = (mkDerivation "xdpyinfo" {
-
name = "xdpyinfo-1.3.1";
+
name = "xdpyinfo-1.3.2";
builder = ./builder.sh;
src = fetchurl {
-
url = mirror://xorg/individual/app/xdpyinfo-1.3.1.tar.bz2;
-
sha256 = "154b29zlrq33lmni883jgwyrb2kx7z8h52jx1s3ys5x5d582iydf";
+
url = mirror://xorg/individual/app/xdpyinfo-1.3.2.tar.bz2;
+
sha256 = "0ldgrj4w2fa8jng4b3f3biaj0wyn8zvya88pnk70d7k12pcqw8rh";
};
buildInputs = [pkgconfig libdmx libX11 libxcb libXcomposite libXext libXi libXinerama xproto libXrender libXtst libXxf86dga libXxf86misc libXxf86vm ];
}) // {inherit libdmx libX11 libxcb libXcomposite libXext libXi libXinerama xproto libXrender libXtst libXxf86dga libXxf86misc libXxf86vm ;};
xdriinfo = (mkDerivation "xdriinfo" {
-
name = "xdriinfo-1.0.4";
+
name = "xdriinfo-1.0.5";
builder = ./builder.sh;
src = fetchurl {
-
url = mirror://xorg/X11R7.7/src/everything/xdriinfo-1.0.4.tar.bz2;
-
sha256 = "076bjix941znyjmh3j5jjsnhp2gv2iq53d0ks29mvvv87cyy9iim";
+
url = mirror://xorg/individual/app/xdriinfo-1.0.5.tar.bz2;
+
sha256 = "0681d0y8liqakkpz7mmsf689jcxrvs5291r20qi78mc9xxk3gfjc";
};
buildInputs = [pkgconfig glproto libX11 ];
}) // {inherit glproto libX11 ;};
xev = (mkDerivation "xev" {
-
name = "xev-1.2.1";
+
name = "xev-1.2.2";
builder = ./builder.sh;
src = fetchurl {
-
url = mirror://xorg/individual/app/xev-1.2.1.tar.bz2;
-
sha256 = "0hv296mysglcgkx6lj1wxc23kshb2kix1a8yqppxj5vz16mpzw8i";
+
url = mirror://xorg/individual/app/xev-1.2.2.tar.bz2;
+
sha256 = "0krivhrxpq6719103r541xpi3i3a0y15f7ypc4lnrx8sdhmfcjnr";
};
buildInputs = [pkgconfig libX11 xproto libXrandr ];
}) // {inherit libX11 xproto libXrandr ;};
···
}) // {inherit inputproto kbproto xorgserver xproto ;};
xf86inputkeyboard = (mkDerivation "xf86inputkeyboard" {
-
name = "xf86-input-keyboard-1.8.0";
+
name = "xf86-input-keyboard-1.8.1";
builder = ./builder.sh;
src = fetchurl {
-
url = mirror://xorg/individual/driver/xf86-input-keyboard-1.8.0.tar.bz2;
-
sha256 = "0nyb61w30z32djrllgr2s1i13di3vsl6hg4pqjhxdal71971ria1";
+
url = mirror://xorg/individual/driver/xf86-input-keyboard-1.8.1.tar.bz2;
+
sha256 = "04d27kwqq03fc26an6051hs3i0bff8albhnngzyd59wxpwwzzj0s";
};
buildInputs = [pkgconfig inputproto xorgserver xproto ];
}) // {inherit inputproto xorgserver xproto ;};
xf86inputlibinput = (mkDerivation "xf86inputlibinput" {
-
name = "xf86-input-libinput-0.8.0";
+
name = "xf86-input-libinput-0.10.0";
builder = ./builder.sh;
src = fetchurl {
-
url = mirror://xorg/individual/driver/xf86-input-libinput-0.8.0.tar.bz2;
-
sha256 = "0fm4vrkw7azipbnwvc2l18g65z77pllsznaajd8q3zpg9ycb0li1";
+
url = mirror://xorg/individual/driver/xf86-input-libinput-0.10.0.tar.bz2;
+
sha256 = "1w1v83qlr7n4iqgd7grmhx0gbz1fhsnpk88j4a136dk4xmc069x4";
};
buildInputs = [pkgconfig inputproto xorgserver xproto ];
}) // {inherit inputproto xorgserver xproto ;};
···
}) // {inherit inputproto randrproto xorgserver xproto ;};
xf86inputvoid = (mkDerivation "xf86inputvoid" {
-
name = "xf86-input-void-1.4.0";
+
name = "xf86-input-void-1.4.1";
builder = ./builder.sh;
src = fetchurl {
-
url = mirror://xorg/individual/driver/xf86-input-void-1.4.0.tar.bz2;
-
sha256 = "01bmk324fq48wydvy1qrnxbw6qz0fjd0i80g0n4cqr1c4mjmif9a";
+
url = mirror://xorg/individual/driver/xf86-input-void-1.4.1.tar.bz2;
+
sha256 = "171k8b8s42s3w73l7ln9jqwk88w4l7r1km2blx1vy898c854yvpr";
};
buildInputs = [pkgconfig xorgserver xproto ];
}) // {inherit xorgserver xproto ;};
···
}) // {inherit fontsproto glamoregl libdrm udev libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;};
xf86videocirrus = (mkDerivation "xf86videocirrus" {
-
name = "xf86-video-cirrus-1.5.2";
+
name = "xf86-video-cirrus-1.5.3";
builder = ./builder.sh;
src = fetchurl {
-
url = mirror://xorg/individual/driver/xf86-video-cirrus-1.5.2.tar.bz2;
-
sha256 = "1mycqgjp18b6adqj2h90vp324xh8ysyi5migfmjc914vbnkf2q9k";
+
url = mirror://xorg/individual/driver/xf86-video-cirrus-1.5.3.tar.bz2;
+
sha256 = "1asifc6ld2g9kap15vfhvsvyl69lj7pw3d9ra9mi4najllh7pj7d";
};
buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ];
}) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
···
}) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xorgserver xproto ;};
xf86videogeode = (mkDerivation "xf86videogeode" {
-
name = "xf86-video-geode-2.11.16";
+
name = "xf86-video-geode-2.11.17";
builder = ./builder.sh;
src = fetchurl {
-
url = mirror://xorg/individual/driver/xf86-video-geode-2.11.16.tar.bz2;
-
sha256 = "19y13xl7yfrgyis92rmxi0ld95ajgr5il0n9j1dridwzw9aizz1q";
+
url = mirror://xorg/individual/driver/xf86-video-geode-2.11.17.tar.bz2;
+
sha256 = "0h9w6cfj7s86rg72c6qci8f733hg4g7paan5fwmmj7p74ckd9d07";
};
buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ];
}) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
···
}) // {inherit dri2proto dri3proto fontsproto libdrm libpng udev libpciaccess presentproto randrproto renderproto libX11 xcbutil libxcb libXcursor libXdamage libXext xextproto xf86driproto libXfixes xorgserver xproto libXrandr libXrender libxshmfence libXtst libXvMC ;};
xf86videomach64 = (mkDerivation "xf86videomach64" {
-
name = "xf86-video-mach64-6.9.4";
+
name = "xf86-video-mach64-6.9.5";
builder = ./builder.sh;
src = fetchurl {
-
url = mirror://xorg/individual/driver/xf86-video-mach64-6.9.4.tar.bz2;
-
sha256 = "0pl582vnc6hdxqhf5c0qdyanjqxb4crnhqlmxxml5a60syw0iwcp";
+
url = mirror://xorg/individual/driver/xf86-video-mach64-6.9.5.tar.bz2;
+
sha256 = "07xlf5nsjm0x18ij5gyy4lf8hwpl10i8chi3skpqjh84drdri61y";
};
buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ];
}) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;};
···
}) // {inherit fontsproto libdrm udev libpciaccess randrproto libX11 xextproto xorgserver xproto ;};
xf86videoneomagic = (mkDerivation "xf86videoneomagic" {
-
name = "xf86-video-neomagic-1.2.8";
+
name = "xf86-video-neomagic-1.2.9";
builder = ./builder.sh;
src = fetchurl {
-
url = mirror://xorg/individual/driver/xf86-video-neomagic-1.2.8.tar.bz2;
-
sha256 = "0x48sxs1p3kmwk3pq1j7vl93y59gdmgkq1x5xbnh0yal0angdash";
+
url = mirror://xorg/individual/driver/xf86-video-neomagic-1.2.9.tar.bz2;
+
sha256 = "1whb2kgyqaxdjim27ya404acz50izgmafwnb6y9m89q5n6b97y3j";
};
buildInputs = [pkgconfig fontsproto libpciaccess xorgserver xproto ];
}) // {inherit fontsproto libpciaccess xorgserver xproto ;};
···
}) // {inherit fontsproto libdrm udev libpciaccess randrproto renderproto videoproto xf86dgaproto xorgserver xproto ;};
xf86videor128 = (mkDerivation "xf86videor128" {
-
name = "xf86-video-r128-6.9.2";
+
name = "xf86-video-r128-6.10.0";
builder = ./builder.sh;
src = fetchurl {
-
url = mirror://xorg/individual/driver/xf86-video-r128-6.9.2.tar.bz2;
-
sha256 = "1q3fsc603k2yinphx5rrcl5356qkpywwz8axlw277l2231gjjbcb";
+
url = mirror://xorg/individual/driver/xf86-video-r128-6.10.0.tar.bz2;
+
sha256 = "0g9m1n5184h05mq14vb6k288zm6g81a9m048id00l8v8f6h33mc0";
};
buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xf86miscproto xorgserver xproto ];
}) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xf86miscproto xorgserver xproto ;};
xf86videosavage = (mkDerivation "xf86videosavage" {
-
name = "xf86-video-savage-2.3.7";
+
name = "xf86-video-savage-2.3.8";
builder = ./builder.sh;
src = fetchurl {
-
url = mirror://xorg/individual/driver/xf86-video-savage-2.3.7.tar.bz2;
-
sha256 = "0i2aqp68rfkrz9c1p6d7ny9x7bjrlnby7q56zf01fb12r42l4784";
+
url = mirror://xorg/individual/driver/xf86-video-savage-2.3.8.tar.bz2;
+
sha256 = "0qzshncynjdmyhavhqw4x5ha3gwbygi0zbsy158fpg1jcnla9kpx";
};
buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ];
}) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;};
xf86videosiliconmotion = (mkDerivation "xf86videosiliconmotion" {
-
name = "xf86-video-siliconmotion-1.7.7";
+
name = "xf86-video-siliconmotion-1.7.8";
builder = ./builder.sh;
src = fetchurl {
-
url = mirror://xorg/individual/driver/xf86-video-siliconmotion-1.7.7.tar.bz2;
-
sha256 = "1an321kqvsxq0z35acwl99lc8hpdkayw0q180744ypcl8ffvbf47";
+
url = mirror://xorg/individual/driver/xf86-video-siliconmotion-1.7.8.tar.bz2;
+
sha256 = "1sqv0y31mi4zmh9yaxqpzg7p8y2z01j6qys433hb8n4yznllkm79";
};
buildInputs = [pkgconfig fontsproto libpciaccess videoproto xextproto xorgserver xproto ];
}) // {inherit fontsproto libpciaccess videoproto xextproto xorgserver xproto ;};
···
}) // {inherit libXfont xproto xtrans ;};
xgamma = (mkDerivation "xgamma" {
-
name = "xgamma-1.0.5";
+
name = "xgamma-1.0.6";
builder = ./builder.sh;
src = fetchurl {
-
url = mirror://xorg/X11R7.7/src/everything/xgamma-1.0.5.tar.bz2;
-
sha256 = "0463sawps86jnxn121ramsz4sicy3az5wa5wsq4rqm8dm3za48p3";
+
url = mirror://xorg/individual/app/xgamma-1.0.6.tar.bz2;
+
sha256 = "1lr2nb1fhg5fk2fchqxdxyl739602ggwhmgl2wiv5c8qbidw7w8f";
};
-
buildInputs = [pkgconfig libX11 libXxf86vm ];
-
}) // {inherit libX11 libXxf86vm ;};
+
buildInputs = [pkgconfig libX11 xproto libXxf86vm ];
+
}) // {inherit libX11 xproto libXxf86vm ;};
+
+
xgc = (mkDerivation "xgc" {
+
name = "xgc-1.0.5";
+
builder = ./builder.sh;
+
src = fetchurl {
+
url = mirror://xorg/individual/app/xgc-1.0.5.tar.bz2;
+
sha256 = "0pigvjd3i9fchmj1inqy151aafz3dr0vq1h2zizdb2imvadqv0hl";
+
};
+
buildInputs = [pkgconfig libXaw libXt ];
+
}) // {inherit libXaw libXt ;};
xhost = (mkDerivation "xhost" {
-
name = "xhost-1.0.6";
+
name = "xhost-1.0.7";
builder = ./builder.sh;
src = fetchurl {
-
url = mirror://xorg/individual/app/xhost-1.0.6.tar.bz2;
-
sha256 = "1hlxm0is9nks1cx033s1733kkib9ivx2bxa3pb9yayqavwibkxd6";
+
url = mirror://xorg/individual/app/xhost-1.0.7.tar.bz2;
+
sha256 = "16n26xw6l01zq31d4qvsaz50misvizhn7iihzdn5f7s72pp1krlk";
};
buildInputs = [pkgconfig libX11 libXau libXmu xproto ];
}) // {inherit libX11 libXau libXmu xproto ;};
···
}) // {inherit libX11 libxkbfile xproto ;};
xkbevd = (mkDerivation "xkbevd" {
-
name = "xkbevd-1.1.3";
+
name = "xkbevd-1.1.4";
builder = ./builder.sh;
src = fetchurl {
-
url = mirror://xorg/X11R7.7/src/everything/xkbevd-1.1.3.tar.bz2;
-
sha256 = "05h1xcnbalndbrryyqs8wzy9h3wz655vc0ymhlk2q4aik17licjm";
+
url = mirror://xorg/individual/app/xkbevd-1.1.4.tar.bz2;
+
sha256 = "0sprjx8i86ljk0l7ldzbz2xlk8916z5zh78cafjv8k1a63js4c14";
};
buildInputs = [pkgconfig libX11 libxkbfile ];
}) // {inherit libX11 libxkbfile ;};
xkbprint = (mkDerivation "xkbprint" {
-
name = "xkbprint-1.0.3";
+
name = "xkbprint-1.0.4";
builder = ./builder.sh;
src = fetchurl {
-
url = mirror://xorg/individual/app/xkbprint-1.0.3.tar.bz2;
-
sha256 = "1h4jb3gjrbjp79h5gcgkjvdxykcy2bmq03smpls820c8wnw6v17s";
+
url = mirror://xorg/individual/app/xkbprint-1.0.4.tar.bz2;
+
sha256 = "04iyv5z8aqhabv7wcpvbvq0ji0jrz1666vw6gvxkvl7szswalgqb";
};
-
buildInputs = [pkgconfig libX11 libxkbfile ];
-
}) // {inherit libX11 libxkbfile ;};
+
buildInputs = [pkgconfig libX11 libxkbfile xproto ];
+
}) // {inherit libX11 libxkbfile xproto ;};
xkbutils = (mkDerivation "xkbutils" {
name = "xkbutils-1.0.4";
···
}) // {inherit libX11 libXmu xproto ;};
xlsatoms = (mkDerivation "xlsatoms" {
-
name = "xlsatoms-1.1.1";
+
name = "xlsatoms-1.1.2";
builder = ./builder.sh;
src = fetchurl {
-
url = mirror://xorg/X11R7.7/src/everything/xlsatoms-1.1.1.tar.bz2;
-
sha256 = "1y9nfl8s7njxbnci8c20j986xixharasgg40vdw92y593j6dk2rv";
+
url = mirror://xorg/individual/app/xlsatoms-1.1.2.tar.bz2;
+
sha256 = "196yjik910xsr7dwy8daa0amr0r22ynfs360z0ndp9mx7mydrra7";
};
buildInputs = [pkgconfig libxcb ];
}) // {inherit libxcb ;};
···
buildInputs = [pkgconfig libxcb ];
}) // {inherit libxcb ;};
+
xlsfonts = (mkDerivation "xlsfonts" {
+
name = "xlsfonts-1.0.5";
+
builder = ./builder.sh;
+
src = fetchurl {
+
url = mirror://xorg/individual/app/xlsfonts-1.0.5.tar.bz2;
+
sha256 = "1yi774g6r1kafsbnxbkrwyndd3i60362ck1fps9ywz076pn5naa0";
+
};
+
buildInputs = [pkgconfig libX11 xproto ];
+
}) // {inherit libX11 xproto ;};
+
+
xmag = (mkDerivation "xmag" {
+
name = "xmag-1.0.6";
+
builder = ./builder.sh;
+
src = fetchurl {
+
url = mirror://xorg/individual/app/xmag-1.0.6.tar.bz2;
+
sha256 = "0qg12ifbbk9n8fh4jmyb625cknn8ssj86chd6zwdiqjin8ivr8l7";
+
};
+
buildInputs = [pkgconfig libX11 libXaw libXmu libXt ];
+
}) // {inherit libX11 libXaw libXmu libXt ;};
+
xmessage = (mkDerivation "xmessage" {
name = "xmessage-1.0.4";
builder = ./builder.sh;
···
}) // {inherit libXaw libXt ;};
xmodmap = (mkDerivation "xmodmap" {
-
name = "xmodmap-1.0.8";
+
name = "xmodmap-1.0.9";
builder = ./builder.sh;
src = fetchurl {
-
url = mirror://xorg/individual/app/xmodmap-1.0.8.tar.bz2;
-
sha256 = "1hwzm54m4ng09ls9i4bq0x84zbyhamgzasgrvhxxp8jqk34f7qpg";
+
url = mirror://xorg/individual/app/xmodmap-1.0.9.tar.bz2;
+
sha256 = "0y649an3jqfq9klkp9y5gj20xb78fw6g193f5mnzpl0hbz6fbc5p";
};
buildInputs = [pkgconfig libX11 xproto ];
}) // {inherit libX11 xproto ;};
···
}) // {inherit ;};
xorgdocs = (mkDerivation "xorgdocs" {
-
name = "xorg-docs-1.7";
+
name = "xorg-docs-1.7.1";
builder = ./builder.sh;
src = fetchurl {
-
url = mirror://xorg/X11R7.7/src/everything/xorg-docs-1.7.tar.bz2;
-
sha256 = "0prphdba6kgr1bxk7r07wxxx6x6pqjw6prr5qclypsb5sf5r3cdr";
+
url = mirror://xorg/individual/doc/xorg-docs-1.7.1.tar.bz2;
+
sha256 = "0jrc4jmb4raqawx0j9jmhgasr0k6sxv0bm2hrxjh9hb26iy6gf14";
};
buildInputs = [pkgconfig ];
}) // {inherit ;};
xorgserver = (mkDerivation "xorgserver" {
-
name = "xorg-server-1.16.4";
+
name = "xorg-server-1.17.2";
builder = ./builder.sh;
src = fetchurl {
-
url = mirror://xorg/individual/xserver/xorg-server-1.16.4.tar.bz2;
-
sha256 = "0wf8xykcjhvpk9ppjcixvf60p6kkyrpmfj0z29d93a8kjb6f3dmb";
+
url = mirror://xorg/individual/xserver/xorg-server-1.17.2.tar.bz2;
+
sha256 = "14vr4mm0x94a9bd3sfx9mdh8qhvk48zcml3i8q1wbwi84xhj04gn";
};
-
buildInputs = [pkgconfig dri2proto dri3proto renderproto libdrm openssl libX11 libXau libXaw libxcb xcbutil xcbutilwm xcbutilimage xcbutilkeysyms libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libxshmfence libXt ];
-
}) // {inherit dri2proto dri3proto renderproto libdrm openssl libX11 libXau libXaw libxcb xcbutil xcbutilwm xcbutilimage xcbutilkeysyms libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libxshmfence libXt ;};
+
buildInputs = [pkgconfig dri2proto dri3proto renderproto libdrm openssl libX11 libXau libXaw libxcb xcbutil xcbutilwm xcbutilimage xcbutilkeysyms libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libxshmfence libXt xcbutilrenderutil];
+
}) // {inherit dri2proto dri3proto renderproto libdrm openssl libX11 libXau libXaw libxcb xcbutil xcbutilwm xcbutilimage xcbutilkeysyms libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libxshmfence libXt xcbutilrenderutil;};
xorgsgmldoctools = (mkDerivation "xorgsgmldoctools" {
name = "xorg-sgml-doctools-1.11";
···
}) // {inherit ;};
xvinfo = (mkDerivation "xvinfo" {
-
name = "xvinfo-1.1.2";
+
name = "xvinfo-1.1.3";
builder = ./builder.sh;
src = fetchurl {
-
url = mirror://xorg/individual/app/xvinfo-1.1.2.tar.bz2;
-
sha256 = "1qsh7fszi727l3vwlaf9pb7bpikdv15smrx5qhlgg3kqzl7xklzf";
+
url = mirror://xorg/individual/app/xvinfo-1.1.3.tar.bz2;
+
sha256 = "1sz5wqhxd1fqsfi1w5advdlwzkizf2fgl12hdpk66f7mv9l8pflz";
};
buildInputs = [pkgconfig libX11 xproto libXv ];
}) // {inherit libX11 xproto libXv ;};
+1
pkgs/servers/x11/xorg/extra.list
···
http://xcb.freedesktop.org/dist/xcb-util-keysyms-0.4.0.tar.bz2
http://xcb.freedesktop.org/dist/xcb-util-renderutil-0.3.9.tar.bz2
http://xcb.freedesktop.org/dist/xcb-util-wm-0.4.1.tar.bz2
+
http://xcb.freedesktop.org/dist/xcb-util-errors-1.0.tar.bz2
+3
pkgs/servers/x11/xorg/overrides.nix
···
patchPhase = "sed -i '/USE_GETTEXT_TRUE/d' sxpm/Makefile.in cxpm/Makefile.in";
};
+
libXpresent = attrs: attrs
+
// { buildInputs = with xorg; attrs.buildInputs ++ [ libXext libXfixes libXrandr ]; };
+
setxkbmap = attrs: attrs // {
postInstall =
''
+41 -35
pkgs/servers/x11/xorg/tarballs-7.7.list
···
mirror://xorg/individual/proto/glproto-1.4.17.tar.bz2
mirror://xorg/individual/app/iceauth-1.0.7.tar.bz2
mirror://xorg/individual/proto/inputproto-2.3.1.tar.bz2
-
mirror://xorg/X11R7.7/src/everything/kbproto-1.0.6.tar.bz2
+
mirror://xorg/individual/proto/kbproto-1.0.7.tar.bz2
mirror://xorg/X11R7.7/src/everything/libAppleWM-1.4.1.tar.bz2
mirror://xorg/individual/lib/libdmx-1.1.3.tar.bz2
mirror://xorg/individual/lib/libxshmfence-1.2.tar.bz2
-
mirror://xorg/individual/lib/libfontenc-1.1.2.tar.bz2
-
mirror://xorg/individual/lib/libFS-1.0.6.tar.bz2
+
mirror://xorg/individual/lib/libfontenc-1.1.3.tar.bz2
+
mirror://xorg/individual/lib/libFS-1.0.7.tar.bz2
mirror://xorg/individual/lib/libICE-1.0.9.tar.bz2
-
mirror://xorg/individual/lib/libpciaccess-0.13.3.tar.bz2
+
mirror://xorg/individual/lib/libpciaccess-0.13.4.tar.bz2
mirror://xorg/individual/lib/libSM-1.2.2.tar.bz2
mirror://xorg/X11R7.7/src/everything/libWindowsWM-1.0.1.tar.bz2
mirror://xorg/individual/lib/libX11-1.6.3.tar.bz2
mirror://xorg/individual/lib/libXau-1.0.8.tar.bz2
-
mirror://xorg/individual/lib/libXaw-1.0.12.tar.bz2
+
mirror://xorg/individual/lib/libXaw-1.0.13.tar.bz2
mirror://xorg/individual/lib/libXcomposite-0.4.4.tar.bz2
mirror://xorg/individual/lib/libXcursor-1.1.14.tar.bz2
mirror://xorg/individual/lib/libXdamage-1.1.4.tar.bz2
···
mirror://xorg/individual/lib/libXft-2.3.2.tar.bz2
mirror://xorg/individual/lib/libXi-1.7.4.tar.bz2
mirror://xorg/individual/lib/libXinerama-1.1.3.tar.bz2
-
mirror://xorg/X11R7.7/src/everything/libxkbfile-1.0.8.tar.bz2
+
mirror://xorg/individual/lib/libxkbfile-1.0.9.tar.bz2
mirror://xorg/individual/lib/libXmu-1.1.2.tar.bz2
mirror://xorg/individual/lib/libXpm-3.5.11.tar.bz2
-
mirror://xorg/individual/lib/libXrandr-1.4.2.tar.bz2
-
mirror://xorg/individual/lib/libXrender-0.9.8.tar.bz2
+
mirror://xorg/individual/lib/libXpresent-1.0.0.tar.bz2
+
mirror://xorg/individual/lib/libXrandr-1.5.0.tar.bz2
+
mirror://xorg/individual/lib/libXrender-0.9.9.tar.bz2
mirror://xorg/individual/lib/libXres-1.0.7.tar.bz2
mirror://xorg/X11R7.7/src/everything/libXScrnSaver-1.2.2.tar.bz2
-
mirror://xorg/individual/lib/libXt-1.1.4.tar.bz2
+
mirror://xorg/individual/lib/libXt-1.1.5.tar.bz2
mirror://xorg/individual/lib/libXtst-1.2.2.tar.bz2
mirror://xorg/individual/lib/libXv-1.0.10.tar.bz2
mirror://xorg/individual/lib/libXvMC-1.0.9.tar.bz2
···
mirror://xorg/individual/util/makedepend-1.0.5.tar.bz2
mirror://xorg/X11R7.7/src/everything/mkfontdir-1.0.7.tar.bz2
mirror://xorg/individual/app/mkfontscale-1.1.2.tar.bz2
-
mirror://xorg/individual/proto/randrproto-1.4.1.tar.bz2
+
mirror://xorg/individual/proto/randrproto-1.5.0.tar.bz2
mirror://xorg/X11R7.7/src/everything/recordproto-1.14.2.tar.bz2
mirror://xorg/X11R7.7/src/everything/renderproto-0.11.1.tar.bz2
mirror://xorg/X11R7.7/src/everything/resourceproto-1.2.0.tar.bz2
mirror://xorg/X11R7.7/src/everything/scrnsaverproto-1.2.2.tar.bz2
mirror://xorg/individual/app/sessreg-1.1.0.tar.bz2
-
mirror://xorg/X11R7.7/src/everything/setxkbmap-1.3.0.tar.bz2
-
mirror://xorg/X11R7.7/src/everything/smproxy-1.0.5.tar.bz2
+
mirror://xorg/individual/app/setxkbmap-1.3.1.tar.bz2
+
mirror://xorg/individual/app/smproxy-1.0.6.tar.bz2
+
mirror://xorg/individual/app/twm-1.0.9.tar.bz2
mirror://xorg/individual/util/util-macros-1.19.0.tar.bz2
mirror://xorg/individual/proto/videoproto-2.3.2.tar.bz2
mirror://xorg/X11R7.7/src/everything/windowswmproto-1.0.4.tar.bz2
-
mirror://xorg/X11R7.7/src/everything/x11perf-1.5.4.tar.bz2
+
mirror://xorg/individual/app/x11perf-1.6.0.tar.bz2
mirror://xorg/individual/app/xauth-1.0.9.tar.bz2
mirror://xorg/individual/app/xbacklight-1.2.1.tar.bz2
mirror://xorg/X11R7.7/src/everything/xbitmaps-1.1.1.tar.bz2
mirror://xorg/X11R7.7/src/everything/xcmiscproto-1.2.2.tar.bz2
-
mirror://xorg/X11R7.7/src/everything/xcmsdb-1.0.4.tar.bz2
+
mirror://xorg/individual/app/xcmsdb-1.0.5.tar.bz2
+
mirror://xorg/individual/app/xcompmgr-1.1.7.tar.bz2
mirror://xorg/individual/app/xcursorgen-1.0.6.tar.bz2
mirror://xorg/individual/data/xcursor-themes-1.0.4.tar.bz2
-
mirror://xorg/individual/app/xdpyinfo-1.3.1.tar.bz2
-
mirror://xorg/X11R7.7/src/everything/xdriinfo-1.0.4.tar.bz2
-
mirror://xorg/individual/app/xev-1.2.1.tar.bz2
+
mirror://xorg/individual/app/xdpyinfo-1.3.2.tar.bz2
+
mirror://xorg/individual/app/xdriinfo-1.0.5.tar.bz2
+
mirror://xorg/individual/app/xev-1.2.2.tar.bz2
mirror://xorg/individual/proto/xextproto-7.3.0.tar.bz2
mirror://xorg/X11R7.7/src/everything/xf86bigfontproto-1.2.0.tar.bz2
mirror://xorg/X11R7.7/src/everything/xf86dgaproto-2.1.tar.bz2
mirror://xorg/X11R7.7/src/everything/xf86driproto-2.1.1.tar.bz2
mirror://xorg/individual/driver/xf86-input-evdev-2.9.2.tar.bz2
mirror://xorg/individual/driver/xf86-input-joystick-1.6.2.tar.bz2
-
mirror://xorg/individual/driver/xf86-input-keyboard-1.8.0.tar.bz2
-
mirror://xorg/individual/driver/xf86-input-libinput-0.8.0.tar.bz2
+
mirror://xorg/individual/driver/xf86-input-keyboard-1.8.1.tar.bz2
+
mirror://xorg/individual/driver/xf86-input-libinput-0.10.0.tar.bz2
mirror://xorg/individual/driver/xf86-input-mouse-1.9.1.tar.bz2
mirror://xorg/individual/driver/xf86-input-synaptics-1.8.2.tar.bz2
mirror://xorg/individual/driver/xf86-input-vmmouse-13.0.0.tar.bz2
-
mirror://xorg/individual/driver/xf86-input-void-1.4.0.tar.bz2
+
mirror://xorg/individual/driver/xf86-input-void-1.4.1.tar.bz2
mirror://xorg/individual/driver/xf86-video-ark-0.7.5.tar.bz2
mirror://xorg/individual/driver/xf86-video-ast-0.98.0.tar.bz2
mirror://xorg/individual/driver/xf86-video-ati-7.5.0.tar.bz2
mirror://xorg/individual/driver/glamor-egl-0.6.0.tar.bz2
mirror://xorg/individual/driver/xf86-video-nouveau-1.0.11.tar.bz2
-
mirror://xorg/individual/driver/xf86-video-cirrus-1.5.2.tar.bz2
+
mirror://xorg/individual/driver/xf86-video-cirrus-1.5.3.tar.bz2
mirror://xorg/individual/driver/xf86-video-dummy-0.3.7.tar.bz2
mirror://xorg/individual/driver/xf86-video-fbdev-0.4.4.tar.bz2
-
mirror://xorg/individual/driver/xf86-video-geode-2.11.16.tar.bz2
+
mirror://xorg/individual/driver/xf86-video-geode-2.11.17.tar.bz2
mirror://xorg/individual/driver/xf86-video-glide-1.2.2.tar.bz2
mirror://xorg/individual/driver/xf86-video-glint-1.2.8.tar.bz2
mirror://xorg/individual/driver/xf86-video-i128-1.3.6.tar.bz2
mirror://xorg/individual/driver/xf86-video-i740-1.3.5.tar.bz2
mirror://xorg/individual/driver/xf86-video-intel-2.99.917.tar.bz2
-
mirror://xorg/individual/driver/xf86-video-mach64-6.9.4.tar.bz2
+
mirror://xorg/individual/driver/xf86-video-mach64-6.9.5.tar.bz2
mirror://xorg/individual/driver/xf86-video-mga-1.6.4.tar.bz2
mirror://xorg/individual/driver/xf86-video-modesetting-0.9.0.tar.bz2
mirror://xorg/individual/driver/xf86-video-qxl-0.1.3.tar.bz2
-
mirror://xorg/individual/driver/xf86-video-neomagic-1.2.8.tar.bz2
+
mirror://xorg/individual/driver/xf86-video-neomagic-1.2.9.tar.bz2
mirror://xorg/X11R7.7/src/everything/xf86-video-newport-0.2.4.tar.bz2
mirror://xorg/individual/driver/xf86-video-nv-2.1.20.tar.bz2
mirror://xorg/individual/driver/xf86-video-openchrome-0.3.3.tar.bz2
-
mirror://xorg/individual/driver/xf86-video-r128-6.9.2.tar.bz2
-
mirror://xorg/individual/driver/xf86-video-savage-2.3.7.tar.bz2
-
mirror://xorg/individual/driver/xf86-video-siliconmotion-1.7.7.tar.bz2
+
mirror://xorg/individual/driver/xf86-video-r128-6.10.0.tar.bz2
+
mirror://xorg/individual/driver/xf86-video-savage-2.3.8.tar.bz2
+
mirror://xorg/individual/driver/xf86-video-siliconmotion-1.7.8.tar.bz2
mirror://xorg/individual/driver/xf86-video-sis-0.10.7.tar.bz2
mirror://xorg/individual/driver/xf86-video-suncg6-1.1.2.tar.bz2
mirror://xorg/individual/driver/xf86-video-sunffb-1.2.2.tar.bz2
···
mirror://xorg/individual/driver/xf86-video-voodoo-1.2.5.tar.bz2
mirror://xorg/X11R7.7/src/everything/xf86-video-wsfb-0.4.0.tar.bz2
mirror://xorg/X11R7.7/src/everything/xf86vidmodeproto-2.3.1.tar.bz2
-
mirror://xorg/X11R7.7/src/everything/xgamma-1.0.5.tar.bz2
-
mirror://xorg/individual/app/xhost-1.0.6.tar.bz2
+
mirror://xorg/individual/app/xgamma-1.0.6.tar.bz2
+
mirror://xorg/individual/app/xgc-1.0.5.tar.bz2
+
mirror://xorg/individual/app/xhost-1.0.7.tar.bz2
mirror://xorg/X11R7.7/src/everything/xineramaproto-1.2.1.tar.bz2
mirror://xorg/individual/app/xinput-1.6.1.tar.bz2
mirror://xorg/individual/app/xkbcomp-1.3.0.tar.bz2
-
mirror://xorg/X11R7.7/src/everything/xkbevd-1.1.3.tar.bz2
+
mirror://xorg/individual/app/xkbevd-1.1.4.tar.bz2
mirror://xorg/individual/app/xkbutils-1.0.4.tar.bz2
mirror://xorg/individual/data/xkeyboard-config/xkeyboard-config-2.11.tar.bz2
mirror://xorg/individual/app/xkill-1.0.4.tar.bz2
-
mirror://xorg/X11R7.7/src/everything/xlsatoms-1.1.1.tar.bz2
+
mirror://xorg/individual/app/xlsatoms-1.1.2.tar.bz2
mirror://xorg/individual/app/xlsclients-1.1.3.tar.bz2
-
mirror://xorg/individual/app/xmodmap-1.0.8.tar.bz2
-
mirror://xorg/X11R7.7/src/everything/xorg-docs-1.7.tar.bz2
+
mirror://xorg/individual/app/xlsfonts-1.0.5.tar.bz2
+
mirror://xorg/individual/app/xmag-1.0.6.tar.bz2
+
mirror://xorg/individual/app/xmodmap-1.0.9.tar.bz2
+
mirror://xorg/individual/doc/xorg-docs-1.7.1.tar.bz2
mirror://xorg/individual/xserver/xorg-server-1.16.4.tar.bz2
mirror://xorg/X11R7.7/src/everything/xorg-sgml-doctools-1.11.tar.bz2
mirror://xorg/X11R7.7/src/everything/xpr-1.0.4.tar.bz2
···
mirror://xorg/individual/app/xset-1.2.3.tar.bz2
mirror://xorg/X11R7.7/src/everything/xsetroot-1.1.0.tar.bz2
mirror://xorg/individual/lib/xtrans-1.3.5.tar.bz2
-
mirror://xorg/individual/app/xvinfo-1.1.2.tar.bz2
+
mirror://xorg/individual/app/xvinfo-1.1.3.tar.bz2
mirror://xorg/individual/app/xwd-1.0.6.tar.bz2
mirror://xorg/individual/app/xwininfo-1.1.3.tar.bz2
mirror://xorg/X11R7.7/src/everything/xwud-1.0.4.tar.bz2
-
mirror://xorg/individual/app/xkbprint-1.0.3.tar.bz2
+
mirror://xorg/individual/app/xkbprint-1.0.4.tar.bz2
+1 -1
pkgs/servers/x11/xorg/xwayland.nix
···
"--with-default-font-path="
"--with-xkb-bin-directory=${xkbcomp}/bin"
"--with-xkb-path=${xkeyboard_config}/etc/X11/xkb"
-
"--with-xkb-output=$out/share/X11/xkb/compiled"
+
"--with-xkb-output=$(out)/share/X11/xkb/compiled"
];
postInstall = ''
+6
pkgs/shells/bash/bash-4.3-patches.nix
···
(patch "031" "07d62bl3z7qa8v6kgk47vzzazw563mlk9zhrsr4xsbqgvmcrylnd")
(patch "032" "0jjgapfq4qhmndfrw8c3q3lva8xjdhlbd9cc631v41b0kb95g4w8")
(patch "033" "05ma5rlxiadnfh925p4y7s0vvk917kmsdb1mfdx05gizl63pfapv")
+
(patch "034" "12gq9whkq3naa3iy7c7x5pfpvrg7d0kwqld8609zxphhy424ysgi")
+
(patch "035" "1qy1jflmbazjykq766gwabkaiswnx7pwa66whqiny0w02zjqa39p")
+
(patch "036" "0z6jbyy70lfdm6d3x0sbazbqdxb3xnpn9bmz7madpvrnbd284pxc")
+
(patch "037" "04sqr8zkl6s5fccfvb775ppn3ldij5imria9swc39aq0fkfp1w9k")
+
(patch "038" "0rv3g14mpgv8br267bf7rmgqlgwnc4v6g3g8y0sjba571i8amgmd")
+
(patch "039" "1v3l3vkc3g2b6fjycqwlakr8xhiw6bmw6q0zd6bi0m0m4bnxr55b")
]
+2 -2
pkgs/stdenv/darwin/default.nix
···
shell = "/bin/bash";
initialPath = [ bootstrapTools ];
fetchurlBoot = fetchurl;
-
cc = "/no-such-path";
+
cc = null;
};
};
···
inherit system config;
inherit (stage1.stdenv) shell fetchurlBoot preHook cc;
-
initialPath = [ stage1.pkgs.xz ] ++ stage1.stdenv.initialPath;
+
initialPath = [ stage1.pkgs.xz stage1.pkgs.gnused ] ++ stage1.stdenv.initialPath;
};
pkgs = allPackages {
inherit system platform;
+2 -1
pkgs/stdenv/darwin/trivial-bootstrap.sh
···
ln -s $mkdir
ln -s /bin/sh
ln -s /bin/cp
+
ln -s /bin/dd
ln -s /bin/mv
ln -s /bin/rm
ln -s /bin/ls
···
ln -s /usr/bin/install
ln -s /usr/bin/basename
ln -s /usr/bin/dirname
-
ln -s /usr/bin/readlink
+
ln -s /usr/bin/readlink
+6
pkgs/stdenv/default.nix
···
# Darwin standard environment.
stdenvDarwin = (import ./darwin { inherit system allPackages platform config;}).stdenvDarwin;
+
# Pure Darwin standard environment. Allows building with the sandbox enabled. To use,
+
# you can add this to your nixpkgs config:
+
#
+
# replaceStdenv = {pkgs}: pkgs.allStdenvs.stdenvDarwinPure
+
stdenvDarwinPure = (import ./pure-darwin { inherit system allPackages platform config;}).stage5;
+
# Select the appropriate stdenv for the platform `system'.
stdenv =
if system == "i686-linux" then stdenvLinux else
+33 -3
pkgs/stdenv/generic/default.nix
···
, setupScript ? ./setup.sh
, extraBuildInputs ? []
+
, __stdenvImpureHostDeps ? []
+
, __extraImpureHostDeps ? []
}:
let
···
whitelist = config.whitelistedLicenses or [];
blacklist = config.blacklistedLicenses or [];
+
+
ifDarwin = attrs: if system == "x86_64-darwin" then attrs else {};
onlyLicenses = list:
lib.lists.all (license:
···
assert licenseAllowed attrs;
lib.addPassthru (derivation (
-
(removeAttrs attrs ["meta" "passthru" "crossAttrs" "pos"])
-
//
+
(removeAttrs attrs
+
["meta" "passthru" "crossAttrs" "pos"
+
"__impureHostDeps" "__propagatedImpureHostDeps"])
+
// (let
+
buildInputs = attrs.buildInputs or [];
+
nativeBuildInputs = attrs.nativeBuildInputs or [];
+
propagatedBuildInputs = attrs.propagatedBuildInputs or [];
+
propagatedNativeBuildInputs = attrs.propagatedNativeBuildInputs or [];
+
crossConfig = attrs.crossConfig or null;
+
+
__impureHostDeps = attrs.__impureHostDeps or [];
+
__propagatedImpureHostDeps = attrs.__propagatedImpureHostDeps or [];
+
+
# TODO: remove lib.unique once nix has a list canonicalization primitive
+
computedImpureHostDeps = lib.unique (lib.concatMap (input: input.__propagatedImpureHostDeps or []) (extraBuildInputs ++ buildInputs ++ nativeBuildInputs));
+
computedPropagatedImpureHostDeps = lib.unique (lib.concatMap (input: input.__propagatedImpureHostDeps or []) (propagatedBuildInputs ++ propagatedNativeBuildInputs));
+
in
{
builder = attrs.realBuilder or shell;
args = attrs.args or ["-e" (attrs.builder or ./default-builder.sh)];
···
nativeBuildInputs = nativeBuildInputs ++ (if crossConfig == null then buildInputs else []);
propagatedNativeBuildInputs = propagatedNativeBuildInputs ++
(if crossConfig == null then propagatedBuildInputs else []);
-
})) (
+
} // ifDarwin {
+
__impureHostDeps = computedImpureHostDeps ++ computedPropagatedImpureHostDeps ++ __propagatedImpureHostDeps ++ __impureHostDeps ++ __extraImpureHostDeps ++ [
+
"/dev/zero"
+
"/dev/random"
+
"/dev/urandom"
+
"/bin/sh"
+
];
+
__propagatedImpureHostDeps = computedPropagatedImpureHostDeps ++ __propagatedImpureHostDeps;
+
}))) (
{
# The meta attribute is passed in the resulting attribute set,
# but it's not part of the actual derivation, i.e., it's not
···
setup = setupScript;
inherit preHook initialPath shell defaultNativeBuildInputs;
+
}
+
// ifDarwin {
+
__impureHostDeps = __stdenvImpureHostDeps;
})
// rec {
+43 -35
pkgs/stdenv/generic/setup.sh
···
if [[ "$hookName" =~ Hook$ ]]; then var+=s; else var+=Hooks; fi
eval "local -a dummy=(\"\${$var[@]}\")"
for hook in "_callImplicitHook 0 $hookName" "${dummy[@]}"; do
-
if ! _eval "$hook" "$@"; then return 1; fi
+
_eval "$hook" "$@"
done
return 0
}
···
else
eval "$code"
fi
+
}
+
+
+
######################################################################
+
# Logging.
+
+
nestingLevel=0
+
+
startNest() {
+
nestingLevel=$(($nestingLevel + 1))
+
echo -en "\033[$1p"
+
}
+
+
stopNest() {
+
nestingLevel=$(($nestingLevel - 1))
+
echo -en "\033[q"
+
}
+
+
header() {
+
startNest "$2"
+
echo "$1"
+
}
+
+
# Make sure that even when we exit abnormally, the original nesting
+
# level is properly restored.
+
closeNest() {
+
while [ $nestingLevel -gt 0 ]; do
+
stopNest
+
done
}
···
# Recursively find all build inputs.
findInputs() {
-
local pkg=$1
+
local pkg="$1"
local var=$2
local propagatedBuildInputsFile=$3
···
eval $var="'${!var} $pkg '"
-
if [ -f $pkg ]; then
-
source $pkg
+
if ! [ -e "$pkg" ]; then
+
echo "build input $pkg does not exist" >&2
+
exit 1
fi
-
if [ -f $pkg/nix-support/setup-hook ]; then
-
source $pkg/nix-support/setup-hook
+
if [ -f "$pkg" ]; then
+
source "$pkg"
+
fi
+
+
if [ -f "$pkg/nix-support/setup-hook" ]; then
+
source "$pkg/nix-support/setup-hook"
fi
-
if [ -f $pkg/nix-support/$propagatedBuildInputsFile ]; then
-
for i in $(cat $pkg/nix-support/$propagatedBuildInputsFile); do
-
findInputs $i $var $propagatedBuildInputsFile
+
if [ -f "$pkg/nix-support/$propagatedBuildInputsFile" ]; then
+
for i in $(cat "$pkg/nix-support/$propagatedBuildInputsFile"); do
+
findInputs "$i" $var $propagatedBuildInputsFile
done
fi
}
···
######################################################################
# What follows is the generic builder.
-
-
-
nestingLevel=0
-
-
startNest() {
-
nestingLevel=$(($nestingLevel + 1))
-
echo -en "\033[$1p"
-
}
-
-
stopNest() {
-
nestingLevel=$(($nestingLevel - 1))
-
echo -en "\033[q"
-
}
-
-
header() {
-
startNest "$2"
-
echo "$1"
-
}
-
-
# Make sure that even when we exit abnormally, the original nesting
-
# level is properly restored.
-
closeNest() {
-
while [ $nestingLevel -gt 0 ]; do
-
stopNest
-
done
-
}
# This function is useful for debugging broken Nix builds. It dumps
+11 -5
pkgs/stdenv/linux/default.nix
···
};
cc = if isNull gccPlain
-
then "/no-such-path"
+
then null
else lib.makeOverridable (import ../../build-support/cc-wrapper) {
nativeTools = false;
nativeLibc = false;
···
coreutils = bootstrapTools;
name = "bootstrap-gcc-wrapper";
-
overrides = pkgs: {
+
overrides = pkgs: rec {
inherit (stage2.pkgs) binutils glibc perl patchelf linuxHeaders;
# Link GCC statically against GMP etc. This makes sense because
# these builds of the libraries are only used by GCC, so it
···
gmp = pkgs.gmp.override { stdenv = pkgs.makeStaticLibraries pkgs.stdenv; };
mpfr = pkgs.mpfr.override { stdenv = pkgs.makeStaticLibraries pkgs.stdenv; };
libmpc = pkgs.libmpc.override { stdenv = pkgs.makeStaticLibraries pkgs.stdenv; };
-
isl = pkgs.isl.override { stdenv = pkgs.makeStaticLibraries pkgs.stdenv; };
-
cloog = pkgs.cloog.override { stdenv = pkgs.makeStaticLibraries pkgs.stdenv; };
-
gccPlain = pkgs.gcc.cc;
+
isl_0_11 = pkgs.isl_0_11.override { stdenv = pkgs.makeStaticLibraries pkgs.stdenv; };
+
cloog_0_18_0 = pkgs.cloog_0_18_0.override {
+
stdenv = pkgs.makeStaticLibraries pkgs.stdenv;
+
isl = isl_0_11;
+
};
+
gccPlain = pkgs.gcc.cc.override {
+
isl = isl_0_11;
+
cloog = cloog_0_18_0;
+
};
};
extraBuildInputs = [ stage2.pkgs.patchelf stage2.pkgs.paxctl ];
};
+1 -1
pkgs/stdenv/native/default.nix
···
stdenvBoot0 = makeStdenv {
-
cc = "/no-such-path";
+
cc = null;
fetchurl = null;
};
+299
pkgs/stdenv/pure-darwin/default.nix
···
+
{ system ? builtins.currentSystem
+
, allPackages ? import ../../top-level/all-packages.nix
+
, platform ? null
+
, config ? {}
+
}:
+
+
let
+
# libSystem and its transitive dependencies. Get used to this; it's a recurring theme in darwin land
+
libSystemClosure = [
+
"/usr/lib/libSystem.dylib"
+
"/usr/lib/libSystem.B.dylib"
+
"/usr/lib/libobjc.A.dylib"
+
"/usr/lib/libobjc.dylib"
+
"/usr/lib/libauto.dylib"
+
"/usr/lib/libc++abi.dylib"
+
"/usr/lib/libc++.1.dylib"
+
"/usr/lib/libDiagnosticMessagesClient.dylib"
+
"/usr/lib/system"
+
];
+
+
fetch = { file, sha256 }: derivation ((import <nix/fetchurl.nix> {
+
url = "https://dl.dropboxusercontent.com/u/2857322/${file}";
+
inherit sha256;
+
executable = true;
+
}).drvAttrs // {
+
__impureHostDeps = libSystemClosure;
+
});
+
+
bootstrapFiles = {
+
sh = fetch { file = "sh"; sha256 = "1qakpg37vl61jnkplz13m3g1csqr85cg8ybp6jwiv6apmg26isnm"; };
+
bzip2 = fetch { file = "bzip2"; sha256 = "1gxa67255q9v00j1vn1mzyrnbwys2g1102cx02vpcyvvrl4vqxr0"; };
+
mkdir = fetch { file = "mkdir"; sha256 = "1yfl8w65ksji7fggrbvqxw8lp0gm02qilk11n9axj2jxay53ngvg"; };
+
cpio = fetch { file = "cpio"; sha256 = "0nssyg19smgcblwq1mfcw4djbd85md84d2f093qcqkbigdjg484b"; };
+
};
+
tarball = fetch { file = "bootstrap-tools.9.cpio.bz2"; sha256 = "0fd79k7gy3z3sba5w4f4lnrcpiwff31vw02480x1pdry8bbgbf2j"; };
+
in rec {
+
allPackages = import ../../top-level/all-packages.nix;
+
+
commonPreHook = ''
+
export NIX_ENFORCE_PURITY=1
+
export NIX_IGNORE_LD_THROUGH_GCC=1
+
stripAllFlags=" " # the Darwin "strip" command doesn't know "-s"
+
export MACOSX_DEPLOYMENT_TARGET=10.7
+
export SDKROOT=
+
export CMAKE_OSX_ARCHITECTURES=x86_64
+
'';
+
+
# The one dependency of /bin/sh :(
+
binShClosure = [ "/usr/lib/libncurses.5.4.dylib" ];
+
+
bootstrapTools = derivation rec {
+
inherit system tarball;
+
+
name = "bootstrap-tools";
+
builder = bootstrapFiles.sh; # Not a filename! Attribute 'sh' on bootstrapFiles
+
args = [ ./unpack-bootstrap-tools.sh ];
+
+
inherit (bootstrapFiles) mkdir bzip2 cpio;
+
+
__impureHostDeps = binShClosure ++ libSystemClosure;
+
};
+
+
stageFun = step: last: {shell ? "${bootstrapTools}/bin/sh",
+
overrides ? (pkgs: {}),
+
extraPreHook ? "",
+
extraBuildInputs ? with last.pkgs; [ xz darwin.CF libcxx ],
+
extraInitialPath ? [],
+
allowedRequisites ? null}:
+
let
+
thisStdenv = import ../generic {
+
inherit system config shell extraBuildInputs allowedRequisites;
+
+
name = "stdenv-darwin-boot-${toString step}";
+
+
cc = if isNull last then "/dev/null" else import ../../build-support/cc-wrapper {
+
inherit shell;
+
inherit (last) stdenv;
+
inherit (last.pkgs.darwin) dyld;
+
+
nativeTools = true;
+
nativePrefix = bootstrapTools;
+
nativeLibc = false;
+
libc = last.pkgs.darwin.Libsystem;
+
cc = { name = "clang-9.9.9"; outPath = bootstrapTools; };
+
};
+
+
preHook = stage0.stdenv.lib.optionalString (shell == "${bootstrapTools}/bin/sh") ''
+
# Don't patch #!/interpreter because it leads to retained
+
# dependencies on the bootstrapTools in the final stdenv.
+
dontPatchShebangs=1
+
'' + ''
+
${commonPreHook}
+
${extraPreHook}
+
'';
+
initialPath = extraInitialPath ++ [ bootstrapTools ];
+
fetchurlBoot = import ../../build-support/fetchurl {
+
stdenv = stage0.stdenv;
+
curl = bootstrapTools;
+
};
+
+
# The stdenvs themselves don't use mkDerivation, so I need to specify this here
+
__stdenvImpureHostDeps = binShClosure ++ libSystemClosure;
+
__extraImpureHostDeps = binShClosure ++ libSystemClosure;
+
+
extraAttrs = { inherit platform; };
+
overrides = pkgs: (overrides pkgs) // { fetchurl = thisStdenv.fetchurlBoot; };
+
};
+
+
thisPkgs = allPackages {
+
inherit system platform;
+
bootStdenv = thisStdenv;
+
};
+
in { stdenv = thisStdenv; pkgs = thisPkgs; };
+
+
stage0 = stageFun 0 null {
+
overrides = orig: with stage0; rec {
+
darwin = orig.darwin // {
+
Libsystem = stdenv.mkDerivation {
+
name = "bootstrap-Libsystem";
+
buildCommand = ''
+
mkdir -p $out
+
ln -s ${bootstrapTools}/lib $out/lib
+
ln -s ${bootstrapTools}/include-Libsystem $out/include
+
'';
+
};
+
dyld = bootstrapTools;
+
};
+
+
libcxx = stdenv.mkDerivation {
+
name = "bootstrap-libcxx";
+
phases = [ "installPhase" "fixupPhase" ];
+
installPhase = ''
+
mkdir -p $out/lib $out/include
+
ln -s ${bootstrapTools}/lib/libc++.dylib $out/lib/libc++.dylib
+
ln -s ${bootstrapTools}/include/c++ $out/include/c++
+
'';
+
setupHook = ../../development/compilers/llvm/3.5/libc++/setup-hook.sh;
+
};
+
+
libcxxabi = stdenv.mkDerivation {
+
name = "bootstrap-libcxxabi";
+
buildCommand = ''
+
mkdir -p $out/lib
+
ln -s ${bootstrapTools}/lib/libc++abi.dylib $out/lib/libc++abi.dylib
+
'';
+
};
+
+
};
+
+
extraBuildInputs = [];
+
};
+
+
persistent0 = _: {};
+
+
stage1 = with stage0; stageFun 1 stage0 {
+
extraPreHook = "export NIX_CFLAGS_COMPILE+=\" -F${bootstrapTools}/Library/Frameworks\"";
+
extraBuildInputs = [ pkgs.libcxx ];
+
+
allowedRequisites =
+
[ bootstrapTools ] ++ (with pkgs; [ libcxx libcxxabi ]) ++ [ pkgs.darwin.Libsystem ];
+
+
overrides = persistent0;
+
};
+
+
persistent1 = orig: with stage1.pkgs; {
+
inherit
+
zlib patchutils m4 scons flex perl bison unifdef unzip openssl icu python
+
libxml2 gettext sharutils gmp libarchive ncurses pkg-config libedit groff
+
openssh sqlite sed serf openldap db cyrus-sasl expat apr-util subversion xz
+
findfreetype libssh curl cmake autoconf automake libtool ed cpio coreutils;
+
+
darwin = orig.darwin // {
+
inherit (darwin)
+
dyld Libsystem xnu configd libdispatch libclosure launchd;
+
};
+
};
+
+
stage2 = with stage1; stageFun 2 stage1 {
+
allowedRequisites =
+
[ bootstrapTools ] ++
+
(with pkgs; [ xz libcxx libcxxabi icu ]) ++
+
(with pkgs.darwin; [ dyld Libsystem CF ]);
+
+
overrides = persistent1;
+
};
+
+
persistent2 = orig: with stage2.pkgs; {
+
inherit
+
patchutils m4 scons flex perl bison unifdef unzip openssl python
+
gettext sharutils libarchive pkg-config groff bash subversion
+
openssh sqlite sed serf openldap db cyrus-sasl expat apr-util
+
findfreetype libssh curl cmake autoconf automake libtool cpio
+
libcxx libcxxabi;
+
+
darwin = orig.darwin // {
+
inherit (darwin)
+
dyld Libsystem xnu configd libdispatch libclosure launchd libiconv;
+
};
+
};
+
+
stage3 = with stage2; stageFun 3 stage2 {
+
shell = "${pkgs.bash}/bin/bash";
+
+
# We have a valid shell here (this one has no bootstrap-tools runtime deps) so stageFun
+
# enables patchShebangs above. Unfortunately, patchShebangs ignores our $SHELL setting
+
# and instead goes by $PATH, which happens to contain bootstrapTools. So it goes and
+
# patches our shebangs back to point at bootstrapTools. This makes sure bash comes first.
+
extraInitialPath = [ pkgs.bash ];
+
+
allowedRequisites =
+
[ bootstrapTools ] ++
+
(with pkgs; [ icu bash libcxx libcxxabi ]) ++
+
(with pkgs.darwin; [ dyld Libsystem ]);
+
+
overrides = persistent2;
+
};
+
+
persistent3 = orig: with stage3.pkgs; {
+
inherit
+
gnumake gzip gnused bzip2 gawk ed xz patch bash
+
libcxxabi libcxx ncurses libffi zlib llvm gmp pcre gnugrep
+
coreutils findutils diffutils patchutils;
+
+
llvmPackages = orig.llvmPackages // {
+
inherit (llvmPackages) llvm clang-unwrapped;
+
};
+
+
darwin = orig.darwin // {
+
inherit (darwin) dyld Libsystem libiconv;
+
};
+
};
+
+
stage4 = with stage3; stageFun 4 stage3 {
+
shell = "${pkgs.bash}/bin/bash";
+
extraInitialPath = [ pkgs.bash ];
+
overrides = persistent3;
+
};
+
+
persistent4 = orig: with stage4.pkgs; {
+
inherit
+
gnumake gzip gnused bzip2 gawk ed xz patch bash
+
libcxxabi libcxx ncurses libffi zlib icu llvm gmp pcre gnugrep
+
coreutils findutils diffutils patchutils binutils binutils-raw;
+
+
llvmPackages = orig.llvmPackages // {
+
inherit (llvmPackages) llvm clang-unwrapped;
+
};
+
+
darwin = orig.darwin // {
+
inherit (darwin) dyld Libsystem cctools CF libiconv;
+
};
+
};
+
+
stage5 = with stage4; import ../generic rec {
+
inherit system config;
+
inherit (stdenv) fetchurlBoot;
+
+
name = "stdenv-darwin";
+
+
preHook = commonPreHook;
+
+
__stdenvImpureHostDeps = binShClosure ++ libSystemClosure;
+
__extraImpureHostDeps = binShClosure ++ libSystemClosure;
+
+
initialPath = import ../common-path.nix { inherit pkgs; };
+
shell = "${pkgs.bash}/bin/bash";
+
+
cc = import ../../build-support/cc-wrapper {
+
inherit stdenv shell;
+
nativeTools = false;
+
nativeLibc = false;
+
inherit (pkgs) coreutils binutils;
+
inherit (pkgs.darwin) dyld;
+
cc = pkgs.llvmPackages.clang-unwrapped;
+
libc = pkgs.darwin.Libsystem;
+
};
+
+
extraBuildInputs = with pkgs; [ darwin.CF libcxx ];
+
+
extraAttrs = {
+
inherit platform bootstrapTools;
+
libc = pkgs.darwin.Libsystem;
+
shellPackage = pkgs.bash;
+
};
+
+
allowedRequisites = (with pkgs; [
+
xz libcxx libcxxabi icu gmp gnumake findutils bzip2 llvm zlib libffi
+
coreutils ed diffutils gnutar gzip ncurses gnused bash gawk
+
gnugrep llvmPackages.clang-unwrapped patch pcre binutils-raw binutils gettext
+
]) ++ (with pkgs.darwin; [
+
dyld Libsystem CF cctools libiconv
+
]);
+
+
overrides = orig: persistent4 orig // {
+
clang = cc;
+
inherit cc;
+
};
+
};
+
}
+286
pkgs/stdenv/pure-darwin/make-bootstrap-tools.nix
···
+
{system ? builtins.currentSystem}:
+
+
with import ../../top-level/all-packages.nix {inherit system;};
+
+
rec {
+
# We want coreutils without ACL support.
+
coreutils_ = coreutils.override (orig: {
+
aclSupport = false;
+
});
+
+
build = stdenv.mkDerivation {
+
name = "build";
+
+
buildInputs = [nukeReferences cpio];
+
+
buildCommand = ''
+
mkdir -p $out/bin $out/lib
+
+
# Our (fake) loader
+
cp -d ${darwin.dyld}/lib/dyld $out/lib/
+
+
# C standard library stuff
+
cp -d ${darwin.Libsystem}/lib/*.o $out/lib/
+
cp -d ${darwin.Libsystem}/lib/*.dylib $out/lib/
+
cp -d ${darwin.Libsystem}/lib/system/*.dylib $out/lib/
+
+
# Resolv is actually a link to another package, so let's copy it properly
+
rm $out/lib/libresolv.9.dylib
+
cp -L ${darwin.Libsystem}/lib/libresolv.9.dylib $out/lib
+
+
cp -rL ${darwin.Libsystem}/include $out
+
chmod -R u+w $out/include
+
cp -rL ${icu}/include* $out/include
+
cp -rL ${libiconv}/include/* $out/include
+
cp -rL ${gnugrep.pcre}/include/* $out/include
+
mv $out/include $out/include-Libsystem
+
+
# Copy coreutils, bash, etc.
+
cp ${coreutils_}/bin/* $out/bin
+
(cd $out/bin && rm vdir dir sha*sum pinky factor pathchk runcon shuf who whoami shred users)
+
+
cp ${bash}/bin/bash $out/bin
+
cp ${findutils}/bin/find $out/bin
+
cp ${findutils}/bin/xargs $out/bin
+
cp -d ${diffutils}/bin/* $out/bin
+
cp -d ${gnused}/bin/* $out/bin
+
cp -d ${gnugrep}/bin/grep $out/bin
+
cp ${gawk}/bin/gawk $out/bin
+
cp -d ${gawk}/bin/awk $out/bin
+
cp ${gnutar}/bin/tar $out/bin
+
cp ${gzip}/bin/gzip $out/bin
+
cp ${bzip2}/bin/bzip2 $out/bin
+
cp -d ${gnumake}/bin/* $out/bin
+
cp -d ${patch}/bin/* $out/bin
+
cp -d ${xz}/bin/xz $out/bin
+
+
# This used to be in-nixpkgs, but now is in the bundle
+
# because I can't be bothered to make it partially static
+
cp ${curl}/bin/curl $out/bin
+
cp -d ${curl}/lib/libcurl*.dylib $out/lib
+
cp -d ${libssh2}/lib/libssh*.dylib $out/lib
+
cp -d ${openssl}/lib/*.dylib $out/lib
+
+
cp -d ${gnugrep.pcre}/lib/libpcre*.dylib $out/lib
+
cp -d ${libiconv}/lib/libiconv*.dylib $out/lib
+
cp -d ${gettext}/lib/libintl*.dylib $out/lib
+
chmod +x $out/lib/libintl*.dylib
+
+
# Copy what we need of clang
+
cp -d ${llvmPackages.clang-unwrapped}/bin/clang $out/bin
+
cp -d ${llvmPackages.clang-unwrapped}/bin/clang++ $out/bin
+
cp -d ${llvmPackages.clang-unwrapped}/bin/clang-3.6 $out/bin
+
+
cp -rL ${llvmPackages.clang-unwrapped}/lib/clang $out/lib
+
+
cp -d ${libcxx}/lib/libc++*.dylib $out/lib
+
cp -d ${libcxxabi}/lib/libc++abi*.dylib $out/lib
+
+
mkdir $out/include
+
cp -rd ${libcxx}/include/c++ $out/include
+
+
cp -d ${icu}/lib/libicu*.dylib $out/lib
+
cp -d ${zlib}/lib/libz.* $out/lib
+
cp -d ${gmpxx}/lib/libgmp*.* $out/lib
+
cp -d ${xz}/lib/liblzma*.* $out/lib
+
+
# Copy binutils.
+
for i in as ld ar ranlib nm strip otool install_name_tool dsymutil; do
+
cp ${darwin.cctools}/bin/$i $out/bin
+
done
+
+
cp -rd ${pkgs.darwin.CF}/Library $out
+
+
chmod -R u+w $out
+
+
nuke-refs $out/bin/*
+
+
rpathify() {
+
local libs=$(${darwin.cctools}/bin/otool -L "$1" | tail -n +2 | grep -o "$NIX_STORE.*-\S*") || true
+
for lib in $libs; do
+
${darwin.cctools}/bin/install_name_tool -change $lib "@rpath/$(basename $lib)" "$1"
+
done
+
}
+
+
fix_dyld() {
+
# This is clearly a hack. Once we have an install_name_tool-alike that can patch dyld, this will be nicer.
+
${perl}/bin/perl -i -0777 -pe 's/\/nix\/store\/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-dyld-239\.4\/lib\/dyld/\/usr\/lib\/dyld\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00/sg' "$1"
+
}
+
+
# Strip executables even further
+
for i in $out/bin/*; do
+
if test -x $i -a ! -L $i; then
+
chmod +w $i
+
+
fix_dyld $i
+
strip $i || true
+
fi
+
done
+
+
for i in $out/bin/* $out/lib/*.dylib $out/lib/clang/3.5.0/lib/darwin/*.dylib $out/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation; do
+
if test -x $i -a ! -L $i; then
+
echo "Adding rpath to $i"
+
rpathify $i
+
fi
+
done
+
+
nuke-refs $out/lib/*
+
nuke-refs $out/lib/clang/3.5.0/lib/darwin/*
+
nuke-refs $out/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
+
+
mkdir $out/.pack
+
mv $out/* $out/.pack
+
mv $out/.pack $out/pack
+
+
mkdir $out/on-server
+
(cd $out/pack && (find | cpio -o -H newc)) | bzip2 > $out/on-server/bootstrap-tools.cpio.bz2
+
+
mkdir $out/in-nixpkgs
+
cp ${stdenv.shell} $out/in-nixpkgs/sh
+
cp ${cpio}/bin/cpio $out/in-nixpkgs
+
cp ${coreutils_}/bin/mkdir $out/in-nixpkgs
+
cp ${bzip2}/bin/bzip2 $out/in-nixpkgs
+
+
chmod u+w $out/in-nixpkgs/*
+
strip $out/in-nixpkgs/*
+
nuke-refs $out/in-nixpkgs/*
+
+
for i in $out/in-nixpkgs/*; do
+
fix_dyld $i
+
done
+
'';
+
+
allowedReferences = [];
+
};
+
+
host = stdenv.mkDerivation {
+
name = "host";
+
+
buildCommand = ''
+
mkdir -p $out/nix-support
+
+
for i in "${build}/on-server/"*; do
+
echo "file binary-dist $i" >> $out/nix-support/hydra-build-products
+
done
+
+
echo "darwin-bootstrap-tools-$(date +%Y.%m.%d)" >> $out/nix-support/hydra-release-name
+
'';
+
+
allowedReferences = [ build ];
+
};
+
+
unpack = stdenv.mkDerivation {
+
name = "unpack";
+
+
# This is by necessity a near-duplicate of unpack-bootstrap-tools.sh. If we refer to it directly,
+
# we can't make any changes to it due to our testing stdenv depending on it. Think of this as the
+
# unpack-bootstrap-tools.sh for the next round of bootstrap tools.
+
# TODO: think through alternate designs, such as hosting this script as an output of the process.
+
buildCommand = ''
+
# Unpack the bootstrap tools tarball.
+
echo Unpacking the bootstrap tools...
+
$mkdir $out
+
$bzip2 -d < $tarball | (cd $out && $cpio -i)
+
+
# Set the ELF interpreter / RPATH in the bootstrap binaries.
+
echo Patching the tools...
+
+
export PATH=$out/bin
+
+
for i in $out/bin/*; do
+
if ! test -L $i; then
+
echo patching $i
+
install_name_tool -add_rpath $out/lib $i || true
+
fi
+
done
+
+
for i in $out/lib/*.dylib $out/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation; do
+
if ! test -L $i; then
+
echo patching $i
+
+
id=$(otool -D "$i" | tail -n 1)
+
install_name_tool -id "$(dirname $i)/$(basename $id)" $i
+
+
libs=$(otool -L "$i" | tail -n +2 | grep -v Libsystem | cat)
+
if [ -n "$libs" ]; then
+
install_name_tool -add_rpath $out/lib $i
+
fi
+
fi
+
done
+
+
ln -s bash $out/bin/sh
+
ln -s bzip2 $out/bin/bunzip2
+
+
cat >$out/bin/dsymutil << EOF
+
#!$out/bin/sh
+
EOF
+
'';
+
+
tarball = "${build}/on-server/bootstrap-tools.cpio.bz2";
+
+
mkdir = "${build}/in-nixpkgs/mkdir";
+
bzip2 = "${build}/in-nixpkgs/bzip2";
+
cpio = "${build}/in-nixpkgs/cpio";
+
+
allowedReferences = [ "out" ];
+
};
+
+
test = stdenv.mkDerivation {
+
name = "test";
+
+
realBuilder = "${unpack}/bin/bash";
+
+
buildCommand = ''
+
export PATH=${unpack}/bin
+
ls -l
+
mkdir $out
+
mkdir $out/bin
+
sed --version
+
find --version
+
diff --version
+
patch --version
+
make --version
+
awk --version
+
grep --version
+
clang --version
+
xz --version
+
+
# The grep will return a nonzero exit code if there is no match, and we want to assert that we have
+
# an SSL-capable curl
+
curl --version | grep SSL
+
+
${build}/in-nixpkgs/sh -c 'echo Hello World'
+
+
export flags="-idirafter ${unpack}/include-Libsystem --sysroot=${unpack} -L${unpack}/lib"
+
+
export CPP="clang -E $flags"
+
export CC="clang $flags -Wl,-rpath,${unpack}/lib -Wl,-v"
+
export CXX="clang++ $flags --stdlib=libc++ -lc++abi -isystem${unpack}/include/c++/v1 -Wl,-rpath,${unpack}/lib -Wl,-v"
+
+
echo '#include <stdio.h>' >> foo.c
+
echo '#include <float.h>' >> foo.c
+
echo '#include <limits.h>' >> foo.c
+
echo 'int main() { printf("Hello World\n"); return 0; }' >> foo.c
+
$CC -o $out/bin/foo foo.c
+
$out/bin/foo
+
+
echo '#include <CoreFoundation/CoreFoundation.h>' >> bar.c
+
echo 'int main() { CFShow(CFSTR("Hullo")); return 0; }' >> bar.c
+
$CC -F${unpack}/Library/Frameworks -framework CoreFoundation -o $out/bin/bar bar.c
+
$out/bin/bar
+
+
echo '#include <iostream>' >> bar.cc
+
echo 'int main() { std::cout << "Hello World\n"; }' >> bar.cc
+
$CXX -v -o $out/bin/bar bar.cc
+
$out/bin/bar
+
+
tar xvf ${hello.src}
+
cd hello-*
+
./configure --prefix=$out
+
make
+
make install
+
+
$out/bin/hello
+
'';
+
};
+
}
+66
pkgs/stdenv/pure-darwin/trivial-bootstrap.sh
···
+
+
# Building bootstrap tools
+
echo Building the trivial bootstrap environment...
+
$mkdir -p $out/bin
+
+
$ln -s $ln $out/bin/ln
+
+
PATH=$out/bin/
+
+
cd $out/bin
+
+
ln -s $mkdir
+
ln -s /bin/sh
+
ln -s /bin/cp
+
ln -s /bin/mv
+
ln -s /bin/rm
+
ln -s /bin/ls
+
ln -s /bin/ps
+
ln -s /bin/cat
+
ln -s /bin/bash
+
ln -s /bin/echo
+
ln -s /bin/expr
+
ln -s /bin/test
+
ln -s /bin/date
+
ln -s /bin/chmod
+
ln -s /bin/rmdir
+
ln -s /bin/sleep
+
ln -s /bin/hostname
+
+
ln -s /usr/bin/id
+
ln -s /usr/bin/od
+
ln -s /usr/bin/tr
+
ln -s /usr/bin/wc
+
ln -s /usr/bin/cut
+
ln -s /usr/bin/cmp
+
ln -s /usr/bin/sed
+
ln -s /usr/bin/tar
+
ln -s /usr/bin/xar
+
ln -s /usr/bin/awk
+
ln -s /usr/bin/env
+
ln -s /usr/bin/tee
+
ln -s /usr/bin/comm
+
ln -s /usr/bin/cpio
+
ln -s /usr/bin/curl
+
ln -s /usr/bin/find
+
ln -s /usr/bin/grep
+
ln -s /usr/bin/gzip
+
ln -s /usr/bin/head
+
ln -s /usr/bin/tail
+
ln -s /usr/bin/sort
+
ln -s /usr/bin/uniq
+
ln -s /usr/bin/less
+
ln -s /usr/bin/true
+
ln -s /usr/bin/diff
+
ln -s /usr/bin/egrep
+
ln -s /usr/bin/fgrep
+
ln -s /usr/bin/patch
+
ln -s /usr/bin/uname
+
ln -s /usr/bin/touch
+
ln -s /usr/bin/split
+
ln -s /usr/bin/xargs
+
ln -s /usr/bin/which
+
ln -s /usr/bin/install
+
ln -s /usr/bin/basename
+
ln -s /usr/bin/dirname
+
ln -s /usr/bin/readlink
+54
pkgs/stdenv/pure-darwin/unpack-bootstrap-tools.sh
···
+
set -e
+
+
# Unpack the bootstrap tools tarball.
+
echo Unpacking the bootstrap tools...
+
$mkdir $out
+
$bzip2 -d < $tarball | (cd $out && $cpio -i)
+
+
# Set the ELF interpreter / RPATH in the bootstrap binaries.
+
echo Patching the tools...
+
+
export PATH=$out/bin
+
+
for i in $out/bin/*; do
+
if ! test -L $i; then
+
echo patching $i
+
install_name_tool -add_rpath $out/lib $i || true
+
fi
+
done
+
+
for i in $out/lib/*.dylib $out/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation; do
+
if ! test -L $i; then
+
echo patching $i
+
+
id=$(otool -D "$i" | tail -n 1)
+
install_name_tool -id "$(dirname $i)/$(basename $id)" $i
+
+
libs=$(otool -L "$i" | tail -n +2 | grep -v libSystem | cat)
+
if [ -n "$libs" ]; then
+
install_name_tool -add_rpath $out/lib $i
+
fi
+
fi
+
done
+
+
ln -s bash $out/bin/sh
+
ln -s bzip2 $out/bin/bunzip2
+
+
# Provide a gunzip script.
+
cat > $out/bin/gunzip <<EOF
+
#!$out/bin/sh
+
exec $out/bin/gzip -d "\$@"
+
EOF
+
chmod +x $out/bin/gunzip
+
+
# Provide fgrep/egrep.
+
echo "#! $out/bin/sh" > $out/bin/egrep
+
echo "exec $out/bin/grep -E \"\$@\"" >> $out/bin/egrep
+
echo "#! $out/bin/sh" > $out/bin/fgrep
+
echo "exec $out/bin/grep -F \"\$@\"" >> $out/bin/fgrep
+
+
cat >$out/bin/dsymutil << EOF
+
#!$out/bin/sh
+
EOF
+
+
chmod +x $out/bin/egrep $out/bin/fgrep $out/bin/dsymutil
+5 -5
pkgs/tools/X11/xdg-utils/default.nix
···
-
{ stdenv, fetchgit, file, libxslt, docbook_xml_dtd_412, docbook_xsl, xmlto
+
{ stdenv, fetchzip, file, libxslt, docbook_xml_dtd_412, docbook_xsl, xmlto
, w3m, which, gnugrep, gnused, coreutils }:
stdenv.mkDerivation rec {
name = "xdg-utils-1.1.0-rc3p7";
-
src = fetchgit {
-
url = "http://anongit.freedesktop.org/git/xdg/xdg-utils.git";
-
rev = "e8ee3b18d16e41b95148111b920a0c8beed3ac6c";
-
sha256 = "0qy9h7vh6sw7wmadjvasw4sdhb9fvv7bn32ifgasdx7ag3r3939w";
+
src = fetchzip {
+
name = "${name}.tar.gz";
+
url = "http://cgit.freedesktop.org/xdg/xdg-utils/snapshot/e8ee3b18d16e4.tar.gz";
+
sha256 = "1hz6rv45blcii1a8n1j45rg8vzm98vh4fvlca3zmay1kp57yr4jl";
};
# just needed when built from git
+6
pkgs/tools/archivers/gnutar/default.nix
···
patches = stdenv.lib.optional stdenv.isDarwin ./gnutar-1.28-darwin.patch;
+
# avoid retaining reference to CF during stdenv bootstrap
+
configureFlags = stdenv.lib.optionals stdenv.isDarwin [
+
"gt_cv_func_CFPreferencesCopyAppValue=no"
+
"gt_cv_func_CFLocaleCopyCurrent=no"
+
];
+
# gnutar tries to call into gettext between `fork` and `exec`,
# which is not safe on darwin.
# see http://article.gmane.org/gmane.os.macosx.fink.devel/21882
+5 -6
pkgs/tools/archivers/sharutils/default.nix
···
sha256 = "1mallg1gprimlggdisfzdmh1xi676jsfdlfyvanlcw72ny8fsj3g";
};
-
preConfigure =
-
''
-
# Fix for building on Glibc 2.16. Won't be needed once the
-
# gnulib in sharutils is updated.
-
sed -i ${stdenv.lib.optionalString ((stdenv.isFreeBSD || stdenv.isOpenBSD || stdenv.isDarwin) && stdenv.cc.nativeTools) "''"} '/gets is a security hole/d' lib/stdio.in.h
-
'';
+
preConfigure = ''
+
# Fix for building on Glibc 2.16. Won't be needed once the
+
# gnulib in sharutils is updated.
+
sed -i ${stdenv.lib.optionalString ((stdenv.isFreeBSD || stdenv.isOpenBSD) && stdenv.cc.nativeTools) "''"} '/gets is a security hole/d' lib/stdio.in.h
+
'';
# GNU Gettext is needed on non-GNU platforms.
buildInputs = [ gettext coreutils ];
+3 -2
pkgs/tools/backup/bareos/default.nix
···
-
{ stdenv, fetchFromGitHub, pkgconfig, nettools, gettext, libtool
+
{ stdenv, fetchFromGitHub, pkgconfig, nettools, gettext, libtool, flex
, readline ? null, openssl ? null, python ? null, ncurses ? null
, sqlite ? null, postgresql ? null, libmysql ? null, zlib ? null, lzo ? null
, acl ? null, glusterfs ? null, libceph ? null, libcap ? null
···
};
buildInputs = [
-
pkgconfig nettools gettext readline openssl python
+
pkgconfig nettools gettext readline openssl python flex
ncurses sqlite postgresql libmysql zlib lzo acl glusterfs libceph libcap
];
···
"sysconfdir=\${out}/etc"
"working_dir=\${TMPDIR}"
"log_dir=\${TMPDIR}"
+
"sbindir=\${out}/bin"
];
meta = with stdenv.lib; {
+4 -1
pkgs/tools/filesystems/bcache-tools/default.nix
···
-i Makefile
'';
-
patches = [ ./bcache-udev-modern.patch ];
+
patches = [
+
./bcache-udev-modern.patch
+
./fix-static.patch
+
];
preBuild = ''
export makeFlags="$makeFlags PREFIX=\"$out\" UDEVLIBDIR=\"$out/lib/udev/\"";
+22
pkgs/tools/filesystems/bcache-tools/fix-static.patch
···
+
diff --git a/bcache.c b/bcache.c
+
index 8f37445..79806d8 100644
+
--- a/bcache.c
+
+++ b/bcache.c
+
@@ -26,7 +26,7 @@
+
* x^7 + x^4 + x + 1
+
*/
+
+
-static const uint64_t crc_table[256] = {
+
+const uint64_t crc_table[256] = {
+
0x0000000000000000ULL, 0x42F0E1EBA9EA3693ULL, 0x85E1C3D753D46D26ULL,
+
0xC711223CFA3E5BB5ULL, 0x493366450E42ECDFULL, 0x0BC387AEA7A8DA4CULL,
+
0xCCD2A5925D9681F9ULL, 0x8E224479F47CB76AULL, 0x9266CC8A1C85D9BEULL,
+
@@ -115,7 +115,7 @@ static const uint64_t crc_table[256] = {
+
0x9AFCE626CE85B507ULL
+
};
+
+
-inline uint64_t crc64(const void *_data, size_t len)
+
+uint64_t crc64(const void *_data, size_t len)
+
{
+
uint64_t crc = 0xFFFFFFFFFFFFFFFFULL;
+
const unsigned char *data = _data;
+4 -3
pkgs/tools/misc/coreutils/default.nix
···
let
self = stdenv.mkDerivation rec {
-
name = "coreutils-8.23";
+
name = "coreutils-8.24";
src = fetchurl {
url = "mirror://gnu/coreutils/${name}.tar.xz";
-
sha256 = "0bdq6yggyl7nkc2pbl6pxhhyx15nyqhz3ds6rfn448n6rxdwlhzc";
+
sha256 = "0w11jw3fb5sslf0f72kxy7llxgk1ia3a6bcw0c9kmvxrlj355mx2";
};
patches = if stdenv.isCygwin then [ ./coreutils-8.23-4.cygwin.patch ] else null;
···
# The test tends to fail on btrfs and maybe other unusual filesystems.
postPatch = stdenv.lib.optionalString (!stdenv.isDarwin) ''
sed '2i echo Skipping dd sparse test && exit 0' -i ./tests/dd/sparse.sh
+
sed '2i echo Skipping cp sparse test && exit 0' -i ./tests/cp/sparse.sh
'';
nativeBuildInputs = [ perl ];
···
++ optionals selinuxSupport [ libselinux libsepol ];
crossAttrs = {
-
buildInputs = [ gmp ]
+
buildInputs = [ gmp.crossDrv ]
++ optional aclSupport acl.crossDrv
++ optionals selinuxSupport [ libselinux.crossDrv libsepol.crossDrv ]
++ optional (stdenv.ccCross.libc ? libiconv)
+2 -2
pkgs/tools/misc/file/default.nix
···
{ stdenv, fetchurl, zlib }:
stdenv.mkDerivation rec {
-
name = "file-5.22";
+
name = "file-5.23";
buildInputs = [ zlib ];
···
"ftp://ftp.astron.com/pub/file/${name}.tar.gz"
"http://distfiles.macports.org/file/${name}.tar.gz"
];
-
sha256 = "02zw14hw3gqlw91w2f2snbirvyrp7r83irvnnkjcb25q9kjaiqy4";
+
sha256 = "0z0mwqayrrf3w734rjp9rysf0y8az191ff7fxjsxyb1y2kzv72ic";
};
meta = {
+1 -1
pkgs/tools/misc/findutils/default.nix
···
nativeBuildInputs = [coreutils];
-
patches = [ ./findutils-path.patch ./change_echo_path.patch ];
+
patches = [ ./findutils-path.patch ./change_echo_path.patch ./disable-test-canonicalize.patch ];
doCheck = true;
+12
pkgs/tools/misc/findutils/disable-test-canonicalize.patch
···
+
diff -ruN findutils-4.4.2/tests/test-canonicalize.sh findutils-4.4.2_edited/tests/test-canonicalize.sh
+
--- findutils-4.4.2/tests/test-canonicalize.sh 2008-12-23 12:50:15.000000000 +0000
+
+++ findutils-4.4.2_edited/tests/test-canonicalize.sh 2015-06-14 10:51:19.000000000 +0000
+
@@ -1,5 +1,8 @@
+
#!/bin/sh
+
+
+# skipped because user might not have directory listing permission for all parents of TMPDIR
+
+exit 77
+
+
+
tmpfiles=""
+
trap 'rm -fr $tmpfiles' 1 2 3 15
+
+2 -2
pkgs/tools/misc/pipelight/default.nix
···
{ stdenv, fetchurl, fetchgit, autoconf, automake, wineStaging, perl, xlibs
-
, gnupg, gcc48_multi, mesa, curl, bash, cacert, cabextract, utillinux, attr
+
, gnupg, gcc_multi, mesa, curl, bash, cacert, cabextract, utillinux, attr
}:
let
···
sha256 = "1i440rf22fmd2w86dlm1mpi3nb7410rfczc0yldnhgsvp5p3sm5f";
};
-
buildInputs = [ wine_custom xlibs.libX11 gcc48_multi mesa curl ];
+
buildInputs = [ wine_custom xlibs.libX11 gcc_multi mesa curl ];
propagatedbuildInputs = [ curl cabextract ];
patches = [ ./pipelight.patch ];
+2 -2
pkgs/tools/networking/curl/default.nix
···
assert c-aresSupport -> c-ares != null;
stdenv.mkDerivation rec {
-
name = "curl-7.42.1";
+
name = "curl-7.43.0";
src = fetchurl {
url = "http://curl.haxx.se/download/${name}.tar.bz2";
-
sha256 = "11y8racpj6m4j9w7wa9sifmqvdgf22nk901sfkbxzhhy75rmk472";
+
sha256 = "1ycdhp47v8z6y64s7ihi5jl28dzc5w8wqn0wrhy4hc152ahm99ms";
};
# Zlib and OpenSSL must be propagated because `libcurl.la' contains
+13 -14
pkgs/tools/networking/wget/default.nix
···
sha256 = "0dzv5xf9qxc2bp4cyifmaghh3h464wbm73xiwcrvckf1ynqbgxv7";
};
-
preConfigure = stdenv.lib.optionalString doCheck
-
'' for i in "doc/texi2pod.pl" "util/rmold.pl"
-
do
-
sed -i "$i" -e 's|/usr/bin.*perl|${perl}/bin/perl|g'
-
done
-
-
# Work around lack of DNS resolution in chroots.
-
for i in "tests/"*.pm "tests/"*.px
-
do
-
sed -i "$i" -e's/localhost/127.0.0.1/g'
-
done
-
'' + stdenv.lib.optionalString stdenv.isDarwin ''
-
export LIBS="-liconv -lintl"
-
'';
+
preConfigure = ''
+
for i in "doc/texi2pod.pl" "util/rmold.pl"; do
+
sed -i "$i" -e 's|/usr/bin.*perl|${perl}/bin/perl|g'
+
done
+
'' + stdenv.lib.optionalString doCheck ''
+
# Work around lack of DNS resolution in chroots.
+
for i in "tests/"*.pm "tests/"*.px
+
do
+
sed -i "$i" -e's/localhost/127.0.0.1/g'
+
done
+
'' + stdenv.lib.optionalString stdenv.isDarwin ''
+
export LIBS="-liconv -lintl"
+
'';
nativeBuildInputs = [ gettext pkgconfig ];
buildInputs = [ libidn libiconv libpsl ]
+1 -1
pkgs/tools/security/crackxls/default.nix
···
installPhase =
''
-
mkdir $out/bin
+
mkdir -p $out/bin
cp crackxls2003 $out/bin/
'';
+4
pkgs/tools/security/pinentry/default.nix
···
buildInputs = [ libcap gtk2 ncurses qt4 ];
+
prePatch = ''
+
substituteInPlace pinentry/pinentry-curses.c --replace ncursesw ncurses
+
'';
+
# configure cannot find moc on its own
preConfigure = stdenv.lib.optionalString (qt4 != null) ''
export QTDIR="${qt4}"
+2
pkgs/tools/security/sbsigntool/default.nix
···
patches = [ ./autoconf.patch ];
+
prePatch = "patchShebangs .";
+
buildInputs = [ autoconf automake utillinux openssl libuuid gnu-efi binutils pkgconfig help2man ];
configurePhase = ''
+8 -3
pkgs/tools/text/gawk/default.nix
···
-
{ stdenv, fetchurl, libsigsegv, readline, readlineSupport ? false }:
+
{ stdenv, fetchurl, libsigsegv, readline, readlineSupport ? false
+
, locale ? null }:
stdenv.mkDerivation rec {
name = "gawk-4.1.3";
···
sha256 = "09d6pmx6h3i2glafm0jd1v1iyrs03vcyv2rkz12jisii3vlmbkz3";
};
-
doCheck = !stdenv.isCygwin; # XXX: `test-dup2' segfaults on Cygwin 6.1
+
doCheck = !(
+
stdenv.isCygwin # XXX: `test-dup2' segfaults on Cygwin 6.1
+
|| stdenv.isDarwin # XXX: `locale' segfaults
+
);
buildInputs = stdenv.lib.optional (stdenv.system != "x86_64-cygwin") libsigsegv
-
++ stdenv.lib.optional readlineSupport readline;
+
++ stdenv.lib.optional readlineSupport readline
+
++ stdenv.lib.optional stdenv.isDarwin locale;
configureFlags = stdenv.lib.optional (stdenv.system != "x86_64-cygwin") "--with-libsigsegv-prefix=${libsigsegv}"
++ stdenv.lib.optional readlineSupport "--with-readline=${readline}"
+2
pkgs/tools/text/groff/default.nix
···
sha256 = "1998v2kcs288d3y7kfxpvl369nqi06zbbvjzafyvyl3pr7bajj1s";
};
+
enableParallelBuilding = false;
+
buildInputs = [ ghostscript ];
nativeBuildInputs = [ perl ];
+4 -4
pkgs/tools/text/recode/default.nix
···
-
# XXX: this may need -liconv on non-glibc systems..
-
-
{ stdenv, fetchFromGitHub, python, perl, autoconf, automake, libtool, intltool, flex, texinfo }:
+
{ stdenv, fetchFromGitHub, python, perl, autoconf, automake, libtool, intltool, flex,
+
texinfo, libiconv }:
stdenv.mkDerivation rec {
name = "recode-3.7-2fd838565";
···
sha256 = "06vyjqaraamcc5vka66mlvxj27ihccqc74aymv2wn8nphr2rhh03";
};
-
nativeBuildInputs = [ python perl autoconf automake libtool intltool flex texinfo ];
+
nativeBuildInputs = [ python perl autoconf automake libtool intltool flex texinfo
+
libiconv ];
preConfigure = ''
# fix build with new automake, https://bugs.gentoo.org/show_bug.cgi?id=419455
+2
pkgs/tools/typesetting/tex/tetex/default.nix
···
mkdir -p $out/share/texmf
mkdir -p $out/share/texmf-dist
gunzip < $texmf | (cd $out/share/texmf-dist && tar xvf -)
+
+
substituteInPlace ./tetex-src-3.0/configure --replace /usr/bin/install $(type -P install)
'';
meta = with stdenv.lib; {
+138 -170
pkgs/top-level/all-packages.nix
···
# just the plain stdenv.
stdenv_32bit = lowPrio (
if system == "x86_64-linux" then
-
overrideCC stdenv gcc48_multi
+
overrideCC stdenv gcc_multi
else
stdenv);
···
inherit (perlPackages) perl AlgorithmDiff RegexpCommon;
};
-
cloog = callPackage ../development/libraries/cloog { };
+
cloog = callPackage ../development/libraries/cloog {
+
isl = isl_0_14;
+
};
+
cloog_0_18_0 = callPackage ../development/libraries/cloog/0.18.0.nix {
isl = isl_0_11;
};
···
cool-retro-term = callPackage ../applications/misc/cool-retro-term { };
-
coreutils = callPackage ../tools/misc/coreutils
-
{
-
# TODO: Add ACL support for cross-Linux.
-
aclSupport = crossSystem == null && stdenv.isLinux;
-
};
+
coreutils = callPackage ../tools/misc/coreutils {
+
aclSupport = stdenv.isLinux;
+
};
cpio = callPackage ../tools/archivers/cpio { };
···
garmintools = callPackage ../development/libraries/garmintools {};
-
gawk = callPackage ../tools/text/gawk { };
+
gawk = callPackage ../tools/text/gawk {
+
locale = darwin.adv_cmds;
+
};
gawkInteractive = appendToName "interactive"
(gawk.override { readlineSupport = true; });
···
ised = callPackage ../tools/misc/ised {};
-
isl = callPackage ../development/libraries/isl { };
+
isl = isl_0_15;
isl_0_11 = callPackage ../development/libraries/isl/0.11.1.nix { };
isl_0_12 = callPackage ../development/libraries/isl/0.12.2.nix { };
isl_0_14 = callPackage ../development/libraries/isl/0.14.1.nix { };
+
isl_0_15 = callPackage ../development/libraries/isl/0.15.0.nix { };
isync = callPackage ../tools/networking/isync { };
···
ninka = callPackage ../development/tools/misc/ninka { };
-
nodejs-0_12 = callPackage ../development/web/nodejs { libuv = libuvVersions.v1_6_1; };
+
nodejs-0_12 = callPackage ../development/web/nodejs {
+
libuv = libuvVersions.v1_6_1;
+
libtool = darwin.cctools;
+
};
nodejs-unstable = callPackage ../development/web/nodejs { libuv = libuvVersions.v1_2_0; unstableVersion = true; };
-
nodejs-0_10 = callPackage ../development/web/nodejs/v0_10.nix { };
+
nodejs-0_10 = callPackage ../development/web/nodejs/v0_10.nix {
+
libtool = darwin.cctools;
+
inherit (darwin.apple_sdk.frameworks) CoreServices ApplicationServices Carbon Foundation;
+
};
nodejs = if stdenv.system == "armv5tel-linux" then
nodejs-0_10
···
gambit = callPackage ../development/compilers/gambit { };
-
gcc = gcc48;
-
gcc_multi = gcc48_multi;
+
gcc = gcc49;
-
gccApple = throw "gccApple is no longer supported";
+
gcc_multi =
+
if system == "x86_64-linux" then lowPrio (
+
wrapCCWith (import ../build-support/cc-wrapper) glibc_multi (gcc.cc.override {
+
stdenv = overrideCC stdenv (wrapCCWith (import ../build-support/cc-wrapper) glibc_multi gcc.cc);
+
profiledCompiler = false;
+
enableMultilib = true;
+
}))
+
else throw "Multilib gcc not supported on ‘${system}’";
-
gcc48_realCross = lib.addMetaAttrs { hydraPlatforms = []; }
-
(callPackage ../development/compilers/gcc/4.8 {
-
inherit noSysDirs;
-
binutilsCross = binutilsCross;
-
libcCross = libcCross;
-
profiledCompiler = false;
-
enableMultilib = false;
-
crossStageStatic = false;
-
cross = assert crossSystem != null; crossSystem;
-
});
+
gcc_debug = lowPrio (wrapCC (gcc.cc.override {
+
stripped = false;
+
}));
-
gcc_realCross = gcc48_realCross;
+
gccApple = throw "gccApple is no longer supported";
gccCrossStageStatic = let
-
libcCross1 =
-
if stdenv.cross.libc == "msvcrt" then windows.mingw_w64_headers
-
else if stdenv.cross.libc == "libSystem" then darwin.xcode
-
else null;
-
in
-
wrapGCCCross {
-
gcc = forceNativeDrv (lib.addMetaAttrs { hydraPlatforms = []; } (
-
gcc_realCross.override {
-
crossStageStatic = true;
-
langCC = false;
-
libcCross = libcCross1;
-
enableShared = false;
-
}));
+
libcCross1 =
+
if stdenv.cross.libc == "msvcrt" then windows.mingw_w64_headers
+
else if stdenv.cross.libc == "libSystem" then darwin.xcode
+
else null;
+
in wrapGCCCross {
+
gcc = forceNativeDrv (gcc.cc.override {
+
cross = crossSystem;
+
crossStageStatic = true;
+
langCC = false;
+
libcCross = libcCross1;
+
enableShared = false;
+
});
libc = libcCross1;
binutils = binutilsCross;
-
cross = assert crossSystem != null; crossSystem;
+
cross = crossSystem;
};
# Only needed for mingw builds
···
};
gccCrossStageFinal = wrapGCCCross {
-
gcc = forceNativeDrv (gcc_realCross.override {
-
libpthreadCross =
-
# FIXME: Don't explicitly refer to `i586-pc-gnu'.
-
if crossSystem != null && crossSystem.config == "i586-pc-gnu"
-
then gnu.libpthreadCross
-
else null;
+
gcc = forceNativeDrv (gcc.cc.override {
+
cross = crossSystem;
+
crossStageStatic = false;
# XXX: We have troubles cross-compiling libstdc++ on MinGW (see
# <http://hydra.nixos.org/build/4268232>), so don't even try.
-
langCC = (crossSystem == null
-
|| crossSystem.config != "i686-pc-mingw32");
-
});
+
langCC = crossSystem.config != "i686-pc-mingw32";
+
});
libc = libcCross;
binutils = binutilsCross;
-
cross = assert crossSystem != null; crossSystem;
+
cross = crossSystem;
};
gcc44 = lowPrio (wrapCC (makeOverridable (import ../development/compilers/gcc/4.4) {
···
# be passed.
cross = null;
libcCross = if crossSystem != null then libcCross else null;
-
libpthreadCross =
-
if crossSystem != null && crossSystem.config == "i586-pc-gnu"
-
then gnu.libpthreadCross
-
else null;
}));
gcc46 = lowPrio (wrapCC (callPackage ../development/compilers/gcc/4.6 {
···
# be passed.
cross = null;
libcCross = if crossSystem != null then libcCross else null;
-
libpthreadCross =
-
if crossSystem != null && crossSystem.config == "i586-pc-gnu"
-
then gnu.libpthreadCross
-
else null;
texinfo = texinfo413;
}));
···
# be passed.
cross = null;
libcCross = if crossSystem != null then libcCross else null;
-
libpthreadCross =
-
if crossSystem != null && crossSystem.config == "i586-pc-gnu"
-
then gnu.libpthreadCross
-
else null;
-
}));
-
gcc48_multi =
-
if system == "x86_64-linux" then lowPrio (
-
wrapCCWith (import ../build-support/cc-wrapper) glibc_multi (gcc48.cc.override {
-
stdenv = overrideCC stdenv (wrapCCWith (import ../build-support/cc-wrapper) glibc_multi gcc.cc);
-
profiledCompiler = false;
-
enableMultilib = true;
-
}))
-
else throw "Multilib gcc not supported on ‘${system}’";
-
-
gcc48_debug = lowPrio (wrapCC (callPackage ../development/compilers/gcc/4.8 {
-
stripped = false;
-
-
inherit noSysDirs;
-
cross = null;
-
libcCross = null;
-
binutilsCross = null;
+
isl = isl_0_14;
}));
gcc49 = lowPrio (wrapCC (callPackage ../development/compilers/gcc/4.9 {
···
# be passed.
cross = null;
libcCross = if crossSystem != null then libcCross else null;
-
libpthreadCross =
-
if crossSystem != null && crossSystem.config == "i586-pc-gnu"
-
then gnu.libpthreadCross
-
else null;
isl = isl_0_11;
···
# be passed.
cross = null;
libcCross = if crossSystem != null then libcCross else null;
-
libpthreadCross =
-
if crossSystem != null && crossSystem.config == "i586-pc-gnu"
-
then gnu.libpthreadCross
-
else null;
isl = isl_0_14;
}));
···
go_1_3 = callPackage ../development/compilers/go/1.3.nix { };
-
go_1_4 = callPackage ../development/compilers/go/1.4.nix { inherit (darwin) Security; };
+
go_1_4 = callPackage ../development/compilers/go/1.4.nix {
+
inherit (darwin.apple_sdk.frameworks) Security;
+
};
go = go_1_4;
···
nativePrefix = stdenv.cc.nativePrefix or "";
cc = baseCC;
libc = libc;
+
dyld = if stdenv.isDarwin then darwin.dyld else null;
isGNU = baseCC.isGNU or false;
isClang = baseCC.isClang or false;
inherit stdenv binutils coreutils zlib;
};
-
wrapCC = wrapCCWith (makeOverridable (import ../build-support/cc-wrapper)) glibc;
+
wrapCC = wrapCCWith (makeOverridable (import ../build-support/cc-wrapper)) stdenv.cc.libc;
# legacy version, used for gnat bootstrapping
wrapGCC-old = baseGCC: (makeOverridable (import ../build-support/gcc-wrapper-old)) {
nativeTools = stdenv.cc.nativeTools or false;
···
inherit stdenv gcc binutils libc shell name cross;
});
-
/* Alternative GCC wrapper that uses the standard -I include flag instead of
-
* -isystem. The -isystem flag can change the search order specified by prior
-
* -I flags. For KDE 5 packages, we don't want to interfere with the include
-
* search path order specified by the build system. Some packages depend on
-
* Qt 4 and Qt 5 simultaneously; because the two Qt versions provide headers
-
* with the same filenames, we must respect the search order specified by the
-
* build system so that the Qt 4 components find the Qt 4 headers and the Qt 5
-
* components find the Qt 5 headers.
-
*/
-
wrapGCCStdInc = glibc: baseGCC: (import ../build-support/cc-wrapper) {
-
nativeTools = stdenv.cc.nativeTools or false;
-
nativeLibc = stdenv.cc.nativeLibc or false;
-
nativePrefix = stdenv.cc.nativePrefix or "";
-
cc = baseGCC;
-
libc = glibc;
-
isGNU = true;
-
inherit stdenv binutils coreutils zlib;
-
setupHook = ../build-support/cc-wrapper/setup-hook-stdinc.sh;
-
};
-
-
gccStdInc = wrapGCCStdInc glibc gcc.cc;
-
# prolog
yap = callPackage ../development/compilers/yap { };
···
fetchurl = fetchurlBoot;
};
+
perl522 = callPackage ../development/interpreters/perl/5.22 {
+
fetchurl = fetchurlBoot;
+
};
+
+
# Make perl522 the default once gnulib is updated to support it.
perl = perl520;
php = php56;
···
};
python27 = callPackage ../development/interpreters/python/2.7 {
self = python27;
+
inherit (darwin) CF configd;
};
python32 = callPackage ../development/interpreters/python/3.2 {
self = python32;
···
bundlerEnv = callPackage ../development/interpreters/ruby/bundler-env { };
ruby_1_8_7 = callPackage ../development/interpreters/ruby/ruby-1.8.7.nix { };
-
ruby_1_9_3 = callPackage ../development/interpreters/ruby/ruby-1.9.3.nix { };
+
ruby_1_9_3 = callPackage ../development/interpreters/ruby/ruby-1.9.3.nix {
+
inherit (darwin) libobjc;
+
};
ruby_2_0_0 = callPackage ../development/interpreters/ruby/ruby-2.0.0.nix { };
ruby_2_1_0 = callPackage ../development/interpreters/ruby/ruby-2.1.0.nix { };
ruby_2_1_1 = callPackage ../development/interpreters/ruby/ruby-2.1.1.nix { };
ruby_2_1_2 = callPackage ../development/interpreters/ruby/ruby-2.1.2.nix { };
ruby_2_1_3 = callPackage ../development/interpreters/ruby/ruby-2.1.3.nix { };
ruby_2_1_6 = callPackage ../development/interpreters/ruby/ruby-2.1.6.nix { };
-
ruby_2_2_0 = callPackage ../development/interpreters/ruby/ruby-2.2.0.nix { };
-
ruby_2_2_2 = callPackage ../development/interpreters/ruby/ruby-2.2.2.nix { };
+
ruby_2_2_0 = callPackage ../development/interpreters/ruby/ruby-2.2.0.nix {
+
inherit (darwin) libobjc libunwind;
+
};
+
ruby_2_2_2 = callPackage ../development/interpreters/ruby/ruby-2.2.2.nix {
+
inherit (darwin) libobjc libunwind;
+
};
# Ruby aliases
ruby = ruby_2_2;
···
bin_replace_string = callPackage ../development/tools/misc/bin_replace_string { };
-
binutils = if stdenv.isDarwin
-
then import ../build-support/native-darwin-cctools-wrapper {inherit stdenv;}
-
else callPackage ../development/tools/misc/binutils {
-
inherit noSysDirs;
-
};
+
binutils = if stdenv.isDarwin then darwin.binutils else binutils-raw;
+
+
binutils-raw = callPackage ../development/tools/misc/binutils { inherit noSysDirs; };
binutils_nogold = lowPrio (callPackage ../development/tools/misc/binutils {
inherit noSysDirs;
gold = false;
});
-
binutilsCross =
-
if crossSystem != null && crossSystem.libc == "libSystem" then darwin.cctools_cross
-
else lowPrio (forceNativeDrv (import ../development/tools/misc/binutils {
-
inherit stdenv fetchurl zlib bison;
+
binutilsCross = assert crossSystem != null; lowPrio (forceNativeDrv (
+
if crossSystem.libc == "libSystem" then darwin.cctools_cross
+
else binutils.override {
noSysDirs = true;
-
cross = assert crossSystem != null; crossSystem;
+
cross = crossSystem;
}));
bison2 = callPackage ../development/tools/parsing/bison/2.x.nix { };
···
cmake-2_8 = callPackage ../development/tools/build-managers/cmake/2.8.nix {
wantPS = stdenv.isDarwin;
-
ps = if stdenv.isDarwin then darwin.ps else null;
+
ps = if stdenv.isDarwin then darwin.adv_cmds else null;
};
cmake = callPackage ../development/tools/build-managers/cmake {
wantPS = stdenv.isDarwin;
-
ps = if stdenv.isDarwin then darwin.ps else null;
+
ps = if stdenv.isDarwin then darwin.adv_cmds else null;
};
cmakeCurses = cmake.override { useNcurses = true; };
···
withGd = true;
};
-
glibcCross = forceNativeDrv (makeOverridable (import ../development/libraries/glibc)
-
(let crossGNU = crossSystem != null && crossSystem.config == "i586-pc-gnu";
-
in {
-
inherit stdenv fetchurl;
-
gccCross = gccCrossStageStatic;
-
kernelHeaders = if crossGNU then gnu.hurdHeaders else linuxHeadersCross;
-
installLocales = config.glibc.locales or false;
-
}
-
// lib.optionalAttrs crossGNU {
-
inherit (gnu) machHeaders hurdHeaders libpthreadHeaders mig;
-
inherit fetchgit;
-
}));
-
+
glibcCross = forceNativeDrv (glibc.override {
+
gccCross = gccCrossStageStatic;
+
kernelHeaders = linuxHeadersCross;
+
});
# We can choose:
-
libcCrossChooser = name : if name == "glibc" then glibcCross
+
libcCrossChooser = name: if name == "glibc" then glibcCross
else if name == "uclibc" then uclibcCross
else if name == "msvcrt" then windows.mingw_w64
else if name == "libSystem" then darwin.xcode
···
hamlib = callPackage ../development/libraries/hamlib { };
-
# TODO : Add MIT Kerberos and let admin choose.
-
# TODO : Fix kerberos on Darwin
-
kerberos = if stdenv.isDarwin then null else libheimdal;
+
# TODO : Let admin choose.
+
# We are using mit-krb5 because it is better maintained
+
kerberos = libkrb5;
-
heimdal = callPackage ../development/libraries/kerberos/heimdal.nix {
-
openldap = openldap.override {
-
cyrus_sasl = cyrus_sasl.override { kerberos = null; };
-
};
-
cyrus_sasl = cyrus_sasl.override { kerberos = null; };
-
};
-
libheimdal = heimdal;
+
heimdalFull = callPackage ../development/libraries/kerberos/heimdal.nix { };
+
libheimdal = heimdalFull.override { type = "lib"; };
harfbuzz = callPackage ../development/libraries/harfbuzz { };
harfbuzz-icu = callPackage ../development/libraries/harfbuzz {
···
kinetic-cpp-client = callPackage ../development/libraries/kinetic-cpp-client { };
-
krb5 = callPackage ../development/libraries/kerberos/krb5.nix {
-
openldap = openldap.override {
-
cyrus_sasl = cyrus_sasl.override { kerberos = null; };
-
};
+
krb5Full = callPackage ../development/libraries/kerberos/krb5.nix {
inherit (darwin) bootstrap_cmds;
};
-
libkrb5 = krb5;
+
libkrb5 = krb5Full.override { type = "lib"; };
LASzip = callPackage ../development/libraries/LASzip { };
···
# glibc provides libiconv so systems with glibc don't need to build libiconv
# separately, but we also provide libiconvReal, which will always be a
# standalone libiconv, just in case you want it
-
libiconv = if stdenv.isGlibc then stdenv.cc.libc else libiconvReal;
+
libiconv = if crossSystem != null then
+
(if crossSystem.libc == "glibc" then libcCross
+
else if crossSystem.libc == "libSystem" then darwin.libiconv
+
else libiconvReal)
+
else if stdenv.isGlibc then stdenv.cc.libc
+
else if stdenv.isDarwin then darwin.libiconv
+
else libiconvReal;
libiconvReal = callPackage ../development/libraries/libiconv {
fetchurl = fetchurlBoot;
···
libusb = callPackage ../development/libraries/libusb {};
-
libusb1 = callPackage ../development/libraries/libusb1 { };
+
libusb1 = callPackage ../development/libraries/libusb1 {
+
inherit (darwin) libobjc IOKit;
+
};
libusbmuxd = callPackage ../development/libraries/libusbmuxd { };
···
libuvVersions = recurseIntoAttrs (callPackage ../development/libraries/libuv {
automake = automake113x; # fails with 14
+
inherit (darwin.apple_sdk.frameworks) ApplicationServices CoreServices;
});
libuv = libuvVersions.v1_6_1;
···
# makes it slower, but during runtime we link against just mesa_drivers
# through /run/opengl-driver*, which is overriden according to config.grsecurity
grsecEnabled = true;
-
libva = libva.override { mesa = null; };
llvmPackages = llvmPackages_36;
});
mesa_glu = mesaDarwinOr (callPackage ../development/libraries/mesa-glu { });
···
SDL = callPackage ../development/libraries/SDL {
openglSupport = mesaSupported;
-
alsaSupport = (!stdenv.isDarwin);
-
x11Support = true;
-
pulseaudioSupport = (!stdenv.isDarwin);
+
alsaSupport = stdenv.isLinux;
+
x11Support = !stdenv.isCygwin;
+
pulseaudioSupport = stdenv.isLinux;
};
SDL_gfx = callPackage ../development/libraries/SDL_gfx { };
···
SDL2 = callPackage ../development/libraries/SDL2 {
openglSupport = mesaSupported;
-
alsaSupport = (!stdenv.isDarwin);
-
x11Support = (!stdenv.isDarwin);
+
alsaSupport = stdenv.isLinux;
+
x11Support = !stdenv.isCygwin;
pulseaudioSupport = false; # better go through ALSA
};
···
v8_3_16_14 = callPackage ../development/libraries/v8/3.16.14.nix {
inherit (pythonPackages) gyp;
+
stdenv = overrideCC stdenv gcc48;
};
v8_3_24_10 = callPackage ../development/libraries/v8/3.24.10.nix {
···
xctoolchain = xcode.toolchain;
};
-
cctools = (callPackage ../os-specific/darwin/cctools/port.nix {}).native;
+
cctools = (callPackage ../os-specific/darwin/cctools/port.nix { inherit libobjc; }).native;
maloader = callPackage ../os-specific/darwin/maloader {
inherit opencflite;
···
xcode = callPackage ../os-specific/darwin/xcode {};
osx_sdk = callPackage ../os-specific/darwin/osx-sdk {};
-
osx_private_sdk = callPackage ../os-specific/darwin/osx-private-sdk { inherit osx_sdk; };
+
osx_private_sdk = callPackage ../os-specific/darwin/osx-private-sdk {};
-
ps = callPackage ../os-specific/darwin/adv_cmds/ps.nix {};
+
security_tool = (newScope (darwin.apple_sdk.frameworks // darwin)) ../os-specific/darwin/security-tool { };
-
security_tool = callPackage ../os-specific/darwin/security-tool { inherit osx_private_sdk; };
+
binutils = callPackage ../os-specific/darwin/binutils { inherit cctools; };
cmdline_sdk = cmdline.sdk;
cmdline_tools = cmdline.tools;
+
apple_sdk = callPackage ../os-specific/darwin/apple-sdk {
+
inherit (darwin) CF;
+
};
+
libobjc = apple-source-releases.objc4;
};
+
gnustep-make = callPackage ../development/tools/build-managers/gnustep/make {};
+
gnustep-xcode = callPackage ../development/tools/build-managers/gnustep/xcode {
+
inherit (darwin.apple_sdk.frameworks) Foundation;
+
inherit (darwin) libobjc;
+
};
+
devicemapper = lvm2;
disk_indicator = callPackage ../os-specific/linux/disk-indicator { };
···
freepv = callPackage ../applications/graphics/freepv { };
xfontsel = callPackage ../applications/misc/xfontsel { };
-
xlsfonts = callPackage ../applications/misc/xlsfonts { };
+
inherit (xorg) xlsfonts;
freerdp = callPackage ../applications/networking/remote/freerdp {
ffmpeg = ffmpeg_1;
···
mercurial = callPackage ../applications/version-management/mercurial {
inherit (pythonPackages) curses docutils hg-git dulwich;
+
inherit (darwin.apple_sdk.frameworks) ApplicationServices;
guiSupport = false; # use mercurialFull to get hgk GUI
···
minimodem = callPackage ../applications/audio/minimodem { };
minidjvu = callPackage ../applications/graphics/minidjvu { };
+
+
minitube = callPackage ../applications/video/minitube { };
mimms = callPackage ../applications/audio/mimms {};
···
flup = pythonPackages.flup;
-
vim = callPackage ../applications/editors/vim { };
+
vim = callPackage ../applications/editors/vim {
+
inherit (darwin.apple_sdk.frameworks) CoreServices Cocoa Foundation CoreData;
+
inherit (darwin) libobjc;
+
};
macvim = callPackage ../applications/editors/vim/macvim.nix { stdenv = clangStdenv; };
···
graphicsSupport = false;
-
weechat = callPackage ../applications/networking/irc/weechat { };
+
weechat = callPackage ../applications/networking/irc/weechat {
+
inherit (darwin) libobjc;
+
};
westonLite = callPackage ../applications/window-managers/weston {
pango = null;
···
xchm = callPackage ../applications/misc/xchm { };
-
xcompmgr = callPackage ../applications/window-managers/xcompmgr { };
+
inherit (xorg) xcompmgr;
compton = callPackage ../applications/window-managers/compton { };
+21 -20
pkgs/top-level/perl-packages.nix
···
inherit (pkgs) db;
};
-
DBI = buildPerlPackage {
-
name = "DBI-1.631";
+
DBI = buildPerlPackage rec {
+
name = "DBI-1.633";
src = fetchurl {
-
url = mirror://cpan/authors/id/T/TI/TIMB/DBI-1.631.tar.gz;
-
sha256 = "04fmrnchhwi7jx4niaiv93vmi343hdm3xj04w9zr2m9hhqh782np";
+
url = "mirror://cpan/authors/id/T/TI/TIMB/${name}.tar.gz";
+
sha256 = "1rsyrzmykl7fxpvxmrjmy3dh9szp639fqdhbccqvywpnr7fbmhg2";
};
meta = {
homepage = http://dbi.perl.org/;
···
};
};
-
FontTTF = buildPerlPackage {
-
name = "Font-TTF-0.48";
+
FontTTF = buildPerlPackage rec {
+
name = "Font-TTF-1.05";
src = fetchurl {
-
url = mirror://cpan/authors/id/M/MH/MHOSKEN/Font-TTF-0.48.tar.gz;
-
sha256 = "0lhz7v8ihaj35y6kr7jb971hgc4iqh1nz3qbfkignb9i8b1dw97r";
+
url = "mirror://cpan/authors/id/M/MH/MHOSKEN/${name}.tar.gz";
+
sha256 = "0l7vxag0v3hf7w1kjyjv02zqrjzhg6xczcv60z00l3z0fr78xi16";
};
+
propagatedBuildInputs = [ IOString ];
};
ForksSuper = buildPerlPackage {
···
};
IOTty = buildPerlPackage rec {
-
name = "IO-Tty-1.10";
+
name = "IO-Tty-1.12";
src = fetchurl {
url = "mirror://cpan/authors/id/T/TO/TODDR/${name}.tar.gz";
-
sha256 = "1cgqyv1zg8857inlnfczrrgpqr0r6mmqv29b7jlmxv47s4df59ii";
+
sha256 = "0399anjy3bc0w8xzsc3qx5vcyqryc9gc52lc7wh7i49hsdq8gvx2";
};
};
···
};
};
-
LWP = buildPerlPackage {
-
name = "libwww-perl-6.05";
+
LWP = buildPerlPackage rec {
+
name = "libwww-perl-6.13";
src = fetchurl {
-
url = mirror://cpan/authors/id/G/GA/GAAS/libwww-perl-6.05.tar.gz;
-
sha256 = "08wgwyz7748pv5cyngxia0xl6nragfnhrp4p9s78xhgfyygpj9bv";
+
url = "mirror://cpan/authors/id/E/ET/ETHER/${name}.tar.gz";
+
sha256 = "1cpqjl59viw50bnbdyn8xzrwzg7g54b2rszw0fifacqrppp17gaz";
};
propagatedBuildInputs = [ EncodeLocale FileListing HTMLParser HTTPCookies HTTPDaemon HTTPDate HTTPNegotiate HTTPMessage LWPMediaTypes NetHTTP URI WWWRobotRules ];
doCheck = false; # tries to start a daemon
···
};
TermReadLineGnu = buildPerlPackage rec {
-
name = "Term-ReadLine-Gnu-1.24";
+
name = "Term-ReadLine-Gnu-1.26";
src = fetchurl {
url = "mirror://cpan/authors/id/H/HA/HAYASHI/${name}.tar.gz";
-
sha256 = "0dp18pgn8vl4dh6rgzcp1kzk4j6wjrrxd6sfcrrywy7jg4b7ikfc";
+
sha256 = "1s2dvjbh501c04s5hpf17mwirslmhqmsymg3ri4hcvh5yvp7bw7q";
};
buildInputs = [ pkgs.readline pkgs.ncurses ];
NIX_CFLAGS_LINK = "-lreadline";
···
XMLLibXML = buildPerlPackage rec {
-
name = "XML-LibXML-2.0115";
+
name = "XML-LibXML-2.0121";
src = fetchurl {
url = "mirror://cpan/authors/id/S/SH/SHLOMIF/${name}.tar.gz";
-
sha256 = "0d6l6idl2920x9xi097fvzfdn9i0s8qa9ksw4bz2w1wh3zsn07zm";
+
sha256 = "1j8d3kmkdlzvyx3khvrcrvp798h50i6zc5i3zm04d81prc8i0hzc";
SKIP_SAX_INSTALL = 1;
buildInputs = [ pkgs.libxml2 ];
···
XMLWriter = buildPerlPackage rec {
-
name = "XML-Writer-0.624";
+
name = "XML-Writer-0.625";
src = fetchurl {
url = "mirror://cpan/authors/id/J/JO/JOSEPHW/${name}.tar.gz";
-
sha256 = "0yyz0dh9b4clailbxyi90dfrqpyc6py77rmmz6qmkx7ynlpyxk46";
+
sha256 = "1gjzs570i67ywbv967g8ylb5sg59clwmyrl2yix3jl70dhn55070";
+13 -7
pkgs/top-level/php-packages.nix
···
};
memcached = buildPecl {
-
name = "memcached-2.1.0";
+
name = "memcached-2.2.0";
-
sha256 = "1by4zhkq4mbk9ja6s0vlavv5ng8aw5apn3a1in84fkz7bc0l0jdw";
+
sha256 = "0n4z2mp4rvrbmxq079zdsrhjxjkmhz6mzi7mlcipz02cdl7n1f8p";
configureFlags = [
"--with-zlib-dir=${pkgs.zlib}"
"--with-libmemcached-dir=${pkgs.libmemcached}"
];
-
buildInputs = [ pkgs.cyrus_sasl ];
+
buildInputs = with pkgs; [ pkgconfig cyrus_sasl ];
};
xdebug = buildPecl {
-
name = "xdebug-2.2.5";
+
name = "xdebug-2.3.1";
-
sha256 = "0vss35da615709kdvqji8pblckfvmabmj2njjjz6h8zzvj9gximd";
+
sha256 = "0k567i6w7cw14m13s7ip0946pvy5ii16cjwjcinnviw9c24na0xm";
+
+
doCheck = true;
+
checkTarget = "test";
};
zendopcache = buildPecl {
···
xcache = buildPecl rec {
name = "xcache-${version}";
-
version = "3.1.0";
+
version = "3.2.0";
src = pkgs.fetchurl {
url = "http://xcache.lighttpd.net/pub/Releases/${version}/${name}.tar.bz2";
-
sha256 = "1saysvzwkfmcyg53za4j7qnranxd6871spjzfpclhdlqm043xbw6";
+
sha256 = "1gbcpw64da9ynjxv70jybwf9y88idm01kb16j87vfagpsp5s64kx";
};
+
+
doCheck = true;
+
checkTarget = "test";
configureFlags = [
"--enable-xcache"
+6
pkgs/top-level/python-packages.nix
···
sha256 = "0cds7yvwdlqmd590i59vzxaviwxk4js6dkhnmdxb3p1xac7wmq9s";
};
+
patchPhase = ''
+
pushd libev
+
patch -p1 < ${../development/libraries/libev/noreturn.patch}
+
popd
+
'';
+
buildInputs = with self; [ pkgs.libev ];
propagatedBuildInputs = optionals (!isPyPy) [ self.greenlet ];