Merge branch stdenv-updates into x-updates
x-updates is supposed to merge after stdenv-updates, so let's test it Conflicts: pkgs/development/libraries/gtk+/2.x.nix (both updated, taking newer) pkgs/development/libraries/mesa/default.nix (taking nativeBuildInputs)
This commit is contained in:
commit
0d72174dbd
@ -41,7 +41,7 @@ stdenv.mkDerivation {
|
|||||||
|
|
||||||
# Then build the plugins.
|
# Then build the plugins.
|
||||||
(
|
(
|
||||||
buildNativeInputs="$out $buildNativeInputs" # to find audacious
|
nativeBuildInputs="$out $nativeBuildInputs" # to find audacious
|
||||||
source $stdenv/setup
|
source $stdenv/setup
|
||||||
rm -rfv audacious-*
|
rm -rfv audacious-*
|
||||||
src=$pluginsSrc
|
src=$pluginsSrc
|
||||||
|
@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
patches = [ ./id3v2-0.1.11-track-bad-free.patch ];
|
patches = [ ./id3v2-0.1.11-track-bad-free.patch ];
|
||||||
|
|
||||||
buildNativeInputs = [ groff ];
|
nativeBuildInputs = [ groff ];
|
||||||
buildInputs = [ id3lib ];
|
buildInputs = [ id3lib ];
|
||||||
|
|
||||||
configurePhase = ''
|
configurePhase = ''
|
||||||
|
@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
buildInputs = [ alsaLib boost fftwSinglePrec fltk jackaudio libsndfile mesa
|
buildInputs = [ alsaLib boost fftwSinglePrec fltk jackaudio libsndfile mesa
|
||||||
minixml zlib ];
|
minixml zlib ];
|
||||||
buildNativeInputs = [ cmake pkgconfig ];
|
nativeBuildInputs = [ cmake pkgconfig ];
|
||||||
|
|
||||||
preConfigure = "cd src";
|
preConfigure = "cd src";
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
|
|||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ alsaLib fftw fltk13 minixml zlib ];
|
buildInputs = [ alsaLib fftw fltk13 minixml zlib ];
|
||||||
buildNativeInputs = [ cmake pkgconfig ];
|
nativeBuildInputs = [ cmake pkgconfig ];
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
(fetchurl {
|
(fetchurl {
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
{ fetchurl, stdenv }:
|
{ fetchurl, stdenv }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "ed-1.5";
|
name = "ed-1.7";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://gnu/ed/${name}.tar.gz";
|
url = "mirror://gnu/ed/${name}.tar.gz";
|
||||||
sha256 = "18gvhyhwpabmgv4lh21lg8vl3z7acdyhh2mr2kj9g75wksj39pcp";
|
sha256 = "0c908wb5pm48rjrrfbm5dhrqzys8f1dbvi90dn0vgwjzk80l2hl9";
|
||||||
};
|
};
|
||||||
|
|
||||||
/* FIXME: Tests currently fail on Darwin:
|
/* FIXME: Tests currently fail on Darwin:
|
||||||
|
@ -1,27 +0,0 @@
|
|||||||
source $stdenv/setup
|
|
||||||
|
|
||||||
preConfigure() {
|
|
||||||
libc=$(cat ${NIX_GCC}/nix-support/orig-libc)
|
|
||||||
echo "libc: $libc"
|
|
||||||
|
|
||||||
case "${system}" in
|
|
||||||
x86_64-*) glibclibdir=lib64 ;;
|
|
||||||
*) glibclibdir=lib ;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
for i in src/s/*.h src/m/*.h; do
|
|
||||||
substituteInPlace $i \
|
|
||||||
--replace /usr/${glibclibdir}/crt1.o $libc/${glibclibdir}/crt1.o \
|
|
||||||
--replace /usr/${glibclibdir}/crti.o $libc/${glibclibdir}/crti.o \
|
|
||||||
--replace /usr/${glibclibdir}/crtn.o $libc/${glibclibdir}/crtn.o \
|
|
||||||
--replace /usr/lib/crt1.o $libc/${glibclibdir}/crt1.o \
|
|
||||||
--replace /usr/lib/crti.o $libc/${glibclibdir}/crti.o \
|
|
||||||
--replace /usr/lib/crtn.o $libc/${glibclibdir}/crtn.o
|
|
||||||
done
|
|
||||||
|
|
||||||
for i in Makefile.in ./src/Makefile.in ./lib-src/Makefile.in ./leim/Makefile.in; do
|
|
||||||
substituteInPlace $i --replace /bin/pwd pwd
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
genericBuild
|
|
@ -1,58 +0,0 @@
|
|||||||
{ xawSupport ? true
|
|
||||||
, xpmSupport ? true
|
|
||||||
, xaw3dSupport ? false
|
|
||||||
, gtkGUI ? false
|
|
||||||
, stdenv, fetchurl, x11, libXaw ? null, libXpm ? null, Xaw3d ? null
|
|
||||||
, pkgconfig ? null, gtk ? null
|
|
||||||
, ncurses
|
|
||||||
}:
|
|
||||||
|
|
||||||
assert xawSupport && !xaw3dSupport -> libXaw != null;
|
|
||||||
assert xawSupport && xaw3dSupport -> Xaw3d != null;
|
|
||||||
assert xpmSupport -> libXpm != null;
|
|
||||||
assert gtkGUI -> pkgconfig != null && gtk != null;
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
|
||||||
name = "emacs-22.3";
|
|
||||||
|
|
||||||
builder = ./builder.sh;
|
|
||||||
|
|
||||||
src = fetchurl {
|
|
||||||
url = "mirror://gnu/emacs/${name}.tar.gz";
|
|
||||||
sha256 = "05hd89bchcpwzcx5la0alcp0wb7xywvnf98dxrshrqlfvccvgnbv";
|
|
||||||
};
|
|
||||||
|
|
||||||
buildInputs = [ncurses x11]
|
|
||||||
++ stdenv.lib.optional xawSupport (if xaw3dSupport then Xaw3d else libXaw)
|
|
||||||
++ stdenv.lib.optional xpmSupport libXpm
|
|
||||||
++ stdenv.lib.optionals gtkGUI [pkgconfig gtk];
|
|
||||||
|
|
||||||
configureFlags =
|
|
||||||
stdenv.lib.optional gtkGUI "--with-x-toolkit=gtk";
|
|
||||||
|
|
||||||
postInstall = ''
|
|
||||||
cat >$out/share/emacs/site-lisp/site-start.el <<EOF
|
|
||||||
;; nixos specific load-path
|
|
||||||
(when (getenv "NIX_PROFILES") (setq load-path
|
|
||||||
(append (reverse (mapcar (lambda (x) (concat x "/share/emacs/site-lisp/"))
|
|
||||||
(split-string (getenv "NIX_PROFILES"))))
|
|
||||||
load-path)))
|
|
||||||
EOF
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
description = "GNU Emacs, *the* text editor";
|
|
||||||
|
|
||||||
longDescription = ''
|
|
||||||
GNU Emacs is an extensible, customizable text editor—and more.
|
|
||||||
At its core is an interpreter for Emacs Lisp, a dialect of the
|
|
||||||
Lisp programming language with extensions to support text
|
|
||||||
editing.
|
|
||||||
'';
|
|
||||||
|
|
||||||
homepage = http://www.gnu.org/software/emacs/;
|
|
||||||
license = "GPLv3+";
|
|
||||||
|
|
||||||
platforms = stdenv.lib.platforms.all;
|
|
||||||
};
|
|
||||||
}
|
|
@ -0,0 +1,26 @@
|
|||||||
|
{ clangStdenv, fetchgit, llvm, clangUnwrapped }:
|
||||||
|
|
||||||
|
clangStdenv.mkDerivation {
|
||||||
|
name = "emacs-clang-complete-async-20130218";
|
||||||
|
src = fetchgit {
|
||||||
|
url = "git://github.com/Golevka/emacs-clang-complete-async.git";
|
||||||
|
rev = "f01488971ec8b5752780d130fb84de0c16a46f31";
|
||||||
|
sha256 = "1c8zqi6axbsb951azz9iqx3j52j30nd9ypv396hvids3g02cirrf";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ llvm clangUnwrapped ];
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/bin
|
||||||
|
mkdir -p $out/share/emacs/site-lisp
|
||||||
|
install -m 755 clang-complete $out/bin
|
||||||
|
install -m 644 auto-complete-clang-async.el $out/share/emacs/site-lisp
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
homepage = "https://github.com/Golevka/emacs-clang-complete-async";
|
||||||
|
description = "An emacs plugin to complete C and C++ code using libclang";
|
||||||
|
license = "GPLv3+";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
|
|||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ emacs ];
|
buildInputs = [ emacs ];
|
||||||
buildNativeInputs = [ texinfo texLive ];
|
nativeBuildInputs = [ texinfo texLive ];
|
||||||
|
|
||||||
configurePhase =
|
configurePhase =
|
||||||
'' sed -i mk/default.mk \
|
'' sed -i mk/default.mk \
|
||||||
|
@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
buildInputs = [ kdevplatform kdebase_workspace okteta ];
|
buildInputs = [ kdevplatform kdebase_workspace okteta ];
|
||||||
|
|
||||||
buildNativeInputs = [ cmake pkgconfig automoc4 shared_mime_info gettext perl ];
|
nativeBuildInputs = [ cmake pkgconfig automoc4 shared_mime_info gettext perl ];
|
||||||
|
|
||||||
patches =
|
patches =
|
||||||
[ ( fetchurl {
|
[ ( fetchurl {
|
||||||
|
@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "0nx5fmjrxrndnzvknxnybd8qh15jzfxzbny2rljq3amjw02y9lc2";
|
sha256 = "0nx5fmjrxrndnzvknxnybd8qh15jzfxzbny2rljq3amjw02y9lc2";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildNativeInputs = [ cmake gettext ];
|
nativeBuildInputs = [ cmake gettext ];
|
||||||
buildInputs = [ kdelibs ];
|
buildInputs = [ kdelibs ];
|
||||||
|
|
||||||
# for KDE 4.7 the nl translations fail since kile-2.1.2
|
# for KDE 4.7 the nl translations fail since kile-2.1.2
|
||||||
|
@ -13,7 +13,7 @@ composableDerivation {} {
|
|||||||
|
|
||||||
configureFlags = ["--enable-gui=auto" "--with-features=${args.features}"];
|
configureFlags = ["--enable-gui=auto" "--with-features=${args.features}"];
|
||||||
|
|
||||||
buildNativeInputs = [ncurses pkgconfig]
|
nativeBuildInputs = [ncurses pkgconfig]
|
||||||
++ [ gtk libX11 libXext libSM libXpm libXt libXaw libXau libXmu glib
|
++ [ gtk libX11 libXext libSM libXpm libXt libXaw libXau libXmu glib
|
||||||
libICE ];
|
libICE ];
|
||||||
|
|
||||||
@ -27,11 +27,11 @@ composableDerivation {} {
|
|||||||
// edf { name = "xsmp"; } #Disable XSMP session management
|
// edf { name = "xsmp"; } #Disable XSMP session management
|
||||||
// edf { name = "xsmp_interact"; } #Disable XSMP interaction
|
// edf { name = "xsmp_interact"; } #Disable XSMP interaction
|
||||||
// edf { name = "mzscheme"; } #Include MzScheme interpreter.
|
// edf { name = "mzscheme"; } #Include MzScheme interpreter.
|
||||||
// edf { name = "perl"; feat = "perlinterp"; enable = { buildNativeInputs = [perl]; };} #Include Perl interpreter.
|
// edf { name = "perl"; feat = "perlinterp"; enable = { nativeBuildInputs = [perl]; };} #Include Perl interpreter.
|
||||||
// edf { name = "python"; feat = "pythoninterp"; enable = { buildNativeInputs = [python]; }; } #Include Python interpreter.
|
// edf { name = "python"; feat = "pythoninterp"; enable = { nativeBuildInputs = [python]; }; } #Include Python interpreter.
|
||||||
// edf { name = "tcl"; enable = { buildNativeInputs = [tcl]; }; } #Include Tcl interpreter.
|
// edf { name = "tcl"; enable = { nativeBuildInputs = [tcl]; }; } #Include Tcl interpreter.
|
||||||
// edf { name = "ruby"; feat = "rubyinterp"; enable = { buildNativeInputs = [ruby]; };} #Include Ruby interpreter.
|
// edf { name = "ruby"; feat = "rubyinterp"; enable = { nativeBuildInputs = [ruby]; };} #Include Ruby interpreter.
|
||||||
// edf { name = "lua" ; feat = "luainterp"; enable = { buildNativeInputs = [lua]; configureFlags = ["--with-lua-prefix=${args.lua}"];};}
|
// edf { name = "lua" ; feat = "luainterp"; enable = { nativeBuildInputs = [lua]; configureFlags = ["--with-lua-prefix=${args.lua}"];};}
|
||||||
// edf { name = "cscope"; } #Include cscope interface.
|
// edf { name = "cscope"; } #Include cscope interface.
|
||||||
// edf { name = "workshop"; } #Include Sun Visual Workshop support.
|
// edf { name = "workshop"; } #Include Sun Visual Workshop support.
|
||||||
// edf { name = "netbeans"; } #Disable NetBeans integration support.
|
// edf { name = "netbeans"; } #Disable NetBeans integration support.
|
||||||
@ -42,7 +42,7 @@ composableDerivation {} {
|
|||||||
// edf { name = "fontset"; } #Include X fontset output support.
|
// edf { name = "fontset"; } #Include X fontset output support.
|
||||||
// edf { name = "acl"; } #Don't check for ACL support.
|
// edf { name = "acl"; } #Don't check for ACL support.
|
||||||
// edf { name = "gpm"; } #Don't use gpm (Linux mouse daemon).
|
// edf { name = "gpm"; } #Don't use gpm (Linux mouse daemon).
|
||||||
// edf { name = "nls"; enable = {buildNativeInputs = [gettext];}; } #Don't support NLS (gettext()).
|
// edf { name = "nls"; enable = {nativeBuildInputs = [gettext];}; } #Don't support NLS (gettext()).
|
||||||
;
|
;
|
||||||
|
|
||||||
cfg = {
|
cfg = {
|
||||||
@ -70,11 +70,11 @@ composableDerivation {} {
|
|||||||
|
|
||||||
postInstall = "
|
postInstall = "
|
||||||
rpath=`patchelf --print-rpath \$out/bin/vim`;
|
rpath=`patchelf --print-rpath \$out/bin/vim`;
|
||||||
for i in $\buildNativeInputs; do
|
for i in \$nativeBuildInputs; do
|
||||||
echo adding \$i/lib
|
echo adding \$i/lib
|
||||||
rpath=\$rpath:\$i/lib
|
rpath=\$rpath:\$i/lib
|
||||||
done
|
done
|
||||||
echo \$buildNativeInputs
|
echo \$nativeBuildInputs
|
||||||
echo \$rpath
|
echo \$rpath
|
||||||
patchelf --set-rpath \$rpath \$out/bin/{vim,gvim}
|
patchelf --set-rpath \$rpath \$out/bin/{vim,gvim}
|
||||||
";
|
";
|
||||||
|
@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
|
|||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ ncurses pkgconfig ];
|
buildInputs = [ ncurses pkgconfig ];
|
||||||
buildNativeInputs = [ gettext ];
|
nativeBuildInputs = [ gettext ];
|
||||||
|
|
||||||
configureFlags = [
|
configureFlags = [
|
||||||
"--enable-multibyte"
|
"--enable-multibyte"
|
||||||
|
@ -9,10 +9,10 @@ stdenv.mkDerivation rec {
|
|||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ ncurses boehmgc ];
|
buildInputs = [ ncurses boehmgc ];
|
||||||
buildNativeInputs = [ help2man perl ];
|
nativeBuildInputs = [ help2man perl ];
|
||||||
|
|
||||||
# `help2man' wants to run Zile, which fails when cross-compiling.
|
# `help2man' wants to run Zile, which fails when cross-compiling.
|
||||||
crossAttrs.buildNativeInputs = [];
|
crossAttrs.nativeBuildInputs = [];
|
||||||
|
|
||||||
# Tests can't be run because most of them rely on the ability to
|
# Tests can't be run because most of them rely on the ability to
|
||||||
# fiddle with the terminal.
|
# fiddle with the terminal.
|
||||||
|
@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
patches = [ ./install.patch ];
|
patches = [ ./install.patch ];
|
||||||
|
|
||||||
buildNativeInputs = [ cmake pkgconfig ];
|
nativeBuildInputs = [ cmake pkgconfig ];
|
||||||
|
|
||||||
NIX_LDFLAGS = "-llcms -ljpeg";
|
NIX_LDFLAGS = "-llcms -ljpeg";
|
||||||
|
|
||||||
|
@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
|
|||||||
libxslt docbook_xsl libart_lgpl
|
libxslt docbook_xsl libart_lgpl
|
||||||
] ++ stdenv.lib.optional withGNOME libgnomeui;
|
] ++ stdenv.lib.optional withGNOME libgnomeui;
|
||||||
|
|
||||||
buildNativeInputs = [ pkgconfig intltool perl ];
|
nativeBuildInputs = [ pkgconfig intltool perl ];
|
||||||
|
|
||||||
configureFlags = stdenv.lib.optionalString withGNOME "--enable-gnome";
|
configureFlags = stdenv.lib.optionalString withGNOME "--enable-gnome";
|
||||||
|
|
||||||
|
@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "1prnaywnbv0xpw6knqagzc4gn1vsj9kw2hvdasjwknc9ljiyl721";
|
sha256 = "1prnaywnbv0xpw6knqagzc4gn1vsj9kw2hvdasjwknc9ljiyl721";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildNativeInputs = [ cmake automoc4 pkgconfig ];
|
nativeBuildInputs = [ cmake automoc4 pkgconfig ];
|
||||||
|
|
||||||
buildInputs = [ qt4 kdelibs phonon qimageblitz qca2 eigen lcms libjpeg libtiff
|
buildInputs = [ qt4 kdelibs phonon qimageblitz qca2 eigen lcms libjpeg libtiff
|
||||||
jasper libgphoto2 kdepimlibs gettext soprano liblqr1 lensfun qjson libkdcraw
|
jasper libgphoto2 kdepimlibs gettext soprano liblqr1 lensfun qjson libkdcraw
|
||||||
|
@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
buildInputs = [djvulibre qt4];
|
buildInputs = [djvulibre qt4];
|
||||||
|
|
||||||
buildNativeInputs = [ pkgconfig ];
|
nativeBuildInputs = [ pkgconfig ];
|
||||||
|
|
||||||
patches = [ ./djview4-qt-4.8.patch ];
|
patches = [ ./djview4-qt-4.8.patch ];
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "1riia87v5nsx858xnlvc7sspr1p36adjqrdch1255ikr5xbv6h6x";
|
sha256 = "1riia87v5nsx858xnlvc7sspr1p36adjqrdch1255ikr5xbv6h6x";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildNativeInputs = [ pkgconfig which ];
|
nativeBuildInputs = [ pkgconfig which ];
|
||||||
buildInputs =
|
buildInputs =
|
||||||
[ libexif libjpeg libpng libungif freetype fontconfig libtiff libwebp
|
[ libexif libjpeg libpng libungif freetype fontconfig libtiff libwebp
|
||||||
imagemagick curl saneBackends
|
imagemagick curl saneBackends
|
||||||
|
@ -36,7 +36,7 @@ let
|
|||||||
libLQR = pluginDerivation {
|
libLQR = pluginDerivation {
|
||||||
name = "liblqr-1-0.4.1";
|
name = "liblqr-1-0.4.1";
|
||||||
# required by lqrPlugin, you don't havet to install this lib explicitely
|
# required by lqrPlugin, you don't havet to install this lib explicitely
|
||||||
buildInputs = [ gimp ] ++ gimp.buildNativeInputs;
|
buildInputs = [ gimp ] ++ gimp.nativeBuildInputs;
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = http://registry.gimp.org/files/liblqr-1-0.4.1.tar.bz2;
|
url = http://registry.gimp.org/files/liblqr-1-0.4.1.tar.bz2;
|
||||||
sha256 = "02g90wag7xi5rjlmwq8h0qs666b1i2sa90s4303hmym40il33nlz";
|
sha256 = "02g90wag7xi5rjlmwq8h0qs666b1i2sa90s4303hmym40il33nlz";
|
||||||
@ -50,7 +50,7 @@ rec {
|
|||||||
Video
|
Video
|
||||||
*/
|
*/
|
||||||
name = "gap-2.6.0";
|
name = "gap-2.6.0";
|
||||||
buildInputs = [ gimp pkgconfig glib pkgs.intltool gimp.gtk ] ++ gimp.buildNativeInputs;
|
buildInputs = [ gimp pkgconfig glib pkgs.intltool gimp.gtk ] ++ gimp.nativeBuildInputs;
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = ftp://ftp.gimp.org/pub/gimp/plug-ins/v2.6/gap/gimp-gap-2.6.0.tar.bz2;
|
url = ftp://ftp.gimp.org/pub/gimp/plug-ins/v2.6/gap/gimp-gap-2.6.0.tar.bz2;
|
||||||
sha256 = "1jic7ixcmsn4kx2cn32nc5087rk6g8xsrz022xy11yfmgvhzb0ql";
|
sha256 = "1jic7ixcmsn4kx2cn32nc5087rk6g8xsrz022xy11yfmgvhzb0ql";
|
||||||
@ -74,7 +74,7 @@ rec {
|
|||||||
Filters/Generic/FFT Inverse
|
Filters/Generic/FFT Inverse
|
||||||
*/
|
*/
|
||||||
name = "fourier-0.3.3";
|
name = "fourier-0.3.3";
|
||||||
buildInputs = [ gimp pkgs.fftwSinglePrec pkgconfig glib] ++ gimp.buildNativeInputs;
|
buildInputs = [ gimp pkgs.fftwSinglePrec pkgconfig glib] ++ gimp.nativeBuildInputs;
|
||||||
postInstall = "fail";
|
postInstall = "fail";
|
||||||
installPhase = "installPlugins fourier";
|
installPhase = "installPlugins fourier";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
@ -91,7 +91,7 @@ rec {
|
|||||||
Filters/Enhance/Smart remove selection
|
Filters/Enhance/Smart remove selection
|
||||||
*/
|
*/
|
||||||
name = "resynthesizer-0.16";
|
name = "resynthesizer-0.16";
|
||||||
buildInputs = [ gimp pkgs.fftw ] ++ gimp.buildNativeInputs;
|
buildInputs = [ gimp pkgs.fftw ] ++ gimp.nativeBuildInputs;
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = http://www.logarithmic.net/pfh-files/resynthesizer/resynthesizer-0.16.tar.gz;
|
url = http://www.logarithmic.net/pfh-files/resynthesizer/resynthesizer-0.16.tar.gz;
|
||||||
sha256 = "1k90a1jzswxmajn56rdxa4r60v9v34fmqsiwfdxqcvx3yf4yq96x";
|
sha256 = "1k90a1jzswxmajn56rdxa4r60v9v34fmqsiwfdxqcvx3yf4yq96x";
|
||||||
@ -105,7 +105,7 @@ rec {
|
|||||||
|
|
||||||
texturize = pluginDerivation {
|
texturize = pluginDerivation {
|
||||||
name = "texturize-2.1";
|
name = "texturize-2.1";
|
||||||
buildInputs = [ gimp ] ++ gimp.buildNativeInputs;
|
buildInputs = [ gimp ] ++ gimp.nativeBuildInputs;
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = http://prdownloads.sourceforge.net/gimp-texturize/texturize-2.1_src.tgz;
|
url = http://prdownloads.sourceforge.net/gimp-texturize/texturize-2.1_src.tgz;
|
||||||
sha256 = "0cdjq25g3yfxx6bzx6nid21kq659s1vl9id4wxyjs2dhcv229cg3";
|
sha256 = "0cdjq25g3yfxx6bzx6nid21kq659s1vl9id4wxyjs2dhcv229cg3";
|
||||||
@ -118,7 +118,7 @@ rec {
|
|||||||
Filters/Enhance/Wavelet sharpen
|
Filters/Enhance/Wavelet sharpen
|
||||||
*/
|
*/
|
||||||
name = "wavelet-sharpen-0.1.2";
|
name = "wavelet-sharpen-0.1.2";
|
||||||
buildInputs = [ gimp ] ++ gimp.buildNativeInputs;
|
buildInputs = [ gimp ] ++ gimp.nativeBuildInputs;
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = http://registry.gimp.org/files/wavelet-sharpen-0.1.2.tar.gz;
|
url = http://registry.gimp.org/files/wavelet-sharpen-0.1.2.tar.gz;
|
||||||
sha256 = "0vql1k67i21g5ivaa1jh56rg427m0icrkpryrhg75nscpirfxxqw";
|
sha256 = "0vql1k67i21g5ivaa1jh56rg427m0icrkpryrhg75nscpirfxxqw";
|
||||||
@ -131,7 +131,7 @@ rec {
|
|||||||
Layer/Liquid Rescale
|
Layer/Liquid Rescale
|
||||||
*/
|
*/
|
||||||
name = "lqr-plugin-0.6.1";
|
name = "lqr-plugin-0.6.1";
|
||||||
buildInputs = [ pkgconfig libLQR gimp ] ++ gimp.buildNativeInputs;
|
buildInputs = [ pkgconfig libLQR gimp ] ++ gimp.nativeBuildInputs;
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = http://registry.gimp.org/files/gimp-lqr-plugin-0.6.1.tar.bz2;
|
url = http://registry.gimp.org/files/gimp-lqr-plugin-0.6.1.tar.bz2;
|
||||||
sha256 = "00hklkpcimcbpjly4rjhfipaw096cpy768g9wixglwrsyqhil7l9";
|
sha256 = "00hklkpcimcbpjly4rjhfipaw096cpy768g9wixglwrsyqhil7l9";
|
||||||
@ -146,7 +146,7 @@ rec {
|
|||||||
let imagemagick = pkgs.imagemagickBig; # maybe the non big version is enough?
|
let imagemagick = pkgs.imagemagickBig; # maybe the non big version is enough?
|
||||||
in pluginDerivation {
|
in pluginDerivation {
|
||||||
name = "gmic-1.3.2.0";
|
name = "gmic-1.3.2.0";
|
||||||
buildInputs = [ imagemagick pkgconfig gimp pkgs.fftwSinglePrec ] ++ gimp.buildNativeInputs;
|
buildInputs = [ imagemagick pkgconfig gimp pkgs.fftwSinglePrec ] ++ gimp.nativeBuildInputs;
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = http://dfn.dl.sourceforge.net/sourceforge/gmic/gmic_1.3.2.0.tar.gz;
|
url = http://dfn.dl.sourceforge.net/sourceforge/gmic/gmic_1.3.2.0.tar.gz;
|
||||||
sha256 = "0mxq664vzzc2l6k6sqm9syp34mihhi262i6fixk1g12lmc28797h";
|
sha256 = "0mxq664vzzc2l6k6sqm9syp34mihhi262i6fixk1g12lmc28797h";
|
||||||
@ -172,7 +172,7 @@ rec {
|
|||||||
# or use the binary
|
# or use the binary
|
||||||
ufraw = pluginDerivation {
|
ufraw = pluginDerivation {
|
||||||
name = "ufraw-0.15";
|
name = "ufraw-0.15";
|
||||||
buildInputs = [pkgs.lcms gimp] ++ gimp.buildNativeInputs;
|
buildInputs = [pkgs.lcms gimp] ++ gimp.nativeBuildInputs;
|
||||||
# --enable-mime - install mime files, see README for more information
|
# --enable-mime - install mime files, see README for more information
|
||||||
# --enable-extras - build extra (dcraw, nikon-curve) executables
|
# --enable-extras - build extra (dcraw, nikon-curve) executables
|
||||||
# --enable-dst-correction - enable DST correction for file timestamps.
|
# --enable-dst-correction - enable DST correction for file timestamps.
|
||||||
|
@ -19,7 +19,7 @@ stdenv.mkDerivation {
|
|||||||
zlib libtool
|
zlib libtool
|
||||||
];
|
];
|
||||||
|
|
||||||
buildNativeInputs = [ xz ];
|
nativeBuildInputs = [ xz ];
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
sed -i 's/-ltiff.*'\'/\'/ $out/bin/*
|
sed -i 's/-ltiff.*'\'/\'/ $out/bin/*
|
||||||
|
@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
|
|||||||
buildInputs = [ panotools wxGTK libtiff libpng openexr boost tclap
|
buildInputs = [ panotools wxGTK libtiff libpng openexr boost tclap
|
||||||
exiv2 gettext ilmbase mesa freeglut glew libXmu libXi ];
|
exiv2 gettext ilmbase mesa freeglut glew libXmu libXi ];
|
||||||
|
|
||||||
buildNativeInputs = [ cmake pkgconfig ];
|
nativeBuildInputs = [ cmake pkgconfig ];
|
||||||
|
|
||||||
propagatedUserEnvPackages = [ enblendenfuse autopanosiftc ];
|
propagatedUserEnvPackages = [ enblendenfuse autopanosiftc ];
|
||||||
|
|
||||||
|
@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
|
|||||||
libksane libxslt gettext opencv libgpod gdk_pixbuf qjson
|
libksane libxslt gettext opencv libgpod gdk_pixbuf qjson
|
||||||
];
|
];
|
||||||
|
|
||||||
buildNativeInputs = [ pkgconfig cmake automoc4 ];
|
nativeBuildInputs = [ pkgconfig cmake automoc4 ];
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "Photo Management Program";
|
description = "Photo Management Program";
|
||||||
|
@ -10,5 +10,5 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
buildInputs = [ kdelibs imlib ];
|
buildInputs = [ kdelibs imlib ];
|
||||||
|
|
||||||
buildNativeInputs = [ cmake gettext pkgconfig ];
|
nativeBuildInputs = [ cmake gettext pkgconfig ];
|
||||||
}
|
}
|
||||||
|
@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
|
|||||||
'';
|
'';
|
||||||
|
|
||||||
buildInputs = [saneBackends libX11 gtk pkgconfig] ++
|
buildInputs = [saneBackends libX11 gtk pkgconfig] ++
|
||||||
(if (libusb != null) then [libusb] else []);
|
(if libusb != null then [libusb] else []);
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
homepage = "http://www.sane-project.org/";
|
homepage = "http://www.sane-project.org/";
|
||||||
|
@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
|
|||||||
'';
|
'';
|
||||||
|
|
||||||
buildInputs = [libpng saneBackends saneFrontends libX11 gtk pkgconfig ] ++
|
buildInputs = [libpng saneBackends saneFrontends libX11 gtk pkgconfig ] ++
|
||||||
(if (libusb != null) then [libusb] else []);
|
(if libusb != null then [libusb] else []);
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
homepage = http://www.sane-project.org/;
|
homepage = http://www.sane-project.org/;
|
||||||
|
@ -9,7 +9,7 @@ stdenv.mkDerivation {
|
|||||||
sha256 = "05xbzq1i1vw2mdsv7zjqfpxfv3g1j0g5kks0gq6sh373xd6y8lyh";
|
sha256 = "05xbzq1i1vw2mdsv7zjqfpxfv3g1j0g5kks0gq6sh373xd6y8lyh";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildNativeInputs = [ automake pkgconfig gettext perl zip ];
|
nativeBuildInputs = [ automake pkgconfig gettext perl zip ];
|
||||||
buildInputs = [ wxGTK gtk libxml2 freetype pango ];
|
buildInputs = [ wxGTK gtk libxml2 freetype pango ];
|
||||||
|
|
||||||
configureFlags = "--disable-svnversion";
|
configureFlags = "--disable-svnversion";
|
||||||
|
@ -14,7 +14,7 @@ stdenv.mkDerivation {
|
|||||||
|
|
||||||
buildInputs = [x11 libXpm libXmu libXi libXp Xaw3d libpng libjpeg];
|
buildInputs = [x11 libXpm libXmu libXi libXp Xaw3d libpng libjpeg];
|
||||||
|
|
||||||
buildNativeInputs = [ imake makeWrapper ];
|
nativeBuildInputs = [ imake makeWrapper ];
|
||||||
|
|
||||||
NIX_CFLAGS_COMPILE = "-I${libXpm}/include/X11";
|
NIX_CFLAGS_COMPILE = "-I${libXpm}/include/X11";
|
||||||
|
|
||||||
|
@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
|
|||||||
pango libX11 xproto zlib poppler poppler_data
|
pango libX11 xproto zlib poppler poppler_data
|
||||||
];
|
];
|
||||||
|
|
||||||
buildNativeInputs = [ autoconf automake libtool pkgconfig ];
|
nativeBuildInputs = [ autoconf automake libtool pkgconfig ];
|
||||||
|
|
||||||
# Build with poppler-0.18.x
|
# Build with poppler-0.18.x
|
||||||
patchFlags = "-p0";
|
patchFlags = "-p0";
|
||||||
|
@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
inherit python;
|
inherit python;
|
||||||
|
|
||||||
buildNativeInputs = [ makeWrapper pkgconfig ];
|
nativeBuildInputs = [ makeWrapper pkgconfig ];
|
||||||
|
|
||||||
buildInputs =
|
buildInputs =
|
||||||
[ python pyqt4 sip popplerQt4 libpng imagemagick libjpeg
|
[ python pyqt4 sip popplerQt4 libpng imagemagick libjpeg
|
||||||
|
@ -13,7 +13,7 @@ stdenv.mkDerivation {
|
|||||||
sha256 = "0bcpmnlk03382x577qbnbw3i6y08hr3qmg85pqj35scnl6van74c";
|
sha256 = "0bcpmnlk03382x577qbnbw3i6y08hr3qmg85pqj35scnl6van74c";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildNativeInputs = [
|
nativeBuildInputs = [
|
||||||
glibc
|
glibc
|
||||||
glib
|
glib
|
||||||
stdenv.gcc.gcc
|
stdenv.gcc.gcc
|
||||||
@ -55,7 +55,7 @@ stdenv.mkDerivation {
|
|||||||
chmod +x $out/bin/googleearth
|
chmod +x $out/bin/googleearth
|
||||||
|
|
||||||
fullPath=
|
fullPath=
|
||||||
for i in $buildNativeInputs; do
|
for i in $nativeBuildInputs; do
|
||||||
fullPath=$fullPath:$i/lib
|
fullPath=$fullPath:$i/lib
|
||||||
done
|
done
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "08x1p8xhl65r79a6gn1fi63z1lspd5j55l05diiyzcwfxvqwsm47";
|
sha256 = "08x1p8xhl65r79a6gn1fi63z1lspd5j55l05diiyzcwfxvqwsm47";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildNativeInputs = [ pkgconfig gettext ];
|
nativeBuildInputs = [ pkgconfig gettext ];
|
||||||
buildInputs = [ libgphoto2 libexif popt libjpeg readline libtool ];
|
buildInputs = [ libgphoto2 libexif popt libjpeg readline libtool ];
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
|
@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
buildInputs = [ kdelibs ];
|
buildInputs = [ kdelibs ];
|
||||||
|
|
||||||
buildNativeInputs = [ gettext ];
|
nativeBuildInputs = [ gettext ];
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
description = "KDE Wacom graphic tablet configuration tool";
|
description = "KDE Wacom graphic tablet configuration tool";
|
||||||
|
@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
buildInputs = [ neon libusb openssl udev avahi freeipmi ];
|
buildInputs = [ neon libusb openssl udev avahi freeipmi ];
|
||||||
|
|
||||||
buildNativeInputs = [ pkgconfig ];
|
nativeBuildInputs = [ pkgconfig ];
|
||||||
|
|
||||||
configureFlags =
|
configureFlags =
|
||||||
[ "--with-all"
|
[ "--with-all"
|
||||||
|
@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
|
|||||||
buildInputs = [ gdal qt4 flex bison proj geos x11 sqlite gsl pyqt4 qwt
|
buildInputs = [ gdal qt4 flex bison proj geos x11 sqlite gsl pyqt4 qwt
|
||||||
fcgi ];
|
fcgi ];
|
||||||
|
|
||||||
buildNativeInputs = [ cmake python];
|
nativeBuildInputs = [ cmake python];
|
||||||
|
|
||||||
patches = [ ./r14988.diff ];
|
patches = [ ./r14988.diff ];
|
||||||
|
|
||||||
|
@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "1yrf73r8mixskh8b531wb8dfs9z7rrw010xsrflhjhjmqh94h8mw";
|
sha256 = "1yrf73r8mixskh8b531wb8dfs9z7rrw010xsrflhjhjmqh94h8mw";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildNativeInputs = [ gettext ];
|
nativeBuildInputs = [ gettext ];
|
||||||
|
|
||||||
buildInputs = [ kdelibs kdebase_workspace ];
|
buildInputs = [ kdelibs kdebase_workspace ];
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@ stdenv.mkDerivation {
|
|||||||
sha256 = "0diy72sgiyvfl6bdy7k3qwv3ijx2z1y477smkk6jsbbd9fsp2lfg";
|
sha256 = "0diy72sgiyvfl6bdy7k3qwv3ijx2z1y477smkk6jsbbd9fsp2lfg";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildNativeInputs = [ cmake ];
|
nativeBuildInputs = [ cmake ];
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "GTD (getting things done) implementation";
|
description = "GTD (getting things done) implementation";
|
||||||
|
@ -69,7 +69,7 @@ stdenv.mkDerivation {
|
|||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ pkgconfig fuse devicemapper wxGTK nasm ];
|
buildInputs = [ pkgconfig fuse devicemapper wxGTK nasm ];
|
||||||
makeFlags = if (wxGUI) then "" else "NOGUI=1";
|
makeFlags = if wxGUI then "" else "NOGUI=1";
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "Free Open-Source filesystem on-the-fly encryption";
|
description = "Free Open-Source filesystem on-the-fly encryption";
|
||||||
|
@ -14,7 +14,7 @@ stdenv.mkDerivation {
|
|||||||
|
|
||||||
buildInputs = [ kdelibs ];
|
buildInputs = [ kdelibs ];
|
||||||
|
|
||||||
buildNativeInputs = [ gettext ];
|
nativeBuildInputs = [ gettext ];
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
homepage = http://yakuake.kde.org;
|
homepage = http://yakuake.kde.org;
|
||||||
|
@ -117,7 +117,8 @@ in stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
patches = optional cupsSupport ./cups_allow_deprecated.patch
|
patches = optional cupsSupport ./cups_allow_deprecated.patch
|
||||||
++ optional pulseSupport ./pulseaudio_array_bounds.patch
|
++ optional pulseSupport ./pulseaudio_array_bounds.patch
|
||||||
++ maybeFixPulseAudioBuild;
|
++ maybeFixPulseAudioBuild
|
||||||
|
++ [ ./glibc-2.16-use-siginfo_t.patch ];
|
||||||
|
|
||||||
postPatch = optionalString useOpenSSL ''
|
postPatch = optionalString useOpenSSL ''
|
||||||
cat $opensslPatches | patch -p1 -d third_party/openssl/openssl
|
cat $opensslPatches | patch -p1 -d third_party/openssl/openssl
|
||||||
|
@ -0,0 +1,27 @@
|
|||||||
|
--- a/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h.orig 2012-12-22 16:01:44.000000000 +0200
|
||||||
|
+++ b/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h 2012-12-23 21:53:26.746069153 +0200
|
||||||
|
@@ -250,7 +250,7 @@
|
||||||
|
struct kernel_old_sigaction {
|
||||||
|
union {
|
||||||
|
void (*sa_handler_)(int);
|
||||||
|
- void (*sa_sigaction_)(int, struct siginfo *, void *);
|
||||||
|
+ void (*sa_sigaction_)(int, siginfo_t *, void *);
|
||||||
|
};
|
||||||
|
unsigned long sa_mask;
|
||||||
|
unsigned long sa_flags;
|
||||||
|
@@ -287,13 +287,13 @@
|
||||||
|
unsigned long sa_flags;
|
||||||
|
union {
|
||||||
|
void (*sa_handler_)(int);
|
||||||
|
- void (*sa_sigaction_)(int, struct siginfo *, void *);
|
||||||
|
+ void (*sa_sigaction_)(int, siginfo_t *, void *);
|
||||||
|
};
|
||||||
|
struct kernel_sigset_t sa_mask;
|
||||||
|
#else
|
||||||
|
union {
|
||||||
|
void (*sa_handler_)(int);
|
||||||
|
- void (*sa_sigaction_)(int, struct siginfo *, void *);
|
||||||
|
+ void (*sa_sigaction_)(int, siginfo_t *, void *);
|
||||||
|
};
|
||||||
|
unsigned long sa_flags;
|
||||||
|
void (*sa_restorer)(void);
|
@ -21,12 +21,12 @@ stdenv.mkDerivation rec {
|
|||||||
'';
|
'';
|
||||||
|
|
||||||
crossAttrs = {
|
crossAttrs = {
|
||||||
propagatedBuildInputs = [ ncurses.hostDrv zlib.hostDrv openssl.hostDrv ];
|
propagatedBuildInputs = [ ncurses.crossDrv zlib.crossDrv openssl.crossDrv ];
|
||||||
configureFlags = ''
|
configureFlags = ''
|
||||||
--enable-finger --enable-html-highlight
|
--enable-finger --enable-html-highlight
|
||||||
--enable-gopher --enable-cgi --enable-bittorrent --enable-nntp
|
--enable-gopher --enable-cgi --enable-bittorrent --enable-nntp
|
||||||
--with-openssl=${openssl.hostDrv}
|
--with-openssl=${openssl.crossDrv}
|
||||||
--with-bzip2=${bzip2.hostDrv}
|
--with-bzip2=${bzip2.crossDrv}
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
|
|||||||
++ stdenv.lib.optionals enableX11 [ libX11 libXau libXt ]
|
++ stdenv.lib.optionals enableX11 [ libX11 libXau libXt ]
|
||||||
++ stdenv.lib.optional enableDirectFB [ directfb ];
|
++ stdenv.lib.optional enableDirectFB [ directfb ];
|
||||||
|
|
||||||
buildNativeInputs = [ pkgconfig bzip2 ];
|
nativeBuildInputs = [ pkgconfig bzip2 ];
|
||||||
|
|
||||||
configureFlags = [ "--with-ssl" ]
|
configureFlags = [ "--with-ssl" ]
|
||||||
++ stdenv.lib.optional (enableX11 || enableFB || enableDirectFB) "--enable-graphics"
|
++ stdenv.lib.optional (enableX11 || enableFB || enableDirectFB) "--enable-graphics"
|
||||||
|
@ -15,7 +15,7 @@ stdenv.mkDerivation {
|
|||||||
configureFlags = if sslSupport then "--with-ssl" else "";
|
configureFlags = if sslSupport then "--with-ssl" else "";
|
||||||
|
|
||||||
buildInputs = [ ncurses gzip ] ++ stdenv.lib.optional sslSupport openssl;
|
buildInputs = [ ncurses gzip ] ++ stdenv.lib.optional sslSupport openssl;
|
||||||
buildNativeInputs = [ ncurses ];
|
nativeBuildInputs = [ ncurses ];
|
||||||
|
|
||||||
crossAttrs = {
|
crossAttrs = {
|
||||||
configureFlags = "--enable-widec" +
|
configureFlags = "--enable-widec" +
|
||||||
|
@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
buildInputs = [ kdelibs qca2 qoauth ];
|
buildInputs = [ kdelibs qca2 qoauth ];
|
||||||
|
|
||||||
buildNativeInputs = [ gettext pkgconfig shared_desktop_ontologies ];
|
nativeBuildInputs = [ gettext pkgconfig shared_desktop_ontologies ];
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
|
@ -19,9 +19,10 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "1qx9f0kprf92r1wxl3sacykla0g04qsi0idypzz24b7xy9ix5579";
|
sha256 = "1qx9f0kprf92r1wxl3sacykla0g04qsi0idypzz24b7xy9ix5579";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Patch for the newer unstable boehm-gc 7.2alpha. Not all platforms use that
|
patches = [ ./glibc214.patch ]
|
||||||
# alpha. At the time of writing this, boehm-gc-7.1 is the last stable.
|
# Patch for the newer unstable boehm-gc 7.2alpha. Not all platforms use that
|
||||||
patches = stdenv.lib.optional (boehmgc.name != "boehm-gc-7.1") [ ./newgc.patch ];
|
# alpha. At the time of writing this, boehm-gc-7.1 is the last stable.
|
||||||
|
++ stdenv.lib.optional (boehmgc.name != "boehm-gc-7.1") [ ./newgc.patch ];
|
||||||
|
|
||||||
buildInputs = [ncurses boehmgc gettext zlib]
|
buildInputs = [ncurses boehmgc gettext zlib]
|
||||||
++ stdenv.lib.optional sslSupport openssl
|
++ stdenv.lib.optional sslSupport openssl
|
||||||
@ -36,6 +37,8 @@ stdenv.mkDerivation rec {
|
|||||||
substituteInPlace ./configure --replace /usr /no-such-path
|
substituteInPlace ./configure --replace /usr /no-such-path
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
enableParallelBuilding = false;
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
homepage = http://w3m.sourceforge.net/;
|
homepage = http://w3m.sourceforge.net/;
|
||||||
description = "A text-mode web browser";
|
description = "A text-mode web browser";
|
||||||
|
60
pkgs/applications/networking/browsers/w3m/glibc214.patch
Normal file
60
pkgs/applications/networking/browsers/w3m/glibc214.patch
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/www-client/w3m/files/w3m-0.5.3-glibc214.patch?revision=1.1
|
||||||
|
|
||||||
|
--- a/istream.c.~1.27.~ 2011-01-04 18:22:22.000000000 +0900
|
||||||
|
+++ b/istream.c 2011-06-24 08:15:23.522990618 +0900
|
||||||
|
@@ -22,8 +22,8 @@
|
||||||
|
static void basic_close(int *handle);
|
||||||
|
static int basic_read(int *handle, char *buf, int len);
|
||||||
|
|
||||||
|
-static void file_close(struct file_handle *handle);
|
||||||
|
-static int file_read(struct file_handle *handle, char *buf, int len);
|
||||||
|
+static void file_close(struct afile_handle *handle);
|
||||||
|
+static int file_read(struct afile_handle *handle, char *buf, int len);
|
||||||
|
|
||||||
|
static int str_read(Str handle, char *buf, int len);
|
||||||
|
|
||||||
|
@@ -114,7 +114,7 @@
|
||||||
|
stream = New(union input_stream);
|
||||||
|
init_base_stream(&stream->base, STREAM_BUF_SIZE);
|
||||||
|
stream->file.type = IST_FILE;
|
||||||
|
- stream->file.handle = New(struct file_handle);
|
||||||
|
+ stream->file.handle = New(struct afile_handle);
|
||||||
|
stream->file.handle->f = f;
|
||||||
|
if (closep)
|
||||||
|
stream->file.handle->close = closep;
|
||||||
|
@@ -658,13 +658,13 @@
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
-file_close(struct file_handle *handle)
|
||||||
|
+file_close(struct afile_handle *handle)
|
||||||
|
{
|
||||||
|
handle->close(handle->f);
|
||||||
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
-file_read(struct file_handle *handle, char *buf, int len)
|
||||||
|
+file_read(struct afile_handle *handle, char *buf, int len)
|
||||||
|
{
|
||||||
|
return fread(buf, 1, len, handle->f);
|
||||||
|
}
|
||||||
|
--- a/istream.h.~1.12.~ 2003-10-21 01:41:56.000000000 +0900
|
||||||
|
+++ b/istream.h 2011-06-24 08:15:54.392991144 +0900
|
||||||
|
@@ -20,7 +20,7 @@
|
||||||
|
|
||||||
|
typedef struct stream_buffer *StreamBuffer;
|
||||||
|
|
||||||
|
-struct file_handle {
|
||||||
|
+struct afile_handle {
|
||||||
|
FILE *f;
|
||||||
|
void (*close) ();
|
||||||
|
};
|
||||||
|
@@ -53,7 +53,7 @@
|
||||||
|
|
||||||
|
struct file_stream {
|
||||||
|
struct stream_buffer stream;
|
||||||
|
- struct file_handle *handle;
|
||||||
|
+ struct afile_handle *handle;
|
||||||
|
char type;
|
||||||
|
char iseos;
|
||||||
|
int (*read) ();
|
@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
buildInputs = [ gtk libglade libosip libexosip readline mediastreamer speex libsoup ];
|
buildInputs = [ gtk libglade libosip libexosip readline mediastreamer speex libsoup ];
|
||||||
|
|
||||||
buildNativeInputs = [ intltool pkgconfig ];
|
nativeBuildInputs = [ intltool pkgconfig ];
|
||||||
|
|
||||||
preConfigure = "rm -r mediastreamer2 oRTP";
|
preConfigure = "rm -r mediastreamer2 oRTP";
|
||||||
|
|
||||||
|
@ -0,0 +1,86 @@
|
|||||||
|
http://pkgs.fedoraproject.org/gitweb/?p=psimedia.git;a=blob_plain;f=psimedia-remove-v4l.patch;hb=HEAD
|
||||||
|
|
||||||
|
--- a/gstprovider/deviceenum/deviceenum_unix.cpp
|
||||||
|
+++ b/gstprovider/deviceenum/deviceenum_unix.cpp
|
||||||
|
@@ -35,7 +35,7 @@
|
||||||
|
# include <sys/stat.h>
|
||||||
|
# include <dirent.h>
|
||||||
|
# include <sys/ioctl.h>
|
||||||
|
-# include <linux/videodev.h>
|
||||||
|
+# include <linux/videodev2.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
namespace DeviceEnum {
|
||||||
|
@@ -478,72 +478,7 @@
|
||||||
|
// v4l detection scheme adapted from PWLib (used by Ekiga/Gnomemeeting)
|
||||||
|
static QList<Item> get_v4l_items()
|
||||||
|
{
|
||||||
|
-#ifdef Q_OS_LINUX
|
||||||
|
- QList<Item> out;
|
||||||
|
-
|
||||||
|
- QList<V4LName> list = get_v4l_names("/sys/class/video4linux", true);
|
||||||
|
- if(list.isEmpty())
|
||||||
|
- list = get_v4l_names("/proc/video/dev", false);
|
||||||
|
-
|
||||||
|
- // if we can't find anything, then do a raw scan for possibilities
|
||||||
|
- if(list.isEmpty())
|
||||||
|
- {
|
||||||
|
- QStringList possible = scan_for_videodevs("/dev");
|
||||||
|
- foreach(QString str, possible)
|
||||||
|
- {
|
||||||
|
- V4LName v;
|
||||||
|
- v.dev = str;
|
||||||
|
- list += v;
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- for(int n = 0; n < list.count(); ++n)
|
||||||
|
- {
|
||||||
|
- V4LName &v = list[n];
|
||||||
|
-
|
||||||
|
- // if we already have a friendly name then we'll skip the confirm
|
||||||
|
- // in order to save resources. the only real drawback here that
|
||||||
|
- // I can think of is if the device isn't a capture type. but
|
||||||
|
- // what does it mean to have a V4L device that isn't capture??
|
||||||
|
- if(v.friendlyName.isEmpty())
|
||||||
|
- {
|
||||||
|
- int fd = open(QFile::encodeName(v.dev).data(), O_RDONLY | O_NONBLOCK);
|
||||||
|
- if(fd == -1)
|
||||||
|
- continue;
|
||||||
|
-
|
||||||
|
- // get video capabilities and close
|
||||||
|
- struct video_capability caps;
|
||||||
|
- memset(&caps, 0, sizeof(caps));
|
||||||
|
- int ret = ioctl(fd, VIDIOCGCAP, &caps);
|
||||||
|
- close(fd);
|
||||||
|
- if(ret == -1)
|
||||||
|
- continue;
|
||||||
|
-
|
||||||
|
- if(!(caps.type & VID_TYPE_CAPTURE))
|
||||||
|
- continue;
|
||||||
|
-
|
||||||
|
- v.friendlyName = caps.name;
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- Item i;
|
||||||
|
- i.type = Item::Video;
|
||||||
|
- i.dir = Item::Input;
|
||||||
|
- i.name = v.friendlyName;
|
||||||
|
- i.driver = "v4l";
|
||||||
|
- i.id = v.dev;
|
||||||
|
-
|
||||||
|
- // HACK
|
||||||
|
- if(v.friendlyName == "Labtec Webcam Notebook")
|
||||||
|
- i.explicitCaptureSize = QSize(640, 480);
|
||||||
|
-
|
||||||
|
- out += i;
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- return out;
|
||||||
|
-#else
|
||||||
|
- // return empty list if non-linux
|
||||||
|
return QList<Item>();
|
||||||
|
-#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
static QList<Item> get_v4l2_items()
|
@ -2,14 +2,14 @@
|
|||||||
, glib, pkgconfig }:
|
, glib, pkgconfig }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "psimedia";
|
name = "psimedia-1.0.3";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://delta.affinix.com/download/psimedia/psimedia-1.0.3.tar.bz2";
|
url = "http://delta.affinix.com/download/psimedia/${name}.tar.bz2";
|
||||||
sha256 = "0fxjdz8afh75gfx2msysb1gss6zx578l3224jvc9jhm99w1ii781";
|
sha256 = "0fxjdz8afh75gfx2msysb1gss6zx578l3224jvc9jhm99w1ii781";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [ ./glib-2.32.patch ];
|
patches = [ ./glib-2.32.patch ./linux-headers.patch ];
|
||||||
|
|
||||||
buildInputs = [ qt4 gstreamer gst_plugins_base liboil speex which glib pkgconfig ];
|
buildInputs = [ qt4 gstreamer gst_plugins_base liboil speex which glib pkgconfig ];
|
||||||
|
|
||||||
|
@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
|
|||||||
cp -r * $out/libexec/skype/
|
cp -r * $out/libexec/skype/
|
||||||
|
|
||||||
fullPath=
|
fullPath=
|
||||||
for i in $buildNativeInputs; do
|
for i in $nativeBuildInputs; do
|
||||||
fullPath=$fullPath''${fullPath:+:}$i/lib
|
fullPath=$fullPath''${fullPath:+:}$i/lib
|
||||||
done
|
done
|
||||||
|
|
||||||
|
@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "0fk65f7q75z3wm5h4wad7g5sm2j6r8v2845b74ycl29br78ki2hf";
|
sha256 = "0fk65f7q75z3wm5h4wad7g5sm2j6r8v2845b74ycl29br78ki2hf";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildNativeInputs = [pkgconfig libxslt];
|
nativeBuildInputs = [pkgconfig libxslt];
|
||||||
buildInputs = [ libxml2 dbus_glib sqlite libsoup libnice telepathy_glib gnutls ];
|
buildInputs = [ libxml2 dbus_glib sqlite libsoup libnice telepathy_glib gnutls ];
|
||||||
|
|
||||||
configureFlags = "--with-ca-certificates=/etc/ca-bundle.crt";
|
configureFlags = "--with-ca-certificates=/etc/ca-bundle.crt";
|
||||||
|
@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
buildInputs = [ glib telepathy_glib dbus_glib pidgin ];
|
buildInputs = [ glib telepathy_glib dbus_glib pidgin ];
|
||||||
|
|
||||||
buildNativeInputs = [ pkgconfig libxslt ];
|
nativeBuildInputs = [ pkgconfig libxslt ];
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "A Telepathy connection manager based on libpurple";
|
description = "A Telepathy connection manager based on libpurple";
|
||||||
|
@ -20,7 +20,7 @@ let
|
|||||||
text_ui = [ ktp.telepathy_logger_qt qt_gstreamer telepathy_logger ];
|
text_ui = [ ktp.telepathy_logger_qt qt_gstreamer telepathy_logger ];
|
||||||
};
|
};
|
||||||
|
|
||||||
extraBuildNativeInputs = {
|
extraNativeBuildInputs = {
|
||||||
telepathy_logger_qt = [ flex bison ];
|
telepathy_logger_qt = [ flex bison ];
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -37,7 +37,7 @@ let
|
|||||||
inherit sha256;
|
inherit sha256;
|
||||||
};
|
};
|
||||||
|
|
||||||
buildNativeInputs = [ gettext pkgconfig ] ++ (stdenv.lib.attrByPath [ key ] [] extraBuildNativeInputs);
|
nativeBuildInputs = [ gettext pkgconfig ] ++ (stdenv.lib.attrByPath [ key ] [] extraNativeBuildInputs);
|
||||||
buildInputs = [ kdelibs telepathy_qt ]
|
buildInputs = [ kdelibs telepathy_qt ]
|
||||||
++ stdenv.lib.optional (name != "ktp-common-internals") ktp.common_internals
|
++ stdenv.lib.optional (name != "ktp-common-internals") ktp.common_internals
|
||||||
++ (stdenv.lib.attrByPath [ key ] [] extraBuildInputs);
|
++ (stdenv.lib.attrByPath [ key ] [] extraBuildInputs);
|
||||||
|
@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
buildInputs = [ dbus_glib libxml2 sqlite telepathy_glib pkgconfig intltool ];
|
buildInputs = [ dbus_glib libxml2 sqlite telepathy_glib pkgconfig intltool ];
|
||||||
|
|
||||||
buildNativeInputs = [ libxslt ];
|
nativeBuildInputs = [ libxslt ];
|
||||||
|
|
||||||
configureFlags = "--enable-call";
|
configureFlags = "--enable-call";
|
||||||
|
|
||||||
|
@ -11,5 +11,5 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
buildInputs = [ telepathy_glib ];
|
buildInputs = [ telepathy_glib ];
|
||||||
|
|
||||||
buildNativeInputs = [ pkgconfig libxslt ];
|
nativeBuildInputs = [ pkgconfig libxslt ];
|
||||||
}
|
}
|
||||||
|
@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "11cmmdq31kivm6nsv61hxy3hxnnmbd8sj55xqwx9hyqzybh70dyf";
|
sha256 = "11cmmdq31kivm6nsv61hxy3hxnnmbd8sj55xqwx9hyqzybh70dyf";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildNativeInputs = [pkgconfigUpstream libxslt python];
|
nativeBuildInputs = [pkgconfigUpstream libxslt python];
|
||||||
buildInputs = [ libxml2 dbus_glib telepathy_glib sofia_sip];
|
buildInputs = [ libxml2 dbus_glib telepathy_glib sofia_sip];
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
|
@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
|
|||||||
buildInputs = [ glib libxml2 telepathy_glib avahi libsoup libuuid gnutls
|
buildInputs = [ glib libxml2 telepathy_glib avahi libsoup libuuid gnutls
|
||||||
sqlite ];
|
sqlite ];
|
||||||
|
|
||||||
buildNativeInputs = [ libxslt pkgconfigUpstream ];
|
nativeBuildInputs = [ libxslt pkgconfigUpstream ];
|
||||||
|
|
||||||
configureFlags = "--disable-avahi-tests";
|
configureFlags = "--disable-avahi-tests";
|
||||||
|
|
||||||
|
@ -3,11 +3,11 @@
|
|||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "notmuch-0.14";
|
name = "notmuch-0.15";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://notmuchmail.org/releases/${name}.tar.gz";
|
url = "http://notmuchmail.org/releases/${name}.tar.gz";
|
||||||
sha256 = "095e191dc0f3125c4fd98440fdf55050cba01b8e9f68245ffe0190a7f39ca753";
|
sha256 = "07bi87jxfh761b4fvcwf4svlksd7jlznnzhnsp983gdldkabg60q";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ bash emacs gdb glib gmime gnupg1 pkgconfig talloc xapian ];
|
buildInputs = [ bash emacs gdb glib gmime gnupg1 pkgconfig talloc xapian ];
|
||||||
@ -65,7 +65,7 @@ stdenv.mkDerivation rec {
|
|||||||
description = "Notmuch -- The mail indexer";
|
description = "Notmuch -- The mail indexer";
|
||||||
longDescription = "";
|
longDescription = "";
|
||||||
license = stdenv.lib.licenses.gpl3;
|
license = stdenv.lib.licenses.gpl3;
|
||||||
maintainers = with stdenv.lib.maintainers; [ chaoflow ];
|
maintainers = with stdenv.lib.maintainers; [ chaoflow garbas ];
|
||||||
platforms = stdenv.lib.platforms.gnu;
|
platforms = stdenv.lib.platforms.gnu;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
|
|||||||
patches = [] ++ stdenv.lib.optional enableCopyDevicesPatch "./patches/copy-devices.diff";
|
patches = [] ++ stdenv.lib.optional enableCopyDevicesPatch "./patches/copy-devices.diff";
|
||||||
|
|
||||||
buildInputs = stdenv.lib.optional enableACLs acl;
|
buildInputs = stdenv.lib.optional enableACLs acl;
|
||||||
buildNativeInputs = [perl];
|
nativeBuildInputs = [perl];
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
homepage = http://samba.anu.edu.au/rsync/;
|
homepage = http://samba.anu.edu.au/rsync/;
|
||||||
|
@ -27,7 +27,7 @@ stdenv.mkDerivation (rec {
|
|||||||
done
|
done
|
||||||
'' else "";
|
'' else "";
|
||||||
|
|
||||||
dontStrip = if ! ocaml.nativeCompilers then true else false;
|
dontStrip = !ocaml.nativeCompilers;
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
homepage = http://www.cis.upenn.edu/~bcpierce/unison/;
|
homepage = http://www.cis.upenn.edu/~bcpierce/unison/;
|
||||||
|
@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
buildInputs = [ kdelibs qimageblitz kdepimlibs gpgme ];
|
buildInputs = [ kdelibs qimageblitz kdepimlibs gpgme ];
|
||||||
|
|
||||||
buildNativeInputs = [ cmake gettext ];
|
nativeBuildInputs = [ cmake gettext ];
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "A multi-purpose note-taking application";
|
description = "A multi-purpose note-taking application";
|
||||||
|
@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "0q6ydi7hzrzwqzb38gikdh1l2zf8qp4i3nkgyb01148bjwrhvf21";
|
sha256 = "0q6ydi7hzrzwqzb38gikdh1l2zf8qp4i3nkgyb01148bjwrhvf21";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildNativeInputs = [ cmake perl pkgconfig ];
|
nativeBuildInputs = [ cmake perl pkgconfig ];
|
||||||
|
|
||||||
buildInputs = [ kdelibs attica zlib libpng boost mesa kdepimlibs
|
buildInputs = [ kdelibs attica zlib libpng boost mesa kdepimlibs
|
||||||
createresources eigen qca2 exiv2 soprano marble lcms2 fontconfig freetype
|
createresources eigen qca2 exiv2 soprano marble lcms2 fontconfig freetype
|
||||||
|
@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
|
|||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ kdepimlibs perl boost gpgme gmpxx libalkimia libofx libical ];
|
buildInputs = [ kdepimlibs perl boost gpgme gmpxx libalkimia libofx libical ];
|
||||||
buildNativeInputs = [ cmake automoc4 gettext shared_mime_info pkgconfig ];
|
nativeBuildInputs = [ cmake automoc4 gettext shared_mime_info pkgconfig ];
|
||||||
|
|
||||||
KDEDIRS = libalkimia;
|
KDEDIRS = libalkimia;
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
buildInputs = [ kdelibs grantlee qca2 libofx ];
|
buildInputs = [ kdelibs grantlee qca2 libofx ];
|
||||||
|
|
||||||
buildNativeInputs = [ gettext ];
|
nativeBuildInputs = [ gettext ];
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
inherit (kdelibs.meta) platforms;
|
inherit (kdelibs.meta) platforms;
|
||||||
|
@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
buildInputs = [ qt4 eigen zlib openbabel mesa libX11 ];
|
buildInputs = [ qt4 eigen zlib openbabel mesa libX11 ];
|
||||||
|
|
||||||
buildNativeInputs = [ cmake pkgconfig ];
|
nativeBuildInputs = [ cmake pkgconfig ];
|
||||||
|
|
||||||
NIX_CFLAGS_COMPILE = "-include ${mesa}/include/GL/glu.h";
|
NIX_CFLAGS_COMPILE = "-include ${mesa}/include/GL/glu.h";
|
||||||
|
|
||||||
|
@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
|
|||||||
propagatedBuildInputs = [ cln ];
|
propagatedBuildInputs = [ cln ];
|
||||||
buildInputs = [ readline ];
|
buildInputs = [ readline ];
|
||||||
|
|
||||||
buildNativeInputs = [ pkgconfig ];
|
nativeBuildInputs = [ pkgconfig ];
|
||||||
|
|
||||||
configureFlags = "--disable-rpath";
|
configureFlags = "--disable-rpath";
|
||||||
|
|
||||||
|
@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
|
|||||||
};
|
};
|
||||||
|
|
||||||
# Perl is only for the documentation
|
# Perl is only for the documentation
|
||||||
buildNativeInputs = [ perl ];
|
nativeBuildInputs = [ perl ];
|
||||||
|
|
||||||
patches = [ ./gcc43.patch ];
|
patches = [ ./gcc43.patch ];
|
||||||
|
|
||||||
|
@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
buildInputs = [ libxml2 freetype glew mesa qt4 libjpeg ];
|
buildInputs = [ libxml2 freetype glew mesa qt4 libjpeg ];
|
||||||
|
|
||||||
buildNativeInputs = [ cmake makeWrapper ];
|
nativeBuildInputs = [ cmake makeWrapper ];
|
||||||
|
|
||||||
# FIXME: "make check" needs Docbook's DTD 4.4, among other things.
|
# FIXME: "make check" needs Docbook's DTD 4.4, among other things.
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
@ -9,7 +9,7 @@ stdenv.mkDerivation {
|
|||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ zlib openssl readline sqlite ];
|
buildInputs = [ zlib openssl readline sqlite ];
|
||||||
buildNativeInputs = [ tcl ];
|
nativeBuildInputs = [ tcl ];
|
||||||
|
|
||||||
doCheck = true;
|
doCheck = true;
|
||||||
|
|
||||||
|
@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
buildInputs = [ apr aprutil subversion db4 kdelibs expat ];
|
buildInputs = [ apr aprutil subversion db4 kdelibs expat ];
|
||||||
|
|
||||||
buildNativeInputs = [ gettext ];
|
nativeBuildInputs = [ gettext ];
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "KDE SVN front-end";
|
description = "KDE SVN front-end";
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
{stdenv, fetchurl}:
|
{ stdenv, fetchurl }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "rcs-5.8";
|
name = "rcs-5.8.1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://gnu/rcs/${name}.tar.gz";
|
url = "mirror://gnu/rcs/${name}.tar.gz";
|
||||||
sha256 = "0q12nlghv4khxw5lk0y4949caghzg4jg0ripddi2h3q75vmfh6vh";
|
sha256 = "1b1y6s4gy3miv2bvx0z01kvnv58h35sw766lccdkxkalk43cml04";
|
||||||
};
|
};
|
||||||
|
|
||||||
doCheck = true;
|
doCheck = true;
|
||||||
|
@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
|
|||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ kdelibs phonon soprano shared_desktop_ontologies kdemultimedia taglib gettext ];
|
buildInputs = [ kdelibs phonon soprano shared_desktop_ontologies kdemultimedia taglib gettext ];
|
||||||
buildNativeInputs = [ cmake ];
|
nativeBuildInputs = [ cmake ];
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
description = "A media player for KDE based on Nepomuk and Phonon";
|
description = "A media player for KDE based on Nepomuk and Phonon";
|
||||||
|
@ -9,7 +9,7 @@ stdenv.mkDerivation rec{
|
|||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ libpng freetype libdvdread libxml2 zlib fribidi imagemagick ];
|
buildInputs = [ libpng freetype libdvdread libxml2 zlib fribidi imagemagick ];
|
||||||
buildNativeInputs = [ pkgconfig ];
|
nativeBuildInputs = [ pkgconfig ];
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "Tools for generating DVD files to be played on standalone DVD players";
|
description = "Tools for generating DVD files to be played on standalone DVD players";
|
||||||
|
@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
# this is the bare minimum configuration, as I'm only interested in MP4Box
|
# this is the bare minimum configuration, as I'm only interested in MP4Box
|
||||||
# For most other functionality, this should probably be extended
|
# For most other functionality, this should probably be extended
|
||||||
buildNativeInputs = [ pkgconfig zlib ];
|
nativeBuildInputs = [ pkgconfig zlib ];
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "Open Source multimedia framework for research and academic purposes";
|
description = "Open Source multimedia framework for research and academic purposes";
|
||||||
|
@ -114,7 +114,7 @@ stdenv.mkDerivation rec {
|
|||||||
++ optional libpngSupport libpng
|
++ optional libpngSupport libpng
|
||||||
;
|
;
|
||||||
|
|
||||||
buildNativeInputs = [ yasm ];
|
nativeBuildInputs = [ yasm ];
|
||||||
|
|
||||||
postConfigure = ''
|
postConfigure = ''
|
||||||
echo CONFIG_MPEGAUDIODSP=yes >> config.mak
|
echo CONFIG_MPEGAUDIODSP=yes >> config.mak
|
||||||
|
@ -93,7 +93,7 @@ stdenv.mkDerivation rec {
|
|||||||
++ optional libpngSupport libpng
|
++ optional libpngSupport libpng
|
||||||
;
|
;
|
||||||
|
|
||||||
buildNativeInputs = [ yasm python3 ];
|
nativeBuildInputs = [ yasm python3 ];
|
||||||
|
|
||||||
postConfigure = ''
|
postConfigure = ''
|
||||||
patchShebangs TOOLS
|
patchShebangs TOOLS
|
||||||
|
@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
|
|||||||
libX11 libXv libXrandr libXvMC libXmu libXinerama libXxf86vm libXmu
|
libX11 libXv libXrandr libXvMC libXmu libXinerama libXxf86vm libXmu
|
||||||
];
|
];
|
||||||
|
|
||||||
buildNativeInputs = [ pkgconfig which ];
|
nativeBuildInputs = [ pkgconfig which ];
|
||||||
|
|
||||||
patches = [ ./settings.patch ];
|
patches = [ ./settings.patch ];
|
||||||
}
|
}
|
||||||
|
@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
|
|||||||
libdc1394 libraw1394
|
libdc1394 libraw1394
|
||||||
];
|
];
|
||||||
|
|
||||||
buildNativeInputs = [ pkgconfig ];
|
nativeBuildInputs = [ pkgconfig ];
|
||||||
|
|
||||||
configureFlags =
|
configureFlags =
|
||||||
[ "--enable-alsa"
|
[ "--enable-alsa"
|
||||||
|
90
pkgs/applications/video/xbmc/default.nix
Normal file
90
pkgs/applications/video/xbmc/default.nix
Normal file
@ -0,0 +1,90 @@
|
|||||||
|
{ stdenv, lib, fetchurl, makeWrapper
|
||||||
|
, pkgconfig, cmake, gnumake, yasm, python
|
||||||
|
, boost
|
||||||
|
, gettext, pcre, yajl, fribidi
|
||||||
|
, openssl, gperf
|
||||||
|
, libX11, xproto, inputproto
|
||||||
|
, libXt, libXmu, libXext, xextproto
|
||||||
|
, libXinerama, libXrandr, randrproto
|
||||||
|
, libXtst, libXfixes, fixesproto
|
||||||
|
, SDL, SDL_image, SDL_mixer, alsaLib
|
||||||
|
, mesa, glew, fontconfig, freetype, ftgl
|
||||||
|
, libjpeg, jasper, libpng, libtiff
|
||||||
|
, ffmpeg, libmpeg2, libsamplerate, libmad
|
||||||
|
, libogg, libvorbis, flac
|
||||||
|
, lzo, libcdio, libmodplug, libass
|
||||||
|
, sqlite, mysql, nasm
|
||||||
|
, curl, bzip2, zip, unzip, glxinfo, xdpyinfo
|
||||||
|
, dbus_libs ? null, dbusSupport ? true
|
||||||
|
, udev, udevSupport ? true
|
||||||
|
, libusb ? null, usbSupport ? false
|
||||||
|
, samba ? null, sambaSupport ? true
|
||||||
|
# TODO: would be nice to have nfsSupport (needs libnfs library)
|
||||||
|
, libvdpau ? null, vdpauSupport ? true
|
||||||
|
}:
|
||||||
|
|
||||||
|
assert dbusSupport -> dbus_libs != null;
|
||||||
|
assert udevSupport -> udev != null;
|
||||||
|
assert usbSupport -> libusb != null && ! udevSupport; # libusb won't be used if udev is avaliable
|
||||||
|
assert sambaSupport -> samba != null;
|
||||||
|
assert vdpauSupport -> libvdpau != null && ffmpeg.vdpauSupport;
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
name = "xbmc-11.0";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "http://mirrors.xbmc.org/releases/source/${name}.tar.gz";
|
||||||
|
sha256 = "1fe5d310c16138f26e2b13bc545604e95f48ace6c8636f23e77da402cd7b0b19";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
makeWrapper
|
||||||
|
pkgconfig cmake gnumake yasm python
|
||||||
|
boost
|
||||||
|
gettext pcre yajl fribidi
|
||||||
|
openssl gperf
|
||||||
|
libX11 xproto inputproto
|
||||||
|
libXt libXmu libXext xextproto
|
||||||
|
libXinerama libXrandr randrproto
|
||||||
|
libXtst libXfixes fixesproto
|
||||||
|
SDL SDL_image SDL_mixer alsaLib
|
||||||
|
mesa glew fontconfig freetype ftgl
|
||||||
|
libjpeg jasper libpng libtiff
|
||||||
|
ffmpeg libmpeg2 libsamplerate libmad
|
||||||
|
libogg libvorbis flac
|
||||||
|
lzo libcdio libmodplug libass
|
||||||
|
sqlite mysql nasm
|
||||||
|
curl bzip2 zip unzip glxinfo xdpyinfo
|
||||||
|
]
|
||||||
|
++ lib.optional dbusSupport dbus_libs
|
||||||
|
++ lib.optional udevSupport udev
|
||||||
|
++ lib.optional usbSupport libusb
|
||||||
|
++ lib.optional sambaSupport samba
|
||||||
|
++ lib.optional vdpauSupport libvdpau;
|
||||||
|
|
||||||
|
dontUseCmakeConfigure = true;
|
||||||
|
|
||||||
|
configureFlags = [
|
||||||
|
"--enable-external-libraries"
|
||||||
|
"--disable-webserver"
|
||||||
|
]
|
||||||
|
++ lib.optional (! sambaSupport) "--disable-samba"
|
||||||
|
++ lib.optional vdpauSupport "--enable-vdpau";
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
for p in $(ls $out/bin/) ; do
|
||||||
|
wrapProgram $out/bin/$p \
|
||||||
|
--prefix PATH ":" "${python}/bin" \
|
||||||
|
--prefix PATH ":" "${glxinfo}/bin" \
|
||||||
|
--prefix PATH ":" "${xdpyinfo}/bin" \
|
||||||
|
--prefix LD_LIBRARY_PATH ":" "${curl}/lib" \
|
||||||
|
--prefix LD_LIBRARY_PATH ":" "${libvdpau}/lib"
|
||||||
|
done
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
homepage = http://xbmc.org/;
|
||||||
|
description = "XBMC Media Center";
|
||||||
|
license = "GPLv2";
|
||||||
|
};
|
||||||
|
}
|
@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "1i3byriqav06b55kwzs4dkzrjw7mmmcv0rc7jzb52hn8qp8xz34x";
|
sha256 = "1i3byriqav06b55kwzs4dkzrjw7mmmcv0rc7jzb52hn8qp8xz34x";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildNativeInputs = [ pkgconfig shared_mime_info ];
|
nativeBuildInputs = [ pkgconfig shared_mime_info ];
|
||||||
|
|
||||||
buildInputs =
|
buildInputs =
|
||||||
[ xineLib libpng readline ncurses curl lirc libjpeg
|
[ xineLib libpng readline ncurses curl lirc libjpeg
|
||||||
|
@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
buildPhase = "make";
|
buildPhase = "make";
|
||||||
|
|
||||||
buildNativeInputs = [ makeWrapper pythonPackages.wrapPython ];
|
nativeBuildInputs = [ makeWrapper pythonPackages.wrapPython ];
|
||||||
|
|
||||||
# patch the runner script in order to make wrapPythonPrograms work and run the program using a syscall
|
# patch the runner script in order to make wrapPythonPrograms work and run the program using a syscall
|
||||||
# example code: /etc/nixos/nixpkgs/pkgs/development/interpreters/spidermonkey/1.8.0-rc1.nix
|
# example code: /etc/nixos/nixpkgs/pkgs/development/interpreters/spidermonkey/1.8.0-rc1.nix
|
||||||
|
@ -20,21 +20,21 @@ let inherit (builtins) head tail trace; in
|
|||||||
else if (hasSuffixHack ".tar.gz" s) || (hasSuffixHack ".tgz" s) then "tgz"
|
else if (hasSuffixHack ".tar.gz" s) || (hasSuffixHack ".tgz" s) then "tgz"
|
||||||
else if (hasSuffixHack ".tar.bz2" s) || (hasSuffixHack ".tbz2" s) ||
|
else if (hasSuffixHack ".tar.bz2" s) || (hasSuffixHack ".tbz2" s) ||
|
||||||
(hasSuffixHack ".tbz" s) then "tbz2"
|
(hasSuffixHack ".tbz" s) then "tbz2"
|
||||||
else if (hasSuffixHack ".tar.Z" s) then "tZ"
|
else if hasSuffixHack ".tar.Z" s then "tZ"
|
||||||
else if (hasSuffixHack ".tar.lzma" s) then "tar.lzma"
|
else if hasSuffixHack ".tar.lzma" s then "tar.lzma"
|
||||||
else if (hasSuffixHack ".tar.xz" s) then "tar.xz"
|
else if hasSuffixHack ".tar.xz" s then "tar.xz"
|
||||||
else if (hasSuffixHack ".zip" s) || (hasSuffixHack ".ZIP" s) then "zip"
|
else if (hasSuffixHack ".zip" s) || (hasSuffixHack ".ZIP" s) then "zip"
|
||||||
else if (hasSuffixHack "-cvs-export" s) then "cvs-dir"
|
else if hasSuffixHack "-cvs-export" s then "cvs-dir"
|
||||||
else if (hasSuffixHack "-git-export" s) then "git-dir"
|
else if hasSuffixHack "-git-export" s then "git-dir"
|
||||||
else if (hasSuffixHack ".nar.bz2" s) then "narbz2"
|
else if hasSuffixHack ".nar.bz2" s then "narbz2"
|
||||||
else if (hasSuffixHack ".rpm" s) then "rpm"
|
else if hasSuffixHack ".rpm" s then "rpm"
|
||||||
|
|
||||||
# Mostly for manually specified directories..
|
# Mostly for manually specified directories..
|
||||||
else if (hasSuffixHack "/" s) then "dir"
|
else if hasSuffixHack "/" s then "dir"
|
||||||
|
|
||||||
# Last block - for single files!! It should be always after .tar.*
|
# Last block - for single files!! It should be always after .tar.*
|
||||||
else if (hasSuffixHack ".bz2" s) then "plain-bz2"
|
else if hasSuffixHack ".bz2" s then "plain-bz2"
|
||||||
else if (hasSuffixHack ".gz" s) then "plain-gz"
|
else if hasSuffixHack ".gz" s then "plain-gz"
|
||||||
|
|
||||||
# For bootstrap calls
|
# For bootstrap calls
|
||||||
else if (s ==("" + (substring 0 0 s))) then "empty"
|
else if (s ==("" + (substring 0 0 s))) then "empty"
|
||||||
@ -391,7 +391,7 @@ let inherit (builtins) head tail trace; in
|
|||||||
|
|
||||||
cmakeFlags = attrByPath ["cmakeFlags"] [] args;
|
cmakeFlags = attrByPath ["cmakeFlags"] [] args;
|
||||||
|
|
||||||
cmakeRPathFlag = if (attrByPath ["cmakeSkipRpath "] true args) then " -DCMAKE_SKIP_BUILD_RPATH=ON " else "";
|
cmakeRPathFlag = if attrByPath ["cmakeSkipRpath "] true args then " -DCMAKE_SKIP_BUILD_RPATH=ON " else "";
|
||||||
|
|
||||||
cmakeBuildDir = attrByPath ["cmakeBuildDir"] "build" args;
|
cmakeBuildDir = attrByPath ["cmakeBuildDir"] "build" args;
|
||||||
|
|
||||||
@ -508,7 +508,7 @@ let inherit (builtins) head tail trace; in
|
|||||||
);
|
);
|
||||||
|
|
||||||
builderDefsPackage = bd: func:
|
builderDefsPackage = bd: func:
|
||||||
if (builtins.isFunction func) then
|
if builtins.isFunction func then
|
||||||
(foldArgs
|
(foldArgs
|
||||||
(x: y: ((func (bd // x // y)) // y))
|
(x: y: ((func (bd // x // y)) // y))
|
||||||
(innerBuilderDefsPackage bd)
|
(innerBuilderDefsPackage bd)
|
||||||
@ -588,7 +588,7 @@ let inherit (builtins) head tail trace; in
|
|||||||
url = srcInfo.url;
|
url = srcInfo.url;
|
||||||
sha256 = srcInfo.hash;
|
sha256 = srcInfo.hash;
|
||||||
} //
|
} //
|
||||||
(if (srcInfo ? downloadName) then {name = srcInfo.downloadName;} else {}));
|
(if srcInfo ? downloadName then {name = srcInfo.downloadName;} else {}));
|
||||||
|
|
||||||
fetchGitFromSrcInfo = srcInfo: fetchgit {
|
fetchGitFromSrcInfo = srcInfo: fetchgit {
|
||||||
url = srcInfo.url;
|
url = srcInfo.url;
|
||||||
|
@ -80,20 +80,30 @@
|
|||||||
isLibrary = ! self.isExecutable;
|
isLibrary = ! self.isExecutable;
|
||||||
isExecutable = false;
|
isExecutable = false;
|
||||||
|
|
||||||
|
# ignore version restrictions on the build inputs that the cabal file might specify
|
||||||
|
jailbreak = false;
|
||||||
|
|
||||||
|
# pass the '--enable-split-objs' flag to cabal in the configure stage
|
||||||
|
enableSplitObjs = true;
|
||||||
|
|
||||||
|
# configure flag to pass to enable/disable library profiling
|
||||||
libraryProfiling =
|
libraryProfiling =
|
||||||
if enableLibraryProfiling then ["--enable-library-profiling"]
|
if enableLibraryProfiling then ["--enable-library-profiling"]
|
||||||
else ["--disable-library-profiling"];
|
else ["--disable-library-profiling"];
|
||||||
|
|
||||||
|
# configure flag to pass to enable/disable object splitting
|
||||||
|
splitObjects = if self.enableSplitObjs then "--enable-split-objs" else "--disable-split-objs";
|
||||||
|
|
||||||
# compiles Setup and configures
|
# compiles Setup and configures
|
||||||
configurePhase = ''
|
configurePhase = ''
|
||||||
eval "$preConfigure"
|
eval "$preConfigure"
|
||||||
|
|
||||||
${lib.optionalString (lib.attrByPath ["jailbreak"] false self) "${jailbreakCabal}/bin/jailbreak-cabal ${self.pname}.cabal && "
|
${lib.optionalString self.jailbreak "${jailbreakCabal}/bin/jailbreak-cabal ${self.pname}.cabal"}
|
||||||
}for i in Setup.hs Setup.lhs; do
|
for i in Setup.hs Setup.lhs; do
|
||||||
test -f $i && ghc --make $i
|
test -f $i && ghc --make $i
|
||||||
done
|
done
|
||||||
|
|
||||||
for p in $extraBuildInputs $propagatedBuildNativeInputs; do
|
for p in $extraBuildInputs $propagatedNativeBuildInputs; do
|
||||||
if [ -d "$p/include" ]; then
|
if [ -d "$p/include" ]; then
|
||||||
extraLibDirs="$extraLibDirs --extra-include-dir=$p/include"
|
extraLibDirs="$extraLibDirs --extra-include-dir=$p/include"
|
||||||
fi
|
fi
|
||||||
@ -104,7 +114,7 @@
|
|||||||
done
|
done
|
||||||
done
|
done
|
||||||
|
|
||||||
./Setup configure --verbose --prefix="$out" $libraryProfiling $extraLibDirs $configureFlags
|
./Setup configure --verbose --prefix="$out" $libraryProfiling $splitObjects $extraLibDirs $configureFlags
|
||||||
|
|
||||||
eval "$postConfigure"
|
eval "$postConfigure"
|
||||||
'';
|
'';
|
||||||
@ -145,8 +155,8 @@
|
|||||||
'';
|
'';
|
||||||
|
|
||||||
postFixup = ''
|
postFixup = ''
|
||||||
if test -f $out/nix-support/propagated-build-native-inputs; then
|
if test -f $out/nix-support/propagated-native-build-inputs; then
|
||||||
ln -s $out/nix-support/propagated-build-native-inputs $out/nix-support/propagated-user-env-packages
|
ln -s $out/nix-support/propagated-native-build-inputs $out/nix-support/propagated-user-env-packages
|
||||||
fi
|
fi
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
@ -8,14 +8,14 @@ with lib;
|
|||||||
|
|
||||||
let
|
let
|
||||||
findInList = p: list: default:
|
findInList = p: list: default:
|
||||||
if (list == []) then default else
|
if list == [] then default else
|
||||||
if (p (head list)) then (head list) else
|
if (p (head list)) then (head list) else
|
||||||
findInList p (tail list) default;
|
findInList p (tail list) default;
|
||||||
|
|
||||||
|
|
||||||
checkAttrInclusion = s: a: b:
|
checkAttrInclusion = s: a: b:
|
||||||
(
|
(
|
||||||
if (! isAttrs b) then s else
|
if ! isAttrs b then s else
|
||||||
if (lib.attrByPath ["_type"] "" b) == "option" then "" else
|
if (lib.attrByPath ["_type"] "" b) == "option" then "" else
|
||||||
findInList (x : x != "")
|
findInList (x : x != "")
|
||||||
( map (x: if (x == "servicesProposal") # this attr will be checked at another place ( -> upstart-jobs/default.nix )
|
( map (x: if (x == "servicesProposal") # this attr will be checked at another place ( -> upstart-jobs/default.nix )
|
||||||
|
@ -47,11 +47,11 @@ stdenv.mkDerivation {
|
|||||||
else shell;
|
else shell;
|
||||||
|
|
||||||
crossAttrs = {
|
crossAttrs = {
|
||||||
shell = shell.hostDrv + shell.hostDrv.shellPath;
|
shell = shell.crossDrv + shell.crossDrv.shellPath;
|
||||||
libc = libc.hostDrv;
|
libc = libc.crossDrv;
|
||||||
coreutils = coreutils.hostDrv;
|
coreutils = coreutils.crossDrv;
|
||||||
binutils = binutils.hostDrv;
|
binutils = binutils.crossDrv;
|
||||||
clang = clang.hostDrv;
|
clang = clang.crossDrv;
|
||||||
#
|
#
|
||||||
# This is not the best way to do this. I think the reference should be
|
# This is not the best way to do this. I think the reference should be
|
||||||
# the style in the gcc-cross-wrapper, but to keep a stable stdenv now I
|
# the style in the gcc-cross-wrapper, but to keep a stable stdenv now I
|
||||||
|
@ -17,6 +17,7 @@ badPath() {
|
|||||||
# Otherwise, the path should refer to the store or some temporary
|
# Otherwise, the path should refer to the store or some temporary
|
||||||
# directory (including the build directory).
|
# directory (including the build directory).
|
||||||
test \
|
test \
|
||||||
|
"$p" != "/dev/null" -a \
|
||||||
"${p:0:${#NIX_STORE}}" != "$NIX_STORE" -a \
|
"${p:0:${#NIX_STORE}}" != "$NIX_STORE" -a \
|
||||||
"${p:0:4}" != "/tmp" -a \
|
"${p:0:4}" != "/tmp" -a \
|
||||||
"${p:0:${#NIX_BUILD_TOP}}" != "$NIX_BUILD_TOP"
|
"${p:0:${#NIX_BUILD_TOP}}" != "$NIX_BUILD_TOP"
|
||||||
|
@ -2,16 +2,16 @@
|
|||||||
|
|
||||||
# TODO: statically check if mercurial as the https support if the url starts woth https.
|
# TODO: statically check if mercurial as the https support if the url starts woth https.
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "hg-archive" + (if (name != null) then "-${name}" else "");
|
name = "hg-archive" + (if name != null then "-${name}" else "");
|
||||||
builder = ./builder.sh;
|
builder = ./builder.sh;
|
||||||
buildInputs = [mercurial];
|
buildInputs = [mercurial];
|
||||||
|
|
||||||
# Nix <= 0.7 compatibility.
|
# Nix <= 0.7 compatibility.
|
||||||
id = md5;
|
id = md5;
|
||||||
|
|
||||||
outputHashAlgo = if (md5 != null) then "md5" else "sha256";
|
outputHashAlgo = if md5 != null then "md5" else "sha256";
|
||||||
outputHashMode = "recursive";
|
outputHashMode = "recursive";
|
||||||
outputHash = if (md5 != null) then md5 else sha256;
|
outputHash = if md5 != null then md5 else sha256;
|
||||||
|
|
||||||
inherit url tag;
|
inherit url tag;
|
||||||
preferLocalBuild = true;
|
preferLocalBuild = true;
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
builder = ./builder.sh;
|
builder = ./builder.sh;
|
||||||
buildNativeInputs = [monotone];
|
nativeBuildInputs = [monotone];
|
||||||
|
|
||||||
outputHashAlgo = "sha256";
|
outputHashAlgo = "sha256";
|
||||||
outputHashMode = "recursive";
|
outputHashMode = "recursive";
|
||||||
|
@ -118,7 +118,6 @@ rec {
|
|||||||
];
|
];
|
||||||
|
|
||||||
savannah = [
|
savannah = [
|
||||||
ftp://ftp.twaren.net/Unix/NonGNU/
|
|
||||||
ftp://mirror.csclub.uwaterloo.ca/nongnu/
|
ftp://mirror.csclub.uwaterloo.ca/nongnu/
|
||||||
ftp://mirror.publicns.net/pub/nongnu/
|
ftp://mirror.publicns.net/pub/nongnu/
|
||||||
ftp://savannah.c3sl.ufpr.br/
|
ftp://savannah.c3sl.ufpr.br/
|
||||||
|
@ -28,7 +28,7 @@ if test -z "$nativeLibc"; then
|
|||||||
|
|
||||||
echo "$cflagsCompile -B$libc/lib/ -idirafter $libc/include -idirafter $gcc/lib/gcc/*/*/include-fixed" > $out/nix-support/libc-cflags
|
echo "$cflagsCompile -B$libc/lib/ -idirafter $libc/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 -rpath $libc/lib -rpath-link $libc/lib" > $out/nix-support/libc-ldflags
|
||||||
|
|
||||||
# The dynamic linker is passed in `ldflagsBefore' to allow
|
# The dynamic linker is passed in `ldflagsBefore' to allow
|
||||||
# explicit overrides of the dynamic linker by callers to gcc/ld
|
# explicit overrides of the dynamic linker by callers to gcc/ld
|
||||||
|
@ -45,7 +45,7 @@ stdenv.mkDerivation {
|
|||||||
utils = ./utils.sh;
|
utils = ./utils.sh;
|
||||||
addFlags = ./add-flags;
|
addFlags = ./add-flags;
|
||||||
inherit nativeTools nativeLibc nativePrefix gcc libc binutils;
|
inherit nativeTools nativeLibc nativePrefix gcc libc binutils;
|
||||||
crossConfig = if (cross != null) then cross.config else null;
|
crossConfig = if cross != null then cross.config else null;
|
||||||
gccLibs = if gcc != null then gccLibs else null;
|
gccLibs = if gcc != null then gccLibs else null;
|
||||||
name = chosenName;
|
name = chosenName;
|
||||||
langC = if nativeTools then true else gcc.langC;
|
langC = if nativeTools then true else gcc.langC;
|
||||||
|
@ -17,6 +17,7 @@ badPath() {
|
|||||||
# Otherwise, the path should refer to the store or some temporary
|
# Otherwise, the path should refer to the store or some temporary
|
||||||
# directory (including the build directory).
|
# directory (including the build directory).
|
||||||
test \
|
test \
|
||||||
|
"$p" != "/dev/null" -a \
|
||||||
"${p:0:${#NIX_STORE}}" != "$NIX_STORE" -a \
|
"${p:0:${#NIX_STORE}}" != "$NIX_STORE" -a \
|
||||||
"${p:0:4}" != "/tmp" -a \
|
"${p:0:4}" != "/tmp" -a \
|
||||||
"${p:0:${#NIX_BUILD_TOP}}" != "$NIX_BUILD_TOP"
|
"${p:0:${#NIX_BUILD_TOP}}" != "$NIX_BUILD_TOP"
|
||||||
|
@ -1,24 +0,0 @@
|
|||||||
# `-B@out@/bin' forces gcc to use ld-wrapper.sh when calling ld.
|
|
||||||
export NIX_CFLAGS_COMPILE="-B@out@/bin/ $NIX_CFLAGS_COMPILE"
|
|
||||||
|
|
||||||
if test -e @out@/nix-support/libc-cflags; then
|
|
||||||
export NIX_CFLAGS_COMPILE="$(cat @out@/nix-support/libc-cflags) $NIX_CFLAGS_COMPILE"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test -e @out@/nix-support/libc-ldflags; then
|
|
||||||
export NIX_LDFLAGS="$(cat @out@/nix-support/libc-ldflags) $NIX_LDFLAGS"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test -e @out@/nix-support/gcc-cflags; then
|
|
||||||
export NIX_CFLAGS_COMPILE="$(cat @out@/nix-support/gcc-cflags) $NIX_CFLAGS_COMPILE"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test -e @out@/nix-support/gcc-ldflags; then
|
|
||||||
export NIX_LDFLAGS="$(cat @out@/nix-support/gcc-ldflags) $NIX_LDFLAGS"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test -e @out@/nix-support/libc-ldflags-before; then
|
|
||||||
export NIX_LDFLAGS_BEFORE="$(cat @out@/nix-support/libc-ldflags-before) $NIX_LDFLAGS_BEFORE"
|
|
||||||
fi
|
|
||||||
|
|
||||||
export NIX_GCC_WRAPPER_FLAGS_SET=1
|
|
@ -1,114 +0,0 @@
|
|||||||
source $stdenv/setup
|
|
||||||
|
|
||||||
|
|
||||||
mkdir -p $out/bin
|
|
||||||
mkdir -p $out/nix-support
|
|
||||||
|
|
||||||
|
|
||||||
if test -z "$nativeLibc"; then
|
|
||||||
dynamicLinker="$libc/lib/$dynamicLinker"
|
|
||||||
echo $dynamicLinker > $out/nix-support/dynamic-linker
|
|
||||||
|
|
||||||
# The "-B$libc/lib/" flag is a quick hack to force gcc to link
|
|
||||||
# against the crt1.o from our own glibc, rather than the one in
|
|
||||||
# /usr/lib. (This is only an issue when using an `impure'
|
|
||||||
# compiler/linker, i.e., one that searches /usr/lib and so on.)
|
|
||||||
echo "-B$libc/lib/ -isystem $libc/include" > $out/nix-support/libc-cflags
|
|
||||||
|
|
||||||
echo "-L$libc/lib" > $out/nix-support/libc-ldflags
|
|
||||||
|
|
||||||
# The dynamic linker is passed in `ldflagsBefore' to allow
|
|
||||||
# explicit overrides of the dynamic linker by callers to gcc/ld
|
|
||||||
# (the *last* value counts, so ours should come first).
|
|
||||||
echo "-dynamic-linker $dynamicLinker" > $out/nix-support/libc-ldflags-before
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test -n "$nativeTools"; then
|
|
||||||
gccPath="$nativePrefix/bin"
|
|
||||||
ldPath="$nativePrefix/bin"
|
|
||||||
else
|
|
||||||
if test -e "$gcc/lib64"; then
|
|
||||||
gccLDFlags="$gccLDFlags -L$gcc/lib64"
|
|
||||||
fi
|
|
||||||
gccLDFlags="$gccLDFlags -L$gcc/lib"
|
|
||||||
echo "$gccLDFlags" > $out/nix-support/gcc-ldflags
|
|
||||||
|
|
||||||
# GCC shows $gcc/lib in `gcc -print-search-dirs', but not
|
|
||||||
# $gcc/lib64 (even though it does actually search there...)..
|
|
||||||
# This confuses libtool. So add it to the compiler tool search
|
|
||||||
# path explicitly.
|
|
||||||
if test -e "$gcc/lib64"; then
|
|
||||||
gccCFlags="$gccCFlags -B$gcc/lib64"
|
|
||||||
fi
|
|
||||||
echo "$gccCFlags" > $out/nix-support/gcc-cflags
|
|
||||||
|
|
||||||
gccPath="$gcc/bin"
|
|
||||||
ldPath="$binutils/bin"
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
doSubstitute() {
|
|
||||||
local src=$1
|
|
||||||
local dst=$2
|
|
||||||
# Can't use substitute() here, because replace may not have been
|
|
||||||
# built yet (in the bootstrap).
|
|
||||||
sed \
|
|
||||||
-e "s^@out@^$out^g" \
|
|
||||||
-e "s^@shell@^$shell^g" \
|
|
||||||
-e "s^@gcc@^$gcc^g" \
|
|
||||||
-e "s^@gccProg@^$gccProg^g" \
|
|
||||||
-e "s^@binutils@^$binutils^g" \
|
|
||||||
-e "s^@libc@^$libc^g" \
|
|
||||||
-e "s^@ld@^$ldPath/ld^g" \
|
|
||||||
< "$src" > "$dst"
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
# Make wrapper scripts around gcc, g++, and g77. Also make symlinks
|
|
||||||
# cc, c++, and f77.
|
|
||||||
mkGccWrapper() {
|
|
||||||
local dst=$1
|
|
||||||
local src=$2
|
|
||||||
|
|
||||||
if ! test -f "$src"; then
|
|
||||||
echo "$src does not exist (skipping)"
|
|
||||||
return
|
|
||||||
fi
|
|
||||||
|
|
||||||
gccProg="$src"
|
|
||||||
doSubstitute "$gccWrapper" "$dst"
|
|
||||||
chmod +x "$dst"
|
|
||||||
}
|
|
||||||
|
|
||||||
mkGccWrapper $out/bin/upc $gccPath/upc
|
|
||||||
|
|
||||||
|
|
||||||
# Create a symlink to as (the assembler). This is useful when a
|
|
||||||
# gcc-wrapper is installed in a user environment, as it ensures that
|
|
||||||
# the right assembler is called.
|
|
||||||
ln -s $ldPath/as $out/bin/as
|
|
||||||
|
|
||||||
|
|
||||||
# Make a wrapper around the linker.
|
|
||||||
doSubstitute "$ldWrapper" "$out/bin/ld"
|
|
||||||
chmod +x "$out/bin/ld"
|
|
||||||
|
|
||||||
|
|
||||||
# Emit a setup hook. Also store the path to the original GCC and
|
|
||||||
# Glibc.
|
|
||||||
test -n "$gcc" && echo $gcc > $out/nix-support/orig-gcc
|
|
||||||
test -n "$libc" && echo $libc > $out/nix-support/orig-libc
|
|
||||||
|
|
||||||
doSubstitute "$addFlags" "$out/nix-support/add-flags.sh"
|
|
||||||
|
|
||||||
doSubstitute "$setupHook" "$out/nix-support/setup-hook"
|
|
||||||
|
|
||||||
cp -p $utils $out/nix-support/utils.sh
|
|
||||||
|
|
||||||
|
|
||||||
# Propagate the wrapped gcc so that if you install the wrapper, you get
|
|
||||||
# tools like gcov, the manpages, etc. as well (including for binutils
|
|
||||||
# and Glibc).
|
|
||||||
if test -z "$nativeTools"; then
|
|
||||||
echo $gcc $binutils $libc > $out/nix-support/propagated-user-env-packages
|
|
||||||
fi
|
|
@ -1,43 +0,0 @@
|
|||||||
# The Nix `gcc' stdenv.mkDerivation is not directly usable, since it doesn't
|
|
||||||
# know where the C library and standard header files are. Therefore
|
|
||||||
# the compiler produced by that package cannot be installed directly
|
|
||||||
# in a user environment and used from the command line. This
|
|
||||||
# stdenv.mkDerivation provides a wrapper that sets up the right environment
|
|
||||||
# variables so that the compiler and the linker just "work".
|
|
||||||
|
|
||||||
{ name ? "", stdenv, nativeTools, nativeLibc, nativePrefix ? ""
|
|
||||||
, gcc ? null, libc ? null, binutils ? null, shell ? ""
|
|
||||||
}:
|
|
||||||
|
|
||||||
assert nativeTools -> nativePrefix != "";
|
|
||||||
assert !nativeTools -> gcc != null && binutils != null;
|
|
||||||
assert !nativeLibc -> libc != null;
|
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
|
||||||
builder = ./builder.sh;
|
|
||||||
setupHook = ./setup-hook.sh;
|
|
||||||
gccWrapper = ./gcc-wrapper.sh;
|
|
||||||
ldWrapper = ./ld-wrapper.sh;
|
|
||||||
utils = ./utils.sh;
|
|
||||||
addFlags = ./add-flags;
|
|
||||||
|
|
||||||
inherit nativeTools nativeLibc nativePrefix gcc libc binutils;
|
|
||||||
name = if name == "" then gcc.name else name;
|
|
||||||
langC = if nativeTools then true else gcc.langC;
|
|
||||||
langCC = if nativeTools then true else gcc.langCC;
|
|
||||||
langF77 = if nativeTools then false else gcc.langF77;
|
|
||||||
shell = if shell == "" then stdenv.shell else shell;
|
|
||||||
|
|
||||||
meta = if gcc != null && (gcc ? meta) then removeAttrs gcc.meta ["priority"] else
|
|
||||||
{ description = "System C compiler wrapper";
|
|
||||||
};
|
|
||||||
|
|
||||||
# The dynamic linker has different names on different Linux platforms.
|
|
||||||
dynamicLinker =
|
|
||||||
if !nativeLibc then
|
|
||||||
(if stdenv.system == "i686-linux" then "ld-linux.so.2" else
|
|
||||||
if stdenv.system == "x86_64-linux" then "ld-linux-x86-64.so.2" else
|
|
||||||
if stdenv.system == "powerpc-linux" then "ld.so.1" else
|
|
||||||
abort "don't know the name of the dynamic linker for this platform")
|
|
||||||
else "";
|
|
||||||
}
|
|
@ -1,139 +0,0 @@
|
|||||||
#! @shell@ -e
|
|
||||||
|
|
||||||
if test -n "$NIX_GCC_WRAPPER_START_HOOK"; then
|
|
||||||
source "$NIX_GCC_WRAPPER_START_HOOK"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test -z "$NIX_GCC_WRAPPER_FLAGS_SET"; then
|
|
||||||
source @out@/nix-support/add-flags.sh
|
|
||||||
fi
|
|
||||||
|
|
||||||
source @out@/nix-support/utils.sh
|
|
||||||
|
|
||||||
|
|
||||||
# Figure out if linker flags should be passed. GCC prints annoying
|
|
||||||
# warnings when they are not needed.
|
|
||||||
dontLink=0
|
|
||||||
getVersion=0
|
|
||||||
nonFlagArgs=0
|
|
||||||
|
|
||||||
for i in "$@"; do
|
|
||||||
if test "$i" = "-c"; then
|
|
||||||
dontLink=1
|
|
||||||
elif test "$i" = "-S"; then
|
|
||||||
dontLink=1
|
|
||||||
elif test "$i" = "-E"; then
|
|
||||||
dontLink=1
|
|
||||||
elif test "$i" = "-E"; then
|
|
||||||
dontLink=1
|
|
||||||
elif test "$i" = "-M"; then
|
|
||||||
dontLink=1
|
|
||||||
elif test "$i" = "-MM"; then
|
|
||||||
dontLink=1
|
|
||||||
elif test "${i:0:1}" != "-"; then
|
|
||||||
nonFlagArgs=1
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
# If we pass a flag like -Wl, then gcc will call the linker unless it
|
|
||||||
# can figure out that it has to do something else (e.g., because of a
|
|
||||||
# "-c" flag). So if no non-flag arguments are given, don't pass any
|
|
||||||
# linker flags. This catches cases like "gcc" (should just print
|
|
||||||
# "gcc: no input files") and "gcc -v" (should print the version).
|
|
||||||
if test "$nonFlagArgs" = "0"; then
|
|
||||||
dontLink=1
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
# Optionally filter out paths not refering to the store.
|
|
||||||
params=("$@")
|
|
||||||
if test "$NIX_ENFORCE_PURITY" = "1" -a -n "$NIX_STORE"; then
|
|
||||||
rest=()
|
|
||||||
n=0
|
|
||||||
while test $n -lt ${#params[*]}; do
|
|
||||||
p=${params[n]}
|
|
||||||
p2=${params[$((n+1))]}
|
|
||||||
if test "${p:0:3}" = "-L/" && badPath "${p:2}"; then
|
|
||||||
skip $p
|
|
||||||
elif test "$p" = "-L" && badPath "$p2"; then
|
|
||||||
n=$((n + 1)); skip $p2
|
|
||||||
elif test "${p:0:3}" = "-I/" && badPath "${p:2}"; then
|
|
||||||
skip $p
|
|
||||||
elif test "$p" = "-I" && badPath "$p2"; then
|
|
||||||
n=$((n + 1)); skip $p2
|
|
||||||
elif test "$p" = "-isystem" && badPath "$p2"; then
|
|
||||||
n=$((n + 1)); skip $p2
|
|
||||||
else
|
|
||||||
rest=("${rest[@]}" "$p")
|
|
||||||
fi
|
|
||||||
n=$((n + 1))
|
|
||||||
done
|
|
||||||
params=("${rest[@]}")
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
# Add the flags for the C compiler proper.
|
|
||||||
extraAfter=($NIX_CFLAGS_COMPILE)
|
|
||||||
extraBefore=()
|
|
||||||
|
|
||||||
if test "$dontLink" != "1"; then
|
|
||||||
|
|
||||||
# Add the flags that should only be passed to the compiler when
|
|
||||||
# linking.
|
|
||||||
extraAfter=(${extraAfter[@]} $NIX_CFLAGS_LINK)
|
|
||||||
|
|
||||||
# Add the flags that should be passed to the linker (and prevent
|
|
||||||
# `ld-wrapper' from adding NIX_LDFLAGS again).
|
|
||||||
for i in $NIX_LDFLAGS_BEFORE; do
|
|
||||||
extraBefore=(${extraBefore[@]} "-Wl,$i")
|
|
||||||
done
|
|
||||||
for i in $NIX_LDFLAGS; do
|
|
||||||
if test "${i:0:3}" = "-L/"; then
|
|
||||||
extraAfter=(${extraAfter[@]} "$i")
|
|
||||||
else
|
|
||||||
extraAfter=(${extraAfter[@]} "-Wl,$i")
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
export NIX_LDFLAGS_SET=1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# As a very special hack, if the arguments are just `-v', then don't
|
|
||||||
# add anything. This is to prevent `gcc -v' (which normally prints
|
|
||||||
# out the version number and returns exit code 0) from printing out
|
|
||||||
# `No input files specified' and returning exit code 1.
|
|
||||||
if test "$*" = "-v"; then
|
|
||||||
extraAfter=()
|
|
||||||
extraBefore=()
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Optionally print debug info.
|
|
||||||
if test "$NIX_DEBUG" = "1"; then
|
|
||||||
echo "original flags to @gccProg@:" >&2
|
|
||||||
for i in "${params[@]}"; do
|
|
||||||
echo " $i" >&2
|
|
||||||
done
|
|
||||||
echo "extraBefore flags to @gccProg@:" >&2
|
|
||||||
for i in ${extraBefore[@]}; do
|
|
||||||
echo " $i" >&2
|
|
||||||
done
|
|
||||||
echo "extraAfter flags to @gccProg@:" >&2
|
|
||||||
for i in ${extraAfter[@]}; do
|
|
||||||
echo " $i" >&2
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test -n "$NIX_GCC_WRAPPER_EXEC_HOOK"; then
|
|
||||||
source "$NIX_GCC_WRAPPER_EXEC_HOOK"
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
# Call the real `gcc'. Filter out warnings from stderr about unused
|
|
||||||
# `-B' flags, since they confuse some programs. Deep bash magic to
|
|
||||||
# apply grep to stderr (by swapping stdin/stderr twice).
|
|
||||||
if test -z "$NIX_GCC_NEEDS_GREP"; then
|
|
||||||
@gccProg@ ${extraBefore[@]} "${params[@]}" ${extraAfter[@]}
|
|
||||||
else
|
|
||||||
(@gccProg@ ${extraBefore[@]} "${params[@]}" ${extraAfter[@]} 3>&2 2>&1 1>&3- \
|
|
||||||
| (grep -v 'file path prefix' || true); exit ${PIPESTATUS[0]}) 3>&2 2>&1 1>&3-
|
|
||||||
exit $?
|
|
||||||
fi
|
|
@ -1,145 +0,0 @@
|
|||||||
#! @shell@ -e
|
|
||||||
|
|
||||||
if test -n "$NIX_LD_WRAPPER_START_HOOK"; then
|
|
||||||
source "$NIX_LD_WRAPPER_START_HOOK"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test -z "$NIX_GCC_WRAPPER_FLAGS_SET"; then
|
|
||||||
source @out@/nix-support/add-flags.sh
|
|
||||||
fi
|
|
||||||
|
|
||||||
source @out@/nix-support/utils.sh
|
|
||||||
|
|
||||||
|
|
||||||
# Optionally filter out paths not refering to the store.
|
|
||||||
params=("$@")
|
|
||||||
if test "$NIX_ENFORCE_PURITY" = "1" -a -n "$NIX_STORE" \
|
|
||||||
-a \( -z "$NIX_IGNORE_LD_THROUGH_GCC" -o -z "$NIX_LDFLAGS_SET" \); then
|
|
||||||
rest=()
|
|
||||||
n=0
|
|
||||||
while test $n -lt ${#params[*]}; do
|
|
||||||
p=${params[n]}
|
|
||||||
p2=${params[$((n+1))]}
|
|
||||||
if test "${p:0:3}" = "-L/" && badPath "${p:2}"; then
|
|
||||||
skip $p
|
|
||||||
elif test "$p" = "-L" && badPath "$p2"; then
|
|
||||||
n=$((n + 1)); skip $p2
|
|
||||||
elif test "$p" = "-rpath" && badPath "$p2"; then
|
|
||||||
n=$((n + 1)); skip $p2
|
|
||||||
elif test "$p" = "-dynamic-linker" && badPath "$p2"; then
|
|
||||||
n=$((n + 1)); skip $p2
|
|
||||||
elif test "${p:0:1}" = "/" && badPath "$p"; then
|
|
||||||
# We cannot skip this; barf.
|
|
||||||
echo "impure path \`$p' used in link" >&2
|
|
||||||
exit 1
|
|
||||||
else
|
|
||||||
rest=("${rest[@]}" "$p")
|
|
||||||
fi
|
|
||||||
n=$((n + 1))
|
|
||||||
done
|
|
||||||
params=("${rest[@]}")
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
extra=()
|
|
||||||
extraBefore=()
|
|
||||||
|
|
||||||
if test -z "$NIX_LDFLAGS_SET"; then
|
|
||||||
extra=(${extra[@]} $NIX_LDFLAGS)
|
|
||||||
extraBefore=(${extraBefore[@]} $NIX_LDFLAGS_BEFORE)
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
# Add all used dynamic libraries to the rpath.
|
|
||||||
if test "$NIX_DONT_SET_RPATH" != "1"; then
|
|
||||||
|
|
||||||
# First, find all -L... switches.
|
|
||||||
allParams=("${params[@]}" ${extra[@]})
|
|
||||||
libPath=""
|
|
||||||
addToLibPath() {
|
|
||||||
local path="$1"
|
|
||||||
if test "${path:0:1}" != "/"; then return 0; fi
|
|
||||||
case "$path" in
|
|
||||||
*..*|*./*|*/.*|*//*)
|
|
||||||
local path2
|
|
||||||
if path2=$(readlink -f "$path"); then
|
|
||||||
path="$path2"
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
case $libPath in
|
|
||||||
*\ $path\ *) return 0 ;;
|
|
||||||
esac
|
|
||||||
libPath="$libPath $path "
|
|
||||||
}
|
|
||||||
n=0
|
|
||||||
while test $n -lt ${#allParams[*]}; do
|
|
||||||
p=${allParams[n]}
|
|
||||||
p2=${allParams[$((n+1))]}
|
|
||||||
if test "${p:0:3}" = "-L/"; then
|
|
||||||
addToLibPath ${p:2}
|
|
||||||
elif test "$p" = "-L"; then
|
|
||||||
addToLibPath ${p2}
|
|
||||||
n=$((n + 1))
|
|
||||||
fi
|
|
||||||
n=$((n + 1))
|
|
||||||
done
|
|
||||||
|
|
||||||
# Second, for each -l... switch, find the directory containing the
|
|
||||||
# library and add it to the rpath.
|
|
||||||
rpath=""
|
|
||||||
addToRPath() {
|
|
||||||
# If the path is not in the store, don't add it to the rpath.
|
|
||||||
# This typically happens for libraries in /tmp that are later
|
|
||||||
# copied to $out/lib. If not, we're screwed.
|
|
||||||
if test "${1:0:${#NIX_STORE}}" != "$NIX_STORE"; then return 0; fi
|
|
||||||
case $rpath in
|
|
||||||
*\ $1\ *) return 0 ;;
|
|
||||||
esac
|
|
||||||
rpath="$rpath $1 "
|
|
||||||
}
|
|
||||||
findLib() {
|
|
||||||
for i in $libPath; do
|
|
||||||
if test -f $i/lib$1.so; then
|
|
||||||
addToRPath $i
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
}
|
|
||||||
n=0
|
|
||||||
while test $n -lt ${#allParams[*]}; do
|
|
||||||
p=${allParams[n]}
|
|
||||||
p2=${allParams[$((n+1))]}
|
|
||||||
if test "${p:0:2}" = "-l"; then
|
|
||||||
findLib ${p:2}
|
|
||||||
elif test "$p" = "-l"; then
|
|
||||||
# I haven't seen `-l foo', but you never know...
|
|
||||||
findLib ${p2}
|
|
||||||
n=$((n + 1))
|
|
||||||
fi
|
|
||||||
n=$((n + 1))
|
|
||||||
done
|
|
||||||
|
|
||||||
# Finally, add `-rpath' switches.
|
|
||||||
for i in $rpath; do
|
|
||||||
extra=(${extra[@]} -rpath $i)
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
# Optionally print debug info.
|
|
||||||
if test "$NIX_DEBUG" = "1"; then
|
|
||||||
echo "original flags to @ld@:" >&2
|
|
||||||
for i in "${params[@]}"; do
|
|
||||||
echo " $i" >&2
|
|
||||||
done
|
|
||||||
echo "extra flags to @ld@:" >&2
|
|
||||||
for i in ${extra[@]}; do
|
|
||||||
echo " $i" >&2
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test -n "$NIX_LD_WRAPPER_EXEC_HOOK"; then
|
|
||||||
source "$NIX_LD_WRAPPER_EXEC_HOOK"
|
|
||||||
fi
|
|
||||||
|
|
||||||
exec @ld@ ${extraBefore[@]} "${params[@]}" ${extra[@]}
|
|
@ -1,29 +0,0 @@
|
|||||||
addCVars () {
|
|
||||||
if test -d $1/include; then
|
|
||||||
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I$1/include"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test -d $1/lib64; then
|
|
||||||
export NIX_LDFLAGS="$NIX_LDFLAGS -L$1/lib64"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test -d $1/lib; then
|
|
||||||
export NIX_LDFLAGS="$NIX_LDFLAGS -L$1/lib"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
envHooks=(${envHooks[@]} addCVars)
|
|
||||||
|
|
||||||
# Note: these come *after* $out in the PATH (see setup.sh).
|
|
||||||
|
|
||||||
if test -n "@gcc@"; then
|
|
||||||
PATH=$PATH:@gcc@/bin
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test -n "@binutils@"; then
|
|
||||||
PATH=$PATH:@binutils@/bin
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test -n "@libc@"; then
|
|
||||||
PATH=$PATH:@libc@/bin
|
|
||||||
fi
|
|
@ -1,23 +0,0 @@
|
|||||||
skip () {
|
|
||||||
if test "$NIX_DEBUG" = "1"; then
|
|
||||||
echo "skipping impure path $1" >&2
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
# Checks whether a path is impure. E.g., `/lib/foo.so' is impure, but
|
|
||||||
# `/nix/store/.../lib/foo.so' isn't.
|
|
||||||
badPath() {
|
|
||||||
local p=$1
|
|
||||||
|
|
||||||
# Relative paths are okay (since they're presumably relative to
|
|
||||||
# the temporary build directory).
|
|
||||||
if test "${p:0:1}" != "/"; then return 1; fi
|
|
||||||
|
|
||||||
# Otherwise, the path should refer to the store or some temporary
|
|
||||||
# directory (including the build directory).
|
|
||||||
test \
|
|
||||||
"${p:0:${#NIX_STORE}}" != "$NIX_STORE" -a \
|
|
||||||
"${p:0:4}" != "/tmp" -a \
|
|
||||||
"${p:0:${#NIX_BUILD_TOP}}" != "$NIX_BUILD_TOP"
|
|
||||||
}
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user