Merge branch 'master' into gnome-3
This commit is contained in:
@@ -6,8 +6,8 @@
|
|||||||
, perl, pkgconfig, python, serd, sord, sratom, suil }:
|
, perl, pkgconfig, python, serd, sord, sratom, suil }:
|
||||||
|
|
||||||
let
|
let
|
||||||
# Ardour 3 Beta 4a
|
# Ardour 3 Beta 5
|
||||||
rev = "12406";
|
rev = "13072";
|
||||||
in
|
in
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
@@ -16,7 +16,7 @@ stdenv.mkDerivation {
|
|||||||
src = fetchsvn {
|
src = fetchsvn {
|
||||||
url = http://subversion.ardour.org/svn/ardour2/branches/3.0;
|
url = http://subversion.ardour.org/svn/ardour2/branches/3.0;
|
||||||
inherit rev;
|
inherit rev;
|
||||||
sha256 = "0a68xb3l36m5908y3airxw1b3bymhrjrf1l492mgcvviq6pn7pmk";
|
sha256 = "17k990kdb5q17z6jcz5b60imvvfbjw9zfxzy9fk0vg8gd6yq7736";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs =
|
buildInputs =
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{ stdenv, fetchsvn, alsaLib, asio, autoconf, automake, bison
|
{ stdenv, fetchsvn, alsaLib, asio, autoconf, automake, bison
|
||||||
, jackaudio, libgig, libsndfile, libtool , pkgconfig }:
|
, jackaudio, libgig, libsndfile, libtool, lv2, pkgconfig }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "linuxsampler-svn-${version}";
|
name = "linuxsampler-svn-${version}";
|
||||||
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
alsaLib asio autoconf automake bison jackaudio libgig libsndfile
|
alsaLib asio autoconf automake bison jackaudio libgig libsndfile
|
||||||
libtool pkgconfig
|
libtool lv2 pkgconfig
|
||||||
];
|
];
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
|
|||||||
@@ -158,6 +158,20 @@ in {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
eclipse_sdk_42 = buildEclipse {
|
||||||
|
name = "eclipse-sdk-4.2";
|
||||||
|
description = "Eclipse Classic";
|
||||||
|
src =
|
||||||
|
if stdenv.system == "x86_64-linux" then
|
||||||
|
fetchurl {
|
||||||
|
url = http://eclipse.ialto.com/eclipse/downloads/drops4/R-4.2-201206081400/eclipse-SDK-4.2-linux-gtk-x86_64.tar.gz;
|
||||||
|
sha256 = "1vcr49qm6rsbgzi9d43ggmby68pdigqcy55l5vy1gmixqks3g6s0";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
fetchurl {
|
||||||
|
url = http://eclipse.ialto.com/eclipse/downloads/drops4/R-4.2-201206081400/eclipse-SDK-4.2-linux-gtk.tar.gz;
|
||||||
|
sha256 = "1zlv80idkkdda05ks4biknbkczp24b2xki81ik5nygrjg29jqgnz";
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,30 @@
|
|||||||
|
{ stdenv, fetchurl, emacs }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
name = "auto-complete-1.3.1";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "http://cx4a.org/pub/auto-complete/${name}.tar.bz2";
|
||||||
|
sha256 = "124qxfp0pcphwlmrasbfrci48brxnrzc38h4wcf2sn20x1mvcrlj";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ emacs ];
|
||||||
|
|
||||||
|
preInstall = ''
|
||||||
|
install -d $out/share/emacs/site-lisp
|
||||||
|
'';
|
||||||
|
|
||||||
|
installFlags = "DIR=$(out)/share/emacs/site-lisp";
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
ln -s javascript-mode $out/share/emacs/site-lisp/ac-dict/js2-mode
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Auto-complete extension for Emacs";
|
||||||
|
homepage = http://cx4a.org/software/auto-complete/;
|
||||||
|
license = "GPLv3+";
|
||||||
|
|
||||||
|
platforms = stdenv.lib.platforms.all;
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
{ stdenv, fetchgit, emacs }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
name = "coffee-mode-0.4.1";
|
||||||
|
|
||||||
|
src = fetchgit {
|
||||||
|
url = "https://github.com/defunkt/coffee-mode.git";
|
||||||
|
rev = "c45c5f7a529363bc7aa57db0f3df26389fd233d8";
|
||||||
|
sha256 = "36a7792b5ffbcc5a580e8d5b2425494c60a8015cfde0e3f8a946a685da231ce2";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ emacs ];
|
||||||
|
|
||||||
|
buildPhase = ''
|
||||||
|
emacs --batch -f batch-byte-compile coffee-mode.el
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
install -d $out/share/emacs/site-lisp
|
||||||
|
install coffee-mode.el coffee-mode.elc $out/share/emacs/site-lisp
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "An Emacs major mode for CoffeeScript, unfancy JavaScript.";
|
||||||
|
homepage = https://github.com/defunkt/coffee-mode;
|
||||||
|
license = "GPLv2+";
|
||||||
|
|
||||||
|
platforms = stdenv.lib.platforms.all;
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
{ stdenv, fetchurl, emacs }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
name = "flymake-cursor-0.1.4";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "http://www.emacswiki.org/emacs/download/flymake-cursor.el";
|
||||||
|
sha256 = "1wxqqmn2fk2b778nksvgn1mi7ajarcpc5lla90xx9jwz47d9hx02";
|
||||||
|
};
|
||||||
|
|
||||||
|
phases = [ "buildPhase" "installPhase"];
|
||||||
|
|
||||||
|
buildInputs = [ emacs ];
|
||||||
|
|
||||||
|
buildPhase = ''
|
||||||
|
cp $src flymake-cursor.el
|
||||||
|
emacs --batch -f batch-byte-compile flymake-cursor.el
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
install -d $out/share/emacs/site-lisp
|
||||||
|
install flymake-cursor.el flymake-cursor.elc $out/share/emacs/site-lisp
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Displays flymake error msg in minibuffer after delay.";
|
||||||
|
homepage = http://www.emacswiki.org/emacs/flymake-cursor.el;
|
||||||
|
license = stdenv.lib.licenses.publicDomain;
|
||||||
|
|
||||||
|
platforms = stdenv.lib.platforms.all;
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
{ stdenv, fetchgit, emacs, pcache, logito }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
name = "gh-0.5.3";
|
||||||
|
|
||||||
|
src = fetchgit {
|
||||||
|
url = "https://github.com/sigma/gh.el.git";
|
||||||
|
rev = "ef03b63d063ec22f03af449aa955c98dfad7f80e";
|
||||||
|
sha256 = "efa231e0091e8c7785385149dc97b2d8dc24aba65f4b0974b8ed7f62b7596ad3";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ emacs ];
|
||||||
|
propagatedUserEnvPkgs = [ pcache logito ];
|
||||||
|
|
||||||
|
patchPhase = ''
|
||||||
|
sed -i Makefile \
|
||||||
|
-e "s|^ *EFLAGS *=|& -L ${pcache}/share/emacs/site-lisp -L ${logito}/share/emacs/site-lisp --eval '(setq user-emacs-directory \"./\")'|" \
|
||||||
|
-e "s|/usr/local|$out|" \
|
||||||
|
-e "s|/site-lisp/\$(PKGNAME)|/site-lisp|"
|
||||||
|
'';
|
||||||
|
|
||||||
|
buildPhase = "make lisp";
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "A (very early) GitHub client library for Emacs";
|
||||||
|
homepage = https://github.com/sigma/gh.el;
|
||||||
|
license = "GPLv2+";
|
||||||
|
|
||||||
|
platforms = stdenv.lib.platforms.all;
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
{ stdenv, fetchgit, emacs, gh, pcache, logito }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
name = "gist-1.0";
|
||||||
|
|
||||||
|
src = fetchgit {
|
||||||
|
url = "https://github.com/sigma/gist.el.git";
|
||||||
|
rev = "bbb457e4eaaf5f96cfaaa4f63021e3e542bfbfed";
|
||||||
|
sha256 = "469f9df52076d0c6038183cff4b9415bca98de66c08814a60b69729b44bdf294";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ emacs ];
|
||||||
|
|
||||||
|
buildPhase = ''
|
||||||
|
emacs -L ${gh}/share/emacs/site-lisp \
|
||||||
|
-L ${pcache}/share/emacs/site-lisp \
|
||||||
|
-L ${logito}/share/emacs/site-lisp \
|
||||||
|
--eval '(setq user-emacs-directory "./")' \
|
||||||
|
--batch -f batch-byte-compile gist.el
|
||||||
|
'';
|
||||||
|
|
||||||
|
propagatedUserEnvPkgs = [ gh pcache logito ];
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
install -d $out/share/emacs/site-lisp
|
||||||
|
install gist.el gist.elc $out/share/emacs/site-lisp
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Emacs integration for gist.github.com";
|
||||||
|
homepage = https://github.com/sigma/gist.el;
|
||||||
|
license = "GPLv2+";
|
||||||
|
|
||||||
|
platforms = stdenv.lib.platforms.all;
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,12 +1,12 @@
|
|||||||
{ stdenv, fetchgit, emacs }:
|
{ stdenv, fetchgit, emacs }:
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "haskell-mode-2.8.0.29-g7682f99";
|
name = "haskell-mode-2.8.0.29-gae3e4499d2";
|
||||||
|
|
||||||
src = fetchgit {
|
src = fetchgit {
|
||||||
url = "http://github.com/haskell/haskell-mode.git";
|
url = "http://github.com/haskell/haskell-mode.git";
|
||||||
rev = "7682f991acd63d9400597d5f4980f62d7b1c4c0b";
|
rev = "ae3e4499d27a1468bdf88ffe0ce15cd7e4bb9f2a";
|
||||||
sha256 = "f4508a11fa65ece237c9ee9f623bc4e9ad3d3d58ab2fcacc8ddb080c29aac717";
|
sha256 = "29a1725da620c13ff2b3b56906e76dd9f19317eee92bd5750b3aa9a4264effae";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [emacs];
|
buildInputs = [emacs];
|
||||||
|
|||||||
@@ -0,0 +1,30 @@
|
|||||||
|
{ stdenv, fetchgit, emacs }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
name = "jade-mode-0-20120802";
|
||||||
|
|
||||||
|
src = fetchgit {
|
||||||
|
url = "https://github.com/brianc/jade-mode.git";
|
||||||
|
rev = "275ab149edb0f6bcfae6ac17ba456f3351191604";
|
||||||
|
sha256 = "3cd2bebcd66e59d60b8e5e538e65a8ffdfc9a53b86443090a284e8329d7cb09b";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ emacs ];
|
||||||
|
|
||||||
|
buildPhase = ''
|
||||||
|
emacs --batch -L . -f batch-byte-compile *.el
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/share/emacs/site-lisp
|
||||||
|
cp *.el *.elc $out/share/emacs/site-lisp/
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Emacs major mode for jade and stylus.";
|
||||||
|
homepage = https://github.com/brianc/jade-mode;
|
||||||
|
license = "GPLv2+";
|
||||||
|
|
||||||
|
platforms = stdenv.lib.platforms.all;
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,12 +1,12 @@
|
|||||||
{ stdenv, fetchgit, emacs }:
|
{ stdenv, fetchgit, emacs }:
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "js2-mode-0-20120601";
|
name = "js2-mode-0-20120712";
|
||||||
|
|
||||||
src = fetchgit {
|
src = fetchgit {
|
||||||
url = "git://github.com/mooz/js2-mode.git";
|
url = "git://github.com/mooz/js2-mode.git";
|
||||||
rev = "81bcbf7df7077db27facf0470cf9e31c18b8333e";
|
rev = "f8cb9c52614e0a8e477f1ac557585ed950246c9b";
|
||||||
sha256 = "1bec62816ec9d5f5882832902020573d95d038fff25b17bf1975b84a3ab535c3";
|
sha256 = "37055b7e8c1d9eee6b86f6b9b9d74ad196cc43701bc2263ffd539a3e44025047";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ emacs ];
|
buildInputs = [ emacs ];
|
||||||
|
|||||||
@@ -0,0 +1,30 @@
|
|||||||
|
{ stdenv, fetchgit, emacs }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
name = "logito-0.1";
|
||||||
|
|
||||||
|
src = fetchgit {
|
||||||
|
url = "https://github.com/sigma/logito.git";
|
||||||
|
rev = "824acb89d2cc18cb47281a4fbddd81ad244a2052";
|
||||||
|
sha256 = "b9a7433417eafc5bc158f63dddf559b2044368eb3061f0264169de319c68fe4a";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ emacs ];
|
||||||
|
|
||||||
|
buildPhase = ''
|
||||||
|
emacs --batch -f batch-byte-compile logito.el
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
install -d $out/share/emacs/site-lisp
|
||||||
|
install logito.el logito.elc $out/share/emacs/site-lisp
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "tiny logging framework for Emacs";
|
||||||
|
homepage = https://github.com/sigma/logito;
|
||||||
|
license = "GPLv2+";
|
||||||
|
|
||||||
|
platforms = stdenv.lib.platforms.all;
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
{ stdenv, fetchurl, emacs }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
name = "lorem-ipsum-0.1";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "http://www.emacswiki.org/emacs/download/lorem-ipsum.el";
|
||||||
|
sha256 = "122d0z3xqfaikgk34l7bh989mfxddin2ljinysp2lqw8djfi7jsl";
|
||||||
|
};
|
||||||
|
|
||||||
|
phases = [ "buildPhase" "installPhase"];
|
||||||
|
|
||||||
|
buildInputs = [ emacs ];
|
||||||
|
|
||||||
|
buildPhase = ''
|
||||||
|
cp $src lorem-ipsum.el
|
||||||
|
emacs --batch -f batch-byte-compile lorem-ipsum.el
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
install -d $out/share/emacs/site-lisp
|
||||||
|
install lorem-ipsum.el lorem-ipsum.elc $out/share/emacs/site-lisp
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Insert dummy pseudo Latin text for emacs.";
|
||||||
|
homepage = http://www.emacswiki.org/emacs/LoremIpsum;
|
||||||
|
license = "GPLv2+";
|
||||||
|
|
||||||
|
platforms = stdenv.lib.platforms.all;
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
{ stdenv, fetchgit, emacs }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
name = "pcache-0.2.3";
|
||||||
|
|
||||||
|
src = fetchgit {
|
||||||
|
url = "https://github.com/sigma/pcache.git";
|
||||||
|
rev = "fa8f863546e2e8f2fc0a70f5cc766a7f584e01b6";
|
||||||
|
sha256 = "f7cdad5a729b24f96ec69db4adfd19daf45c27aaf3a0267385b252cb2e59daa0";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ emacs ];
|
||||||
|
|
||||||
|
buildPhase = ''
|
||||||
|
emacs --batch -f batch-byte-compile pcache.el
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
install -d $out/share/emacs/site-lisp
|
||||||
|
install pcache.el pcache.elc $out/share/emacs/site-lisp
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Persistent caching for Emacs";
|
||||||
|
homepage = https://github.com/sigma/pcache.el;
|
||||||
|
license = "GPLv2+";
|
||||||
|
|
||||||
|
platforms = stdenv.lib.platforms.all;
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,10 +1,11 @@
|
|||||||
{stdenv, fetchurl} :
|
{stdenv, fetchurl} :
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation rec {
|
||||||
name = "joe-3.3";
|
name = "joe-3.7";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = mirror://sourceforge/joe-editor/joe-3.3.tar.gz;
|
url = "mirror://sourceforge/joe-editor/${name}.tar.gz";
|
||||||
md5 = "02221716679c039c5da00c275d61dbf4";
|
sha256 = "0vqhffdjn3xwsfa383i6kdrpfwilq8b382ljjhy1v32smphmdr6a";
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
|
|||||||
@@ -0,0 +1,24 @@
|
|||||||
|
{ stdenv, fetchurl, pkgconfig, gtk2, xorg, glib, xneur_0_13, libglade, GConf, pcre }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
name = "gxneur-0.13.0";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = http://dists.xneur.ru/release-0.13.0/tgz/gxneur-0.13.0.tar.bz2;
|
||||||
|
sha256 = "f093428a479158247a7ff8424f0aec9af9f7b1d05b191cf30b7c534965a6839f";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
xorg.libX11 pkgconfig glib gtk2 xorg.libXpm xorg.libXt xorg.libXext xneur_0_13
|
||||||
|
libglade GConf pcre
|
||||||
|
];
|
||||||
|
|
||||||
|
preConfigure = ''
|
||||||
|
sed -e 's@-Werror@@' -i configure
|
||||||
|
sed -e 's@"xneur"@"${xneur_0_13}/bin/xneur"@' -i src/misc.c
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "GUI for XNEUR keyboard layout switcher";
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,32 +1,51 @@
|
|||||||
{ stdenv, fetchurl, perl, gettext, makeWrapper, lib, PerlMagick, YAML
|
{ stdenv, fetchurl, perl, gettext, makeWrapper, PerlMagick, YAML
|
||||||
, TextMarkdown, URI, HTMLParser, HTMLScrubber, HTMLTemplate, TimeDate
|
, TextMarkdown, URI, HTMLParser, HTMLScrubber, HTMLTemplate, TimeDate
|
||||||
, CGISession, CGIFormBuilder, DBFile, LocaleGettext, RpcXML, XMLSimple
|
, CGISession, CGIFormBuilder, DBFile, LocaleGettext, RpcXML, XMLSimple
|
||||||
, YAMLLibYAML
|
, YAMLLibYAML, which, HTMLTree, AuthenPassphrase, NetOpenIDConsumer
|
||||||
|
, LWPxParanoidAgent, CryptSSLeay
|
||||||
, gitSupport ? false, git ? null
|
, gitSupport ? false, git ? null
|
||||||
|
, docutilsSupport ? false, python ? null, docutils ? null
|
||||||
, monotoneSupport ? false, monotone ? null
|
, monotoneSupport ? false, monotone ? null
|
||||||
|
, bazaarSupport ? false, bazaar ? null
|
||||||
|
, cvsSupport ? false, cvs ? null, cvsps ? null, Filechdir ? null
|
||||||
|
, subversionSupport ? false, subversion ? null
|
||||||
|
, mercurialSupport ? false, mercurial ? null
|
||||||
, extraUtils ? []
|
, extraUtils ? []
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
assert docutilsSupport -> (python != null && docutils != null);
|
||||||
assert gitSupport -> (git != null);
|
assert gitSupport -> (git != null);
|
||||||
assert monotoneSupport -> (monotone != null);
|
assert monotoneSupport -> (monotone != null);
|
||||||
|
assert bazaarSupport -> (bazaar != null);
|
||||||
|
assert cvsSupport -> (cvs != null && cvsps != null && Filechdir != null);
|
||||||
|
assert subversionSupport -> (subversion != null);
|
||||||
|
assert mercurialSupport -> (mercurial != null);
|
||||||
|
|
||||||
let
|
let
|
||||||
name = "ikiwiki";
|
name = "ikiwiki";
|
||||||
version = "3.20120516";
|
version = "3.20120629";
|
||||||
|
|
||||||
|
lib = stdenv.lib;
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "${name}-${version}";
|
name = "${name}-${version}";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://ftp.de.debian.org/debian/pool/main/i/ikiwiki/${name}_${version}.tar.gz";
|
url = "http://ftp.de.debian.org/debian/pool/main/i/ikiwiki/${name}_${version}.tar.gz";
|
||||||
sha256 = "b75097d4f4db79a16f8b74bc4e7f824a586e0e150ecf18103888bbe553a41eb0";
|
sha256 = "7e39cdb727f261ce20fde5f0b05966680589a3d028c569780addd4b530382f07";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ perl TextMarkdown URI HTMLParser HTMLScrubber HTMLTemplate
|
buildInputs = [ perl TextMarkdown URI HTMLParser HTMLScrubber HTMLTemplate
|
||||||
TimeDate gettext makeWrapper DBFile CGISession CGIFormBuilder LocaleGettext
|
TimeDate gettext makeWrapper DBFile CGISession CGIFormBuilder LocaleGettext
|
||||||
RpcXML XMLSimple PerlMagick YAML YAMLLibYAML ]
|
RpcXML XMLSimple PerlMagick YAML YAMLLibYAML which HTMLTree AuthenPassphrase
|
||||||
++ stdenv.lib.optionals gitSupport [git]
|
NetOpenIDConsumer LWPxParanoidAgent CryptSSLeay ]
|
||||||
++ stdenv.lib.optionals monotoneSupport [monotone];
|
++ lib.optionals docutilsSupport [python docutils]
|
||||||
|
++ lib.optionals gitSupport [git]
|
||||||
|
++ lib.optionals monotoneSupport [monotone]
|
||||||
|
++ lib.optionals bazaarSupport [bazaar]
|
||||||
|
++ lib.optionals cvsSupport [cvs cvsps Filechdir]
|
||||||
|
++ lib.optionals subversionSupport [subversion]
|
||||||
|
++ lib.optionals mercurialSupport [mercurial];
|
||||||
|
|
||||||
patchPhase = ''
|
patchPhase = ''
|
||||||
sed -i s@/usr/bin/perl@${perl}/bin/perl@ pm_filter mdwn2man
|
sed -i s@/usr/bin/perl@${perl}/bin/perl@ pm_filter mdwn2man
|
||||||
@@ -42,17 +61,31 @@ stdenv.mkDerivation {
|
|||||||
postInstall = ''
|
postInstall = ''
|
||||||
for a in "$out/bin/"*; do
|
for a in "$out/bin/"*; do
|
||||||
wrapProgram $a --suffix PERL5LIB : $PERL5LIB --prefix PATH : ${perl}/bin:$out/bin \
|
wrapProgram $a --suffix PERL5LIB : $PERL5LIB --prefix PATH : ${perl}/bin:$out/bin \
|
||||||
${lib.optionalString gitSupport
|
${lib.optionalString gitSupport ''--prefix PATH : ${git}/bin \''}
|
||||||
''--prefix PATH : ${git}/bin \''}
|
${lib.optionalString monotoneSupport ''--prefix PATH : ${monotone}/bin \''}
|
||||||
${lib.optionalString monotoneSupport
|
${lib.optionalString bazaarSupport ''--prefix PATH : ${bazaar}/bin \''}
|
||||||
''--prefix PATH : ${monotone}/bin \''}
|
${lib.optionalString cvsSupport ''--prefix PATH : ${cvs}/bin \''}
|
||||||
|
${lib.optionalString cvsSupport ''--prefix PATH : ${cvsps}/bin \''}
|
||||||
|
${lib.optionalString subversionSupport ''--prefix PATH : ${subversion}/bin \''}
|
||||||
|
${lib.optionalString mercurialSupport ''--prefix PATH : ${mercurial}/bin \''}
|
||||||
${lib.concatMapStrings (x: "--prefix PATH : ${x}/bin ") extraUtils}
|
${lib.concatMapStrings (x: "--prefix PATH : ${x}/bin ") extraUtils}
|
||||||
done
|
done
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
preCheck = ''
|
||||||
|
# Git needs some help figuring this out during test suite run.
|
||||||
|
export EMAIL="nobody@example.org"
|
||||||
|
'';
|
||||||
|
|
||||||
|
checkTarget = "test";
|
||||||
|
doCheck = true;
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "Wiki compiler, storing pages and history in a RCS";
|
description = "Wiki compiler, storing pages and history in a RCS";
|
||||||
homepage = http://ikiwiki.info/;
|
homepage = "http://ikiwiki.info/";
|
||||||
license = "GPLv2+";
|
license = "GPLv2+";
|
||||||
|
|
||||||
|
platforms = stdenv.lib.platforms.linux;
|
||||||
|
maintainers = [ stdenv.lib.maintainers.simons ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,18 +1,27 @@
|
|||||||
# I haven't put much effort into this expressions .. so some optional depencencies may be missing - Marc
|
|
||||||
{ fetchurl, stdenv, texLive, python, makeWrapper, pkgconfig
|
{ fetchurl, stdenv, texLive, python, makeWrapper, pkgconfig
|
||||||
, libX11, qt
|
, libX11, qt4, enchant #, mythes, boost
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "2.0.3";
|
version = "2.0.4";
|
||||||
name = "lyx-${version}";
|
name = "lyx-${version}";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "ftp://ftp.lyx.org/pub/lyx/stable/2.0.x/${name}.tar.xz";
|
url = "ftp://ftp.lyx.org/pub/lyx/stable/2.0.x/${name}.tar.xz";
|
||||||
sha256 = "1j2sl22w41h4vrgnxv2n0s7d11k6zchjbggjw3ai9yxcahvrj72f";
|
sha256 = "137dzmz1z6aqz9mdj8gmmi0k60s9sfn6gy916j175cwzq6hpncb8";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [texLive qt python makeWrapper pkgconfig ];
|
configureFlags = [
|
||||||
|
#"--without-included-boost"
|
||||||
|
/* Boost is a huge dependency from which 1.4 MB of libs would be used.
|
||||||
|
Using internal boost stuff only increases executable by around 0.2 MB. */
|
||||||
|
#"--without-included-mythes" # such a small library isn't worth a split package
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
texLive qt4 python makeWrapper pkgconfig
|
||||||
|
enchant # mythes boost
|
||||||
|
];
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "WYSIWYM frontend for LaTeX, DocBook, etc.";
|
description = "WYSIWYM frontend for LaTeX, DocBook, etc.";
|
||||||
|
|||||||
@@ -0,0 +1,23 @@
|
|||||||
|
{ stdenv, fetchurl, libX11, ncurses}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
name = "st-0.2.1";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = http://hg.suckless.org/st/archive/0.2.1.tar.gz;
|
||||||
|
sha256 = "15yqyys69ifjc4vrzvamrg7x0pwa60mnjpi0kap4y9ykhds83xab";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ libX11 ncurses ];
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
TERMINFO=$out/share/terminfo make install PREFIX=$out
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
homepage = http://st.suckless.org/;
|
||||||
|
license = "MIT";
|
||||||
|
maintainers = with stdenv.lib.maintainers; [viric];
|
||||||
|
platforms = with stdenv.lib.platforms; linux;
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -2,11 +2,11 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "surf-${version}";
|
name = "surf-${version}";
|
||||||
version="0.4.1";
|
version="0.5";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://dl.suckless.org/surf/surf-${version}.tar.gz";
|
url = "http://dl.suckless.org/surf/surf-${version}.tar.gz";
|
||||||
sha256 = "0im5psjw0r8av3zjyy2wqcl6y5ylwnrab5kfcwc23bsbx2irnw4k";
|
sha256 = "19qfkwdk6p5hcwnnplscp1kmypz74mga7x6iqy6w3g18s221f2mx";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ gtk webkit pkgconfig glib libsoup ];
|
buildInputs = [ gtk webkit pkgconfig glib libsoup ];
|
||||||
|
|||||||
@@ -172,6 +172,7 @@ in stdenv.mkDerivation rec {
|
|||||||
mkdir -vp "$out/libexec/${packageName}"
|
mkdir -vp "$out/libexec/${packageName}"
|
||||||
cp -v "out/${buildType}/"*.pak "$out/libexec/${packageName}/"
|
cp -v "out/${buildType}/"*.pak "$out/libexec/${packageName}/"
|
||||||
cp -vR "out/${buildType}/locales" "out/${buildType}/resources" "$out/libexec/${packageName}/"
|
cp -vR "out/${buildType}/locales" "out/${buildType}/resources" "$out/libexec/${packageName}/"
|
||||||
|
cp -v out/${buildType}/libffmpegsumo.so "$out/libexec/${packageName}/"
|
||||||
|
|
||||||
cp -v "out/${buildType}/chrome" "$out/libexec/${packageName}/${packageName}"
|
cp -v "out/${buildType}/chrome" "$out/libexec/${packageName}/${packageName}"
|
||||||
|
|
||||||
|
|||||||
@@ -1,19 +1,19 @@
|
|||||||
# This file is autogenerated from update.sh in the same directory.
|
# This file is autogenerated from update.sh in the same directory.
|
||||||
# VHASH: 5e5af2017fa2e05f11aa741c6f87fff0549b93e3bc2aa40e6cc0a0aff84ba010
|
# VHASH: c9500486764a2433d0f059134a981eb9adccd3546a6f779bc0e05cdcb26d2ae6
|
||||||
{
|
{
|
||||||
dev = {
|
dev = {
|
||||||
version = "21.0.1180.15";
|
version = "22.0.1221.1";
|
||||||
url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-21.0.1180.15.tar.bz2";
|
url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-22.0.1221.1.tar.bz2";
|
||||||
sha256 = "0ahsrsyw4928vg1kl3dv44q77ksp85crw6m7fy20nq46qihb0mxa";
|
sha256 = "08cx2im0ng1dg83mk8jlx4in7v8f5vsf9y2ild0i22jb20c7h31s";
|
||||||
};
|
};
|
||||||
beta = {
|
beta = {
|
||||||
version = "20.0.1132.47";
|
version = "21.0.1180.57";
|
||||||
url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-20.0.1132.47.tar.bz2";
|
url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-21.0.1180.57.tar.bz2";
|
||||||
sha256 = "1rd1lfn9xchf4nrgi46van5aigqxj2n303890sslc4bcj6p8fkm3";
|
sha256 = "0idimvkrhs09x93hl8p7rddyb0ymk9f8i5jm6m3lg6ga959aj6ri";
|
||||||
};
|
};
|
||||||
stable = {
|
stable = {
|
||||||
version = "20.0.1132.47";
|
version = "21.0.1180.57";
|
||||||
url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-20.0.1132.47.tar.bz2";
|
url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-21.0.1180.57.tar.bz2";
|
||||||
sha256 = "1rd1lfn9xchf4nrgi46van5aigqxj2n303890sslc4bcj6p8fkm3";
|
sha256 = "0idimvkrhs09x93hl8p7rddyb0ymk9f8i5jm6m3lg6ga959aj6ri";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
+12
-12
@@ -7,6 +7,8 @@ with stdenv.lib;
|
|||||||
|
|
||||||
let
|
let
|
||||||
|
|
||||||
|
baseURL = "http://dl.google.com/linux/talkplugin/deb/pool/main/g/google-talkplugin";
|
||||||
|
|
||||||
rpathPlugin = makeLibraryPath
|
rpathPlugin = makeLibraryPath
|
||||||
[ mesa
|
[ mesa
|
||||||
xorg.libXt
|
xorg.libXt
|
||||||
@@ -39,28 +41,26 @@ let
|
|||||||
|
|
||||||
in
|
in
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation rec {
|
||||||
name = "google-talk-plugin-2.9.10.0";
|
name = "google-talk-plugin-${version}";
|
||||||
|
version = "3.2.4.0";
|
||||||
|
|
||||||
src =
|
src =
|
||||||
if stdenv.system == "x86_64-linux" then
|
if stdenv.system == "x86_64-linux" then
|
||||||
fetchurl {
|
fetchurl {
|
||||||
url = "http://dl.google.com/linux/direct/google-talkplugin_current_x86_64.rpm";
|
url = "${baseURL}/google-talkplugin_${version}-1_amd64.deb";
|
||||||
sha256 = "1lgvv6bkdc5knghyn4gsg5gp7h3qyr4rb978gsi39gkvcazksm0b";
|
sha256 = "0hd8iyv092fr4bz760xjawiad581hphddv608d0dvzy2bhnl17g1";
|
||||||
}
|
}
|
||||||
else if stdenv.system == "i686-linux" then
|
else if stdenv.system == "i686-linux" then
|
||||||
fetchurl {
|
fetchurl {
|
||||||
url = "http://dl.google.com/linux/direct/google-talkplugin_current_i386.rpm";
|
url = "${baseURL}/google-talkplugin_${version}-1_i386.deb";
|
||||||
sha256 = "0k9j27pklwb3vih2cydz9552p9270p73hdi14f0bmn6afxjxd13m";
|
sha256 = "13vqs4k16a6bzc5i4zpnakh31nkdqp7m9cv7p16r1sq5smv1331i";
|
||||||
}
|
}
|
||||||
else throw "Google Talk does not support your platform.";
|
else throw "Google Talk does not support your platform.";
|
||||||
|
|
||||||
buildInputs = [ rpm cpio ];
|
unpackPhase = ''
|
||||||
|
ar p "$src" data.tar.gz | tar xz
|
||||||
unpackPhase =
|
'';
|
||||||
''
|
|
||||||
rpm2cpio $src | cpio -i --make-directories -v
|
|
||||||
'';
|
|
||||||
|
|
||||||
installPhase =
|
installPhase =
|
||||||
''
|
''
|
||||||
|
|||||||
@@ -9,22 +9,22 @@
|
|||||||
assert stdenv.isLinux && stdenv.gcc.gcc != null && stdenv.gcc.libc != null;
|
assert stdenv.isLinux && stdenv.gcc.gcc != null && stdenv.gcc.libc != null;
|
||||||
|
|
||||||
let
|
let
|
||||||
mirror = ftp://ftp.ussg.iu.edu/pub/opera;
|
mirror = http://get.geo.opera.com/pub/opera;
|
||||||
in
|
in
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "opera-11.64-1403";
|
name = "opera-12.00-1467";
|
||||||
|
|
||||||
src =
|
src =
|
||||||
if stdenv.system == "i686-linux" then
|
if stdenv.system == "i686-linux" then
|
||||||
fetchurl {
|
fetchurl {
|
||||||
url = "${mirror}/linux/1164/${name}.i386.linux.tar.xz";
|
url = "${mirror}/linux/1200/${name}.i386.linux.tar.xz";
|
||||||
sha256 = "8b7998586b1b3f8f5722beef7ebb621c0f15915c260b096249e9db5973e30d82";
|
sha256 = "d5683f5a4cf0cfd9ce715359b77909c7923c85bcec98513907c1844285356fdc";
|
||||||
}
|
}
|
||||||
else if stdenv.system == "x86_64-linux" then
|
else if stdenv.system == "x86_64-linux" then
|
||||||
fetchurl {
|
fetchurl {
|
||||||
url = "${mirror}/linux/1164/${name}.x86_64.linux.tar.xz";
|
url = "${mirror}/linux/1200/${name}.x86_64.linux.tar.xz";
|
||||||
sha256 = "3b2012cbab826a04417deb56b85d8d31f9c17130071304736bcfa572f78b4c69";
|
sha256 = "7c3dbe122b1fd20123f1b48a420dea080cc24ede4183d47d66b383c2b7ca5051";
|
||||||
}
|
}
|
||||||
else throw "Opera is not supported on ${stdenv.system} (only i686-linux and x86_64 linux are supported)";
|
else throw "Opera is not supported on ${stdenv.system} (only i686-linux and x86_64 linux are supported)";
|
||||||
|
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ stdenv.mkDerivation rec {
|
|||||||
configureFlags = "--with-ssl=${openssl} --with-gc=${boehmgc}";
|
configureFlags = "--with-ssl=${openssl} --with-gc=${boehmgc}";
|
||||||
|
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
|
substituteInPlace ./configure --replace "/lib /usr/lib /usr/local/lib /usr/ucblib /usr/ccslib /usr/ccs/lib /lib64 /usr/lib64" /no-such-path
|
||||||
substituteInPlace ./configure --replace /usr /no-such-path
|
substituteInPlace ./configure --replace /usr /no-such-path
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ stdenv, fetchurl, openssl, curl }:
|
{ stdenv, fetchurl, openssl, curl, coreutils, gawk, bash, which }:
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "esniper-2.27.0";
|
name = "esniper-2.27.0";
|
||||||
@@ -10,8 +10,12 @@ stdenv.mkDerivation {
|
|||||||
|
|
||||||
buildInputs = [openssl curl];
|
buildInputs = [openssl curl];
|
||||||
|
|
||||||
|
# Add support for CURL_CA_BUNDLE variable.
|
||||||
|
patches = [ ./find-ca-bundle.patch ];
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
sed -e "2i export PATH=\"$out/bin:\$PATH\"" <"frontends/snipe" >"$out/bin/snipe"
|
sed <"frontends/snipe" >"$out/bin/snipe" \
|
||||||
|
-e "2i export PATH=\"$out/bin:${coreutils}/bin:${gawk}/bin:${bash}/bin:${which}/bin:\$PATH\""
|
||||||
chmod 555 "$out/bin/snipe"
|
chmod 555 "$out/bin/snipe"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
@@ -24,5 +28,3 @@ stdenv.mkDerivation {
|
|||||||
maintainers = [ stdenv.lib.maintainers.simons ];
|
maintainers = [ stdenv.lib.maintainers.simons ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,26 @@
|
|||||||
|
diff -ubr '--exclude=*.o' esniper-2-27-0-orig/http.c esniper-2-27-0-patched/http.c
|
||||||
|
--- esniper-2-27-0-orig/http.c 2012-02-06 22:04:06.000000000 +0100
|
||||||
|
+++ esniper-2-27-0-patched/http.c 2012-07-27 10:54:20.893054646 +0200
|
||||||
|
@@ -200,6 +200,9 @@
|
||||||
|
int
|
||||||
|
initCurlStuff(void)
|
||||||
|
{
|
||||||
|
+ /* Path to OpenSSL bundle file. */
|
||||||
|
+ const char *ssl_capath=NULL;
|
||||||
|
+
|
||||||
|
/* list for custom headers */
|
||||||
|
struct curl_slist *slist=NULL;
|
||||||
|
|
||||||
|
@@ -241,6 +244,12 @@
|
||||||
|
if ((curlrc = curl_easy_setopt(easyhandle, CURLOPT_COOKIEFILE, "")))
|
||||||
|
return initCurlStuffFailed();
|
||||||
|
|
||||||
|
+ /* If the environment variable CURL_CA_BUNDLE is set, pass through its
|
||||||
|
+ * contents to curl. */
|
||||||
|
+ if ((ssl_capath = getenv("CURL_CA_BUNDLE")))
|
||||||
|
+ if ((curlrc = curl_easy_setopt(easyhandle, CURLOPT_CAINFO, ssl_capath)))
|
||||||
|
+ return initCurlStuffFailed();
|
||||||
|
+
|
||||||
|
slist = curl_slist_append(slist, "Accept: text/*");
|
||||||
|
slist = curl_slist_append(slist, "Accept-Language: en");
|
||||||
|
slist = curl_slist_append(slist, "Accept-Charset: iso-8859-1,*,utf-8");
|
||||||
@@ -12,11 +12,11 @@ let
|
|||||||
buildInputs = map (n: builtins.getAttr n x)
|
buildInputs = map (n: builtins.getAttr n x)
|
||||||
(builtins.attrNames (builtins.removeAttrs x helperArgNames));
|
(builtins.attrNames (builtins.removeAttrs x helperArgNames));
|
||||||
sourceInfo = rec {
|
sourceInfo = rec {
|
||||||
version="1.1.2";
|
version="1.2.0";
|
||||||
baseName="vacuum-im";
|
baseName="vacuum-im";
|
||||||
name="${baseName}-${version}";
|
name="${baseName}-${version}";
|
||||||
url="http://vacuum-im.googlecode.com/files/vacuum-${version}.tar.xz";
|
url="http://vacuum-im.googlecode.com/files/vacuum-${version}.tar.xz";
|
||||||
hash="451dde9b3587503b035fa1ddd2c99f2052a0b17a603491c59e8c47a8bcd4746d";
|
hash="55a2c27aaaf79c7a4de127c22d3845ede35970283d35ee57fd5ceca581b085fc";
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
rec {
|
rec {
|
||||||
|
|||||||
@@ -0,0 +1,20 @@
|
|||||||
|
{stdenv, fetchurl}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
name = "ii-1.6";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "http://dl.suckless.org/tools/${name}.tar.gz";
|
||||||
|
sha256 = "0afccbcm7i9lfch5mwzs3l1ax79dg3g6rrw0z8rb7d2kn8wsckvr";
|
||||||
|
};
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
make install PREFIX=$out
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
homepage = http://tools.suckless.org/ii/;
|
||||||
|
license = "MIT";
|
||||||
|
description = "Irc it, simple FIFO based irc client";
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -2,12 +2,12 @@
|
|||||||
, zlib, curl , pkgconfig, libgcrypt, ruby, lua5, tcl, guile }:
|
, zlib, curl , pkgconfig, libgcrypt, ruby, lua5, tcl, guile }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "0.3.7";
|
version = "0.3.8";
|
||||||
name = "weechat-${version}";
|
name = "weechat-${version}";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://weechat.org/files/src/${name}.tar.gz";
|
url = "http://weechat.org/files/src/${name}.tar.gz";
|
||||||
sha256 = "1bphyhx5rnirga5l42z4lijw68qx724gffic1z60jdwfxc5dxknl";
|
sha256 = "4293eb9d29f11b8ee8c301049d57e535acbea677bc1dc41ab12fe1bb8af0f10e";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs =
|
buildInputs =
|
||||||
|
|||||||
@@ -3,11 +3,11 @@
|
|||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "notmuch-0.12";
|
name = "notmuch-0.13.2";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://notmuchmail.org/releases/${name}.tar.gz";
|
url = "http://notmuchmail.org/releases/${name}.tar.gz";
|
||||||
sha256 = "1dbbbbba3567df9c67ecc642d1e63269a527952c557f6b0c8bafcd4e37893992";
|
sha256 = "75ec5f5d04bb7e3a8cc6224859b691f704a2a35f2f6027ffb674e829268f1d68";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ bash emacs gdb glib gmime gnupg1 pkgconfig talloc xapian ];
|
buildInputs = [ bash emacs gdb glib gmime gnupg1 pkgconfig talloc xapian ];
|
||||||
|
|||||||
@@ -1,11 +1,19 @@
|
|||||||
{stdenv, fetchurl}:
|
{stdenv, fetchurl}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "netperf-2.5.0";
|
name = "netperf-2.6.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "ftp://ftp.netperf.org/netperf/${name}.tar.bz2";
|
url = "ftp://ftp.netperf.org/netperf/${name}.tar.bz2";
|
||||||
sha256 = "1l06bb99b4wfnmq247b8rvp4kn3w6bh1m46ri4d74z22li7br545";
|
sha256 = "cd8dac710d4273d29f70e8dbd09353a6362ac58a11926e0822233c0cb230323a";
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "benchmark to measure the performance of many different types of networking";
|
||||||
|
homepage = "http://www.netperf.org/netperf/";
|
||||||
|
license = "Hewlett-Packard BSD-like license";
|
||||||
|
|
||||||
|
platforms = stdenv.lib.platforms.linux;
|
||||||
|
maintainers = [];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -5,14 +5,14 @@
|
|||||||
|
|
||||||
assert spellChecking -> gtkspell != null;
|
assert spellChecking -> gtkspell != null;
|
||||||
|
|
||||||
let version = "0.138"; in
|
let version = "0.139"; in
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "pan-${version}";
|
name = "pan-${version}";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://pan.rebelbase.com/download/releases/${version}/source/pan-${version}.tar.bz2";
|
url = "http://pan.rebelbase.com/download/releases/${version}/source/pan-${version}.tar.bz2";
|
||||||
sha1 = "8ad70d0b2bfb771eb7af1f973af6520f9998591a";
|
sha1 = "01ea0361a6d81489888e6abb075fd552999c3c60";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ pkgconfig gtk perl gmime gettext intltool dbus_glib libnotify ]
|
buildInputs = [ pkgconfig gtk perl gmime gettext intltool dbus_glib libnotify ]
|
||||||
|
|||||||
@@ -1,11 +1,8 @@
|
|||||||
{ stdenv, fetchurl, libextractor, libmicrohttpd, libgcrypt
|
{ stdenv, fetchurl, libextractor, libmicrohttpd, libgcrypt
|
||||||
, zlib, gmp, curl, libtool, adns, sqlite, pkgconfig
|
, zlib, gmp, curl, libtool, adns, sqlite, pkgconfig
|
||||||
, libxml2, ncurses, gettext, libunistring
|
, libxml2, ncurses, gettext, libunistring
|
||||||
, gtkSupport ? false, gtk ? null, libglade ? null
|
|
||||||
, makeWrapper }:
|
, makeWrapper }:
|
||||||
|
|
||||||
assert gtkSupport -> (gtk != null) && (libglade != null);
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "gnunet-0.9.3";
|
name = "gnunet-0.9.3";
|
||||||
|
|
||||||
@@ -18,7 +15,7 @@ stdenv.mkDerivation rec {
|
|||||||
libextractor libmicrohttpd libgcrypt gmp curl libtool
|
libextractor libmicrohttpd libgcrypt gmp curl libtool
|
||||||
zlib adns sqlite libxml2 ncurses
|
zlib adns sqlite libxml2 ncurses
|
||||||
pkgconfig gettext libunistring makeWrapper
|
pkgconfig gettext libunistring makeWrapper
|
||||||
] ++ (if gtkSupport then [ gtk libglade ] else []);
|
];
|
||||||
|
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
# Brute force: since nix-worker chroots don't provide
|
# Brute force: since nix-worker chroots don't provide
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
{stdenv, fetchurl, libpcap, ncurses, expat, pcre}:
|
{stdenv, fetchurl, libpcap, ncurses, expat, pcre}:
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "kismet-2010-01-r1";
|
name = "kismet-2011-03-r2";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = http://www.kismetwireless.net/code/kismet-2010-01-R1.tar.gz;
|
url = http://www.kismetwireless.net/code/kismet-2011-03-R2.tar.gz;
|
||||||
sha256 = "106qird64x1v29nz6k5zs9dxxdq6q7fb7d6np0pnwm3dd2p1w7cx";
|
sha256 = "0r1admlaiq7k0v13d9ci9i9mf5m25i1r5r18bkawsla9fbxrk83i";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [libpcap ncurses expat pcre];
|
buildInputs = [libpcap ncurses expat pcre];
|
||||||
|
|||||||
@@ -1,9 +1,6 @@
|
|||||||
{stdenv, fetchurl, ocaml, lablgtk, fontschumachermisc, xset, makeWrapper, ncurses
|
{stdenv, fetchurl, ocaml, lablgtk, fontschumachermisc, xset, makeWrapper, ncurses
|
||||||
, enableX11 ? true}:
|
, enableX11 ? true}:
|
||||||
|
|
||||||
let
|
|
||||||
nativeCode = if stdenv.isArm then false else true;
|
|
||||||
in
|
|
||||||
stdenv.mkDerivation (rec {
|
stdenv.mkDerivation (rec {
|
||||||
|
|
||||||
name = "unison-2.40.63";
|
name = "unison-2.40.63";
|
||||||
@@ -19,7 +16,7 @@ stdenv.mkDerivation (rec {
|
|||||||
'' else "";
|
'' else "";
|
||||||
|
|
||||||
makeFlags = "INSTALLDIR=$(out)/bin/" + (if enableX11 then " UISTYLE=gtk2" else "")
|
makeFlags = "INSTALLDIR=$(out)/bin/" + (if enableX11 then " UISTYLE=gtk2" else "")
|
||||||
+ (if ! nativeCode then " NATIVE=false" else "");
|
+ (if ! ocaml.nativeCompilers then " NATIVE=false" else "");
|
||||||
|
|
||||||
preInstall = "mkdir -p $out/bin";
|
preInstall = "mkdir -p $out/bin";
|
||||||
|
|
||||||
@@ -30,7 +27,7 @@ stdenv.mkDerivation (rec {
|
|||||||
done
|
done
|
||||||
'' else "";
|
'' else "";
|
||||||
|
|
||||||
dontStrip = if ! nativeCode then true else false;
|
dontStrip = if ! ocaml.nativeCompilers then true else false;
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
homepage = http://www.cis.upenn.edu/~bcpierce/unison/;
|
homepage = http://www.cis.upenn.edu/~bcpierce/unison/;
|
||||||
|
|||||||
@@ -1,21 +1,18 @@
|
|||||||
{stdenv, fetchurl, readline, openssh}:
|
{stdenv, fetchurl, readline, libssh, intltool}:
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation rec {
|
||||||
name = "yafc-1.1.1";
|
name = "yafc-1.2.0";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = mirror://sourceforge/yafc/yafc-1.1.1.tar.bz2;
|
url = "https://github.com/downloads/sebastinas/yafc/${name}.tar.xz";
|
||||||
sha256 = "ab72b2ed89fb75dbe8ebd119458cf513392225f367cccfad881e9780aefcd7e6";
|
sha256 = "0h5cbvvfkigvzfqqzvgqpn8m0ilyng3rgyh85c0mi48klzv8kb58";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [readline openssh];
|
buildInputs = [ readline libssh intltool ];
|
||||||
|
|
||||||
patchPhase = "
|
|
||||||
sed -e 's@/usr/bin/ssh@${openssh}/bin/ssh@' -i src/main.c
|
|
||||||
";
|
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "ftp/sftp client with readline, autocompletion and bookmarks";
|
description = "ftp/sftp client with readline, autocompletion and bookmarks";
|
||||||
homepage = http://yafc.sourceforge.net;
|
homepage = http://www.yafc-ftp.com;
|
||||||
|
maintainers = [ stdenv.lib.maintainers.page ];
|
||||||
license = "GPLv2+";
|
license = "GPLv2+";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,21 +1,24 @@
|
|||||||
{ stdenv, fetchurl, pkgconfig, freetype, lcms, libtiff, libxml2
|
{ stdenv, fetchurl, pkgconfig, freetype, lcms, libtiff, libxml2
|
||||||
, libart_lgpl, qt, python, cups, fontconfig, libjpeg
|
, libart_lgpl, qt4, python, cups, fontconfig, libjpeg
|
||||||
, zlib, libpng, xorg, cairo, podofo, aspell, boost, cmake }:
|
, zlib, libpng, xorg, cairo, podofo, aspell, boostHeaders, cmake }:
|
||||||
stdenv.mkDerivation {
|
|
||||||
name = "scribus-1.4.0rc6";
|
stdenv.mkDerivation rec {
|
||||||
|
name = "scribus-1.4.1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = mirror://sourceforge/scribus/scribus/scribus-1.4.0.rc6.tar.bz2;
|
url = "mirror://sourceforge/scribus/scribus/${name}.tar.xz";
|
||||||
sha256 = "1rrnzxjzhqj4lgyfswly501xlyvm4hsnnq7zw008v0cnkx31icli";
|
sha256 = "1n67z2bk5ca2sxvv43jvj7yygfr4d2x5yc69zk70v38prm0gqlv8";
|
||||||
};
|
};
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
buildInputs =
|
buildInputs = with xorg;
|
||||||
[ pkgconfig cmake freetype lcms libtiff libxml2 libart_lgpl qt
|
[ pkgconfig cmake freetype lcms libtiff libxml2 libart_lgpl qt4
|
||||||
python cups fontconfig
|
python cups fontconfig
|
||||||
xorg.libXaw xorg.libXext xorg.libX11 xorg.libXtst xorg.libXi xorg.libXinerama
|
|
||||||
libjpeg zlib libpng podofo aspell cairo
|
libjpeg zlib libpng podofo aspell cairo
|
||||||
|
boostHeaders # for internal 2geom library
|
||||||
|
libXaw libXext libX11 libXtst libXi libXinerama
|
||||||
|
libpthreadstubs libXau libXdmcp
|
||||||
];
|
];
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
|
|||||||
@@ -1,14 +1,14 @@
|
|||||||
{stdenv, fetchurl, cmake, freetype, libpng, mesa, gettext, openssl, qt4, perl, libiconv}:
|
{stdenv, fetchurl, cmake, freetype, libpng, mesa, gettext, openssl, qt4, perl, libiconv}:
|
||||||
|
|
||||||
let
|
let
|
||||||
name = "stellarium-0.11.2";
|
name = "stellarium-0.11.3";
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
inherit name;
|
inherit name;
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://sourceforge/stellarium/${name}.tar.gz";
|
url = "mirror://sourceforge/stellarium/${name}.tar.gz";
|
||||||
sha256 = "1qk26s0gal2pqr8zy95270fiszxsc6znzzrj5jap91zzibn17945";
|
sha256 = "f7c7eeaefcdc54c0fb8766f09e0c838acb742719adcdf12a6c1e12d55ecd6ac3";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ cmake freetype libpng mesa gettext openssl qt4 perl libiconv ];
|
buildInputs = [ cmake freetype libpng mesa gettext openssl qt4 perl libiconv ];
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
{stdenv, fetchurl, gtk, gperf, pkgconfig, bzip2, tcl, tk, judy, xz}:
|
{stdenv, fetchurl, gtk, gperf, pkgconfig, bzip2, tcl, tk, judy, xz}:
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "gtkwave-3.3.28";
|
name = "gtkwave-3.3.39";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://sourceforge/gtkwave/${name}.tar.gz";
|
url = "mirror://sourceforge/gtkwave/${name}.tar.gz";
|
||||||
sha256 = "0y3dmx39xwc3m23fwjkxvp9gqxpckk8s5814nhs8fnxa384z5cz0";
|
sha256 = "1va506anlbpbha7l6h94s44xjdy6ch22iv629swn4bh5m3qi33bg";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ gtk gperf pkgconfig bzip2 tcl tk judy xz ];
|
buildInputs = [ gtk gperf pkgconfig bzip2 tcl tk judy xz ];
|
||||||
|
|||||||
@@ -23,5 +23,6 @@ stdenv.mkDerivation rec {
|
|||||||
meta = {
|
meta = {
|
||||||
homepage = http://bazaar-vcs.org/;
|
homepage = http://bazaar-vcs.org/;
|
||||||
description = "A distributed version control system that Just Works";
|
description = "A distributed version control system that Just Works";
|
||||||
|
platforms = stdenv.lib.platforms.linux;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
let
|
let
|
||||||
|
|
||||||
version = "1.7.11";
|
version = "1.7.11.4";
|
||||||
|
|
||||||
svn = subversionClient.override { perlBindings = true; };
|
svn = subversionClient.override { perlBindings = true; };
|
||||||
|
|
||||||
@@ -20,7 +20,7 @@ stdenv.mkDerivation {
|
|||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://git-core.googlecode.com/files/git-${version}.tar.gz";
|
url = "http://git-core.googlecode.com/files/git-${version}.tar.gz";
|
||||||
sha256 = "0qgi1cj19dnn0sl3n38dbz68nllvyppdvs2jb77ksiar4jb9lsc3";
|
sha256 = "16a1gm256w82j9ardzyfyqi0f35l3x92xsqz8ghz1pnja8jns7g9";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [ ./docbook2texi.patch ];
|
patches = [ ./docbook2texi.patch ];
|
||||||
@@ -100,7 +100,7 @@ stdenv.mkDerivation {
|
|||||||
for prog in bin/gitk libexec/git-core/{git-gui,git-citool,git-gui--askpass}; do
|
for prog in bin/gitk libexec/git-core/{git-gui,git-citool,git-gui--askpass}; do
|
||||||
sed -i -e "s|exec 'wish'|exec '${tk}/bin/wish'|g" \
|
sed -i -e "s|exec 'wish'|exec '${tk}/bin/wish'|g" \
|
||||||
-e "s|exec wish|exec '${tk}/bin/wish'|g" \
|
-e "s|exec wish|exec '${tk}/bin/wish'|g" \
|
||||||
"$out/$prog"
|
"$out/$prog"
|
||||||
done
|
done
|
||||||
'' else ''
|
'' else ''
|
||||||
# Don't wrap Tcl/Tk, replace them by notification scripts
|
# Don't wrap Tcl/Tk, replace them by notification scripts
|
||||||
|
|||||||
@@ -2,14 +2,14 @@
|
|||||||
, guiSupport ? false, tk ? null, curses }:
|
, guiSupport ? false, tk ? null, curses }:
|
||||||
|
|
||||||
let
|
let
|
||||||
name = "mercurial-2.1.2";
|
name = "mercurial-2.2.3";
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
inherit name;
|
inherit name;
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://mercurial.selenic.com/release/${name}.tar.gz";
|
url = "http://mercurial.selenic.com/release/${name}.tar.gz";
|
||||||
sha256 = "11lqjnbal667rkbafby9qvb7hyxfycyc7h3hw04p4s4mw64lhkci";
|
sha256 = "0yv7kn96270fixigry910c1i3zzivimh1xjxywqjn9dshn2y6qbw";
|
||||||
};
|
};
|
||||||
|
|
||||||
inherit python; # pass it so that the same version can be used in hg2git
|
inherit python; # pass it so that the same version can be used in hg2git
|
||||||
@@ -43,7 +43,7 @@ stdenv.mkDerivation {
|
|||||||
|
|
||||||
# copy hgweb.cgi to allow use in apache
|
# copy hgweb.cgi to allow use in apache
|
||||||
mkdir -p $out/share/cgi-bin
|
mkdir -p $out/share/cgi-bin
|
||||||
cp -v hgweb.cgi $out/share/cgi-bin
|
cp -v hgweb.cgi contrib/hgweb.wsgi $out/share/cgi-bin
|
||||||
chmod u+x $out/share/cgi-bin/hgweb.cgi
|
chmod u+x $out/share/cgi-bin/hgweb.cgi
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ rec {
|
|||||||
export SGNEEDS_DIR="$out"/sgneeds/
|
export SGNEEDS_DIR="$out"/sgneeds/
|
||||||
export VVTHIRDPARTY="$out"/sgneeds/
|
export VVTHIRDPARTY="$out"/sgneeds/
|
||||||
|
|
||||||
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I$out/sgneeds/include"
|
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I"$out/sgneeds/include" -Wno-error"
|
||||||
'') ["minInit" "defEnsureDir"];
|
'') ["minInit" "defEnsureDir"];
|
||||||
|
|
||||||
prepareMakefiles = a.fullDepEntry ''
|
prepareMakefiles = a.fullDepEntry ''
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
rec {
|
rec {
|
||||||
version="1.5.0.10647";
|
version="2.0.0.10822";
|
||||||
name="veracity-1.5.0.10647";
|
name="veracity-2.0.0.10822";
|
||||||
hash="1b10npyxxg9592wigfpv66h17bzbsg2hqcfm7imyn941a34qrkd3";
|
hash="0zgvrsjxfd1p9pflx1kxggmk953jhjk02h1hili9h1vdasvn2188";
|
||||||
url="http://download.sourcegear.com/Veracity/nightly/1.5.0.10647/veracity-source-${version}.tar.gz";
|
url="http://download.sourcegear.com/Veracity/release/2.0.0.10822/veracity-source-${version}.tar.gz";
|
||||||
advertisedUrl="http://download.sourcegear.com/Veracity/nightly/1.5.0.10647/veracity-source-1.5.0.10647.tar.gz";
|
advertisedUrl="http://download.sourcegear.com/Veracity/release/2.0.0.10822/veracity-source-2.0.0.10822.tar.gz";
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -97,7 +97,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
buildInputs =
|
buildInputs =
|
||||||
[ freetype zlib pkgconfig ]
|
[ freetype zlib pkgconfig ]
|
||||||
++ stdenv.lib.optional x11Support [ libX11 libXext mesa ]
|
++ stdenv.lib.optionals x11Support [ libX11 libXext mesa ]
|
||||||
++ stdenv.lib.optional alsaSupport alsaLib
|
++ stdenv.lib.optional alsaSupport alsaLib
|
||||||
++ stdenv.lib.optional xvSupport libXv
|
++ stdenv.lib.optional xvSupport libXv
|
||||||
++ stdenv.lib.optional theoraSupport libtheora
|
++ stdenv.lib.optional theoraSupport libtheora
|
||||||
|
|||||||
@@ -10,11 +10,11 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "vlc-${version}";
|
name = "vlc-${version}";
|
||||||
version = "2.0.1";
|
version = "2.0.3";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://download.videolan.org/pub/videolan/vlc/${version}/${name}.tar.xz";
|
url = "http://download.videolan.org/pub/videolan/vlc/${version}/${name}.tar.xz";
|
||||||
sha256 = "7f485725c17487a77d70844cbd9acf528360d65cd6ff79d206657920f4fcbf4b";
|
sha256 = "1lnjfpizgp8slj6i4fgk5wld6nfw08wfhkb1i1dvzbhmfigq1agv";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs =
|
buildInputs =
|
||||||
|
|||||||
@@ -0,0 +1,13 @@
|
|||||||
|
#!/usr/bin/python -t
|
||||||
|
# this script was written to use /etc/nixos/nixpkgs/pkgs/development/python-modules/generic/wrap.sh
|
||||||
|
# which already automates python executable wrapping by extending the PATH/pythonPath
|
||||||
|
|
||||||
|
# from http://docs.python.org/library/subprocess.html
|
||||||
|
# Warning Invoking the system shell with shell=True can be a security hazard if combined with untrusted input. See the warning under Frequently Used Arguments for details.
|
||||||
|
|
||||||
|
from subprocess import Popen, PIPE, STDOUT
|
||||||
|
|
||||||
|
cmd = 'PYTHON_EXECUTABLE_PATH -t THE_CUSTOM_PATH/share/virt-manager/THE_CUSTOM_PROGRAM.py'
|
||||||
|
p = Popen(cmd, shell=True, stdin=PIPE, stdout=PIPE, stderr=STDOUT, close_fds=True)
|
||||||
|
output = p.stdout.read()
|
||||||
|
print output
|
||||||
@@ -1,70 +1,85 @@
|
|||||||
x@{builderDefsPackage
|
{ stdenv, fetchurl, pythonPackages, intltool, libvirt, libxml2Python, curl, python, makeWrapper, virtinst, pyGtkGlade, pythonDBus, gnome_python, gtkvnc}:
|
||||||
, gnome, gtk, glib, libxml2, libvirt, gtkvnc, cyrus_sasl, libtasn1, makeWrapper
|
|
||||||
, intltool, python, pygtk, libxml2Python
|
|
||||||
# virtinst is required, but it breaks when building
|
|
||||||
, ...}:
|
|
||||||
builderDefsPackage
|
|
||||||
(a :
|
|
||||||
let
|
|
||||||
helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
|
|
||||||
["gnome"];
|
|
||||||
|
|
||||||
buildInputs = (map (n: builtins.getAttr n x)
|
with stdenv.lib;
|
||||||
(builtins.attrNames (builtins.removeAttrs x helperArgNames)))
|
|
||||||
++ [gnome.libglade intltool python libvirt];
|
|
||||||
sourceInfo = rec {
|
|
||||||
baseName="virt-manager";
|
|
||||||
|
|
||||||
version = "0.9.1";
|
let version = "0.9.1"; in
|
||||||
name = "virt-manager-${version}";
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
name = "virt-manager-${version}";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
url = "http://virt-manager.et.redhat.com/download/sources/virt-manager/virt-manager-${version}.tar.gz";
|
url = "http://virt-manager.et.redhat.com/download/sources/virt-manager/virt-manager-${version}.tar.gz";
|
||||||
hash = "15e064167ba5ff84ce6fc8790081d61890430f2967f89886a84095a23e40094a";
|
sha256 = "15e064167ba5ff84ce6fc8790081d61890430f2967f89886a84095a23e40094a";
|
||||||
};
|
|
||||||
in
|
|
||||||
rec {
|
|
||||||
src = a.fetchurl {
|
|
||||||
url = sourceInfo.url;
|
|
||||||
sha256 = sourceInfo.hash;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
patchPhase = a.fullDepEntry ''
|
pythonPath = with pythonPackages;
|
||||||
substituteInPlace "src/virt-manager.in" --replace "exec /usr/bin/python" "exec ${python}/bin/python"
|
[ setuptools eventlet greenlet gflags netaddr sqlalchemy carrot routes
|
||||||
sed -e '/import libxml2/i import sys\
|
paste_deploy m2crypto ipy boto_1_9 twisted sqlalchemy_migrate
|
||||||
sys.path.append("${libxml2Python}/lib/${python.libPrefix}/site-packages")' \
|
distutils_extra simplejson readline glance cheetah lockfile httplib2
|
||||||
-i src/virtManager/util.py
|
# !!! should libvirt be a build-time dependency? Note that
|
||||||
sed -e '/import libxml2/i import sys\
|
# libxml2Python is a dependency of libvirt.py.
|
||||||
sys.path.append("${libxml2Python}/lib/${python.libPrefix}/site-packages")' \
|
libvirt libxml2Python urlgrabber virtinst pyGtkGlade pythonDBus gnome_python gtkvnc
|
||||||
-i src/virtManager/libvirtobject.py
|
];
|
||||||
'' ["minInit"];
|
|
||||||
|
|
||||||
inherit (sourceInfo) name version;
|
buildInputs =
|
||||||
inherit buildInputs;
|
[ pythonPackages.python
|
||||||
|
pythonPackages.wrapPython
|
||||||
|
pythonPackages.mox
|
||||||
|
pythonPackages.urlgrabber
|
||||||
|
intltool
|
||||||
|
pyGtkGlade
|
||||||
|
pythonDBus
|
||||||
|
gnome_python
|
||||||
|
gtkvnc
|
||||||
|
] ++ pythonPath;
|
||||||
|
|
||||||
/* doConfigure should be removed if not needed */
|
buildPhase = "make";
|
||||||
phaseNames = [ "doUnpack" "patchPhase" "doConfigure" "doMakeInstall" "installPhase" ];
|
|
||||||
|
|
||||||
installPhase = a.fullDepEntry ''
|
buildNativeInputs = [ makeWrapper pythonPackages.wrapPython ];
|
||||||
wrapProgram $out/bin/virt-manager --set PYTHONPATH $PYTHONPATH
|
|
||||||
'' ["minInit"];
|
|
||||||
|
|
||||||
#NIX_CFLAGS_COMPILE = "-fno-stack-protector";
|
# patch the runner script in order to make wrapPythonPrograms work and run the program using a syscall
|
||||||
|
# example code: /etc/nixos/nixpkgs/pkgs/development/interpreters/spidermonkey/1.8.0-rc1.nix
|
||||||
|
customRunner = ./custom_runner.py;
|
||||||
|
|
||||||
|
# TODO
|
||||||
|
# virt-manager -> import gtk.glade -> No module named glade --> fixed by removing 'pygtk' and by only using pyGtkGlade
|
||||||
|
# -> import gconf -> ImportError: No module named gconf
|
||||||
|
# -> pfad um gtk-2.0 erweitern in virt-manger runner -> /nix/store/hnyxc9i4yz2mc42n44ms13mn8n486s5h-gnome-python-2.28.1/lib/python2.7/site-packages/gtk-2.0
|
||||||
|
# -> Error starting Virtual Machine Manager: Failed to contact configuration server; the most common cause is a missing or misconfigured D-Bus session bus daemon. See http://projects.gnome.org/gconf/ for information. (Details - 1: GetIOR failed: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.GConf was not provided by any .service files)
|
||||||
|
|
||||||
|
#Traceback (most recent call last):
|
||||||
|
# File "/nix/store/y9rcdiv6686sqcv4r39p575s37jzc2cz-virt-manager-0.9.1/share/virt-manager/virt-manager.py", line 383, in <module>
|
||||||
|
# main()
|
||||||
|
# File "/nix/store/y9rcdiv6686sqcv4r39p575s37jzc2cz-virt-manager-0.9.1/share/virt-manager/virt-manager.py", line 315, in main
|
||||||
|
# config = virtManager.config.vmmConfig(appname, appversion, glade_dir)
|
||||||
|
# File "/nix/store/y9rcdiv6686sqcv4r39p575s37jzc2cz-virt-manager-0.9.1/share/virt-manager/virtManager/config.py", line 98, in __init__
|
||||||
|
# self.conf.add_dir(self.conf_dir, gconf.CLIENT_PRELOAD_NONE)
|
||||||
|
#GError: Failed to contact configuration server; the most common cause is a missing or misconfigured D-Bus session bus daemon. See http://projects.gnome.org/gconf/ for information. (Details - 1: GetIOR failed: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.GConf was not provided by any .service files)
|
||||||
|
# -> fixed by http://nixos.org/wiki/Solve_GConf_errors_when_running_GNOME_applications & a restart
|
||||||
|
# virt-manager-tui -> ImportError: No module named newt_syrup.dialogscreen
|
||||||
|
|
||||||
|
patchPhase = ''
|
||||||
|
cat ${customRunner} > src/virt-manager.in
|
||||||
|
substituteInPlace "src/virt-manager.in" --replace "THE_CUSTOM_PATH" "$out"
|
||||||
|
substituteInPlace "src/virt-manager.in" --replace "THE_CUSTOM_PROGRAM" "virt-manager"
|
||||||
|
substituteInPlace "src/virt-manager.in" --replace "PYTHON_EXECUTABLE_PATH" "${python}/bin/python"
|
||||||
|
|
||||||
|
cat ${customRunner} > src/virt-manager-tui.in
|
||||||
|
substituteInPlace "src/virt-manager-tui.in" --replace "THE_CUSTOM_PATH" "$out"
|
||||||
|
substituteInPlace "src/virt-manager-tui.in" --replace "THE_CUSTOM_PROGRAM" "virt-manager-tui"
|
||||||
|
substituteInPlace "src/virt-manager-tui.in" --replace "PYTHON_EXECUTABLE_PATH" "${python}/bin/python"
|
||||||
|
'';
|
||||||
|
|
||||||
|
# /etc/nixos/nixpkgs/pkgs/development/python-modules/generic/wrap.sh
|
||||||
|
installPhase = ''
|
||||||
|
make install
|
||||||
|
wrapPythonPrograms
|
||||||
|
'';
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
homepage = http://virt-manager.org;
|
homepage = http://virt-manager.org;
|
||||||
description = "The 'Virtual Machine Manager' application (virt-manager for short package name) is a desktop user interface for managing virtual machines.";
|
description = "The 'Virtual Machine Manager' application (virt-manager for short package name) is a desktop user interface for managing virtual machines.";
|
||||||
|
license = "GPLv2";
|
||||||
maintainers = with a.lib.maintainers;
|
maintainers = with stdenv.lib.maintainers; [qknight];
|
||||||
[
|
|
||||||
qknight
|
|
||||||
];
|
|
||||||
platforms = with a.lib.platforms;
|
|
||||||
linux;
|
|
||||||
license = a.lib.licenses.gpl2;
|
|
||||||
};
|
};
|
||||||
passthru = {
|
}
|
||||||
updateInfo = {
|
|
||||||
downloadPage = "http://virt-manager.org/download.html";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}) x
|
|
||||||
|
|
||||||
|
|||||||
@@ -30,19 +30,11 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
buildPhase = "python setup.py build";
|
buildPhase = "python setup.py build";
|
||||||
|
|
||||||
PYTHON_EGG_CACHE = "`pwd`/.egg-cache";
|
|
||||||
|
|
||||||
# substituteInPlace nova/api/ec2/cloud.py \
|
|
||||||
# --replace 'sh genrootca.sh' $out/libexec/nova/genrootca.sh
|
|
||||||
# '';
|
|
||||||
|
|
||||||
installPhase =
|
installPhase =
|
||||||
''
|
''
|
||||||
python setup.py install --prefix="$out";
|
python setup.py install --prefix="$out";
|
||||||
'';
|
'';
|
||||||
|
|
||||||
#checkPhase = "python setup.py test";
|
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
homepage = http://virt-manager.org;
|
homepage = http://virt-manager.org;
|
||||||
license = "GPLv2+";
|
license = "GPLv2+";
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ stdenv.mkDerivation {
|
|||||||
${if stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux" then ''
|
${if stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux" then ''
|
||||||
isoinfo -J -i $src -x /VBoxLinuxAdditions.run > ./VBoxLinuxAdditions.run
|
isoinfo -J -i $src -x /VBoxLinuxAdditions.run > ./VBoxLinuxAdditions.run
|
||||||
chmod 755 ./VBoxLinuxAdditions.run
|
chmod 755 ./VBoxLinuxAdditions.run
|
||||||
./VBoxLinuxAdditions.run --noexec --keep
|
./VBoxLinuxAdditions.run --noexec --keep
|
||||||
''
|
''
|
||||||
else throw ("Architecture: "+stdenv.system+" not supported for VirtualBox guest additions")
|
else throw ("Architecture: "+stdenv.system+" not supported for VirtualBox guest additions")
|
||||||
}
|
}
|
||||||
@@ -44,10 +44,10 @@ stdenv.mkDerivation {
|
|||||||
|
|
||||||
for i in *
|
for i in *
|
||||||
do
|
do
|
||||||
cd $i
|
cd $i
|
||||||
find . -type f | xargs sed 's/depmod -a/true/' -i
|
find . -type f | xargs sed 's/depmod -a/true/' -i
|
||||||
make
|
make
|
||||||
cd ..
|
cd ..
|
||||||
done
|
done
|
||||||
|
|
||||||
cd ..
|
cd ..
|
||||||
@@ -57,12 +57,12 @@ stdenv.mkDerivation {
|
|||||||
do
|
do
|
||||||
${if stdenv.system == "i686-linux" then ''
|
${if stdenv.system == "i686-linux" then ''
|
||||||
patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux.so.2 $i
|
patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux.so.2 $i
|
||||||
''
|
''
|
||||||
else if stdenv.system == "x86_64-linux" then ''
|
else if stdenv.system == "x86_64-linux" then ''
|
||||||
patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux-x86-64.so.2 $i
|
patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux-x86-64.so.2 $i
|
||||||
''
|
''
|
||||||
else throw ("Architecture: "+stdenv.system+" not supported for VirtualBox guest additions")
|
else throw ("Architecture: "+stdenv.system+" not supported for VirtualBox guest additions")
|
||||||
}
|
}
|
||||||
done
|
done
|
||||||
|
|
||||||
# Change rpath for various binaries and libraries
|
# Change rpath for various binaries and libraries
|
||||||
@@ -103,7 +103,7 @@ stdenv.mkDerivation {
|
|||||||
mkdir -p $out/lib/xorg/modules/{drivers,input}
|
mkdir -p $out/lib/xorg/modules/{drivers,input}
|
||||||
install -m 644 lib/VBoxGuestAdditions/vboxvideo_drv_19.so $out/lib/xorg/modules/drivers/vboxvideo_drv.so
|
install -m 644 lib/VBoxGuestAdditions/vboxvideo_drv_19.so $out/lib/xorg/modules/drivers/vboxvideo_drv.so
|
||||||
# There doesn't appear to be a vboxmouse driver for Xorg 1.9. Was there ever?
|
# There doesn't appear to be a vboxmouse driver for Xorg 1.9. Was there ever?
|
||||||
# install -m 644 lib/VBoxGuestAdditions/vboxmouse_drv_19.so $out/lib/xorg/modules/input/vboxmouse_drv.so
|
#install -m 644 lib/VBoxGuestAdditions/vboxmouse_drv_19.so $out/lib/xorg/modules/input/vboxmouse_drv.so
|
||||||
|
|
||||||
# Install kernel modules
|
# Install kernel modules
|
||||||
cd src
|
cd src
|
||||||
@@ -111,14 +111,14 @@ stdenv.mkDerivation {
|
|||||||
for i in *
|
for i in *
|
||||||
do
|
do
|
||||||
cd $i
|
cd $i
|
||||||
kernelVersion=$(cd ${kernel}/lib/modules; ls)
|
kernelVersion=$(cd ${kernel}/lib/modules; ls)
|
||||||
export MODULE_DIR=$out/lib/modules/$kernelVersion/misc
|
export MODULE_DIR=$out/lib/modules/$kernelVersion/misc
|
||||||
find . -type f | xargs sed -i -e "s|-o root||g" \
|
find . -type f | xargs sed -i -e "s|-o root||g" \
|
||||||
-e "s|-g root||g"
|
-e "s|-g root||g"
|
||||||
make install
|
make install
|
||||||
cd ..
|
cd ..
|
||||||
done
|
done
|
||||||
'';
|
''; # */
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "Guest additions for VirtualBox";
|
description = "Guest additions for VirtualBox";
|
||||||
@@ -129,5 +129,6 @@ stdenv.mkDerivation {
|
|||||||
'';
|
'';
|
||||||
license = "GPL";
|
license = "GPL";
|
||||||
maintainers = [ lib.maintainers.sander ];
|
maintainers = [ lib.maintainers.sander ];
|
||||||
|
platforms = lib.platforms.linux;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ with stdenv.lib;
|
|||||||
|
|
||||||
let
|
let
|
||||||
|
|
||||||
version = "4.0.3";
|
version = "4.1.2";
|
||||||
|
|
||||||
libDir = if stdenv.is64bit then "lib64" else "lib";
|
libDir = if stdenv.is64bit then "lib64" else "lib";
|
||||||
|
|
||||||
@@ -30,6 +30,10 @@ let
|
|||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
|
ipxeSrc =
|
||||||
|
{ url = http://xenbits.xensource.com/xen-extfiles/ipxe-git-v1.0.0.tar.gz;
|
||||||
|
sha256 = "d3128bfda9a1542049c278755f85bbcbb8441da7bfd702d511ce237fcf86a723";
|
||||||
|
};
|
||||||
in
|
in
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
@@ -37,16 +41,13 @@ stdenv.mkDerivation {
|
|||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://bits.xensource.com/oss-xen/release/${version}/xen-${version}.tar.gz";
|
url = "http://bits.xensource.com/oss-xen/release/${version}/xen-${version}.tar.gz";
|
||||||
sha256 = "0p4i7mm8cdsr8i9z3dij6nriyvz6la2rhm7jkyk2n8h62nnxi1b5";
|
sha256 = "7d9c93057cf480d3f1efa792b19285a84fa3c06060ea5c5c453be00887389b0d";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches =
|
patches =
|
||||||
[ # Xen looks for headers in /usr/include and for libraries using
|
[ # Xen looks for headers in /usr/include and for libraries using
|
||||||
# ldconfig. Don't do that.
|
# ldconfig. Don't do that.
|
||||||
./has-header.patch
|
./has-header.patch
|
||||||
|
|
||||||
# GCC 4.5 compatibility.
|
|
||||||
./gcc-4.5.patch
|
|
||||||
];
|
];
|
||||||
|
|
||||||
buildInputs =
|
buildInputs =
|
||||||
@@ -102,12 +103,18 @@ stdenv.mkDerivation {
|
|||||||
--replace 'XENDOM_CONFIG=/etc/sysconfig/xendomains' "" \
|
--replace 'XENDOM_CONFIG=/etc/sysconfig/xendomains' "" \
|
||||||
--replace /bin/ls ls
|
--replace /bin/ls ls
|
||||||
|
|
||||||
|
grep -rl /etc/xen * | xargs sed -i 's|/etc/xen|$out/etc/xen|g'
|
||||||
|
|
||||||
# Xen's stubdoms need various sources that it usually fetches at
|
# Xen's stubdoms need various sources that it usually fetches at
|
||||||
# build time using wget. We can't have that.
|
# build time using wget. We can't have that.
|
||||||
${flip concatMapStrings stubdomSrcs (x: let src = fetchurl x; in ''
|
${flip concatMapStrings stubdomSrcs (x: let src = fetchurl x; in ''
|
||||||
cp ${src} stubdom/${src.name}
|
cp ${src} stubdom/${src.name}
|
||||||
'')}
|
'')}
|
||||||
|
|
||||||
|
${let src = fetchurl ipxeSrc; in ''
|
||||||
|
cp ${src} tools/firmware/etherboot/ipxe.tar.gz
|
||||||
|
''}
|
||||||
|
|
||||||
# Hack to get `gcc -m32' to work without having 32-bit Glibc headers.
|
# Hack to get `gcc -m32' to work without having 32-bit Glibc headers.
|
||||||
mkdir -p tools/include/gnu
|
mkdir -p tools/include/gnu
|
||||||
touch tools/include/gnu/stubs-32.h
|
touch tools/include/gnu/stubs-32.h
|
||||||
|
|||||||
@@ -1,39 +0,0 @@
|
|||||||
http://lists.xensource.com/archives/html/xen-devel/2010-07/msg01276.html
|
|
||||||
|
|
||||||
diff -ru -x '*~' xen-4.0.1-orig//extras/mini-os/arch/x86/mm.c xen-4.0.1//extras/mini-os/arch/x86/mm.c
|
|
||||||
--- xen-4.0.1-orig//extras/mini-os/arch/x86/mm.c 2010-08-25 12:22:07.000000000 +0200
|
|
||||||
+++ xen-4.0.1//extras/mini-os/arch/x86/mm.c 2010-12-22 20:10:05.000000000 +0100
|
|
||||||
@@ -281,7 +281,7 @@
|
|
||||||
/*
|
|
||||||
* Mark portion of the address space read only.
|
|
||||||
*/
|
|
||||||
-extern void shared_info;
|
|
||||||
+extern char shared_info[PAGE_SIZE];
|
|
||||||
static void set_readonly(void *text, void *etext)
|
|
||||||
{
|
|
||||||
unsigned long start_address =
|
|
||||||
diff -ru -x '*~' xen-4.0.1-orig//extras/mini-os/minios.mk xen-4.0.1//extras/mini-os/minios.mk
|
|
||||||
--- xen-4.0.1-orig//extras/mini-os/minios.mk 2010-08-25 12:22:07.000000000 +0200
|
|
||||||
+++ xen-4.0.1//extras/mini-os/minios.mk 2010-12-22 20:03:11.000000000 +0100
|
|
||||||
@@ -10,6 +10,7 @@
|
|
||||||
DEF_CFLAGS += $(call cc-option,$(CC),-fno-stack-protector,)
|
|
||||||
DEF_CFLAGS += $(call cc-option,$(CC),-fgnu89-inline)
|
|
||||||
DEF_CFLAGS += -Wstrict-prototypes -Wnested-externs -Wpointer-arith -Winline
|
|
||||||
+DEF_CFLAGS += -Wno-uninitialized
|
|
||||||
DEF_CPPFLAGS += -D__XEN_INTERFACE_VERSION__=$(XEN_INTERFACE_VERSION)
|
|
||||||
|
|
||||||
DEF_ASFLAGS += -D__ASSEMBLY__
|
|
||||||
diff -ru -x '*~' xen-4.0.1-orig//extras/mini-os/netfront.c xen-4.0.1//extras/mini-os/netfront.c
|
|
||||||
--- xen-4.0.1-orig//extras/mini-os/netfront.c 2010-08-25 12:22:07.000000000 +0200
|
|
||||||
+++ xen-4.0.1//extras/mini-os/netfront.c 2010-12-22 19:56:59.000000000 +0100
|
|
||||||
@@ -25,8 +25,8 @@
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
-#define NET_TX_RING_SIZE __RING_SIZE((struct netif_tx_sring *)0, PAGE_SIZE)
|
|
||||||
-#define NET_RX_RING_SIZE __RING_SIZE((struct netif_rx_sring *)0, PAGE_SIZE)
|
|
||||||
+#define NET_TX_RING_SIZE __CONST_RING_SIZE(netif_tx, PAGE_SIZE)
|
|
||||||
+#define NET_RX_RING_SIZE __CONST_RING_SIZE(netif_rx, PAGE_SIZE)
|
|
||||||
#define GRANT_INVALID_REF 0
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,40 +0,0 @@
|
|||||||
From 1aedd853fcaeeafadd24512f84e6e269f5db0b4e Mon Sep 17 00:00:00 2001
|
|
||||||
From: Thomas Moschny <thomas.moschny@gmx.de>
|
|
||||||
Date: Mon, 21 Feb 2011 17:58:04 +0100
|
|
||||||
Subject: [PATCH] Normalize icon path names (fixes #869).
|
|
||||||
|
|
||||||
The elements in ${icon_sources}, as returned by file(GLOB ...) contain
|
|
||||||
double slashes, could be a bug in cmake. This causes building with
|
|
||||||
cmake 2.8.4 to fail, due to dependency problems lateron.
|
|
||||||
|
|
||||||
This patch works around the issue by normalizing all path names in
|
|
||||||
${icon_sources} while appending them to ${ALL_ICONS}, thereby removing
|
|
||||||
the double slashes.
|
|
||||||
---
|
|
||||||
CMakeLists.txt | 3 ++-
|
|
||||||
1 files changed, 2 insertions(+), 1 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
|
||||||
index 64be9b9..472bec2 100644
|
|
||||||
--- a/CMakeLists.txt
|
|
||||||
+++ b/CMakeLists.txt
|
|
||||||
@@ -244,14 +244,15 @@ endif()
|
|
||||||
|
|
||||||
# {{{ Theme icons
|
|
||||||
file(GLOB icon_sources RELATIVE ${SOURCE_DIR} ${SOURCE_DIR}/themes/*/titlebar/*.png)
|
|
||||||
-set(ALL_ICONS ${icon_sources})
|
|
||||||
|
|
||||||
foreach(icon ${icon_sources})
|
|
||||||
# Copy all icons to the build dir to simplify the following code.
|
|
||||||
# Source paths are interpreted relative to ${SOURCE_DIR}, target paths
|
|
||||||
# relative to ${BUILD_DIR}.
|
|
||||||
get_filename_component(icon_path ${icon} PATH)
|
|
||||||
+ get_filename_component(icon_name ${icon} NAME)
|
|
||||||
file(COPY ${icon} DESTINATION ${icon_path})
|
|
||||||
+ set(ALL_ICONS ${ALL_ICONS} "${icon_path}/${icon_name}")
|
|
||||||
endforeach()
|
|
||||||
|
|
||||||
macro(a_icon_convert match replacement input)
|
|
||||||
--
|
|
||||||
1.7.3.4
|
|
||||||
|
|
||||||
@@ -6,7 +6,7 @@
|
|||||||
, docbook_xml_dtd_45, libxslt, coreutils}:
|
, docbook_xml_dtd_45, libxslt, coreutils}:
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "3.4.11";
|
version = "3.4.13";
|
||||||
in
|
in
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://awesome.naquadah.org/download/awesome-${version}.tar.xz";
|
url = "http://awesome.naquadah.org/download/awesome-${version}.tar.xz";
|
||||||
sha256 = "576b4f6d2c3f56dfbe52ad92f2eecece111f0f05816e32126cd03d4b4387761d";
|
sha256 = "0jhsgb8wdzpfmdyl9fxp2w6app7l6zl8b513z3ff513nvdlxj5hr";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ cmake gperf imagemagick pkgconfig lua glib cairo pango
|
buildInputs = [ cmake gperf imagemagick pkgconfig lua glib cairo pango
|
||||||
@@ -36,20 +36,10 @@ stdenv.mkDerivation rec {
|
|||||||
# asciidoc: FAILED: <stdin>: line 3: section title expected
|
# asciidoc: FAILED: <stdin>: line 3: section title expected
|
||||||
# make[2]: *** [manpages/ru/man1/awesome.1.xml] Error 1
|
# make[2]: *** [manpages/ru/man1/awesome.1.xml] Error 1
|
||||||
substituteInPlace CMakeLists.txt \
|
substituteInPlace CMakeLists.txt \
|
||||||
--replace "set(AWE_MAN_LANGS es fr de ru)" \
|
--replace "set(AWE_MAN_LANGS it es fr de ru)" \
|
||||||
"set(AWE_MAN_LANGS es fr de)"
|
"set(AWE_MAN_LANGS it es fr de)"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
# XXX: maybe not needed anymore
|
|
||||||
# Somehow libev does not get into the rpath, although it should.
|
|
||||||
# Something may be wrong in the gcc wrapper.
|
|
||||||
preBuild = ''
|
|
||||||
export NIX_LDFLAGS_BEFORE="-lev";
|
|
||||||
'';
|
|
||||||
|
|
||||||
# Cmake fails strangely at finding lua. Looks to me like a cmake 2.8 error.
|
|
||||||
cmakeFlags = [ "-DLUA_LIBRARIES=${lua}/lib/liblua.a" ];
|
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
homepage = http://awesome.naquadah.org/;
|
homepage = http://awesome.naquadah.org/;
|
||||||
description = "Highly configurable, dynamic window manager for X";
|
description = "Highly configurable, dynamic window manager for X";
|
||||||
|
|||||||
@@ -13,18 +13,13 @@ stdenv.mkDerivation rec {
|
|||||||
buildInputs = [ which pkgconfig libxcb xcbutilkeysyms xcbutil bison xcbutilwm
|
buildInputs = [ which pkgconfig libxcb xcbutilkeysyms xcbutil bison xcbutilwm
|
||||||
libstartup_notification libX11 pcre libev yajl flex libXcursor perl ];
|
libstartup_notification libX11 pcre libev yajl flex libXcursor perl ];
|
||||||
|
|
||||||
prePatch = ''
|
patchPhase = "patchShebangs .";
|
||||||
sed s,/usr/bin/env,${coreutils}/bin/env, -i generate-command-parser.pl
|
|
||||||
sed s,/usr/bin/env,${coreutils}/bin/env, -i i3-migrate-config-to-v4
|
|
||||||
sed s,/usr/bin/env,${coreutils}/bin/env, -i i3-wsbar
|
|
||||||
'';
|
|
||||||
|
|
||||||
makeFlags = "all";
|
configurePhase = "makeFlags=PREFIX=$out";
|
||||||
installFlags = "PREFIX=\${out}";
|
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "i3 is a tiling window manager";
|
description = "i3 is a tiling window manager";
|
||||||
homepage = http://i3wm.org;
|
homepage = "http://i3wm.org";
|
||||||
maintainers = [ stdenv.lib.maintainers.garbas ];
|
maintainers = [ stdenv.lib.maintainers.garbas ];
|
||||||
license = stdenv.lib.licenses.bsd3;
|
license = stdenv.lib.licenses.bsd3;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,14 +1,14 @@
|
|||||||
{ stdenv, fetchurl, pkgconfig, gdk_pixbuf, gtk, libXmu }:
|
{ stdenv, fetchurl, pkgconfig, gdk_pixbuf, gtk, libXmu }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "trayer-1.1.3";
|
name = "trayer-1.1.5";
|
||||||
|
|
||||||
buildInputs = [ pkgconfig gdk_pixbuf gtk libXmu ];
|
buildInputs = [ pkgconfig gdk_pixbuf gtk libXmu ];
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/sargon/trayer-srg/tarball/${name}";
|
url = "https://github.com/sargon/trayer-srg/tarball/${name}";
|
||||||
name = "${name}.tar.gz";
|
name = "${name}.tar.gz";
|
||||||
sha256 = "03be5ea47278ecdb6ffb1d3b5115a855a6eccd6aa6702b84e89ee047ddd76558";
|
sha256 = "98804500188c0bb99c7389ebea4b2e4dfffa2f3d06dc97e633b4934cf7c29757";
|
||||||
};
|
};
|
||||||
|
|
||||||
makeFlags = [ "PREFIX=$(out)" ];
|
makeFlags = [ "PREFIX=$(out)" ];
|
||||||
|
|||||||
@@ -66,7 +66,7 @@ sub findFiles {
|
|||||||
|
|
||||||
unless (-d $target && ($oldTarget eq "" || -d $oldTarget)) {
|
unless (-d $target && ($oldTarget eq "" || -d $oldTarget)) {
|
||||||
if ($ignoreCollisions) {
|
if ($ignoreCollisions) {
|
||||||
warn "collision between `$target' and `$oldTarget'";
|
warn "collision between `$target' and `$oldTarget'" if $ignoreCollisions == 1;
|
||||||
return;
|
return;
|
||||||
} else {
|
} else {
|
||||||
die "collision between `$target' and `$oldTarget'";
|
die "collision between `$target' and `$oldTarget'";
|
||||||
@@ -122,7 +122,7 @@ while (scalar(keys %postponed) > 0) {
|
|||||||
my @pkgDirs = keys %postponed;
|
my @pkgDirs = keys %postponed;
|
||||||
%postponed = ();
|
%postponed = ();
|
||||||
foreach my $pkgDir (sort @pkgDirs) {
|
foreach my $pkgDir (sort @pkgDirs) {
|
||||||
addPkg($pkgDir, 1);
|
addPkg($pkgDir, 2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -22,6 +22,21 @@ let
|
|||||||
then builtins.attrNames mirrors
|
then builtins.attrNames mirrors
|
||||||
else [] /* backwards compatibility */;
|
else [] /* backwards compatibility */;
|
||||||
|
|
||||||
|
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"
|
||||||
|
|
||||||
|
# This variable allows the user to pass additional options to curl
|
||||||
|
"NIX_CURL_FLAGS"
|
||||||
|
|
||||||
|
# This variable allows the user to override hashedMirrors from the
|
||||||
|
# command-line.
|
||||||
|
"NIX_HASHED_MIRRORS"
|
||||||
|
] ++ (map (site: "NIX_MIRRORS_${site}") sites);
|
||||||
|
|
||||||
in
|
in
|
||||||
|
|
||||||
{ # URL to fetch.
|
{ # URL to fetch.
|
||||||
@@ -84,22 +99,7 @@ stdenv.mkDerivation {
|
|||||||
outputHash = if outputHash != "" then outputHash else
|
outputHash = if outputHash != "" then outputHash else
|
||||||
if sha256 != "" then sha256 else if sha1 != "" then sha1 else md5;
|
if sha256 != "" then sha256 else if sha1 != "" then sha1 else md5;
|
||||||
|
|
||||||
impureEnvVars = [
|
inherit showURLs mirrorsFile 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"
|
|
||||||
|
|
||||||
# This variable allows the user to pass additional options to curl
|
|
||||||
"NIX_CURL_FLAGS"
|
|
||||||
|
|
||||||
# This variable allows the user to override hashedMirrors from the
|
|
||||||
# command-line.
|
|
||||||
"NIX_HASHED_MIRRORS"
|
|
||||||
] ++ (map (site: "NIX_MIRRORS_${site}") sites);
|
|
||||||
|
|
||||||
inherit showURLs mirrorsFile;
|
|
||||||
|
|
||||||
# Doing the download on a remote machine just duplicates network
|
# Doing the download on a remote machine just duplicates network
|
||||||
# traffic, so don't do that.
|
# traffic, so don't do that.
|
||||||
|
|||||||
@@ -0,0 +1,194 @@
|
|||||||
|
source $stdenv/setup
|
||||||
|
|
||||||
|
|
||||||
|
mkdir -p $out/bin
|
||||||
|
mkdir -p $out/nix-support
|
||||||
|
|
||||||
|
|
||||||
|
if test -z "$nativeLibc"; then
|
||||||
|
dynamicLinker="$libc/lib/$dynamicLinker"
|
||||||
|
echo $dynamicLinker > $out/nix-support/dynamic-linker
|
||||||
|
|
||||||
|
if test -e $libc/lib/32/ld-linux.so.2; then
|
||||||
|
echo $libc/lib/32/ld-linux.so.2 > $out/nix-support/dynamic-linker-m32
|
||||||
|
fi
|
||||||
|
|
||||||
|
# The "-B$libc/lib/" flag is a quick hack to force gcc to link
|
||||||
|
# against the crt1.o from our own glibc, rather than the one in
|
||||||
|
# /usr/lib. (This is only an issue when using an `impure'
|
||||||
|
# compiler/linker, i.e., one that searches /usr/lib and so on.)
|
||||||
|
#
|
||||||
|
# Unfortunately, setting -B appears to override the default search
|
||||||
|
# path. Thus, the gcc-specific "../includes-fixed" directory is
|
||||||
|
# now longer searched and glibc's <limits.h> header fails to
|
||||||
|
# compile, because it uses "#include_next <limits.h>" to find the
|
||||||
|
# limits.h file in ../includes-fixed. To remedy the problem,
|
||||||
|
# another -idirafter is necessary to add that directory again.
|
||||||
|
echo "-B$libc/lib/ -idirafter $libc/include -idirafter $gcc/lib/gcc/*/*/include-fixed" > $out/nix-support/libc-cflags
|
||||||
|
|
||||||
|
echo "-L$libc/lib" > $out/nix-support/libc-ldflags
|
||||||
|
|
||||||
|
# The dynamic linker is passed in `ldflagsBefore' to allow
|
||||||
|
# explicit overrides of the dynamic linker by callers to gcc/ld
|
||||||
|
# (the *last* value counts, so ours should come first).
|
||||||
|
echo "-dynamic-linker $dynamicLinker" > $out/nix-support/libc-ldflags-before
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test -n "$nativeTools"; then
|
||||||
|
gccPath="$nativePrefix/bin"
|
||||||
|
ldPath="$nativePrefix/bin"
|
||||||
|
else
|
||||||
|
if test -e "$gcc/lib64"; then
|
||||||
|
gccLDFlags="$gccLDFlags -L$gcc/lib64"
|
||||||
|
fi
|
||||||
|
gccLDFlags="$gccLDFlags -L$gcc/lib"
|
||||||
|
if [ -n "$langVhdl" ]; then
|
||||||
|
gccLDFlags="$gccLDFlags -L$zlib/lib"
|
||||||
|
fi
|
||||||
|
echo "$gccLDFlags" > $out/nix-support/gcc-ldflags
|
||||||
|
|
||||||
|
# GCC shows $gcc/lib in `gcc -print-search-dirs', but not
|
||||||
|
# $gcc/lib64 (even though it does actually search there...)..
|
||||||
|
# This confuses libtool. So add it to the compiler tool search
|
||||||
|
# path explicitly.
|
||||||
|
if test -e "$gcc/lib64"; then
|
||||||
|
gccCFlags="$gccCFlags -B$gcc/lib64"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Find the gcc libraries path (may work only without multilib)
|
||||||
|
if [ -n "$langAda" ]; then
|
||||||
|
basePath=`echo $gcc/lib/*/*/*`
|
||||||
|
gccCFlags="$gccCFlags -B$basePath -I$basePath/adainclude"
|
||||||
|
|
||||||
|
gnatCFlags="-aI$basePath/adainclude -aO$basePath/adalib"
|
||||||
|
echo "$gnatCFlags" > $out/nix-support/gnat-cflags
|
||||||
|
fi
|
||||||
|
echo "$gccCFlags" > $out/nix-support/gcc-cflags
|
||||||
|
|
||||||
|
gccPath="$gcc/bin"
|
||||||
|
ldPath="$binutils/bin"
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
doSubstitute() {
|
||||||
|
local src=$1
|
||||||
|
local dst=$2
|
||||||
|
# Can't use substitute() here, because replace may not have been
|
||||||
|
# built yet (in the bootstrap).
|
||||||
|
sed \
|
||||||
|
-e "s^@out@^$out^g" \
|
||||||
|
-e "s^@shell@^$shell^g" \
|
||||||
|
-e "s^@gcc@^$gcc^g" \
|
||||||
|
-e "s^@gccProg@^$gccProg^g" \
|
||||||
|
-e "s^@gnatProg@^$gnatProg^g" \
|
||||||
|
-e "s^@gnatlinkProg@^$gnatlinkProg^g" \
|
||||||
|
-e "s^@binutils@^$binutils^g" \
|
||||||
|
-e "s^@coreutils@^$coreutils^g" \
|
||||||
|
-e "s^@libc@^$libc^g" \
|
||||||
|
-e "s^@ld@^$ldPath/ld^g" \
|
||||||
|
< "$src" > "$dst"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# Make wrapper scripts around gcc, g++, and gfortran. Also make symlinks
|
||||||
|
# cc, c++, and f77.
|
||||||
|
mkGccWrapper() {
|
||||||
|
local dst=$1
|
||||||
|
local src=$2
|
||||||
|
|
||||||
|
if ! test -f "$src"; then
|
||||||
|
echo "$src does not exist (skipping)"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
gccProg="$src"
|
||||||
|
doSubstitute "$gccWrapper" "$dst"
|
||||||
|
chmod +x "$dst"
|
||||||
|
}
|
||||||
|
|
||||||
|
mkGnatWrapper() {
|
||||||
|
local dst=$1
|
||||||
|
local src=$2
|
||||||
|
|
||||||
|
if ! test -f "$src"; then
|
||||||
|
echo "$src does not exist (skipping)"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
gnatProg="$src"
|
||||||
|
doSubstitute "$gnatWrapper" "$dst"
|
||||||
|
chmod +x "$dst"
|
||||||
|
}
|
||||||
|
|
||||||
|
mkGnatLinkWrapper() {
|
||||||
|
local dst=$1
|
||||||
|
local src=$2
|
||||||
|
|
||||||
|
if ! test -f "$src"; then
|
||||||
|
echo "$src does not exist (skipping)"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
gnatlinkProg="$src"
|
||||||
|
doSubstitute "$gnatlinkWrapper" "$dst"
|
||||||
|
chmod +x "$dst"
|
||||||
|
}
|
||||||
|
|
||||||
|
if mkGccWrapper $out/bin/gcc $gccPath/gcc
|
||||||
|
then
|
||||||
|
ln -sv gcc $out/bin/cc
|
||||||
|
fi
|
||||||
|
|
||||||
|
if mkGccWrapper $out/bin/g++ $gccPath/g++
|
||||||
|
then
|
||||||
|
ln -sv g++ $out/bin/c++
|
||||||
|
fi
|
||||||
|
|
||||||
|
if mkGccWrapper $out/bin/gfortran $gccPath/gfortran
|
||||||
|
then
|
||||||
|
ln -sv gfortran $out/bin/g77
|
||||||
|
ln -sv gfortran $out/bin/f77
|
||||||
|
fi
|
||||||
|
|
||||||
|
mkGccWrapper $out/bin/gcj $gccPath/gcj || true
|
||||||
|
|
||||||
|
mkGccWrapper $out/bin/gccgo $gccPath/gccgo || true
|
||||||
|
|
||||||
|
mkGccWrapper $out/bin/gnatgcc $gccPath/gnatgcc || true
|
||||||
|
mkGnatWrapper $out/bin/gnatmake $gccPath/gnatmake || true
|
||||||
|
mkGnatWrapper $out/bin/gnatbind $gccPath/gnatbind || true
|
||||||
|
mkGnatLinkWrapper $out/bin/gnatlink $gccPath/gnatlink || true
|
||||||
|
|
||||||
|
if [ -f $gccPath/ghdl ]; then
|
||||||
|
ln -sf $gccPath/ghdl $out/bin/ghdl
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Create a symlink to as (the assembler). This is useful when a
|
||||||
|
# gcc-wrapper is installed in a user environment, as it ensures that
|
||||||
|
# the right assembler is called.
|
||||||
|
ln -s $ldPath/as $out/bin/as
|
||||||
|
|
||||||
|
|
||||||
|
# Make a wrapper around the linker.
|
||||||
|
doSubstitute "$ldWrapper" "$out/bin/ld"
|
||||||
|
chmod +x "$out/bin/ld"
|
||||||
|
|
||||||
|
|
||||||
|
# Emit a setup hook. Also store the path to the original GCC and
|
||||||
|
# Glibc.
|
||||||
|
test -n "$gcc" && echo $gcc > $out/nix-support/orig-gcc
|
||||||
|
test -n "$libc" && echo $libc > $out/nix-support/orig-libc
|
||||||
|
|
||||||
|
doSubstitute "$addFlags" "$out/nix-support/add-flags.sh"
|
||||||
|
|
||||||
|
doSubstitute "$setupHook" "$out/nix-support/setup-hook"
|
||||||
|
|
||||||
|
cp -p $utils $out/nix-support/utils.sh
|
||||||
|
|
||||||
|
|
||||||
|
# Propagate the wrapped gcc so that if you install the wrapper, you get
|
||||||
|
# tools like gcov, the manpages, etc. as well (including for binutils
|
||||||
|
# and Glibc).
|
||||||
|
if test -z "$nativeTools"; then
|
||||||
|
echo $gcc $binutils $libc > $out/nix-support/propagated-user-env-packages
|
||||||
|
fi
|
||||||
@@ -22,9 +22,10 @@ let
|
|||||||
gccVersion = (builtins.parseDrvName gcc.name).version;
|
gccVersion = (builtins.parseDrvName gcc.name).version;
|
||||||
gccName = (builtins.parseDrvName gcc.name).name;
|
gccName = (builtins.parseDrvName gcc.name).name;
|
||||||
|
|
||||||
|
langGo = if nativeTools then false else gcc ? langGo && gcc.langGo;
|
||||||
in
|
in
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation ({
|
||||||
name =
|
name =
|
||||||
(if name != "" then name else gccName + "-wrapper") +
|
(if name != "" then name else gccName + "-wrapper") +
|
||||||
(if gcc != null && gccVersion != "" then "-" + gccVersion else "");
|
(if gcc != null && gccVersion != "" then "-" + gccVersion else "");
|
||||||
@@ -90,3 +91,9 @@ stdenv.mkDerivation {
|
|||||||
abort "don't know the name of the dynamic linker for this platform")
|
abort "don't know the name of the dynamic linker for this platform")
|
||||||
else "";
|
else "";
|
||||||
}
|
}
|
||||||
|
# This go wrapper should be reworked in stdenv-updates.
|
||||||
|
// (if langGo then
|
||||||
|
{
|
||||||
|
inherit langGo;
|
||||||
|
builder = ./buildergo.sh;
|
||||||
|
} else {}))
|
||||||
|
|||||||
@@ -100,15 +100,10 @@ stdenv.mkDerivation (
|
|||||||
postHook = ''
|
postHook = ''
|
||||||
mkdir -p $out/nix-support
|
mkdir -p $out/nix-support
|
||||||
echo "$system" > $out/nix-support/system
|
echo "$system" > $out/nix-support/system
|
||||||
|
. ${./functions.sh}
|
||||||
|
|
||||||
# If `src' is the result of a call to `makeSourceTarball', then it
|
|
||||||
# has a subdirectory containing the actual tarball(s). If there are
|
|
||||||
# multiple tarballs, just pick the first one.
|
|
||||||
origSrc=$src
|
origSrc=$src
|
||||||
if test -d $src/tarballs; then
|
src=$(findTarballs $src | head -1)
|
||||||
src=$(ls $src/tarballs/*.tar.bz2 $src/tarballs/*.tar.gz | sort | head -1)
|
|
||||||
fi
|
|
||||||
|
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -35,14 +35,10 @@ stdenv.mkDerivation (
|
|||||||
postHook = ''
|
postHook = ''
|
||||||
mkdir -p $out/nix-support
|
mkdir -p $out/nix-support
|
||||||
echo "$system" > $out/nix-support/system
|
echo "$system" > $out/nix-support/system
|
||||||
|
. ${./functions.sh}
|
||||||
|
|
||||||
# If `src' is the result of a call to `makeSourceTarball', then it
|
|
||||||
# has a subdirectory containing the actual tarball(s). If there are
|
|
||||||
# multiple tarballs, just pick the first one.
|
|
||||||
origSrc=$src
|
origSrc=$src
|
||||||
if test -d $src/tarballs; then
|
src=$(findTarballs $src | head -1)
|
||||||
src=$(ls $src/tarballs/*.tar.bz2 $src/tarballs/*.tar.gz | sort | head -1)
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test -e $origSrc/nix-support/hydra-release-name; then
|
if test -e $origSrc/nix-support/hydra-release-name; then
|
||||||
releaseName=$(cat $origSrc/nix-support/hydra-release-name)
|
releaseName=$(cat $origSrc/nix-support/hydra-release-name)
|
||||||
|
|||||||
@@ -30,17 +30,10 @@ vmTools.runInLinuxImage (stdenv.mkDerivation (
|
|||||||
|
|
||||||
# !!! cut&paste from rpm-build.nix
|
# !!! cut&paste from rpm-build.nix
|
||||||
postHook = ''
|
postHook = ''
|
||||||
mkdir -p $out/nix-support
|
. ${./functions.sh}
|
||||||
cat "$diskImage"/nix-support/full-name > $out/nix-support/full-name
|
propagateImageName
|
||||||
|
src=$(findTarballs $src | head -1) # Find a tarball.
|
||||||
# If `src' is the result of a call to `makeSourceTarball', then it
|
'';
|
||||||
# has a subdirectory containing the actual tarball(s). If there are
|
|
||||||
# multiple tarballs, just pick the first one.
|
|
||||||
echo $src
|
|
||||||
if test -d $src/tarballs; then
|
|
||||||
src=$(ls $src/tarballs/*.tar.bz2 $src/tarballs/*.tar.gz | sort | head -1)
|
|
||||||
fi
|
|
||||||
''; # */
|
|
||||||
|
|
||||||
installExtraDebsPhase = ''
|
installExtraDebsPhase = ''
|
||||||
for i in $extraDebs; do
|
for i in $extraDebs; do
|
||||||
|
|||||||
@@ -0,0 +1,14 @@
|
|||||||
|
findTarballs() {
|
||||||
|
local suffix
|
||||||
|
test -d "$1/tarballs/" && {
|
||||||
|
for suffix in tar.gz tgz tar.bz2 tbz2 tar.xz tar.lzma; do
|
||||||
|
ls $1/tarballs/*.$suffix 2> /dev/null
|
||||||
|
done | sort
|
||||||
|
}
|
||||||
|
echo "$1"
|
||||||
|
}
|
||||||
|
|
||||||
|
propagateImageName() {
|
||||||
|
ensureDir $out/nix-support
|
||||||
|
cat "$diskImage"/nix-support/full-name > $out/nix-support/full-name
|
||||||
|
}
|
||||||
@@ -58,13 +58,9 @@ stdenv.mkDerivation (
|
|||||||
name = name + (if src ? version then "-" + src.version else "");
|
name = name + (if src ? version then "-" + src.version else "");
|
||||||
|
|
||||||
postHook = ''
|
postHook = ''
|
||||||
# If `src' is the result of a call to `makeSourceTarball', then it
|
. ${./functions.sh}
|
||||||
# has a subdirectory containing the actual tarball(s). If there are
|
|
||||||
# multiple tarballs, just pick the first one.
|
|
||||||
origSrc=$src
|
origSrc=$src
|
||||||
if test -d $src/tarballs; then
|
src=$(findTarballs $src | head -1)
|
||||||
src=$(ls $src/tarballs/*.tar.bz2 $src/tarballs/*.tar.gz $src/tarballs/*.tar.xz | sort | head -1)
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Set GCC flags for coverage analysis, if desired.
|
# Set GCC flags for coverage analysis, if desired.
|
||||||
if test -n "${toString doCoverageAnalysis}"; then
|
if test -n "${toString doCoverageAnalysis}"; then
|
||||||
|
|||||||
@@ -14,16 +14,10 @@ vmTools.buildRPM (
|
|||||||
name = name + "-" + diskImage.name + (if src ? version then "-" + src.version else "");
|
name = name + "-" + diskImage.name + (if src ? version then "-" + src.version else "");
|
||||||
|
|
||||||
preBuild = ''
|
preBuild = ''
|
||||||
mkdir -p $out/nix-support
|
. ${./functions.sh}
|
||||||
cat "$diskImage"/nix-support/full-name > $out/nix-support/full-name
|
propagateImageName
|
||||||
|
src=$(findTarballs $src | head -1) # Pick the first tarball.
|
||||||
# If `src' is the result of a call to `makeSourceTarball', then it
|
'';
|
||||||
# has a subdirectory containing the actual tarball(s). If there are
|
|
||||||
# multiple tarballs, just pick the first one.
|
|
||||||
if test -d $src/tarballs; then
|
|
||||||
src=$(ls $src/tarballs/*.tar.bz2 $src/tarballs/*.tar.gz | sort | head -1)
|
|
||||||
fi
|
|
||||||
''; # */
|
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
declare -a rpms rpmNames
|
declare -a rpms rpmNames
|
||||||
@@ -36,12 +30,12 @@ vmTools.buildRPM (
|
|||||||
done
|
done
|
||||||
|
|
||||||
echo "installing ''${rpms[*]}..."
|
echo "installing ''${rpms[*]}..."
|
||||||
rpm -ip ''${rpms[*]} --excludepath /nix/store
|
rpm -Up ''${rpms[*]} --excludepath /nix/store
|
||||||
|
|
||||||
eval "$postRPMInstall"
|
eval "$postRPMInstall"
|
||||||
|
|
||||||
echo "uninstalling ''${rpmNames[*]}..."
|
echo "uninstalling ''${rpmNames[*]}..."
|
||||||
rpm -e ''${rpmNames[*]}
|
rpm -e ''${rpmNames[*]} --nodeps
|
||||||
|
|
||||||
for i in $out/rpms/*/*.src.rpm; do
|
for i in $out/rpms/*/*.src.rpm; do
|
||||||
echo "file srpm $i" >> $out/nix-support/hydra-build-products
|
echo "file srpm $i" >> $out/nix-support/hydra-build-products
|
||||||
|
|||||||
@@ -0,0 +1,30 @@
|
|||||||
|
{ stdenv, fetchurl, unzip }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
name = "lmmath-0.903";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "http://www.gust.org.pl/projects/e-foundry/lm-math/download/lmmath0903otf";
|
||||||
|
sha256 = "ee96cb14f5c746d6c6b9ecfbdf97dafc2f535be3dd277e15e8ea6fb594995d64";
|
||||||
|
name = "lmmath-0.903.zip";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [unzip];
|
||||||
|
|
||||||
|
sourceRoot = ".";
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/texmf/fonts/opentype
|
||||||
|
mkdir -p $out/share/fonts/opentype
|
||||||
|
|
||||||
|
cp *.{OTF,otf} $out/texmf/fonts/opentype/lmmath-regular.otf
|
||||||
|
cp *.{OTF,otf} $out/share/fonts/opentype/lmmath-regular.otf
|
||||||
|
|
||||||
|
ln -s $out/texmf* $out/share/
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Latin Modern font";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
{ stdenv, fetchurl }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
name = "tipa-1.3";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "mirror://debian/pool/main/t/tipa/tipa_1.3.orig.tar.gz";
|
||||||
|
sha256 = "1q1sisxdcd2zd9b7mnagr2mxf9v3n1r4s5892zx5ly4r0niyya9m";
|
||||||
|
};
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
export PREFIX="$out/texmf"
|
||||||
|
mkdir -p "$PREFIX" "$out/share"
|
||||||
|
make install PREFIX="$PREFIX"
|
||||||
|
|
||||||
|
ln -s $out/texmf* $out/share/
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Phonetic font for TeX";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
{ stdenv, fetchurl }:
|
{ stdenv, fetchurl }:
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "20110511";
|
version = "20120614";
|
||||||
pname = "mobile-broadband-provider-info";
|
pname = "mobile-broadband-provider-info";
|
||||||
name = "${pname}-${version}";
|
name = "${pname}-${version}";
|
||||||
in
|
in
|
||||||
@@ -9,8 +9,8 @@ stdenv.mkDerivation rec {
|
|||||||
inherit name;
|
inherit name;
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://gnome/sources/${pname}/${version}/${name}.tar.bz2";
|
url = "mirror://gnome/sources/${pname}/${version}/${name}.tar.xz";
|
||||||
sha256 = "0cny8bd6kdwvabnwdr00f4wp4xjbc8ynp0kcdg72c1q9186kdikj";
|
sha256 = "72507a732e0cd16cf27424bb094b1c7a03e2206c119ad124722a283e587755f1";
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
|
|||||||
@@ -13,8 +13,9 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
phases = "unpackPhase configurePhase buildPhase installPhase";
|
phases = "unpackPhase configurePhase buildPhase installPhase";
|
||||||
|
|
||||||
# You should be using WAF instead; see the file INSTALL.WAF
|
# WAF is probably the biggest crap on this planet, btw i removed the /gtk-2.0 path thingy
|
||||||
configurePhase = ''
|
configurePhase = ''
|
||||||
|
sed -e "s@{PYTHONDIR}/gtk-2.0@{PYTHONDIR}/@" -i gconf/wscript
|
||||||
python waf configure --prefix=$out
|
python waf configure --prefix=$out
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
|||||||
@@ -44,6 +44,8 @@
|
|||||||
|
|
||||||
gnome_mime_data = callPackage ./platform/gnome-mime-data { };
|
gnome_mime_data = callPackage ./platform/gnome-mime-data { };
|
||||||
|
|
||||||
|
gnome_python = callPackage ./bindings/gnome-python { };
|
||||||
|
|
||||||
gnome_vfs = callPackage ./platform/gnome-vfs { };
|
gnome_vfs = callPackage ./platform/gnome-vfs { };
|
||||||
|
|
||||||
gnome_vfs_monikers = callPackage ./platform/gnome-vfs-monikers { };
|
gnome_vfs_monikers = callPackage ./platform/gnome-vfs-monikers { };
|
||||||
@@ -115,6 +117,4 @@
|
|||||||
|
|
||||||
libglademm = callPackage ./bindings/libglademm { };
|
libglademm = callPackage ./bindings/libglademm { };
|
||||||
|
|
||||||
gnome_python = callPackage ./bindings/gnome-python { };
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,12 +1,14 @@
|
|||||||
{ stdenv, fetchurl, pkgconfig, intltool, iconnamingutils }:
|
{ stdenv, fetchurl, pkgconfig, intltool, iconnamingutils, gtk }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "gnome-icon-theme-2.30.3";
|
#name = "gnome-icon-theme-3.4.0";
|
||||||
|
name = "gnome-icon-theme-2.91.93";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = mirror://gnome/sources/gnome-icon-theme/2.30/gnome-icon-theme-2.30.3.tar.bz2;
|
#url = "mirror://gnome/sources/gnome-icon-theme/3.4/${name}.tar.xz";
|
||||||
sha256 = "1iysjfw3rajv9skdhshwcbjsm4jrsl6sfvqzrfynsfl4fyfjyzj1";
|
url = "mirror://gnome/sources/gnome-icon-theme/2.91/${name}.tar.bz2";
|
||||||
|
sha256 = "cc7f15e54e2640697b58c26e74cc3f6ebadeb4ef6622bffe9c1e6874cc3478d6";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildNativeInputs = [ pkgconfig intltool iconnamingutils ];
|
buildNativeInputs = [ pkgconfig intltool iconnamingutils gtk ];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,6 +27,8 @@ kde {
|
|||||||
--replace /usr/share/X11 ${xkeyboard_config}/etc/X11
|
--replace /usr/share/X11 ${xkeyboard_config}/etc/X11
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
enableParallelBuilding = false;
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "KDE workspace components such as Plasma, Kwin and System Settings";
|
description = "KDE workspace components such as Plasma, Kwin and System Settings";
|
||||||
license = "GPLv2";
|
license = "GPLv2";
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ stdenv, fetchurl, pkgconfig, glib, dbus, intltool, udev, libgdu }:
|
{ stdenv, fetchurl, pkgconfig, glib, dbus, intltool, udev, libgdu, fuse }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "gvfs-1.8.2";
|
name = "gvfs-1.8.2";
|
||||||
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "0895ac8f6d416e1b15433b6b6b68eb119c6e8b04fdb66db665d684355ef89345";
|
sha256 = "0895ac8f6d416e1b15433b6b6b68eb119c6e8b04fdb66db665d684355ef89345";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ pkgconfig glib dbus.libs intltool udev libgdu ];
|
buildInputs = [ pkgconfig glib dbus.libs intltool udev libgdu fuse ];
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "Virtual Filesystem support library (for Xfce)";
|
description = "Virtual Filesystem support library (for Xfce)";
|
||||||
|
|||||||
@@ -0,0 +1,249 @@
|
|||||||
|
source $stdenv/setup
|
||||||
|
|
||||||
|
|
||||||
|
export NIX_FIXINC_DUMMY=$NIX_BUILD_TOP/dummy
|
||||||
|
mkdir $NIX_FIXINC_DUMMY
|
||||||
|
|
||||||
|
|
||||||
|
if test "$staticCompiler" = "1"; then
|
||||||
|
EXTRA_LDFLAGS="-static"
|
||||||
|
else
|
||||||
|
EXTRA_LDFLAGS=""
|
||||||
|
fi
|
||||||
|
|
||||||
|
# GCC interprets empty paths as ".", which we don't want.
|
||||||
|
if test -z "$CPATH"; then unset CPATH; fi
|
||||||
|
if test -z "$LIBRARY_PATH"; then unset LIBRARY_PATH; fi
|
||||||
|
echo "\$CPATH is \`$CPATH'"
|
||||||
|
echo "\$LIBRARY_PATH is \`$LIBRARY_PATH'"
|
||||||
|
|
||||||
|
if test "$noSysDirs" = "1"; then
|
||||||
|
|
||||||
|
if test -e $NIX_GCC/nix-support/orig-libc; then
|
||||||
|
|
||||||
|
# Figure out what extra flags to pass to the gcc compilers
|
||||||
|
# being generated to make sure that they use our glibc.
|
||||||
|
extraFlags="$(cat $NIX_GCC/nix-support/libc-cflags)"
|
||||||
|
extraLDFlags="$(cat $NIX_GCC/nix-support/libc-ldflags) $(cat $NIX_GCC/nix-support/libc-ldflags-before)"
|
||||||
|
|
||||||
|
# Use *real* header files, otherwise a limits.h is generated
|
||||||
|
# that does not include Glibc's limits.h (notably missing
|
||||||
|
# SSIZE_MAX, which breaks the build).
|
||||||
|
export NIX_FIXINC_DUMMY=$(cat $NIX_GCC/nix-support/orig-libc)/include
|
||||||
|
|
||||||
|
# The path to the Glibc binaries such as `crti.o'.
|
||||||
|
glibc_libdir="$(cat $NIX_GCC/nix-support/orig-libc)/lib"
|
||||||
|
|
||||||
|
else
|
||||||
|
# Hack: support impure environments.
|
||||||
|
extraFlags="-isystem /usr/include"
|
||||||
|
extraLDFlags="-L/usr/lib64 -L/usr/lib"
|
||||||
|
glibc_libdir="/usr/lib"
|
||||||
|
export NIX_FIXINC_DUMMY=/usr/include
|
||||||
|
fi
|
||||||
|
|
||||||
|
extraFlags="-I$NIX_FIXINC_DUMMY $extraFlags"
|
||||||
|
extraLDFlags="-L$glibc_libdir -rpath $glibc_libdir $extraLDFlags"
|
||||||
|
|
||||||
|
# BOOT_CFLAGS defaults to `-g -O2'; since we override it below,
|
||||||
|
# make sure to explictly add them so that files compiled with the
|
||||||
|
# bootstrap compiler are optimized and (optionally) contain
|
||||||
|
# debugging information (info "(gccinstall) Building").
|
||||||
|
if test -n "$dontStrip"; then
|
||||||
|
extraFlags="-O2 -g $extraFlags"
|
||||||
|
else
|
||||||
|
# Don't pass `-g' at all; this saves space while building.
|
||||||
|
extraFlags="-O2 $extraFlags"
|
||||||
|
fi
|
||||||
|
|
||||||
|
EXTRA_FLAGS="$extraFlags"
|
||||||
|
for i in $extraLDFlags; do
|
||||||
|
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,$i"
|
||||||
|
done
|
||||||
|
|
||||||
|
if test -n "$targetConfig"; then
|
||||||
|
# Cross-compiling, we need gcc not to read ./specs in order to build
|
||||||
|
# the g++ compiler (after the specs for the cross-gcc are created).
|
||||||
|
# Having LIBRARY_PATH= makes gcc read the specs from ., and the build
|
||||||
|
# breaks. Having this variable comes from the default.nix code to bring
|
||||||
|
# gcj in.
|
||||||
|
unset LIBRARY_PATH
|
||||||
|
unset CPATH
|
||||||
|
if test -z "$crossStageStatic"; then
|
||||||
|
EXTRA_TARGET_CFLAGS="-B${libcCross}/lib -idirafter ${libcCross}/include"
|
||||||
|
EXTRA_TARGET_LDFLAGS="-Wl,-L${libcCross}/lib"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
if test -z "$NIX_GCC_CROSS"; then
|
||||||
|
EXTRA_TARGET_CFLAGS="$EXTRA_FLAGS"
|
||||||
|
EXTRA_TARGET_CXXFLAGS="$EXTRA_FLAGS"
|
||||||
|
EXTRA_TARGET_LDFLAGS="$EXTRA_LDFLAGS"
|
||||||
|
else
|
||||||
|
# This the case of cross-building the gcc.
|
||||||
|
# We need special flags for the target, different than those of the build
|
||||||
|
# Assertion:
|
||||||
|
test -e $NIX_GCC_CROSS/nix-support/orig-libc
|
||||||
|
|
||||||
|
# Figure out what extra flags to pass to the gcc compilers
|
||||||
|
# being generated to make sure that they use our glibc.
|
||||||
|
extraFlags="$(cat $NIX_GCC_CROSS/nix-support/libc-cflags)"
|
||||||
|
extraLDFlags="$(cat $NIX_GCC_CROSS/nix-support/libc-ldflags) $(cat $NIX_GCC_CROSS/nix-support/libc-ldflags-before)"
|
||||||
|
|
||||||
|
# Use *real* header files, otherwise a limits.h is generated
|
||||||
|
# that does not include Glibc's limits.h (notably missing
|
||||||
|
# SSIZE_MAX, which breaks the build).
|
||||||
|
NIX_FIXINC_DUMMY_CROSS=$(cat $NIX_GCC_CROSS/nix-support/orig-libc)/include
|
||||||
|
|
||||||
|
# The path to the Glibc binaries such as `crti.o'.
|
||||||
|
glibc_libdir="$(cat $NIX_GCC_CROSS/nix-support/orig-libc)/lib"
|
||||||
|
|
||||||
|
extraFlags="-I$NIX_FIXINC_DUMMY_CROSS $extraFlags"
|
||||||
|
extraLDFlags="-L$glibc_libdir -rpath $glibc_libdir $extraLDFlags"
|
||||||
|
|
||||||
|
EXTRA_TARGET_CFLAGS="$extraFlags"
|
||||||
|
for i in $extraLDFlags; do
|
||||||
|
EXTRA_TARGET_LDFLAGS="$EXTRA_TARGET_LDFLAGS -Wl,$i"
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
# CFLAGS_FOR_TARGET are needed for the libstdc++ configure script to find
|
||||||
|
# the startfiles.
|
||||||
|
# FLAGS_FOR_TARGET are needed for the target libraries to receive the -Bxxx
|
||||||
|
# for the startfiles.
|
||||||
|
makeFlagsArray=( \
|
||||||
|
"${makeFlagsArray[@]}" \
|
||||||
|
NATIVE_SYSTEM_HEADER_DIR="$NIX_FIXINC_DUMMY" \
|
||||||
|
SYSTEM_HEADER_DIR="$NIX_FIXINC_DUMMY" \
|
||||||
|
CFLAGS_FOR_BUILD="$EXTRA_FLAGS $EXTRA_LDFLAGS" \
|
||||||
|
CXXFLAGS_FOR_BUILD="$EXTRA_FLAGS $EXTRA_LDFLAGS" \
|
||||||
|
CFLAGS_FOR_TARGET="$EXTRA_TARGET_CFLAGS $EXTRA_TARGET_LDFLAGS" \
|
||||||
|
CXXFLAGS_FOR_TARGET="$EXTRA_TARGET_CFLAGS $EXTRA_TARGET_LDFLAGS" \
|
||||||
|
FLAGS_FOR_TARGET="$EXTRA_TARGET_CFLAGS $EXTRA_TARGET_LDFLAGS" \
|
||||||
|
LDFLAGS_FOR_BUILD="$EXTRA_FLAGS $EXTRA_LDFLAGS" \
|
||||||
|
LDFLAGS_FOR_TARGET="$EXTRA_TARGET_LDFLAGS $EXTRA_TARGET_LDFLAGS" \
|
||||||
|
)
|
||||||
|
|
||||||
|
if test -z "$targetConfig"; then
|
||||||
|
makeFlagsArray=( \
|
||||||
|
"${makeFlagsArray[@]}" \
|
||||||
|
BOOT_CFLAGS="$EXTRA_FLAGS $EXTRA_LDFLAGS" \
|
||||||
|
BOOT_LDFLAGS="$EXTRA_TARGET_CFLAGS $EXTRA_TARGET_LDFLAGS" \
|
||||||
|
)
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test -n "$targetConfig" -a "$crossStageStatic" == 1; then
|
||||||
|
# We don't want the gcc build to assume there will be a libc providing
|
||||||
|
# limits.h in this stagae
|
||||||
|
makeFlagsArray=( \
|
||||||
|
"${makeFlagsArray[@]}" \
|
||||||
|
LIMITS_H_TEST=false \
|
||||||
|
)
|
||||||
|
else
|
||||||
|
makeFlagsArray=( \
|
||||||
|
"${makeFlagsArray[@]}" \
|
||||||
|
LIMITS_H_TEST=true \
|
||||||
|
)
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test -n "$targetConfig"; then
|
||||||
|
# The host strip will destroy some important details of the objects
|
||||||
|
dontStrip=1
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
preConfigure() {
|
||||||
|
if test -n "$newlibSrc"; then
|
||||||
|
tar xvf "$newlibSrc" -C ..
|
||||||
|
ln -s ../newlib-*/newlib newlib
|
||||||
|
# Patch to get armvt5el working:
|
||||||
|
sed -i -e 's/ arm)/ arm*)/' newlib/configure.host
|
||||||
|
fi
|
||||||
|
# Bug - they packaged zlib
|
||||||
|
if test -d "zlib"; then
|
||||||
|
# This breaks the build without-headers, which should build only
|
||||||
|
# the target libgcc as target libraries.
|
||||||
|
# See 'configure:5370'
|
||||||
|
rm -Rf zlib
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test -f "$NIX_GCC/nix-support/orig-libc"; then
|
||||||
|
# Patch the configure script so it finds glibc headers. It's
|
||||||
|
# important for example in order not to get libssp built,
|
||||||
|
# because its functionality is in glibc already.
|
||||||
|
glibc_headers="$(cat $NIX_GCC/nix-support/orig-libc)/include"
|
||||||
|
sed -i \
|
||||||
|
-e "s,glibc_header_dir=/usr/include,glibc_header_dir=$glibc_headers", \
|
||||||
|
gcc/configure
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test -n "$crossMingw" -a -n "$crossStageStatic"; then
|
||||||
|
mkdir -p ../mingw
|
||||||
|
# --with-build-sysroot expects that:
|
||||||
|
cp -R $libcCross/include ../mingw
|
||||||
|
configureFlags="$configureFlags --with-build-sysroot=`pwd`/.."
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Perform the build in a different directory.
|
||||||
|
mkdir ../build
|
||||||
|
cd ../build
|
||||||
|
configureScript=../$sourceRoot/configure
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
postConfigure() {
|
||||||
|
# Don't store the configure flags in the resulting executables.
|
||||||
|
sed -e '/TOPLEVEL_CONFIGURE_ARGUMENTS=/d' -i Makefile
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
postInstall() {
|
||||||
|
# Remove precompiled headers for now. They are very big and
|
||||||
|
# probably not very useful yet.
|
||||||
|
find $out/include -name "*.gch" -exec rm -rf {} \; -prune
|
||||||
|
|
||||||
|
# Remove `fixincl' to prevent a retained dependency on the
|
||||||
|
# previous gcc.
|
||||||
|
rm -rf $out/libexec/gcc/*/*/install-tools
|
||||||
|
rm -rf $out/lib/gcc/*/*/install-tools
|
||||||
|
|
||||||
|
# More dependencies with the previous gcc or some libs (gccbug stores the build command line)
|
||||||
|
rm -rf $out/bin/gccbug
|
||||||
|
# Take out the bootstrap-tools from the rpath, as it's not needed at all having $out
|
||||||
|
for i in $out/libexec/gcc/*/*/*; do
|
||||||
|
if PREV_RPATH=`patchelf --print-rpath $i`; then
|
||||||
|
patchelf --set-rpath `echo $PREV_RPATH | sed 's,:[^:]*bootstrap-tools/lib,,'` $i
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# Get rid of some "fixed" header files
|
||||||
|
rm -rf $out/lib/gcc/*/*/include/root
|
||||||
|
|
||||||
|
# Replace hard links for i686-pc-linux-gnu-gcc etc. with symlinks.
|
||||||
|
for i in $out/bin/*-gcc*; do
|
||||||
|
if cmp -s $out/bin/gcc $i; then
|
||||||
|
ln -sfn gcc $i
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
for i in $out/bin/c++ $out/bin/*-c++* $out/bin/*-g++*; do
|
||||||
|
if cmp -s $out/bin/g++ $i; then
|
||||||
|
ln -sfn g++ $i
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
eval "$postInstallGhdl"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if test -z "$targetConfig" && test -z "$crossConfig"; then
|
||||||
|
if test -z "$profiledCompiler"; then
|
||||||
|
buildFlags="bootstrap $buildFlags"
|
||||||
|
else
|
||||||
|
buildFlags="profiledbootstrap $buildFlags"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
genericBuild
|
||||||
@@ -0,0 +1,452 @@
|
|||||||
|
{ stdenv, fetchurl, noSysDirs
|
||||||
|
, langC ? true, langCC ? true, langFortran ? false
|
||||||
|
, langJava ? false
|
||||||
|
, langAda ? false
|
||||||
|
, langVhdl ? false
|
||||||
|
, langGo ? false
|
||||||
|
, profiledCompiler ? false
|
||||||
|
, staticCompiler ? false
|
||||||
|
, enableShared ? true
|
||||||
|
, texinfo ? null
|
||||||
|
, perl ? null # optional, for texi2pod (then pod2man); required for Java
|
||||||
|
, gmp, mpfr, mpc, gettext, which
|
||||||
|
, libelf # optional, for link-time optimizations (LTO)
|
||||||
|
, ppl ? null, cloog ? null # optional, for the Graphite optimization framework.
|
||||||
|
, zlib ? null, boehmgc ? null
|
||||||
|
, zip ? null, unzip ? null, pkgconfig ? null, gtk ? null, libart_lgpl ? null
|
||||||
|
, libX11 ? null, libXt ? null, libSM ? null, libICE ? null, libXtst ? null
|
||||||
|
, libXrender ? null, xproto ? null, renderproto ? null, xextproto ? null
|
||||||
|
, libXrandr ? null, libXi ? null, inputproto ? null, randrproto ? null
|
||||||
|
, gnatboot ? null
|
||||||
|
, enableMultilib ? false
|
||||||
|
, enablePlugin ? true # whether to support user-supplied plug-ins
|
||||||
|
, name ? "gcc"
|
||||||
|
, cross ? null
|
||||||
|
, binutilsCross ? null
|
||||||
|
, libcCross ? null
|
||||||
|
, crossStageStatic ? true
|
||||||
|
, gnat ? null
|
||||||
|
, libpthread ? null, libpthreadCross ? null # required for GNU/Hurd
|
||||||
|
, stripped ? true
|
||||||
|
, gnused ? null
|
||||||
|
}:
|
||||||
|
|
||||||
|
assert langJava -> zip != null && unzip != null
|
||||||
|
&& zlib != null && boehmgc != null
|
||||||
|
&& perl != null; # for `--enable-java-home'
|
||||||
|
assert langAda -> gnatboot != null;
|
||||||
|
assert langVhdl -> gnat != null;
|
||||||
|
|
||||||
|
# LTO needs libelf and zlib.
|
||||||
|
assert libelf != null -> zlib != null;
|
||||||
|
|
||||||
|
# Make sure we get GNU sed.
|
||||||
|
assert stdenv.isDarwin -> gnused != null;
|
||||||
|
|
||||||
|
# The go frontend is written in c++
|
||||||
|
assert langGo -> langCC;
|
||||||
|
|
||||||
|
with stdenv.lib;
|
||||||
|
with builtins;
|
||||||
|
|
||||||
|
let version = "4.7.1";
|
||||||
|
|
||||||
|
# Whether building a cross-compiler for GNU/Hurd.
|
||||||
|
crossGNU = cross != null && cross.config == "i586-pc-gnu";
|
||||||
|
|
||||||
|
patches = [ ]
|
||||||
|
++ optional (cross != null) ./libstdc++-target.patch
|
||||||
|
# ++ optional noSysDirs ./no-sys-dirs.patch
|
||||||
|
# The GNAT Makefiles did not pay attention to CFLAGS_FOR_TARGET for its
|
||||||
|
# target libraries and tools.
|
||||||
|
++ optional langAda ./gnat-cflags.patch
|
||||||
|
++ optional langFortran ./gfortran-driving.patch
|
||||||
|
++ optional (stdenv.isGNU || crossGNU) ./hurd-sigrtmin.patch;
|
||||||
|
|
||||||
|
javaEcj = fetchurl {
|
||||||
|
# The `$(top_srcdir)/ecj.jar' file is automatically picked up at
|
||||||
|
# `configure' time.
|
||||||
|
|
||||||
|
# XXX: Eventually we might want to take it from upstream.
|
||||||
|
url = "ftp://sourceware.org/pub/java/ecj-4.3.jar";
|
||||||
|
sha256 = "0jz7hvc0s6iydmhgh5h2m15yza7p2rlss2vkif30vm9y77m97qcx";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Antlr (optional) allows the Java `gjdoc' tool to be built. We want a
|
||||||
|
# binary distribution here to allow the whole chain to be bootstrapped.
|
||||||
|
javaAntlr = fetchurl {
|
||||||
|
url = http://www.antlr.org/download/antlr-3.1.3.jar;
|
||||||
|
sha256 = "1f41j0y4kjydl71lqlvr73yagrs2jsg1fjymzjz66mjy7al5lh09";
|
||||||
|
};
|
||||||
|
|
||||||
|
xlibs = [
|
||||||
|
libX11 libXt libSM libICE libXtst libXrender libXrandr libXi
|
||||||
|
xproto renderproto xextproto inputproto randrproto
|
||||||
|
];
|
||||||
|
|
||||||
|
javaAwtGtk = langJava && gtk != null;
|
||||||
|
|
||||||
|
/* Cross-gcc settings */
|
||||||
|
gccArch = stdenv.lib.attrByPath [ "gcc" "arch" ] null cross;
|
||||||
|
gccCpu = stdenv.lib.attrByPath [ "gcc" "cpu" ] null cross;
|
||||||
|
gccAbi = stdenv.lib.attrByPath [ "gcc" "abi" ] null cross;
|
||||||
|
withArch = if gccArch != null then " --with-arch=${gccArch}" else "";
|
||||||
|
withCpu = if gccCpu != null then " --with-cpu=${gccCpu}" else "";
|
||||||
|
withAbi = if gccAbi != null then " --with-abi=${gccAbi}" else "";
|
||||||
|
crossMingw = (cross != null && cross.libc == "msvcrt");
|
||||||
|
|
||||||
|
crossConfigureFlags =
|
||||||
|
"--target=${cross.config}" +
|
||||||
|
withArch +
|
||||||
|
withCpu +
|
||||||
|
withAbi +
|
||||||
|
(if (crossMingw && crossStageStatic) then
|
||||||
|
" --with-headers=${libcCross}/include" +
|
||||||
|
" --with-gcc" +
|
||||||
|
" --with-gnu-as" +
|
||||||
|
" --with-gnu-ld" +
|
||||||
|
" --with-gnu-ld" +
|
||||||
|
" --disable-shared" +
|
||||||
|
" --disable-nls" +
|
||||||
|
" --disable-debug" +
|
||||||
|
" --enable-sjlj-exceptions" +
|
||||||
|
" --enable-threads=win32" +
|
||||||
|
" --disable-win32-registry"
|
||||||
|
else if crossStageStatic then
|
||||||
|
" --disable-libssp --disable-nls" +
|
||||||
|
" --without-headers" +
|
||||||
|
" --disable-threads " +
|
||||||
|
" --disable-libmudflap " +
|
||||||
|
" --disable-libgomp " +
|
||||||
|
" --disable-libquadmath" +
|
||||||
|
" --disable-shared" +
|
||||||
|
" --disable-decimal-float" # libdecnumber requires libc
|
||||||
|
else
|
||||||
|
" --with-headers=${libcCross}/include" +
|
||||||
|
" --enable-__cxa_atexit" +
|
||||||
|
" --enable-long-long" +
|
||||||
|
(if crossMingw then
|
||||||
|
" --enable-threads=win32" +
|
||||||
|
" --enable-sjlj-exceptions" +
|
||||||
|
" --enable-hash-synchronization" +
|
||||||
|
" --disable-libssp" +
|
||||||
|
" --disable-nls" +
|
||||||
|
" --with-dwarf2" +
|
||||||
|
# I think noone uses shared gcc libs in mingw, so we better do the same.
|
||||||
|
# In any case, mingw32 g++ linking is broken by default with shared libs,
|
||||||
|
# unless adding "-lsupc++" to any linking command. I don't know why.
|
||||||
|
" --disable-shared" +
|
||||||
|
(if cross.config == "x86_64-w64-mingw32" then
|
||||||
|
# To keep ABI compatibility with upstream mingw-w64
|
||||||
|
" --enable-fully-dynamic-string"
|
||||||
|
else "")
|
||||||
|
else (if cross.libc == "uclibc" then
|
||||||
|
# In uclibc cases, libgomp needs an additional '-ldl'
|
||||||
|
# and as I don't know how to pass it, I disable libgomp.
|
||||||
|
" --disable-libgomp" else "") +
|
||||||
|
" --enable-threads=posix" +
|
||||||
|
" --enable-nls" +
|
||||||
|
" --disable-decimal-float") # No final libdecnumber (it may work only in 386)
|
||||||
|
);
|
||||||
|
stageNameAddon = if (crossStageStatic) then "-stage-static" else
|
||||||
|
"-stage-final";
|
||||||
|
crossNameAddon = if (cross != null) then "-${cross.config}" + stageNameAddon else "";
|
||||||
|
|
||||||
|
in
|
||||||
|
|
||||||
|
# We need all these X libraries when building AWT with GTK+.
|
||||||
|
assert gtk != null -> (filter (x: x == null) xlibs) == [];
|
||||||
|
|
||||||
|
stdenv.mkDerivation ({
|
||||||
|
name = "${name}${if stripped then "" else "-debug"}-${version}" + crossNameAddon;
|
||||||
|
|
||||||
|
builder = ./builder.sh;
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "http://ftp.gnu.org/gnu/gcc/gcc-4.7.1/gcc-4.7.1.tar.bz2";
|
||||||
|
sha256 = "0vs0v89zzgkngkw2p8kdynyk7j8ky4wf6zyrg3rsschpl1pky28n";
|
||||||
|
};
|
||||||
|
|
||||||
|
inherit patches;
|
||||||
|
|
||||||
|
postPatch =
|
||||||
|
if (stdenv.isGNU
|
||||||
|
|| (libcCross != null # e.g., building `gcc.hostDrv'
|
||||||
|
&& libcCross ? crossConfig
|
||||||
|
&& libcCross.crossConfig == "i586-pc-gnu")
|
||||||
|
|| (crossGNU && libcCross != null))
|
||||||
|
then
|
||||||
|
# On GNU/Hurd glibc refers to Hurd & Mach headers and libpthread is not
|
||||||
|
# in glibc, so add the right `-I' flags to the default spec string.
|
||||||
|
assert libcCross != null -> libpthreadCross != null;
|
||||||
|
let
|
||||||
|
libc = if libcCross != null then libcCross else stdenv.glibc;
|
||||||
|
gnu_h = "gcc/config/gnu.h";
|
||||||
|
i386_gnu_h = "gcc/config/i386/gnu.h";
|
||||||
|
extraCPPDeps =
|
||||||
|
libc.propagatedBuildInputs
|
||||||
|
++ stdenv.lib.optional (libpthreadCross != null) libpthreadCross
|
||||||
|
++ stdenv.lib.optional (libpthread != null) libpthread;
|
||||||
|
extraCPPSpec =
|
||||||
|
concatStrings (intersperse " "
|
||||||
|
(map (x: "-I${x}/include") extraCPPDeps));
|
||||||
|
extraLibSpec =
|
||||||
|
if libpthreadCross != null
|
||||||
|
then "-L${libpthreadCross}/lib ${libpthreadCross.TARGET_LDFLAGS}"
|
||||||
|
else "-L${libpthread}/lib";
|
||||||
|
in
|
||||||
|
'' echo "augmenting \`CPP_SPEC' in \`${i386_gnu_h}' with \`${extraCPPSpec}'..."
|
||||||
|
sed -i "${i386_gnu_h}" \
|
||||||
|
-es'|CPP_SPEC *"\(.*\)$|CPP_SPEC "${extraCPPSpec} \1|g'
|
||||||
|
|
||||||
|
echo "augmenting \`LIB_SPEC' in \`${gnu_h}' with \`${extraLibSpec}'..."
|
||||||
|
sed -i "${gnu_h}" \
|
||||||
|
-es'|LIB_SPEC *"\(.*\)$|LIB_SPEC "${extraLibSpec} \1|g'
|
||||||
|
|
||||||
|
echo "setting \`NATIVE_SYSTEM_HEADER_DIR' and \`STANDARD_INCLUDE_DIR' to \`${libc}/include'..."
|
||||||
|
sed -i "${gnu_h}" \
|
||||||
|
-es'|#define STANDARD_INCLUDE_DIR.*$|#define STANDARD_INCLUDE_DIR "${libc}/include"|g'
|
||||||
|
sed -i gcc/config/t-gnu \
|
||||||
|
-es'|NATIVE_SYSTEM_HEADER_DIR.*$|NATIVE_SYSTEM_HEADER_DIR = ${libc}/include|g'
|
||||||
|
''
|
||||||
|
else if cross != null || stdenv.gcc.libc != null then
|
||||||
|
# On NixOS, use the right path to the dynamic linker instead of
|
||||||
|
# `/lib/ld*.so'.
|
||||||
|
let
|
||||||
|
libc = if (libcCross != null) then libcCross else stdenv.gcc.libc;
|
||||||
|
in
|
||||||
|
'' echo "fixing the \`GLIBC_DYNAMIC_LINKER' and \`UCLIBC_DYNAMIC_LINKER' macros..."
|
||||||
|
for header in "gcc/config/"*-gnu.h "gcc/config/"*"/"*.h
|
||||||
|
do
|
||||||
|
grep -q LIBC_DYNAMIC_LINKER "$header" || continue
|
||||||
|
echo " fixing \`$header'..."
|
||||||
|
sed -i "$header" \
|
||||||
|
-e 's|define[[:blank:]]*\([UCG]\+\)LIBC_DYNAMIC_LINKER\([0-9]*\)[[:blank:]]"\([^\"]\+\)"$|define \1LIBC_DYNAMIC_LINKER\2 "${libc}\3"|g'
|
||||||
|
done
|
||||||
|
''
|
||||||
|
else null;
|
||||||
|
|
||||||
|
inherit noSysDirs profiledCompiler staticCompiler langJava crossStageStatic
|
||||||
|
libcCross crossMingw;
|
||||||
|
|
||||||
|
buildNativeInputs = [ texinfo which gettext ]
|
||||||
|
++ (optional (perl != null) perl)
|
||||||
|
++ (optional javaAwtGtk pkgconfig);
|
||||||
|
|
||||||
|
buildInputs = [ gmp mpfr mpc libelf ]
|
||||||
|
++ (optional (ppl != null) ppl)
|
||||||
|
++ (optional (cloog != null) cloog)
|
||||||
|
++ (optional (zlib != null) zlib)
|
||||||
|
++ (optionals langJava [ boehmgc zip unzip ])
|
||||||
|
++ (optionals javaAwtGtk ([ gtk libart_lgpl ] ++ xlibs))
|
||||||
|
++ (optionals (cross != null) [binutilsCross])
|
||||||
|
++ (optionals langAda [gnatboot])
|
||||||
|
++ (optionals langVhdl [gnat])
|
||||||
|
|
||||||
|
# The builder relies on GNU sed (for instance, Darwin's `sed' fails with
|
||||||
|
# "-i may not be used with stdin"), and `stdenvNative' doesn't provide it.
|
||||||
|
++ (optional stdenv.isDarwin gnused)
|
||||||
|
;
|
||||||
|
|
||||||
|
configureFlagsArray = stdenv.lib.optionals
|
||||||
|
(ppl != null && ppl ? dontDisableStatic && ppl.dontDisableStatic)
|
||||||
|
[ "--with-host-libstdcxx=-lstdc++ -lgcc_s" ];
|
||||||
|
|
||||||
|
# 'iant' at #go-nuts@freenode, gccgo maintainer, said that
|
||||||
|
# they have a bug in 4.7.1 if adding "--disable-static"
|
||||||
|
dontDisableStatic = langGo;
|
||||||
|
|
||||||
|
configureFlags = "
|
||||||
|
${if enableMultilib then "" else "--disable-multilib"}
|
||||||
|
${if enableShared then "" else "--disable-shared"}
|
||||||
|
${if enablePlugin then "--enable-plugin" else ""}
|
||||||
|
${if ppl != null then "--with-ppl=${ppl}" else ""}
|
||||||
|
${if cloog != null then
|
||||||
|
"--with-cloog=${cloog} --enable-cloog-backend=isl"
|
||||||
|
else ""}
|
||||||
|
${if langJava then
|
||||||
|
"--with-ecj-jar=${javaEcj} " +
|
||||||
|
|
||||||
|
# Follow Sun's layout for the convenience of IcedTea/OpenJDK. See
|
||||||
|
# <http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2010-April/008888.html>.
|
||||||
|
"--enable-java-home --with-java-home=\${prefix}/lib/jvm/jre "
|
||||||
|
else ""}
|
||||||
|
${if javaAwtGtk then "--enable-java-awt=gtk" else ""}
|
||||||
|
${if langJava && javaAntlr != null then "--with-antlr-jar=${javaAntlr}" else ""}
|
||||||
|
--with-gmp=${gmp}
|
||||||
|
--with-mpfr=${mpfr}
|
||||||
|
--with-mpc=${mpc}
|
||||||
|
${if (libelf != null) then "--with-libelf=${libelf}" else ""}
|
||||||
|
--disable-libstdcxx-pch
|
||||||
|
--without-included-gettext
|
||||||
|
--with-system-zlib
|
||||||
|
--enable-languages=${
|
||||||
|
concatStrings (intersperse ","
|
||||||
|
( optional langC "c"
|
||||||
|
++ optional langCC "c++"
|
||||||
|
++ optional langFortran "fortran"
|
||||||
|
++ optional langJava "java"
|
||||||
|
++ optional langAda "ada"
|
||||||
|
++ optional langVhdl "vhdl"
|
||||||
|
++ optional langGo "go"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
${if (stdenv ? glibc) then " --with-native-system-header-dir=${stdenv.glibc}/include" else ""}
|
||||||
|
${ # Trick that should be taken out once we have a mips64el-linux not loongson2f
|
||||||
|
if cross == null && stdenv.system == "mips64el-linux" then "--with-arch=loongson2f" else ""}
|
||||||
|
${if langAda then " --enable-libada" else ""}
|
||||||
|
${if (cross == null && stdenv.isi686) then "--with-arch=i686" else ""}
|
||||||
|
${if cross != null then crossConfigureFlags else ""}
|
||||||
|
";
|
||||||
|
|
||||||
|
targetConfig = if (cross != null) then cross.config else null;
|
||||||
|
|
||||||
|
installTargets =
|
||||||
|
if stripped
|
||||||
|
then "install-strip"
|
||||||
|
else "install";
|
||||||
|
|
||||||
|
crossAttrs = {
|
||||||
|
patches = patches ++ [ ./hurd-sigrtmin.patch ];
|
||||||
|
AR = "${stdenv.cross.config}-ar";
|
||||||
|
LD = "${stdenv.cross.config}-ld";
|
||||||
|
CC = "${stdenv.cross.config}-gcc";
|
||||||
|
CXX = "${stdenv.cross.config}-gcc";
|
||||||
|
AR_FOR_TARGET = "${stdenv.cross.config}-ar";
|
||||||
|
LD_FOR_TARGET = "${stdenv.cross.config}-ld";
|
||||||
|
CC_FOR_TARGET = "${stdenv.cross.config}-gcc";
|
||||||
|
NM_FOR_TARGET = "${stdenv.cross.config}-nm";
|
||||||
|
CXX_FOR_TARGET = "${stdenv.cross.config}-g++";
|
||||||
|
# If we are making a cross compiler, cross != null
|
||||||
|
NIX_GCC_CROSS = if cross == null then "${stdenv.gccCross}" else "";
|
||||||
|
dontStrip = true;
|
||||||
|
configureFlags = ''
|
||||||
|
${if enableMultilib then "" else "--disable-multilib"}
|
||||||
|
${if enableShared then "" else "--disable-shared"}
|
||||||
|
${if ppl != null then "--with-ppl=${ppl.hostDrv}" else ""}
|
||||||
|
${if cloog != null then "--with-cloog=${cloog.hostDrv} --enable-cloog-backend=isl" else ""}
|
||||||
|
${if langJava then "--with-ecj-jar=${javaEcj.hostDrv}" else ""}
|
||||||
|
${if javaAwtGtk then "--enable-java-awt=gtk" else ""}
|
||||||
|
${if langJava && javaAntlr != null then "--with-antlr-jar=${javaAntlr.hostDrv}" else ""}
|
||||||
|
--with-gmp=${gmp.hostDrv}
|
||||||
|
--with-mpfr=${mpfr.hostDrv}
|
||||||
|
--disable-libstdcxx-pch
|
||||||
|
--without-included-gettext
|
||||||
|
--with-system-zlib
|
||||||
|
--enable-languages=${
|
||||||
|
concatStrings (intersperse ","
|
||||||
|
( optional langC "c"
|
||||||
|
++ optional langCC "c++"
|
||||||
|
++ optional langFortran "fortran"
|
||||||
|
++ optional langJava "java"
|
||||||
|
++ optional langAda "ada"
|
||||||
|
++ optional langVhdl "vhdl"
|
||||||
|
++ optional langGo "go"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
${if langAda then " --enable-libada" else ""}
|
||||||
|
${if (cross == null && stdenv.isi686) then "--with-arch=i686" else ""}
|
||||||
|
${if cross != null then crossConfigureFlags else ""}
|
||||||
|
--target=${stdenv.cross.config}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
# Needed for the cross compilation to work
|
||||||
|
AR = "ar";
|
||||||
|
LD = "ld";
|
||||||
|
CC = "gcc";
|
||||||
|
|
||||||
|
# Setting $CPATH and $LIBRARY_PATH to make sure both `gcc' and `xgcc' find
|
||||||
|
# the library headers and binaries, regarless of the language being
|
||||||
|
# compiled.
|
||||||
|
|
||||||
|
# Note: When building the Java AWT GTK+ peer, the build system doesn't
|
||||||
|
# honor `--with-gmp' et al., e.g., when building
|
||||||
|
# `libjava/classpath/native/jni/java-math/gnu_java_math_GMP.c', so we just
|
||||||
|
# add them to $CPATH and $LIBRARY_PATH in this case.
|
||||||
|
#
|
||||||
|
# Likewise, the LTO code doesn't find zlib.
|
||||||
|
|
||||||
|
CPATH = concatStrings
|
||||||
|
(intersperse ":" (map (x: x + "/include")
|
||||||
|
(optionals (zlib != null) [ zlib ]
|
||||||
|
++ optionals langJava [ boehmgc ]
|
||||||
|
++ optionals javaAwtGtk xlibs
|
||||||
|
++ optionals javaAwtGtk [ gmp mpfr ]
|
||||||
|
++ optional (libpthread != null) libpthread
|
||||||
|
++ optional (libpthreadCross != null) libpthreadCross
|
||||||
|
|
||||||
|
# On GNU/Hurd glibc refers to Mach & Hurd
|
||||||
|
# headers.
|
||||||
|
++ optionals (libcCross != null &&
|
||||||
|
hasAttr "propagatedBuildInputs" libcCross)
|
||||||
|
libcCross.propagatedBuildInputs)));
|
||||||
|
|
||||||
|
LIBRARY_PATH = concatStrings
|
||||||
|
(intersperse ":" (map (x: x + "/lib")
|
||||||
|
(optionals (zlib != null) [ zlib ]
|
||||||
|
++ optionals langJava [ boehmgc ]
|
||||||
|
++ optionals javaAwtGtk xlibs
|
||||||
|
++ optionals javaAwtGtk [ gmp mpfr ]
|
||||||
|
++ optional (libpthread != null) libpthread)));
|
||||||
|
|
||||||
|
EXTRA_TARGET_CFLAGS =
|
||||||
|
if cross != null && libcCross != null
|
||||||
|
then "-idirafter ${libcCross}/include"
|
||||||
|
else null;
|
||||||
|
|
||||||
|
EXTRA_TARGET_LDFLAGS =
|
||||||
|
if cross != null && libcCross != null
|
||||||
|
then "-B${libcCross}/lib -Wl,-L${libcCross}/lib" +
|
||||||
|
(optionalString (libpthreadCross != null)
|
||||||
|
" -L${libpthreadCross}/lib -Wl,${libpthreadCross.TARGET_LDFLAGS}")
|
||||||
|
else null;
|
||||||
|
|
||||||
|
passthru = { inherit langC langCC langAda langFortran langVhdl
|
||||||
|
langGo enableMultilib version; };
|
||||||
|
|
||||||
|
/* From gccinstall.info:
|
||||||
|
"parallel make is currently not supported since collisions in profile
|
||||||
|
collecting may occur"
|
||||||
|
*/
|
||||||
|
enableParallelBuilding = !profiledCompiler;
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
homepage = http://gcc.gnu.org/;
|
||||||
|
license = "GPLv3+"; # runtime support libraries are typically LGPLv3+
|
||||||
|
description = "GNU Compiler Collection, version ${version}"
|
||||||
|
+ (if stripped then "" else " (with debugging info)");
|
||||||
|
|
||||||
|
longDescription = ''
|
||||||
|
The GNU Compiler Collection includes compiler front ends for C, C++,
|
||||||
|
Objective-C, Fortran, OpenMP for C/C++/Fortran, Java, and Ada, as well
|
||||||
|
as libraries for these languages (libstdc++, libgcj, libgomp,...).
|
||||||
|
|
||||||
|
GCC development is a part of the GNU Project, aiming to improve the
|
||||||
|
compiler used in the GNU system including the GNU/Linux variant.
|
||||||
|
'';
|
||||||
|
|
||||||
|
maintainers = [
|
||||||
|
stdenv.lib.maintainers.ludo
|
||||||
|
stdenv.lib.maintainers.viric
|
||||||
|
stdenv.lib.maintainers.shlevy
|
||||||
|
];
|
||||||
|
|
||||||
|
# Volunteers needed for the {Cyg,Dar}win ports of *PPL.
|
||||||
|
# gnatboot is not available out of linux platforms, so we disable the darwin build
|
||||||
|
# for the gnat (ada compiler).
|
||||||
|
platforms = stdenv.lib.platforms.linux ++ optionals (langAda == false && libelf == null) [ "i686-darwin" ];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
// optionalAttrs (cross != null && cross.libc == "msvcrt" && crossStageStatic) {
|
||||||
|
makeFlags = [ "all-gcc" "all-target-libgcc" ];
|
||||||
|
installTargets = "install-gcc install-target-libgcc";
|
||||||
|
}
|
||||||
|
|
||||||
|
# Strip kills static libs of other archs (hence cross != null)
|
||||||
|
// optionalAttrs (!stripped || cross != null) { dontStrip = true; NIX_STRIP_DEBUG = 0; }
|
||||||
|
)
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
This patch fixes interaction with Libtool.
|
||||||
|
See <http://thread.gmane.org/gmane.comp.gcc.patches/258777>, for details.
|
||||||
|
|
||||||
|
--- a/gcc/fortran/gfortranspec.c
|
||||||
|
+++ b/gcc/fortran/gfortranspec.c
|
||||||
|
@@ -461,8 +461,15 @@ For more information about these matters, see the file named COPYING\n\n"));
|
||||||
|
{
|
||||||
|
fprintf (stderr, _("Driving:"));
|
||||||
|
for (i = 0; i < g77_newargc; i++)
|
||||||
|
+ {
|
||||||
|
+ if (g77_new_decoded_options[i].opt_index == OPT_l)
|
||||||
|
+ /* Make sure no white space is inserted after `-l'. */
|
||||||
|
+ fprintf (stderr, " -l%s",
|
||||||
|
+ g77_new_decoded_options[i].canonical_option[1]);
|
||||||
|
+ else
|
||||||
|
fprintf (stderr, " %s",
|
||||||
|
g77_new_decoded_options[i].orig_option_with_args_text);
|
||||||
|
+ }
|
||||||
|
fprintf (stderr, "\n");
|
||||||
|
}
|
||||||
@@ -0,0 +1,33 @@
|
|||||||
|
diff --git a/libada/Makefile.in b/libada/Makefile.in
|
||||||
|
index f5057a0..337e0c6 100644
|
||||||
|
--- a/libada/Makefile.in
|
||||||
|
+++ b/libada/Makefile.in
|
||||||
|
@@ -55,7 +55,7 @@ GCC_WARN_CFLAGS = $(LOOSE_WARN)
|
||||||
|
WARN_CFLAGS = @warn_cflags@
|
||||||
|
|
||||||
|
TARGET_LIBGCC2_CFLAGS=
|
||||||
|
-GNATLIBCFLAGS= -g -O2
|
||||||
|
+GNATLIBCFLAGS= -g -O2 $(CFLAGS)
|
||||||
|
GNATLIBCFLAGS_FOR_C = $(GNATLIBCFLAGS) $(TARGET_LIBGCC2_CFLAGS) -fexceptions \
|
||||||
|
-DIN_RTS @have_getipinfo@
|
||||||
|
|
||||||
|
--- a/gcc/ada/gcc-interface/Makefile.in
|
||||||
|
+++ b/gcc/ada/gcc-interface/Makefile.in
|
||||||
|
@@ -105,7 +105,7 @@ ADAFLAGS = -W -Wall -gnatpg -gnata
|
||||||
|
SOME_ADAFLAGS =-gnata
|
||||||
|
FORCE_DEBUG_ADAFLAGS = -g
|
||||||
|
GNATLIBFLAGS = -gnatpg -nostdinc
|
||||||
|
-GNATLIBCFLAGS = -g -O2
|
||||||
|
+GNATLIBCFLAGS = -g -O2 $(CFLAGS_FOR_TARGET)
|
||||||
|
# Pretend that _Unwind_GetIPInfo is available for the target by default. This
|
||||||
|
# should be autodetected during the configuration of libada and passed down to
|
||||||
|
# here, but we need something for --disable-libada and hope for the best.
|
||||||
|
@@ -193,7 +193,7 @@ RTSDIR = rts$(subst /,_,$(MULTISUBDIR))
|
||||||
|
# Link flags used to build gnat tools. By default we prefer to statically
|
||||||
|
# link with libgcc to avoid a dependency on shared libgcc (which is tricky
|
||||||
|
# to deal with as it may conflict with the libgcc provided by the system).
|
||||||
|
-GCC_LINK_FLAGS=-static-libgcc
|
||||||
|
+GCC_LINK_FLAGS=-static-libgcc $(CFLAGS_FOR_TARGET)
|
||||||
|
|
||||||
|
# End of variables for you to override.
|
||||||
|
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
GNU libc on GNU/Hurd doesn't define `__SIGRTMIN'.
|
||||||
|
From <http://patch-tracker.debian.org/patch/series/view/gcc-4.6/4.6.3-1/hurd-fixes.diff>.
|
||||||
|
|
||||||
|
--- a/libgcc/generic-morestack.c 2011-12-19 21:14:52.000000000 +0100
|
||||||
|
+++ b/libgcc/generic-morestack.c 2011-12-19 21:15:35.000000000 +0100
|
||||||
|
@@ -507,7 +507,7 @@
|
||||||
|
sigemptyset (&__morestack_initial_sp.mask);
|
||||||
|
|
||||||
|
sigfillset (&__morestack_fullmask);
|
||||||
|
-#ifdef __GLIBC__
|
||||||
|
+#if defined(__GLIBC__) && defined(__SIGRTMIN)
|
||||||
|
/* In glibc, the first two real time signals are used by the NPTL
|
||||||
|
threading library. By taking them out of the set of signals, we
|
||||||
|
avoiding copying the signal mask in pthread_sigmask. More
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
The `jvgenmain' executable must be linked against `vec.o', among others,
|
||||||
|
since it uses its vector API.
|
||||||
|
|
||||||
|
--- gcc-4.3.3/gcc/java/Make-lang.in 2008-12-05 00:00:19.000000000 +0100
|
||||||
|
+++ gcc-4.3.3/gcc/java/Make-lang.in 2009-07-03 16:11:41.000000000 +0200
|
||||||
|
@@ -109,9 +109,9 @@ jcf-dump$(exeext): $(JCFDUMP_OBJS) $(LIB
|
||||||
|
$(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(JCFDUMP_OBJS) \
|
||||||
|
$(CPPLIBS) $(ZLIB) $(LDEXP_LIB) $(LIBS)
|
||||||
|
|
||||||
|
-jvgenmain$(exeext): $(JVGENMAIN_OBJS) $(LIBDEPS)
|
||||||
|
+jvgenmain$(exeext): $(JVGENMAIN_OBJS) $(LIBDEPS) $(BUILD_RTL)
|
||||||
|
rm -f $@
|
||||||
|
- $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(JVGENMAIN_OBJS) $(LIBS)
|
||||||
|
+ $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(JVGENMAIN_OBJS) $(BUILD_RTL) $(LIBS)
|
||||||
|
|
||||||
|
#
|
||||||
|
# Build hooks:
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
Patch to make the target libraries 'configure' scripts find the proper CPP.
|
||||||
|
I noticed that building the mingw32 cross compiler.
|
||||||
|
Looking at the build script for mingw in archlinux, I think that only nixos
|
||||||
|
needs this patch. I don't know why.
|
||||||
|
diff --git a/Makefile.in b/Makefile.in
|
||||||
|
index 93f66b6..d691917 100644
|
||||||
|
--- a/Makefile.in
|
||||||
|
+++ b/Makefile.in
|
||||||
|
@@ -266,6 +266,7 @@ BASE_TARGET_EXPORTS = \
|
||||||
|
AR="$(AR_FOR_TARGET)"; export AR; \
|
||||||
|
AS="$(COMPILER_AS_FOR_TARGET)"; export AS; \
|
||||||
|
CC="$(CC_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export CC; \
|
||||||
|
+ CPP="$(CC_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS -E"; export CC; \
|
||||||
|
CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
|
||||||
|
CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
|
||||||
|
CPPFLAGS="$(CPPFLAGS_FOR_TARGET)"; export CPPFLAGS; \
|
||||||
|
@@ -291,11 +292,13 @@ BASE_TARGET_EXPORTS = \
|
||||||
|
RAW_CXX_TARGET_EXPORTS = \
|
||||||
|
$(BASE_TARGET_EXPORTS) \
|
||||||
|
CXX_FOR_TARGET="$(RAW_CXX_FOR_TARGET)"; export CXX_FOR_TARGET; \
|
||||||
|
- CXX="$(RAW_CXX_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export CXX;
|
||||||
|
+ CXX="$(RAW_CXX_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export CXX; \
|
||||||
|
+ CXXCPP="$(RAW_CXX_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS -E"; export CXX;
|
||||||
|
|
||||||
|
NORMAL_TARGET_EXPORTS = \
|
||||||
|
$(BASE_TARGET_EXPORTS) \
|
||||||
|
- CXX="$(CXX_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export CXX;
|
||||||
|
+ CXX="$(CXX_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export CXX; \
|
||||||
|
+ CXXCPP="$(CXX_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS -E"; export CXX;
|
||||||
|
|
||||||
|
# Where to find GMP
|
||||||
|
HOST_GMPLIBS = @gmplibs@
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
diff -ru gcc-4.3.1-orig/gcc/cppdefault.c gcc-4.3.1/gcc/cppdefault.c
|
||||||
|
--- gcc-4.3.1-orig/gcc/cppdefault.c 2007-07-26 10:37:01.000000000 +0200
|
||||||
|
+++ gcc-4.3.1/gcc/cppdefault.c 2008-06-25 17:48:23.000000000 +0200
|
||||||
|
@@ -41,6 +41,10 @@
|
||||||
|
# undef CROSS_INCLUDE_DIR
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+#undef LOCAL_INCLUDE_DIR
|
||||||
|
+#undef SYSTEM_INCLUDE_DIR
|
||||||
|
+#undef STANDARD_INCLUDE_DIR
|
||||||
|
+
|
||||||
|
const struct default_include cpp_include_defaults[]
|
||||||
|
#ifdef INCLUDE_DEFAULTS
|
||||||
|
= INCLUDE_DEFAULTS;
|
||||||
|
diff -ru gcc-4.3.1-orig/gcc/gcc.c gcc-4.3.1/gcc/gcc.c
|
||||||
|
--- gcc-4.3.1-orig/gcc/gcc.c 2008-03-02 23:55:19.000000000 +0100
|
||||||
|
+++ gcc-4.3.1/gcc/gcc.c 2008-06-25 17:52:53.000000000 +0200
|
||||||
|
@@ -1478,10 +1478,10 @@
|
||||||
|
/* Default prefixes to attach to command names. */
|
||||||
|
|
||||||
|
#ifndef STANDARD_STARTFILE_PREFIX_1
|
||||||
|
-#define STANDARD_STARTFILE_PREFIX_1 "/lib/"
|
||||||
|
+#define STANDARD_STARTFILE_PREFIX_1 ""
|
||||||
|
#endif
|
||||||
|
#ifndef STANDARD_STARTFILE_PREFIX_2
|
||||||
|
-#define STANDARD_STARTFILE_PREFIX_2 "/usr/lib/"
|
||||||
|
+#define STANDARD_STARTFILE_PREFIX_2 ""
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef CROSS_DIRECTORY_STRUCTURE /* Don't use these prefixes for a cross compiler. */
|
||||||
|
--- gcc-4.3.1-orig/gcc/Makefile.in 2008-05-11 20:54:15.000000000 +0200
|
||||||
|
+++ gcc-4.3.1/gcc/Makefile.in 2008-06-25 17:48:23.000000000 +0200
|
||||||
|
@@ -3277,7 +3281,7 @@
|
||||||
|
-DGPLUSPLUS_INCLUDE_DIR=\"$(gcc_gxx_include_dir)\" \
|
||||||
|
-DGPLUSPLUS_TOOL_INCLUDE_DIR=\"$(gcc_gxx_include_dir)/$(target_noncanonical)\" \
|
||||||
|
-DGPLUSPLUS_BACKWARD_INCLUDE_DIR=\"$(gcc_gxx_include_dir)/backward\" \
|
||||||
|
- -DLOCAL_INCLUDE_DIR=\"$(local_includedir)\" \
|
||||||
|
+ -DLOCAL_INCLUDE_DIR=\"/no-such-dir\" \
|
||||||
|
-DCROSS_INCLUDE_DIR=\"$(CROSS_SYSTEM_HEADER_DIR)\" \
|
||||||
|
-DTOOL_INCLUDE_DIR=\"$(gcc_tooldir)/include\" \
|
||||||
|
-DPREFIX=\"$(prefix)/\" \
|
||||||
@@ -0,0 +1,46 @@
|
|||||||
|
{ stdenv, fetchurl, ghc, perl, gmp, ncurses }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
version = "7.6.0.20120810";
|
||||||
|
|
||||||
|
name = "ghc-${version}";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "http://haskell.org/ghc/dist/7.6.1-rc1/${name}-src.tar.bz2";
|
||||||
|
sha256 = "04m8ms3a58590s4p8x6qma25rdanz0iai8rcla78ka798612pvjd";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ ghc perl gmp ncurses ];
|
||||||
|
|
||||||
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
|
buildMK = ''
|
||||||
|
libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib"
|
||||||
|
libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp}/include"
|
||||||
|
'';
|
||||||
|
|
||||||
|
preConfigure = ''
|
||||||
|
echo "${buildMK}" > mk/build.mk
|
||||||
|
sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
|
||||||
|
'';
|
||||||
|
|
||||||
|
configureFlags=[
|
||||||
|
"--with-gcc=${stdenv.gcc}/bin/gcc"
|
||||||
|
];
|
||||||
|
|
||||||
|
# required, because otherwise all symbols from HSffi.o are stripped, and
|
||||||
|
# that in turn causes GHCi to abort
|
||||||
|
stripDebugFlags=["-S" "--keep-file-symbols"];
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
homepage = "http://haskell.org/ghc";
|
||||||
|
description = "The Glasgow Haskell Compiler";
|
||||||
|
maintainers = [
|
||||||
|
stdenv.lib.maintainers.marcweber
|
||||||
|
stdenv.lib.maintainers.andres
|
||||||
|
stdenv.lib.maintainers.simons
|
||||||
|
];
|
||||||
|
platforms = ghc.meta.platforms;
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,13 +1,13 @@
|
|||||||
{ stdenv, fetchurl, ghc, perl, gmp, ncurses }:
|
{ stdenv, fetchurl, ghc, perl, gmp, ncurses }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "7.5.20120607";
|
version = "7.5.20120714";
|
||||||
|
|
||||||
name = "ghc-${version}";
|
name = "ghc-${version}";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://haskell.org/ghc/dist/current/dist/${name}-src.tar.bz2";
|
url = "http://haskell.org/ghc/dist/current/dist/${name}-src.tar.bz2";
|
||||||
sha256 = "1xrdx646g5ip2f2jypbm46y6jis3ddf8bild2704swbl2j4yb3vb";
|
sha256 = "02jicyqqr18yixf970f1rfrn64bm528aig6s9566galji063p6ah";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ ghc perl gmp ncurses ];
|
buildInputs = [ ghc perl gmp ncurses ];
|
||||||
|
|||||||
@@ -0,0 +1,15 @@
|
|||||||
|
Go comes with hardcoded cacert. We add the usual in NixOS,
|
||||||
|
for easier NixOS life.
|
||||||
|
|
||||||
|
diff --git a/src/pkg/crypto/x509/root_unix.go b/src/pkg/crypto/x509/root_unix.go
|
||||||
|
index 76e79f4..6ef1dd3 100644
|
||||||
|
--- a/src/pkg/crypto/x509/root_unix.go
|
||||||
|
+++ b/src/pkg/crypto/x509/root_unix.go
|
||||||
|
@@ -15,6 +15,7 @@ var certFiles = []string{
|
||||||
|
"/etc/ssl/ca-bundle.pem", // OpenSUSE
|
||||||
|
"/etc/ssl/cert.pem", // OpenBSD
|
||||||
|
"/usr/local/share/certs/ca-root-nss.crt", // FreeBSD
|
||||||
|
+ "/etc/ssl/certs/ca-bundle.crt", // NixOS
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *Certificate) systemVerify(opts *VerifyOptions) (chains [][]*Certificate, err error) {
|
||||||
@@ -1,46 +1,51 @@
|
|||||||
{ stdenv, fetchhg, bison, glibc, ed, which, bash, coreutils, makeWrapper, perl }:
|
{ stdenv, fetchurl, bison, glibc, bash, coreutils, makeWrapper}:
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "2010-06-09";
|
|
||||||
sha256 = "b607879b333ef100466c726a13cc69ed143566a3c1af59f6d33a6e90b9d0c917";
|
|
||||||
|
|
||||||
loader386 = "${glibc}/lib/ld-linux.so.2";
|
loader386 = "${glibc}/lib/ld-linux.so.2";
|
||||||
loaderAmd64 = "${glibc}/lib/ld-linux-x86-64.so.2";
|
loaderAmd64 = "${glibc}/lib/ld-linux-x86-64.so.2";
|
||||||
in
|
in
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "go-" + version;
|
name = "go-1.0.2";
|
||||||
|
|
||||||
# No tarball yet.
|
# No tarball yet.
|
||||||
src = fetchhg {
|
src = fetchurl {
|
||||||
url = https://go.googlecode.com/hg/;
|
url = http://go.googlecode.com/files/go1.0.2.src.tar.gz;
|
||||||
tag = "release." + version;
|
sha256 = "1a4mpkb3bd9dwp0r3fgrfcyk5lgw0f0cfrbskg2lrhc7a12zpz3h";
|
||||||
inherit sha256;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ bison glibc ed which bash makeWrapper ];
|
buildInputs = [ bison glibc bash makeWrapper ];
|
||||||
|
|
||||||
|
# I'm not sure what go wants from its 'src', but the go installation manual
|
||||||
|
# describes an installation keeping the src.
|
||||||
|
preUnpack = ''
|
||||||
|
mkdir -p $out/share
|
||||||
|
cd $out/share
|
||||||
|
'';
|
||||||
|
|
||||||
prePatch = ''
|
prePatch = ''
|
||||||
patchShebangs ./ # replace /bin/bash
|
patchShebangs ./ # replace /bin/bash
|
||||||
# only for 386 build
|
|
||||||
# !!! substituteInPlace does not seems to be effective.
|
# !!! substituteInPlace does not seems to be effective.
|
||||||
sed -i 's,/lib/ld-linux.so.2,${loader386},' src/cmd/8l/asm.c
|
sed -i 's,/lib/ld-linux.so.2,${loader386},' src/cmd/8l/asm.c
|
||||||
sed -i 's,/lib64/ld-linux-x86-64.so.2,${loaderAmd64},' src/cmd/6l/asm.c
|
sed -i 's,/lib64/ld-linux-x86-64.so.2,${loaderAmd64},' src/cmd/6l/asm.c
|
||||||
sed -i 's,/usr/share/zoneinfo/,${glibc}/share/zoneinfo/,' src/pkg/time/zoneinfo.go
|
sed -i 's,/usr/share/zoneinfo/,${glibc}/share/zoneinfo/,' src/pkg/time/zoneinfo_unix.go
|
||||||
sed -i 's,/bin/ed,${ed}/bin/ed,' src/cmd/6l/mkenam
|
|
||||||
|
|
||||||
sed -i -e 's,/bin/cat,${coreutils}/bin/cat,' \
|
#sed -i -e 's,/bin/cat,${coreutils}/bin/cat,' \
|
||||||
-e 's,/bin/echo,${coreutils}/bin/echo,' \
|
# -e 's,/bin/echo,${coreutils}/bin/echo,' \
|
||||||
src/pkg/exec/exec_test.go
|
# src/pkg/exec/exec_test.go
|
||||||
|
|
||||||
# Disabling the 'os/http/net' tests (they want files not available in
|
# Disabling the 'os/http/net' tests (they want files not available in
|
||||||
# chroot builds)
|
# chroot builds)
|
||||||
sed -i -e '/^NOTEST=/a\\tos\\\n\thttp\\\n\tnet\\' src/pkg/Makefile
|
rm src/pkg/net/{multicast_test.go,parse_test.go,port_test.go}
|
||||||
|
# The os test wants to read files in an existing path. Just it don't be /usr/bin.
|
||||||
sed -i -e 's,/bin:/usr/bin:/usr/local/bin,'$PATH, test/run
|
sed -i 's,/usr/bin,'"`pwd`", src/pkg/os/os_test.go
|
||||||
sed -i -e 's,/usr/bin/perl,${perl}/bin/perl,' test/errchk
|
sed -i 's,/bin/pwd,'"`type -P pwd`", src/pkg/os/os_test.go
|
||||||
|
# Disable the hostname test
|
||||||
|
sed -i '/TestHostname/areturn' src/pkg/os/os_test.go
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
patches = [ ./cacert.patch ];
|
||||||
|
|
||||||
GOOS = "linux";
|
GOOS = "linux";
|
||||||
GOARCH = if (stdenv.system == "i686-linux") then "386"
|
GOARCH = if (stdenv.system == "i686-linux") then "386"
|
||||||
else if (stdenv.system == "x86_64-linux") then "amd64"
|
else if (stdenv.system == "x86_64-linux") then "amd64"
|
||||||
@@ -55,28 +60,16 @@ stdenv.mkDerivation {
|
|||||||
./all.bash
|
./all.bash
|
||||||
cd -
|
cd -
|
||||||
|
|
||||||
# Handle Libraries and make them availabale under /share/go.
|
# Wrap the tools to define the location of the
|
||||||
export GOLIB="pkg/"$GOOS"_"$GOARCH
|
|
||||||
mkdir -p "$out/lib/go/$GOLIB"
|
|
||||||
cp -r ./$GOLIB $out/lib/go/pkg/
|
|
||||||
|
|
||||||
# this line set $AS $CC $GC $LD
|
|
||||||
source ./src/Make.$GOARCH
|
|
||||||
|
|
||||||
# Wrap the compiler and the linker to define the location of the
|
|
||||||
# libraries.
|
# libraries.
|
||||||
wrapProgram "$out/bin/$GC" \
|
for a in go gofmt godoc; do
|
||||||
--add-flags "-I" \
|
wrapProgram "$out/bin/$a" \
|
||||||
--add-flags "$out/lib/go/$GOLIB"
|
--set "GOROOT" "$out/share/go/"
|
||||||
|
done
|
||||||
wrapProgram "$out/bin/$LD" \
|
|
||||||
--set "GOROOT" "$out/lib/go/" \
|
|
||||||
--set "GOOS" "$GOOS" \
|
|
||||||
--set "GOARCH" "$GOARCH"
|
|
||||||
|
|
||||||
# Copy the emacs configuration for Go files.
|
# Copy the emacs configuration for Go files.
|
||||||
mkdir -p "$out/share/emacs/site-lisp"
|
mkdir -p "$out/share/emacs/site-lisp"
|
||||||
cp ./misc/emacs/* $out/share/emacs/site-lisp/ # */
|
cp ./misc/emacs/* $out/share/emacs/site-lisp/
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
|
|||||||
@@ -1,35 +1,46 @@
|
|||||||
{ stdenv, fetchgit, gfortran, perl, m4, llvm, gmp, pcre, blas, liblapack
|
{ stdenv, fetchgit, gfortran, perl, m4, llvm, gmp, pcre
|
||||||
, readline, fftwSinglePrec, fftw, libunwind, suitesparse, glpk, fetchurl
|
, readline, fftwSinglePrec, fftw, libunwind, suitesparse, glpk, fetchurl
|
||||||
, ncurses, libunistring, lighttpd, patchelf
|
, ncurses, libunistring, lighttpd, patchelf, openblas, liblapack
|
||||||
} :
|
} :
|
||||||
let
|
let
|
||||||
liblapackShared = liblapack.override{shared=true;};
|
|
||||||
realGcc = stdenv.gcc.gcc;
|
realGcc = stdenv.gcc.gcc;
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "julia";
|
pname = "julia";
|
||||||
date = "20120501";
|
date = "20120801";
|
||||||
name = "${pname}-git-${date}";
|
name = "${pname}-git-${date}";
|
||||||
|
|
||||||
grisu_ver = "1.1";
|
grisu_ver = "1.1.1";
|
||||||
dsfmt_ver = "2.1";
|
dsfmt_ver = "2.1";
|
||||||
arpack_ver = "3.1.0";
|
openblas_ver = "v0.2.2";
|
||||||
|
lapack_ver = "3.4.1";
|
||||||
|
arpack_ver = "3.1.1";
|
||||||
clp_ver = "1.14.5";
|
clp_ver = "1.14.5";
|
||||||
lighttpd_ver = "1.4.29";
|
lighttpd_ver = "1.4.29";
|
||||||
|
|
||||||
grisu_src = fetchurl {
|
grisu_src = fetchurl {
|
||||||
url = "http://double-conversion.googlecode.com/files/double-conversion-${grisu_ver}.tar.gz";
|
url = "http://double-conversion.googlecode.com/files/double-conversion-${grisu_ver}.tar.gz";
|
||||||
sha256 = "addee31d11350e4dde2b19c749eda648cb0ab38a68b0dd0d0a45dc49c7346fe7";
|
sha256 = "e1cabb73fd69e74f145aea91100cde483aef8b79dc730fcda0a34466730d4d1d";
|
||||||
};
|
};
|
||||||
dsfmt_src = fetchurl {
|
dsfmt_src = fetchurl {
|
||||||
url = "http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/dSFMT-src-${dsfmt_ver}.tar.gz";
|
url = "http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/dSFMT-src-${dsfmt_ver}.tar.gz";
|
||||||
name = "dsfmt-${dsfmt_ver}.tar.gz";
|
name = "dsfmt-${dsfmt_ver}.tar.gz";
|
||||||
sha256 = "e9d3e04bc984ec3b14033342f5ebdcd5202d8d8e40128dd737f566945612378f";
|
sha256 = "e9d3e04bc984ec3b14033342f5ebdcd5202d8d8e40128dd737f566945612378f";
|
||||||
};
|
};
|
||||||
|
openblas_src = fetchurl {
|
||||||
|
url = "https://github.com/xianyi/OpenBLAS/tarball/${openblas_ver}";
|
||||||
|
name = "openblas-${openblas_ver}.tar.gz";
|
||||||
|
sha256 = "19ffec70f9678f5c159feadc036ca47720681b782910fbaa95aa3867e7e86d8e";
|
||||||
|
};
|
||||||
arpack_src = fetchurl {
|
arpack_src = fetchurl {
|
||||||
url = "http://forge.scilab.org/index.php/p/arpack-ng/downloads/376/get/";
|
url = "http://forge.scilab.org/index.php/p/arpack-ng/downloads/417/get/";
|
||||||
name = "arpack-ng_${arpack_ver}.tar.gz";
|
name = "arpack-ng_${arpack_ver}.tar.gz";
|
||||||
sha256 = "65b7856126f06ecbf9ec450d50df92ca9260d4b0d21baf02497554ac230d6feb";
|
sha256 = "be250947a7d6eac7dff8c058102fce9922c524aa06be2a090b6e0bb2d1e228cd";
|
||||||
|
};
|
||||||
|
lapack_src = fetchurl {
|
||||||
|
url = "http://www.netlib.org/lapack/lapack-${lapack_ver}.tgz";
|
||||||
|
name = "lapack-${lapack_ver}.tgz";
|
||||||
|
sha256 = "93b910f94f6091a2e71b59809c4db4a14655db527cfc5821ade2e8c8ab75380f";
|
||||||
};
|
};
|
||||||
clp_src = fetchurl {
|
clp_src = fetchurl {
|
||||||
url = "http://www.coin-or.org/download/source/Clp/Clp-${clp_ver}.tgz";
|
url = "http://www.coin-or.org/download/source/Clp/Clp-${clp_ver}.tgz";
|
||||||
@@ -43,16 +54,17 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
src = fetchgit {
|
src = fetchgit {
|
||||||
url = "git://github.com/JuliaLang/julia.git";
|
url = "git://github.com/JuliaLang/julia.git";
|
||||||
rev = "990ffabb00f0e51d326911888facdbc473fb634d";
|
rev = "3b413ec24957e400c984002f7cdf6232f5391a7e";
|
||||||
sha256 = "dfcf41b2d7b62dd490bfd6f6fb962713c920de3f00afaee47423bd26eba7e3b2";
|
sha256 = "c019b724df9203899a1da5815f85d79291778191bbffc1361d2213ff7d2bbc1d";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ gfortran perl m4 gmp pcre llvm blas liblapackShared readline
|
buildInputs = [ gfortran perl m4 gmp pcre llvm readline
|
||||||
fftw fftwSinglePrec libunwind suitesparse glpk ncurses libunistring patchelf
|
fftw fftwSinglePrec libunwind suitesparse glpk ncurses libunistring patchelf
|
||||||
|
openblas liblapack
|
||||||
];
|
];
|
||||||
|
|
||||||
configurePhase = ''
|
configurePhase = ''
|
||||||
for i in GMP LLVM PCRE BLAS LAPACK READLINE FFTW LIBUNWIND SUITESPARSE GLPK;
|
for i in GMP LLVM PCRE LAPACK OPENBLAS BLAS READLINE FFTW LIBUNWIND SUITESPARSE GLPK LIGHTTPD;
|
||||||
do
|
do
|
||||||
sed -e "s@USE_SYSTEM_$i=0@USE_SYSTEM_$i=1@" -i Make.inc;
|
sed -e "s@USE_SYSTEM_$i=0@USE_SYSTEM_$i=1@" -i Make.inc;
|
||||||
done
|
done
|
||||||
@@ -62,52 +74,44 @@ stdenv.mkDerivation rec {
|
|||||||
cp "$1" "$2/$(basename "$1" | sed -e 's/^[a-z0-9]*-//')"
|
cp "$1" "$2/$(basename "$1" | sed -e 's/^[a-z0-9]*-//')"
|
||||||
}
|
}
|
||||||
|
|
||||||
for i in "${grisu_src}" "${dsfmt_src}" "${arpack_src}" "${clp_src}" "${lighttpd_src}" ; do
|
for i in "${grisu_src}" "${dsfmt_src}" "${arpack_src}" "${clp_src}" ; do
|
||||||
copy_kill_hash "$i" deps
|
copy_kill_hash "$i" deps
|
||||||
done
|
done
|
||||||
copy_kill_hash "${dsfmt_src}" deps/random
|
copy_kill_hash "${dsfmt_src}" deps/random
|
||||||
|
|
||||||
sed -e '/cd SuiteSparse-SYSTEM/,+1s@find /lib /usr/lib /usr/local/lib@find ${suitesparse}/lib@' -i deps/Makefile
|
|
||||||
|
|
||||||
${if realGcc ==null then "" else
|
${if realGcc ==null then "" else
|
||||||
''export NIX_LDFLAGS="$NIX_LDFLAGS -L${realGcc}/lib -L${realGcc}/lib64 -lpcre -llapack -lm -lfftw3f -lfftw3 -lglpk -lunistring "''}
|
''export NIX_LDFLAGS="$NIX_LDFLAGS -L${realGcc}/lib -L${realGcc}/lib64 -lpcre -llapack -lm -lfftw3f -lfftw3 -lglpk -lunistring "''}
|
||||||
|
|
||||||
sed -e 's@ cpp @ gcc -E @g' -i base/Makefile
|
sed -e 's@ cpp @ gcc -E @g' -i base/Makefile
|
||||||
|
|
||||||
sed -e '1s@#! */bin/bash@#!${stdenv.shell}@' -i deps/*.sh
|
|
||||||
|
|
||||||
export LDFLAGS="-L${suitesparse}/lib"
|
export LDFLAGS="-L${suitesparse}/lib"
|
||||||
|
|
||||||
|
export GLPK_PREFIX="${glpk}/include"
|
||||||
|
|
||||||
mkdir -p "$out/lib"
|
mkdir -p "$out/lib"
|
||||||
sed -e "s@/usr/local/lib@$out/lib@g" -i deps/Makefile
|
sed -e "s@/usr/local/lib@$out/lib@g" -i deps/Makefile
|
||||||
sed -e "s@/usr/lib@$out/lib@g" -i deps/Makefile
|
sed -e "s@/usr/lib@$out/lib@g" -i deps/Makefile
|
||||||
|
|
||||||
sed -e '/libumfpack.a/s@find @find ${suitesparse}/lib @' -i deps/Makefile
|
export makeFlags="$makeFlags PREFIX=$out"
|
||||||
|
|
||||||
export makeFlags="$makeFlags PREFIX=\"$out\" USR=\"$out\""
|
|
||||||
|
|
||||||
sed -e 's@openblas@blas@' -i base/*.jl
|
|
||||||
|
|
||||||
sed -e '/install -v julia-release-webserver/d' -i Makefile
|
|
||||||
|
|
||||||
export dontPatchELF=1
|
export dontPatchELF=1
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
preBuild = ''
|
||||||
|
make -C test/unicode all
|
||||||
|
make -C extras glpk_h.jl GLPK_PREFIX="$GLPK_PREFIX"
|
||||||
|
'';
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
ln -s "$out/share/julia/julia" "$out/bin"
|
ld -E --whole-archive --shared ${suitesparse}/lib/lib*[a-z].a -o "$out"/lib/libsuitesparse-shared.so
|
||||||
|
for i in umfpack cholmod amd camd colamd ; do
|
||||||
|
ln -s "libsuitesparse-shared.so" "$out/lib/lib$i.so"
|
||||||
|
done
|
||||||
|
ln -s "${lighttpd}/sbin/lighttpd" "$out/sbin/"
|
||||||
|
ln -s "${lighttpd}/lib/"* "$out/lib/"
|
||||||
|
|
||||||
mkdir -p "$out/share/julia/ui/"
|
cp -r test examples "$out/lib/julia"
|
||||||
cp -r ui/website "$out/share/julia/ui/"
|
ls -R > "$out/ls-R"
|
||||||
cp deps/lighttpd.conf "$out/share/julia/ui/"
|
|
||||||
|
|
||||||
mkdir -p "$out/share/julia/ui/webserver/"
|
|
||||||
cp -r ui/webserver/{*.jl,*.h} "$out/share/julia/ui/webserver/"
|
|
||||||
|
|
||||||
echo -e '#!/bin/sh' >> "$out/bin/julia-webserver"
|
|
||||||
echo -e "cd \"$out/share/julia\"" >> "$out/bin/julia-webserver"
|
|
||||||
echo -e '${lighttpd}/sbin/lighttpd -D -f ./ui/lighttpd.conf &' >> "$out/bin/julia-webserver"
|
|
||||||
echo -e "'$out/bin/julia-release-webserver' -p 2001" >> "$out/bin/julia-webserver"
|
|
||||||
chmod a+x "$out/bin/julia-webserver"
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
{ stdenv, fetchurl, ncurses, x11 }:
|
{ stdenv, fetchurl, ncurses, x11 }:
|
||||||
|
|
||||||
let
|
let
|
||||||
useX11 = !stdenv.isArm;
|
useX11 = !stdenv.isArm && !stdenv.isMips;
|
||||||
useNativeCompilers = !stdenv.isArm;
|
useNativeCompilers = !stdenv.isArm && !stdenv.isMips;
|
||||||
inherit (stdenv.lib) optionals optionalString;
|
inherit (stdenv.lib) optionals optionalString;
|
||||||
in
|
in
|
||||||
|
|
||||||
@@ -30,6 +30,10 @@ stdenv.mkDerivation rec {
|
|||||||
ln -sv $out/lib/ocaml/caml $out/include/caml
|
ln -sv $out/lib/ocaml/caml $out/include/caml
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
passthru = {
|
||||||
|
nativeCompilers = useNativeCompilers;
|
||||||
|
};
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
homepage = http://caml.inria.fr/ocaml;
|
homepage = http://caml.inria.fr/ocaml;
|
||||||
licenses = [ "QPL" /* compiler */ "LGPLv2" /* library */ ];
|
licenses = [ "QPL" /* compiler */ "LGPLv2" /* library */ ];
|
||||||
|
|||||||
@@ -0,0 +1,63 @@
|
|||||||
|
{ stdenv, fetchurl, ncurses, x11 }:
|
||||||
|
|
||||||
|
let
|
||||||
|
useX11 = !stdenv.isArm && !stdenv.isMips;
|
||||||
|
useNativeCompilers = !stdenv.isArm && !stdenv.isMips;
|
||||||
|
inherit (stdenv.lib) optionals optionalString;
|
||||||
|
in
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
|
||||||
|
name = "ocaml-4.00.0";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "http://caml.inria.fr/pub/distrib/ocaml-4.00/${name}.tar.bz2";
|
||||||
|
sha256 = "ec886d7bc587ce472fcbdf294feb4b1fa2d8e7ef78ab6a4e66551699435d5cd7";
|
||||||
|
};
|
||||||
|
|
||||||
|
prefixKey = "-prefix ";
|
||||||
|
configureFlags = ["-no-tk"] ++ optionals useX11 [ "-x11lib" x11 ];
|
||||||
|
buildFlags = "world" + optionalString useNativeCompilers " bootstrap world.opt";
|
||||||
|
buildInputs = [ncurses] ++ optionals useX11 [ x11 ];
|
||||||
|
installTargets = "install" + optionalString useNativeCompilers " installopt";
|
||||||
|
preConfigure = ''
|
||||||
|
CAT=$(type -tp cat)
|
||||||
|
sed -e "s@/bin/cat@$CAT@" -i config/auto-aux/sharpbang
|
||||||
|
'';
|
||||||
|
postBuild = ''
|
||||||
|
mkdir -p $out/include
|
||||||
|
ln -sv $out/lib/ocaml/caml $out/include/caml
|
||||||
|
'';
|
||||||
|
|
||||||
|
passthru = {
|
||||||
|
nativeCompilers = useNativeCompilers;
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
homepage = http://caml.inria.fr/ocaml;
|
||||||
|
licenses = [ "QPL" /* compiler */ "LGPLv2" /* library */ ];
|
||||||
|
description = "OCaml, the most popular variant of the Caml language";
|
||||||
|
|
||||||
|
longDescription =
|
||||||
|
''
|
||||||
|
OCaml is the most popular variant of the Caml language. From a
|
||||||
|
language standpoint, it extends the core Caml language with a
|
||||||
|
fully-fledged object-oriented layer, as well as a powerful module
|
||||||
|
system, all connected by a sound, polymorphic type system featuring
|
||||||
|
type inference.
|
||||||
|
|
||||||
|
The OCaml system is an industrial-strength implementation of this
|
||||||
|
language, featuring a high-performance native-code compiler (ocamlopt)
|
||||||
|
for 9 processor architectures (IA32, PowerPC, AMD64, Alpha, Sparc,
|
||||||
|
Mips, IA64, HPPA, StrongArm), as well as a bytecode compiler (ocamlc)
|
||||||
|
and an interactive read-eval-print loop (ocaml) for quick development
|
||||||
|
and portability. The OCaml distribution includes a comprehensive
|
||||||
|
standard library, a replay debugger (ocamldebug), lexer (ocamllex) and
|
||||||
|
parser (ocamlyacc) generators, a pre-processor pretty-printer (camlp4)
|
||||||
|
and a documentation generator (ocamldoc).
|
||||||
|
'';
|
||||||
|
|
||||||
|
platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
rec {
|
rec {
|
||||||
version="1.0.57";
|
version="1.0.58";
|
||||||
name="sbcl-1.0.57";
|
name="sbcl-1.0.58";
|
||||||
hash="1vvifyq0lapx6p6wz6jknsgch3lbyr7m785844wdgkdx2hh8ch51";
|
hash="0ifr96hy5ax5c5iv7igwgkwcqb3pwrc4ism957pkfb5yy39p4yc1";
|
||||||
url="http://downloads.sourceforge.net/project/sbcl/sbcl/1.0.57/sbcl-1.0.57-source.tar.bz2";
|
url="http://downloads.sourceforge.net/project/sbcl/sbcl/1.0.58/sbcl-1.0.58-source.tar.bz2";
|
||||||
advertisedUrl="http://downloads.sourceforge.net/project/sbcl/sbcl/1.0.57/sbcl-1.0.57-source.tar.bz2";
|
advertisedUrl="http://downloads.sourceforge.net/project/sbcl/sbcl/1.0.58/sbcl-1.0.58-source.tar.bz2";
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,20 @@
|
|||||||
|
{ stdenv, fetchurl, python, pkgconfig }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
name = "cython-0.16";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = http://www.cython.org/release/Cython-0.16.tar.gz;
|
||||||
|
sha256 = "1yz6jwv25xx5mbr2nm4l7mi65gvpm63dzi3vrw73p51wbpy525lp";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildPhase = "python setup.py build --build-base $out";
|
||||||
|
|
||||||
|
installPhase = "python setup.py install --prefix=$out";
|
||||||
|
|
||||||
|
buildInputs = [ python pkgconfig ];
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "An interpreter to help writing C extensions for Python";
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -81,10 +81,31 @@
|
|||||||
|
|
||||||
//
|
//
|
||||||
|
|
||||||
|
(stdenv.lib.optionalAttrs stdenv.isSunOS {
|
||||||
|
# TODO: Move me above.
|
||||||
|
configureFlags =
|
||||||
|
[
|
||||||
|
# Make sure the right <gmp.h> is found, and not the incompatible
|
||||||
|
# /usr/include/mp.h from OpenSolaris. See
|
||||||
|
# <https://lists.gnu.org/archive/html/hydra-users/2012-08/msg00000.html>
|
||||||
|
# for details.
|
||||||
|
"--with-libgmp-prefix=${gmp}"
|
||||||
|
|
||||||
|
# Same for these (?).
|
||||||
|
"--with-libreadline-prefix=${readline}"
|
||||||
|
"--with-libunistring-prefix=${libunistring}"
|
||||||
|
|
||||||
|
# See below.
|
||||||
|
"--without-threads"
|
||||||
|
];
|
||||||
|
})
|
||||||
|
|
||||||
|
//
|
||||||
|
|
||||||
(if stdenv.isFreeBSD
|
(if stdenv.isFreeBSD
|
||||||
then {
|
then {
|
||||||
# XXX: Thread support is currently broken on FreeBSD (namely the
|
# XXX: Thread support is currently broken on FreeBSD and Solaris (namely
|
||||||
# `SCM_I_IS_THREAD' assertion in `scm_spawn_thread' is hit.)
|
# the `SCM_I_IS_THREAD' assertion in `scm_spawn_thread' is hit.)
|
||||||
configureFlags = [ "--without-threads" ];
|
configureFlags = [ "--without-threads" ];
|
||||||
}
|
}
|
||||||
else {}))
|
else {}))
|
||||||
|
|||||||
@@ -3,10 +3,10 @@ libX11, graphicsmagick, pcre, liblapack, texLive, pkgconfig, mesa, fltk,
|
|||||||
fftw, fftwSinglePrec, zlib, curl, qrupdate }:
|
fftw, fftwSinglePrec, zlib, curl, qrupdate }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "octave-3.6.1";
|
name = "octave-3.6.2";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://gnu/octave/${name}.tar.bz2";
|
url = "mirror://gnu/octave/${name}.tar.bz2";
|
||||||
sha256 = "1xmd9rqpwzn6z808i3brw1w9lh083vpjg046cj4gg3qdazkkw1zq";
|
sha256 = "1bn48ldhx585iyrylnz59b6mb3wlpvmz2i3ri8q75s5ys29rpdhb";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ gfortran readline ncurses perl flex texinfo qhull libX11
|
buildInputs = [ gfortran readline ncurses perl flex texinfo qhull libX11
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ in
|
|||||||
|
|
||||||
composableDerivation {} ( fixed : let inherit (fixed.fixed) version; in {
|
composableDerivation {} ( fixed : let inherit (fixed.fixed) version; in {
|
||||||
|
|
||||||
version = "5.3.14";
|
version = "5.3.15";
|
||||||
|
|
||||||
name = "php-${version}";
|
name = "php-${version}";
|
||||||
|
|
||||||
@@ -149,15 +149,12 @@ composableDerivation {} ( fixed : let inherit (fixed.fixed) version; in {
|
|||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
unset installPhase; installPhase;
|
unset installPhase; installPhase;
|
||||||
cp php.ini-${ if builtins.lessThan (builtins.compareVersions version "5.3") 0
|
cp php.ini-production $iniFile
|
||||||
then "recommended" /* < PHP 5.3 */
|
|
||||||
else "production" /* >= PHP 5.3 */
|
|
||||||
} $iniFile
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
src = args.fetchurl {
|
src = args.fetchurl {
|
||||||
url = "http://nl.php.net/get/php-${version}.tar.bz2/from/this/mirror";
|
url = "http://nl.php.net/get/php-${version}.tar.bz2/from/this/mirror";
|
||||||
sha256 = "1cqw0knkrb7wn49ki5kcly4i0hjnd12sf9l4rhk0vny5hdp5n1y8";
|
sha256 = "1vzij845n2akh2lkpacgdc5r0f7nw6pk9l9vi1h8l8k4krjjbdzr";
|
||||||
name = "php-${version}.tar.bz2";
|
name = "php-${version}.tar.bz2";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -1,26 +1,19 @@
|
|||||||
{ stdenv, fetchurl, builderDefs, python }:
|
{ stdenv, fetchurl, pythonPackages }:
|
||||||
|
|
||||||
let
|
let version = "0.9.5.1.1"; in
|
||||||
|
|
||||||
localDefs = builderDefs.passthru.function {
|
pythonPackages.buildPythonPackage rec {
|
||||||
|
name = "pyrex-${version}";
|
||||||
src = fetchurl {
|
|
||||||
url = http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/oldtar/Pyrex-0.9.5.1.1.tar.gz;
|
|
||||||
sha256 = "0lxxvn4mjfb83swcbqb5908q4iy53w4ip5i0f9angm2va1jyhd3z";
|
|
||||||
};
|
|
||||||
|
|
||||||
buildInputs = [python];
|
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/oldtar/Pyrex-${version}.tar.gz";
|
||||||
|
sha256 = "0lxxvn4mjfb83swcbqb5908q4iy53w4ip5i0f9angm2va1jyhd3z";
|
||||||
};
|
};
|
||||||
|
|
||||||
in with localDefs;
|
doCheck = false;
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
|
||||||
name = "pyrex-0.9.5.1.1";
|
|
||||||
builder = writeScript (name + "-builder")
|
|
||||||
(textClosure localDefs [installPythonPackage doForceShare]);
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "Python package compiler or something like that";
|
homepage = http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/;
|
||||||
inherit src;
|
description = "A language for writing Python extension modules";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,26 +1,19 @@
|
|||||||
{ stdenv, fetchurl, builderDefs, python }:
|
{ stdenv, fetchurl, pythonPackages }:
|
||||||
|
|
||||||
let
|
let version = "0.9.6.4"; in
|
||||||
|
|
||||||
localDefs = builderDefs.passthru.function {
|
pythonPackages.buildPythonPackage rec {
|
||||||
|
name = "pyrex-${version}";
|
||||||
src = fetchurl {
|
|
||||||
url = http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/oldtar/Pyrex-0.9.6.4.tar.gz;
|
|
||||||
sha256 = "18pd9f8al3l6i27cc0ddhgg7hxf28lnfs75x4a8jzscydxgiq5a8";
|
|
||||||
};
|
|
||||||
|
|
||||||
buildInputs = [python];
|
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/oldtar/Pyrex-${version}.tar.gz";
|
||||||
|
sha256 = "18pd9f8al3l6i27cc0ddhgg7hxf28lnfs75x4a8jzscydxgiq5a8";
|
||||||
};
|
};
|
||||||
|
|
||||||
in with localDefs;
|
doCheck = false;
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
|
||||||
name = "pyrex-0.9.6.4";
|
|
||||||
builder = writeScript (name + "-builder")
|
|
||||||
(textClosure localDefs [installPythonPackage doForceShare]);
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "Python package compiler or something like that";
|
homepage = http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/;
|
||||||
inherit src;
|
description = "A language for writing Python extension modules";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,15 +1,19 @@
|
|||||||
{fetchurl, stdenv, builderDefs, stringsWithDeps, singlePrecision ? false}:
|
{fetchurl, stdenv, builderDefs, stringsWithDeps, singlePrecision ? false, pthreads ? false}:
|
||||||
let localDefs = builderDefs.passthru.function {
|
let
|
||||||
|
version = "3.3.2";
|
||||||
|
localDefs = builderDefs.passthru.function {
|
||||||
src =
|
src =
|
||||||
fetchurl {
|
fetchurl {
|
||||||
url = ftp://ftp.fftw.org/pub/fftw/fftw-3.2.2.tar.gz;
|
url = "ftp://ftp.fftw.org/pub/fftw/fftw-${version}.tar.gz";
|
||||||
sha256 = "13vnglardq413q2518zi4a8pam3znydrz28m9w09kss9xrjsx9va";
|
sha256 = "b1236a780ca6e66fc5f8eda6ef0665d680e8253d9f01d7bf211b714a50032d01";
|
||||||
};
|
};
|
||||||
buildInputs = [];
|
buildInputs = [];
|
||||||
configureFlags = ["--enable-shared" "--enable-openmp"]
|
configureFlags = ["--enable-shared"]
|
||||||
# some distros seem to be shipping both versions within the same package?
|
# some distros seem to be shipping both versions within the same package?
|
||||||
# why does --enable-float still result in ..3f.so instead of ..3.so?
|
# why does --enable-float still result in ..3f.so instead of ..3.so?
|
||||||
++ (if singlePrecision then [ "--enable-single" ] else [ ])
|
++ (if singlePrecision then [ "--enable-single" ] else [ ])
|
||||||
|
++ (stdenv.lib.optional (!pthreads) "--enable-openmp")
|
||||||
|
++ (stdenv.lib.optional pthreads "--enable-threads")
|
||||||
# I think all i686 has sse
|
# I think all i686 has sse
|
||||||
++ (if (stdenv.isi686 || stdenv.isx86_64) && singlePrecision then [ "--enable-sse" ] else [ ])
|
++ (if (stdenv.isi686 || stdenv.isx86_64) && singlePrecision then [ "--enable-sse" ] else [ ])
|
||||||
# I think all x86_64 has sse2
|
# I think all x86_64 has sse2
|
||||||
@@ -18,8 +22,8 @@ let localDefs = builderDefs.passthru.function {
|
|||||||
};
|
};
|
||||||
in with localDefs;
|
in with localDefs;
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "fftw-3.2.2" + ( if singlePrecision then "-single" else "-double" );
|
name = "fftw-3.3.2" + ( if singlePrecision then "-single" else "-double" );
|
||||||
builder = writeScript "fftw-3.2.1-builder"
|
builder = writeScript "fftw-3.3.2-builder"
|
||||||
(textClosure localDefs [doConfigure doMakeInstall doForceShare]);
|
(textClosure localDefs [doConfigure doMakeInstall doForceShare]);
|
||||||
meta = {
|
meta = {
|
||||||
description = "Fastest Fourier Transform in the West library";
|
description = "Fastest Fourier Transform in the West library";
|
||||||
|
|||||||
@@ -1,15 +1,15 @@
|
|||||||
{ fetchurl, stdenv, zlib, lzo, libtasn1, nettle
|
{ fetchurl, stdenv, zlib, lzo, libtasn1, nettle
|
||||||
, guileBindings, guile, perl, psmisc }:
|
, guileBindings, guile, perl }:
|
||||||
|
|
||||||
assert guileBindings -> guile != null;
|
assert guileBindings -> guile != null;
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation (rec {
|
||||||
|
|
||||||
name = "gnutls-3.0.18";
|
name = "gnutls-3.0.22";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://gnu/gnutls/${name}.tar.xz";
|
url = "mirror://gnu/gnutls/${name}.tar.xz";
|
||||||
sha256 = "1ynqnj1j6rrzplk2i64dik34829r0y7lwk4qlvjx993q3mj7z863";
|
sha256 = "1pp90fm27qi5cd0pq18xcmnl79xcbfwxc54bg1xi1wv0vryqdpcr";
|
||||||
};
|
};
|
||||||
|
|
||||||
configurePhase = ''
|
configurePhase = ''
|
||||||
@@ -29,13 +29,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
propagatedBuildInputs = [ nettle libtasn1 ];
|
propagatedBuildInputs = [ nettle libtasn1 ];
|
||||||
|
|
||||||
# XXX: Disable tests on non-Linux because of the `mini-loss-time' hack
|
doCheck = true;
|
||||||
# below, which is Linux-specific.
|
|
||||||
doCheck = stdenv.isLinux;
|
|
||||||
|
|
||||||
postCheck =
|
|
||||||
# Kill a process that's left behind.
|
|
||||||
stdenv.lib.optionalString doCheck "${psmisc}/bin/killall mini-loss-time";
|
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "The GNU Transport Layer Security Library";
|
description = "The GNU Transport Layer Security Library";
|
||||||
@@ -60,3 +54,10 @@ stdenv.mkDerivation rec {
|
|||||||
maintainers = [ stdenv.lib.maintainers.ludo ];
|
maintainers = [ stdenv.lib.maintainers.ludo ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
|
||||||
|
(stdenv.lib.optionalAttrs stdenv.isFreeBSD {
|
||||||
|
# FreeBSD doesn't have <alloca.h>, and Gnulib's `alloca' module isn't used.
|
||||||
|
patches = [ ./guile-gnulib-includes.patch ];
|
||||||
|
}))
|
||||||
|
|||||||
@@ -0,0 +1,17 @@
|
|||||||
|
commit 699ae6ef085c699dd5f3fb460b0f8a2408cc2860
|
||||||
|
Author: Simon Josefsson <simon@josefsson.org>
|
||||||
|
Date: Thu Aug 9 15:24:11 2012 +0200
|
||||||
|
|
||||||
|
Add gnulib -I's to guile-snarf command.
|
||||||
|
|
||||||
|
--- gnutls-3.0.22/guile/src/Makefile.in 2012-08-04 20:52:39.000000000 +0200
|
||||||
|
+++ gnutls-3.0.22/guile/src/Makefile.in 2012-08-11 21:55:20.000000000 +0200
|
||||||
|
@@ -1564,7 +1564,7 @@ AM_CPPFLAGS = \
|
||||||
|
# `$(GUILE_CFLAGS)' may contain a series of `-I' switches so it must be
|
||||||
|
# included here, even though we'd really want `$(GUILE_CPPFLAGS)'.
|
||||||
|
snarfcppopts = $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
|
||||||
|
- $(CFLAGS) $(AM_CFLAGS) $(GUILE_CFLAGS)
|
||||||
|
+ $(CFLAGS) $(guile_gnutls_v_2_la_CFLAGS)
|
||||||
|
|
||||||
|
all: $(BUILT_SOURCES)
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) all-am
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user