3
0
Fork 0
forked from mirrors/nixpkgs

merge the rest of multiple-outputs

Conflicts:
	pkgs/development/libraries/glibc/2.19/builder.sh (previous merge taken)
	pkgs/development/tools/misc/patchelf/default.nix (easy)
	pkgs/stdenv/generic/setup.sh (previous merge taken)
This commit is contained in:
Vladimír Čunát 2014-08-25 10:40:57 +02:00
commit 77da5efc78
56 changed files with 398 additions and 102 deletions

View file

@ -12,6 +12,8 @@ stdenv.mkDerivation rec {
#doCheck = true; # takes lots of time #doCheck = true; # takes lots of time
outputs = [ "dev" "out" "bin" "doc" ];
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = http://xiph.org/flac/; homepage = http://xiph.org/flac/;
description = "Library and tools for encoding and decoding the FLAC lossless audio file format"; description = "Library and tools for encoding and decoding the FLAC lossless audio file format";

View file

@ -24,7 +24,7 @@ if test -z "$nativeLibc"; then
# compile, because it uses "#include_next <limits.h>" to find the # compile, because it uses "#include_next <limits.h>" to find the
# limits.h file in ../includes-fixed. To remedy the problem, # limits.h file in ../includes-fixed. To remedy the problem,
# another -idirafter is necessary to add that directory again. # another -idirafter is necessary to add that directory again.
echo "-B$libc/lib/ -idirafter $libc/include -idirafter $gcc/lib/gcc/*/*/include-fixed" > $out/nix-support/libc-cflags echo "-B$libc/lib/ -idirafter $libc_dev/include -idirafter $gcc/lib/gcc/*/*/include-fixed" > $out/nix-support/libc-cflags
echo "-L$libc/lib" > $out/nix-support/libc-ldflags echo "-L$libc/lib" > $out/nix-support/libc-ldflags
@ -39,9 +39,9 @@ if test -n "$nativeTools"; then
ldPath="$nativePrefix/bin" ldPath="$nativePrefix/bin"
else else
if test -e "$gcc/lib64"; then if test -e "$gcc/lib64"; then
gccLDFlags="$gccLDFlags -L$gcc/lib64" gccLDFlags="$gccLDFlags -L$gcc_lib/lib64"
fi fi
gccLDFlags="$gccLDFlags -L$gcc/lib" gccLDFlags="$gccLDFlags -L$gcc_lib/lib"
if [ -n "$langVhdl" ]; then if [ -n "$langVhdl" ]; then
gccLDFlags="$gccLDFlags -L$zlib/lib" gccLDFlags="$gccLDFlags -L$zlib/lib"
fi fi
@ -95,6 +95,7 @@ doSubstitute() {
-e "s^@binutils@^$binutils^g" \ -e "s^@binutils@^$binutils^g" \
-e "s^@coreutils@^$coreutils^g" \ -e "s^@coreutils@^$coreutils^g" \
-e "s^@libc@^$libc^g" \ -e "s^@libc@^$libc^g" \
-e "s^@libc_bin@^$libc_bin^g" \
-e "s^@ld@^$ld^g" \ -e "s^@ld@^$ld^g" \
< "$src" > "$dst" < "$src" > "$dst"
} }
@ -210,5 +211,5 @@ cp -p $utils $out/nix-support/utils.sh
# tools like gcov, the manpages, etc. as well (including for binutils # tools like gcov, the manpages, etc. as well (including for binutils
# and Glibc). # and Glibc).
if test -z "$nativeTools"; then if test -z "$nativeTools"; then
echo $gcc $binutils $libc > $out/nix-support/propagated-user-env-packages echo $gcc $binutils $libc $libc_bin > $out/nix-support/propagated-user-env-packages
fi fi

View file

@ -41,7 +41,10 @@ stdenv.mkDerivation {
addFlags = ./add-flags; addFlags = ./add-flags;
inherit nativeTools nativeLibc nativePrefix gcc; inherit nativeTools nativeLibc nativePrefix gcc;
gcc_lib = gcc.lib or gcc;
libc = if nativeLibc then null else libc; libc = if nativeLibc then null else libc;
libc_dev = if nativeLibc then null else libc.dev or libc;
libc_bin = if nativeLibc then null else libc.bin or libc;
binutils = if nativeTools then null else binutils; binutils = if nativeTools then null else binutils;
# The wrapper scripts use 'cat', so we may need coreutils # The wrapper scripts use 'cat', so we may need coreutils
coreutils = if nativeTools then null else coreutils; coreutils = if nativeTools then null else coreutils;

View file

@ -27,7 +27,7 @@ if test -n "@binutils@"; then
fi fi
if test -n "@libc@"; then if test -n "@libc@"; then
addToSearchPath PATH @libc@/bin addToSearchPath PATH @libc_bin@/bin
fi fi
if test -n "@coreutils@"; then if test -n "@coreutils@"; then

View file

@ -0,0 +1,85 @@
{ stdenv }:
with stdenv.lib;
{ outputs ? [ "out" ], setOutputConfigureFlags ? true, ... } @ args:
stdenv.mkDerivation (args // {
#postPhases = [ "fixupOutputsPhase" ] ++ args.postPhases or [];
preHook =
if setOutputConfigureFlags then
optionalString (elem "man" outputs) ''
configureFlags="--mandir=$man/share/man --infodir=$man/share/info $configureFlags"
'' +
optionalString (elem "bin" outputs) ''
configureFlags="--bindir=$bin/bin --sbindir=$bin/sbin --mandir=$bin/share/man --infodir=$man/share/info $configureFlags"
'' +
optionalString (elem "lib" outputs) ''
configureFlags="--libdir=$lib/lib $configureFlags"
'' +
optionalString (elem "dev" outputs) ''
configureFlags="--includedir=$dev/include $configureFlags"
installFlags="pkgconfigdir=$dev/lib/pkgconfig m4datadir=$dev/share/aclocal aclocaldir=$dev/share/aclocal $installFlags"
''
else null;
preFixup =
''
runHook preFixupOutputs
if [ -n "$doc" ]; then
for i in share/doc share/gtk-doc; do
if [ -e $out/$i ]; then
mkdir -p $doc/$i
mv $out/$i/* $doc/$i/
rmdir $out/$i
fi
done
rmdir --ignore-fail-on-non-empty $out/share
fi
if [ -n "$dev" ]; then
mkdir -p "$dev/nix-support"
if [ -n "$propagatedBuildInputs" ]; then
echo "$propagatedBuildInputs" > "$dev/nix-support/propagated-build-inputs"
propagatedBuildInputs=
fi
echo "$out $lib $bin $propagatedNativeBuildInputs" > "$dev/nix-support/propagated-native-build-inputs"
propagatedNativeBuildInputs=
elif [ -n "$out" ]; then
propagatedNativeBuildInputs="$lib $propagatedNativeBuildsInputs"
fi
for i in $bin $lib $man $static; do
if [ -z "$dontStrip" ]; then
prefix="$i" stripDirs "lib lib64 libexec bin sbin" "''${stripDebugFlags:--S}"
fi
if [ "$havePatchELF" = 1 -a -z "$dontPatchELF" ]; then
prefix="$i" patchELF
fi
if [ -z "$dontPatchShebangs" ]; then
patchShebangs "$i"
fi
# Cut&paste...
if [ -z "$dontGzipMan" ]; then
GLOBIGNORE=.:..:*.gz:*.bz2
for f in $i/share/man/*/* $i/share/man/*/*/*; do
if [ -f $f ]; then
if gzip -c $f > $f.gz; then
rm $f
else
rm $f.gz
fi
fi
done
unset GLOBIGNORE
fi
done
runHook postFixupOutputs
''; # */
})

View file

