* Sync with the trunk.
svn path=/nixpkgs/branches/stdenv-updates/; revision=16094
This commit is contained in:
commit
cdf4cf5c23
@ -13,7 +13,7 @@ in Nixpkgs to easily build packages for other programming languages,
|
|||||||
such as Perl or Haskell. These are described in this chapter.</para>
|
such as Perl or Haskell. These are described in this chapter.</para>
|
||||||
|
|
||||||
|
|
||||||
<section><title>Perl</title>
|
<section xml:id="ssec-language-perl"><title>Perl</title>
|
||||||
|
|
||||||
<para>Nixpkgs provides a function <varname>buildPerlPackage</varname>,
|
<para>Nixpkgs provides a function <varname>buildPerlPackage</varname>,
|
||||||
a generic package builder function for any Perl package that has a
|
a generic package builder function for any Perl package that has a
|
||||||
@ -156,7 +156,42 @@ ClassC3Componentised = buildPerlPackage rec {
|
|||||||
|
|
||||||
<section><title>Python</title>
|
<section><title>Python</title>
|
||||||
|
|
||||||
<para>TODO</para>
|
<para>
|
||||||
|
Python packages that
|
||||||
|
use <link xlink:href="http://pypi.python.org/pypi/setuptools/"><literal>setuptools</literal></link>,
|
||||||
|
which many Python packages do nowadays, can be built very simply using
|
||||||
|
the <varname>buildPythonPackage</varname> function. This function is
|
||||||
|
implemented
|
||||||
|
in <link xlink:href="https://svn.nixos.org/repos/nix/nixpkgs/trunk/pkgs/development/python-modules/generic/default.nix"><filename>pkgs/development/python-modules/generic/default.nix</filename></link>
|
||||||
|
and works similarly to <varname>buildPerlPackage</varname>. (See
|
||||||
|
<xref linkend="ssec-language-perl"/> for details.)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Python packages that use <varname>buildPythonPackage</varname> are
|
||||||
|
defined
|
||||||
|
in <link xlink:href="https://svn.nixos.org/repos/nix/nixpkgs/trunk/pkgs/top-level/python-packages.nix"><filename>pkgs/python-packages.nix</filename></link>.
|
||||||
|
Most of them are simple. For example:
|
||||||
|
|
||||||
|
<programlisting>
|
||||||
|
twisted = buildPythonPackage {
|
||||||
|
name = "twisted-8.1.0";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = http://tmrc.mit.edu/mirror/twisted/Twisted/8.1/Twisted-8.1.0.tar.bz2;
|
||||||
|
sha256 = "0q25zbr4xzknaghha72mq57kh53qw1bf8csgp63pm9sfi72qhirl";
|
||||||
|
};
|
||||||
|
|
||||||
|
propagatedBuildInputs = [ pkgs.ZopeInterface ];
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
homepage = http://twistedmatrix.com/;
|
||||||
|
description = "Twisted, an event-driven networking engine written in Python";
|
||||||
|
license = "MIT";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
</programlisting>
|
||||||
|
</para>
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
@ -182,4 +217,4 @@ ClassC3Componentised = buildPerlPackage rec {
|
|||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
||||||
</chapter>
|
</chapter>
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
{ stdenv, fetchurl, wxGTK, pkgconfig, gettext, gtk, glib, zlib }:
|
{ stdenv, fetchurl, wxGTK, pkgconfig, gettext, gtk, glib, zlib, perl, intltool,
|
||||||
|
libogg, libvorbis, libmad
|
||||||
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "audacity-1.3.7";
|
name = "audacity-1.3.7";
|
||||||
@ -7,9 +9,10 @@ stdenv.mkDerivation {
|
|||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = mirror://sourceforge/audacity/audacity-fullsrc-1.3.7.tar.bz2;
|
url = mirror://sourceforge/audacity/audacity-fullsrc-1.3.7.tar.bz2;
|
||||||
sha256 = "1kashc6cc6d5g6i59nqcrl795x1jqdh0lpg3msa1wckfj3hpljmy";
|
sha256 = "0b4arafpdyjjk52l6n7aw518hzm65iv9w5g39jqr2bmvn6a9qivi";
|
||||||
};
|
};
|
||||||
buildInputs = [ wxGTK pkgconfig gettext gtk glib zlib ];
|
buildInputs = [ wxGTK pkgconfig gettext gtk glib zlib intltool perl
|
||||||
|
libogg libvorbis libmad];
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "Sound editor with graphical UI";
|
description = "Sound editor with graphical UI";
|
||||||
|
@ -10,7 +10,7 @@ args: with args;
|
|||||||
};
|
};
|
||||||
in with localDefs;
|
in with localDefs;
|
||||||
let
|
let
|
||||||
postInstall = FullDepEntry ("
|
postInstall = fullDepEntry ("
|
||||||
ensureDir \$out/share/ladspa/
|
ensureDir \$out/share/ladspa/
|
||||||
ln -s \$out/lib/ladspa \$out/share/ladspa/lib
|
ln -s \$out/lib/ladspa \$out/share/ladspa/lib
|
||||||
") [minInit defEnsureDir];
|
") [minInit defEnsureDir];
|
||||||
|
@ -12,7 +12,7 @@ in
|
|||||||
};
|
};
|
||||||
in with localDefs;
|
in with localDefs;
|
||||||
let
|
let
|
||||||
copyFile = FullDepEntry ("
|
copyFile = fullDepEntry ("
|
||||||
ensureDir \$out/include
|
ensureDir \$out/include
|
||||||
cp ${src} \$out/include/ladspa.h
|
cp ${src} \$out/include/ladspa.h
|
||||||
") [minInit defEnsureDir];
|
") [minInit defEnsureDir];
|
||||||
|
@ -2,9 +2,9 @@ args :
|
|||||||
let
|
let
|
||||||
lib = args.lib;
|
lib = args.lib;
|
||||||
fetchurl = args.fetchurl;
|
fetchurl = args.fetchurl;
|
||||||
FullDepEntry = args.FullDepEntry;
|
fullDepEntry = args.fullDepEntry;
|
||||||
|
|
||||||
version = lib.getAttr ["version"] "9.4" args;
|
version = lib.attrByPath ["version"] "9.4" args;
|
||||||
buildInputs = with args; [gtk glib pkgconfig
|
buildInputs = with args; [gtk glib pkgconfig
|
||||||
libXpm gmp gettext libX11 fftw]
|
libXpm gmp gettext libX11 fftw]
|
||||||
++ (lib.optional (args ? ruby) args.ruby)
|
++ (lib.optional (args ? ruby) args.ruby)
|
||||||
@ -38,14 +38,14 @@ rec {
|
|||||||
phaseNames = ["doConfigure" "preBuild" "makeDocsWork"
|
phaseNames = ["doConfigure" "preBuild" "makeDocsWork"
|
||||||
"doMakeInstall" "doForceShare"];
|
"doMakeInstall" "doForceShare"];
|
||||||
|
|
||||||
makeDocsWork = FullDepEntry ''
|
makeDocsWork = fullDepEntry ''
|
||||||
# hackish way to make html docs work
|
# hackish way to make html docs work
|
||||||
h="$out/share/snd/html"; ensureDir "$h"; cp *.html "$h"
|
h="$out/share/snd/html"; ensureDir "$h"; cp *.html "$h"
|
||||||
patch -p1 < ${./doc.patch}
|
patch -p1 < ${./doc.patch}
|
||||||
sed "s@HTML-DIR@$h@" -i index.scm snd-help.c
|
sed "s@HTML-DIR@$h@" -i index.scm snd-help.c
|
||||||
'' ["defEnsureDir"];
|
'' ["defEnsureDir"];
|
||||||
|
|
||||||
preBuild = FullDepEntry (''
|
preBuild = fullDepEntry (''
|
||||||
cp config.log /tmp/snd-config.log
|
cp config.log /tmp/snd-config.log
|
||||||
export NIX_LDFLAGS="$NIX_LDFLAGS -L${args.libX11}/lib -lX11"
|
export NIX_LDFLAGS="$NIX_LDFLAGS -L${args.libX11}/lib -lX11"
|
||||||
|
|
||||||
|
69
pkgs/applications/editors/eclipse-classic/default.nix
Normal file
69
pkgs/applications/editors/eclipse-classic/default.nix
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
{ stdenv, fetchurl, patchelf, makeDesktopItem
|
||||||
|
, freetype, fontconfig, libX11, libXext, libXrender
|
||||||
|
, glib, gtk, libXtst
|
||||||
|
, jre
|
||||||
|
}:
|
||||||
|
|
||||||
|
assert stdenv ? glibc;
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
name = "eclipse-3.4.2";
|
||||||
|
src = if stdenv.system == "x86_64-linux" then
|
||||||
|
fetchurl {
|
||||||
|
url = http://ftp.heanet.ie/pub/eclipse/eclipse/downloads/drops/R-3.4.2-200902111700/eclipse-SDK-3.4.2-linux-gtk-x86_64.tar.gz;
|
||||||
|
sha256 = "33e4e88347acd7f2f9243a8b887bd012cf5aec06c2d0f64da1349444bbd6876b";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
fetchurl {
|
||||||
|
url = http://www.mirrorservice.org/sites/download.eclipse.org/eclipseMirror/eclipse/downloads/drops/R-3.4.2-200902111700/eclipse-SDK-3.4.2-linux-gtk.tar.gz;
|
||||||
|
sha256 = "4518992b0d7bafeaa2338017ebc7048b09a227f056f576b2b077a435110ef9dd";
|
||||||
|
}
|
||||||
|
;
|
||||||
|
|
||||||
|
desktopItem = makeDesktopItem {
|
||||||
|
name = "Eclipse";
|
||||||
|
exec = "eclipse";
|
||||||
|
icon = "eclipse";
|
||||||
|
comment = "Integrated Development Environment";
|
||||||
|
desktopName = "Eclipse IDE";
|
||||||
|
genericName = "Integrated Development Environment";
|
||||||
|
categories = "Application;Development;";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ patchelf ];
|
||||||
|
buildCommand = ''
|
||||||
|
# Unpack tarball
|
||||||
|
|
||||||
|
tar xfvz $src
|
||||||
|
|
||||||
|
# Patch binaries
|
||||||
|
cd eclipse
|
||||||
|
${if stdenv.system == "x86_64-linux" then
|
||||||
|
"patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux-x86-64.so.2 ./eclipse"
|
||||||
|
else
|
||||||
|
"patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux.so.2 ./eclipse"
|
||||||
|
}
|
||||||
|
patchelf --set-rpath ${freetype}/lib:${fontconfig}/lib:${libX11}/lib:${libXext}/lib:${libXrender}/lib ./libcairo-swt.so
|
||||||
|
|
||||||
|
# Create wrapper script
|
||||||
|
cd ..
|
||||||
|
ensureDir $out/bin
|
||||||
|
cp -av eclipse $out
|
||||||
|
|
||||||
|
cat > $out/bin/eclipse <<EOF
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
export PATH=${jre}/bin
|
||||||
|
export LD_LIBRARY_PATH=${glib}/lib:${gtk}/lib:${libXtst}/lib
|
||||||
|
|
||||||
|
$out/eclipse/eclipse "\$@"
|
||||||
|
EOF
|
||||||
|
|
||||||
|
chmod 755 $out/bin/eclipse
|
||||||
|
|
||||||
|
# Create desktop item
|
||||||
|
|
||||||
|
ensureDir $out/share/applications
|
||||||
|
cp ${desktopItem}/share/applications/* $out/share/applications
|
||||||
|
'';
|
||||||
|
}
|
@ -22,7 +22,7 @@ cat >> $out/bin/eclipse << EOF
|
|||||||
#! /bin/sh -e
|
#! /bin/sh -e
|
||||||
export PATH=${jdk}/bin\${PATH:+:}\$PATH
|
export PATH=${jdk}/bin\${PATH:+:}\$PATH
|
||||||
export LD_LIBRARY_PATH=$rpath\${LD_LIBRARY_PATH:+:}\$LD_LIBRARY_PATH
|
export LD_LIBRARY_PATH=$rpath\${LD_LIBRARY_PATH:+:}\$LD_LIBRARY_PATH
|
||||||
exec \$(dirname $0)/../eclipse/eclipse $@
|
exec \$(dirname \$0)/../eclipse/eclipse $@
|
||||||
EOF
|
EOF
|
||||||
chmod +x $out/bin/eclipse
|
chmod +x $out/bin/eclipse
|
||||||
|
|
||||||
|
@ -9,25 +9,29 @@
|
|||||||
# Why use a local copy? This way it's easier to use the update manager to get plugins :-)
|
# Why use a local copy? This way it's easier to use the update manager to get plugins :-)
|
||||||
|
|
||||||
|
|
||||||
{fetchurl, stdenv, jdk, gtk, glib, libXtst, plugins ? []}:
|
{fetchurl, stdenv, jdk, gtk, glib, libXtst, makeOverridable, plugins ? [], unzip}:
|
||||||
|
|
||||||
let {
|
let eclipseFun =
|
||||||
body =
|
makeOverridable ({name, bindist} :
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "eclipse-sdk-3.5M6";
|
inherit name;
|
||||||
builder = ./builder.sh;
|
builder = ./builder.sh;
|
||||||
src = bindist;
|
src = bindist;
|
||||||
buildInputs = [];
|
buildInputs = [ unzip /* unzip required by eclipseCDT */ ];
|
||||||
inherit jdk plugins;
|
inherit jdk plugins;
|
||||||
libraries = [gtk glib libXtst];
|
libraries = [gtk glib libXtst];
|
||||||
};
|
}); in
|
||||||
|
|
||||||
bindist =
|
eclipseFun {
|
||||||
if (stdenv.system == "x86_64-linux") then fetchurl {
|
# you can override these settings usnig .override {...}
|
||||||
url = ftp://sunsite.informatik.rwth-aachen.de/pub/mirror/eclipse/S-3.5M6-200903130100/eclipse-SDK-3.5M6-linux-gtk-x86_64.tar.gz;
|
name = "eclipse-sdk-3.5M6";
|
||||||
sha256 = "10p4idp5rcdf7xqwfk3kvmjxhi8x1v835m0y4pn9q4nhfb5643pi";
|
|
||||||
} else fetchurl {
|
bindist =
|
||||||
url = ftp://mirror.micromata.de/eclipse/eclipse/downloads/drops/S-3.5M6-200903130100/eclipse-SDK-3.5M6-linux-gtk.tar.gz;
|
if (stdenv.system == "x86_64-linux") then fetchurl {
|
||||||
sha256 = "1z8j26b632ydhqrmwgbcqgiq7f1a542jam06z2h62mcbqazrcyah";
|
url = ftp://sunsite.informatik.rwth-aachen.de/pub/mirror/eclipse/S-3.5M6-200903130100/eclipse-SDK-3.5M6-linux-gtk-x86_64.tar.gz;
|
||||||
};
|
sha256 = "10p4idp5rcdf7xqwfk3kvmjxhi8x1v835m0y4pn9q4nhfb5643pi";
|
||||||
}
|
} else fetchurl {
|
||||||
|
url = ftp://mirror.micromata.de/eclipse/eclipse/downloads/drops/S-3.5M6-200903130100/eclipse-SDK-3.5M6-linux-gtk.tar.gz;
|
||||||
|
sha256 = "1z8j26b632ydhqrmwgbcqgiq7f1a542jam06z2h62mcbqazrcyah";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
@ -1,6 +0,0 @@
|
|||||||
{stdenv, fetchurl}:
|
|
||||||
|
|
||||||
fetchurl {
|
|
||||||
url = http://www.ii.uib.no/~karltk/spoofax/plugins/org.spoofax.editor_0.3.11.jar;
|
|
||||||
md5 = "c36941afcb0e538e16fafd594eae128e";
|
|
||||||
}
|
|
@ -1,10 +1,11 @@
|
|||||||
{ fetchurl, stdenv }:
|
{ fetchurl, stdenv }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "ed-1.2";
|
name = "ed-1.3";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://gnu/ed/${name}.tar.gz";
|
url = "mirror://gnu/ed/${name}.tar.gz";
|
||||||
sha256 = "1jhw050fzaffjf5qdj1ccn7alngam7yhd5zpzyxvrjphwmkd46kx";
|
sha256 = "11xyrzm21l2hhvbc0yanx2acsg1dp3ckmcwq2yl6cbymzvzzfrim";
|
||||||
};
|
};
|
||||||
|
|
||||||
doCheck = true;
|
doCheck = true;
|
||||||
|
@ -17,7 +17,7 @@ assert xaw3dSupport -> Xaw3d != null;
|
|||||||
assert gtkGUI -> pkgconfig != null && gtk != null;
|
assert gtkGUI -> pkgconfig != null && gtk != null;
|
||||||
assert xftSupport -> libXft != null && libpng != null; # libpng = probably a bug
|
assert xftSupport -> libXft != null && libpng != null; # libpng = probably a bug
|
||||||
|
|
||||||
let date = "2009-02-16"; in
|
let date = "2009-06-26"; in
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "emacs-snapshot-23-${date}";
|
name = "emacs-snapshot-23-${date}";
|
||||||
|
|
||||||
@ -27,7 +27,7 @@ stdenv.mkDerivation {
|
|||||||
inherit date;
|
inherit date;
|
||||||
cvsRoot = ":pserver:anonymous@cvs.savannah.gnu.org:/sources/emacs";
|
cvsRoot = ":pserver:anonymous@cvs.savannah.gnu.org:/sources/emacs";
|
||||||
module = "emacs";
|
module = "emacs";
|
||||||
sha256 = "6ec63da94a199c5f95bf4a9aa578cf14b3d85800fd37b3562d9a446b144b0d47";
|
sha256 = "bf9b21a0634f45474a1ce91e6153ced69194f1e9c0acd6626a931198f4a5972f";
|
||||||
};
|
};
|
||||||
|
|
||||||
preConfigure = "autoreconf -vfi";
|
preConfigure = "autoreconf -vfi";
|
31
pkgs/applications/editors/emacs-modes/magit/default.nix
Normal file
31
pkgs/applications/editors/emacs-modes/magit/default.nix
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
{stdenv, fetchurl, emacs, texinfo}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
name = "magit-0.7";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "http://zagadka.vm.bytemark.co.uk/magit/magit-0.7.tar.gz";
|
||||||
|
sha256 = "0qry1vj41pycwkf71sqrz3zgzh85zdg5acq26asscq4s7jksrjiz";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [emacs texinfo];
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "An an interface to Git, implemented as an extension to Emacs.";
|
||||||
|
|
||||||
|
longDescription = ''
|
||||||
|
With Magit, you can inspect and modify your Git repositories with
|
||||||
|
Emacs. You can review and commit the changes you have made to the
|
||||||
|
tracked files, for example, and you can browse the history of past
|
||||||
|
changes. There is support for cherry picking, reverting, merging,
|
||||||
|
rebasing, and other common Git operations.
|
||||||
|
|
||||||
|
Magit is not a complete interface to Git; it just aims to make the
|
||||||
|
most common Git operations convenient. Thus, Magit will likely not
|
||||||
|
save you from learning Git itself.
|
||||||
|
'';
|
||||||
|
|
||||||
|
license = "GPLv3+";
|
||||||
|
homepage = "http://zagadka.vm.bytemark.co.uk/magit/";
|
||||||
|
};
|
||||||
|
}
|
@ -1,12 +1,12 @@
|
|||||||
{ fetchurl, stdenv, emacs }:
|
{ fetchurl, stdenv, emacs }:
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "quack-0.30";
|
name = "quack-0.36";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
# XXX: Upstream URL is not versioned, which might eventually break this.
|
# XXX: Upstream URL is not versioned, which might eventually break this.
|
||||||
url = "http://www.neilvandyke.org/quack/quack.el";
|
url = "http://www.neilvandyke.org/quack/quack.el";
|
||||||
sha256 = "1xmpbdb064s3l3cv4agf03ir1g7xfzyvlqayr3yy5f8z3i6pf7mi";
|
sha256 = "0y9l35a8v56ldy4dap0816i80q9lnfpp27pl2a12d5hzb84hq8nr";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ emacs ];
|
buildInputs = [ emacs ];
|
||||||
|
@ -1,36 +1,36 @@
|
|||||||
{ stdenv, fetchurl, pkgconfig, gtk, freetype, fontconfig, lcms, fltk,
|
{ stdenv, fetchcvs, cmake, pkgconfig, gtk, freetype, fontconfig, lcms, fltk,
|
||||||
flex, libtiff, libjpeg, libpng, libexif, zlib, perl, libX11,
|
flex, libtiff, libjpeg, libpng, libexif, zlib, perl, libX11,
|
||||||
perlXMLParser, python, pygtk, gettext, intltool, babl, gegl,
|
perlXMLParser, python, pygtk, gettext, intltool, babl, gegl,
|
||||||
glib, makedepend, xf86vidmodeproto, xineramaproto, libXmu, openexr,
|
glib, makedepend, xf86vidmodeproto, xineramaproto, libXmu, openexr,
|
||||||
mesa, libXext, libXpm, libXxf86vm } :
|
mesa, libXext, libXpm, libXxf86vm, automake, autoconf, libtool } :
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "cinepaint-0.22-1";
|
name = "cinepaint-0.25.0";
|
||||||
|
|
||||||
src = fetchurl {
|
# The developer told me this cvs fetch is 0.25.0
|
||||||
url = mirror://sourceforge/cinepaint/cinepaint-0.22-1.tar.gz;
|
src = fetchcvs {
|
||||||
sha256 = "bb08a9210658959772df12408769d660999ede168b7431514e1f3cead07c0fea";
|
cvsRoot = ":pserver:anonymous@cinepaint.cvs.sourceforge.net:/cvsroot/cinepaint";
|
||||||
|
module = "cinepaint-project";
|
||||||
|
date = "2004-03-01";
|
||||||
|
sha256 = "bf6dc04f3ea2094b7ef6f87f40f2c90d75a557e40a773f8eb76e8a71f14362cf";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ pkgconfig gtk freetype fontconfig lcms fltk flex libtiff
|
buildInputs = [ cmake pkgconfig gtk freetype fontconfig lcms fltk flex libtiff
|
||||||
libjpeg libpng libexif zlib perl libX11 perlXMLParser python pygtk gettext
|
libjpeg libpng libexif zlib perl libX11 perlXMLParser python pygtk gettext
|
||||||
intltool babl gegl glib makedepend xf86vidmodeproto xineramaproto libXmu
|
intltool babl gegl glib makedepend xf86vidmodeproto xineramaproto libXmu
|
||||||
openexr mesa libXext libXpm libXxf86vm ];
|
openexr mesa libXext libXpm libXxf86vm automake autoconf libtool ];
|
||||||
|
|
||||||
patches = [ ./fltk.patch ];
|
dontUseCmakeConfigure = 1;
|
||||||
|
|
||||||
prePatch = ''
|
NIX_CFLAGS_COMPILE = "-I.";
|
||||||
sed -i -e s@/usr/X11R6/bin/makedepend@${makedepend}/bin/makedepend@ \
|
|
||||||
-e s@/usr/X11R6/include/X11/extensions/xf86vmode@${xf86vidmodeproto}/include/X11/extensions/xf86vmode@ \
|
configurePhase = ''
|
||||||
-e s@/usr/X11R6/include/X11/Xlib.h@${libX11}/include/X11/Xlib.h@ \
|
cd cinepaint
|
||||||
-e s@/usr/X11R6/include/X11/extensions/Xinerama.h@${xineramaproto}/include/X11/extensions/Xinerama.h@ \
|
chmod 0777 autogen.sh
|
||||||
-e s@/usr/X11R6/lib/libfreetype.a@${freetype}/lib/libfreetype.a@ \
|
./autogen.sh
|
||||||
plug-ins/icc_examin/icc_examin/configure \
|
./configure --prefix=$out
|
||||||
plug-ins/icc_examin/icc_examin/configure.sh
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
configureFlags = [ "--disable-print" "--enable-gtk2" ];
|
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
homepage = http://www.cinepaint.org/;
|
homepage = http://www.cinepaint.org/;
|
||||||
license = "free";
|
license = "free";
|
||||||
|
@ -1,13 +0,0 @@
|
|||||||
diff --git a/plug-ins/icc_examin/icc_examin/icc_helfer_fltk.cpp b/plug-ins/icc_examin/icc_examin/icc_helfer_fltk.cpp
|
|
||||||
index b507454..85f4441 100644
|
|
||||||
--- a/plug-ins/icc_examin/icc_examin/icc_helfer_fltk.cpp
|
|
||||||
+++ b/plug-ins/icc_examin/icc_examin/icc_helfer_fltk.cpp
|
|
||||||
@@ -226,7 +226,7 @@ namespace icc_examin_ns {
|
|
||||||
|
|
||||||
int awake(void)
|
|
||||||
{
|
|
||||||
- Fl::awake(0);
|
|
||||||
+ Fl::awake((void *)0);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
int leerWait(void) { return 0; }
|
|
182
pkgs/applications/graphics/gimp/plugins/default.nix
Normal file
182
pkgs/applications/graphics/gimp/plugins/default.nix
Normal file
@ -0,0 +1,182 @@
|
|||||||
|
# install these packages into your profile. Then add
|
||||||
|
# ~/.nix-profile/gimp-version-plugins to your plugin list you can find at
|
||||||
|
# preferences -> Folders -> Plug-ins
|
||||||
|
# same applies for the scripts
|
||||||
|
|
||||||
|
{ pkgs, gimp }:
|
||||||
|
let
|
||||||
|
inherit (pkgs) stdenv fetchurl pkgconfig gtkLibs;
|
||||||
|
inherit (gtkLibs) glib;
|
||||||
|
targetPluginDir = "$out/${gimp.name}-plugins";
|
||||||
|
targetScriptDir = "$out/${gimp.name}-scripts";
|
||||||
|
prefix = "plugin-gimp-";
|
||||||
|
|
||||||
|
pluginDerivation = a: stdenv.mkDerivation ({
|
||||||
|
prePhases = "extraLib";
|
||||||
|
extraLib = ''
|
||||||
|
installScripts(){
|
||||||
|
ensureDir ${targetScriptDir};
|
||||||
|
for p in "$@"; do cp "$p" ${targetScriptDir}; done
|
||||||
|
}
|
||||||
|
installPlugins(){
|
||||||
|
ensureDir ${targetPluginDir};
|
||||||
|
for p in "$@"; do cp "$p" ${targetPluginDir}; done
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
// a
|
||||||
|
# don't call this gimp-* unless you want nix replace gimp by a plugin :-)
|
||||||
|
// { name = "${a.name}-${gimp.name}-plugin"; }
|
||||||
|
);
|
||||||
|
|
||||||
|
scriptDerivation = {name, src} : pluginDerivation {
|
||||||
|
inherit name; phases = "extraLib installPhase";
|
||||||
|
installPhase = "installScripts ${src}";
|
||||||
|
};
|
||||||
|
|
||||||
|
libLQR = pluginDerivation {
|
||||||
|
name = "liblqr-1-0.4.1";
|
||||||
|
# required by lqrPlugin, you don't havet to install this lib explicitely
|
||||||
|
buildInputs = [ gimp ] ++ gimp.buildInputs;
|
||||||
|
src = fetchurl {
|
||||||
|
url = http://registry.gimp.org/files/liblqr-1-0.4.1.tar.bz2;
|
||||||
|
sha256 = "02g90wag7xi5rjlmwq8h0qs666b1i2sa90s4303hmym40il33nlz";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
in
|
||||||
|
rec {
|
||||||
|
fourier = pluginDerivation {
|
||||||
|
/* menu:
|
||||||
|
Filters/Generic/FFT Forward
|
||||||
|
Filters/Generic/FFT Inverse
|
||||||
|
*/
|
||||||
|
name = "fourier-0.3.3";
|
||||||
|
buildInputs = [ gimp pkgs.fftwSinglePrec pkgconfig glib] ++ gimp.buildInputs;
|
||||||
|
postInstall = "fail";
|
||||||
|
installPhase = "installPlugins fourier";
|
||||||
|
src = fetchurl {
|
||||||
|
url = http://people.via.ecp.fr/~remi/soft/gimp/fourier-0.3.3.tar.gz;
|
||||||
|
sha256 = "0xxgp0lrjxsj54sgygi31c7q41jkqzn0v18qyznrviv8r099v29p";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
resynthesizer = pluginDerivation {
|
||||||
|
/* menu:
|
||||||
|
Filters/Map/Resynthesize
|
||||||
|
Filters/Enhance/Smart enlarge
|
||||||
|
Filters/Enhance/Smart sharpen
|
||||||
|
Filters/Enhance/Smart remove selection
|
||||||
|
*/
|
||||||
|
name = "resynthesizer-0.16";
|
||||||
|
buildInputs = [ gimp pkgs.fftw ] ++ gimp.buildInputs;
|
||||||
|
src = fetchurl {
|
||||||
|
url = http://www.logarithmic.net/pfh-files/resynthesizer/resynthesizer-0.16.tar.gz;
|
||||||
|
sha256 = "1k90a1jzswxmajn56rdxa4r60v9v34fmqsiwfdxqcvx3yf4yq96x";
|
||||||
|
};
|
||||||
|
|
||||||
|
installPhase = "
|
||||||
|
installPlugins resynth
|
||||||
|
installScripts smart-{enlarge,remove}.scm
|
||||||
|
";
|
||||||
|
};
|
||||||
|
|
||||||
|
texturize = pluginDerivation {
|
||||||
|
name = "texturize-2.1";
|
||||||
|
buildInputs = [ gimp ] ++ gimp.buildInputs;
|
||||||
|
src = fetchurl {
|
||||||
|
url = http://prdownloads.sourceforge.net/gimp-texturize/texturize-2.1_src.tgz;
|
||||||
|
sha256 = "0cdjq25g3yfxx6bzx6nid21kq659s1vl9id4wxyjs2dhcv229cg3";
|
||||||
|
};
|
||||||
|
installPhase = "installPlugins src/texturize";
|
||||||
|
};
|
||||||
|
|
||||||
|
waveletSharpen = pluginDerivation {
|
||||||
|
/* menu:
|
||||||
|
Filters/Enhance/Wavelet sharpen
|
||||||
|
*/
|
||||||
|
name = "wavelet-sharpen-0.1.2";
|
||||||
|
buildInputs = [ gimp ] ++ gimp.buildInputs;
|
||||||
|
src = fetchurl {
|
||||||
|
url = http://registry.gimp.org/files/wavelet-sharpen-0.1.2.tar.gz;
|
||||||
|
sha256 = "0vql1k67i21g5ivaa1jh56rg427m0icrkpryrhg75nscpirfxxqw";
|
||||||
|
};
|
||||||
|
installPhase = "installPlugins src/wavelet-sharpen"; # TODO translations are not copied .. How to do this on nix?
|
||||||
|
};
|
||||||
|
|
||||||
|
lqrPlugin = pluginDerivation {
|
||||||
|
/* menu:
|
||||||
|
Layer/Liquid Rescale
|
||||||
|
*/
|
||||||
|
name = "lqr-plugin-0.6.1";
|
||||||
|
buildInputs = [ pkgconfig libLQR gimp ] ++ gimp.buildInputs;
|
||||||
|
src = fetchurl {
|
||||||
|
url = http://registry.gimp.org/files/gimp-lqr-plugin-0.6.1.tar.bz2;
|
||||||
|
sha256 = "00hklkpcimcbpjly4rjhfipaw096cpy768g9wixglwrsyqhil7l9";
|
||||||
|
};
|
||||||
|
#postInstall = ''ensureDir $out/nix-support; echo "${libLQR}" > "$out/nix-support/propagated-user-env-packages"'';
|
||||||
|
installPhase = "installPlugins src/gimp-lqr-plugin";
|
||||||
|
};
|
||||||
|
|
||||||
|
# this is more than a gimp plugin !
|
||||||
|
# it can be made to compile the gimp plugin only though..
|
||||||
|
gmic =
|
||||||
|
let imagemagick = pkgs.imagemagickBig; # maybe the non big version is enough?
|
||||||
|
in pluginDerivation {
|
||||||
|
name = "gmic-1.3.2.0";
|
||||||
|
buildInputs = [ imagemagick pkgconfig gimp pkgs.fftwSinglePrec ] ++ gimp.buildInputs;
|
||||||
|
src = fetchurl {
|
||||||
|
url = http://dfn.dl.sourceforge.net/sourceforge/gmic/gmic_1.3.2.0.tar.gz;
|
||||||
|
sha256 = "0mxq664vzzc2l6k6sqm9syp34mihhi262i6fixk1g12lmc28797h";
|
||||||
|
};
|
||||||
|
preConfigure = ''
|
||||||
|
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${imagemagick}/include/ImageMagick"
|
||||||
|
'';
|
||||||
|
installPhase = "installPlugins src/gmic4gimp";
|
||||||
|
meta = {
|
||||||
|
description = "script language for image processing which comes with its open-source interpreter";
|
||||||
|
homepage = http://gmic.sourceforge.net/repository.shtml;
|
||||||
|
license = "CeCILL FREE SOFTWARE LICENSE AGREEMENT";
|
||||||
|
/*
|
||||||
|
The purpose of this Free Software license agreement is to grant users
|
||||||
|
the right to modify and redistribute the software governed by this
|
||||||
|
license within the framework of an open source distribution model.
|
||||||
|
[ ... ] */
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
/* =============== simple script files ==================== */
|
||||||
|
|
||||||
|
lightning = scriptDerivation {
|
||||||
|
name = "Lightning";
|
||||||
|
src = fetchurl {
|
||||||
|
url = http://registry.gimp.org/files/Lightning.scm;
|
||||||
|
sha256 = "c14a8f4f709695ede3f77348728a25b3f3ded420da60f3f8de3944b7eae98a49";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
/* space in name trouble ?
|
||||||
|
|
||||||
|
rainbowPlasma = scriptDerivation {
|
||||||
|
# http://registry.gimp.org/node/164
|
||||||
|
name = "rainbow-plasma";
|
||||||
|
src = fetchurl {
|
||||||
|
url = "http://registry.gimp.org/files/Rainbow Plasma.scm";
|
||||||
|
sha256 = "34308d4c9441f9e7bafa118af7ec9540f10ea0df75e812e2f3aa3fd7b5344c23";
|
||||||
|
name = "Rainbow-Plasma.scm"; # nix doesn't like spaces, does it?
|
||||||
|
};
|
||||||
|
};
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* doesn't seem to be working :-(
|
||||||
|
lightningGate = scriptDerivation {
|
||||||
|
# http://registry.gimp.org/node/153
|
||||||
|
name = "lightning-gate";
|
||||||
|
src = fetchurl {
|
||||||
|
url = http://registry.gimp.org/files/LightningGate.scm;
|
||||||
|
sha256 = "181w1zi9a99kn2mfxjp43wkwcgw5vbb6iqjas7a9mhm8p04csys2";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
*/
|
||||||
|
|
||||||
|
}
|
@ -1,4 +1,5 @@
|
|||||||
{stdenv, fetchurl, panotools, cmake, wxGTK, libtiff, libpng, openexr, boost, pkgconfig, exiv2, gettext, ilmbase }:
|
{stdenv, fetchurl, panotools, cmake, wxGTK, libtiff, libpng, openexr, boost,
|
||||||
|
pkgconfig, exiv2, gettext, ilmbase, enblendenfuse, autopanosiftc }:
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "hugin-0.7.0";
|
name = "hugin-0.7.0";
|
||||||
@ -35,6 +36,10 @@ stdenv.mkDerivation {
|
|||||||
eval -- "cmake .. $cmakeFlags"
|
eval -- "cmake .. $cmakeFlags"
|
||||||
set +x
|
set +x
|
||||||
'';
|
'';
|
||||||
|
postInstall = ''
|
||||||
|
ensureDir $out/nix-support
|
||||||
|
echo ${enblendenfuse} ${autopanosiftc} > $out/nix-support/$out/nix-support/propagated-user-env-packages
|
||||||
|
'';
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
homepage = http://hugin.sourceforge.net/;
|
homepage = http://hugin.sourceforge.net/;
|
||||||
|
38
pkgs/applications/graphics/meshlab/default.nix
Normal file
38
pkgs/applications/graphics/meshlab/default.nix
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
{stdenv, fetchurl, qt, bzip2}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
name = "meshlab-1.2.0";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = mirror://sourceforge/meshlab/MeshLabSrc_v120.tgz;
|
||||||
|
sha256 = "0iidp2pzwq96v8zbm8gc67wi1f41anpkncp17ajkv1rrh653nila";
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
setSourceRoot = "sourceRoot=`pwd`/meshlab/src";
|
||||||
|
|
||||||
|
buildPhase = ''
|
||||||
|
pushd external
|
||||||
|
qmake -recursive external.pro
|
||||||
|
make
|
||||||
|
popd
|
||||||
|
qmake -recursive meshlabv12.pro
|
||||||
|
make
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
ensureDir $out/opt/meshlab $out/bin
|
||||||
|
pushd meshlab
|
||||||
|
cp -R meshlab plugins shaders* textures images $out/opt/meshlab
|
||||||
|
popd
|
||||||
|
ln -s $out/opt/meshlab/meshlab $out/bin/meshlab
|
||||||
|
'';
|
||||||
|
|
||||||
|
buildInputs = [ qt bzip2 ];
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "System for the processing and editing of unstructured 3D triangular meshes";
|
||||||
|
homepage = http://meshlab.sourceforge.net/;
|
||||||
|
license = "GPLv2+";
|
||||||
|
};
|
||||||
|
}
|
@ -7,6 +7,8 @@ stdenv.mkDerivation {
|
|||||||
sha256 = "27544f442e957e9aa60b32c674f2dcd84fffeecc9a40071ef6e305333413187d";
|
sha256 = "27544f442e957e9aa60b32c674f2dcd84fffeecc9a40071ef6e305333413187d";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
patches = [ ./include-qobject.patch ];
|
||||||
|
|
||||||
# I added these flags to get all the rpaths right, which I guess they are
|
# I added these flags to get all the rpaths right, which I guess they are
|
||||||
# taken from the qt4 sources. Not very nice.
|
# taken from the qt4 sources. Not very nice.
|
||||||
cmakeFlags = "-DCMAKE_SHARED_LINKER_FLAGS=\"-Wl,-rpath,$out/lib/paraview-3.4\"" +
|
cmakeFlags = "-DCMAKE_SHARED_LINKER_FLAGS=\"-Wl,-rpath,$out/lib/paraview-3.4\"" +
|
||||||
|
38
pkgs/applications/graphics/paraview/include-qobject.patch
Normal file
38
pkgs/applications/graphics/paraview/include-qobject.patch
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
diff --git a/VTK/GUISupport/Qt/CMakeLists.txt b/VTK/GUISupport/Qt/CMakeLists.txt
|
||||||
|
index 2c35be7..866f1aa 100644
|
||||||
|
--- a/VTK/GUISupport/Qt/CMakeLists.txt
|
||||||
|
+++ b/VTK/GUISupport/Qt/CMakeLists.txt
|
||||||
|
@@ -166,6 +166,7 @@ IF(DESIRED_QT_VERSION MATCHES 4)
|
||||||
|
)
|
||||||
|
ENDIF(QT_QTGUI_LIBRARY)
|
||||||
|
INCLUDE_DIRECTORIES(${QT_QTDESIGNER_INCLUDE_DIR})
|
||||||
|
+ INCLUDE_DIRECTORIES(${QT_QTCORE_INCLUDE_DIR})
|
||||||
|
QT4_WRAP_CPP ( PluginMocSrcs ${PluginMocHeaders} )
|
||||||
|
ELSE(DESIRED_QT_VERSION MATCHES 4)
|
||||||
|
QT_WRAP_CPP ( QVTKWidgetPlugin PluginMocSrcs ${PluginMocHeaders} )
|
||||||
|
diff --git a/VTK/GUISupport/Qt/vtkEventQtSlotConnect.h b/VTK/GUISupport/Qt/vtkEventQtSlotConnect.h
|
||||||
|
index 6782b90..ced3a67 100644
|
||||||
|
--- a/VTK/GUISupport/Qt/vtkEventQtSlotConnect.h
|
||||||
|
+++ b/VTK/GUISupport/Qt/vtkEventQtSlotConnect.h
|
||||||
|
@@ -43,7 +43,7 @@
|
||||||
|
#include "vtkObject.h"
|
||||||
|
#include "vtkCommand.h" // for event defines
|
||||||
|
#include "QVTKWin32Header.h" // for export define
|
||||||
|
-#include "qobject.h" // for version info
|
||||||
|
+#include <qobject.h> // for version info
|
||||||
|
|
||||||
|
class QObject;
|
||||||
|
class vtkQtConnections;
|
||||||
|
diff --git a/VTK/GUISupport/Qt/vtkQtConnection.h b/VTK/GUISupport/Qt/vtkQtConnection.h
|
||||||
|
index 923ec2e..b189ddc 100644
|
||||||
|
--- a/VTK/GUISupport/Qt/vtkQtConnection.h
|
||||||
|
+++ b/VTK/GUISupport/Qt/vtkQtConnection.h
|
||||||
|
@@ -33,7 +33,7 @@
|
||||||
|
|
||||||
|
#include "vtkObject.h"
|
||||||
|
#include "vtkCommand.h" // for event defines
|
||||||
|
-#include "qobject.h"
|
||||||
|
+#include <qobject.h>
|
||||||
|
|
||||||
|
class QObject;
|
||||||
|
class vtkCallbackCommand;
|
@ -2,7 +2,7 @@ a :
|
|||||||
let
|
let
|
||||||
fetchurl = a.fetchurl;
|
fetchurl = a.fetchurl;
|
||||||
|
|
||||||
version = a.lib.getAttr ["version"] "3.4" a;
|
version = a.lib.attrByPath ["version"] "3.4" a;
|
||||||
buildInputs = with a; [
|
buildInputs = with a; [
|
||||||
aalib gsl libpng libX11 xproto libXext xextproto
|
aalib gsl libpng libX11 xproto libXext xextproto
|
||||||
libXt zlib gettext intltool perl
|
libXt zlib gettext intltool perl
|
||||||
@ -20,7 +20,7 @@ rec {
|
|||||||
/* doConfigure should be removed if not needed */
|
/* doConfigure should be removed if not needed */
|
||||||
phaseNames = ["preConfigure" "doConfigure" "doMakeInstall"];
|
phaseNames = ["preConfigure" "doConfigure" "doMakeInstall"];
|
||||||
|
|
||||||
preConfigure = a.FullDepEntry (''
|
preConfigure = a.fullDepEntry (''
|
||||||
sed -e s@/usr/@"$out/"@g -i configure $(find . -name 'Makefile*')
|
sed -e s@/usr/@"$out/"@g -i configure $(find . -name 'Makefile*')
|
||||||
ensureDir $out/share/locale
|
ensureDir $out/share/locale
|
||||||
'') ["doUnpack" "minInit" "defEnsureDir"];
|
'') ["doUnpack" "minInit" "defEnsureDir"];
|
||||||
|
@ -8,6 +8,8 @@ preBuild() {
|
|||||||
cat Imakefile >> Imakefile.tmp
|
cat Imakefile >> Imakefile.tmp
|
||||||
mv Imakefile.tmp Imakefile
|
mv Imakefile.tmp Imakefile
|
||||||
xmkmf
|
xmkmf
|
||||||
|
|
||||||
|
sed -e 's@[$][$]m@-- &@g' -i Makefile
|
||||||
}
|
}
|
||||||
|
|
||||||
installPhase() {
|
installPhase() {
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
args : with args; let localDefs = builderDefs.passthru.function (args // rec {
|
args : with args; let localDefs = builderDefs.passthru.function (args // rec {
|
||||||
version = lib.getAttr ["version"] "5.07" args;
|
version = lib.attrByPath ["version"] "5.07" args;
|
||||||
src = /* put a fetchurl here */
|
src = /* put a fetchurl here */
|
||||||
fetchurl {
|
fetchurl {
|
||||||
url = "http://www.jwz.org/xscreensaver/xscreensaver-${version}.tar.gz";
|
url = "http://www.jwz.org/xscreensaver/xscreensaver-${version}.tar.gz";
|
||||||
@ -7,7 +7,7 @@ args : with args; let localDefs = builderDefs.passthru.function (args // rec {
|
|||||||
};
|
};
|
||||||
useConfig = true;
|
useConfig = true;
|
||||||
reqsList = [
|
reqsList = [
|
||||||
["true" "libX11" "gtk" "pkgconfig" "bc" "perl" "intltool" "libXmu"]
|
["true" "libX11" "pkgconfig" "bc" "perl" "intltool" "libXmu"]
|
||||||
["GL" "mesa"]
|
["GL" "mesa"]
|
||||||
["GUI" "gtk" "libxml2" "libglade"]
|
["GUI" "gtk" "libxml2" "libglade"]
|
||||||
["jpeg" "libjpeg"]
|
["jpeg" "libjpeg"]
|
||||||
@ -23,15 +23,15 @@ args : with args; let localDefs = builderDefs.passthru.function (args // rec {
|
|||||||
});
|
});
|
||||||
in with localDefs;
|
in with localDefs;
|
||||||
let
|
let
|
||||||
preConfigure = FullDepEntry ("
|
preConfigure = fullDepEntry ("
|
||||||
sed -e 's%@GTK_DATADIR@%@datadir@% ; s%@PO_DATADIR@%@datadir@%' "+
|
sed -e 's%@GTK_DATADIR@%@datadir@% ; s%@PO_DATADIR@%@datadir@%' "+
|
||||||
"-i driver/Makefile.in po/Makefile.in.in;
|
"-i driver/Makefile.in po/Makefile.in.in;
|
||||||
") [minInit doUnpack];
|
") ["minInit" "doUnpack"];
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "xscreensaver-5.07";
|
name = "xscreensaver-5.07";
|
||||||
builder = writeScript (name + "-builder")
|
buildCommand = textClosure localDefs
|
||||||
(textClosure localDefs [preConfigure doConfigure doMakeInstall doForceShare doPropagate]);
|
[preConfigure doConfigure doMakeInstall doForceShare doPropagate];
|
||||||
meta = {
|
meta = {
|
||||||
description = "A set of screensavers";
|
description = "A set of screensavers";
|
||||||
inherit src;
|
inherit src;
|
||||||
|
@ -1,29 +0,0 @@
|
|||||||
source $stdenv/setup
|
|
||||||
|
|
||||||
echo "unpacking $src..."
|
|
||||||
tar xvfz $src
|
|
||||||
|
|
||||||
mkdir $out
|
|
||||||
|
|
||||||
echo "unpacking reader..."
|
|
||||||
tar xvf AdobeReader/COMMON.TAR -C $out
|
|
||||||
tar xvf AdobeReader/ILINXR.TAR -C $out
|
|
||||||
|
|
||||||
# Disable this plugin for now (it needs LDAP, and I'm too lazy to add it).
|
|
||||||
rm $out/Reader/intellinux/plug_ins/PPKLite.api
|
|
||||||
|
|
||||||
if test -n "$fastStart"; then
|
|
||||||
echo "removing plugins..."
|
|
||||||
rm -v $(ls $out/Reader/intellinux/plug_ins/*.api | grep -v SearchFind)
|
|
||||||
fi
|
|
||||||
|
|
||||||
fullPath=
|
|
||||||
for i in $libPath; do
|
|
||||||
fullPath=$fullPath${fullPath:+:}$i/lib
|
|
||||||
done
|
|
||||||
|
|
||||||
patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
|
|
||||||
--set-rpath $fullPath \
|
|
||||||
$out/Reader/intellinux/bin/acroread
|
|
||||||
|
|
||||||
substituteInPlace $out/bin/acroread --replace /lib:/usr/lib /no-such-path --replace /bin/pwd pwd
|
|
@ -1,30 +0,0 @@
|
|||||||
{ xineramaSupport ? false
|
|
||||||
, stdenv, fetchurl, libXt, libXp, libXext, libX11, libXinerama ? null
|
|
||||||
, glib, pango, atk, gtk, libstdcpp5, zlib
|
|
||||||
, fastStart ? false
|
|
||||||
}:
|
|
||||||
|
|
||||||
assert stdenv.system == "i686-linux";
|
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
|
||||||
name = "acrobat-reader-7.0.9";
|
|
||||||
|
|
||||||
builder = ./builder.sh;
|
|
||||||
|
|
||||||
src = fetchurl {
|
|
||||||
url = http://ardownload.adobe.com/pub/adobe/reader/unix/7x/7.0.9/enu/AdobeReader_enu-7.0.9-1.i386.tar.gz;
|
|
||||||
sha256 = "0qs8v57gamkk243f44yqxic93izf0bn2d9l4wwbqqy1jv5s125hy";
|
|
||||||
};
|
|
||||||
|
|
||||||
libPath = [
|
|
||||||
libXt libXp libXext libX11 glib pango atk gtk libstdcpp5 zlib
|
|
||||||
(if xineramaSupport then libXinerama else null)
|
|
||||||
];
|
|
||||||
|
|
||||||
inherit fastStart;
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
description = "Adobe Reader, a viewer for PDF documents";
|
|
||||||
homepage = http://www.adobe.com/products/reader;
|
|
||||||
};
|
|
||||||
}
|
|
26
pkgs/applications/misc/adobe-reader/builder.sh
Normal file
26
pkgs/applications/misc/adobe-reader/builder.sh
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
source $stdenv/setup
|
||||||
|
|
||||||
|
echo "unpacking $src..."
|
||||||
|
tar xvfa $src
|
||||||
|
|
||||||
|
ensureDir $out
|
||||||
|
|
||||||
|
echo "unpacking reader..."
|
||||||
|
tar xvf AdobeReader/COMMON.TAR -C $out
|
||||||
|
tar xvf AdobeReader/ILINXR.TAR -C $out
|
||||||
|
|
||||||
|
# Disable this plugin for now (it needs LDAP, and I'm too lazy to add it).
|
||||||
|
rm $out/Adobe/Reader*/Reader/intellinux/plug_ins/PPKLite.api
|
||||||
|
|
||||||
|
patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
|
||||||
|
--set-rpath $libPath \
|
||||||
|
$out/Adobe/Reader*/Reader/intellinux/bin/acroread
|
||||||
|
|
||||||
|
# The "xargs -r" is to shut up a warning when Mozilla can't be found.
|
||||||
|
substituteInPlace $out/Adobe/Reader*/bin/acroread \
|
||||||
|
--replace /bin/pwd $(type -P pwd) \
|
||||||
|
--replace /bin/ls $(type -P ls) \
|
||||||
|
--replace xargs "xargs -r"
|
||||||
|
|
||||||
|
ensureDir $out/bin
|
||||||
|
ln -s $out/Adobe/Reader*/bin/acroread $out/bin/acroread
|
26
pkgs/applications/misc/adobe-reader/default.nix
Normal file
26
pkgs/applications/misc/adobe-reader/default.nix
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
{ stdenv, fetchurl, libX11, cups, glib, pango, atk, gtk, zlib, libxml2 }:
|
||||||
|
|
||||||
|
assert stdenv.system == "i686-linux";
|
||||||
|
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
name = "adobe-reader-9.1.1-1";
|
||||||
|
|
||||||
|
builder = ./builder.sh;
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = http://ardownload.adobe.com/pub/adobe/reader/unix/9.x/9.1.1/enu/AdbeRdr9.1.1-1_i486linux_enu.tar.bz2;
|
||||||
|
sha256 = "1j3f7d5s7yfm6vg1628f6as462sbm1ika79v0flq0zgljc111vna";
|
||||||
|
};
|
||||||
|
|
||||||
|
# !!! Adobe Reader contains copies of OpenSSL, libcurl, and libicu.
|
||||||
|
# We should probably remove those and use the regular Nixpkgs
|
||||||
|
# versions.
|
||||||
|
|
||||||
|
libPath = stdenv.lib.makeLibraryPath
|
||||||
|
[ stdenv.gcc.gcc libX11 glib pango atk gtk zlib libxml2 cups ];
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Adobe Reader, a viewer for PDF documents";
|
||||||
|
homepage = http://www.adobe.com/products/reader;
|
||||||
|
};
|
||||||
|
}
|
@ -1,10 +1,10 @@
|
|||||||
args: with args;
|
args: with args;
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "blender-2.46";
|
name = "blender-2.48";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = http://download.blender.org/source/blender-2.46.tar.gz;
|
url = http://download.blender.org/source/blender-2.48a.tar.gz;
|
||||||
sha256 = "1l95lcrp5snmvzabw46qpnkxmqls3fc24b2qjkghfasvaq7km7rr";
|
sha256 = "0ijfpy510ls8xq1i8fb6j6wd0vac1jvnzmpiga4g7x1j4fg4s7bq";
|
||||||
};
|
};
|
||||||
|
|
||||||
phases="unpackPhase buildPhase";
|
phases="unpackPhase buildPhase";
|
||||||
@ -12,7 +12,8 @@ stdenv.mkDerivation {
|
|||||||
inherit scons SDL freetype openal python openexr mesa;
|
inherit scons SDL freetype openal python openexr mesa;
|
||||||
|
|
||||||
buildInputs = [python scons
|
buildInputs = [python scons
|
||||||
gettext libjpeg libpng zlib freetype /* fmod smpeg */ freealut openal x11 mesa inputproto libtiff libXi ];
|
gettext libjpeg libpng zlib freetype /* fmod smpeg */ freealut openal x11 mesa inputproto libtiff libXi
|
||||||
|
];
|
||||||
|
|
||||||
# patch SConstruct so that we can pass on additional include. Either blender
|
# patch SConstruct so that we can pass on additional include. Either blender
|
||||||
# or openEXR is broken. I think OpenEXR should use include "" isntead of <> to
|
# or openEXR is broken. I think OpenEXR should use include "" isntead of <> to
|
||||||
|
48
pkgs/applications/misc/gpsbabel/default.nix
Normal file
48
pkgs/applications/misc/gpsbabel/default.nix
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
{ fetchurl, stdenv, zlib, expat }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
name = "gpsbabel-1.3.6";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "http://www.gpsbabel.org/plan9.php?dl=${name}.tar.gz";
|
||||||
|
name = "${name}.tar.gz";
|
||||||
|
sha256 = "1dm9lpcdsj0vz699zz932xc1vphvap627wl0qp61izlkzh25vg88";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ zlib expat ];
|
||||||
|
|
||||||
|
/* FIXME: Building the documentation, with "make doc", requires this:
|
||||||
|
|
||||||
|
[ libxml2 libxslt perl docbook_xml_dtd_412 docbook_xsl fop ]
|
||||||
|
|
||||||
|
But FOP isn't packaged yet. */
|
||||||
|
|
||||||
|
configureFlags = "--with-zlib=system";
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "GPSBabel, a tool to convert, upload and download data from GPS and Map programs";
|
||||||
|
|
||||||
|
longDescription = ''
|
||||||
|
GPSBabel converts waypoints, tracks, and routes between popular
|
||||||
|
GPS receivers and mapping programs. It also has powerful
|
||||||
|
manipulation tools for such data.
|
||||||
|
|
||||||
|
By flattening the Tower of Babel that the authors of various
|
||||||
|
programs for manipulating GPS data have imposed upon us, it
|
||||||
|
returns to us the ability to freely move our own waypoint data
|
||||||
|
between the programs and hardware we choose to use.
|
||||||
|
|
||||||
|
It contains extensive data manipulation abilities making it a
|
||||||
|
convenient for server-side processing or as the backend for
|
||||||
|
other tools.
|
||||||
|
|
||||||
|
It does not convert, transfer, send, or manipulate maps. We
|
||||||
|
process data that may (or may not be) placed on a map, such as
|
||||||
|
waypoints, tracks, and routes.
|
||||||
|
'';
|
||||||
|
|
||||||
|
homepage = http://www.gpsbabel.org/;
|
||||||
|
|
||||||
|
license = "GPLv2+";
|
||||||
|
};
|
||||||
|
}
|
45
pkgs/applications/misc/gpscorrelate/default.nix
Normal file
45
pkgs/applications/misc/gpscorrelate/default.nix
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
{ fetchurl, stdenv, pkgconfig, exiv2, libxml2, gtk
|
||||||
|
, libxslt, docbook_xsl, docbook_xml_dtd_42 }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
name = "gpscorrelate-1.6.0";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "http://freefoote.dview.net/linux/${name}.tar.gz";
|
||||||
|
sha256 = "1j0b244xkvvf0i4iivp4dw9k4xgyasx4sapd91mnwki35fy49sp0";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
pkgconfig exiv2 libxml2 gtk
|
||||||
|
libxslt docbook_xsl docbook_xml_dtd_42
|
||||||
|
];
|
||||||
|
|
||||||
|
patchPhase = ''
|
||||||
|
sed -i "Makefile" \
|
||||||
|
-es",^[[:blank:]]*prefix[[:blank:]]*=.*$,prefix = $out,g"
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "A GPS photo correlation tool, to add EXIF geotags";
|
||||||
|
|
||||||
|
longDescription = ''
|
||||||
|
Digital cameras are cool. So is GPS. And, EXIF tags are really
|
||||||
|
cool too.
|
||||||
|
|
||||||
|
What happens when you merge the three? You end up with a set of
|
||||||
|
photos taken with a digital camera that are "stamped" with the
|
||||||
|
location at which they were taken.
|
||||||
|
|
||||||
|
The EXIF standard defines a number of tags that are for use with GPS.
|
||||||
|
|
||||||
|
A variety of programs exist around the place to match GPS data
|
||||||
|
with digital camera photos, but most of them are Windows or
|
||||||
|
MacOS only. Which doesn't really suit me that much. Also, each
|
||||||
|
one takes the GPS data in a different format.
|
||||||
|
'';
|
||||||
|
|
||||||
|
license = "GPLv2+";
|
||||||
|
|
||||||
|
homepage = http://freefoote.dview.net/linux_gpscorr.html;
|
||||||
|
};
|
||||||
|
}
|
@ -7,7 +7,7 @@ args : with args; with builderDefs {src="";} null;
|
|||||||
};
|
};
|
||||||
buildInputs = [glib zlib];
|
buildInputs = [glib zlib];
|
||||||
configureFlags = [" --prefix=$out "];
|
configureFlags = [" --prefix=$out "];
|
||||||
preConfigure = FullDepEntry (''
|
preConfigure = fullDepEntry (''
|
||||||
export NIX_CFLAGS_COMPILE=$NIX_CFLAGS_COMPILE' -I${glib}/include/glib-2.0/ -I${glib}/lib/glib-2.0/include/ '
|
export NIX_CFLAGS_COMPILE=$NIX_CFLAGS_COMPILE' -I${glib}/include/glib-2.0/ -I${glib}/lib/glib-2.0/include/ '
|
||||||
export NIX_LDFLAGS=$NIX_LDFLAGS' -lglib-2.0 '
|
export NIX_LDFLAGS=$NIX_LDFLAGS' -lglib-2.0 '
|
||||||
sed -e 's@/usr/local/lib/libz\.a@${zlib}/lib/libz.a@' -i configure
|
sed -e 's@/usr/local/lib/libz\.a@${zlib}/lib/libz.a@' -i configure
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
args: with args;
|
args: with args;
|
||||||
let edf = composableDerivation.edf;
|
let inherit (builtins) getAttr;
|
||||||
optionIncLib = name : attr : " -D${name}_INCLUDE_DIR=${__getAttr attr args}/incclude"
|
edf = composableDerivation.edf;
|
||||||
+ " -D${name}_LIBRARY=${__getAttr attr args}/lib "; # lib 64?
|
optionIncLib = name : attr : " -D${name}_INCLUDE_DIR=${getAttr attr args}/incclude"
|
||||||
|
+ " -D${name}_LIBRARY=${getAttr attr args}/lib "; # lib 64?
|
||||||
in
|
in
|
||||||
composableDerivation.composableDerivation {} {
|
composableDerivation.composableDerivation {} {
|
||||||
|
|
||||||
@ -17,18 +18,18 @@ composableDerivation.composableDerivation {} {
|
|||||||
# md5="ac0560e0a2d4e6258c8639f1e9b56df3"; rev="7704"; };
|
# md5="ac0560e0a2d4e6258c8639f1e9b56df3"; rev="7704"; };
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://download.osgeo.org/qgis/src/qgis_${version}.tar.gz";
|
url = "http://download.osgeo.org/qgis/src/qgis_${version}.tar.gz";
|
||||||
sha256 = "17vqbld4wr9jyn1s5n0bkpaminsgc2dzcgdfk8ic168xydnwa7b3";
|
sha256 = "07yyic9sn1pz20wjk7k560jwqz6b19rhf2gawybz38xq1f8rjwd4";
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "user friendly Open Source Geographic Information System";
|
description = "user friendly Open Source Geographic Information System";
|
||||||
homepage = http://www.qgis.org;
|
homepage = ttp://www.qgis.org;
|
||||||
# you can choose one of the following licenses:
|
# you can choose one of the following licenses:
|
||||||
license = [ "GPL" ];
|
license = [ "GPL" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
phases = "unpackPhase buildPhase installPhase";
|
phases = "unpackPhase buildPhase installPhase";
|
||||||
buildPhase = ''pwd;echo XXXXXXXXX; VERBOSE=1 cmake -DCMAKE_INSTALL_PREFIX=$out ''${cfgOption} ..'';
|
buildPhase = ''pwd; mkdir build; cd build; VERBOSE=1 cmake -DCMAKE_INSTALL_PREFIX=$out ''${cfgOption} ..'';
|
||||||
|
|
||||||
postUnpack = ''
|
postUnpack = ''
|
||||||
export CMAKE_SYSTEM_LIBRARY_PATH=
|
export CMAKE_SYSTEM_LIBRARY_PATH=
|
37
pkgs/applications/misc/tangogps/default.nix
Normal file
37
pkgs/applications/misc/tangogps/default.nix
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
{ fetchurl, stdenv, pkgconfig, gettext, gtk, gconf
|
||||||
|
, curl, libexif, sqlite }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
name = "tangogps-0.9.6";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "http://www.tangogps.org/downloads/${name}.tar.gz";
|
||||||
|
sha256 = "04vfbr7skjcfadv9206q2pxbm74i8yypkjwzldsc5a6ybhr7fsp5";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ pkgconfig gettext gtk gconf curl libexif sqlite ];
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "tangoGPS, a user friendly map and GPS user interface";
|
||||||
|
|
||||||
|
longDescription = ''
|
||||||
|
tangoGPS is an easy to use, fast and lightweight mapping
|
||||||
|
application for use with or without GPS.
|
||||||
|
|
||||||
|
It runs on any Linux platform from the desktop over eeePC down
|
||||||
|
to phones like the Openmoko Neo.
|
||||||
|
|
||||||
|
By default tangoGPS uses map data from the OpenStreetMap
|
||||||
|
project. Additionally a variety of other repositories can be
|
||||||
|
easily added.
|
||||||
|
|
||||||
|
The maps are automagically downloaded and cached for offline use
|
||||||
|
while you drag or zoom the map. Furthermore you can
|
||||||
|
conveniently pre-cache areas with tangoGPS.
|
||||||
|
'';
|
||||||
|
|
||||||
|
homepage = http://www.tangogps.org/;
|
||||||
|
|
||||||
|
license = "GPLv2+";
|
||||||
|
};
|
||||||
|
}
|
35
pkgs/applications/misc/viking/default.nix
Normal file
35
pkgs/applications/misc/viking/default.nix
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
{ fetchurl, stdenv, pkgconfig, intltool, gettext, gtk, expat, curl
|
||||||
|
, gpsd, bc, file }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
name = "viking-0.9.8";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "mirror://sourceforge/viking/${name}.tar.gz";
|
||||||
|
sha256 = "1is8g6ld5pd13iiv9qm8526q1cblg01pqyakg52sd6k7fys7dz2d";
|
||||||
|
};
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
./test-bc.patch ./gpsdclient.patch ./implicit-declaration.patch
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [ pkgconfig intltool gettext gtk expat curl gpsd bc file ];
|
||||||
|
|
||||||
|
doCheck = true;
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Viking, a GPS data editor and analyzer";
|
||||||
|
|
||||||
|
longDescription = ''
|
||||||
|
Viking is a free/open source program to manage GPS data. You
|
||||||
|
can import and plot tracks and waypoints, show Openstreetmaps
|
||||||
|
and/or Terraserver maps under it, download geocaches for an area
|
||||||
|
on the map, make new tracks and waypoints, see real-time GPS
|
||||||
|
position, etc.
|
||||||
|
'';
|
||||||
|
|
||||||
|
homepage = http://viking.sourceforge.net/;
|
||||||
|
|
||||||
|
license = "GPLv2+";
|
||||||
|
};
|
||||||
|
}
|
51
pkgs/applications/misc/viking/gpsdclient.patch
Normal file
51
pkgs/applications/misc/viking/gpsdclient.patch
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
Debian patch that allows compilation with libgps (from `gpsd').
|
||||||
|
Failing to apply this patch, we get the following error:
|
||||||
|
|
||||||
|
vikgpslayer.c:237: error: field 'realtime_gpsd_unit' has incomplete type
|
||||||
|
vikgpslayer.c: In function 'vik_gps_layer_new':
|
||||||
|
vikgpslayer.c:473: warning: implicit declaration of function 'gpsd_units'
|
||||||
|
vikgpslayer.c: In function 'rt_gpsd_try_connect':
|
||||||
|
vikgpslayer.c:1321: warning: passing argument 2 of 'gps_set_raw_hook' from incompatible pointer type
|
||||||
|
|
||||||
|
diff -urNad trunk~/src/gpsdclient.h trunk/src/gpsdclient.h
|
||||||
|
--- trunk~/src/gpsdclient.h 1970-01-01 01:00:00.000000000 +0100
|
||||||
|
+++ trunk/src/gpsdclient.h 2009-04-15 14:30:22.000000000 +0200
|
||||||
|
@@ -0,0 +1,25 @@
|
||||||
|
+/* $Id: gpsdclient.h 5330 2009-03-03 04:05:42Z ckuethe $ */
|
||||||
|
+/* gpsdclient.h -- common functions for GPSD clients */
|
||||||
|
+
|
||||||
|
+#ifndef _GPSD_GPSDCLIENT_H_
|
||||||
|
+#define _GPSD_GPSDCLIENT_H_
|
||||||
|
+struct fixsource_t
|
||||||
|
+/* describe a data source */
|
||||||
|
+{
|
||||||
|
+ char *spec; /* pointer to actual storage */
|
||||||
|
+ char *server;
|
||||||
|
+ char *port;
|
||||||
|
+ char *device;
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+enum unit {unspecified, imperial, nautical, metric};
|
||||||
|
+enum unit gpsd_units(void);
|
||||||
|
+enum deg_str_type { deg_dd, deg_ddmm, deg_ddmmss };
|
||||||
|
+
|
||||||
|
+extern /*@observer@*/ char *deg_to_str( enum deg_str_type type, double f);
|
||||||
|
+
|
||||||
|
+extern void gpsd_source_spec(/*@null@*/const char *fromstring,
|
||||||
|
+ /*@out@*/struct fixsource_t *source);
|
||||||
|
+
|
||||||
|
+#endif /* _GPSDCLIENT_H_ */
|
||||||
|
+/* gpsdclient.h ends here */
|
||||||
|
diff -urNad trunk~/src/vikgpslayer.c trunk/src/vikgpslayer.c
|
||||||
|
--- trunk~/src/vikgpslayer.c 2009-02-08 14:47:01.000000000 +0100
|
||||||
|
+++ trunk/src/vikgpslayer.c 2009-04-15 14:30:55.000000000 +0200
|
||||||
|
@@ -39,6 +39,9 @@
|
||||||
|
#include <glib/gi18n.h>
|
||||||
|
#ifdef VIK_CONFIG_REALTIME_GPS_TRACKING
|
||||||
|
#include <gps.h>
|
||||||
|
+#ifndef gpsd_units
|
||||||
|
+#include "gpsdclient.h"
|
||||||
|
+#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if ! GLIB_CHECK_VERSION(2,14,0)
|
13
pkgs/applications/misc/viking/implicit-declaration.patch
Normal file
13
pkgs/applications/misc/viking/implicit-declaration.patch
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
Debian patch that fixes an implicat declaration.
|
||||||
|
|
||||||
|
diff -urNad trunk~/src/util.c trunk/src/util.c
|
||||||
|
--- trunk~/src/util.c 2009-02-08 14:47:01.000000000 +0100
|
||||||
|
+++ trunk/src/util.c 2009-04-15 17:23:44.000000000 +0200
|
||||||
|
@@ -26,6 +26,7 @@
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <glib/gi18n.h>
|
||||||
|
+#include <glib/gprintf.h>
|
||||||
|
|
||||||
|
#include "dialog.h"
|
||||||
|
|
22
pkgs/applications/misc/viking/test-bc.patch
Normal file
22
pkgs/applications/misc/viking/test-bc.patch
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
For some reason, `bc -l' yields no output.
|
||||||
|
|
||||||
|
--- viking-0.9.8/test/check_degrees_conversions.sh 2008-03-15 23:01:48.000000000 +0100
|
||||||
|
+++ viking-0.9.8/test/check_degrees_conversions.sh 2009-05-30 23:23:27.000000000 +0200
|
||||||
|
@@ -7,7 +7,7 @@ function check_success()
|
||||||
|
for value in "$@"
|
||||||
|
do
|
||||||
|
result=`./degrees_converter "$value" | cut -d' ' -f3`
|
||||||
|
- diff=`echo "$result - $expected" | bc -l`
|
||||||
|
+ diff=`echo "$result - $expected" | bc`
|
||||||
|
if [ $diff != 0 ]
|
||||||
|
then
|
||||||
|
echo "$value -> $result != $expected"
|
||||||
|
@@ -23,7 +23,7 @@ function check_failure()
|
||||||
|
for value in "$@"
|
||||||
|
do
|
||||||
|
result=`./degrees_converter "$value" | cut -d' ' -f3`
|
||||||
|
- diff=`echo "$result - $expected" | bc -l`
|
||||||
|
+ diff=`echo "$result - $expected" | bc`
|
||||||
|
if [ $diff = 0 ]
|
||||||
|
then
|
||||||
|
echo "$value -> $result = $expected"
|
@ -8,6 +8,11 @@ stdenv.mkDerivation {
|
|||||||
};
|
};
|
||||||
buildInputs = [wxGTK chmlib];
|
buildInputs = [wxGTK chmlib];
|
||||||
|
|
||||||
|
postConfigure = ''
|
||||||
|
export NIX_LDFLAGS="$NIX_LDFLAGS $(${wxGTK}/lib/wx/config/* --libs | sed -e s@-pthread@@)"
|
||||||
|
echo $NIX_LDFLAGS
|
||||||
|
'';
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "A viewer for Microsoft HTML Help files";
|
description = "A viewer for Microsoft HTML Help files";
|
||||||
homepage = http://xchm.sourceforge.net;
|
homepage = http://xchm.sourceforge.net;
|
||||||
|
@ -10,15 +10,12 @@
|
|||||||
|
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let version = "3.5b4"; in
|
let version = xulrunner.ffversion; in
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "firefox-${version}";
|
name = "firefox-${version}";
|
||||||
|
|
||||||
src = fetchurl {
|
src = xulrunner.src;
|
||||||
url = "ftp://ftp.mozilla.org/pub/firefox/releases/${version}/source/firefox-${version}-source.tar.bz2";
|
|
||||||
sha256 = "0pfrcqbsa88p6nfqx7xhlr603ycwf5lnfmwcdd5abl7xipxg4lxn";
|
|
||||||
};
|
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
pkgconfig gtk perl zip libIDL libjpeg zlib cairo bzip2
|
pkgconfig gtk perl zip libIDL libjpeg zlib cairo bzip2
|
||||||
|
@ -13,12 +13,12 @@
|
|||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "firefox-${version}";
|
name = "firefox-${version}";
|
||||||
|
|
||||||
version = "3.0.8";
|
version = "3.0.11";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
# Don't forget to update xulrunner.nix as well!
|
# Don't forget to update xulrunner.nix as well!
|
||||||
url = "http://releases.mozilla.org/pub/mozilla.org/firefox/releases/${version}/source/firefox-${version}-source.tar.bz2";
|
url = "http://releases.mozilla.org/pub/mozilla.org/firefox/releases/${version}/source/firefox-${version}-source.tar.bz2";
|
||||||
sha1 = "93f82c64ae9c805964fb6459223a1061e2d328fd";
|
sha1 = "ca792dcdb67af40c91a4fcece25d6adfb6fef2c3";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
|
@ -11,17 +11,19 @@
|
|||||||
|
|
||||||
let
|
let
|
||||||
|
|
||||||
version = "1.9.1b4"; # this attribute is used by other packages
|
version = "1.9.1rc1";
|
||||||
ffversion = "3.5b4";
|
shownVersion = "1.9.1"; # this attribute is used by other packages
|
||||||
|
# _usually_ it is the same as version
|
||||||
|
ffversion = "3.5rc1";
|
||||||
|
|
||||||
in
|
in
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation rec {
|
||||||
name = "xulrunner-${version}";
|
name = "xulrunner-${version}";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "ftp://ftp.mozilla.org/pub/firefox/releases/${ffversion}/source/firefox-${ffversion}-source.tar.bz2";
|
url = "ftp://ftp.mozilla.org/pub/firefox/releases/${ffversion}/source/firefox-${ffversion}-source.tar.bz2";
|
||||||
sha256 = "0pfrcqbsa88p6nfqx7xhlr603ycwf5lnfmwcdd5abl7xipxg4lxn";
|
sha256 = "14yrkvk0kibfpkcvbb44ww89plhm8iikbqmnc0jbkjr4k70a7gcl";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
@ -91,7 +93,10 @@ stdenv.mkDerivation {
|
|||||||
homepage = http://www.mozilla.com/en-US/firefox/;
|
homepage = http://www.mozilla.com/en-US/firefox/;
|
||||||
};
|
};
|
||||||
|
|
||||||
passthru = { inherit gtk version; };
|
passthru = {
|
||||||
|
inherit gtk ffversion src;
|
||||||
|
version = shownVersion;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
let
|
let
|
||||||
|
|
||||||
version = "1.9.0.8"; # this attribute is used by other packages
|
version = "1.9.0.11"; # this attribute is used by other packages
|
||||||
|
|
||||||
in
|
in
|
||||||
|
|
||||||
@ -19,8 +19,8 @@ stdenv.mkDerivation {
|
|||||||
name = "xulrunner-${version}";
|
name = "xulrunner-${version}";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = http://releases.mozilla.org/pub/mozilla.org/firefox/releases/3.0.8/source/firefox-3.0.8-source.tar.bz2;
|
url = http://releases.mozilla.org/pub/mozilla.org/firefox/releases/3.0.11/source/firefox-3.0.11-source.tar.bz2;
|
||||||
sha1 = "93f82c64ae9c805964fb6459223a1061e2d328fd";
|
sha1 = "ca792dcdb67af40c91a4fcece25d6adfb6fef2c3";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
|
@ -1,8 +1,18 @@
|
|||||||
{stdenv, browser, browserName ? "firefox", nameSuffix ? "", makeWrapper, plugins}:
|
{stdenv, browser, browserName ? "firefox", nameSuffix ? "", makeDesktopItem, makeWrapper, plugins}:
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = browser.name + "-with-plugins";
|
name = browser.name + "-with-plugins";
|
||||||
|
|
||||||
|
desktopItem = makeDesktopItem {
|
||||||
|
name = browserName;
|
||||||
|
exec = browserName;
|
||||||
|
icon = "${browser}/lib/${browser.name}/icons/mozicon128.png";
|
||||||
|
comment = "";
|
||||||
|
desktopName = browserName;
|
||||||
|
genericName = "Web Browser";
|
||||||
|
categories = "Application;Network;";
|
||||||
|
};
|
||||||
|
|
||||||
buildInputs = [makeWrapper];
|
buildInputs = [makeWrapper];
|
||||||
|
|
||||||
buildCommand = ''
|
buildCommand = ''
|
||||||
@ -16,6 +26,9 @@ stdenv.mkDerivation {
|
|||||||
"$out/bin/${browserName}${nameSuffix}" \
|
"$out/bin/${browserName}${nameSuffix}" \
|
||||||
--suffix-each MOZ_PLUGIN_PATH ':' "$plugins" \
|
--suffix-each MOZ_PLUGIN_PATH ':' "$plugins" \
|
||||||
--suffix-contents PATH ':' "$(filterExisting $(addSuffix /extra-bin-path $plugins))"
|
--suffix-contents PATH ':' "$(filterExisting $(addSuffix /extra-bin-path $plugins))"
|
||||||
|
|
||||||
|
ensureDir $out/share/applications
|
||||||
|
cp $desktopItem/share/applications/* $out/share/applications
|
||||||
'';
|
'';
|
||||||
|
|
||||||
# Let each plugin tell us (through its `mozillaPlugin') attribute
|
# Let each plugin tell us (through its `mozillaPlugin') attribute
|
||||||
|
@ -4,13 +4,13 @@
|
|||||||
, freetype, fontconfig
|
, freetype, fontconfig
|
||||||
, application ? "browser" }:
|
, application ? "browser" }:
|
||||||
|
|
||||||
let version = "3.0.9-g1"; in
|
let version = "3.0.11-g1"; in
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "icecat-${version}";
|
name = "icecat-${version}";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://gnu/gnuzilla/${version}/icecat-${version}.tar.bz2";
|
url = "mirror://gnu/gnuzilla/${version}/icecat-${version}.tar.bz2";
|
||||||
sha256 = "1xmkyiz9ccmm0n9ving2za3lczxqrlcc7ipbg0jx4w9l1hhj13hq";
|
sha256 = "1kzsjlyi41lglsfnfsqdbs75b279pwi742cp19h6c2410gvsb9km";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
|
@ -5,18 +5,18 @@ let
|
|||||||
doPatchShebangs = args.doPatchShebangs;
|
doPatchShebangs = args.doPatchShebangs;
|
||||||
makeManyWrappers = args.makeManyWrappers;
|
makeManyWrappers = args.makeManyWrappers;
|
||||||
|
|
||||||
version = lib.getAttr ["version"] "0.0.21" args;
|
version = lib.attrByPath ["version"] "0.1.7" args;
|
||||||
buildInputs = with args; [
|
buildInputs = with args; [
|
||||||
intltool python imagemagick gtk glib webkit libxml2
|
intltool python imagemagick gtk glib webkit libxml2
|
||||||
gtksourceview pkgconfig which gettext makeWrapper
|
gtksourceview pkgconfig which gettext makeWrapper
|
||||||
file
|
file libidn sqlite docutils libnotify libsoup
|
||||||
];
|
];
|
||||||
in
|
in
|
||||||
rec {
|
rec {
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://goodies.xfce.org/releases/midori/midori-${version}.tar.bz2";
|
url = "http://goodies.xfce.org/releases/midori/midori-${version}.tar.bz2";
|
||||||
sha256 = if version == "0.0.21" then
|
sha256 = if version == "0.1.7" then
|
||||||
"0cbpvjdfzgbqwn8rfkp3l35scfvz9cc8hip8v35vkxpac9igcqg5"
|
"1bxs4nlwvhzwiq73lf1gvx7qqdm1hm4x1hym1b0q0dhwhdvafx4v"
|
||||||
else null;
|
else null;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@ a :
|
|||||||
let
|
let
|
||||||
fetchurl = a.fetchurl;
|
fetchurl = a.fetchurl;
|
||||||
|
|
||||||
version = a.lib.getAttr ["version"] "1.12.0" a;
|
version = a.lib.attrByPath ["version"] "1.12.0" a;
|
||||||
buildInputs = with a; [
|
buildInputs = with a; [
|
||||||
firefox libX11 xproto
|
firefox libX11 xproto
|
||||||
];
|
];
|
||||||
@ -17,11 +17,11 @@ rec {
|
|||||||
configureFlags = [];
|
configureFlags = [];
|
||||||
makeFlags = ["linux" "prefix=" "root=$out"];
|
makeFlags = ["linux" "prefix=" "root=$out"];
|
||||||
|
|
||||||
preBuild = a.FullDepEntry(''
|
preBuild = a.fullDepEntry(''
|
||||||
sed -e s@/usr/@"$out/"@g -i mozplugger.c
|
sed -e s@/usr/@"$out/"@g -i mozplugger.c
|
||||||
'') ["doUnpack" "minInit"];
|
'') ["doUnpack" "minInit"];
|
||||||
|
|
||||||
postInstall = a.FullDepEntry(''
|
postInstall = a.fullDepEntry(''
|
||||||
ensureDir $out/share/${name}/plugin
|
ensureDir $out/share/${name}/plugin
|
||||||
ln -s $out/lib/mozilla/plugins/mozplugger.so $out/share/${name}/plugin
|
ln -s $out/lib/mozilla/plugins/mozplugger.so $out/share/${name}/plugin
|
||||||
'') ["doMakeInstall" "minInit" "defEnsureDir"];
|
'') ["doMakeInstall" "minInit" "defEnsureDir"];
|
||||||
|
@ -33,6 +33,10 @@ installPhase() {
|
|||||||
done
|
done
|
||||||
# substitute pwd as late as possible so that the md5 checkusm check of opera passes
|
# substitute pwd as late as possible so that the md5 checkusm check of opera passes
|
||||||
sed -i 's=/bin/pwd=pwd=' $out/bin/opera
|
sed -i 's=/bin/pwd=pwd=' $out/bin/opera
|
||||||
|
|
||||||
|
ensureDir $out/share/applications
|
||||||
|
cp $desktopItem/share/applications/* $out/share/applications
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
genericBuild
|
genericBuild
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
{ stdenv, fetchurl, qt, zlib, libX11, libXext, libSM, libICE, libstdcpp5, glibc
|
{ stdenv, fetchurl, qt, zlib, libX11, libXext, libSM, libICE, libstdcpp5, glibc
|
||||||
, motif ? null, libXt ? null}:
|
, motif ? null, libXt ? null
|
||||||
|
, makeDesktopItem
|
||||||
|
}:
|
||||||
|
|
||||||
assert motif != null -> libXt != null;
|
assert motif != null -> libXt != null;
|
||||||
|
|
||||||
@ -8,7 +10,7 @@ assert motif != null -> libXt != null;
|
|||||||
# Hm, does Opera 9.x still use Motif for anything?
|
# Hm, does Opera 9.x still use Motif for anything?
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "9.62-20081029";
|
version = "9.64";
|
||||||
name = "opera-${version}";
|
name = "opera-${version}";
|
||||||
|
|
||||||
inherit libstdcpp5;
|
inherit libstdcpp5;
|
||||||
@ -16,17 +18,12 @@ stdenv.mkDerivation rec {
|
|||||||
builder = ./builder.sh;
|
builder = ./builder.sh;
|
||||||
src = if (stdenv.system == "i686-linux") then
|
src = if (stdenv.system == "i686-linux") then
|
||||||
fetchurl {
|
fetchurl {
|
||||||
url = ftp://ftp.task.gda.pl/pub/opera/linux/962/final/en/i386/shared/opera-9.62.gcc3-shared-qt3.i386.tar.gz;
|
url = ftp://mirror.liteserver.nl/pub/opera/linux/964/final/en/i386/static/opera-9.64.gcc295-static-qt3.i386.tar.gz;
|
||||||
sha256 = "9b204cce912450886cbc49d1cadc3f5907b044626b100c05e07c6bfec74c56f4";
|
sha256 = "0ryza8wrqhlcs9hs3vs38ig3pjwifymxi8jsx83kvxg963p2k825";
|
||||||
} else if (stdenv.system == "x86_64-linux") then
|
} else if (stdenv.system == "x86_64-linux") then
|
||||||
fetchurl {
|
fetchurl {
|
||||||
url = http://snapshot.opera.com/unix/snapshot-1754/x86_64-linux/opera-9.50-20080110.2-shared-qt.x86_64-1754.tar.bz2;
|
url = http://mirror.liteserver.nl/pub/opera/linux/964/final/en/x86_64/opera-9.64.gcc4-shared-qt3.x86_64.tar.gz ;
|
||||||
sha256 = "08y1ajjncdvbhvcq2izmpgc4fi37bwn43zsw7rz41jf8qhvb5ywv";
|
sha256 = "1zmj8lr1mx3d98adyd93kw2ldxxb13wzi6xzlgmb3dr4pn9j85n2";
|
||||||
#url = ftp://ftp.task.gda.pl/pub/opera/linux/950b/final/en/x86_64/opera-9.50-20071024.2-shared-qt.x86_64-1643.tar.bz2;
|
|
||||||
#sha256 = "1gv1r18ar3vz1l24nf8qixjlba1yb5d3xvg3by41i4dy0vlznqn6";
|
|
||||||
#name = opera-9.25-20071214.6-shared-qt.i386-en.tar.gz;
|
|
||||||
#url = http://www.opera.com/download/get.pl?id=30462&location=225¬hanks=yes&sub=marine;
|
|
||||||
#sha256 = "1wnc1s4r5gz73mxs8pgsi9a1msz7x8a8pb1ykb1xgdfn21h69p2p";
|
|
||||||
} else throw "unsupported platform ${stdenv.system} (only i686-linux and x86_64 linux supported yet)";
|
} else throw "unsupported platform ${stdenv.system} (only i686-linux and x86_64 linux supported yet)";
|
||||||
|
|
||||||
dontStrip = 1;
|
dontStrip = 1;
|
||||||
@ -36,6 +33,17 @@ stdenv.mkDerivation rec {
|
|||||||
[glibc qt motif zlib libX11 libXt libXext libSM libICE libstdcpp5]
|
[glibc qt motif zlib libX11 libXt libXext libSM libICE libstdcpp5]
|
||||||
++ (if motif != null then [motif ] else []);
|
++ (if motif != null then [motif ] else []);
|
||||||
|
|
||||||
|
desktopItem = makeDesktopItem {
|
||||||
|
name = "Opera";
|
||||||
|
exec = "opera";
|
||||||
|
icon = "opera";
|
||||||
|
comment = "Opera Web Browser";
|
||||||
|
desktopName = "Opera";
|
||||||
|
genericName = "Web Browser";
|
||||||
|
categories = "Application;Network;";
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
homepage = http://www.opera.com;
|
homepage = http://www.opera.com;
|
||||||
};
|
};
|
||||||
|
29
pkgs/applications/networking/browsers/uzbl/default.nix
Normal file
29
pkgs/applications/networking/browsers/uzbl/default.nix
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
a :
|
||||||
|
let
|
||||||
|
fetchurl = a.fetchurl;
|
||||||
|
|
||||||
|
version = a.lib.attrByPath ["version"] "2009.06.06" a;
|
||||||
|
buildInputs = with a; [
|
||||||
|
pkgconfig webkit libsoup gtk
|
||||||
|
];
|
||||||
|
in
|
||||||
|
rec {
|
||||||
|
src = fetchurl {
|
||||||
|
url = "http://github.com/Dieterbe/uzbl/tarball/${version}";
|
||||||
|
sha256 = "1bgajpcsv0a8nmliqkrk99d3k5s60acjgvh0sx7znsnjajbfv3yz";
|
||||||
|
name = "uzbl-master-${version}.tar.gz";
|
||||||
|
};
|
||||||
|
|
||||||
|
inherit buildInputs;
|
||||||
|
configureFlags = [];
|
||||||
|
|
||||||
|
/* doConfigure should be removed if not needed */
|
||||||
|
phaseNames = ["doMakeInstall"];
|
||||||
|
|
||||||
|
installFlags = "PREFIX=$out";
|
||||||
|
|
||||||
|
name = "uzbl-" + version;
|
||||||
|
meta = {
|
||||||
|
description = "Tiny externally controllable webkit browser";
|
||||||
|
};
|
||||||
|
}
|
@ -5,7 +5,7 @@ args : with args;
|
|||||||
(to use a fresher pidgin build)
|
(to use a fresher pidgin build)
|
||||||
*/
|
*/
|
||||||
let
|
let
|
||||||
externalPurple2 = (lib.getAttr ["purple2Source"] null args) != null;
|
externalPurple2 = lib.attrByPath ["purple2Source"] null args) != null;
|
||||||
in
|
in
|
||||||
rec {
|
rec {
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
@ -30,7 +30,7 @@ rec {
|
|||||||
+ " --with-nss-libs=${nss}/lib --with-ncurses-headers=${ncurses}/include"
|
+ " --with-nss-libs=${nss}/lib --with-ncurses-headers=${ncurses}/include"
|
||||||
+ " --enable-screensaver --disable-meanwhile --disable-nm --disable-tcl";
|
+ " --enable-screensaver --disable-meanwhile --disable-nm --disable-tcl";
|
||||||
|
|
||||||
preBuild = FullDepEntry (''
|
preBuild = fullDepEntry (''
|
||||||
export echo=echo
|
export echo=echo
|
||||||
'') [];
|
'') [];
|
||||||
|
|
||||||
@ -45,7 +45,7 @@ rec {
|
|||||||
homepage = http://funpidgin.sf.net;
|
homepage = http://funpidgin.sf.net;
|
||||||
};
|
};
|
||||||
} // (if externalPurple2 then {
|
} // (if externalPurple2 then {
|
||||||
postInstall = FullDepEntry (''
|
postInstall = fullDepEntry (''
|
||||||
ensureDir $out/lib/purple-2
|
ensureDir $out/lib/purple-2
|
||||||
cp ${args.purple2Source}/lib/purple-2/* $out/lib/purple-2/
|
cp ${args.purple2Source}/lib/purple-2/* $out/lib/purple-2/
|
||||||
'') ["minInit" "defEnsureDir"]; }
|
'') ["minInit" "defEnsureDir"]; }
|
||||||
|
@ -5,7 +5,7 @@ args : with args;
|
|||||||
(to use a fresher pidgin build)
|
(to use a fresher pidgin build)
|
||||||
*/
|
*/
|
||||||
let
|
let
|
||||||
externalPurple2 = (lib.getAttr ["purple2Source"] null args) != null;
|
externalPurple2 = (lib.attrByPath ["purple2Source"] null args) != null;
|
||||||
in
|
in
|
||||||
rec {
|
rec {
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
@ -30,7 +30,7 @@ rec {
|
|||||||
+ " --with-nss-libs=${nss}/lib --with-ncurses-headers=${ncurses}/include"
|
+ " --with-nss-libs=${nss}/lib --with-ncurses-headers=${ncurses}/include"
|
||||||
+ " --enable-screensaver --disable-meanwhile --disable-nm --disable-tcl";
|
+ " --enable-screensaver --disable-meanwhile --disable-nm --disable-tcl";
|
||||||
|
|
||||||
preBuild = FullDepEntry (''
|
preBuild = fullDepEntry (''
|
||||||
export echo=echo
|
export echo=echo
|
||||||
'') [];
|
'') [];
|
||||||
|
|
||||||
@ -45,7 +45,7 @@ rec {
|
|||||||
homepage = http://funpidgin.sf.net;
|
homepage = http://funpidgin.sf.net;
|
||||||
};
|
};
|
||||||
} // (if externalPurple2 then {
|
} // (if externalPurple2 then {
|
||||||
postInstall = FullDepEntry (''
|
postInstall = fullDepEntry (''
|
||||||
ensureDir $out/lib/purple-2
|
ensureDir $out/lib/purple-2
|
||||||
cp ${args.purple2Source}/lib/purple-2/* $out/lib/purple-2/
|
cp ${args.purple2Source}/lib/purple-2/* $out/lib/purple-2/
|
||||||
'') ["minInit" "defEnsureDir"]; }
|
'') ["minInit" "defEnsureDir"]; }
|
||||||
|
@ -2,7 +2,7 @@ a :
|
|||||||
let
|
let
|
||||||
fetchurl = a.fetchurl;
|
fetchurl = a.fetchurl;
|
||||||
|
|
||||||
version = a.lib.getAttr ["version"] "0.12.1" a;
|
version = a.lib.attrByPath ["version"] "0.12.1" a;
|
||||||
buildInputs = with a; [
|
buildInputs = with a; [
|
||||||
python pyGtkGlade gtk perl intltool dbus gettext
|
python pyGtkGlade gtk perl intltool dbus gettext
|
||||||
pkgconfig makeWrapper libglade pyopenssl libXScrnSaver
|
pkgconfig makeWrapper libglade pyopenssl libXScrnSaver
|
||||||
@ -20,7 +20,7 @@ rec {
|
|||||||
inherit buildInputs;
|
inherit buildInputs;
|
||||||
configureFlags = [];
|
configureFlags = [];
|
||||||
|
|
||||||
preConfigure = a.FullDepEntry (''
|
preConfigure = a.fullDepEntry (''
|
||||||
export PYTHONPATH="$PYTHONPATH''${PYTHONPATH:+:}$(toPythonPath ${a.pyGtkGlade})/gtk-2.0"
|
export PYTHONPATH="$PYTHONPATH''${PYTHONPATH:+:}$(toPythonPath ${a.pyGtkGlade})/gtk-2.0"
|
||||||
export PYTHONPATH="$PYTHONPATH''${PYTHONPATH:+:}$(toPythonPath ${a.pygobject})/gtk-2.0"
|
export PYTHONPATH="$PYTHONPATH''${PYTHONPATH:+:}$(toPythonPath ${a.pygobject})/gtk-2.0"
|
||||||
sed -e '/-L[$]x_libraries/d' -i configure
|
sed -e '/-L[$]x_libraries/d' -i configure
|
||||||
|
@ -11,7 +11,7 @@ rec {
|
|||||||
"PREFIX=$out"
|
"PREFIX=$out"
|
||||||
];
|
];
|
||||||
|
|
||||||
preBuild = FullDepEntry (''
|
preBuild = fullDepEntry (''
|
||||||
ensureDir $out/bin
|
ensureDir $out/bin
|
||||||
ln -s $(which convert) $out/bin
|
ln -s $(which convert) $out/bin
|
||||||
ln -s $(which xelatex) $out/bin
|
ln -s $(which xelatex) $out/bin
|
||||||
@ -25,7 +25,7 @@ rec {
|
|||||||
sed -e 's/\(#define HEADER ".*\)12pt\(.*\)"/\116pt\2\\\\usepackage{fontspec}\\\\usepackage{xunicode}"/' -i LaTeX.h
|
sed -e 's/\(#define HEADER ".*\)12pt\(.*\)"/\116pt\2\\\\usepackage{fontspec}\\\\usepackage{xunicode}"/' -i LaTeX.h
|
||||||
'') ["minInit" "addInputs" "defEnsureDir" "doUnpack"];
|
'') ["minInit" "addInputs" "defEnsureDir" "doUnpack"];
|
||||||
|
|
||||||
postInstall = FullDepEntry (''
|
postInstall = fullDepEntry (''
|
||||||
ensureDir $out/lib
|
ensureDir $out/lib
|
||||||
ensureDir $out/share/pidgin-latex
|
ensureDir $out/share/pidgin-latex
|
||||||
ln -s ../../lib/pidgin/LaTeX.so $out/share/pidgin-latex
|
ln -s ../../lib/pidgin/LaTeX.so $out/share/pidgin-latex
|
||||||
|
@ -20,10 +20,10 @@
|
|||||||
} :
|
} :
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "pidgin-2.5.5";
|
name = "pidgin-2.5.6";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = mirror://sourceforge/pidgin/pidgin-2.5.5.tar.bz2;
|
url = mirror://sourceforge/pidgin/pidgin-2.5.6.tar.bz2;
|
||||||
sha256 = "1s13fzxa62mrxah6khsnpywmw1fknghph1krgwfvcs18kjwi6nnb";
|
sha256 = "00lsb0pmz1zn37xzwji91izzklr9famm100al612m4hy0i37yh4v";
|
||||||
};
|
};
|
||||||
|
|
||||||
inherit nss ncurses;
|
inherit nss ncurses;
|
||||||
|
@ -1,20 +0,0 @@
|
|||||||
args : with args;
|
|
||||||
rec {
|
|
||||||
src = fetchurl {
|
|
||||||
url = ftp://ftp.ru.debian.org/debian/pool/main/p/psi/psi_0.11.orig.tar.gz;
|
|
||||||
sha256 = "1rgjahngari4pwhi0zz9mricaaqxkk8ry8w6s1vgsq3zwa2l5x57";
|
|
||||||
};
|
|
||||||
|
|
||||||
buildInputs = [aspell qt zlib sox openssl libX11 xproto
|
|
||||||
libSM libICE];
|
|
||||||
configureFlags = [" --with-zlib-inc=${zlib}/include "
|
|
||||||
" --with-openssl-inc=${openssl}/include "
|
|
||||||
];
|
|
||||||
|
|
||||||
phaseNames = ["doConfigure" "doMakeInstall"];
|
|
||||||
|
|
||||||
name = "psi-" + version;
|
|
||||||
meta = {
|
|
||||||
description = "Psi, an XMPP (Jabber) client";
|
|
||||||
};
|
|
||||||
}
|
|
@ -0,0 +1,20 @@
|
|||||||
|
args : with args;
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
src = fetchurl {
|
||||||
|
url = mirror://sourceforge/psi/psi-0.12.1.tar.bz2;
|
||||||
|
sha256 = "0zi71fcia9amcasa6zrvfyghdpqa821iv2rkj53bq5dyvfm2y0m8";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [aspell qt4 zlib sox libX11 xproto libSM libICE qca2];
|
||||||
|
|
||||||
|
NIX_CFLAGS_COMPILE="-I${qca2}/include/QtCrypto";
|
||||||
|
NIX_LDFLAGS="-lqca";
|
||||||
|
|
||||||
|
configureFlags = [ " --with-zlib-inc=${zlib}/include "
|
||||||
|
" --disable-bundled-qca" ];
|
||||||
|
|
||||||
|
name = "psi-" + version;
|
||||||
|
meta = {
|
||||||
|
description = "Psi, an XMPP (Jabber) client";
|
||||||
|
};
|
||||||
|
}
|
@ -1,20 +0,0 @@
|
|||||||
args : with args;
|
|
||||||
rec {
|
|
||||||
src = fetchurl {
|
|
||||||
url = mirror://sourceforge/psi/psi-0.12.tar.gz;
|
|
||||||
sha256 = "6afbb3b017009bf4d8d275ec1481e92831b0618ecb58f1372cd9189140a316af";
|
|
||||||
};
|
|
||||||
|
|
||||||
buildInputs = [aspell qt zlib sox openssl libX11 xproto
|
|
||||||
libSM libICE];
|
|
||||||
configureFlags = [" --with-zlib-inc=${zlib}/include "
|
|
||||||
" --with-openssl-inc=${openssl}/include "
|
|
||||||
];
|
|
||||||
|
|
||||||
phaseNames = ["doConfigure" "doMakeInstall"];
|
|
||||||
|
|
||||||
name = "psi-" + version;
|
|
||||||
meta = {
|
|
||||||
description = "Psi, an XMPP (Jabber) client";
|
|
||||||
};
|
|
||||||
}
|
|
@ -2,14 +2,14 @@ args : with args; with builderDefs;
|
|||||||
let localDefs = builderDefs.passthru.function ((rec {
|
let localDefs = builderDefs.passthru.function ((rec {
|
||||||
src = /* put a fetchurl here */
|
src = /* put a fetchurl here */
|
||||||
fetchurl {
|
fetchurl {
|
||||||
url = http://download2.berlios.de/linuxdcpp/linuxdcpp-1.0.1.tar.bz2;
|
url = http://launchpad.net/linuxdcpp/1.0/1.0.3/+download/linuxdcpp-1.0.3.tar.bz2;
|
||||||
sha256 = "0f0vvsa3x3nirqnf2lagpmbbj3pgdcp6wa2gvadj294b3va4hx34";
|
sha256 = "0w9c8k13cl85y4v4av8ic6w4zkdivcj6p5q86llfh3sz077vckiv";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [scons pkgconfig gtk bzip2 pkgconfig libglade
|
buildInputs = [scons pkgconfig gtk bzip2 pkgconfig libglade
|
||||||
openssl libX11];
|
openssl libX11];
|
||||||
configureFlags = [];
|
configureFlags = [];
|
||||||
doScons = FullDepEntry (''
|
doScons = fullDepEntry (''
|
||||||
ensureDir $out
|
ensureDir $out
|
||||||
export NIX_LDFLAGS="$NIX_LDFLAGS -lX11";
|
export NIX_LDFLAGS="$NIX_LDFLAGS -lX11";
|
||||||
scons PREFIX=$out
|
scons PREFIX=$out
|
||||||
@ -18,7 +18,7 @@ args : with args; with builderDefs;
|
|||||||
}) // args);
|
}) // args);
|
||||||
in with localDefs;
|
in with localDefs;
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "ldcpp-"+version;
|
name = "ldcpp-1.0.3";
|
||||||
builder = writeScript (name + "-builder")
|
builder = writeScript (name + "-builder")
|
||||||
(textClosure localDefs
|
(textClosure localDefs
|
||||||
[doScons doForceShare doPropagate]);
|
[doScons doForceShare doPropagate]);
|
@ -1,11 +1,11 @@
|
|||||||
{stdenv, fetchurl, ocaml, zlib, ncurses}:
|
{stdenv, fetchurl, ocaml, zlib, ncurses}:
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "mldonkey-2.9.6";
|
name = "mldonkey-3.0.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = mirror://sourceforge/mldonkey/mldonkey-2.9.6.tar.bz2;
|
url = mirror://sourceforge/mldonkey/mldonkey-3.0.0.tar.bz2;
|
||||||
sha256 = "27cc8ae95aa7a2934b6cc9b077d10ca6a776496c051d8f35d60f1e73d38fd505";
|
sha256 = "0zzvcfnbhxk8axfch5fbkd9j2ks67nbb1ndjjarxvrza78g5y8r7";
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
|
@ -4,10 +4,10 @@ enchant, wv
|
|||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "abiword-2.6.6";
|
name = "abiword-2.6.8";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = http://www.abisource.org/downloads/abiword/2.6.6/source/abiword-2.6.6.tar.gz;
|
url = http://www.abisource.org/downloads/abiword/2.6.8/source/abiword-2.6.8.tar.gz;
|
||||||
sha256 = "1cgi6l3wd82vgni4wcqasyl2rvxwffliyqgbwvzv0nn99wasg5gx";
|
sha256 = "14vfp668srjgy6wd22h4a93safp1iyfwhdr6y0sb751xl46nlrdn";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [pkgconfig gtk libglade libgnomeprint libgnomeprintui
|
buildInputs = [pkgconfig gtk libglade libgnomeprint libgnomeprintui
|
||||||
|
@ -74,6 +74,14 @@ installPhase() {
|
|||||||
|
|
||||||
# Create some wrappers to start individual OpenOffice components.
|
# Create some wrappers to start individual OpenOffice components.
|
||||||
for i in writer calc draw impress base math web; do wrapSOffice oo$i -$i; done
|
for i in writer calc draw impress base math web; do wrapSOffice oo$i -$i; done
|
||||||
|
|
||||||
|
# Create symlinks to desktop files, so that openoffice.org apps can be picked from
|
||||||
|
# the application menu in KDE and GNOME
|
||||||
|
ensureDir $out/share
|
||||||
|
ln -s $out/lib/openoffice/openoffice.org3/share/xdg $out/share/applications
|
||||||
|
|
||||||
|
# The desktop files expect a openoffice.org3 executable in the PATH, which is a symlink to soffice
|
||||||
|
ln -s $out/bin/soffice $out/bin/openoffice.org3
|
||||||
}
|
}
|
||||||
|
|
||||||
genericBuild
|
genericBuild
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
args : with args;
|
args : with args;
|
||||||
let version = lib.getAttr ["version"] "1.1.0" args; in
|
let version = lib.attrByPath ["version"] "1.1.0" args; in
|
||||||
rec {
|
rec {
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = http://downloads.sourceforge.net/ofset/drgeo-1.1.0.tar.gz;
|
url = http://downloads.sourceforge.net/ofset/drgeo-1.1.0.tar.gz;
|
||||||
@ -13,7 +13,7 @@ rec {
|
|||||||
/* doConfigure should be specified separately */
|
/* doConfigure should be specified separately */
|
||||||
phaseNames = ["doConfigure" "doPreBuild" "doMakeInstall"];
|
phaseNames = ["doConfigure" "doPreBuild" "doMakeInstall"];
|
||||||
|
|
||||||
doPreBuild = FullDepEntry (''
|
doPreBuild = fullDepEntry (''
|
||||||
cp drgeo.desktop.in drgeo.desktop
|
cp drgeo.desktop.in drgeo.desktop
|
||||||
'') ["minInit" "doUnpack"];
|
'') ["minInit" "doUnpack"];
|
||||||
|
|
||||||
|
@ -1,8 +1,12 @@
|
|||||||
args : with args;
|
args : with args;
|
||||||
rec {
|
rec {
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = http://oandrieu.nerim.net/monotone-viz/monotone-viz-1.0.1-nolablgtk.tar.gz;
|
name = "monotone-viz-1.0.1-nolablgtk.tar.gz";
|
||||||
sha256 = "0aqz65mlqplj5ccr8czcr6hvliclf9y1xi1rrs2z2s3fvahasxnp";
|
urls = [
|
||||||
|
http://ftp.debian.org/debian/pool/main/m/monotone-viz/monotone-viz_1.0.1.orig.tar.gz
|
||||||
|
#http://oandrieu.nerim.net/monotone-viz/monotone-viz-1.0.1-nolablgtk.tar.gz
|
||||||
|
];
|
||||||
|
sha256 = "066qwrknjk5hwk9jblnf0bzvbmfbabq0zhsxkd3nzk469zkpvhl2";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ocaml lablgtk libgnomecanvas gtk graphviz glib pkgconfig];
|
buildInputs = [ocaml lablgtk libgnomecanvas gtk graphviz glib pkgconfig];
|
||||||
|
@ -2,12 +2,12 @@
|
|||||||
lua, pcre, sqlite}:
|
lua, pcre, sqlite}:
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "0.43";
|
version = "0.44";
|
||||||
in stdenv.mkDerivation {
|
in stdenv.mkDerivation {
|
||||||
name = "monotone-${version}";
|
name = "monotone-${version}";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://monotone.ca/downloads/${version}/monotone-${version}.tar.gz";
|
url = "http://monotone.ca/downloads/${version}/monotone-${version}.tar.gz";
|
||||||
sha256 = "1vfvvk4flv6n7x1nrizjpwpsfhf3dv3b60h7cs4ysgvzb76s41mz";
|
sha256 = "1d1jck5dw210q99km5akz1bsk447sybypdwwi07v1836jkgk0wll";
|
||||||
};
|
};
|
||||||
buildInputs = [boost zlib botan libidn lua pcre sqlite];
|
buildInputs = [boost zlib botan libidn lua pcre sqlite];
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
}:
|
}:
|
||||||
|
|
||||||
assert bdbSupport -> aprutil.bdbSupport;
|
assert bdbSupport -> aprutil.bdbSupport;
|
||||||
assert httpServer -> httpd != null && httpd.apr == apr && httpd.aprutil == aprutil;
|
assert httpServer -> httpd != null;
|
||||||
assert pythonBindings -> swig != null && swig.pythonSupport;
|
assert pythonBindings -> swig != null && swig.pythonSupport;
|
||||||
assert javahlBindings -> jdk != null;
|
assert javahlBindings -> jdk != null;
|
||||||
assert sslSupport -> neon.sslSupport;
|
assert sslSupport -> neon.sslSupport;
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
}:
|
}:
|
||||||
|
|
||||||
assert bdbSupport -> aprutil.bdbSupport;
|
assert bdbSupport -> aprutil.bdbSupport;
|
||||||
assert httpServer -> httpd != null && httpd.apr == apr && httpd.aprutil == aprutil;
|
assert httpServer -> httpd != null;
|
||||||
assert pythonBindings -> swig != null && swig.pythonSupport;
|
assert pythonBindings -> swig != null && swig.pythonSupport;
|
||||||
assert javahlBindings -> jdk != null;
|
assert javahlBindings -> jdk != null;
|
||||||
assert sslSupport -> neon.sslSupport;
|
assert sslSupport -> neon.sslSupport;
|
||||||
@ -20,13 +20,13 @@ assert compressionSupport -> neon.compressionSupport;
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
|
|
||||||
version = "1.6.1";
|
version = "1.6.2";
|
||||||
|
|
||||||
name = "subversion-${version}";
|
name = "subversion-${version}";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://subversion.tigris.org/downloads/${name}.tar.bz2";
|
url = "http://subversion.tigris.org/downloads/${name}.tar.bz2";
|
||||||
sha256 = "1jp6i7vmz0vd1zf4y896f7jzabwv81x8brwzp5kpkrn6wajagm6d";
|
sha256 = "0xa07jrbg5jdk6v5scv900ccdq1fnx02yijgnl8pfaq3knhsb24p";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [zlib apr aprutil sqlite]
|
buildInputs = [zlib apr aprutil sqlite]
|
||||||
|
27
pkgs/applications/version-management/tkcvs/default.nix
Normal file
27
pkgs/applications/version-management/tkcvs/default.nix
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
{stdenv, fetchurl, tcl, tk}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation
|
||||||
|
{
|
||||||
|
name = "tkcvs-8.2";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = mirror://sourceforge/tkcvs/tkcvs_8_2.tar.gz;
|
||||||
|
sha256 = "0cr2f8jd6k2h1n8mvfv6frrfv4kxd7k3mhplk3ghl6hrgklr7ywr";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ tcl tk ];
|
||||||
|
|
||||||
|
patchPhase = ''
|
||||||
|
sed -e 's@exec wish@exec ${tk}/bin/wish@' -i tkcvs/tkcvs.tcl tkdiff/tkdiff
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
./doinstall.tcl $out
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
homepage = http://www.twobarleycorns.net/tkcvs.html;
|
||||||
|
description = "TCL/TK GUI for cvs and subversion";
|
||||||
|
license = "GPLv2+";
|
||||||
|
};
|
||||||
|
}
|
@ -18,7 +18,7 @@ rec {
|
|||||||
(pythonWrapperArguments + preservePathWrapperArguments))
|
(pythonWrapperArguments + preservePathWrapperArguments))
|
||||||
];
|
];
|
||||||
|
|
||||||
doInstall = FullDepEntry (''
|
doInstall = fullDepEntry (''
|
||||||
for i in dot mtn highlight; do
|
for i in dot mtn highlight; do
|
||||||
sed -e "s@/usr/bin/$i@$(which $i)@" -i config.py.example
|
sed -e "s@/usr/bin/$i@$(which $i)@" -i config.py.example
|
||||||
done
|
done
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
, alsa ? null, libX11, libXv ? null, libtheora ? null, libcaca ? null
|
, alsa ? null, libX11, libXv ? null, libtheora ? null, libcaca ? null
|
||||||
, libXinerama ? null, libXrandr ? null, libdvdnav ? null
|
, libXinerama ? null, libXrandr ? null, libdvdnav ? null
|
||||||
, cdparanoia ? null, cddaSupport ? true
|
, cdparanoia ? null, cddaSupport ? true
|
||||||
, mesa
|
, mesa, pkgconfig
|
||||||
}:
|
}:
|
||||||
|
|
||||||
assert alsaSupport -> alsa != null;
|
assert alsaSupport -> alsa != null;
|
||||||
@ -37,7 +37,7 @@ stdenv.mkDerivation {
|
|||||||
};
|
};
|
||||||
|
|
||||||
buildInputs =
|
buildInputs =
|
||||||
[x11 libXv freetype zlib mesa]
|
[x11 libXv freetype zlib mesa pkgconfig]
|
||||||
++ stdenv.lib.optional alsaSupport alsa
|
++ stdenv.lib.optional alsaSupport alsa
|
||||||
++ stdenv.lib.optional xvSupport libXv
|
++ stdenv.lib.optional xvSupport libXv
|
||||||
++ stdenv.lib.optional theoraSupport libtheora
|
++ stdenv.lib.optional theoraSupport libtheora
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
source "$stdenv/setup" || exit 1
|
source "$stdenv/setup"
|
||||||
|
|
||||||
configureFlags="--with-sdl-mixer-incl=$SDL_mixer/include/SDL --with-sdl-incl=$SDL/include/SDL --with-npapi-plugindir=$out/plugins --enable-gui=gtk"
|
configureFlags="--with-sdl-incl=$SDL/include/SDL --with-npapi-plugindir=$out/plugins --enable-gui=gtk"
|
||||||
|
|
||||||
genericBuild
|
genericBuild
|
||||||
|
15
pkgs/applications/video/xvidcap/xlib.patch
Normal file
15
pkgs/applications/video/xvidcap/xlib.patch
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
diff --git a/src/app_data.c b/src/app_data.c
|
||||||
|
index 5a44363..482b115 100644
|
||||||
|
--- a/src/app_data.c
|
||||||
|
+++ b/src/app_data.c
|
||||||
|
@@ -52,9 +52,9 @@
|
||||||
|
#include <pthread.h>
|
||||||
|
#include <signal.h>
|
||||||
|
|
||||||
|
+#include <X11/Xlib.h>
|
||||||
|
#ifdef HAVE_LIBXFIXES
|
||||||
|
#include <X11/X.h>
|
||||||
|
-#include <X11/Xlib.h>
|
||||||
|
#include <X11/Xlibint.h>
|
||||||
|
#include <X11/Xproto.h>
|
||||||
|
#include <X11/Xutil.h>
|
18
pkgs/applications/virtualization/qemu/0.10.3.nix
Normal file
18
pkgs/applications/virtualization/qemu/0.10.3.nix
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
{stdenv, fetchurl, SDL, zlib, which}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
name = "qemu-0.10.3";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = http://download.savannah.gnu.org/releases/qemu/qemu-0.10.3.tar.gz;
|
||||||
|
sha256 = "0xxhyxa376vi4drjpqq21g0h6gqgb1fxamca7zinl2l8iix0sm49";
|
||||||
|
};
|
||||||
|
|
||||||
|
patchFlags = "-p2";
|
||||||
|
|
||||||
|
buildInputs = [SDL zlib which];
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "QEmu processor emulator";
|
||||||
|
};
|
||||||
|
}
|
@ -11,7 +11,7 @@ args : with args;
|
|||||||
};
|
};
|
||||||
in with localDefs;
|
in with localDefs;
|
||||||
let
|
let
|
||||||
doCopy = FullDepEntry ("
|
doCopy = fullDepEntry ("
|
||||||
ensureDir \$out/share/qemu-images
|
ensureDir \$out/share/qemu-images
|
||||||
cp linux-${version}.img \$out/share/qemu-images/
|
cp linux-${version}.img \$out/share/qemu-images/
|
||||||
") [minInit doUnpack defEnsureDir];
|
") [minInit doUnpack defEnsureDir];
|
||||||
|
@ -1,17 +1,17 @@
|
|||||||
{ stdenv, fetchurl, iasl, dev86, libxslt, libxml2, libX11, xproto, libXext
|
{ stdenv, fetchurl, iasl, dev86, libxslt, libxml2, libX11, xproto, libXext
|
||||||
, libXcursor, qt3, qt4, libIDL, SDL, hal, libcap, zlib, libpng, glib, kernel
|
, libXcursor, qt3, qt4, libIDL, SDL, hal, libcap, zlib, libpng, glib, kernel
|
||||||
, python, which
|
, python, which, alsaLib
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "virtualbox-2.2.0-${kernel.version}";
|
name = "virtualbox-2.2.4-${kernel.version}";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = http://download.virtualbox.org/virtualbox/2.2.0/VirtualBox-2.2.0-OSE.tar.bz2;
|
url = http://download.virtualbox.org/virtualbox/2.2.4/VirtualBox-2.2.4-OSE.tar.bz2;
|
||||||
sha256 = "8bf621cfcb61f2b0a71be53f072e58c3fb4f3183324faa3947346ff973314c71";
|
sha256 = "b5d52a67b94510275eb3dc8649eb7d3063446da4f3ac038f821d598c62b5d6c5";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [iasl dev86 libxslt libxml2 xproto libX11 libXext libXcursor qt3 qt4 libIDL SDL hal libcap glib kernel python];
|
buildInputs = [iasl dev86 libxslt libxml2 xproto libX11 libXext libXcursor qt3 qt4 libIDL SDL hal libcap glib kernel python alsaLib];
|
||||||
|
|
||||||
patchPhase = "
|
patchPhase = "
|
||||||
set -x
|
set -x
|
||||||
@ -27,7 +27,7 @@ stdenv.mkDerivation {
|
|||||||
configurePhase = ''
|
configurePhase = ''
|
||||||
# It wants the qt utils from qt3, and it takes them from QTDIR
|
# It wants the qt utils from qt3, and it takes them from QTDIR
|
||||||
export QTDIR=${qt3}
|
export QTDIR=${qt3}
|
||||||
./configure --with-qt-dir=${qt3} --with-qt4-dir=${qt4} --disable-python --disable-alsa --disable-pulse --disable-hardening
|
./configure --with-qt-dir=${qt3} --with-qt4-dir=${qt4} --disable-python --disable-pulse --disable-hardening
|
||||||
sed -e 's@PKG_CONFIG_PATH=.*@PKG_CONFIG_PATH=${libIDL}/lib/pkgconfig:${glib}/lib/pkgconfig ${libIDL}/bin/libIDL-config-2@' \
|
sed -e 's@PKG_CONFIG_PATH=.*@PKG_CONFIG_PATH=${libIDL}/lib/pkgconfig:${glib}/lib/pkgconfig ${libIDL}/bin/libIDL-config-2@' \
|
||||||
-i AutoConfig.kmk
|
-i AutoConfig.kmk
|
||||||
sed -e 's@arch/x86/@@' \
|
sed -e 's@arch/x86/@@' \
|
||||||
@ -61,7 +61,7 @@ stdenv.mkDerivation {
|
|||||||
sed -i -e "s|@INSTALL_PATH@|$out/virtualbox|" \
|
sed -i -e "s|@INSTALL_PATH@|$out/virtualbox|" \
|
||||||
-e "s|@QT4_PATH@|${qt4}/lib|" \
|
-e "s|@QT4_PATH@|${qt4}/lib|" \
|
||||||
-e "s|which|${which}/bin/which|" \
|
-e "s|which|${which}/bin/which|" \
|
||||||
-e "s|gawk|${stdenv.gawk}/bin/gawk|" \
|
-e "s|awk|${stdenv.gawk}/bin/awk|" \
|
||||||
$out/bin/VBox.sh
|
$out/bin/VBox.sh
|
||||||
chmod 755 $out/bin/VBox.sh
|
chmod 755 $out/bin/VBox.sh
|
||||||
for file in VirtualBox VBoxManage VBoxSDL
|
for file in VirtualBox VBoxManage VBoxSDL
|
||||||
|
@ -2,9 +2,9 @@ args :
|
|||||||
let
|
let
|
||||||
lib = args.lib;
|
lib = args.lib;
|
||||||
fetchurl = args.fetchurl;
|
fetchurl = args.fetchurl;
|
||||||
FullDepEntry = args.FullDepEntry;
|
fullDepEntry = args.fullDepEntry;
|
||||||
|
|
||||||
version = lib.getAttr ["version"] "3.3.0" args;
|
version = lib.attrByPath ["version"] "3.3.0" args;
|
||||||
_buildInputs = with args; [
|
_buildInputs = with args; [
|
||||||
python e2fsprogs gnutls pkgconfig libjpeg
|
python e2fsprogs gnutls pkgconfig libjpeg
|
||||||
ncurses SDL libvncserver zlib graphviz ghostscript
|
ncurses SDL libvncserver zlib graphviz ghostscript
|
||||||
@ -23,10 +23,10 @@ rec {
|
|||||||
/* doConfigure should be specified separately */
|
/* doConfigure should be specified separately */
|
||||||
phaseNames = ["makeTools" "makeXen"];
|
phaseNames = ["makeTools" "makeXen"];
|
||||||
|
|
||||||
makeTools = FullDepEntry (''make -C tools install PREFIX=$out '')
|
makeTools = fullDepEntry (''make -C tools install PREFIX=$out '')
|
||||||
["minInit" "addInputs" "doUnpack"];
|
["minInit" "addInputs" "doUnpack"];
|
||||||
|
|
||||||
makeXen = FullDepEntry (''make -C xen install PREFIX=$out '')
|
makeXen = fullDepEntry (''make -C xen install PREFIX=$out '')
|
||||||
["minInit" "addInputs" "doUnpack"];
|
["minInit" "addInputs" "doUnpack"];
|
||||||
|
|
||||||
name = "xen-" + version;
|
name = "xen-" + version;
|
||||||
|
@ -11,11 +11,11 @@ args : with args;
|
|||||||
} null; /* null is a terminator for sumArgs */
|
} null; /* null is a terminator for sumArgs */
|
||||||
in with localDefs;
|
in with localDefs;
|
||||||
let
|
let
|
||||||
fixPkgconfig = FullDepEntry ("
|
fixPkgconfig = fullDepEntry ("
|
||||||
ensureDir \$out/lib
|
ensureDir \$out/lib
|
||||||
ln -fs \$out/share/pkgconfig \$out/lib/pkgconfig
|
ln -fs \$out/share/pkgconfig \$out/lib/pkgconfig
|
||||||
") [minInit doMakeInstall defEnsureDir];
|
") [minInit doMakeInstall defEnsureDir];
|
||||||
fixInterpreter = FullDepEntry ("
|
fixInterpreter = fullDepEntry ("
|
||||||
sed -e 's@^#!/bin/bash@#! ${stdenv.bash}/bin/bash@' -i \$out/bin/bcop
|
sed -e 's@^#!/bin/bash@#! ${stdenv.bash}/bin/bash@' -i \$out/bin/bcop
|
||||||
") [minInit doMakeInstall];
|
") [minInit doMakeInstall];
|
||||||
in
|
in
|
||||||
|
@ -11,11 +11,11 @@ args : with args;
|
|||||||
} ;
|
} ;
|
||||||
in with localDefs;
|
in with localDefs;
|
||||||
let
|
let
|
||||||
fixPkgconfig = FullDepEntry ("
|
fixPkgconfig = fullDepEntry ("
|
||||||
ensureDir \$out/lib
|
ensureDir \$out/lib
|
||||||
ln -fs \$out/share/pkgconfig \$out/lib/pkgconfig
|
ln -fs \$out/share/pkgconfig \$out/lib/pkgconfig
|
||||||
") [minInit doMakeInstall defEnsureDir];
|
") [minInit doMakeInstall defEnsureDir];
|
||||||
fixInterpreter = FullDepEntry ("
|
fixInterpreter = fullDepEntry ("
|
||||||
sed -e 's@^#!/bin/bash@#! ${stdenv.bash}/bin/bash@' -i \$out/bin/bcop
|
sed -e 's@^#!/bin/bash@#! ${stdenv.bash}/bin/bash@' -i \$out/bin/bcop
|
||||||
") [minInit doMakeInstall];
|
") [minInit doMakeInstall];
|
||||||
in
|
in
|
||||||
|
@ -11,11 +11,11 @@ args : with args;
|
|||||||
} ;
|
} ;
|
||||||
in with localDefs;
|
in with localDefs;
|
||||||
let
|
let
|
||||||
fixPkgconfig = FullDepEntry ("
|
fixPkgconfig = fullDepEntry ("
|
||||||
ensureDir \$out/lib
|
ensureDir \$out/lib
|
||||||
ln -fs \$out/share/pkgconfig \$out/lib/pkgconfig
|
ln -fs \$out/share/pkgconfig \$out/lib/pkgconfig
|
||||||
") [minInit doMakeInstall defEnsureDir];
|
") [minInit doMakeInstall defEnsureDir];
|
||||||
fixInterpreter = FullDepEntry ("
|
fixInterpreter = fullDepEntry ("
|
||||||
sed -e 's@^#!/bin/bash@#! ${stdenv.bash}/bin/bash@' -i \$out/bin/bcop
|
sed -e 's@^#!/bin/bash@#! ${stdenv.bash}/bin/bash@' -i \$out/bin/bcop
|
||||||
") [minInit doMakeInstall];
|
") [minInit doMakeInstall];
|
||||||
in
|
in
|
||||||
|
@ -22,7 +22,7 @@ args : with args;
|
|||||||
};
|
};
|
||||||
in with localDefs;
|
in with localDefs;
|
||||||
let
|
let
|
||||||
install = FullDepEntry ("
|
install = fullDepEntry ("
|
||||||
sed -e '/Checking for texture_from_pixmap:/areturn 0' -i compiz-manager
|
sed -e '/Checking for texture_from_pixmap:/areturn 0' -i compiz-manager
|
||||||
sed -e '/Checking for non power of two support: /areturn 0' -i compiz-manager
|
sed -e '/Checking for non power of two support: /areturn 0' -i compiz-manager
|
||||||
sed -e '/^\s*$/aPATH=\$PATH:${xvinfo}/bin:${xdpyinfo}/bin' -i compiz-manager
|
sed -e '/^\s*$/aPATH=\$PATH:${xvinfo}/bin:${xdpyinfo}/bin' -i compiz-manager
|
||||||
|
@ -11,11 +11,11 @@ args : with args;
|
|||||||
} null; /* null is a terminator for sumArgs */
|
} null; /* null is a terminator for sumArgs */
|
||||||
in with localDefs;
|
in with localDefs;
|
||||||
let
|
let
|
||||||
sharePlugins = FullDepEntry ("
|
sharePlugins = fullDepEntry ("
|
||||||
ensureDir \$out/share/compiz-plugins
|
ensureDir \$out/share/compiz-plugins
|
||||||
ln -vsf \$out/lib/compiz \$out/share/compiz-plugins
|
ln -vsf \$out/lib/compiz \$out/share/compiz-plugins
|
||||||
") [minInit doMakeInstall defEnsureDir];
|
") [minInit doMakeInstall defEnsureDir];
|
||||||
fixIncludes = FullDepEntry ("
|
fixIncludes = fullDepEntry ("
|
||||||
sed -e 's@#include <text.h>@#include <compiz/text.h>@' -i src/group/group-internal.h;
|
sed -e 's@#include <text.h>@#include <compiz/text.h>@' -i src/group/group-internal.h;
|
||||||
sed -e 's@#include <text.h>@#include <compiz/text.h>@' -i src/scalefilter/scalefilter.c;
|
sed -e 's@#include <text.h>@#include <compiz/text.h>@' -i src/scalefilter/scalefilter.c;
|
||||||
") [minInit doUnpack];
|
") [minInit doUnpack];
|
||||||
|
@ -11,11 +11,11 @@ args : with args;
|
|||||||
} ;
|
} ;
|
||||||
in with localDefs;
|
in with localDefs;
|
||||||
let
|
let
|
||||||
sharePlugins = FullDepEntry ("
|
sharePlugins = fullDepEntry ("
|
||||||
ensureDir \$out/share/compiz-plugins
|
ensureDir \$out/share/compiz-plugins
|
||||||
ln -vsf \$out/lib/compiz \$out/share/compiz-plugins
|
ln -vsf \$out/lib/compiz \$out/share/compiz-plugins
|
||||||
") [minInit doMakeInstall defEnsureDir];
|
") [minInit doMakeInstall defEnsureDir];
|
||||||
fixIncludes = FullDepEntry ("
|
fixIncludes = fullDepEntry ("
|
||||||
sed -e 's@#include <compiz-text.h>@#include <compiz/compiz-text.h>@' -i src/group/group-internal.h;
|
sed -e 's@#include <compiz-text.h>@#include <compiz/compiz-text.h>@' -i src/group/group-internal.h;
|
||||||
sed -e 's@#include <compiz-text.h>@#include <compiz/compiz-text.h>@' -i src/scalefilter/scalefilter.c;
|
sed -e 's@#include <compiz-text.h>@#include <compiz/compiz-text.h>@' -i src/scalefilter/scalefilter.c;
|
||||||
sed -e 's@#include <compiz-mousepoll.h>@#include <compiz/compiz-mousepoll.h>@' -i src/showmouse/showmouse.c;
|
sed -e 's@#include <compiz-mousepoll.h>@#include <compiz/compiz-mousepoll.h>@' -i src/showmouse/showmouse.c;
|
||||||
|
@ -11,11 +11,11 @@ args : with args;
|
|||||||
} ;
|
} ;
|
||||||
in with localDefs;
|
in with localDefs;
|
||||||
let
|
let
|
||||||
sharePlugins = FullDepEntry ("
|
sharePlugins = fullDepEntry ("
|
||||||
ensureDir \$out/share/compiz-plugins
|
ensureDir \$out/share/compiz-plugins
|
||||||
ln -vsf \$out/lib/compiz \$out/share/compiz-plugins
|
ln -vsf \$out/lib/compiz \$out/share/compiz-plugins
|
||||||
") [minInit doMakeInstall defEnsureDir];
|
") [minInit doMakeInstall defEnsureDir];
|
||||||
fixIncludes = FullDepEntry (''
|
fixIncludes = fullDepEntry (''
|
||||||
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${pluginsMain}/include/compiz"
|
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${pluginsMain}/include/compiz"
|
||||||
'') [minInit doUnpack];
|
'') [minInit doUnpack];
|
||||||
in
|
in
|
||||||
|
@ -11,7 +11,7 @@ args : with args;
|
|||||||
} null; /* null is a terminator for sumArgs */
|
} null; /* null is a terminator for sumArgs */
|
||||||
in with localDefs;
|
in with localDefs;
|
||||||
let
|
let
|
||||||
sharePlugins = FullDepEntry ("
|
sharePlugins = fullDepEntry ("
|
||||||
ensureDir \$out/share/compiz-plugins
|
ensureDir \$out/share/compiz-plugins
|
||||||
ln -vsf \$out/lib/compiz \$out/share/compiz-plugins
|
ln -vsf \$out/lib/compiz \$out/share/compiz-plugins
|
||||||
") [minInit doMakeInstall defEnsureDir];
|
") [minInit doMakeInstall defEnsureDir];
|
||||||
|
@ -11,7 +11,7 @@ args : with args;
|
|||||||
} ;
|
} ;
|
||||||
in with localDefs;
|
in with localDefs;
|
||||||
let
|
let
|
||||||
sharePlugins = FullDepEntry ("
|
sharePlugins = fullDepEntry ("
|
||||||
ensureDir \$out/share/compiz-plugins
|
ensureDir \$out/share/compiz-plugins
|
||||||
ln -vsf \$out/lib/compiz \$out/share/compiz-plugins
|
ln -vsf \$out/lib/compiz \$out/share/compiz-plugins
|
||||||
") [minInit doMakeInstall defEnsureDir];
|
") [minInit doMakeInstall defEnsureDir];
|
||||||
|
@ -11,7 +11,7 @@ args : with args;
|
|||||||
} ;
|
} ;
|
||||||
in with localDefs;
|
in with localDefs;
|
||||||
let
|
let
|
||||||
sharePlugins = FullDepEntry ("
|
sharePlugins = fullDepEntry ("
|
||||||
ensureDir \$out/share/compiz-plugins
|
ensureDir \$out/share/compiz-plugins
|
||||||
ln -vsf \$out/lib/compiz \$out/share/compiz-plugins
|
ln -vsf \$out/lib/compiz \$out/share/compiz-plugins
|
||||||
") [minInit doMakeInstall defEnsureDir];
|
") [minInit doMakeInstall defEnsureDir];
|
||||||
|
@ -24,7 +24,7 @@ args : with args;
|
|||||||
};
|
};
|
||||||
in with localDefs;
|
in with localDefs;
|
||||||
let
|
let
|
||||||
postAll = FullDepEntry ("
|
postAll = fullDepEntry ("
|
||||||
for i in $out/bin/*; do
|
for i in $out/bin/*; do
|
||||||
patchelf --set-rpath /var/run/opengl-driver/lib:$(patchelf --print-rpath $i) $i
|
patchelf --set-rpath /var/run/opengl-driver/lib:$(patchelf --print-rpath $i) $i
|
||||||
done
|
done
|
||||||
|
@ -25,7 +25,7 @@ args : with args;
|
|||||||
};
|
};
|
||||||
in with localDefs;
|
in with localDefs;
|
||||||
let
|
let
|
||||||
postAll = FullDepEntry ("
|
postAll = fullDepEntry ("
|
||||||
for i in $out/bin/*; do
|
for i in $out/bin/*; do
|
||||||
patchelf --set-rpath /var/run/opengl-driver/lib:$(patchelf --print-rpath $i) $i
|
patchelf --set-rpath /var/run/opengl-driver/lib:$(patchelf --print-rpath $i) $i
|
||||||
done
|
done
|
||||||
|
@ -24,7 +24,7 @@ args : with args;
|
|||||||
};
|
};
|
||||||
in with localDefs;
|
in with localDefs;
|
||||||
let
|
let
|
||||||
postAll = FullDepEntry ("
|
postAll = fullDepEntry ("
|
||||||
for i in $out/bin/*; do
|
for i in $out/bin/*; do
|
||||||
patchelf --set-rpath /var/run/opengl-driver/lib:$(patchelf --print-rpath $i) $i
|
patchelf --set-rpath /var/run/opengl-driver/lib:$(patchelf --print-rpath $i) $i
|
||||||
done
|
done
|
||||||
|
@ -3,10 +3,10 @@ let
|
|||||||
lib = args.lib;
|
lib = args.lib;
|
||||||
fetchurl = args.fetchurl;
|
fetchurl = args.fetchurl;
|
||||||
noDepEntry = args.noDepEntry;
|
noDepEntry = args.noDepEntry;
|
||||||
FullDepEntry = args.FullDepEntry;
|
fullDepEntry = args.fullDepEntry;
|
||||||
|
|
||||||
buildInputs = lib.attrVals ["clisp" "texinfo"] args;
|
buildInputs = lib.attrVals ["clisp" "texinfo"] args;
|
||||||
version = lib.getAttr ["version"] "0.9.4.1" args;
|
version = lib.attrByPath ["version"] "0.9.4.1" args;
|
||||||
|
|
||||||
pkgName = "stumpwm";
|
pkgName = "stumpwm";
|
||||||
in
|
in
|
||||||
@ -22,7 +22,7 @@ rec {
|
|||||||
export HOME="$NIX_BUILD_TOP";
|
export HOME="$NIX_BUILD_TOP";
|
||||||
'');
|
'');
|
||||||
|
|
||||||
installation = FullDepEntry (''
|
installation = fullDepEntry (''
|
||||||
ensureDir $out/bin
|
ensureDir $out/bin
|
||||||
ensureDir $out/share/stumpwm/doc
|
ensureDir $out/share/stumpwm/doc
|
||||||
ensureDir $out/share/info
|
ensureDir $out/share/info
|
||||||
|
@ -1,16 +1,17 @@
|
|||||||
args: with args; with stringsWithDeps; with lib;
|
args: with args; with stringsWithDeps; with lib;
|
||||||
|
let inherit (builtins) head tail trace; in
|
||||||
(rec
|
(rec
|
||||||
{
|
{
|
||||||
inherit writeScript;
|
inherit writeScript;
|
||||||
|
|
||||||
src = getAttr ["src"] "" args;
|
src = attrByPath ["src"] "" args;
|
||||||
|
|
||||||
addSbinPath = getAttr ["addSbinPath"] false args;
|
addSbinPath = attrByPath ["addSbinPath"] false args;
|
||||||
|
|
||||||
forceShare = if args ? forceShare then args.forceShare else ["man" "doc" "info"];
|
forceShare = if args ? forceShare then args.forceShare else ["man" "doc" "info"];
|
||||||
forceCopy = ["COPYING" "LICENSE" "DISTRIBUTION" "LEGAL"
|
forceCopy = ["COPYING" "LICENSE" "DISTRIBUTION" "LEGAL"
|
||||||
"README" "AUTHORS" "ChangeLog" "CHANGES" "LICENCE" "COPYRIGHT"] ++
|
"README" "AUTHORS" "ChangeLog" "CHANGES" "LICENCE" "COPYRIGHT"] ++
|
||||||
(optional (getAttr ["forceCopyDoc"] true args) "doc");
|
(optional (attrByPath ["forceCopyDoc"] true args) "doc");
|
||||||
|
|
||||||
hasSuffixHack = a: b: hasSuffix (a+(substring 0 0 b)) ((substring 0 0 a)+b);
|
hasSuffixHack = a: b: hasSuffix (a+(substring 0 0 b)) ((substring 0 0 a)+b);
|
||||||
|
|
||||||
@ -19,6 +20,7 @@ args: with args; with stringsWithDeps; with lib;
|
|||||||
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.lzma" s) then "tar.lzma"
|
else if (hasSuffixHack ".tar.lzma" s) then "tar.lzma"
|
||||||
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"
|
||||||
@ -29,10 +31,11 @@ args: with args; with stringsWithDeps; with lib;
|
|||||||
|
|
||||||
# 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 (abort "unknown archive type : ${s}"));
|
else (abort "unknown archive type : ${s}"));
|
||||||
|
|
||||||
defAddToSearchPath = FullDepEntry ("
|
defAddToSearchPath = fullDepEntry ("
|
||||||
addToSearchPathWithCustomDelimiter() {
|
addToSearchPathWithCustomDelimiter() {
|
||||||
local delimiter=\$1
|
local delimiter=\$1
|
||||||
local varName=\$2
|
local varName=\$2
|
||||||
@ -83,13 +86,12 @@ args: with args; with stringsWithDeps; with lib;
|
|||||||
trap \"closeNest\" EXIT
|
trap \"closeNest\" EXIT
|
||||||
");
|
");
|
||||||
|
|
||||||
minInit = FullDepEntry ("
|
minInit = fullDepEntry ("
|
||||||
set -e
|
set -e
|
||||||
NIX_GCC=${stdenv.gcc}
|
NIX_GCC=${stdenv.gcc}
|
||||||
export SHELL=${stdenv.shell}
|
export SHELL=${stdenv.shell}
|
||||||
PATH_DELIMITER=':'
|
PATH_DELIMITER=':'
|
||||||
" + (if ((stdenv ? preHook) && (stdenv.preHook != null) &&
|
" + (if stdenv ? preHook && stdenv.preHook != null && toString stdenv.preHook != "" then
|
||||||
((toString stdenv.preHook) != "")) then
|
|
||||||
"
|
"
|
||||||
param1=${stdenv.param1}
|
param1=${stdenv.param1}
|
||||||
param2=${stdenv.param2}
|
param2=${stdenv.param2}
|
||||||
@ -112,7 +114,7 @@ args: with args; with stringsWithDeps; with lib;
|
|||||||
"
|
"
|
||||||
else "")) ["defNest" "defAddToSearchPath"];
|
else "")) ["defNest" "defAddToSearchPath"];
|
||||||
|
|
||||||
addInputs = FullDepEntry ("
|
addInputs = fullDepEntry ("
|
||||||
# Recursively find all build inputs.
|
# Recursively find all build inputs.
|
||||||
findInputs()
|
findInputs()
|
||||||
{
|
{
|
||||||
@ -178,7 +180,7 @@ args: with args; with stringsWithDeps; with lib;
|
|||||||
PATH=\$_PATH\${_PATH:+\"\${PATH_DELIMITER}\"}\$PATH
|
PATH=\$_PATH\${_PATH:+\"\${PATH_DELIMITER}\"}\$PATH
|
||||||
") ["minInit"];
|
") ["minInit"];
|
||||||
|
|
||||||
defEnsureDir = FullDepEntry ("
|
defEnsureDir = fullDepEntry ("
|
||||||
# Ensure that the given directories exists.
|
# Ensure that the given directories exists.
|
||||||
ensureDir() {
|
ensureDir() {
|
||||||
local dir
|
local dir
|
||||||
@ -188,7 +190,7 @@ args: with args; with stringsWithDeps; with lib;
|
|||||||
}
|
}
|
||||||
") ["minInit"];
|
") ["minInit"];
|
||||||
|
|
||||||
toSrcDir = s : FullDepEntry ((if (archiveType s) == "tar" then "
|
toSrcDir = s : fullDepEntry ((if (archiveType s) == "tar" then "
|
||||||
tar xvf '${s}'
|
tar xvf '${s}'
|
||||||
cd \"\$(tar tf '${s}' | head -1 | sed -e 's@/.*@@' )\"
|
cd \"\$(tar tf '${s}' | head -1 | sed -e 's@/.*@@' )\"
|
||||||
" else if (archiveType s) == "tgz" then "
|
" else if (archiveType s) == "tgz" then "
|
||||||
@ -197,6 +199,9 @@ args: with args; with stringsWithDeps; with lib;
|
|||||||
" else if (archiveType s) == "tbz2" then "
|
" else if (archiveType s) == "tbz2" then "
|
||||||
tar xvjf '${s}'
|
tar xvjf '${s}'
|
||||||
cd \"\$(tar tjf '${s}' | head -1 | sed -e 's@/.*@@' )\"
|
cd \"\$(tar tjf '${s}' | head -1 | sed -e 's@/.*@@' )\"
|
||||||
|
" else if (archiveType s) == "tZ" then "
|
||||||
|
uncompress < '${s}' | tar x
|
||||||
|
cd \"\$(uncompress < '${s}' | tar t | head -1 | sed -e 's@/.*@@' )\"
|
||||||
" else if (archiveType s) == "tar.lzma" then "
|
" else if (archiveType s) == "tar.lzma" then "
|
||||||
unlzma -d -c <'${s}' | tar xv
|
unlzma -d -c <'${s}' | tar xv
|
||||||
cd \"\$(unlzma -d -c <'${s}' | tar t | head -1 | sed -e 's@/.*@@' )\"
|
cd \"\$(unlzma -d -c <'${s}' | tar t | head -1 | sed -e 's@/.*@@' )\"
|
||||||
@ -220,23 +225,28 @@ args: with args; with stringsWithDeps; with lib;
|
|||||||
NAME=\$(basename ${s} .bz2)
|
NAME=\$(basename ${s} .bz2)
|
||||||
bzip2 -d <${s} > \$PWD/\$(basename ${s} .bz2)/\${NAME#*-}
|
bzip2 -d <${s} > \$PWD/\$(basename ${s} .bz2)/\${NAME#*-}
|
||||||
cd \$(basename ${s} .bz2)
|
cd \$(basename ${s} .bz2)
|
||||||
|
" else if (archiveType s) == "plain-gz" then "
|
||||||
|
mkdir \$PWD/\$(basename ${s} .gz)
|
||||||
|
NAME=\$(basename ${s} .gz)
|
||||||
|
gzip -d <${s} > \$PWD/\$(basename ${s} .gz)/\${NAME#*-}
|
||||||
|
cd \$(basename ${s} .gz)
|
||||||
" else (abort "unknown archive type : ${s}"))+
|
" else (abort "unknown archive type : ${s}"))+
|
||||||
# goSrcDir is typically something like "cd mysubdir" .. but can be anything else
|
# goSrcDir is typically something like "cd mysubdir" .. but can be anything else
|
||||||
(if args ? goSrcDir then args.goSrcDir else "")
|
(if args ? goSrcDir then args.goSrcDir else "")
|
||||||
) ["minInit"];
|
) ["minInit"];
|
||||||
|
|
||||||
configureCommand = getAttr ["configureCommand"] "./configure" args;
|
configureCommand = attrByPath ["configureCommand"] "./configure" args;
|
||||||
|
|
||||||
doConfigure = FullDepEntry ("
|
doConfigure = fullDepEntry ("
|
||||||
${configureCommand} --prefix=\"\$prefix\" ${toString configureFlags}
|
${configureCommand} --prefix=\"\$prefix\" ${toString configureFlags}
|
||||||
") ["minInit" "addInputs" "doUnpack"];
|
") ["minInit" "addInputs" "doUnpack"];
|
||||||
|
|
||||||
doIntltool = FullDepEntry ("
|
doIntltool = fullDepEntry ("
|
||||||
mkdir -p config
|
mkdir -p config
|
||||||
intltoolize --copy --force
|
intltoolize --copy --force
|
||||||
") ["minInit" "addInputs" "doUnpack"];
|
") ["minInit" "addInputs" "doUnpack"];
|
||||||
|
|
||||||
doAutotools = FullDepEntry ("
|
doAutotools = fullDepEntry ("
|
||||||
mkdir -p config
|
mkdir -p config
|
||||||
libtoolize --copy --force
|
libtoolize --copy --force
|
||||||
aclocal --force
|
aclocal --force
|
||||||
@ -246,17 +256,17 @@ args: with args; with stringsWithDeps; with lib;
|
|||||||
autoconf
|
autoconf
|
||||||
")["minInit" "addInputs" "doUnpack"];
|
")["minInit" "addInputs" "doUnpack"];
|
||||||
|
|
||||||
doMake = FullDepEntry ("
|
doMake = fullDepEntry ("
|
||||||
make ${toString makeFlags}
|
make ${toString makeFlags}
|
||||||
") ["minInit" "addInputs" "doUnpack"];
|
") ["minInit" "addInputs" "doUnpack"];
|
||||||
|
|
||||||
doUnpack = toSrcDir (toString src);
|
doUnpack = toSrcDir (toString src);
|
||||||
|
|
||||||
installPythonPackage = FullDepEntry ("
|
installPythonPackage = fullDepEntry ("
|
||||||
python setup.py install --prefix=\"\$prefix\"
|
python setup.py install --prefix=\"\$prefix\"
|
||||||
") ["minInit" "addInputs" "doUnpack"];
|
") ["minInit" "addInputs" "doUnpack"];
|
||||||
|
|
||||||
doPythonConfigure = FullDepEntry (''
|
doPythonConfigure = fullDepEntry (''
|
||||||
pythonVersion=$(toPythonPath "$prefix")
|
pythonVersion=$(toPythonPath "$prefix")
|
||||||
pythonVersion=''${pythonVersion#*/lib/python}
|
pythonVersion=''${pythonVersion#*/lib/python}
|
||||||
pythonVersion=''${pythonVersion%%/site-packages}
|
pythonVersion=''${pythonVersion%%/site-packages}
|
||||||
@ -266,11 +276,11 @@ args: with args; with stringsWithDeps; with lib;
|
|||||||
python configure.py -b "$prefix/bin" -d "$(toPythonPath "$prefix")" -v "$prefix/share/sip" ${toString configureFlags}
|
python configure.py -b "$prefix/bin" -d "$(toPythonPath "$prefix")" -v "$prefix/share/sip" ${toString configureFlags}
|
||||||
'') ["minInit" "addInputs" "doUnpack"];
|
'') ["minInit" "addInputs" "doUnpack"];
|
||||||
|
|
||||||
doMakeInstall = FullDepEntry ("
|
doMakeInstall = fullDepEntry ("
|
||||||
make ${toString (getAttr ["makeFlags"] "" args)} "+
|
make ${toString (attrByPath ["makeFlags"] "" args)} "+
|
||||||
"${toString (getAttr ["installFlags"] "" args)} install") ["doMake"];
|
"${toString (attrByPath ["installFlags"] "" args)} install") ["doMake"];
|
||||||
|
|
||||||
doForceShare = FullDepEntry ("
|
doForceShare = fullDepEntry ("
|
||||||
ensureDir \"\$prefix/share\"
|
ensureDir \"\$prefix/share\"
|
||||||
for d in ${toString forceShare}; do
|
for d in ${toString forceShare}; do
|
||||||
if [ -d \"\$prefix/\$d\" -a ! -d \"\$prefix/share/\$d\" ]; then
|
if [ -d \"\$prefix/\$d\" -a ! -d \"\$prefix/share/\$d\" ]; then
|
||||||
@ -280,7 +290,7 @@ args: with args; with stringsWithDeps; with lib;
|
|||||||
done;
|
done;
|
||||||
") ["minInit" "defEnsureDir"];
|
") ["minInit" "defEnsureDir"];
|
||||||
|
|
||||||
doForceCopy = FullDepEntry (''
|
doForceCopy = fullDepEntry (''
|
||||||
name="$(basename $out)"
|
name="$(basename $out)"
|
||||||
name="''${name#*-}"
|
name="''${name#*-}"
|
||||||
ensureDir "$prefix/share/$name"
|
ensureDir "$prefix/share/$name"
|
||||||
@ -293,11 +303,11 @@ args: with args; with stringsWithDeps; with lib;
|
|||||||
|
|
||||||
patchFlags = if args ? patchFlags then args.patchFlags else "-p1";
|
patchFlags = if args ? patchFlags then args.patchFlags else "-p1";
|
||||||
|
|
||||||
patches = getAttr ["patches"] [] args;
|
patches = attrByPath ["patches"] [] args;
|
||||||
|
|
||||||
toPatchCommand = s: "cat ${s} | patch ${toString patchFlags}";
|
toPatchCommand = s: "cat ${s} | patch ${toString patchFlags}";
|
||||||
|
|
||||||
doPatch = FullDepEntry (concatStringsSep ";"
|
doPatch = fullDepEntry (concatStringsSep ";"
|
||||||
(map toPatchCommand patches)
|
(map toPatchCommand patches)
|
||||||
) ["minInit" "doUnpack"];
|
) ["minInit" "doUnpack"];
|
||||||
|
|
||||||
@ -307,8 +317,8 @@ args: with args; with stringsWithDeps; with lib;
|
|||||||
envAdder = envAdderInner "";
|
envAdder = envAdderInner "";
|
||||||
|
|
||||||
envAdderList = l: if l==[] then "" else
|
envAdderList = l: if l==[] then "" else
|
||||||
"echo export ${__head l}='\"'\"\\\$${__head l}:${__head (__tail l)}\"'\"';\n" +
|
"echo export ${head l}='\"'\"\\\$${head l}:${head (tail l)}\"'\"';\n" +
|
||||||
envAdderList (__tail (__tail l));
|
envAdderList (tail (tail l));
|
||||||
|
|
||||||
wrapEnv = cmd: env: "
|
wrapEnv = cmd: env: "
|
||||||
mv \"${cmd}\" \"${cmd}-orig\";
|
mv \"${cmd}\" \"${cmd}-orig\";
|
||||||
@ -317,9 +327,9 @@ args: with args; with stringsWithDeps; with lib;
|
|||||||
(${envAdderList env}
|
(${envAdderList env}
|
||||||
echo '\"'\"${cmd}-orig\"'\"' '\"'\\\$@'\"' \n) > \"${cmd}\"";
|
echo '\"'\"${cmd}-orig\"'\"' '\"'\\\$@'\"' \n) > \"${cmd}\"";
|
||||||
|
|
||||||
doWrap = cmd: FullDepEntry (wrapEnv cmd (getAttr ["wrappedEnv"] [] args)) ["minInit"];
|
doWrap = cmd: fullDepEntry (wrapEnv cmd (attrByPath ["wrappedEnv"] [] args)) ["minInit"];
|
||||||
|
|
||||||
makeManyWrappers = wildcard : wrapperFlags : FullDepEntry (''
|
makeManyWrappers = wildcard : wrapperFlags : fullDepEntry (''
|
||||||
for i in ${wildcard}; do
|
for i in ${wildcard}; do
|
||||||
wrapProgram "$i" ${wrapperFlags}
|
wrapProgram "$i" ${wrapperFlags}
|
||||||
done
|
done
|
||||||
@ -336,79 +346,79 @@ args: with args; with stringsWithDeps; with lib;
|
|||||||
|
|
||||||
preservePathWrapperArguments = ''''${PATH:+ --prefix PATH : $PATH }'';
|
preservePathWrapperArguments = ''''${PATH:+ --prefix PATH : $PATH }'';
|
||||||
|
|
||||||
doPropagate = FullDepEntry ("
|
doPropagate = fullDepEntry ("
|
||||||
ensureDir \$out/nix-support
|
ensureDir \$out/nix-support
|
||||||
echo '${toString (getAttr ["propagatedBuildInputs"] [] args)}' >\$out/nix-support/propagated-build-inputs
|
echo '${toString (attrByPath ["propagatedBuildInputs"] [] args)}' >\$out/nix-support/propagated-build-inputs
|
||||||
") ["minInit" "defEnsureDir"];
|
") ["minInit" "defEnsureDir"];
|
||||||
|
|
||||||
/*debug = x:(__trace x x);
|
/*debug = x:(trace x x);
|
||||||
debugX = x:(__trace (__toXML x) x);*/
|
debugX = x:(trace (toXML x) x);*/
|
||||||
|
|
||||||
replaceScriptVar = file: name: value: ("sed -e 's`^${name}=.*`${name}='\\''${value}'\\''`' -i ${file}");
|
replaceScriptVar = file: name: value: "sed -e 's`^${name}=.*`${name}='\\''${value}'\\''`' -i ${file}";
|
||||||
replaceInScript = file: l: (concatStringsSep "\n" ((pairMap (replaceScriptVar file) l)));
|
replaceInScript = file: l: concatStringsSep "\n" ((pairMap (replaceScriptVar file) l));
|
||||||
replaceScripts = l:(concatStringsSep "\n" (pairMap replaceInScript l));
|
replaceScripts = l: concatStringsSep "\n" (pairMap replaceInScript l);
|
||||||
doReplaceScripts = FullDepEntry (replaceScripts (getAttr ["shellReplacements"] [] args)) [minInit];
|
doReplaceScripts = fullDepEntry (replaceScripts (attrByPath ["shellReplacements"] [] args)) ["minInit"];
|
||||||
makeNest = x:(if x==defNest.text then x else "startNest\n" + x + "\nstopNest\n");
|
makeNest = x: if x == defNest.text then x else "startNest\n" + x + "\nstopNest\n";
|
||||||
textClosure = a : steps : textClosureMapOveridable makeNest a (["defNest"] ++ steps);
|
textClosure = a: steps: textClosureMap makeNest a (["defNest"] ++ steps);
|
||||||
|
|
||||||
inherit noDepEntry FullDepEntry PackEntry;
|
inherit noDepEntry fullDepEntry packEntry;
|
||||||
|
|
||||||
defList = (getAttr ["defList"] [] args);
|
defList = attrByPath ["defList"] [] args;
|
||||||
getVal = getValue args defList;
|
getVal = getValue args defList;
|
||||||
check = checkFlag args;
|
check = checkFlag args;
|
||||||
reqsList = getAttr ["reqsList"] [] args;
|
reqsList = attrByPath ["reqsList"] [] args;
|
||||||
buildInputsNames = filter (x: (null != getVal x))
|
buildInputsNames = filter (x: null != getVal x)
|
||||||
(uniqList {inputList =
|
(uniqList {inputList =
|
||||||
(concatLists (map
|
(concatLists (map
|
||||||
(x:(if (x==[]) then [] else builtins.tail x))
|
(x: if x==[] then [] else builtins.tail x)
|
||||||
reqsList));});
|
reqsList));});
|
||||||
configFlags = getAttr ["configFlags"] [] args;
|
configFlags = attrByPath ["configFlags"] [] args;
|
||||||
buildFlags = getAttr ["buildFlags"] [] args;
|
buildFlags = attrByPath ["buildFlags"] [] args;
|
||||||
nameSuffixes = getAttr ["nameSuffixes"] [] args;
|
nameSuffixes = attrByPath ["nameSuffixes"] [] args;
|
||||||
autoBuildInputs = assert (checkReqs args defList reqsList);
|
autoBuildInputs = assert (checkReqs args defList reqsList);
|
||||||
filter (x: x!=null) (map getVal buildInputsNames);
|
filter (x: x!=null) (map getVal buildInputsNames);
|
||||||
autoConfigureFlags = condConcat "" configFlags check;
|
autoConfigureFlags = condConcat "" configFlags check;
|
||||||
autoMakeFlags = condConcat "" buildFlags check;
|
autoMakeFlags = condConcat "" buildFlags check;
|
||||||
useConfig = getAttr ["useConfig"] false args;
|
useConfig = attrByPath ["useConfig"] false args;
|
||||||
realBuildInputs =
|
realBuildInputs =
|
||||||
lib.closePropagation ((if useConfig then
|
lib.closePropagation ((if useConfig then
|
||||||
autoBuildInputs else
|
autoBuildInputs else
|
||||||
getAttr ["buildInputs"] [] args)++
|
attrByPath ["buildInputs"] [] args)++
|
||||||
(getAttr ["propagatedBuildInputs"] [] args));
|
(attrByPath ["propagatedBuildInputs"] [] args));
|
||||||
configureFlags = if useConfig then autoConfigureFlags else
|
configureFlags = if useConfig then autoConfigureFlags else
|
||||||
getAttr ["configureFlags"] "" args;
|
attrByPath ["configureFlags"] "" args;
|
||||||
makeFlags = if useConfig then autoMakeFlags else getAttr ["makeFlags"] "" args;
|
makeFlags = if useConfig then autoMakeFlags else attrByPath ["makeFlags"] "" args;
|
||||||
|
|
||||||
inherit lib;
|
inherit lib;
|
||||||
|
|
||||||
surroundWithCommands = x : before : after : {deps=x.deps; text = before + "\n" +
|
surroundWithCommands = x : before : after : {deps=x.deps; text = before + "\n" +
|
||||||
x.text + "\n" + after ;};
|
x.text + "\n" + after ;};
|
||||||
|
|
||||||
createDirs = FullDepEntry (concatStringsSep ";"
|
createDirs = fullDepEntry (concatStringsSep ";"
|
||||||
(map (x: "ensureDir ${x}") (getAttr ["neededDirs"] [] args))
|
(map (x: "ensureDir ${x}") (attrByPath ["neededDirs"] [] args))
|
||||||
) ["minInit" "defEnsureDir"];
|
) ["minInit" "defEnsureDir"];
|
||||||
|
|
||||||
copyExtraDoc = FullDepEntry (''
|
copyExtraDoc = fullDepEntry (''
|
||||||
name="$(basename $out)"
|
name="$(basename $out)"
|
||||||
name="''${name#*-}"
|
name="''${name#*-}"
|
||||||
ensureDir "$out/share/doc/$name"
|
ensureDir "$out/share/doc/$name"
|
||||||
'' + (concatStringsSep ";"
|
'' + (concatStringsSep ";"
|
||||||
(map
|
(map
|
||||||
(x: ''cp "${x}" "$out/share/doc/$name" || true;'')
|
(x: ''cp "${x}" "$out/share/doc/$name" || true;'')
|
||||||
(getAttr ["extraDoc"] [] args)))) ["minInit" "defEnsureDir" "doUnpack"];
|
(attrByPath ["extraDoc"] [] args)))) ["minInit" "defEnsureDir" "doUnpack"];
|
||||||
|
|
||||||
realPhaseNames =
|
realPhaseNames =
|
||||||
(optional ([] != getAttr ["neededDirs"] [] args) "createDirs")
|
(optional ([] != attrByPath ["neededDirs"] [] args) "createDirs")
|
||||||
++
|
++
|
||||||
args.phaseNames
|
args.phaseNames
|
||||||
++
|
++
|
||||||
["doForceShare" "doPropagate" "doForceCopy"]
|
["doForceShare" "doPropagate" "doForceCopy"]
|
||||||
++
|
++
|
||||||
(optional ([] != getAttr ["extraDoc"] [] args) "copyExtraDoc")
|
(optional ([] != attrByPath ["extraDoc"] [] args) "copyExtraDoc")
|
||||||
++
|
++
|
||||||
(optional (getAttr ["doCheck"] false args) "doMakeCheck")
|
(optional (attrByPath ["doCheck"] false args) "doMakeCheck")
|
||||||
++
|
++
|
||||||
(optional (getAttr ["alwaysFail"] false args) "doFail")
|
(optional (attrByPath ["alwaysFail"] false args) "doFail")
|
||||||
;
|
;
|
||||||
|
|
||||||
doFail = noDepEntry "
|
doFail = noDepEntry "
|
||||||
@ -416,11 +426,11 @@ args: with args; with stringsWithDeps; with lib;
|
|||||||
a() { return 127; } ; a ;
|
a() { return 127; } ; a ;
|
||||||
";
|
";
|
||||||
|
|
||||||
doMakeCheck = FullDepEntry (''
|
doMakeCheck = fullDepEntry (''
|
||||||
make check
|
make check
|
||||||
'') ["minInit"];
|
'') ["minInit"];
|
||||||
|
|
||||||
extraDerivationAttrs = lib.getAttr ["extraDerivationAttrs"] {} args;
|
extraDerivationAttrs = lib.attrByPath ["extraDerivationAttrs"] {} args;
|
||||||
|
|
||||||
# for overrides..
|
# for overrides..
|
||||||
builderDefsArgs = args;
|
builderDefsArgs = args;
|
||||||
@ -430,8 +440,7 @@ args: with args; with stringsWithDeps; with lib;
|
|||||||
|
|
||||||
stdenv.mkDerivation ((rec {
|
stdenv.mkDerivation ((rec {
|
||||||
inherit (localDefs) name;
|
inherit (localDefs) name;
|
||||||
builder = writeScript (name + "-builder")
|
buildCommand = textClosure localDefs localDefs.realPhaseNames;
|
||||||
(textClosure localDefs localDefs.realPhaseNames);
|
|
||||||
meta = localDefs.meta;
|
meta = localDefs.meta;
|
||||||
passthru = localDefs.passthru // {inherit (localDefs) src; };
|
passthru = localDefs.passthru // {inherit (localDefs) src; };
|
||||||
}) // (if localDefs ? propagatedBuildInputs then {
|
}) // (if localDefs ? propagatedBuildInputs then {
|
||||||
@ -445,25 +454,25 @@ args: with args; with stringsWithDeps; with lib;
|
|||||||
(innerBuilderDefsPackage bd)
|
(innerBuilderDefsPackage bd)
|
||||||
{};
|
{};
|
||||||
|
|
||||||
generateFontsFromSFD = FullDepEntry (''
|
generateFontsFromSFD = fullDepEntry (''
|
||||||
for i in *.sfd; do
|
for i in *.sfd; do
|
||||||
fontforge -c \
|
fontforge -c \
|
||||||
'Open($1);
|
'Open($1);
|
||||||
${optionalString (args ? extraFontForgeCommands) args.extraFontForgeCommands
|
${optionalString (args ? extraFontForgeCommands) args.extraFontForgeCommands
|
||||||
}Reencode("unicode");
|
}Reencode("unicode");
|
||||||
${optionalString (getAttr ["createTTF"] true args) ''Generate($1:r + ".ttf");''}
|
${optionalString (attrByPath ["createTTF"] true args) ''Generate($1:r + ".ttf");''}
|
||||||
${optionalString (getAttr ["createOTF"] true args) ''Generate($1:r + ".otf");''}
|
${optionalString (attrByPath ["createOTF"] true args) ''Generate($1:r + ".otf");''}
|
||||||
Reencode("TeX-Base-Encoding");
|
Reencode("TeX-Base-Encoding");
|
||||||
${optionalString (getAttr ["createAFM"] true args) ''Generate($1:r + ".afm");''}
|
${optionalString (attrByPath ["createAFM"] true args) ''Generate($1:r + ".afm");''}
|
||||||
${optionalString (getAttr ["createPFM"] true args) ''Generate($1:r + ".pfm");''}
|
${optionalString (attrByPath ["createPFM"] true args) ''Generate($1:r + ".pfm");''}
|
||||||
${optionalString (getAttr ["createPFB"] true args) ''Generate($1:r + ".pfb");''}
|
${optionalString (attrByPath ["createPFB"] true args) ''Generate($1:r + ".pfb");''}
|
||||||
${optionalString (getAttr ["createMAP"] true args) ''Generate($1:r + ".map");''}
|
${optionalString (attrByPath ["createMAP"] true args) ''Generate($1:r + ".map");''}
|
||||||
${optionalString (getAttr ["createENC"] true args) ''Generate($1:r + ".enc");''}
|
${optionalString (attrByPath ["createENC"] true args) ''Generate($1:r + ".enc");''}
|
||||||
' $i;
|
' $i;
|
||||||
done
|
done
|
||||||
'') ["minInit" "addInputs" "doUnpack"];
|
'') ["minInit" "addInputs" "doUnpack"];
|
||||||
|
|
||||||
installFonts = FullDepEntry (''
|
installFonts = fullDepEntry (''
|
||||||
ensureDir $out/share/fonts/truetype/public/${args.name}
|
ensureDir $out/share/fonts/truetype/public/${args.name}
|
||||||
ensureDir $out/share/fonts/opentype/public/${args.name}
|
ensureDir $out/share/fonts/opentype/public/${args.name}
|
||||||
ensureDir $out/share/fonts/type1/public/${args.name}
|
ensureDir $out/share/fonts/type1/public/${args.name}
|
||||||
@ -477,12 +486,12 @@ args: with args; with stringsWithDeps; with lib;
|
|||||||
cp *.map $out/share/texmf/fonts/map/${args.name} || echo No fontmap data
|
cp *.map $out/share/texmf/fonts/map/${args.name} || echo No fontmap data
|
||||||
'') ["minInit" "defEnsureDir"];
|
'') ["minInit" "defEnsureDir"];
|
||||||
|
|
||||||
simplyShare = shareName: FullDepEntry (''
|
simplyShare = shareName: fullDepEntry (''
|
||||||
ensureDir $out/share
|
ensureDir $out/share
|
||||||
cp -r . $out/share/${shareName}
|
cp -r . $out/share/${shareName}
|
||||||
'') ["doUnpack" "defEnsureDir"];
|
'') ["doUnpack" "defEnsureDir"];
|
||||||
|
|
||||||
doPatchShebangs = dir: FullDepEntry (''
|
doPatchShebangs = dir: fullDepEntry (''
|
||||||
patchShebangFun() {
|
patchShebangFun() {
|
||||||
# Rewrite all script interpreter file names (`#! /path') under the
|
# Rewrite all script interpreter file names (`#! /path') under the
|
||||||
# specified directory tree to paths found in $PATH. E.g.,
|
# specified directory tree to paths found in $PATH. E.g.,
|
||||||
@ -504,7 +513,7 @@ args: with args; with stringsWithDeps; with lib;
|
|||||||
patchShebangFun;
|
patchShebangFun;
|
||||||
'') ["minInit"];
|
'') ["minInit"];
|
||||||
|
|
||||||
createPythonInstallationTarget = FullDepEntry (''
|
createPythonInstallationTarget = fullDepEntry (''
|
||||||
ensureDir $(toPythonPath $out)
|
ensureDir $(toPythonPath $out)
|
||||||
export PYTHONPATH=$PYTHONPATH''${PYTHONPATH:+:}$(toPythonPath $out)
|
export PYTHONPATH=$PYTHONPATH''${PYTHONPATH:+:}$(toPythonPath $out)
|
||||||
'') ["minInit" "addInputs" "defEnsureDir"];
|
'') ["minInit" "addInputs" "defEnsureDir"];
|
||||||
|
@ -2,7 +2,7 @@ a :
|
|||||||
let
|
let
|
||||||
fetchurl = a.fetchurl;
|
fetchurl = a.fetchurl;
|
||||||
|
|
||||||
version = a.lib.getAttr ["version"] "" a;
|
version = a.lib.attrByPath ["version"] "" a;
|
||||||
buildInputs = with a; [
|
buildInputs = with a; [
|
||||||
|
|
||||||
];
|
];
|
||||||
|
@ -16,14 +16,14 @@ let
|
|||||||
checkAttrInclusion = s: a: b:
|
checkAttrInclusion = s: a: b:
|
||||||
(
|
(
|
||||||
if (! isAttrs b) then s else
|
if (! isAttrs b) then s else
|
||||||
if (lib.getAttr ["_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 )
|
||||||
then ""
|
then ""
|
||||||
else checkAttrInclusion
|
else checkAttrInclusion
|
||||||
(s + "." + x)
|
(s + "." + x)
|
||||||
(__getAttr x a)
|
(builtins.getAttr x a)
|
||||||
(lib.getAttr [x] null b))
|
(lib.attrByPath [x] null b))
|
||||||
(attrNames a)) ""
|
(attrNames a)) ""
|
||||||
);
|
);
|
||||||
in
|
in
|
||||||
|
@ -2,7 +2,7 @@ args : with args;
|
|||||||
let
|
let
|
||||||
localDefs = with (builderDefs.passthru.function {src="";});
|
localDefs = with (builderDefs.passthru.function {src="";});
|
||||||
let
|
let
|
||||||
checkFlag = flag : lib.getAttr [flag] false args;
|
checkFlag = flag : lib.attrByPath [flag] false args;
|
||||||
in
|
in
|
||||||
builderDefs.passthru.function ({
|
builderDefs.passthru.function ({
|
||||||
inherit src;
|
inherit src;
|
||||||
@ -15,14 +15,14 @@ args : with args;
|
|||||||
patch = null;
|
patch = null;
|
||||||
meta = {};
|
meta = {};
|
||||||
doInstall = if args ? Install then
|
doInstall = if args ? Install then
|
||||||
(FullDepEntry
|
(fullDepEntry
|
||||||
args.Install
|
args.Install
|
||||||
(["doMake"]
|
(["doMake"]
|
||||||
++ (lib.getAttr ["extraInstallDeps"] [] args))
|
++ (lib.attrByPath ["extraInstallDeps"] [] args))
|
||||||
)
|
)
|
||||||
else FullDepEntry "" ["doMakeInstall"];
|
else fullDepEntry "" ["doMakeInstall"];
|
||||||
|
|
||||||
debPatch = FullDepEntry ((if args ? patch then ''
|
debPatch = fullDepEntry ((if args ? patch then ''
|
||||||
gunzip < ${args.patch} | patch -Np1
|
gunzip < ${args.patch} | patch -Np1
|
||||||
'' else "")
|
'' else "")
|
||||||
+''
|
+''
|
||||||
|
@ -5,11 +5,14 @@ tagflags=""
|
|||||||
if test -n "$tag"; then
|
if test -n "$tag"; then
|
||||||
tagtext="(tag $tag) "
|
tagtext="(tag $tag) "
|
||||||
tagflags="--tag=$tag"
|
tagflags="--tag=$tag"
|
||||||
|
elif test -n "$context"; then
|
||||||
|
tagtext="(context) "
|
||||||
|
tagflags="--context=$context"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
header "getting $url $partial ${tagtext} into $out"
|
header "getting $url $partial ${tagtext} into $out"
|
||||||
|
|
||||||
darcs get --no-pristine-tree $partial $tagflags "$url" "$out"
|
darcs get --lazy --ephemeral $tagflags "$url" "$out"
|
||||||
# remove metadata, because it can change
|
# remove metadata, because it can change
|
||||||
rm -rf "$out/_darcs"
|
rm -rf "$out/_darcs"
|
||||||
|
|
||||||
|
@ -1,17 +1,13 @@
|
|||||||
{stdenv, darcs, nix}: {url, tag ? null, md5, partial ? true}:
|
{stdenv, darcs, nix}: {url, tag ? null, context ? null, md5 ? "", sha256 ? ""}:
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "fetchdarcs";
|
name = "fetchdarcs";
|
||||||
builder = ./builder.sh;
|
builder = ./builder.sh;
|
||||||
buildInputs = [darcs nix];
|
buildInputs = [darcs];
|
||||||
partial = if partial then "--partial" else "";
|
|
||||||
|
|
||||||
# Nix <= 0.7 compatibility.
|
outputHashAlgo = if sha256 == "" then "md5" else "sha256";
|
||||||
id = md5;
|
|
||||||
|
|
||||||
outputHashAlgo = "md5";
|
|
||||||
outputHashMode = "recursive";
|
outputHashMode = "recursive";
|
||||||
outputHash = md5;
|
outputHash = if sha256 == "" then md5 else sha256;
|
||||||
|
|
||||||
inherit url tag;
|
inherit url tag context;
|
||||||
}
|
}
|
||||||
|
13
pkgs/build-support/fetchgit/builder.sh
Normal file
13
pkgs/build-support/fetchgit/builder.sh
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
source $stdenv/setup
|
||||||
|
|
||||||
|
header "exporting $url (rev $rev) into $out"
|
||||||
|
|
||||||
|
git clone --depth 1 "$url" $out
|
||||||
|
if test -n "$rev"; then
|
||||||
|
cd $out
|
||||||
|
git checkout $rev
|
||||||
|
fi
|
||||||
|
find $out -name .git\* | xargs rm -rf
|
||||||
|
|
||||||
|
stopNest
|
||||||
|
|
23
pkgs/build-support/fetchgit/default.nix
Normal file
23
pkgs/build-support/fetchgit/default.nix
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
{stdenv, git}:
|
||||||
|
{url, rev ? "HEAD", md5 ? "", sha256 ? ""}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
name = "git-export";
|
||||||
|
builder = ./builder.sh;
|
||||||
|
buildInputs = [git];
|
||||||
|
|
||||||
|
outputHashAlgo = if sha256 == "" then "md5" else "sha256";
|
||||||
|
outputHashMode = "recursive";
|
||||||
|
outputHash = if sha256 == "" then md5 else sha256;
|
||||||
|
|
||||||
|
inherit url rev ;
|
||||||
|
|
||||||
|
impureEnvVars = [
|
||||||
|
# We borrow these environment variables from the caller to allow
|
||||||
|
# easy proxy configuration. This is impure, but a fixed-output
|
||||||
|
# derivation like fetchurl is allowed to do so since its result is
|
||||||
|
# by definition pure.
|
||||||
|
"http_proxy" "https_proxy" "ftp_proxy" "all_proxy" "no_proxy"
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
66
pkgs/build-support/fetchgit/nix-prefetch-git
Executable file
66
pkgs/build-support/fetchgit/nix-prefetch-git
Executable file
@ -0,0 +1,66 @@
|
|||||||
|
#! /bin/sh -e
|
||||||
|
|
||||||
|
url=$1
|
||||||
|
rev=$2
|
||||||
|
expHash=$3
|
||||||
|
|
||||||
|
hashType=$NIX_HASH_ALGO
|
||||||
|
if test -z "$hashType"; then
|
||||||
|
hashType=md5
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test -z "$url"; then
|
||||||
|
echo "syntax: nix-prefetch-git URL [REVISION [EXPECTED-HASH]]" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# If the hash was given, a file with that hash may already be in the
|
||||||
|
# store.
|
||||||
|
if test -n "$expHash"; then
|
||||||
|
finalPath=$(nix-store --print-fixed-path --recursive "$hashType" "$expHash" git-export)
|
||||||
|
if ! nix-store --check-validity "$finalPath" 2> /dev/null; then
|
||||||
|
finalPath=
|
||||||
|
fi
|
||||||
|
hash=$expHash
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
# If we don't know the hash or a path with that hash doesn't exist,
|
||||||
|
# download the file and add it to the store.
|
||||||
|
if test -z "$finalPath"; then
|
||||||
|
|
||||||
|
tmpPath=/tmp/git-checkout-tmp-$$
|
||||||
|
tmpFile=$tmpPath/git-export
|
||||||
|
mkdir $tmpPath
|
||||||
|
|
||||||
|
trap "rm -rf $tmpPath" EXIT
|
||||||
|
|
||||||
|
# Perform the checkout.
|
||||||
|
git clone --depth 1 "$url" $tmpFile
|
||||||
|
if test -n "$rev"; then
|
||||||
|
cd $tmpFile
|
||||||
|
echo $tmpFile
|
||||||
|
git checkout $rev
|
||||||
|
fi
|
||||||
|
find $tmpFile -name .git\* | xargs rm -rf
|
||||||
|
|
||||||
|
# Compute the hash.
|
||||||
|
hash=$(nix-hash --type $hashType $hashFormat $tmpFile)
|
||||||
|
if ! test -n "$QUIET"; then echo "hash is $hash" >&2; fi
|
||||||
|
|
||||||
|
# Add the downloaded file to the Nix store.
|
||||||
|
finalPath=$(nix-store --add-fixed --recursive "$hashType" $tmpFile)
|
||||||
|
|
||||||
|
if test -n "$expHash" -a "$expHash" != "$hash"; then
|
||||||
|
echo "hash mismatch for URL \`$url'"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! test -n "$QUIET"; then echo "path is $finalPath" >&2; fi
|
||||||
|
|
||||||
|
echo $hash
|
||||||
|
|
||||||
|
if test -n "$PRINT_PATH"; then
|
||||||
|
echo $finalPath
|
||||||
|
fi
|
@ -6,6 +6,18 @@ if test "$sshSupport"; then
|
|||||||
export SVN_SSH="$openssh/bin/ssh"
|
export SVN_SSH="$openssh/bin/ssh"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if test -n "$http_proxy"; then
|
||||||
|
# Configure proxy
|
||||||
|
mkdir .subversion
|
||||||
|
proxy="${http_proxy#*://}"
|
||||||
|
|
||||||
|
echo '[global]' > .subversion/servers
|
||||||
|
echo "http-proxy-host = ${proxy%:*}" >> .subversion/servers
|
||||||
|
echo "http-proxy-port = ${proxy##*:}" >> .subversion/servers
|
||||||
|
|
||||||
|
export HOME="$PWD"
|
||||||
|
fi;
|
||||||
|
|
||||||
# Pipe the "p" character into Subversion to force it to accept the
|
# Pipe the "p" character into Subversion to force it to accept the
|
||||||
# server's certificate. This is perfectly safe: we don't care
|
# server's certificate. This is perfectly safe: we don't care
|
||||||
# whether the server is being spoofed --- only the cryptographic
|
# whether the server is being spoofed --- only the cryptographic
|
||||||
|
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