@ -8,9 +8,10 @@ mkdir $NIX_FIXINC_DUMMY
if test "$staticCompiler" = "1"; then if test "$staticCompiler" = "1"; then
EXTRA_LDFLAGS="-static" EXTRA_LDFLAGS="-static"
else else
EXTRA_LDFLAGS="" EXTRA_LDFLAGS="-Wl,-rpath,$lib/lib"
fi fi
# GCC interprets empty paths as ".", which we don't want. # GCC interprets empty paths as ".", which we don't want.
if test -z "$CPATH"; then unset CPATH; fi if test -z "$CPATH"; then unset CPATH; fi
if test -z "$LIBRARY_PATH"; then unset LIBRARY_PATH; fi if test -z "$LIBRARY_PATH"; then unset LIBRARY_PATH; fi
@ -29,7 +30,7 @@ if test "$noSysDirs" = "1"; then
# Use *real* header files, otherwise a limits.h is generated # Use *real* header files, otherwise a limits.h is generated
# that does not include Glibc's limits.h (notably missing # that does not include Glibc's limits.h (notably missing
# SSIZE_MAX, which breaks the build). # SSIZE_MAX, which breaks the build).
export NIX_FIXINC_DUMMY=$(cat $NIX_GCC/nix-support/orig-libc)/include export NIX_FIXINC_DUMMY=$libc_dev/include
# The path to the Glibc binaries such as `crti.o'. # The path to the Glibc binaries such as `crti.o'.
glibc_libdir="$(cat $NIX_GCC/nix-support/orig-libc)/lib" glibc_libdir="$(cat $NIX_GCC/nix-support/orig-libc)/lib"
@ -50,10 +51,10 @@ if test "$noSysDirs" = "1"; then
# bootstrap compiler are optimized and (optionally) contain # bootstrap compiler are optimized and (optionally) contain
# debugging information (info "(gccinstall) Building"). # debugging information (info "(gccinstall) Building").
if test -n "$dontStrip"; then if test -n "$dontStrip"; then
extraFlags="-O2 -g $extraFlags" extraFlags="-O2 -g $extraFlags"
else else
# Don't pass `-g' at all; this saves space while building. # Don't pass `-g' at all; this saves space while building.
extraFlags="-O2 $extraFlags" extraFlags="-O2 $extraFlags"
fi fi
EXTRA_FLAGS="$extraFlags" EXTRA_FLAGS="$extraFlags"
@ -170,9 +171,8 @@ preConfigure() {
# Patch the configure script so it finds glibc headers. It's # Patch the configure script so it finds glibc headers. It's
# important for example in order not to get libssp built, # important for example in order not to get libssp built,
# because its functionality is in glibc already. # because its functionality is in glibc already.
glibc_headers="$(cat $NIX_GCC/nix-support/orig-libc)/include"
sed -i \ sed -i \
-e "s,glibc_header_dir=/usr/include,glibc_header_dir=$glibc_headers", \ -e "s,glibc_header_dir=/usr/include,glibc_header_dir=$libc_dev/include", \
gcc/configure gcc/configure
fi fi
@ -206,6 +206,14 @@ preInstall() {
postInstall() { postInstall() {
# Move runtime libraries to $lib.
mkdir -p $lib/lib
ln -s lib $lib/lib64
mv -v $out/lib/lib*.so $out/lib/lib*.so.*[0-9] $out/lib/*.la $lib/lib/
for i in $lib/lib/*.la; do
substituteInPlace $i --replace $out $lib
done
# Remove precompiled headers for now. They are very big and # Remove precompiled headers for now. They are very big and
# probably not very useful yet. # probably not very useful yet.
find $out/include -name "*.gch" -exec rm -rf {} \; -prune find $out/include -name "*.gch" -exec rm -rf {} \; -prune
@ -217,6 +225,7 @@ postInstall() {
# More dependencies with the previous gcc or some libs (gccbug stores the build command line) # More dependencies with the previous gcc or some libs (gccbug stores the build command line)
rm -rf $out/bin/gccbug rm -rf $out/bin/gccbug
# Take out the bootstrap-tools from the rpath, as it's not needed at all having $out # Take out the bootstrap-tools from the rpath, as it's not needed at all having $out
for i in $out/libexec/gcc/*/*/*; do for i in $out/libexec/gcc/*/*/*; do
if PREV_RPATH=`patchelf --print-rpath $i`; then if PREV_RPATH=`patchelf --print-rpath $i`; then
@ -225,7 +234,7 @@ postInstall() {
done done
# Get rid of some "fixed" header files # Get rid of some "fixed" header files
rm -rf $out/lib/gcc/*/*/include/root rm -rfv $out/lib/gcc/*/*/include-fixed/{root,linux}
# Replace hard links for i686-pc-linux-gnu-gcc etc. with symlinks. # Replace hard links for i686-pc-linux-gnu-gcc etc. with symlinks.
for i in $out/bin/*-gcc*; do for i in $out/bin/*-gcc*; do

View file

@ -173,7 +173,7 @@ let version = "4.6.3";
"-stage-final"; "-stage-final";
crossNameAddon = if cross != null then "-${cross.config}" + stageNameAddon else ""; crossNameAddon = if cross != null then "-${cross.config}" + stageNameAddon else "";
bootstrap = cross == null && !stdenv.isArm && !stdenv.isMips; bootstrap = cross == null && !stdenv.isArm && !stdenv.isMips;
in in
@ -185,13 +185,19 @@ stdenv.mkDerivation ({
builder = ./builder.sh; builder = ./builder.sh;
src = (import ./sources.nix) { srcs = (import ./sources.nix) {
inherit fetchurl optional version; inherit fetchurl optional version;
inherit langC langCC langFortran langJava langAda langGo; inherit langC langCC langFortran langJava langAda langGo;
}; };
outputs = [ "out" "lib" ];
setOutputConfigureFlags = false;
inherit patches enableMultilib; inherit patches enableMultilib;
libc_dev = stdenv.gcc.libc_dev;
postPatch = postPatch =
if (stdenv.isGNU if (stdenv.isGNU
|| (libcCross != null # e.g., building `gcc.crossDrv' || (libcCross != null # e.g., building `gcc.crossDrv'

View file

@ -18,6 +18,11 @@ stdenv.mkDerivation rec {
sha256 = "1dpd9lhc4723wmsn4dsn4m320qlqgyw28bvcbhnfqp2nl3f0ikv9"; sha256 = "1dpd9lhc4723wmsn4dsn4m320qlqgyw28bvcbhnfqp2nl3f0ikv9";
}; };
# TODO: Add a "dev" output containing the header files.
outputs = [ "out" "man" ];
setOutputConfigureFlags = false;
patches = patches =
[ # Do not look in /usr etc. for dependencies. [ # Do not look in /usr etc. for dependencies.
./no-sys-dirs.patch ./no-sys-dirs.patch
@ -49,7 +54,7 @@ stdenv.mkDerivation rec {
preConfigure = preConfigure =
'' ''
configureFlags="$configureFlags -Dprefix=$out -Dman1dir=$out/share/man/man1 -Dman3dir=$out/share/man/man3" configureFlags="$configureFlags -Dprefix=$out -Dman1dir=$man/share/man/man1 -Dman3dir=$man/share/man/man3"
${optionalString stdenv.isArm '' ${optionalString stdenv.isArm ''
configureFlagsArray=(-Dldflags="-lm -lrt") configureFlagsArray=(-Dldflags="-lm -lrt")
@ -68,6 +73,17 @@ stdenv.mkDerivation rec {
substituteInPlace dist/Cwd/Cwd.pm --replace "'/bin/pwd'" "'$(type -tP pwd)'" substituteInPlace dist/Cwd/Cwd.pm --replace "'/bin/pwd'" "'$(type -tP pwd)'"
''; '';
postInstall =
''
# Remove dependency between "out" and "man" outputs.
rm $out/lib/perl5/*/*/.packlist
# Remove dependencies on glibc.dev and coreutils.
substituteInPlace $out/lib/perl5/*/*/Config_heavy.pl \
--replace ${stdenv.glibc.dev or "/blabla"} /no-such-path \
--replace $man /no-such-path
''; # */
setupHook = ./setup-hook.sh; setupHook = ./setup-hook.sh;
passthru.libPrefix = "lib/perl5/site_perl"; passthru.libPrefix = "lib/perl5/site_perl";

View file

@ -8,6 +8,8 @@ stdenv.mkDerivation rec {
sha256 = "08qd9s3wfhv0ajswsylnfwr5h0d7j9d4rgip855nrh400nxp940p"; sha256 = "08qd9s3wfhv0ajswsylnfwr5h0d7j9d4rgip855nrh400nxp940p";
}; };
outputs = [ "dev" "out" "bin" "doc" ];
nativeBuildInputs = [ gettext ]; nativeBuildInputs = [ gettext ];
buildInputs = [ attr ]; buildInputs = [ attr ];

View file

@ -23,11 +23,13 @@ stdenv.mkDerivation rec {
configureFlags = '' configureFlags = ''
--with-apr=${apr} --with-expat=${expat} --with-apr=${apr} --with-expat=${expat}
--with-crypto --with-crypto
${stdenv.lib.optionalString sslSupport "--with-openssl=${openssl}"} ${stdenv.lib.optionalString sslSupport "--with-openssl"}
${stdenv.lib.optionalString bdbSupport "--with-berkeley-db=${db}"} ${stdenv.lib.optionalString bdbSupport "--with-berkeley-db=${db}"}
${stdenv.lib.optionalString ldapSupport "--with-ldap"} ${stdenv.lib.optionalString ldapSupport "--with-ldap"}
''; '';
buildInputs = stdenv.lib.optional sslSupport openssl;
propagatedBuildInputs = [ makeWrapper apr expat ] propagatedBuildInputs = [ makeWrapper apr expat ]
++ optional sslSupport openssl ++ optional sslSupport openssl
++ optional bdbSupport db ++ optional bdbSupport db

View file

@ -10,6 +10,13 @@ stdenv.mkDerivation rec {
patches = stdenv.lib.optionals stdenv.isDarwin [ ./darwin_fix_configure.patch ]; patches = stdenv.lib.optionals stdenv.isDarwin [ ./darwin_fix_configure.patch ];
outputs = [ "dev" "out" ];
preConfigure =
''
configureFlagsArray+=("--with-installbuilddir=$dev/share/build")
'';
configureFlags = configureFlags =
# Including the Windows headers breaks unistd.h. # Including the Windows headers breaks unistd.h.
# Based on ftp://sourceware.org/pub/cygwin/release/libapr1/libapr1-1.3.8-2-src.tar.bz2 # Based on ftp://sourceware.org/pub/cygwin/release/libapr1/libapr1-1.3.8-2-src.tar.bz2
@ -17,6 +24,13 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true; enableParallelBuilding = true;
postInstall =
''
mkdir $dev/bin $dev/lib
mv $out/bin/apr-1-config $dev/bin
mv $out/lib/pkgconfig $dev/lib
'';
meta = { meta = {
homepage = http://apr.apache.org/; homepage = http://apr.apache.org/;
description = "The Apache Portable Runtime library"; description = "The Apache Portable Runtime library";

View file

@ -12,6 +12,10 @@ stdenv.mkDerivation rec {
sha256 = "13zijfcmx7sda83qkryzsmr9hw0r3b73xkagq9cmm733fhcl7a28"; sha256 = "13zijfcmx7sda83qkryzsmr9hw0r3b73xkagq9cmm733fhcl7a28";
}; };
enableParallelBuilding = true;
outputs = [ "dev" "out" "doc" ];
buildInputs = libintlOrEmpty; buildInputs = libintlOrEmpty;
nativeBuildInputs = [ pkgconfig perl ]; nativeBuildInputs = [ pkgconfig perl ];
@ -20,8 +24,6 @@ stdenv.mkDerivation rec {
#doCheck = true; # no checks in there (2.10.0) #doCheck = true; # no checks in there (2.10.0)
postInstall = "rm -rf $out/share/gtk-doc";
meta = { meta = {
description = "Accessibility toolkit"; description = "Accessibility toolkit";

View file

@ -8,6 +8,8 @@ stdenv.mkDerivation rec {
sha256 = "0nd8y0m6awc9ahv0ciiwf8gy54c8d3j51pw9xg7f7cn579jjyxr5"; sha256 = "0nd8y0m6awc9ahv0ciiwf8gy54c8d3j51pw9xg7f7cn579jjyxr5";
}; };
outputs = [ "dev" "out" "bin" "doc" ];
nativeBuildInputs = [ gettext ]; nativeBuildInputs = [ gettext ];
configureFlags = "MAKE=make MSGFMT=msgfmt MSGMERGE=msgmerge XGETTEXT=xgettext ECHO=echo SED=sed AWK=gawk"; configureFlags = "MAKE=make MSGFMT=msgfmt MSGMERGE=msgmerge XGETTEXT=xgettext ECHO=echo SED=sed AWK=gawk";

View file

@ -8,6 +8,8 @@ stdenv.mkDerivation rec {
sha256 = "0phwa5driahnpn79zqff14w9yc8sn3599cxz91m78hqdcpl0mznr"; sha256 = "0phwa5driahnpn79zqff14w9yc8sn3599cxz91m78hqdcpl0mznr";
}; };
outputs = [ "dev" "out" "doc" ];
configureFlags = "--enable-cplusplus"; configureFlags = "--enable-cplusplus";
doCheck = true; doCheck = true;
@ -15,6 +17,12 @@ stdenv.mkDerivation rec {
# Don't run the native `strip' when cross-compiling. # Don't run the native `strip' when cross-compiling.
dontStrip = stdenv ? cross; dontStrip = stdenv ? cross;
postInstall =
''
mkdir -p $out/share/doc
mv $out/share/gc $out/share/doc/gc
'';
meta = { meta = {
description = "The Boehm-Demers-Weiser conservative garbage collector for C and C++"; description = "The Boehm-Demers-Weiser conservative garbage collector for C and C++";

View file

@ -18,6 +18,8 @@ stdenv.mkDerivation rec {
sha256 = "0inqwsylqkrzcjivdirkjx5nhdgxbdc62fq284c3xppinfg9a195"; sha256 = "0inqwsylqkrzcjivdirkjx5nhdgxbdc62fq284c3xppinfg9a195";
}; };
outputs = [ "dev" "out" "bin" "doc" ];
nativeBuildInputs = [ pkgconfig ] ++ libintlOrEmpty ++ libiconvOrEmpty; nativeBuildInputs = [ pkgconfig ] ++ libintlOrEmpty ++ libiconvOrEmpty;
propagatedBuildInputs = propagatedBuildInputs =
@ -53,12 +55,7 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true; enableParallelBuilding = true;
# The default `--disable-gtk-doc' is ignored. postInstall = stdenv.lib.optionalString stdenv.isDarwin glib.flattenInclude;
postInstall = "rm -rf $out/share/gtk-doc"
+ stdenv.lib.optionalString stdenv.isDarwin (''
#newline
'' + glib.flattenInclude
);
meta = { meta = {
description = "A 2D graphics library with support for multiple output devices"; description = "A 2D graphics library with support for multiple output devices";

View file

@ -23,6 +23,10 @@ stdenv.mkDerivation rec {
sha256 = "0pppcn73b5pwd7zdi9yfx16f5i93y18q7q4jmlkwmwrfsllqp160"; sha256 = "0pppcn73b5pwd7zdi9yfx16f5i93y18q7q4jmlkwmwrfsllqp160";
}; };
outputs = [ "dev" "out" ];
configureFlags = "--disable-static --bindir=$(dev)/bin";
patches = [ ./enable-validation.patch ] # from Gentoo patches = [ ./enable-validation.patch ] # from Gentoo
++ [ ++ [
(fetch_bohoomil "freetype-2.5.3-pkgconfig.patch" "1dpfdh8kmka3gzv14glz7l79i545zizah6wma937574v5z2iy3nn") (fetch_bohoomil "freetype-2.5.3-pkgconfig.patch" "1dpfdh8kmka3gzv14glz7l79i545zizah6wma937574v5z2iy3nn")
@ -50,6 +54,10 @@ stdenv.mkDerivation rec {
# compat hacks # compat hacks
postInstall = glib.flattenInclude + '' postInstall = glib.flattenInclude + ''
ln -s . "$out"/include/freetype ln -s . "$out"/include/freetype
mkdir $dev/lib
mv $out/lib/pkgconfig $dev/lib/
ln -s freetype2/freetype $dev/include/freetype
''; '';
crossAttrs = { crossAttrs = {

View file

@ -13,8 +13,12 @@ stdenv.mkDerivation rec {
sha256 = "1gpqpskp4zzf7h35bp247jcvnk6rxc52r69pb11v8g8i2q386ls8"; sha256 = "1gpqpskp4zzf7h35bp247jcvnk6rxc52r69pb11v8g8i2q386ls8";
}; };
outputs = [ "dev" "out" "bin" "doc" ];
setupHook = ./setup-hook.sh; setupHook = ./setup-hook.sh;
enableParallelBuilding = true;
# !!! We might want to factor out the gdk-pixbuf-xlib subpackage. # !!! We might want to factor out the gdk-pixbuf-xlib subpackage.
buildInputs = [ libX11 libintlOrEmpty ]; buildInputs = [ libX11 libintlOrEmpty ];
@ -28,8 +32,6 @@ stdenv.mkDerivation rec {
doCheck = true; doCheck = true;
postInstall = "rm -rf $out/share/gtk-doc";
meta = { meta = {
description = "A library for image loading and manipulation"; description = "A library for image loading and manipulation";
homepage = http://library.gnome.org/devel/gdk-pixbuf/; homepage = http://library.gnome.org/devel/gdk-pixbuf/;

View file

@ -51,6 +51,9 @@ stdenv.mkDerivation rec {
patches = optional stdenv.isDarwin ./darwin-compilation.patch; patches = optional stdenv.isDarwin ./darwin-compilation.patch;
outputs = [ "dev" "out" "bin" "doc" ];
setupHook = ./setup-hook.sh; setupHook = ./setup-hook.sh;
buildInputs = [ libelf ] buildInputs = [ libelf ]
@ -97,8 +100,6 @@ stdenv.mkDerivation rec {
sed -e '/g_subprocess_launcher_set_environ (launcher, envp);/a g_subprocess_launcher_setenv (launcher, "PATH", g_getenv("PATH"), TRUE);' -i gio/tests/gsubprocess.c sed -e '/g_subprocess_launcher_set_environ (launcher, envp);/a g_subprocess_launcher_setenv (launcher, "PATH", g_getenv("PATH"), TRUE);' -i gio/tests/gsubprocess.c
''; '';
postInstall = ''rm -rvf $out/share/gtk-doc'';
passthru = { passthru = {
gioModuleDir = "lib/gio/modules"; gioModuleDir = "lib/gio/modules";
inherit flattenInclude; inherit flattenInclude;

View file

@ -8,9 +8,13 @@ stdenv.mkDerivation rec {
sha256 = "0jm1fgbjgh496rsc0il2y46qd4bqq2ln9168p4zzh68mk4ml1yxg"; sha256 = "0jm1fgbjgh496rsc0il2y46qd4bqq2ln9168p4zzh68mk4ml1yxg";
}; };
outputs = [ "dev" "out" "doc" ];
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig ];
propagatedBuildInputs = [ glib zlib libgpgerror ]; propagatedBuildInputs = [ glib zlib libgpgerror ];
enableParallelBuilding = true;
meta = { meta = {
homepage = http://spruce.sourceforge.net/gmime/; homepage = http://spruce.sourceforge.net/gmime/;
description = "A C/C++ library for manipulating MIME messages"; description = "A C/C++ library for manipulating MIME messages";

View file

@ -15,6 +15,8 @@ stdenv.mkDerivation rec {
sha256 = "0v9xxpkypizy9k866rvqc36zvj4kj9p8nd1nxf9znay8k3hv5khj"; sha256 = "0v9xxpkypizy9k866rvqc36zvj4kj9p8nd1nxf9znay8k3hv5khj";
}; };
outputs = [ "dev" "out" "bin" "doc" ];
enableParallelBuilding = true; enableParallelBuilding = true;
NIX_CFLAGS_COMPILE = stdenv.lib.optionalString (libintlOrEmpty != []) "-lintl"; NIX_CFLAGS_COMPILE = stdenv.lib.optionalString (libintlOrEmpty != []) "-lintl";
@ -35,8 +37,6 @@ stdenv.mkDerivation rec {
then "--disable-glibtest --disable-introspection --disable-visibility" then "--disable-glibtest --disable-introspection --disable-visibility"
else "--with-xinput=yes"; else "--with-xinput=yes";
postInstall = "rm -rf $out/share/gtk-doc";
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "A multi-platform toolkit for creating graphical user interfaces"; description = "A multi-platform toolkit for creating graphical user interfaces";
homepage = http://www.gtk.org/; homepage = http://www.gtk.org/;

View file

@ -12,7 +12,11 @@ stdenv.mkDerivation rec {
propagatedBuildInputs = [ libjpeg ]; propagatedBuildInputs = [ libjpeg ];
configureFlags = "--enable-shared"; configureFlags = "--enable-shared";
outputs = [ "dev" "out" "man" "bin" ];
enableParallelBuilding = true;
meta = { meta = {
homepage = http://www.ece.uvic.ca/~mdadams/jasper/; homepage = http://www.ece.uvic.ca/~mdadams/jasper/;
description = "JasPer JPEG2000 Library"; description = "JasPer JPEG2000 Library";

View file

@ -8,6 +8,8 @@ stdenv.mkDerivation rec {
sha256 = "0c20wpfa94d8kww0f2xinmm4axsl4nhq921xj4i88yhpjbhbn3z2"; sha256 = "0c20wpfa94d8kww0f2xinmm4axsl4nhq921xj4i88yhpjbhbn3z2";
}; };
outputs = [ "dev" "out" ];
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig ];
buildInputs = [ libpthreadstubs libpciaccess ] buildInputs = [ libpthreadstubs libpciaccess ]
++ stdenv.lib.optional stdenv.isLinux udev; ++ stdenv.lib.optional stdenv.isLinux udev;

View file

@ -1,6 +1,6 @@
{ fetchurl, stdenv, gettext }: { fetchurl, stdenv, gettext }:
stdenv.mkDerivation (rec { stdenv.mkDerivation rec {
name = "libelf-0.8.13"; name = "libelf-0.8.13";
src = fetchurl { src = fetchurl {
@ -10,6 +10,11 @@ stdenv.mkDerivation (rec {
doCheck = true; doCheck = true;
# Libelf's custom NLS macros fail to determine the catalog file extension on
# Darwin, so disable NLS for now.
# FIXME: Eventually make Gettext a build input on all platforms.
configureFlags = stdenv.lib.optional stdenv.isDarwin "--disable-nls";
meta = { meta = {
description = "Libelf, an ELF object file access library"; description = "Libelf, an ELF object file access library";
@ -21,12 +26,3 @@ stdenv.mkDerivation (rec {
maintainers = [ ]; maintainers = [ ];
}; };
} }
//
# Libelf's custom NLS macros fail to determine the catalog file extension on
# Darwin, so disable NLS for now.
# FIXME: Eventually make Gettext a build input on all platforms.
(if stdenv.isDarwin
then { configureFlags = [ "--disable-nls" ]; }
else { }))

View file

@ -8,8 +8,12 @@ stdenv.mkDerivation rec {
sha256 = "1fbgcvlnn3d5gvf0v9jnlcabpv2z3nwxclzyabahxi6x2xs90cn1"; sha256 = "1fbgcvlnn3d5gvf0v9jnlcabpv2z3nwxclzyabahxi6x2xs90cn1";
}; };
outputs = [ "dev" "out" "doc" "bin" ];
buildInputs = [ nasm ]; buildInputs = [ nasm ];
enableParallelBuilding = true;
doCheck = true; doCheck = true;
checkTarget = "test"; checkTarget = "test";

View file

@ -1,17 +1,19 @@
{ stdenv, fetchurl, static ? false }: { stdenv, fetchurl, static ? false }:
with stdenv.lib; with stdenv.lib;
stdenv.mkDerivation { stdenv.mkDerivation {
name = "libjpeg-8d"; name = "libjpeg-8d";
src = fetchurl { src = fetchurl {
url = http://www.ijg.org/files/jpegsrc.v8d.tar.gz; url = http://www.ijg.org/files/jpegsrc.v8d.tar.gz;
sha256 = "1cz0dy05mgxqdgjf52p54yxpyy95rgl30cnazdrfmw7hfca9n0h0"; sha256 = "1cz0dy05mgxqdgjf52p54yxpyy95rgl30cnazdrfmw7hfca9n0h0";
}; };
configureFlags = optional static "--enable-static --disable-shared"; configureFlags = optional static "--enable-static --disable-shared";
outputs = [ "dev" "out" "man" "bin" ];
meta = { meta = {
homepage = http://www.ijg.org/; homepage = http://www.ijg.org/;
description = "A library that implements the JPEG image file format"; description = "A library that implements the JPEG image file format";

View file

@ -5,13 +5,15 @@ let
in in
stdenv.mkDerivation { stdenv.mkDerivation {
inherit name; inherit name;
src = fetchurl { src = fetchurl {
url = "http://downloads.xiph.org/releases/ogg/${name}.tar.xz"; url = "http://downloads.xiph.org/releases/ogg/${name}.tar.xz";
sha256 = "16z74q422jmprhyvy7c9x909li8cqzmvzyr8cgbm52xcsp6pqs1z"; sha256 = "16z74q422jmprhyvy7c9x909li8cqzmvzyr8cgbm52xcsp6pqs1z";
}; };
meta = with stdenv.lib; { meta = with stdenv.lib; {
outputs = [ "dev" "doc" "out" ];
homepage = http://xiph.org/ogg/; homepage = http://xiph.org/ogg/;
license = licenses.bsd3; license = licenses.bsd3;
maintainers = [ maintainers.emery ]; maintainers = [ maintainers.emery ];

View file

@ -19,6 +19,10 @@ in stdenv.mkDerivation rec {
inherit sha256; inherit sha256;
}; };
outputs = [ "dev" "out" "man" ];
preConfigure = "export bin=$dev";
postPatch = whenPatched "gunzip < ${patch_src} | patch -Np1"; postPatch = whenPatched "gunzip < ${patch_src} | patch -Np1";
propagatedBuildInputs = [ zlib ]; propagatedBuildInputs = [ zlib ];

View file

@ -1,4 +1,4 @@
{ stdenv, fetchurl, pkgconfig, fftw, libsndfile }: { stdenv, fetchurl, pkgconfig, libsndfile }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "libsamplerate-0.1.8"; name = "libsamplerate-0.1.8";
@ -9,12 +9,14 @@ stdenv.mkDerivation rec {
}; };
buildInputs = [ pkgconfig ]; buildInputs = [ pkgconfig ];
propagatedBuildInputs = [ fftw libsndfile ]; propagatedBuildInputs = [ libsndfile ];
# maybe interesting configure flags: # maybe interesting configure flags:
#--disable-fftw disable usage of FFTW #--disable-fftw disable usage of FFTW
#--disable-cpu-clip disable tricky cpu specific clipper #--disable-cpu-clip disable tricky cpu specific clipper
outputs = [ "dev" "bin" "out" ];
postConfigure = stdenv.lib.optionalString stdenv.isDarwin postConfigure = stdenv.lib.optionalString stdenv.isDarwin
'' ''
# need headers from the Carbon.framework in /System/Library/Frameworks to # need headers from the Carbon.framework in /System/Library/Frameworks to

View file

@ -10,6 +10,10 @@ stdenv.mkDerivation rec {
buildInputs = [ pkgconfig flac libogg libvorbis ]; buildInputs = [ pkgconfig flac libogg libvorbis ];
enableParallelBuilding = true;
outputs = [ "dev" "out" "bin" "doc" ];
# need headers from the Carbon.framework in /System/Library/Frameworks to # need headers from the Carbon.framework in /System/Library/Frameworks to
# compile this on darwin -- not sure how to handle # compile this on darwin -- not sure how to handle
preConfigure = stdenv.lib.optionalString stdenv.isDarwin preConfigure = stdenv.lib.optionalString stdenv.isDarwin

View file

@ -19,6 +19,8 @@ stdenv.mkDerivation rec {
sha256 = "0wj8d1iwk9vnpax2h29xqc2hwknxg3s0ay2d5pxkg59ihbifn6pa"; sha256 = "0wj8d1iwk9vnpax2h29xqc2hwknxg3s0ay2d5pxkg59ihbifn6pa";
}; };
outputs = [ "dev" "out" "bin" "doc" ];
patchPhase = '' patchPhase = ''
for p in ${patchDir}/*-{2013-4244,2012-4447,2012-4564,2013-1960,2013-1961,libjpeg-turbo}.patch; do for p in ${patchDir}/*-{2013-4244,2012-4447,2012-4564,2013-1960,2013-1961,libjpeg-turbo}.patch; do
patch -p1 < "$p" patch -p1 < "$p"

View file

@ -5,7 +5,7 @@ let
in in
stdenv.mkDerivation { stdenv.mkDerivation {
inherit name; inherit name;
src = fetchurl { src = fetchurl {
url = "http://downloads.xiph.org/releases/vorbis/${name}.tar.xz"; url = "http://downloads.xiph.org/releases/vorbis/${name}.tar.xz";
sha256 = "0wpk87jnhngcl3nc5i39flkycx1sjzilx8jjx4zc4p8r55ylj19g"; sha256 = "0wpk87jnhngcl3nc5i39flkycx1sjzilx8jjx4zc4p8r55ylj19g";
@ -15,6 +15,8 @@ stdenv.mkDerivation {
propagatedBuildInputs = [ libogg ]; propagatedBuildInputs = [ libogg ];
outputs = [ "dev" "out" "doc" ];
doCheck = true; doCheck = true;
meta = with stdenv.lib; { meta = with stdenv.lib; {

View file

@ -48,6 +48,10 @@ stdenv.mkDerivation {
patches = patchesCross false; patches = patchesCross false;
outputs = [ "dev" "out" "man" "bin" ];
setOutputConfigureFlags = false;
buildInputs = stdenv.lib.optional withCryptodev cryptodevHeaders; buildInputs = stdenv.lib.optional withCryptodev cryptodevHeaders;
nativeBuildInputs = [ perl ]; nativeBuildInputs = [ perl ];
@ -67,7 +71,7 @@ stdenv.mkDerivation {
sed -i -e "s|-march=i486|-march=x86-64|g" Makefile sed -i -e "s|-march=i486|-march=x86-64|g" Makefile
''; '';
makeFlags = "MANDIR=$(out)/share/man"; makeFlags = "MANDIR=$(man)/share/man";
# Parallel building is broken in OpenSSL. # Parallel building is broken in OpenSSL.
enableParallelBuilding = false; enableParallelBuilding = false;
@ -79,6 +83,18 @@ stdenv.mkDerivation {
if [ -n "$(echo $out/lib/*.so $out/lib/*.dylib)" ]; then if [ -n "$(echo $out/lib/*.so $out/lib/*.dylib)" ]; then
rm $out/lib/*.a rm $out/lib/*.a
fi fi
mkdir -p $bin
mv $out/bin $bin/
rm -rf $out/etc/ssl/misc
mkdir $dev
mv $out/include $dev/
# OpenSSL installs readonly files, which otherwise we can't strip.
# FIXME: Can remove this after the next stdenv merge.
chmod -R +w $out
''; # */ ''; # */
crossAttrs = { crossAttrs = {
@ -89,14 +105,6 @@ stdenv.mkDerivation {
export configureFlags="--libdir=lib --cross-compile-prefix=${stdenv.cross.config}- shared ${opensslCrossSystem}" export configureFlags="--libdir=lib --cross-compile-prefix=${stdenv.cross.config}- shared ${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"; configureScript = "./Configure";
} // stdenv.lib.optionalAttrs (opensslCrossSystem == "darwin64-x86_64-cc") { } // stdenv.lib.optionalAttrs (opensslCrossSystem == "darwin64-x86_64-cc") {
CC = "gcc"; CC = "gcc";

View file

@ -9,10 +9,11 @@ stdenv.mkDerivation rec {
sha256 = "08aqis6j8nd1lb4f2h4h9d9kjvp54iwf8zvqzss0qn4v7nfcjyvx"; sha256 = "08aqis6j8nd1lb4f2h4h9d9kjvp54iwf8zvqzss0qn4v7nfcjyvx";
}; };
outputs = [ "dev" "out" "bin" "doc" ];
buildInputs = with stdenv.lib; buildInputs = with stdenv.lib;
optional (!stdenv.isDarwin) gobjectIntrospection # build problems of itself and flex optional (!stdenv.isDarwin) gobjectIntrospection # build problems of itself and flex
++ optionals stdenv.isDarwin [ gettext fontconfig ]; ++ optionals stdenv.isDarwin [ gettext fontconfig ];
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig ];
propagatedBuildInputs = [ x11 glib cairo libpng harfbuzz ] ++ libintlOrEmpty; propagatedBuildInputs = [ x11 glib cairo libpng harfbuzz ] ++ libintlOrEmpty;
@ -25,8 +26,6 @@ stdenv.mkDerivation rec {
# .../bin/sh: line 5: 14823 Abort trap: 6 srcdir=. PANGO_RC_FILE=./pangorc ${dir}$tst # .../bin/sh: line 5: 14823 Abort trap: 6 srcdir=. PANGO_RC_FILE=./pangorc ${dir}$tst
# FAIL: testiter # FAIL: testiter
doCheck = !stdenv.isDarwin; doCheck = !stdenv.isDarwin;
postInstall = "rm -rf $out/share/gtk-doc";
meta = { meta = {
description = "A library for laying out and rendering of text, with an emphasis on internationalization"; description = "A library for laying out and rendering of text, with an emphasis on internationalization";

View file

@ -12,6 +12,8 @@ stdenv.mkDerivation rec {
sha256 = "0gsqmsp0q0n3q0ba32gkjvgcsdy6nwidqa7sbxkbw817zzhkl15n"; sha256 = "0gsqmsp0q0n3q0ba32gkjvgcsdy6nwidqa7sbxkbw817zzhkl15n";
}; };
outputs = [ "dev" "out" "bin" "doc" "man" ];
# The compiler on Darwin crashes with an internal error while building the # The compiler on Darwin crashes with an internal error while building the
# C++ interface. Disabling optimizations on that platform remedies the # C++ interface. Disabling optimizations on that platform remedies the
# problem. In case we ever update the Darwin GCC version, the exception for # problem. In case we ever update the Darwin GCC version, the exception for
@ -30,6 +32,12 @@ stdenv.mkDerivation rec {
buildInputs = [ windows.mingw_w64_pthreads.crossDrv ]; buildInputs = [ windows.mingw_w64_pthreads.crossDrv ];
}; };
postInstall =
''
mkdir $dev/bin
mv $bin/bin/pcre-config $dev/bin/
'';
meta = { meta = {
homepage = "http://www.pcre.org/"; homepage = "http://www.pcre.org/";
description = "A library for Perl Compatible Regular Expressions"; description = "A library for Perl Compatible Regular Expressions";

View file

@ -2,11 +2,18 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "speex-1.2rc1"; name = "speex-1.2rc1";
src = fetchurl { src = fetchurl {
url = "http://downloads.us.xiph.org/releases/speex/${name}.tar.gz"; url = "http://downloads.us.xiph.org/releases/speex/${name}.tar.gz";
sha256 = "19mpkhbz3s08snvndn0h1dk2j139max6b0rr86nnsjmxazf30brl"; sha256 = "19mpkhbz3s08snvndn0h1dk2j139max6b0rr86nnsjmxazf30brl";
}; };
buildInputs = [ libogg ]; buildInputs = [ libogg ];
outputs = [ "dev" "out" "bin" "doc" ];
meta = {
homepage = http://www.speex.org/;
description = "A audio compression codec designed for speech";
};
} }

View file

@ -28,6 +28,13 @@ preConfigure() {
perl Makefile.PL PREFIX=$out INSTALLDIRS=site $makeMakerFlags perl Makefile.PL PREFIX=$out INSTALLDIRS=site $makeMakerFlags
} }
preFixup() {
if [ -n "$man" ]; then
mkdir -p $man/share
if [ -d $out/man ]; then mv $out/man $man/share/; fi
fi
}
postFixup() { postFixup() {
# If a user installs a Perl package, she probably also wants its # If a user installs a Perl package, she probably also wants its
# dependencies in the user environment (since Perl modules don't # dependencies in the user environment (since Perl modules don't

View file

@ -1,13 +1,15 @@
perl: perl:
{ buildInputs ? [], ... } @ attrs: { buildInputs ? [], name, ... } @ attrs:
perl.stdenv.mkDerivation ( perl.stdenv.mkDerivation (
{ {
outputs = [ "out" "man" ];
doCheck = true; doCheck = true;
checkTarget = "test"; checkTarget = "test";
# Prevent CPAN downloads. # Prevent CPAN downloads.
PERL_AUTOINSTALL = "--skipdeps"; PERL_AUTOINSTALL = "--skipdeps";
@ -20,7 +22,7 @@ perl.stdenv.mkDerivation (
attrs attrs
// //
{ {
name = "perl-" + attrs.name; name = "perl-" + name;
builder = ./builder.sh; builder = ./builder.sh;
buildInputs = buildInputs ++ [ perl ]; buildInputs = buildInputs ++ [ perl ];
} }

View file

@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
++ optional useQt4 qt4; ++ optional useQt4 qt4;
CMAKE_PREFIX_PATH = stdenv.lib.concatStringsSep ":" buildInputs; CMAKE_PREFIX_PATH = stdenv.lib.concatStringsSep ":" buildInputs;
configureFlags = configureFlags =
"--docdir=/share/doc/${name} --mandir=/share/man --system-libs" "--docdir=/share/doc/${name} --mandir=/share/man --system-libs"
+ stdenv.lib.optionalString useQt4 " --qt-gui"; + stdenv.lib.optionalString useQt4 " --qt-gui";

View file

@ -1,6 +1,6 @@
{ stdenv, fetchurl, m4, perl, lzma }: { stdenv, fetchurl, m4, perl, lzma }:
stdenv.mkDerivation (rec { stdenv.mkDerivation rec {
name = "libtool-2.4.2"; name = "libtool-2.4.2";
src = fetchurl { src = fetchurl {
@ -10,6 +10,8 @@ stdenv.mkDerivation (rec {
nativeBuildInputs = [ lzma m4 perl ]; nativeBuildInputs = [ lzma m4 perl ];
outputs = [ "out" "lib" ];
# Don't fixup "#! /bin/sh" in Libtool, otherwise it will use the # Don't fixup "#! /bin/sh" in Libtool, otherwise it will use the
# "fixed" path in generated files! # "fixed" path in generated files!
dontPatchShebangs = true; dontPatchShebangs = true;
@ -18,6 +20,10 @@ stdenv.mkDerivation (rec {
# leads to the failure of a number of tests. # leads to the failure of a number of tests.
doCheck = false; doCheck = false;
# Don't run the native `strip' when cross-compiling. This breaks at least
# with `.a' files for MinGW.
dontStrip = stdenv ? cross;
meta = { meta = {
description = "GNU Libtool, a generic library support script"; description = "GNU Libtool, a generic library support script";
@ -38,11 +44,3 @@ stdenv.mkDerivation (rec {
maintainers = [ stdenv.lib.maintainers.ludo ]; maintainers = [ stdenv.lib.maintainers.ludo ];
}; };
} }
//
# Don't run the native `strip' when cross-compiling. This breaks at least
# with `.a' files for MinGW.
(if (stdenv ? cross)
then { dontStrip = true; }
else { }))

View file

@ -10,6 +10,8 @@ stdenv.mkDerivation rec {
setupHook = [ ./setup-hook.sh ]; setupHook = [ ./setup-hook.sh ];
doCheck = true;
meta = { meta = {
homepage = http://nixos.org/patchelf.html; homepage = http://nixos.org/patchelf.html;
license = "GPL"; license = "GPL";

View file

@ -45,9 +45,9 @@ in stdenv.mkDerivation {
(cd tools/gyp; patch -Np1 -i ${../../python-modules/gyp/no-darwin-cflags.patch}) (cd tools/gyp; patch -Np1 -i ${../../python-modules/gyp/no-darwin-cflags.patch})
'' else null; '' else null;
buildInputs = [ python which ] buildInputs = [ python openssl ]
++ (optional stdenv.isLinux utillinux) ++ (optional stdenv.isLinux utillinux)
++ optionals stdenv.isDarwin [ pkgconfig openssl dtrace ]; ++ optionals stdenv.isDarwin [ pkgconfig dtrace ];
setupHook = ./setup-hook.sh; setupHook = ./setup-hook.sh;
meta = { meta = {

View file

@ -13,6 +13,9 @@ stdenv.mkDerivation {
md5 = "de3006e5cf1ee78a9c6145ce62c4e982"; md5 = "de3006e5cf1ee78a9c6145ce62c4e982";
}; };
# FIXME: Split off the cups client library.
outputs = [ "dev" "out" "doc" "man" ];
buildInputs = [ pkgconfig zlib libjpeg libpng libtiff libusb ] buildInputs = [ pkgconfig zlib libjpeg libpng libtiff libusb ]
++ stdenv.lib.optionals stdenv.isLinux [ pam dbus.libs acl ] ; ++ stdenv.lib.optionals stdenv.isLinux [ pam dbus.libs acl ] ;
@ -38,6 +41,12 @@ stdenv.mkDerivation {
"CUPS_PRIMARY_SYSTEM_GROUP=root" "CUPS_PRIMARY_SYSTEM_GROUP=root"
]; ];
postInstall =
''
mkdir $dev/bin
mv $out/bin/cups-config $dev/bin/
'';
meta = { meta = {
homepage = "http://www.cups.org/"; homepage = "http://www.cups.org/";
description = "A standards-based printing system for UNIX"; description = "A standards-based printing system for UNIX";

View file

@ -5,12 +5,14 @@ assert stdenv.isLinux;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "libcap-${version}"; name = "libcap-${version}";
version = "2.22"; version = "2.22";
src = fetchurl { src = fetchurl {
url = "mirror://gentoo/distfiles/${name}.tar.bz2"; url = "mirror://gentoo/distfiles/${name}.tar.bz2";
sha256 = "03q50j6bg65cc501q87qh328ncav1i8qw2bjig99vxmmfx4bvsvk"; sha256 = "03q50j6bg65cc501q87qh328ncav1i8qw2bjig99vxmmfx4bvsvk";
}; };
outputs = [ "dev" "out" ];
nativeBuildInputs = [ perl ]; nativeBuildInputs = [ perl ];
propagatedBuildInputs = [ attr ]; propagatedBuildInputs = [ attr ];

View file

@ -17,6 +17,8 @@ stdenv.mkDerivation {
}) })
]; ];
buildInputs = [ stdenv.glibc.dev stdenv.glibc.static ];
SGML_CATALOG_FILES = "${docbook_sgml_dtd_41}/sgml/dtd/docbook-4.1/docbook.cat"; SGML_CATALOG_FILES = "${docbook_sgml_dtd_41}/sgml/dtd/docbook-4.1/docbook.cat";
patches = [ ./module-dir.patch ./docbook2man.patch ]; patches = [ ./module-dir.patch ./docbook2man.patch ];

View file

@ -10,10 +10,14 @@ stdenv.mkDerivation rec {
patches = [ ./CVE-2014-2583.patch ]; patches = [ ./CVE-2014-2583.patch ];
outputs = [ "out" "doc" "man" "modules" ];
nativeBuildInputs = [ flex ]; nativeBuildInputs = [ flex ];
buildInputs = [ cracklib ]; buildInputs = [ cracklib ];
enableParallelBuilding = true;
crossAttrs = { crossAttrs = {
propagatedBuildInputs = [ flex.crossDrv cracklib.crossDrv ]; propagatedBuildInputs = [ flex.crossDrv cracklib.crossDrv ];
preConfigure = preConfigure + '' preConfigure = preConfigure + ''
@ -32,6 +36,11 @@ stdenv.mkDerivation rec {
postInstall = '' postInstall = ''
mv -v $out/sbin/unix_chkpwd{,.orig} mv -v $out/sbin/unix_chkpwd{,.orig}
ln -sv /var/setuid-wrappers/unix_chkpwd $out/sbin/unix_chkpwd ln -sv /var/setuid-wrappers/unix_chkpwd $out/sbin/unix_chkpwd
rm -rf $out/etc
mkdir -p $modules/lib
mv $out/lib/security $modules/lib/
''; '';
preConfigure = '' preConfigure = ''

View file

@ -19,6 +19,8 @@ stdenv.mkDerivation rec {
sha256 = "1hpjcc42svrs06q3isjm3m5aphgkpfdylmvpnif71zh46ys0cab5"; sha256 = "1hpjcc42svrs06q3isjm3m5aphgkpfdylmvpnif71zh46ys0cab5";
}; };
outputs = [ "out" "man" "libudev" ];
patches = patches =
[ # These are all changes between upstream and [ # These are all changes between upstream and
# https://github.com/edolstra/systemd/tree/nixos-v212. # https://github.com/edolstra/systemd/tree/nixos-v212.
@ -57,11 +59,12 @@ stdenv.mkDerivation rec {
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.m4.in src/journal/cat.c src/core/shutdown.c src/nspawn/nspawn.c; do
test -e $i test -e $i
substituteInPlace $i \ substituteInPlace $i \
--replace /usr/bin/getent ${stdenv.glibc}/bin/getent \ --replace /usr/bin/getent ${stdenv.glibc.bin}/bin/getent \
--replace /bin/mount ${utillinux}/bin/mount \ --replace /bin/mount ${utillinux.bin}/bin/mount \
--replace /bin/umount ${utillinux}/bin/umount \ --replace /bin/umount ${utillinux.bin}/bin/umount \
--replace /sbin/swapon ${utillinux}/sbin/swapon \ --replace /sbin/swapon ${utillinux.bin}/sbin/swapon \
--replace /sbin/swapoff ${utillinux}/sbin/swapoff \ --replace /sbin/swapoff ${utillinux.bin}/sbin/swapoff \
--replace /sbin/fsck ${utillinux.bin}/sbin/fsck \
--replace /bin/echo ${coreutils}/bin/echo \ --replace /bin/echo ${coreutils}/bin/echo \
--replace /bin/cat ${coreutils}/bin/cat \ --replace /bin/cat ${coreutils}/bin/cat \
--replace /sbin/sulogin ${sysvtools}/sbin/sulogin \ --replace /sbin/sulogin ${sysvtools}/sbin/sulogin \
@ -70,6 +73,8 @@ stdenv.mkDerivation rec {
substituteInPlace src/journal/catalog.c \ substituteInPlace src/journal/catalog.c \
--replace /usr/lib/systemd/catalog/ $out/lib/systemd/catalog/ --replace /usr/lib/systemd/catalog/ $out/lib/systemd/catalog/
export NIX_CFLAGS_LINK+=" -Wl,-rpath,$libudev/lib"
''; '';
# This is needed because systemd uses the gold linker, which doesn't # This is needed because systemd uses the gold linker, which doesn't
@ -126,6 +131,16 @@ stdenv.mkDerivation rec {
done done
rm -rf $out/etc/rpm rm -rf $out/etc/rpm
# Move libudev to a separate output.
mkdir -p $libudev/lib/pkgconfig $libudev/include
mv $out/lib/libudev* $libudev/lib/
mv $out/lib/pkgconfig/libudev*.pc $libudev/lib/pkgconfig/
mv $out/include/libudev.h $libudev/include/
for i in $libudev/lib/*.la $libudev/lib/pkgconfig/*.pc; do
substituteInPlace $i --replace $out $libudev
done
''; # */ ''; # */
enableParallelBuilding = true; enableParallelBuilding = true;

View file

@ -8,6 +8,8 @@ stdenv.mkDerivation rec {
sha256 = "1w0g8q5aj5pjdf8l52g0mxyvlk62f4dch51q9jm3hnqwgz0dchqj"; sha256 = "1w0g8q5aj5pjdf8l52g0mxyvlk62f4dch51q9jm3hnqwgz0dchqj";
}; };
outputs = [ "dev" "out" "bin" ];
crossAttrs = { crossAttrs = {
# Work around use of `AC_RUN_IFELSE'. # Work around use of `AC_RUN_IFELSE'.
preConfigure = "export scanf_cv_type_modifier=ms"; preConfigure = "export scanf_cv_type_modifier=ms";
@ -27,6 +29,8 @@ stdenv.mkDerivation rec {
${if ncurses == null then "--without-ncurses" else ""} ${if ncurses == null then "--without-ncurses" else ""}
''; '';
makeFlags = "usrbin_execdir=$(bin)/bin usrsbin_execdir=$(bin)/sbin";
buildInputs = buildInputs =
[ zlib pam ] [ zlib pam ]
++ stdenv.lib.optional (ncurses != null) ncurses ++ stdenv.lib.optional (ncurses != null) ncurses

View file

@ -20,6 +20,8 @@ stdenv.mkDerivation rec {
sha256 = "0iw19y6knijinqwvv4q16fgq5xq8nwxdg14wrrbc0mfasvg76n90"; sha256 = "0iw19y6knijinqwvv4q16fgq5xq8nwxdg14wrrbc0mfasvg76n90";
}; };
outputs = [ "dev" "out" "doc" ];
buildInputs = [perl apr aprutil pcre] ++ buildInputs = [perl apr aprutil pcre] ++
stdenv.lib.optional sslSupport openssl; stdenv.lib.optional sslSupport openssl;
@ -42,11 +44,19 @@ stdenv.mkDerivation rec {
--with-mpm=${mpm} --with-mpm=${mpm}
''; '';
preConfigure =
''
makeFlagsArray+=("installbuilddir=$dev/share/build")
'';
enableParallelBuilding = true; enableParallelBuilding = true;
stripDebugList = "lib modules bin";
postInstall = '' postInstall = ''
echo "removing manual" mkdir -p $doc/share/doc/httpd
rm -rf $out/manual mv $out/manual $doc/share/doc/httpd
mkdir -p $out/share # FIXME, hack
''; '';
passthru = { passthru = {

View file

@ -9,7 +9,7 @@ postInstall() {
if test -n "$origPostInstall"; then eval "$origPostInstall"; fi if test -n "$origPostInstall"; then eval "$origPostInstall"; fi
local r p requires local r p requires
requires=$(grep "Requires:" $out/lib/pkgconfig/*.pc | \ requires=$(grep "Requires:" ${dev:-$out}/lib/pkgconfig/*.pc | \
sed "s/Requires://" | sed "s/,/ /g") sed "s/Requires://" | sed "s/,/ /g")
echo "propagating requisites $requires" echo "propagating requisites $requires"
@ -31,10 +31,6 @@ postInstall() {
done done
fi fi
done done
mkdir -p "$out/nix-support"
echo "$propagatedBuildInputs" > "$out/nix-support/propagated-build-inputs"
echo "$propagatedNativeBuildInputs" > "$out/nix-support/propagated-native-build-inputs"
} }

View file

@ -606,6 +606,7 @@ let
url = mirror://xorg/individual/lib/libX11-1.6.2.tar.bz2; url = mirror://xorg/individual/lib/libX11-1.6.2.tar.bz2;
sha256 = "05mx0s0vqzds3qjc1gmjr2s6x2ll37z4lfhgm7p2w7936zl2g81a"; sha256 = "05mx0s0vqzds3qjc1gmjr2s6x2ll37z4lfhgm7p2w7936zl2g81a";
}; };
outputs = [ "dev" "out" "man" ];
buildInputs = [pkgconfig inputproto kbproto libxcb xextproto xf86bigfontproto xproto xtrans ]; buildInputs = [pkgconfig inputproto kbproto libxcb xextproto xf86bigfontproto xproto xtrans ];
})) // {inherit inputproto kbproto libxcb xextproto xf86bigfontproto xproto xtrans ;}; })) // {inherit inputproto kbproto libxcb xextproto xf86bigfontproto xproto xtrans ;};
@ -626,6 +627,7 @@ let
url = mirror://xorg/individual/lib/libXau-1.0.8.tar.bz2; url = mirror://xorg/individual/lib/libXau-1.0.8.tar.bz2;
sha256 = "1wm4pv12f36cwzhldpp7vy3lhm3xdcnp4f184xkxsp7b18r7gm7x"; sha256 = "1wm4pv12f36cwzhldpp7vy3lhm3xdcnp4f184xkxsp7b18r7gm7x";
}; };
outputs = [ "dev" "out" "man" ];
buildInputs = [pkgconfig xproto ]; buildInputs = [pkgconfig xproto ];
})) // {inherit xproto ;}; })) // {inherit xproto ;};
@ -646,6 +648,7 @@ let
url = mirror://xorg/individual/lib/libXcomposite-0.4.4.tar.bz2; url = mirror://xorg/individual/lib/libXcomposite-0.4.4.tar.bz2;
sha256 = "0y21nfpa5s8qmx0srdlilyndas3sgl0c6rc26d5fx2vx436m1qpd"; sha256 = "0y21nfpa5s8qmx0srdlilyndas3sgl0c6rc26d5fx2vx436m1qpd";
}; };
outputs = [ "dev" "out" "man" ];
buildInputs = [pkgconfig compositeproto libX11 libXfixes xproto ]; buildInputs = [pkgconfig compositeproto libX11 libXfixes xproto ];
})) // {inherit compositeproto libX11 libXfixes xproto ;}; })) // {inherit compositeproto libX11 libXfixes xproto ;};
@ -656,6 +659,7 @@ let
url = mirror://xorg/individual/lib/libXcursor-1.1.14.tar.bz2; url = mirror://xorg/individual/lib/libXcursor-1.1.14.tar.bz2;
sha256 = "1prkdicl5y5yx32h1azh6gjfbijvjp415javv8dsakd13jrarilv"; sha256 = "1prkdicl5y5yx32h1azh6gjfbijvjp415javv8dsakd13jrarilv";
}; };
outputs = [ "dev" "out" "man" ];
buildInputs = [pkgconfig fixesproto libX11 libXfixes xproto libXrender ]; buildInputs = [pkgconfig fixesproto libX11 libXfixes xproto libXrender ];
})) // {inherit fixesproto libX11 libXfixes xproto libXrender ;}; })) // {inherit fixesproto libX11 libXfixes xproto libXrender ;};
@ -666,6 +670,7 @@ let
url = mirror://xorg/individual/lib/libXdamage-1.1.4.tar.bz2; url = mirror://xorg/individual/lib/libXdamage-1.1.4.tar.bz2;
sha256 = "1bamagq7g6s0d23l8rb3nppj8ifqj05f7z9bhbs4fdg8az3ffgvw"; sha256 = "1bamagq7g6s0d23l8rb3nppj8ifqj05f7z9bhbs4fdg8az3ffgvw";
}; };
outputs = [ "dev" "out" ];
buildInputs = [pkgconfig damageproto fixesproto libX11 xextproto libXfixes xproto ]; buildInputs = [pkgconfig damageproto fixesproto libX11 xextproto libXfixes xproto ];
})) // {inherit damageproto fixesproto libX11 xextproto libXfixes xproto ;}; })) // {inherit damageproto fixesproto libX11 xextproto libXfixes xproto ;};
@ -676,6 +681,7 @@ let
url = mirror://xorg/X11R7.7/src/everything/libXdmcp-1.1.1.tar.bz2; url = mirror://xorg/X11R7.7/src/everything/libXdmcp-1.1.1.tar.bz2;
sha256 = "13highx4xpgkiwykpcl7z2laslrjc4pzi4h617ny9p7r6116vkls"; sha256 = "13highx4xpgkiwykpcl7z2laslrjc4pzi4h617ny9p7r6116vkls";
}; };
outputs = [ "dev" "out" "doc" ];
buildInputs = [pkgconfig xproto ]; buildInputs = [pkgconfig xproto ];
})) // {inherit xproto ;}; })) // {inherit xproto ;};
@ -686,6 +692,7 @@ let
url = mirror://xorg/individual/lib/libXext-1.3.3.tar.bz2; url = mirror://xorg/individual/lib/libXext-1.3.3.tar.bz2;
sha256 = "0dbfn5bznnrhqzvkrcmw4c44yvvpwdcsrvzxf4rk27r36b9x865m"; sha256 = "0dbfn5bznnrhqzvkrcmw4c44yvvpwdcsrvzxf4rk27r36b9x865m";
}; };
outputs = [ "dev" "out" "man" "doc" ];
buildInputs = [pkgconfig libX11 xextproto xproto ]; buildInputs = [pkgconfig libX11 xextproto xproto ];
})) // {inherit libX11 xextproto xproto ;}; })) // {inherit libX11 xextproto xproto ;};
@ -696,6 +703,7 @@ let
url = mirror://xorg/individual/lib/libXfixes-5.0.1.tar.bz2; url = mirror://xorg/individual/lib/libXfixes-5.0.1.tar.bz2;
sha256 = "0rs7qgzr6dpr62db7sd91c1b47hzhzfr010qwnpcm8sg122w1gk3"; sha256 = "0rs7qgzr6dpr62db7sd91c1b47hzhzfr010qwnpcm8sg122w1gk3";
}; };
outputs = [ "dev" "out" "man" ];
buildInputs = [pkgconfig fixesproto libX11 xextproto xproto ]; buildInputs = [pkgconfig fixesproto libX11 xextproto xproto ];
})) // {inherit fixesproto libX11 xextproto xproto ;}; })) // {inherit fixesproto libX11 xextproto xproto ;};
@ -716,6 +724,7 @@ let
url = mirror://xorg/individual/lib/libXft-2.3.2.tar.bz2; url = mirror://xorg/individual/lib/libXft-2.3.2.tar.bz2;
sha256 = "0k6wzi5rzs0d0n338ms8n8lfyhq914hw4yl2j7553wqxfqjci8zm"; sha256 = "0k6wzi5rzs0d0n338ms8n8lfyhq914hw4yl2j7553wqxfqjci8zm";
}; };
outputs = [ "dev" "out" "man" ];
buildInputs = [pkgconfig fontconfig freetype libX11 xproto libXrender ]; buildInputs = [pkgconfig fontconfig freetype libX11 xproto libXrender ];
})) // {inherit fontconfig freetype libX11 xproto libXrender ;}; })) // {inherit fontconfig freetype libX11 xproto libXrender ;};
@ -726,6 +735,7 @@ let
url = mirror://xorg/individual/lib/libXi-1.7.4.tar.bz2; url = mirror://xorg/individual/lib/libXi-1.7.4.tar.bz2;
sha256 = "0i12lj973grlp9fa79v0vh9cahk3nf9csdjnf81iip0qcrlc5zrc"; sha256 = "0i12lj973grlp9fa79v0vh9cahk3nf9csdjnf81iip0qcrlc5zrc";
}; };
outputs = [ "dev" "out" "man" "doc" ];
buildInputs = [pkgconfig inputproto libX11 libXext xextproto libXfixes xproto ]; buildInputs = [pkgconfig inputproto libX11 libXext xextproto libXfixes xproto ];
})) // {inherit inputproto libX11 libXext xextproto libXfixes xproto ;}; })) // {inherit inputproto libX11 libXext xextproto libXfixes xproto ;};
@ -736,6 +746,7 @@ let
url = mirror://xorg/individual/lib/libXinerama-1.1.3.tar.bz2; url = mirror://xorg/individual/lib/libXinerama-1.1.3.tar.bz2;
sha256 = "1qlqfvzw45gdzk9xirgwlp2qgj0hbsyiqj8yh8zml2bk2ygnjibs"; sha256 = "1qlqfvzw45gdzk9xirgwlp2qgj0hbsyiqj8yh8zml2bk2ygnjibs";
}; };
outputs = [ "dev" "out" "man" ];
buildInputs = [pkgconfig libX11 libXext xextproto xineramaproto ]; buildInputs = [pkgconfig libX11 libXext xextproto xineramaproto ];
})) // {inherit libX11 libXext xextproto xineramaproto ;}; })) // {inherit libX11 libXext xextproto xineramaproto ;};
@ -776,6 +787,7 @@ let
url = mirror://xorg/individual/lib/libXrandr-1.4.2.tar.bz2; url = mirror://xorg/individual/lib/libXrandr-1.4.2.tar.bz2;
sha256 = "1b95p3l84ppv6j7dbbmg0zrz6k8xdwvnag1l6ajm3gk9qwdb79ya"; sha256 = "1b95p3l84ppv6j7dbbmg0zrz6k8xdwvnag1l6ajm3gk9qwdb79ya";
}; };
outputs = [ "dev" "out" "man" ];
buildInputs = [pkgconfig randrproto renderproto libX11 libXext xextproto xproto libXrender ]; buildInputs = [pkgconfig randrproto renderproto libX11 libXext xextproto xproto libXrender ];
})) // {inherit randrproto renderproto libX11 libXext xextproto xproto libXrender ;}; })) // {inherit randrproto renderproto libX11 libXext xextproto xproto libXrender ;};
@ -786,6 +798,7 @@ let
url = mirror://xorg/individual/lib/libXrender-0.9.8.tar.bz2; url = mirror://xorg/individual/lib/libXrender-0.9.8.tar.bz2;
sha256 = "0qpwyjhbpp734vnhca992pjh4w7ijslidkzx1pcwbbk000pv050x"; sha256 = "0qpwyjhbpp734vnhca992pjh4w7ijslidkzx1pcwbbk000pv050x";
}; };
outputs = [ "dev" "out" "doc" ];
buildInputs = [pkgconfig renderproto libX11 xproto ]; buildInputs = [pkgconfig renderproto libX11 xproto ];
})) // {inherit renderproto libX11 xproto ;}; })) // {inherit renderproto libX11 xproto ;};
@ -866,6 +879,7 @@ let
url = mirror://xorg/individual/lib/libXxf86vm-1.1.3.tar.bz2; url = mirror://xorg/individual/lib/libXxf86vm-1.1.3.tar.bz2;
sha256 = "1f1pxj018nk7ybxv58jmn5y8gm2288p4q3l2dng9n1p25v1qcpns"; sha256 = "1f1pxj018nk7ybxv58jmn5y8gm2288p4q3l2dng9n1p25v1qcpns";
}; };
outputs = [ "dev" "out" "man" ];
buildInputs = [pkgconfig libX11 libXext xextproto xf86vidmodeproto xproto ]; buildInputs = [pkgconfig libX11 libXext xextproto xf86vidmodeproto xproto ];
})) // {inherit libX11 libXext xextproto xf86vidmodeproto xproto ;}; })) // {inherit libX11 libXext xextproto xf86vidmodeproto xproto ;};
@ -916,6 +930,7 @@ let
url = http://xcb.freedesktop.org/dist/libxcb-1.11.tar.bz2; url = http://xcb.freedesktop.org/dist/libxcb-1.11.tar.bz2;
sha256 = "1xqgc81krx14f2c8yl5chzg5g2l26mhm2rwffy8dx7jv0iq5sqq3"; sha256 = "1xqgc81krx14f2c8yl5chzg5g2l26mhm2rwffy8dx7jv0iq5sqq3";
}; };
outputs = [ "dev" "out" "doc" "man" ];
buildInputs = [pkgconfig libxslt libpthreadstubs python libXau xcbproto libXdmcp ]; buildInputs = [pkgconfig libxslt libpthreadstubs python libXau xcbproto libXdmcp ];
})) // {inherit libxslt libpthreadstubs python libXau xcbproto libXdmcp ;}; })) // {inherit libxslt libpthreadstubs python libXau xcbproto libXdmcp ;};

View file

@ -183,8 +183,8 @@ rec {
# 6) Construct a third stdenv identical to the 2nd, except that this # 6) Construct a third stdenv identical to the 2nd, except that this
# one uses the Glibc built in step 5. It still uses the recent # one uses the Glibc built in step 3. It still uses the recent
# binutils and rest of the bootstrap tools, including GCC. # binutils and the rest of the bootstrap tools, including GCC.
stdenvLinuxBoot3 = stdenvBootFun { stdenvLinuxBoot3 = stdenvBootFun {
gcc = wrapGCC { gcc = wrapGCC {
binutils = binutils1; binutils = binutils1;
@ -295,7 +295,7 @@ rec {
inherit (stdenvLinuxBoot4Pkgs) inherit (stdenvLinuxBoot4Pkgs)
gzip bzip2 xz bash coreutils diffutils findutils gawk gzip bzip2 xz bash coreutils diffutils findutils gawk
gnumake gnused gnutar gnugrep gnupatch patchelf gnumake gnused gnutar gnugrep gnupatch patchelf
attr acl paxctl; attr acl pcre paxctl;
}; };
}; };

View file

@ -8,6 +8,8 @@ stdenv.mkDerivation rec {
sha256 = "1404i59bp6rzxya0br1q9njdv32z4sggyfrkjr7vq695hk94hv0n"; sha256 = "1404i59bp6rzxya0br1q9njdv32z4sggyfrkjr7vq695hk94hv0n";
}; };
outputs = [ "out" "dev" "man" "doc" ];
doCheck = true; doCheck = true;
# In stdenv-linux, prevent a dependency on bootstrap-tools. # In stdenv-linux, prevent a dependency on bootstrap-tools.

View file

@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
[ ( substituteAll { [ ( substituteAll {
src = ./nix-purity.patch; src = ./nix-purity.patch;
inherit libpcap; inherit libpcap;
glibc = stdenv.gcc.libc; glibc = stdenv.gcc.libc.dev;
}) })
./nonpriv.patch ./nonpriv.patch
]; ];

View file

@ -112,7 +112,7 @@ rec {
"patchShebangsInterimLibexec" "patchShebangsInterimTexmfDist" "patchShebangsInterimLibexec" "patchShebangsInterimTexmfDist"
"patchShebangsInterimShareTexmfDist"]; "patchShebangsInterimShareTexmfDist"];
buildInputs = [ zlib bzip2 ncurses libpng flex bison libX11 libICE xproto buildInputs = [ zlib bzip2 ncurses libpng flex bison libX11.out libICE xproto
freetype t1lib gd libXaw icu ghostscript ed libXt libXpm libXmu libXext freetype t1lib gd libXaw icu ghostscript ed libXt libXpm libXmu libXext
xextproto perl libSM ruby expat curl libjpeg python fontconfig xz pkgconfig xextproto perl libSM ruby expat curl libjpeg python fontconfig xz pkgconfig
poppler libpaper graphite2 lesstif zziplib harfbuzz texinfo potrace ] poppler libpaper graphite2 lesstif zziplib harfbuzz texinfo potrace ]

View file

@ -4833,12 +4833,15 @@ let
}; };
glib = callPackage ../development/libraries/glib { }; glib = callPackage ../development/libraries/glib { };
glib-tested = glib.override { doCheck = true; }; # checked version separate to break cycles glib-tested = glib.override { doCheck = true; }; # checked version separate to break cycles
glibmm = callPackage ../development/libraries/glibmm { }; glibmm = callPackage ../development/libraries/glibmm { };
glib_networking = callPackage ../development/libraries/glib-networking {}; glib_networking = callPackage ../development/libraries/glib-networking {};
atk = callPackage ../development/libraries/atk { }; atk = callPackage ../development/libraries/atk { };
atkmm = callPackage ../development/libraries/atkmm { }; atkmm = callPackage ../development/libraries/atkmm { };
pixman = callPackage ../development/libraries/pixman { }; pixman = callPackage ../development/libraries/pixman { };
@ -4847,6 +4850,8 @@ let
glSupport = config.cairo.gl or (stdenv.isLinux && glSupport = config.cairo.gl or (stdenv.isLinux &&
!stdenv.isArm && !stdenv.isMips); !stdenv.isArm && !stdenv.isMips);
}; };
cairomm = callPackage ../development/libraries/cairomm { }; cairomm = callPackage ../development/libraries/cairomm { };
pango = callPackage ../development/libraries/pango { }; pango = callPackage ../development/libraries/pango { };
@ -5130,7 +5135,6 @@ let
libdnet = callPackage ../development/libraries/libdnet { }; libdnet = callPackage ../development/libraries/libdnet { };
libdrm = callPackage ../development/libraries/libdrm { libdrm = callPackage ../development/libraries/libdrm {
inherit fetchurl stdenv pkgconfig;
inherit (xorg) libpthreadstubs; inherit (xorg) libpthreadstubs;
}; };
@ -5330,8 +5334,10 @@ let
libiptcdata = callPackage ../development/libraries/libiptcdata { }; libiptcdata = callPackage ../development/libraries/libiptcdata { };
libjpeg_original = callPackage ../development/libraries/libjpeg { }; libjpeg_original = callPackage ../development/libraries/libjpeg { };
libjpeg_turbo = callPackage ../development/libraries/libjpeg-turbo { }; libjpeg_turbo = callPackage ../development/libraries/libjpeg-turbo { };
libjpeg = if (stdenv.isLinux) then libjpeg_turbo else libjpeg_original; # some problems, both on FreeBSD and Darwin
libjpeg = if stdenv.isLinux then libjpeg_turbo else libjpeg_original; # some problems, both on FreeBSD and Darwin
libjpeg62 = callPackage ../development/libraries/libjpeg/62.nix { libjpeg62 = callPackage ../development/libraries/libjpeg/62.nix {
libtool = libtool_1_5; libtool = libtool_1_5;
@ -7801,7 +7807,8 @@ let
}); });
udev145 = callPackage ../os-specific/linux/udev/145.nix { }; udev145 = callPackage ../os-specific/linux/udev/145.nix { };
udev = pkgs.systemd;
udev = pkgs.systemd.libudev;
udisks1 = callPackage ../os-specific/linux/udisks/1-default.nix { }; udisks1 = callPackage ../os-specific/linux/udisks/1-default.nix { };
udisks2 = callPackage ../os-specific/linux/udisks/2-default.nix { }; udisks2 = callPackage ../os-specific/linux/udisks/2-default.nix { };

View file

@ -6644,8 +6644,14 @@ let self = _self // overrides; _self = with self; {
sha256 = "0mizg2g07fa4c13zpnhmjc87psal5gp5hi23kqpynigmkp0m1p0b"; sha256 = "0mizg2g07fa4c13zpnhmjc87psal5gp5hi23kqpynigmkp0m1p0b";
}; };
buildInputs = [ pkgs.openssl ]; buildInputs = [ pkgs.openssl ];
OPENSSL_PREFIX = pkgs.openssl;
doCheck = false; # Test performs network access. doCheck = false; # Test performs network access.
preConfigure = ''
mkdir openssl
ln -s ${pkgs.openssl.out}/lib openssl
ln -s ${pkgs.openssl.bin}/bin openssl
ln -s ${pkgs.openssl.dev}/include openssl
export OPENSSL_PREFIX=$(realpath openssl)
'';
meta = { meta = {
description = "Perl extension for using OpenSSL"; description = "Perl extension for using OpenSSL";
license = "SSLeay"; license = "SSLeay";