Merge branch 'master' into gnome-3

This commit is contained in:
Antono Vasiljev 2012-08-28 02:24:15 +03:00
commit 4a1a626d05
203 changed files with 3428 additions and 2158 deletions

View File

@ -1,10 +1,10 @@
{stdenv, fetchurl, unzip, portaudio }:
stdenv.mkDerivation {
name = "espeak-1.44.03";
name = "espeak-1.46.02";
src = fetchurl {
url = mirror://sourceforge/espeak/espeak-1.44.03-source.zip;
sha256 = "0lnv89xmsq3bax0qpabd0z2adaag7mdl973bkw3gdszidafmfyx4";
url = mirror://sourceforge/espeak/espeak-1.46.02-source.zip;
sha256 = "1fjlv5fm0gzvr5wzy1dp4nspw04k0bqv3jymha2p2qfjbfifp2zg";
};
buildInputs = [ unzip portaudio ];
@ -18,7 +18,7 @@ stdenv.mkDerivation {
configurePhase = ''
cd src
makeFlags="PREFIX=$out"
makeFlags="PREFIX=$out DATADIR=$out/share/espeak-data"
'';
meta = {

View File

@ -0,0 +1,31 @@
{stdenv, fetchurl, unzip, portaudio, wxGTK}:
stdenv.mkDerivation {
name = "espeakedit-1.46.02";
src = fetchurl {
url = mirror://sourceforge/espeak/espeakedit-1.46.02.zip;
sha256 = "1cc5r89sn8zz7b8wj4grx9xb7aqyi0ybj0li9hpy7hd67r56kqkl";
};
buildInputs = [ unzip portaudio wxGTK ];
patchPhase = if portaudio.api_version == 19 then ''
cp src/portaudio19.h src/portaudio.h
'' else "";
buildPhase = ''
cd src
gcc -o espeakedit *.cpp `wx-config --cxxflags --libs`
'';
installPhase = ''
ensureDir $out/bin
cp espeakedit $out/bin
'';
meta = {
description = "Phoneme editor for espeak";
homepage = http://espeak.sourceforge.net/;
license = "GPLv3+";
};
}

View File

@ -1,24 +1,25 @@
{stdenv, fetchurl, libogg}:
{ stdenv, fetchurl, libogg }:
stdenv.mkDerivation rec {
name = "flac-1.2.1";
src = fetchurl {
url = mirror://sourceforge/flac/flac-1.2.1.tar.gz;
sha256 = "1pry5lgzfg57pga1zbazzdd55fkgk3v5qy4axvrbny5lrr5s8dcn";
};
buildInputs = [libogg];
buildInputs = [ libogg ];
patches =
[ # Fix for building on GCC 4.3.
(fetchurl {
url = "http://sources.gentoo.org/viewcvs.py/*checkout*/gentoo-x86/media-libs/flac/files/flac-1.2.1-gcc-4.3-includes.patch?rev=1.1";
sha256 = "1m6ql5vyjb2jlp5qiqp6w0drq1m6x6y3i1dnl5ywywl3zd36k0mr";
})
];
patches = [
# Fix for building on GCC 4.3.
(fetchurl {
url = "http://sources.gentoo.org/viewcvs.py/*checkout*/gentoo-x86/media-libs/flac/files/flac-1.2.1-gcc-4.3-includes.patch?rev=1.1";
sha256 = "1m6ql5vyjb2jlp5qiqp6w0drq1m6x6y3i1dnl5ywywl3zd36k0mr";
})
];
meta = {
homepage = http://flac.sourceforge.net;
description = "Library and tools for encoding and decoding the FLAC lossless audio file format";
};
}

View File

@ -0,0 +1,28 @@
{ stdenv, fetchurl, jackaudio, libsndfile, pkgconfig }:
stdenv.mkDerivation rec {
name = "jack_capture-${version}";
version = "0.9.69";
src = fetchurl {
url = "http://archive.notam02.no/arkiv/src/${name}.tar.gz";
sha256 = "0sk7b92my1v1g7rhkpl1c608rb0rdb28m9zqfll95kflxajd16zv";
};
buildInputs = [ jackaudio libsndfile pkgconfig ];
buildPhase = "PREFIX=$out make jack_capture";
installPhase = ''
mkdir -p $out/bin
cp jack_capture $out/bin/
'';
meta = with stdenv.lib; {
description = "A program for recording soundfiles with jack";
homepage = http://archive.notam02.no/arkiv/src;
license = licenses.gpl2;
maintainers = [ maintainers.goibhniu ];
platforms = stdenv.lib.platforms.linux;
};
}

View File

@ -11,9 +11,12 @@ stdenv.mkDerivation rec {
sha256 = "0zsrvs9dwwhjx733m45vfi11yjkqv33z8qxn2i9qriq5zs1f0kd7";
};
patchPhase = "sed -e 's/which/type -P/g' -i scripts/generate_parser.sh";
patches = ./linuxsampler_lv2_sfz_fix.diff;
preConfigure = "make -f Makefile.cvs";
preConfigure = ''
sed -e 's/which/type -P/g' -i scripts/generate_parser.sh
make -f Makefile.cvs
'';
buildInputs = [
alsaLib asio autoconf automake bison jackaudio libgig libsndfile
@ -34,7 +37,8 @@ stdenv.mkDerivation rec {
have questions on the subject, that are not yet covered by the
FAQ, please contact us.
'';
license = licenses.gpl2;
license = licenses.proprietary;
maintainers = [ maintainers.goibhniu ];
platforms = platforms.linux;
};
}

View File

@ -0,0 +1,50 @@
Index: linuxsampler-r2359/src/hostplugins/lv2/PluginLv2.cpp
===================================================================
--- linuxsampler-r2359/src/hostplugins/lv2/PluginLv2.cpp (revision 2359)
+++ linuxsampler-r2359/src/hostplugins/lv2/PluginLv2.cpp (working copy)
@@ -18,6 +18,8 @@
* MA 02110-1301 USA *
***************************************************************************/
+#define _BSD_SOURCE 1 /* for realpath() */
+
#include <algorithm>
#include <cassert>
#include <cstdio>
@@ -118,6 +120,23 @@
dmsg(2, ("linuxsampler: Deactivate\n"));
}
+ static String RealPath(const String& path)
+ {
+ String out = path;
+ char* cpath = NULL;
+#ifdef _WIN32
+ cpath = (char*)malloc(MAX_PATH);
+ GetFullPathName(path.c_str(), MAX_PATH, cpath, NULL);
+#else
+ cpath = realpath(path.c_str(), NULL);
+#endif
+ if (cpath) {
+ out = cpath;
+ free(cpath);
+ }
+ return out;
+ }
+
String PluginLv2::PathToState(const String& path) {
if (MapPath) {
char* cstr = MapPath->abstract_path(MapPath->handle, path.c_str());
@@ -131,9 +150,10 @@
String PluginLv2::PathFromState(const String& path) {
if (MapPath) {
char* cstr = MapPath->absolute_path(MapPath->handle, path.c_str());
- const String abstract_path(cstr);
+ // Resolve symbolic links so SFZ sample paths load correctly
+ const String absolute_path(RealPath(cstr));
free(cstr);
- return abstract_path;
+ return absolute_path;
}
return path;
}

View File

@ -0,0 +1,26 @@
{stdenv, fetchurl, alsaLib, gtk, pkgconfig }:
stdenv.mkDerivation {
name = "praat-5323";
src = fetchurl {
url = http://www.fon.hum.uva.nl/praat/praat5323_sources.tar.gz;
sha256 = "1m0m5165h74mw5xhmnnyzh5ans3cn78w5rs9572sa1512cams203";
};
configurePhase = ''
cp makefiles/makefile.defs.linux makefile.defs
'';
installPhase = ''
ensureDir $out/bin
cp praat $out/bin
'';
buildInputs = [ alsaLib gtk pkgconfig ];
meta = {
description = "Doing phonetics by computer";
homepage = http://www.fon.hum.uva.nl/praat/;
license = "GPLv2+"; # Has some 3rd-party code in it though
};
}

View File

@ -1,39 +1,33 @@
{stdenv, fetchurl, x11, libjpeg, libpng12, libXmu, freetype, pam}:
{ stdenv, fetchurl, cmake, pkgconfig, x11, libjpeg, libpng12, libXmu
, fontconfig, freetype, pam, consolekit, dbus_libs }:
stdenv.mkDerivation rec {
name = "slim-1.3.2";
name = "slim-1.3.4";
src = fetchurl {
url = "http://download.berlios.de/slim/${name}.tar.gz";
sha256 = "1f42skdp5k1zrb364s3i0ps5wmx9szz9h192i2dkn9az00jh2mpi";
sha256 = "00fmrg2v41jnqhx0yc1kv97xxh5gai18n0i4as9g1fcq1i32cp0m";
};
patches = [
# Allow the paths of the configuration file and theme directory to
# be set at runtime.
./runtime-paths.patch
# Fix a bug in slim's PAM support: the "resp" argument to the
# conversation function is a pointer to a pointer to an array of
# pam_response structures, not a pointer to an array of pointers to
# pam_response structures. Of course C can't tell the difference...
./pam.patch
# Don't set PAM_RHOST to "localhost", it confuses ConsoleKit
# (which assumes that a non-empty string means a remote session).
./pam2.patch
];
buildInputs = [x11 libjpeg libpng12 libXmu freetype pam];
buildInputs =
[ cmake pkgconfig x11 libjpeg libpng12 libXmu fontconfig freetype
pam dbus_libs
] ++ stdenv.lib.optional (consolekit != null) consolekit;
NIX_CFLAGS_COMPILE = "-I${freetype}/include/freetype2";
preConfigure = "substituteInPlace CMakeLists.txt --replace /etc $out/etc";
preBuild = ''
substituteInPlace Makefile --replace /usr /no-such-path
makeFlagsArray=(CC=gcc CXX=g++ PREFIX=$out MANDIR=$out/share/man CFGDIR=$out/etc USE_PAM=1)
'';
cmakeFlags = [ "-DUSE_PAM=1" ] ++ stdenv.lib.optional (consolekit != null) "-DUSE_CONSOLEKIT=1";
NIX_CFLAGS_LINK = "-lXmu";
meta = {
homepage = http://slim.berlios.de;
platforms = stdenv.lib.platforms.linux;
};
}

View File

@ -1,89 +0,0 @@
diff -rc slim-1.3.1-orig/app.cpp slim-1.3.1/app.cpp
*** slim-1.3.1-orig/app.cpp 2008-09-26 02:54:15.000000000 +0200
--- slim-1.3.1/app.cpp 2009-02-17 19:50:06.000000000 +0100
***************
*** 41,48 ****
Panel* panel = *static_cast<Panel**>(appdata_ptr);
int result = PAM_SUCCESS;
for (int i=0; i<num_msg; i++){
! resp[i]->resp=0;
! resp[i]->resp_retcode=0;
switch(msg[i]->msg_style){
case PAM_PROMPT_ECHO_ON:
// We assume PAM is asking for the username
--- 41,48 ----
Panel* panel = *static_cast<Panel**>(appdata_ptr);
int result = PAM_SUCCESS;
for (int i=0; i<num_msg; i++){
! (*resp)[i].resp=0;
! (*resp)[i].resp_retcode=0;
switch(msg[i]->msg_style){
case PAM_PROMPT_ECHO_ON:
// We assume PAM is asking for the username
***************
*** 51,63 ****
case Panel::Suspend:
case Panel::Halt:
case Panel::Reboot:
! resp[i]->resp=strdup("root");
break;
case Panel::Console:
case Panel::Exit:
case Panel::Login:
! resp[i]->resp=strdup(panel->GetName().c_str());
break;
}
break;
--- 51,63 ----
case Panel::Suspend:
case Panel::Halt:
case Panel::Reboot:
! (*resp)[i].resp=strdup("root");
break;
case Panel::Console:
case Panel::Exit:
case Panel::Login:
! (*resp)[i].resp=strdup(panel->GetName().c_str());
break;
}
break;
***************
*** 73,79 ****
default:
panel->EventHandler(Panel::Get_Passwd);
! resp[i]->resp=strdup(panel->GetPasswd().c_str());
break;
}
break;
--- 73,79 ----
default:
panel->EventHandler(Panel::Get_Passwd);
! (*resp)[i].resp=strdup(panel->GetPasswd().c_str());
break;
}
break;
***************
*** 89,97 ****
}
if (result!=PAM_SUCCESS){
for (int i=0; i<num_msg; i++){
! if (resp[i]->resp==0) continue;
! free(resp[i]->resp);
! resp[i]->resp=0;
};
free(*resp);
*resp=0;
--- 89,97 ----
}
if (result!=PAM_SUCCESS){
for (int i=0; i<num_msg; i++){
! if ((*resp)[i].resp==0) continue;
! free((*resp)[i].resp);
! (*resp)[i].resp=0;
};
free(*resp);
*resp=0;

View File

@ -1,20 +0,0 @@
diff -rc slim-1.3.1-orig/app.cpp slim-1.3.1/app.cpp
*** slim-1.3.1-orig/app.cpp 2008-09-26 02:54:15.000000000 +0200
--- slim-1.3.1/app.cpp 2009-08-17 02:59:37.000000000 +0200
***************
*** 226,232 ****
pam.start("slim");
pam.set_item(PAM::Authenticator::TTY, DisplayName);
pam.set_item(PAM::Authenticator::Requestor, "root");
! pam.set_item(PAM::Authenticator::Host, "localhost");
}
catch(PAM::Exception& e){
--- 226,232 ----
pam.start("slim");
pam.set_item(PAM::Authenticator::TTY, DisplayName);
pam.set_item(PAM::Authenticator::Requestor, "root");
! pam.set_item(PAM::Authenticator::Host, "");
}
catch(PAM::Exception& e){

View File

@ -9,13 +9,13 @@ assert (libXft != null) -> libpng != null; # probably a bug
assert stdenv.isDarwin -> libXaw != null; # fails to link otherwise
stdenv.mkDerivation rec {
name = "emacs-24.1";
name = "emacs-24.2";
builder = ./builder.sh;
src = fetchurl {
url = "mirror://gnu/emacs/${name}.tar.bz2";
sha256 = "eeea272732146e2be9aee2f8d71d6cf07b8654c0282da62a26b921d433f02b7c";
sha256 = "13wbjfjmz13qpjwssy44nw2230lllmkkgjsy0rqfm6am2cf87n3k";
};
buildInputs =

View File

@ -0,0 +1,26 @@
{stdenv, fetchurl, emacs}:
stdenv.mkDerivation rec {
name = "color-theme-6.6.0";
src = fetchurl {
url = "http://download.savannah.gnu.org/releases/color-theme/${name}.tar.gz";
sha256 = "0yx1ghcjc66s1rl0v3d4r1k88ifw591hf814ly3d73acvh15zlsn";
};
# patches from http://aur.archlinux.org/packages.php?ID=54883
patches = [ ./fix-build.patch ./gnus-bug.diff ];
buildInputs = [ emacs ];
installFlags = [ "ELISPDIR=$(out)/share/emacs/site-lisp" ];
installTargets = "install-bin";
meta = {
description = "An emacs-lisp mode for skinning your emacs.";
homepage = http://www.nongnu.org/color-theme;
license = "GPLv2+";
platforms = stdenv.lib.platforms.all;
};
}

View File

@ -0,0 +1,19 @@
--- a/Makefile 2009-05-15 18:22:49.000000000 +0200
+++ b/Makefile 2009-05-16 08:59:36.000000000 +0200
@@ -15,6 +15,7 @@
TARGET = $(patsubst %.el,%.elc,$(SPECIAL) $(SOURCE))
MANUAL = color-theme
MISC = AUTHORS COPYING ChangeLog Makefile.defs Makefile $(AUTOLOADFILE).in
+LOADPATH = "$(shell pwd)" "$(shell pwd)/themes"
#AUTHORS CREDITS HISTORY NEWS README Makefile ChangeLog \
#ChangeLog.2005 ChangeLog.2004 ChangeLog.2003 ChangeLog.2002 \
#ChangeLog.2001 servers.pl color-theme-auto.in color-theme.texi
@@ -47,7 +48,7 @@
%.elc: %.el
@$(EMACS) $(OPTIONCOMPILE) \
- --eval '(setq load-path (cons "." load-path))' \
+ --eval '(setq load-path (append load-path (list $(LOADPATH))))' \
-f batch-byte-compile $<
%.info: %.texi

View File

@ -0,0 +1,28 @@
diff -Naur color-theme-6.6.0.orig/color-theme.el color-theme-6.6.0.new/color-theme.el
--- color-theme-6.6.0.orig/color-theme.el 2011-11-18 01:17:29.000000000 +0100
+++ color-theme-6.6.0.new/color-theme.el 2011-11-18 01:24:07.000000000 +0100
@@ -73,9 +73,10 @@
"Non-nil if running XEmacs.")
;; Add this since it appears to miss in emacs-2x
-(or (fboundp 'replace-in-string)
- (defun replace-in-string (target old new)
- (replace-regexp-in-string old new target)))
+(if (fboundp 'replace-in-string)
+ (defalias 'color-theme-replace-in-string 'replace-in-string)
+ (defsubst color-theme-replace-in-string (target old new &optional literal)
+ (replace-regexp-in-string old new target nil literal)))
;; face-attr-construct has a problem in Emacs 20.7 and older when
;; dealing with inverse-video faces. Here is a short test to check
@@ -1626,8 +1627,8 @@
(add-to-list 'color-themes
(list ',n
(upcase-initials
- (replace-in-string
- (replace-in-string
+ (color-theme-replace-in-string
+ (color-theme-replace-in-string
(symbol-name ',n) "^color-theme-" "") "-" " "))
,author))
(defun ,n ()

View File

@ -0,0 +1,32 @@
{stdenv, fetchurl, emacs}:
stdenv.mkDerivation rec {
name = "rect-mark-1.4";
src = fetchurl {
url = "http://emacswiki.org/emacs/download/rect-mark.el";
sha256 = "0pyyg53z9irh5jdfvh2qp4pm8qrml9r7lh42wfmdw6c7f56qryh8";
};
phases = [ "buildPhase" "installPhase"];
buildInputs = [ emacs ];
buildPhase = ''
cp $src rect-mark.el
emacs --batch -f batch-byte-compile rect-mark.el
'';
installPhase = ''
install -d $out/share/emacs/site-lisp
install rect-mark.el* $out/share/emacs/site-lisp
'';
meta = {
description = "Mark a rectangle of text with highlighting.";
homepage = http://emacswiki.org/emacs/RectangleMark;
license = "GPLv2+";
platforms = stdenv.lib.platforms.all;
};
}

View File

@ -0,0 +1,32 @@
{stdenv, fetchurl, emacs}:
stdenv.mkDerivation rec {
name = "sunrise-commander-6";
src = fetchurl {
url = "http://www.emacswiki.org/emacs/download/sunrise-commander.el";
sha256 = "1bbpm00nc7ry0f2k4zaqbvp6w9py31asfcr9hddggc138pnfajvq";
};
phases = [ "buildPhase" "installPhase"];
buildInputs = [ emacs ];
buildPhase = ''
cp $src sunrise-commander.el
emacs --batch -f batch-byte-compile sunrise-commander.el
'';
installPhase = ''
install -d $out/share/emacs/site-lisp
install sunrise-commander.el* $out/share/emacs/site-lisp
'';
meta = {
description = "Two-pane file manager for Emacs based on Dired and inspired by MC.";
homepage = http://www.emacswiki.org/emacs/Sunrise_Commander;
license = "GPLv3+";
platforms = stdenv.lib.platforms.all;
};
}

View File

@ -1,6 +1,6 @@
{ stdenv, fetchurl, pkgconfig, gtk, freetype
, fontconfig, libart_lgpl, libtiff, libjpeg, libpng, libexif, zlib, perl
, perlXMLParser, python, pygtk, gettext, xlibs, intltool, babl, gegl
, fontconfig, libart_lgpl, libtiff, libjpeg, libpng12, libexif, zlib, perl
, perlXMLParser, python, pygtk, gettext, xlibs, intltool, babl_0_0_22, gegl_0_0_22
}:
stdenv.mkDerivation rec {
@ -13,8 +13,8 @@ stdenv.mkDerivation rec {
buildInputs = [
pkgconfig gtk freetype fontconfig
libart_lgpl libtiff libjpeg libpng libexif zlib perl
perlXMLParser python pygtk gettext intltool babl gegl
libart_lgpl libtiff libjpeg libpng12 libexif zlib perl
perlXMLParser python pygtk gettext intltool babl_0_0_22 gegl_0_0_22
];
passthru = { inherit gtk; }; # probably its a good idea to use the same gtk in plugins ?

View File

@ -0,0 +1,26 @@
{stdenv, fetchgit, qt4, cgal, boost, gmp, mpfr, flex, bison, dxflib}:
stdenv.mkDerivation rec {
version = "0.8.0";
name = "rapcad-${version}";
src = fetchgit {
url = "git://git.rapcad.org/rapcad";
rev = "refs/tags/v${version}";
sha256 = "37c7107dc4fcf8942a4ad35377c4e42e6aedfa35296e5fcf8d84882ae35087c7";
};
buildInputs = [qt4 cgal boost gmp mpfr flex bison dxflib];
configurePhase = ''
qmake;
sed -e "s@/usr/@$out/@g" -i $(find . -name Makefile)
'';
meta = {
license = stdenv.lib.licenses.gpl3;
maintainers = with stdenv.lib.maintainers; [raskin];
platforms = stdenv.lib.platforms.linux;
description = ''Constructive solid geometry package'';
};
}

View File

@ -1,15 +1,19 @@
{ fetchurl, stdenv, zlib, expat }:
{ fetchurl, stdenv, zlib, expat, which }:
stdenv.mkDerivation rec {
name = "gpsbabel-1.3.6";
let version = "1.4.3"; in
stdenv.mkDerivation {
name = "gpsbabel-${version}";
src = fetchurl {
url = "http://www.gpsbabel.org/plan9.php?dl=${name}.tar.gz";
name = "${name}.tar.gz";
sha256 = "1dm9lpcdsj0vz699zz932xc1vphvap627wl0qp61izlkzh25vg88";
# gpgbabel.org makes it hard to get the source tarball automatically, so
# get it from elsewhere.
url = "mirror://debian/pool/main/g/gpsbabel/gpsbabel_${version}.orig.tar.gz";
sha256 = "1s31xa36ivf836h89m1f3qiaz3c3znvqjdm0bnh8vr2jjlrz9jdi";
};
buildInputs = [ zlib expat ];
# FIXME: Would need libxml2 for one of the tests, but that in turns require
# network access for the XML schemas.
buildInputs = [ zlib expat which ];
/* FIXME: Building the documentation, with "make doc", requires this:
@ -17,7 +21,10 @@ stdenv.mkDerivation rec {
But FOP isn't packaged yet. */
configureFlags = "--with-zlib=system";
preConfigure = "cd gpsbabel";
configureFlags = [ "--with-zlib=system" ];
doCheck = true;
meta = {
description = "GPSBabel, a tool to convert, upload and download data from GPS and Map programs";
@ -44,5 +51,8 @@ stdenv.mkDerivation rec {
homepage = http://www.gpsbabel.org/;
license = "GPLv2+";
maintainers = [ stdenv.lib.maintainers.ludo ];
platforms = stdenv.lib.platforms.gnu; # arbitrary choice
};
}

View File

@ -1,21 +0,0 @@
{ cabal, ConfigFile, filepath, HStringTemplate, HUnit, pandoc
, pandocTypes, SHA, testFramework, testFrameworkHunit, time
}:
cabal.mkDerivation (self: {
pname = "mathblog";
version = "0.5";
sha256 = "01iyzrwscqirhcr4622d0n16mr4p54qbvg5m2a0ns36j59xfd79g";
isLibrary = false;
isExecutable = true;
buildDepends = [
ConfigFile filepath HStringTemplate HUnit pandoc pandocTypes SHA
testFramework testFrameworkHunit time
];
meta = {
description = "A program for creating and managing a static weblog with LaTeX math and function graphs";
license = self.stdenv.lib.licenses.bsd3;
platforms = self.ghc.meta.platforms;
maintainers = [ self.stdenv.lib.maintainers.andres ];
};
})

View File

@ -1,4 +1,4 @@
{ enableGUI ? true, enablePDFtoPPM ? true, useT1Lib ? true
{ enableGUI ? true, enablePDFtoPPM ? true, useT1Lib ? false
, stdenv, fetchurl, x11 ? null, motif ? null, freetype ? null, t1lib ? null
, base14Fonts ? null
}:
@ -7,6 +7,8 @@ assert enableGUI -> x11 != null && motif != null && freetype != null;
assert enablePDFtoPPM -> freetype != null;
assert useT1Lib -> t1lib != null;
assert !useT1Lib; # t1lib has multiple unpatched security vulnerabilities
stdenv.mkDerivation {
name = "xpdf-3.03";

View File

@ -1,8 +1,5 @@
{ stdenv, getConfig, fetchurl, makeWrapper, which
# this is needed in order to build the versions older than 21.x
, subversion
# default dependencies
, bzip2, flac, speex
, libevent, expat, libjpeg
@ -32,7 +29,7 @@ let
channel = "stable";
selinux = false;
nacl = false;
openssl = true;
openssl = false;
gnome = false;
gnomeKeyring = false;
proprietaryCodecs = true;
@ -59,7 +56,7 @@ let
use_system_libpng = true;
use_system_libxml = true;
use_system_speex = true;
use_system_ssl = true;
use_system_ssl = config.openssl;
use_system_stlport = true;
use_system_xdg_utils = true;
use_system_yasm = true;
@ -73,14 +70,16 @@ let
use_system_v8 = false;
};
needsSubversion = stdenv.lib.versionOlder sourceInfo.version "21.0.0.0";
defaultDependencies = [
bzip2 flac speex
libevent expat libjpeg
libpng libxml2 libxslt
xdg_utils yasm zlib
] ++ stdenv.lib.optional needsSubversion subversion;
];
seccompPatch = let
pre22 = stdenv.lib.versionOlder sourceInfo.version "22.0.0.0";
in if pre22 then ./enable_seccomp.patch else ./enable_seccomp22.patch;
in stdenv.mkDerivation rec {
name = "${packageName}-${version}";
@ -113,7 +112,7 @@ in stdenv.mkDerivation rec {
prePatch = "patchShebangs .";
patches = stdenv.lib.optional (!config.selinux) ./enable_seccomp.patch
patches = stdenv.lib.optional (!config.selinux) seccompPatch
++ stdenv.lib.optional config.cups ./cups_allow_deprecated.patch
++ stdenv.lib.optional config.pulseaudio ./pulseaudio_array_bounds.patch;

View File

@ -0,0 +1,20 @@
diff --git a/content/common/sandbox_linux.cc b/content/common/sandbox_linux.cc
index d4618e5..108f846 100644
--- a/content/common/sandbox_linux.cc
+++ b/content/common/sandbox_linux.cc
@@ -38,15 +38,9 @@ void LogSandboxStarted(const std::string& sandbox_name) {
// Implement the command line enabling logic for seccomp-legacy.
bool IsSeccompLegacyDesired() {
#if defined(SECCOMP_SANDBOX)
-#if defined(NDEBUG)
- // Off by default; allow turning on with a switch.
- return CommandLine::ForCurrentProcess()->HasSwitch(
- switches::kEnableSeccompSandbox);
-#else
// On by default; allow turning off with a switch.
return !CommandLine::ForCurrentProcess()->HasSwitch(
switches::kDisableSeccompSandbox);
-#endif // NDEBUG
#endif // SECCOMP_SANDBOX
return false;
}

View File

@ -1,19 +1,18 @@
# This file is autogenerated from update.sh in the same directory.
# VHASH: c9500486764a2433d0f059134a981eb9adccd3546a6f779bc0e05cdcb26d2ae6
{
dev = {
version = "22.0.1221.1";
url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-22.0.1221.1.tar.bz2";
sha256 = "08cx2im0ng1dg83mk8jlx4in7v8f5vsf9y2ild0i22jb20c7h31s";
version = "23.0.1243.2";
url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-23.0.1243.2.tar.bz2";
sha256 = "1idsc1k0c392mvh2rhfv0sr50rmzdab18ilh9p90mab5a6fk32rh";
};
beta = {
version = "21.0.1180.57";
url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-21.0.1180.57.tar.bz2";
sha256 = "0idimvkrhs09x93hl8p7rddyb0ymk9f8i5jm6m3lg6ga959aj6ri";
version = "22.0.1229.14";
url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-22.0.1229.14.tar.bz2";
sha256 = "11z5wc1m5443bsassq3np79yqr2bwr06ph672by3saikl2xkadn5";
};
stable = {
version = "21.0.1180.57";
url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-21.0.1180.57.tar.bz2";
sha256 = "0idimvkrhs09x93hl8p7rddyb0ymk9f8i5jm6m3lg6ga959aj6ri";
version = "21.0.1180.81";
url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-21.0.1180.81.tar.bz2";
sha256 = "1b5svzg7xxx46bz9s5ayai2ig9b7s0x4s1yl7r42p9g27qwf0dpl";
};
}

View File

@ -4,16 +4,92 @@ channels_url="http://omahaproxy.appspot.com/";
bucket_url="http://commondatastorage.googleapis.com/chromium-browser-official/";
output_file="$(cd "$(dirname "$0")" && pwd)/sources.nix";
get_channels()
nix_getattr()
{
input_file="$1";
attr="$2";
var="$(nix-instantiate --eval-only -A "$attr" "$output_file")";
echo "$var" | tr -d '\\"';
}
### poor mans key/value-store :-) ###
ver_sha_table=""; # list of version:sha256
sha_lookup()
{
version="$1";
for ver_sha in $ver_sha_table;
do
if [ "x${ver_sha%:*}" = "x$version" ];
then
echo "${ver_sha##*:}";
return 0;
fi;
done;
return 1;
}
sha_insert()
{
version="$1";
sha256="$2";
ver_sha_table="$ver_sha_table $version:$sha256";
}
if [ -e "$output_file" ];
then
get_sha256()
{
channel="$1";
version="$2";
url="$3";
oldver="$(nix_getattr "$output_file" "$channel.version")";
echo -n "Checking if $oldver ($channel) is up to date..." >&2;
if [ "x$version" != "x$oldver" ];
then
echo " no, getting sha256 for new version $version:" >&2;
sha256="$(nix-prefetch-url "$url")";
else
echo " yes, keeping old sha256." >&2;
sha256="$(nix_getattr "$output_file" "$channel.sha256")";
fi;
sha_insert "$version" "$sha256"
echo "$sha256";
}
else
get_sha256()
{
nix-prefetch-url "$url";
}
fi;
get_channel_exprs()
{
for chline in $(echo "$1" | cut -d, -f-2);
do
channel="${chline%%,*}";
version="${chline##*,}";
url="${bucket_url%/}/chromium-$version.tar.bz2";
sha256="$(nix-prefetch-url "$url")";
echo -n "Checking if sha256 of version $version is cached..." >&2;
if sha256="$(sha_lookup "$version")";
then
echo " yes: $sha256" >&2;
else
echo " no." >&2;
sha256="$(get_sha256 "$channel" "$version" "$url")";
fi;
sha_insert "$version" "$sha256";
echo " $channel = {";
echo " version = \"$version\";";
@ -25,26 +101,13 @@ get_channels()
cd "$(dirname "$0")";
versions="$(curl -s "$channels_url" | sed -n -e 's/^linux,\(\([^,]\+,\)\{2\}\).*$/\1/p')";
if [ -e "$output_file" ];
then
vhash="$(echo "$versions" | sha256sum | cut -d' ' -f1)";
old_vhash="$(sed -n 's/# *VHASH: *//p' "$output_file")";
if [ "x$vhash" = "x$old_vhash" ];
then
echo "$output_file is already up to date, bailing out." >&2;
exit 1;
fi;
fi;
channels="$(get_channels "$versions")";
omaha="$(curl -s "$channels_url")";
versions="$(echo "$omaha" | sed -n -e 's/^linux,\(\([^,]\+,\)\{2\}\).*$/\1/p')";
channel_exprs="$(get_channel_exprs "$versions")";
cat > "$output_file" <<-EOF
# This file is autogenerated from update.sh in the same directory.
# VHASH: $vhash
{
$channels
$channel_exprs
}
EOF

View File

@ -33,7 +33,7 @@ rec {
"--with-system-zlib"
"--with-system-bz2"
"--with-system-nspr"
# "--with-system-nss"
"--with-system-nss"
# "--with-system-png" # <-- "--with-system-png won't work because the system's libpng doesn't have APNG support"
# "--enable-system-cairo" # disabled for the moment because our Cairo is too old
"--enable-system-sqlite"
@ -54,7 +54,7 @@ rec {
[ pkgconfig gtk perl zip libIDL libjpeg libpng zlib cairo bzip2
python dbus dbus_glib pango freetype fontconfig xlibs.libXi
xlibs.libX11 xlibs.libXrender xlibs.libXft xlibs.libXt file
alsaLib nspr /* nss */ libnotify xlibs.pixman yasm mesa
alsaLib nspr nss libnotify xlibs.pixman yasm mesa
xlibs.libXScrnSaver xlibs.scrnsaverproto
xlibs.libXext xlibs.xextproto sqlite unzip
];
@ -129,7 +129,7 @@ rec {
buildInputs =
[ pkgconfig gtk perl zip libIDL libjpeg zlib cairo bzip2 python
dbus dbus_glib pango freetype fontconfig alsaLib nspr libnotify
dbus dbus_glib pango freetype fontconfig alsaLib nspr nss libnotify
xlibs.pixman yasm mesa sqlite file unzip
];

View File

@ -33,7 +33,7 @@ rec {
"--with-system-zlib"
"--with-system-bz2"
"--with-system-nspr"
# "--with-system-nss"
"--with-system-nss"
# "--with-system-png" # <-- "--with-system-png won't work because the system's libpng doesn't have APNG support"
# "--enable-system-cairo" # disabled for the moment because our Cairo is too old
"--enable-system-sqlite"
@ -54,7 +54,7 @@ rec {
[ pkgconfig gtk perl zip libIDL libjpeg libpng zlib cairo bzip2
python dbus dbus_glib pango freetype fontconfig xlibs.libXi
xlibs.libX11 xlibs.libXrender xlibs.libXft xlibs.libXt file
alsaLib nspr /* nss */ libnotify xlibs.pixman yasm mesa
alsaLib nspr nss libnotify xlibs.pixman yasm mesa
xlibs.libXScrnSaver xlibs.scrnsaverproto
xlibs.libXext xlibs.xextproto sqlite unzip makeWrapper
];
@ -136,7 +136,7 @@ rec {
buildInputs =
[ pkgconfig gtk perl zip libIDL libjpeg zlib cairo bzip2 python
dbus dbus_glib pango freetype fontconfig alsaLib nspr libnotify
dbus dbus_glib pango freetype fontconfig alsaLib nspr nss libnotify
xlibs.pixman yasm mesa sqlite file unzip
];

View File

@ -31,7 +31,7 @@ rec {
"--with-system-zlib"
"--with-system-bz2"
"--with-system-nspr"
#"--with-system-nss"
"--with-system-nss"
# "--with-system-png" # <-- "--with-system-png won't work because the system's libpng doesn't have APNG support"
"--enable-system-cairo"
#"--enable-system-sqlite" # <-- this seems to be discouraged
@ -59,7 +59,7 @@ rec {
[ pkgconfig gtk perl zip libIDL libjpeg libpng zlib cairo bzip2
python dbus dbus_glib pango freetype fontconfig xlibs.libXi
xlibs.libX11 xlibs.libXrender xlibs.libXft xlibs.libXt file
alsaLib nspr /* nss */ libnotify xlibs.pixman
alsaLib nspr nss libnotify xlibs.pixman
];
preConfigure = if stdenv.isMips then ''
@ -118,7 +118,7 @@ rec {
buildInputs =
[ pkgconfig gtk perl zip libIDL libjpeg zlib cairo bzip2 python
dbus dbus_glib pango freetype fontconfig alsaLib nspr libnotify
dbus dbus_glib pango freetype fontconfig alsaLib nspr nss libnotify
xlibs.pixman
];

View File

@ -0,0 +1,51 @@
{ stdenv, fetchurl, makeWrapper, which, jre, bash }:
stdenv.mkDerivation rec {
name = "hadoop-2.0.1-alpha";
src = fetchurl {
url = "mirror://apache/hadoop/common/${name}/${name}.tar.gz";
sha256 = "4e5f4fa1574ee58fd6d59a220b66578fc2cf62c229120eeed07f2880c86f0e59";
};
buildInputs = [ makeWrapper ];
buildPhase = ''
for n in "bin/"* "sbin/"*; do
sed -i $n -e "s|#!/usr/bin/env bash|#! ${bash}/bin/bash|"
done
patchelf --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" bin/container-executor
'';
installPhase = ''
mkdir -p $out
mv *.txt share/doc/hadoop/
mv * $out
for n in $out/{bin,sbin}"/"*; do
wrapProgram $n --prefix PATH : "${which}/bin:${jre}/bin:${bash}/bin" --set JAVA_HOME "${jre}" --set HADOOP_PREFIX "$out"
done
'';
meta = {
homepage = "http://hadoop.apache.org/";
description = "framework for distributed processing of large data sets across clusters of computers";
license = stdenv.lib.licenses.asl20;
longDescription = ''
The Apache Hadoop software library is a framework that allows for
the distributed processing of large data sets across clusters of
computers using a simple programming model. It is designed to
scale up from single servers to thousands of machines, each
offering local computation and storage. Rather than rely on
hardware to deliver high-avaiability, the library itself is
designed to detect and handle failures at the application layer,
so delivering a highly-availabile service on top of a cluster of
computers, each of which may be prone to failures.
'';
platforms = stdenv.lib.platforms.linux;
maintainers = [ stdenv.lib.maintainers.simons ];
};
}

View File

@ -144,6 +144,8 @@ stdenv.mkDerivation rec {
"--without-system-nss"
"--without-system-sampleicc"
"--without-system-libexttextcat"
"--with-java-target-version=1.6" # The default 1.7 not supported
];
buildInputs = [

View File

@ -0,0 +1,69 @@
# - coqide compilation can be disabled by setting lablgtk to null;
{stdenv, fetchurl, ocaml, findlib, camlp5, ncurses, lablgtk ? null}:
let
version = "8.3pl4";
buildIde = lablgtk != null;
ideFlags = if buildIde then "-lablgtkdir ${lablgtk}/lib/ocaml/*/site-lib/lablgtk2 -coqide opt" else "";
idePatch = if buildIde then ''
substituteInPlace scripts/coqmktop.ml --replace \
"\"-I\"; \"+lablgtk2\"" \
"\"-I\"; \"$(echo "${lablgtk}"/lib/ocaml/*/site-lib/lablgtk2)\"; \"-I\"; \"$(echo "${lablgtk}"/lib/ocaml/*/site-lib/stublibs)\""
'' else "";
in
stdenv.mkDerivation {
name = "coq-${version}";
src = fetchurl {
url = "http://coq.inria.fr/V${version}/files/coq-${version}.tar.gz";
sha256 = "17d3lmchmqir1rawnr52g78srg4wkd7clzpzfsivxc4y1zp6rwkr";
};
buildInputs = [ ocaml findlib camlp5 ncurses lablgtk ];
prefixKey = "-prefix ";
preConfigure = ''
configureFlagsArray=(
-opt
-camldir ${ocaml}/bin
-camlp5dir $(ocamlfind query camlp5)
${ideFlags}
)
'';
buildFlags = "world"; # Debug with "world VERBOSE=1";
patches = [ ./configure.8.3.patch ];
postPatch = ''
UNAME=$(type -tp uname)
RM=$(type -tp rm)
substituteInPlace configure --replace "/bin/uname" "$UNAME"
substituteInPlace tools/beautify-archive --replace "/bin/rm" "$RM"
${idePatch}
'';
# This post install step is needed to build ssrcoqide from the ssreflect package
# It could be made optional, but I see little harm in including it in the default
# distribution -- roconnor
# This will likely no longer be necessary for coq >= 8.4. -- roconnor
postInstall = if buildIde then ''
cp ide/*.cmi ide/ide.*a $out/lib/coq/ide/
'' else "";
meta = {
description = "Coq proof assistant";
longDescription = ''
Coq is a formal proof management system. It provides a formal language
to write mathematical definitions, executable algorithms and theorems
together with an environment for semi-interactive development of
machine-checked proofs.
'';
homepage = "http://coq.inria.fr";
license = "LGPL";
maintainers = [ stdenv.lib.maintainers.roconnor ];
};
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,15 +1,13 @@
# - coqide compilation can be disabled by setting lablgtk to null;
{stdenv, fetchurl, ocaml, findlib, camlp5, ncurses, lablgtk ? null}:
{stdenv, fetchurl, pkgconfig, ocaml, findlib, camlp5, ncurses, lablgtk ? null}:
let
version = "8.3pl4";
version = "8.4";
buildIde = lablgtk != null;
ideFlags = if buildIde then "-lablgtkdir ${lablgtk}/lib/ocaml/*/site-lib/lablgtk2 -coqide opt" else "";
idePatch = if buildIde then ''
substituteInPlace scripts/coqmktop.ml --replace \
"\"-I\"; \"+lablgtk2\"" \
"\"-I\"; \"$(echo "${lablgtk}"/lib/ocaml/*/site-lib/lablgtk2)\"; \"-I\"; \"$(echo "${lablgtk}"/lib/ocaml/*/site-lib/stublibs)\""
idePath = if buildIde then ''
CAML_LD_LIBRARY_PATH=${lablgtk}/lib/ocaml/3.12.1/site-lib/stublibs
'' else "";
in
@ -17,24 +15,11 @@ stdenv.mkDerivation {
name = "coq-${version}";
src = fetchurl {
url = "http://coq.inria.fr/V${version}/files/coq-${version}.tar.gz";
sha256 = "17d3lmchmqir1rawnr52g78srg4wkd7clzpzfsivxc4y1zp6rwkr";
url = "http://pauillac.inria.fr/~herbelin/coq/distrib/V${version}/files/coq-${version}.tar.gz";
sha256 = "0ka2lak9il4hlblk461awf0hbi3mxqhc1wz6kllxradyy2vfaspl";
};
buildInputs = [ ocaml findlib camlp5 ncurses lablgtk ];
prefixKey = "-prefix ";
preConfigure = ''
configureFlagsArray=(
-opt
-camldir ${ocaml}/bin
-camlp5dir $(ocamlfind query camlp5)
${ideFlags}
)
'';
buildFlags = "world"; # Debug with "world VERBOSE=1";
buildInputs = [ pkgconfig ocaml findlib camlp5 ncurses lablgtk ];
patches = [ ./configure.patch ];
@ -43,16 +28,21 @@ stdenv.mkDerivation {
RM=$(type -tp rm)
substituteInPlace configure --replace "/bin/uname" "$UNAME"
substituteInPlace tools/beautify-archive --replace "/bin/rm" "$RM"
${idePatch}
'';
# This post install step is needed to build ssrcoqide from the ssreflect package
# It could be made optional, but I see little harm in including it in the default
# distribution -- roconnor
# This will likely no longer be necessary for coq >= 8.4. -- roconnor
postInstall = if buildIde then ''
cp ide/*.cmi ide/ide.*a $out/lib/coq/ide/
'' else "";
preConfigure = ''
buildFlagsArray=(${idePath})
configureFlagsArray=(
-opt
-camldir ${ocaml}/bin
-camlp5dir $(ocamlfind query camlp5)
${ideFlags}
)
'';
prefixKey = "-prefix ";
buildFlags = "revision coq coqide";
meta = {
description = "Coq proof assistant";

View File

@ -69,22 +69,8 @@ rec {
inherit stdenv fetchurl unzip;
};
tig = stdenv.mkDerivation {
name = "tig-0.16";
src = fetchurl {
url = "http://jonas.nitro.dk/tig/releases/tig-0.16.tar.gz";
sha256 = "167kak44n66wqjj6jrv8q4ijjac07cw22rlpqjqz3brlhx4cb3ix";
};
buildInputs = [ncurses asciidoc xmlto docbook_xsl];
installPhase = ''
make install
make install-doc
'';
meta = {
description = "console git repository browser that additionally can act as a pager for output from various git commands";
homepage = http://jonas.nitro.dk/tig/;
license = "GPLv2";
};
tig = import ./tig {
inherit stdenv fetchurl ncurses asciidoc xmlto docbook_xsl;
};
gitFastExport = import ./fast-export {

View File

@ -0,0 +1,19 @@
{ stdenv, fetchurl, ncurses, asciidoc, xmlto, docbook_xsl }:
stdenv.mkDerivation {
name = "tig-1.0";
src = fetchurl {
url = "http://jonas.nitro.dk/tig/releases/tig-1.0.tar.gz";
md5 = "a2d414d1cebbc9cd4f3d545bc6f225c6";
};
buildInputs = [ncurses asciidoc xmlto docbook_xsl];
installPhase = ''
make install
make install-doc
'';
meta = {
description = "Tig is a git repository browser that additionally can act as a pager for output from various git commands";
homepage = "http://jonas.nitro.dk/tig/";
license = "GPLv2";
};
}

View File

@ -8,21 +8,38 @@
with stdenv.lib;
let version = "4.1.18"; in
let
stdenv.mkDerivation {
version = "4.1.20";
forEachModule = action: ''
for mod in \
$sourcedir/out/linux.*/release/bin/src/vboxdrv \
$sourcedir/out/linux.*/release/bin/src/vboxpci \
$sourcedir/out/linux.*/release/bin/src/vboxnetadp \
$sourcedir/out/linux.*/release/bin/src/vboxnetflt
do
if [ "x$(basename "$mod")" != xvboxdrv -a ! -e "$mod/Module.symvers" ]
then
cp -v $sourcedir/out/linux.*/release/bin/src/vboxdrv/Module.symvers \
"$mod/Module.symvers"
fi
INSTALL_MOD_PATH="$out" INSTALL_MOD_DIR=misc \
make -C "$MODULES_BUILD_DIR" "M=$mod" DEPMOD=/do_not_use_depmod ${action}
done
'';
in stdenv.mkDerivation {
name = "virtualbox-${version}-${kernel.version}";
NIX_CFLAGS_COMPILE="-I${kernel}/lib/modules/${kernel.modDirVersion}/build/include/generated";
src = fetchurl {
url = "http://download.virtualbox.org/virtualbox/${version}/VirtualBox-${version}.tar.bz2";
sha256 = "e650e4fdc23581b9edc0e5d5705cc596c76796851ebf65ccda0edb8e413fa3b7";
sha256 = "b132dbc5c6e9ed77aba737ec35b488ac152aa362c3ad49d466897bc410324aeb";
};
buildInputs =
[ iasl dev86 libxslt libxml2 xproto libX11 libXext libXcursor qt4 libIDL SDL
libcap glib kernel python alsaLib curl pam xorriso makeself perl jdk
libcap glib kernel python alsaLib curl pam xorriso makeself perl
pkgconfig which libXmu ]
++ optional javaBindings jdk
++ optional pythonBindings python;
@ -34,18 +51,19 @@ stdenv.mkDerivation {
-e 's@MKISOFS --version@MKISOFS -version@' \
-e 's@PYTHONDIR=.*@PYTHONDIR=${if pythonBindings then python else ""}@' \
-i configure
ls kBuild/bin/linux.x86/k* tools/linux.x86/bin/* | xargs -n 1 patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux.so.2
ls kBuild/bin/linux.amd64/k* tools/linux.amd64/bin/* | xargs -n 1 patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux-x86-64.so.2
ls kBuild/bin/linux.x86/k* tools/linux.x86/bin/* | xargs -n 1 patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux.so.2
ls kBuild/bin/linux.amd64/k* tools/linux.amd64/bin/* | xargs -n 1 patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux-x86-64.so.2
find . -type f | xargs sed 's/depmod -a/true/' -i
export USER=nix
set +x
'';
configurePhase = ''
sourcedir="$(pwd)"
./configure --with-qt4-dir=${qt4} \
${optionalString (!javaBindings) "--disable-java"} \
${optionalString (!pythonBindings) "--disable-python"} \
--disable-pulse --disable-hardening \
--disable-pulse --disable-hardening --disable-kmods \
--with-mkisofs=${xorriso}/bin/xorrisofs
sed -e 's@PKG_CONFIG_PATH=.*@PKG_CONFIG_PATH=${libIDL}/lib/pkgconfig:${glib}/lib/pkgconfig ${libIDL}/bin/libIDL-config-2@' \
-i AutoConfig.kmk
@ -55,7 +73,9 @@ stdenv.mkDerivation {
cat >> AutoConfig.kmk << END_PATHS
VBOX_PATH_APP_PRIVATE := $out
VBOX_PATH_APP_DOCS := $out/doc
VBOX_JAVA_HOME := ${jdk}
${optionalString javaBindings ''
VBOX_JAVA_HOME := ${jdk}
''}
END_PATHS
echo "VBOX_WITH_DOCS :=" >> LocalConfig.kmk
echo "VBOX_WITH_WARNINGS_AS_ERRORS :=" >> LocalConfig.kmk
@ -63,51 +83,35 @@ stdenv.mkDerivation {
enableParallelBuilding = true;
preBuild = ''
buildPhase = ''
source env.sh
kmk
cd out/linux.*/release/bin/src
export KERN_DIR=${kernel}/lib/modules/*/build
${forEachModule "modules"}
'';
postBuild = ''
cd ../../../../..
'';
installPhase = ''
libexec=$out/libexec/virtualbox
# Install VirtualBox files
cd out/linux.*/release/bin
mkdir -p $libexec
cp -av * $libexec
# Install kernel module
cd src
kernelVersion=$(cd ${kernel}/lib/modules; ls)
export MODULE_DIR=$out/lib/modules/$kernelVersion/misc
# Remove root ownership stuff, since this does not work in a chroot environment
for i in `find . -name Makefile`; do
sed -i -e "s|-o root||g" \
-e "s|-g root||g" $i
done
# Install kernel modules
make install
${forEachModule "modules_install"}
# Create wrapper script
mkdir -p $out/bin
for file in VirtualBox VBoxManage VBoxSDL VBoxBalloonCtrl VBoxBFE VBoxHeadless; do
ln -s "$libexec/$file" $out/bin/$file
done
# Create and fix desktop item
mkdir -p $out/share/applications
sed -i -e "s|Icon=VBox|Icon=$libexec/VBox.png|" $libexec/virtualbox.desktop
ln -sfv $libexec/virtualbox.desktop $out/share/applications
'';
meta = {
description = "PC emulator";
homepage = http://www.virtualbox.org/;

View File

@ -4,7 +4,7 @@
stdenv.mkDerivation {
name = "hg-archive" + (if (name != null) then "-${name}" else "");
builder = ./builder.sh;
buildInputs = [mercurial nix];
buildInputs = [mercurial];
# Nix <= 0.7 compatibility.
id = md5;

View File

@ -24,9 +24,6 @@ rec {
# GNU (http://www.gnu.org/prep/ftp.html).
gnu = [
# This one is the master repository, and thus it's always up-to-date.
http://ftp.gnu.org/pub/gnu/
# This one redirects to a (supposedly) nearby and (supposedly) up-to-date
# mirror.
http://ftpmirror.gnu.org/
@ -37,6 +34,9 @@ rec {
ftp://ftp.cs.tu-berlin.de/pub/gnu/
ftp://ftp.chg.ru/pub/gnu/
ftp://ftp.funet.fi/pub/mirrors/ftp.gnu.org/gnu/
# This one is the master repository, and thus it's always up-to-date.
http://ftp.gnu.org/pub/gnu/
];
# GCC.

View File

@ -8,8 +8,8 @@
, antProperties ? []
, antBuildInputs ? []
, buildfile ? "build.xml"
, ant ? pkgs.ant
, jre ? pkgs.jre
, ant ? pkgs.apacheAntOpenJDK
, jre ? pkgs.openjdk
, hydraAntLogger ? pkgs.hydraAntLogger
, ... } @ args:

View File

@ -53,6 +53,8 @@ foreach my $cdata (values %packages) {
my @provides = getDeps(Dpkg::Deps::parse($cdata->{Provides}));
foreach my $name (@provides) {
#die "conflicting provide: $name\n" if defined $provides{$name};
#warn "provide by $cdata->{Package} conflicts with package with the same name: $name\n";
next if defined $packages{$name};
$provides{$name} = $cdata->{Package};
}
}
@ -67,7 +69,7 @@ sub closePackage {
my $pkgName = shift;
print STDERR ">>> $pkgName\n";
my $cdata = $packages{$pkgName};
if (!defined $cdata) {
die "unknown (virtual) package $pkgName"
unless defined $provides{$pkgName};
@ -75,7 +77,7 @@ sub closePackage {
$pkgName = $provides{$pkgName};
$cdata = $packages{$pkgName};
}
die "unknown package $pkgName" unless defined $cdata;
return if defined $donePkgs{$pkgName};
$donePkgs{$pkgName} = 1;
@ -85,9 +87,9 @@ sub closePackage {
$provides{$name} = $cdata->{Package};
}
}
my @depNames = ();
if (defined $cdata->{Depends}) {
print STDERR " $pkgName: $cdata->{Depends}\n";
my $deps = Dpkg::Deps::parse($cdata->{Depends});
@ -141,7 +143,7 @@ foreach my $pkgName (@order) {
my $origName = basename $cdata->{Filename};
my $cleanedName = $origName;
$cleanedName =~ s/~//g;
print " (fetchurl {\n";
print " url = $urlPrefix/$cdata->{Filename};\n";
print " sha256 = \"$cdata->{SHA256}\";\n";
@ -165,4 +167,3 @@ if ($newComponent != 1) {
print STDERR "argh: ", keys %forward, "\n";
exit 1;
}

View File

@ -34,7 +34,7 @@ rec {
''
mkdir -p $out/bin
mkdir -p $out/lib
# Copy what we need from Glibc.
cp -p ${pkgs.stdenv.glibc}/lib/ld-linux*.so.? $out/lib
cp -p ${pkgs.stdenv.glibc}/lib/libc.so.* $out/lib
@ -60,7 +60,7 @@ rec {
cp ${module_init_tools}/sbin/insmod $out/bin/insmod
cp ${nettools}/sbin/ifconfig $out/bin
cp ${sysvinit}/sbin/halt $out/bin
# Run patchelf to make the programs refer to the copied libraries.
for i in $out/bin/* $out/lib/*; do if ! test -L $i; then nuke-refs $i; fi; done
@ -70,17 +70,19 @@ rec {
done
''; # */
createDeviceNodes = dev:
''
mknod ${dev}/null c 1 3
mknod ${dev}/zero c 1 5
mknod ${dev}/tty c 5 0
mknod ${dev}/null c 1 3
mknod ${dev}/zero c 1 5
mknod ${dev}/random c 1 8
mknod ${dev}/urandom c 1 9
mknod ${dev}/tty c 5 0
. /sys/class/block/${hd}/uevent
mknod ${dev}/${hd} b $MAJOR $MINOR
'';
stage1Init = writeScript "vm-run-stage1" ''
#! ${initrdUtils}/bin/bash -e
echo START
@ -122,7 +124,7 @@ rec {
mount -t tmpfs none /dev
${createDeviceNodes "/dev"}
ifconfig eth0 up 10.0.2.15
mkdir /fs
@ -155,7 +157,7 @@ rec {
mkdir -p /fs/etc
ln -sf /proc/mounts /fs/etc/mtab
echo "Now running: $command"
test -n "$command"
@ -169,7 +171,7 @@ rec {
halt -d -p -f
'';
initrd = makeInitrd {
contents = [
{ object = stage1Init;
@ -178,11 +180,11 @@ rec {
];
};
stage2Init = writeScript "vm-run-stage2" ''
#! ${bash}/bin/sh
source /tmp/xchg/saved-env
export NIX_STORE=/nix/store
export NIX_BUILD_TOP=/tmp
export TMPDIR=/tmp
@ -250,6 +252,7 @@ rec {
path = $TMPDIR/xchg
read only = no
guest ok = yes
$EXTRA_SAMBA_CONF
SMB
rm -f ./samba
@ -285,12 +288,12 @@ rec {
chmod +x ./run-vm
source ./run-vm
if ! test -e xchg/in-vm-exit; then
echo "Virtual machine didn't produce an exit code."
exit 1
fi
eval "$postVM"
exit $(cat xchg/in-vm-exit)
@ -342,7 +345,7 @@ rec {
If the build fails and Nix is run with the `-K' option, a script
`run-vm' will be left behind in the temporary build directory
that allows you to boot into the VM and debug it interactively. */
runInLinuxVM = drv: lib.overrideDerivation drv (attrs: {
requiredSystemFeatures = [ "kvm" ];
builder = "${bash}/bin/sh";
@ -352,7 +355,7 @@ rec {
QEMU_OPTS = "-m ${toString (if attrs ? memSize then attrs.memSize else 256)}";
});
extractFs = {file, fs ? null} :
with pkgs; runInLinuxVM (
stdenv.mkDerivation {
@ -378,7 +381,7 @@ rec {
'';
});
extractMTDfs = {file, fs ? null} :
with pkgs; runInLinuxVM (
stdenv.mkDerivation {
@ -405,7 +408,7 @@ rec {
'';
});
qemuCommandGeneric = ''
PATH="${samba}/sbin:$PATH" \
${kvm}/bin/qemu-kvm \
@ -414,7 +417,7 @@ rec {
$QEMU_OPTS
'';
/* Run a command in an x86 virtual machine image containing an
arbitrary OS. The VM should be configured to do the following:
@ -459,7 +462,7 @@ rec {
the Nix store, but using the tools provided by /bin, /usr/bin
etc. from the specified filesystem image, which typically is a
filesystem containing a non-NixOS Linux distribution. */
runInLinuxImage = attrs: runInLinuxVM (attrs // {
mountDisk = true;
@ -490,12 +493,12 @@ rec {
/* Create a filesystem image of the specified size and fill it with
a set of RPM packages. */
fillDiskWithRPMs =
{ size ? 4096, rpms, name, fullName, preInstall ? "", postInstall ? ""
, runScripts ? true, createRootFS ? defaultCreateRootFS
}:
runInLinuxVM (stdenv.mkDerivation {
inherit name preInstall postInstall rpms;
memSize = 512;
@ -505,7 +508,7 @@ rec {
${createRootFS}
chroot=$(type -tP chroot)
echo "unpacking RPMs..."
for i in $rpms; do
echo "$i..."
@ -524,19 +527,19 @@ rec {
mkdir -p /mnt/nix/store
${utillinux}/bin/mount -o bind /nix/store /mnt/nix/store
${utillinux}/bin/mount -o bind /tmp /mnt/tmp
echo "installing RPMs..."
PATH=/usr/bin:/bin:/usr/sbin:/sbin $chroot /mnt \
rpm -iv ${if runScripts then "" else "--noscripts"} $rpms
echo "running post-install script..."
eval "$postInstall"
rm /mnt/.debug
${utillinux}/bin/umount /mnt/nix/store
${utillinux}/bin/umount /mnt/tmp
${utillinux}/bin/umount /mnt
${utillinux}/bin/umount /mnt/nix/store
${utillinux}/bin/umount /mnt/tmp
${utillinux}/bin/umount /mnt
'';
passthru = { inherit fullName; };
@ -545,7 +548,7 @@ rec {
/* Generate a script that can be used to run an interactive session
in the given image. */
makeImageTestScript = image: writeScript "image-test" ''
#! ${bash}/bin/sh
if test -z "$1"; then
@ -570,7 +573,7 @@ rec {
/* Build RPM packages from the tarball `src' in the Linux
distribution installed in the filesystem `diskImage'. The
tarball must contain an RPM specfile. */
buildRPM = attrs: runInLinuxImage (stdenv.mkDerivation ({
phases = "prepareImagePhase sysInfoPhase buildPhase installPhase";
@ -583,7 +586,7 @@ rec {
done
fi
'';
sysInfoPhase = ''
echo "System/kernel: $(uname -a)"
if test -e /etc/fedora-release; then echo "Fedora release: $(cat /etc/fedora-release)"; fi
@ -592,7 +595,7 @@ rec {
rpm -qa --qf "%{Name}-%{Version}-%{Release} (%{Arch}; %{Distribution}; %{Vendor})\n"
stopNest
'';
buildPhase = ''
eval "$preBuild"
@ -609,7 +612,7 @@ rec {
mkdir $rpmout $rpmout/SPECS $rpmout/BUILD $rpmout/RPMS $rpmout/SRPMS
echo "%_topdir $rpmout" >> $HOME/.rpmmacros
rpmbuild -vv -ta "$srcName"
eval "$postBuild"
@ -639,7 +642,7 @@ rec {
fillDiskWithDebs =
{ size ? 4096, debs, name, fullName, postInstall ? null, createRootFS ? defaultCreateRootFS }:
runInLinuxVM (stdenv.mkDerivation {
inherit name postInstall;
@ -655,7 +658,7 @@ rec {
# Unpack the .debs. We do this to prevent pre-install scripts
# (which have lots of circular dependencies) from barfing.
echo "unpacking Debs..."
for deb in $debs; do
if test "$deb" != "|"; then
echo "$deb..."
@ -668,7 +671,7 @@ rec {
${utillinux}/bin/mount -o bind /nix/store /mnt/inst/nix/store
${utillinux}/bin/mount -o bind /proc /mnt/proc
${utillinux}/bin/mount -o bind /dev /mnt/dev
# Misc. files/directories assumed by various packages.
echo "initialising Dpkg DB..."
touch /mnt/etc/shells
@ -682,7 +685,7 @@ rec {
echo "installing Debs..."
export DEBIAN_FRONTEND=noninteractive
oldIFS="$IFS"
IFS="|"
for component in $debs; do
@ -697,13 +700,13 @@ rec {
PATH=/usr/bin:/bin:/usr/sbin:/sbin $chroot /mnt \
/usr/bin/dpkg --install --force-all $debs < /dev/null || true
done
echo "running post-install script..."
eval "$postInstall"
ln -sf dash /mnt/bin/sh
rm /mnt/.debug
${utillinux}/bin/umount /mnt/inst/nix/store
${utillinux}/bin/umount /mnt/proc
${utillinux}/bin/umount /mnt/dev
@ -717,10 +720,10 @@ rec {
/* Generate a Nix expression containing fetchurl calls for the
closure of a set of top-level RPM packages from the
`primary.xml.gz' file of a Fedora or openSUSE distribution. */
rpmClosureGenerator =
{name, packagesLists, urlPrefixes, packages, archs ? []}:
assert (builtins.length packagesLists) == (builtins.length urlPrefixes) ;
assert (builtins.length packagesLists) == (builtins.length urlPrefixes);
runCommand "${name}.nix" {buildInputs = [perl perlPackages.XMLSimple]; inherit archs;} ''
${lib.concatImapStrings (i: pl: ''
gunzip < ${pl} > ./packages_${toString i}.xml
@ -734,7 +737,7 @@ rec {
/* Helper function that combines rpmClosureGenerator and
fillDiskWithRPMs to generate a disk image from a set of package
names. */
makeImageFromRPMDist =
{ name, fullName, size ? 4096
, urlPrefix ? "", urlPrefixes ? [urlPrefix]
@ -756,10 +759,13 @@ rec {
(i.e. generate a closure from a Packages.bz2 file). */
debClosureGenerator =
{name, packagesList, urlPrefix, packages}:
{name, packagesLists, urlPrefix, packages}:
runCommand "${name}.nix" {} ''
bunzip2 < ${packagesList} > ./Packages
for i in ${toString packagesLists}; do
echo "adding $i..."
bunzip2 < $i >> ./Packages
done
# Work around this bug: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=452279
sed -i ./Packages -e s/x86_64-linux-gnu/x86-64-linux-gnu/g
@ -767,19 +773,20 @@ rec {
${perl}/bin/perl -I${dpkg} -w ${deb/deb-closure.pl} \
./Packages ${urlPrefix} ${toString packages} > $out
'';
/* Helper function that combines debClosureGenerator and
fillDiskWithDebs to generate a disk image from a set of package
names. */
makeImageFromDebDist =
{ name, fullName, size ? 4096, urlPrefix, packagesList
{ name, fullName, size ? 4096, urlPrefix
, packagesList ? "", packagesLists ? [packagesList]
, packages, extraPackages ? [], postInstall ? "" }:
let
expr = debClosureGenerator {
inherit name packagesList urlPrefix;
inherit name packagesLists urlPrefix;
packages = packages ++ extraPackages;
};
in
@ -790,7 +797,7 @@ rec {
/* The set of supported RPM-based distributions. */
rpmDistros = {
fedora2i386 = {
@ -817,7 +824,7 @@ rec {
runScripts = false;
packages = commonFedoraPackages;
};
fedora5i386 = {
name = "fedora-core-5-i386";
fullName = "Fedora Core 5 (i386)";
@ -828,7 +835,7 @@ rec {
urlPrefix = mirror://fedora/linux/core/5/i386/os;
packages = commonFedoraPackages ++ [ "util-linux" ];
};
fedora7i386 = {
name = "fedora-7-i386";
fullName = "Fedora 7 (i386)";
@ -839,7 +846,7 @@ rec {
urlPrefix = mirror://fedora/linux/releases/7/Everything/i386/os;
packages = commonFedoraPackages;
};
fedora8i386 = {
name = "fedora-8-i386";
fullName = "Fedora 8 (i386)";
@ -1057,9 +1064,9 @@ rec {
/* The set of supported Dpkg-based distributions. */
debDistros = {
# Interestingly, the SHA-256 hashes provided by Ubuntu in
# http://nl.archive.ubuntu.com/ubuntu/dists/{gutsy,hardy}/Release are
# wrong, but the SHA-1 and MD5 hashes are correct. Intrepid is fine.
@ -1074,7 +1081,7 @@ rec {
urlPrefix = mirror://ubuntu;
packages = commonDebianPackages;
};
ubuntu804i386 = {
name = "ubuntu-8.04-hardy-i386";
fullName = "Ubuntu 8.04 Hardy (i386)";
@ -1085,7 +1092,7 @@ rec {
urlPrefix = mirror://ubuntu;
packages = commonDebianPackages;
};
ubuntu804x86_64 = {
name = "ubuntu-8.04-hardy-amd64";
fullName = "Ubuntu 8.04 Hardy (amd64)";
@ -1096,7 +1103,7 @@ rec {
urlPrefix = mirror://ubuntu;
packages = commonDebianPackages;
};
ubuntu810i386 = {
name = "ubuntu-8.10-intrepid-i386";
fullName = "Ubuntu 8.10 Intrepid (i386)";
@ -1107,7 +1114,7 @@ rec {
urlPrefix = mirror://ubuntu;
packages = commonDebianPackages;
};
ubuntu810x86_64 = {
name = "ubuntu-8.10-intrepid-amd64";
fullName = "Ubuntu 8.10 Intrepid (amd64)";
@ -1129,7 +1136,7 @@ rec {
urlPrefix = mirror://ubuntu;
packages = commonDebianPackages;
};
ubuntu904x86_64 = {
name = "ubuntu-9.04-jaunty-amd64";
fullName = "Ubuntu 9.04 Jaunty (amd64)";
@ -1151,11 +1158,11 @@ rec {
urlPrefix = mirror://ubuntu;
packages = commonDebPackages ++ [ "diff" "mktemp" ];
};
ubuntu910x86_64 = {
name = "ubuntu-9.10-karmic-amd64";
fullName = "Ubuntu 9.10 Karmic (amd64)";
packagesList = fetchurl {
packagesList = fetchurl {
url = mirror://ubuntu/dists/karmic/main/binary-amd64/Packages.bz2;
sha256 = "3a604fcb0c135eeb8b95da3e90a8fd4cfeff519b858cd3c9e62ea808cb9fec40";
};
@ -1173,7 +1180,7 @@ rec {
urlPrefix = mirror://ubuntu;
packages = commonDebPackages ++ [ "diffutils" "mktemp" ];
};
ubuntu1004x86_64 = {
name = "ubuntu-10.04-lucid-amd64";
fullName = "Ubuntu 10.04 Lucid (amd64)";
@ -1195,7 +1202,7 @@ rec {
urlPrefix = mirror://ubuntu;
packages = commonDebPackages ++ [ "diffutils" ];
};
ubuntu1010x86_64 = {
name = "ubuntu-10.04-maverick-amd64";
fullName = "Ubuntu 10.04 Maverick (amd64)";
@ -1217,7 +1224,7 @@ rec {
urlPrefix = mirror://ubuntu;
packages = commonDebPackages ++ [ "diffutils" ];
};
ubuntu1110x86_64 = {
name = "ubuntu-11.10-oneiric-amd64";
fullName = "Ubuntu 11.10 Oneiric (amd64)";
@ -1230,23 +1237,35 @@ rec {
};
ubuntu1204i386 = {
name = "ubuntu-12.04-oneiric-i386";
name = "ubuntu-12.04-precise-i386";
fullName = "Ubuntu 12.04 Precise (i386)";
packagesList = fetchurl {
url = mirror://ubuntu/dists/precise/main/binary-i386/Packages.bz2;
sha256 = "18ns9h4qhvjfcip9z55grzi371racxavgqkp6b5kfkdq2wwwax2d";
};
packagesLists =
[ (fetchurl {
url = mirror://ubuntu/dists/precise/main/binary-i386/Packages.bz2;
sha256 = "18ns9h4qhvjfcip9z55grzi371racxavgqkp6b5kfkdq2wwwax2d";
})
(fetchurl {
url = mirror://ubuntu/dists/precise/universe/binary-i386/Packages.bz2;
sha256 = "085lkzbnzkc74kfdmwdc32sfqyfz8dr0rbiifk8kx9jih3xjw2jk";
})
];
urlPrefix = mirror://ubuntu;
packages = commonDebPackages ++ [ "diffutils" ];
};
ubuntu1204x86_64 = {
name = "ubuntu-12.04-oneiric-amd64";
name = "ubuntu-12.04-precise-amd64";
fullName = "Ubuntu 12.04 Precise (amd64)";
packagesList = fetchurl {
url = mirror://ubuntu/dists/precise/main/binary-amd64/Packages.bz2;
sha256 = "1aabpn0hdih6cbabyn87yvhccqj44q9k03mqmjsb920iqlckl3fc";
};
packagesList =
[ (fetchurl {
url = mirror://ubuntu/dists/precise/main/binary-amd64/Packages.bz2;
sha256 = "1aabpn0hdih6cbabyn87yvhccqj44q9k03mqmjsb920iqlckl3fc";
})
(fetchurl {
url = mirror://ubuntu/dists/precise/universe/binary-amd64/Packages.bz2;
sha256 = "0x4hz5aplximgb7gnpvrhkw8m7a40s80rkm5b8hil0afblwlg4vr";
})
];
urlPrefix = mirror://ubuntu;
packages = commonDebPackages ++ [ "diffutils" ];
};
@ -1261,7 +1280,7 @@ rec {
urlPrefix = mirror://debian;
packages = commonDebianPackages;
};
debian40x86_64 = {
name = "debian-4.0r9-etch-amd64";
fullName = "Debian 4.0r9 Etch (amd64)";
@ -1305,7 +1324,7 @@ rec {
urlPrefix = mirror://debian;
packages = commonDebianPackages;
};
debian60x86_64 = {
name = "debian-6.0.4-squeeze-amd64";
fullName = "Debian 6.0.4 Squeeze (amd64)";
@ -1343,7 +1362,7 @@ rec {
"unzip"
];
/* Common packages for openSUSE images. */
commonOpenSUSEPackages = [
"aaa_base"
@ -1387,7 +1406,7 @@ rec {
"patch"
"locales"
# Needed by checkinstall:
"util-linux"
"util-linux"
"file"
"dpkg-dev"
"pkg-config"
@ -1397,7 +1416,7 @@ rec {
];
commonDebianPackages = commonDebPackages ++ [ "sysvinit" "diff" "mktemp" ];
/* A set of functions that build the Linux distributions specified
in `rpmDistros' and `debDistros'. For instance,
@ -1411,29 +1430,29 @@ rec {
`diskImageFuns.ubuntu1004x86_64 { extraPackages = ["firefox"];
size = 8192; }' builds an 8 GiB image containing Firefox in
addition to the default packages. */
diskImageFuns =
diskImageFuns =
(lib.mapAttrs (name: as: as2: makeImageFromRPMDist (as // as2)) rpmDistros) //
(lib.mapAttrs (name: as: as2: makeImageFromDebDist (as // as2)) debDistros);
/* Shorthand for `diskImageFuns.<attr> { extraPackages = ... }'. */
diskImageExtraFuns =
lib.mapAttrs (name: f: extraPackages: f { inherit extraPackages; }) diskImageFuns;
/* Default disk images generated from the `rpmDistros' and
`debDistros' sets (along with Red Hat 9 and SuSE 9.0 images). */
diskImages =
lib.mapAttrs (name: f: f {}) diskImageFuns //
{ redhat9i386 = fillDiskWithRPMs {
name = "redhat-9-i386";
fullName = "Red Hat Linux 9 (i386)";
size = 1024;
rpms = import ./rpm/redhat-9-i386.nix {inherit fetchurl;};
};
suse90i386 = fillDiskWithRPMs {
name = "suse-9.0-i386";
fullName = "SUSE Linux 9.0 (i386)";
@ -1453,7 +1472,7 @@ rec {
echo 'video:x:33:' >> /mnt/etc/group
'';
};
};
}

View File

@ -1,11 +1,11 @@
{ stdenv, fetchurl }:
stdenv.mkDerivation rec {
name = "man-pages-3.41";
name = "man-pages-3.42";
src = fetchurl {
url = "mirror://kernel/linux/docs/man-pages/Archive/${name}.tar.xz";
sha256 = "1fldlsw51al9cvmz8dixrfv2j80bamjd5bzxsa66cvhc48n8p2nf";
sha256 = "11kh0ifzqbxk797lq037ixqhpf6h90w9xxygzh796mddg4rr4s9j";
};
preBuild =

View File

@ -11,5 +11,6 @@ stdenv.mkDerivation rec {
meta = {
description = "Default fallback theme used by implementations of the icon theme specification";
homepage = http://icon-theme.freedesktop.org/releases/;
platforms = stdenv.lib.platforms.linux;
};
}

View File

@ -1,11 +1,11 @@
{ stdenv, fetchurl, cmake }:
stdenv.mkDerivation rec {
name = "shared-desktop-ontologies-0.8.1";
name = "shared-desktop-ontologies-0.10.0";
src = fetchurl {
url = "mirror://sourceforge/oscaf/${name}.tar.bz2";
sha256 = "0w6rhhfjl5r6gv2jw3nc1sj5l4fxz4s1wv0iclcrak3wa5vyy6h3";
sha256 = "00y55bjmxrwiiw8q0n0jcv95l945hp7nglbwj408sk5m2vq026di";
};
buildInputs = [ cmake ];

View File

@ -1,11 +1,11 @@
{ stdenv, fetchurl, cmake, qt4, shared_mime_info, libxslt, boost, automoc4, soprano }:
stdenv.mkDerivation rec {
name = "akonadi-1.7.0";
name = "akonadi-1.7.2";
src = fetchurl {
url = "mirror://kde/stable/akonadi/src/${name}.tar.bz2";
sha256 = "105mjr6n1g6kl0djp2l8jr8b7j4s9gy2ls43g1wf3py1hf6j5fdz";
sha256 = "07rbhc8aa3d896j2r64ljv3amd6s4xhlbgq7kx99m1f68yl1fwjb";
};
buildInputs = [ qt4 soprano libxslt boost ];

View File

@ -40,7 +40,7 @@ assert libelf != null -> zlib != null;
with stdenv.lib;
with builtins;
let version = "4.5.3";
let version = "4.5.4";
javaEcj = fetchurl {
# The `$(top_srcdir)/ecj.jar' file is automatically picked up at
# `configure' time.

View File

@ -1,26 +1,26 @@
/* Automatically generated by `update-gcc.sh', do not edit.
For GCC 4.5.3. */
For GCC 4.5.4. */
{ fetchurl, optional, version, langC, langCC, langFortran, langJava, langAda }:
assert version == "4.5.3";
assert version == "4.5.4";
optional /* langC */ true (fetchurl {
url = "mirror://gcc/releases/gcc-${version}/gcc-core-${version}.tar.bz2";
sha256 = "fef7ef1396d41f4af2dacbea8826a895060a8a72d9f05546c091085b036f1f87";
sha256 = "894d90f72cbfc8707e330fa2b1847c443fa97cf9b7f26e86be554709510e624a";
}) ++
optional langCC (fetchurl {
url = "mirror://gcc/releases/gcc-${version}/gcc-g++-${version}.tar.bz2";
sha256 = "e088b9fe0016070da921f353ef8c0c2f81fd11d21e3aeb09210ab7bad080804b";
sha256 = "f7e3bab5e22713fbce46c2acb35fb727748473a34a942ce00393d75e1b09b6b9";
}) ++
optional langFortran (fetchurl {
url = "mirror://gcc/releases/gcc-${version}/gcc-fortran-${version}.tar.bz2";
sha256 = "618e8a2334eb3e2baf00891e9b2da47f32e797520e230acddb5f02fada0006cd";
sha256 = "cf0803b4f5334a526dd8da1b2171d6724f50c17346b2d5c509b6abc973d2ef34";
}) ++
optional langJava (fetchurl {
url = "mirror://gcc/releases/gcc-${version}/gcc-java-${version}.tar.bz2";
sha256 = "c687198d4882c9d505eeb406595dad041602a5b6c67da5cf15d4941b34d20144";
sha256 = "c98398da6f8c4c7d1758e291089d99853fdd27112cd3f146b7a8c26e6d762a23";
}) ++
optional langAda (fetchurl {
url = "mirror://gcc/releases/gcc-${version}/gcc-ada-${version}.tar.bz2";
sha256 = "686a6d2453bc325f32ddc90edf86502dc68320c7cd6948d60d93d0b0f5965b8f";
sha256 = "8abddae15be65572b4d639bd9818057019bb4a45da4decfc6451511c8d580c5e";
}) ++
[]

View File

@ -163,7 +163,7 @@ stdenv.mkDerivation ({
builder = ./builder.sh;
src = fetchurl {
url = "http://ftp.gnu.org/gnu/gcc/gcc-4.7.1/gcc-4.7.1.tar.bz2";
url = "mirror://gnu/gcc/gcc-${version}/gcc-${version}.tar.bz2";
sha256 = "0vs0v89zzgkngkw2p8kdynyk7j8ky4wf6zyrg3rsschpl1pky28n";
};

View File

@ -3,12 +3,12 @@
let
loader386 = "${glibc}/lib/ld-linux.so.2";
loaderAmd64 = "${glibc}/lib/ld-linux-x86-64.so.2";
loaderArm = "${glibc}/lib/ld-linux.so.3";
in
stdenv.mkDerivation {
name = "go-1.0.2";
# No tarball yet.
src = fetchurl {
url = http://go.googlecode.com/files/go1.0.2.src.tar.gz;
sha256 = "1a4mpkb3bd9dwp0r3fgrfcyk5lgw0f0cfrbskg2lrhc7a12zpz3h";
@ -24,10 +24,17 @@ stdenv.mkDerivation {
'';
prePatch = ''
cd ..
if [ ! -d go ]; then
mv * go
fi
cd go
patchShebangs ./ # replace /bin/bash
# !!! substituteInPlace does not seems to be effective.
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.3,${loaderArm},' src/cmd/5l/asm.c
sed -i 's,/usr/share/zoneinfo/,${glibc}/share/zoneinfo/,' src/pkg/time/zoneinfo_unix.go
#sed -i -e 's,/bin/cat,${coreutils}/bin/cat,' \
@ -49,7 +56,9 @@ stdenv.mkDerivation {
GOOS = "linux";
GOARCH = if (stdenv.system == "i686-linux") then "386"
else if (stdenv.system == "x86_64-linux") then "amd64"
else if (stdenv.system == "armv5tel-linux") then "arm"
else throw "Unsupported system";
GOARM = stdenv.lib.optionalString (stdenv.system == "armv5tel-linux") "5";
installPhase = ''
mkdir -p "$out/bin"
@ -64,7 +73,8 @@ stdenv.mkDerivation {
# libraries.
for a in go gofmt godoc; do
wrapProgram "$out/bin/$a" \
--set "GOROOT" "$out/share/go/"
--set "GOROOT" $out/share/go \
${if (stdenv.system == "armv5tel-linux") then "--set GOARM $GOARM" else ""}
done
# Copy the emacs configuration for Go files.

View File

@ -1,34 +0,0 @@
buildInputs="$unzip"
source $stdenv/setup
unzip $src || true
mkdir -p $out
mv $dirname/* $out/
# Remove crap in the root directory.
for file in $out/*
do
if test -f $file ; then
rm $file
fi
done
# Set the dynamic linker.
rpath=
for i in $libraries; do
rpath=$rpath${rpath:+:}$i/lib
done
find $out -type f -perm +100 \
-exec patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
--set-rpath "$rpath" {} \;
# Unpack .pack files.
for i in $(find $out -name "*.pack"); do
echo "unpacking $i..."
$out/bin/unpack200 "$i" "$(dirname $i)/$(basename $i .pack).jar"
rm "$i"
done
# Put the *_md.h files in the right place.
cd $out/include && ln -s */*_md.h .

View File

@ -1,9 +0,0 @@
{stdenv, fetchurl}:
if stdenv.system == "i686-linux"
then
(import ./j2sdk-1.4.x-sun-linux.nix) {
inherit stdenv fetchurl;
}
else
abort "the Java 2 SDK is not supported on this platform"

View File

@ -1,9 +0,0 @@
{stdenv, fetchurl, unzip, requireFile}:
if stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux"
then
(import ./jdk5-oracle-linux.nix) {
inherit stdenv fetchurl unzip requireFile;
}
else
abort "the Java 5 SDK is not supported on this platform"

View File

@ -2,8 +2,6 @@ args:
if args.stdenv.system == "i686-linux" || args.stdenv.system == "x86_64-linux" then
(import ./jdk6-linux.nix) ( removeAttrs args ["cabextract"] )
else if args.stdenv.system == "powerpc-linux" then
(import ./jdk5-ibm-powerpc-linux.nix) (removeAttrs args ["pluginSupport" "xlibs" "installjdk" "cabextract"])
else if args.stdenv.system == "i686-cygwin" then
(import ./jdk6-cygwin.nix) (removeAttrs args ["pluginSupport" "xlibs" "installjdk" "xlibs"])
else

View File

@ -1,29 +0,0 @@
source $stdenv/setup
if ! test -e "$pathname"; then
echo ""
echo "SORRY!"
echo "You should download \`$(basename $pathname)' from IBM and place it in $(dirname $pathname)."
echo "Blame IBM, not us."
echo ""
exit 1
fi
actual=$(md5sum -b $pathname | cut -c1-32)
if test "$actual" != "$md5"; then
echo "hash is $actual, expected $md5"
exit 1
fi
tar zxf $pathname || true
mkdir -p $out
mv $dirname/* $out/
# Remove crap in the root directory.
for file in $out/*
do
if test -f $file ; then
rm $file
fi
done

View File

@ -1,24 +0,0 @@
/**
* This Nix expression requires the user to download the j2sdk
* distribution to /tmp. Please obtain j2sdk-1_4_2_03-linux-i586.bin
* from java.sun.com by hand and place it in /tmp. Blame Sun, not me.
*
* Note that this is not necessary if someone has already pushed a
* binary.
*
* @author Martin Bravenboer <martin@cs.uu.nl>
*/
{stdenv, fetchurl}:
assert stdenv.system == "i686-linux";
derivation {
name = "j2sdk-1.4.2";
filename = "j2sdk-1.4.2_05";
dirname = "j2sdk1.4.2_05";
system = stdenv.system;
builder = ./builder.sh;
pathname = "/tmp/j2sdk-1_4_2_05-linux-i586.bin";
md5 = "825ff134f3e370f6e677638d32962082";
stdenv = stdenv;
}

View File

@ -1,17 +0,0 @@
{ swingSupport ? true
, stdenv, fetchurl, unzip, makeWrapper, libX11 ? null, libXext ? null
}:
assert stdenv.system == "powerpc-linux";
assert swingSupport -> libX11 != null && libXext != null;
(stdenv.mkDerivation {
name = "jdk-1.5.0";
builder = ./ibm-builder.sh;
dirname = "ibm-java2-ppc-50";
pathname = "/tmp/ibm-java2-sdk-50-linux-ppc.tgz";
md5 = "6bed4ae0b24d3eea2914f2f6dcc0ceb4";
libraries =
(if swingSupport then [libX11 libXext] else []);
} // {inherit swingSupport;})

View File

@ -1,36 +0,0 @@
/**
* This Nix expression requires the user to download the Java 5.0 JDK
* distribution to /tmp. Please obtain jdk-1_5_0_22-linux-i586.bin for
* 32-bit systems or jdk-1_5_0_22-linux-amd64.bin for 64-bit systems
* from java.sun.com (look for archived software downloads)
* by hand and place it in /tmp. Blame Oracle, not me.
*
* Note that this is not necessary if someone has already pushed a
* binary.
*/
{stdenv, fetchurl, unzip, requireFile}:
assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux";
stdenv.mkDerivation rec {
name = "jdk-1_5_0_22";
dirname = "jdk1.5.0_22";
builder = ./builder.sh;
src = requireFile {
message = ''
SORRY!
We may not download the needed binary distribution automatically.
You should download ${distfilename} from Sun and add it to store.
For example, "nix-prefetch-url file:///\$PWD/${distfilename}" in the
directory where you saved it is OK.
Blame Sun, not us.
'';
name = distfilename;
sha256 = if stdenv.system == "x86_64-linux" then
"1h63gigvg8id95igcj8xw7qvxs4p2y9hvx4xbvkwg8bji3ifb0sk"
else "0655n2q1y023zzwbk6gs9vwsnb29jc0m3bg3x3xdw623qgb4k6px";
};
distfilename = if stdenv.system == "x86_64-linux" then "${name}-linux-amd64.bin" else "${name}-linux-i586.bin";
inherit unzip stdenv;
}

View File

@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
name = "jdk-1.6.0_20";
src = fetchurl {
url = file:///tmp/jdk-6u20-windows-i586.exe ;
url = file:///tmp/jdk-6u20-windows-i586.exe;
sha256 = "0w4afz8a9gi1iyhh47gvhiy59dfrzx0fnmywdff3v5cx696w25fh";
};
@ -43,4 +43,6 @@ stdenv.mkDerivation rec {
./jre/lib/ext/localedata.pack \
./lib/tools.pack
'';
meta.license = "unfree";
}

View File

@ -55,7 +55,7 @@ stdenv.mkDerivation {
inherit installjdk;
buildInputs = [unzip makeWrapper];
/**
* libXt is only needed on amd64
*/
@ -67,4 +67,6 @@ stdenv.mkDerivation {
inherit (xlibs) libX11;
mozillaPlugin = if installjdk then "/jre/lib/${architecture}/plugins" else "/lib/${architecture}/plugins";
meta.license = "unfree";
}

View File

@ -7,14 +7,14 @@ let
in
stdenv.mkDerivation rec {
pname = "julia";
date = "20120801";
date = "20120818";
name = "${pname}-git-${date}";
grisu_ver = "1.1.1";
dsfmt_ver = "2.1";
openblas_ver = "v0.2.2";
lapack_ver = "3.4.1";
arpack_ver = "3.1.1";
arpack_ver = "3.1.2";
clp_ver = "1.14.5";
lighttpd_ver = "1.4.29";
@ -33,9 +33,9 @@ stdenv.mkDerivation rec {
sha256 = "19ffec70f9678f5c159feadc036ca47720681b782910fbaa95aa3867e7e86d8e";
};
arpack_src = fetchurl {
url = "http://forge.scilab.org/index.php/p/arpack-ng/downloads/417/get/";
url = "http://forge.scilab.org/index.php/p/arpack-ng/downloads/497/get/";
name = "arpack-ng_${arpack_ver}.tar.gz";
sha256 = "be250947a7d6eac7dff8c058102fce9922c524aa06be2a090b6e0bb2d1e228cd";
sha256 = "1wk06bdjgap4hshx0lswzi7vxy2lrdx353y1k7yvm97mpsjvsf4k";
};
lapack_src = fetchurl {
url = "http://www.netlib.org/lapack/lapack-${lapack_ver}.tgz";
@ -54,8 +54,8 @@ stdenv.mkDerivation rec {
src = fetchgit {
url = "git://github.com/JuliaLang/julia.git";
rev = "3b413ec24957e400c984002f7cdf6232f5391a7e";
sha256 = "c019b724df9203899a1da5815f85d79291778191bbffc1361d2213ff7d2bbc1d";
rev = "4f692899688f500c77d768f67748f4b7335c90eb";
sha256 = "a60e684a5283e80619f28ec8ff16fdc76c549e8463059507b0819db09dae6688";
};
buildInputs = [ gfortran perl m4 gmp pcre llvm readline

View File

@ -0,0 +1,21 @@
{ runCommand, glibc, fetchurl }:
let
# !!! These should be on nixos.org
src = if glibc.system == "x86_64-linux" then
fetchurl {
url = http://nixos.org/tarballs/openjdk-bootstrap-x86_64-linux-2012-08-24.tar.xz;
sha256 = "0gla9dxrfq2w1hvgsnn8jg8a60k27im6z43a6iidi0qmwa0wah32";
}
else if glibc.system == "i686-linux" then
fetchurl {
url = http://nixos.org/tarballs/openjdk-bootstrap-i686-linux-2012-08-24.tar.xz;
sha256 = "184wq212bycwbbq4ix8cc6jwjxkrqw9b01zb86q95kqpa8zy5206";
}
else throw "No bootstrap for system";
in
runCommand "openjdk-bootstrap" {} ''
xz -dc ${src} | sed "s/e*-glibc-[^/]*/$(basename ${glibc})/g" | tar xv
mv openjdk-bootstrap $out
''

View File

@ -21,6 +21,21 @@
, jreOnly ? false
}:
let
/**
* The JRE libraries are in directories that depend on the CPU.
*/
architecture =
if stdenv.system == "i686-linux" then
"i386"
else if stdenv.system == "x86_64-linux" then
"amd64"
else
throw "openjdk requires i686-linux or x86_64 linux";
in
stdenv.mkDerivation rec {
name = "openj${if jreOnly then "re" else "dk"}-7b127";
@ -107,6 +122,7 @@ stdenv.mkDerivation rec {
"UNIXCOMMAND_PATH="
"BOOTDIR=${jdk}"
"DROPS_DIR=$(DROPS_PATH)"
"SKIP_BOOT_CYCLE=false"
];
configurePhase = ''
@ -136,5 +152,7 @@ stdenv.mkDerivation rec {
platforms = stdenv.lib.platforms.linux;
};
passthru = { inherit architecture; };
}

View File

@ -0,0 +1,26 @@
{ runCommand, openjdk, nukeReferences }:
let arch = openjdk.architecture; in
runCommand "${openjdk.name}-bootstrap.tar.xz" {} ''
mkdir -p openjdk-bootstrap/bin
mkdir -p openjdk-bootstrap/lib
mkdir -p openjdk-bootstrap/jre/lib/{security,ext,${arch}/{jli,server,client,headless}}
cp ${openjdk}/bin/{idlj,ja{va{,c,p,h},r},rmic} openjdk-bootstrap/bin
cp ${openjdk}/lib/tools.jar openjdk-bootstrap/lib
cp ${openjdk}/jre/lib/{meta-index,{charsets,jce,jsse,rt,resources}.jar,currency.data} openjdk-bootstrap/jre/lib
cp ${openjdk}/jre/lib/security/java.security openjdk-bootstrap/jre/lib/security
cp ${openjdk}/jre/lib/ext/{meta-index,sunjce_provider.jar} openjdk-bootstrap/jre/lib/ext
cp ${openjdk}/jre/lib/${arch}/{jvm.cfg,lib{awt,java,verify,zip,nio,net}.so} openjdk-bootstrap/jre/lib/${arch}
cp ${openjdk}/jre/lib/${arch}/jli/libjli.so openjdk-bootstrap/jre/lib/${arch}/jli
cp ${openjdk}/jre/lib/${arch}/server/libjvm.so openjdk-bootstrap/jre/lib/${arch}/server
cp ${openjdk}/jre/lib/${arch}/client/libjvm.so openjdk-bootstrap/jre/lib/${arch}/client ||
rmdir openjdk-bootstrap/jre/lib/${arch}/client
cp ${openjdk}/jre/lib/${arch}/headless/libmawt.so openjdk-bootstrap/jre/lib/${arch}/headless
cp -a ${openjdk}/include openjdk-bootstrap
chmod -R +w openjdk-bootstrap
find openjdk-bootstrap -print0 | xargs -0 ${nukeReferences}/bin/nuke-refs
tar cv openjdk-bootstrap | xz > $out
''

View File

@ -12,12 +12,10 @@ stdenv.mkDerivation rec {
installPhase = ''
mkdir -p $out
rm bin/*.bat
rm "bin/"*.bat
mv * $out
'';
phases = "unpackPhase installPhase";
meta = {
description = "Scala is a general purpose programming language";
longDescription = ''
@ -25,7 +23,7 @@ stdenv.mkDerivation rec {
common programming patterns in a concise, elegant, and type-safe way.
It smoothly integrates features of object-oriented and functional
languages, enabling Java and other programmers to be more productive.
Code sizes are typically reduced by a factor of two to three when
Code sizes are typically reduced by a factor of two to three when
compared to an equivalent Java application.
'';
homepage = http://www.scala-lang.org/;

View File

@ -2,12 +2,12 @@
stdenv.mkDerivation rec {
pname = "urweb";
version = "20120110";
version = "20120807";
name = "${pname}-${version}";
src = fetchurl {
url = "http://www.impredicative.com/ur/${name}.tgz";
sha256 = "1f67nj2akji9dh3n2hwmcrrwd61zlrnb0xh841fpb3n20ycjzg6j";
sha256 = "15g1cz108dkzlp433cg56x76f20y6zcs9sbgxgdniyfakmn4ld6l";
};
buildInputs = [ stdenv.gcc file openssl mlton mysql postgresql sqlite ];
@ -71,7 +71,7 @@ stdenv.mkDerivation rec {
'';
homepage = http://www.impredicative.com/ur/;
license = "bsd";
license = stdenv.lib.licenses.bsd3;
platforms = [ "i686-linux" "x86_64-linux" ];
};
}

View File

@ -1,8 +1,8 @@
{ stdenv, fetchurl, unzip, ant, gcj }:
let
version = "3.6.1";
date = "201009090800";
version = "3.7.2";
date = "201202080800";
isGCJ = stdenv.lib.strings.substring 0 3 gcj.name == "gcj";
javaExec = if isGCJ then "gij" else "java";
javaFlags = if isGCJ then "--cp" else "-cp";
@ -11,8 +11,8 @@ in
name = "ecj-${version}";
src = fetchurl {
url = "http://eclipse.ialto.org/eclipse/downloads/drops/R-${version}-${date}/ecjsrc-${version}.zip";
sha256 = "0xfsig2pzd9wy524wp11s7pc7cj81s28g1485995b44d9qbi17h8";
url = "http://eclipse.ialto.org/eclipse/downloads/drops/R-${version}-${date}/ecjsrc-${version}.jar";
sha256 = "0swyysbyfmv068x8q1c5jqpwk5zb4xahg17aypx5rwb660f8fpbm";
};
buildInputs = [ unzip ant gcj ];

View File

@ -0,0 +1,16 @@
{ stdenv, fetchurl }:
stdenv.mkDerivation {
name = "babl-0.0.22";
src = fetchurl {
url = ftp://ftp.gtk.org/pub/babl/0.0/babl-0.0.22.tar.bz2;
sha256 = "0v8gbf9si4sd06199f8lfmrsbvi6i0hxphd34kyvsj6g2kkkg10s";
};
meta = {
description = "Image pixel format conversion library";
homepage = http://gegl.org/babl/;
license = "GPL3";
};
}

View File

@ -0,0 +1,17 @@
{stdenv, fetchurl}:
stdenv.mkDerivation rec {
version = "2.5.0.0-1";
name = "dxflib-${version}";
src = fetchurl {
url = "http://www.qcad.org/archives/dxflib/${name}.src.tar.gz";
sha256 = "20ad9991eec6b0f7a3cc7c500c044481a32110cdc01b65efa7b20d5ff9caefa9";
};
meta = {
maintainers = with stdenv.lib.maintainers; [raskin];
platforms = stdenv.lib.platforms.linux;
description = ''DXF file format library'';
};
}

View File

@ -0,0 +1,21 @@
{ stdenv, fetchurl, pkgconfig, glib, babl_0_0_22, libpng12, cairo, libjpeg
, librsvg, pango, gtk }:
stdenv.mkDerivation {
name = "gegl-0.0.22";
src = fetchurl {
url = ftp://ftp.gimp.org/pub/gegl/0.0/gegl-0.0.22.tar.bz2;
sha256 = "0nx6r9amzhw5d2ghlw3z8qnry18rwz1ymvl2cm31b8p49z436wl5";
};
configureFlags = "--disable-docs"; # needs fonts otherwise don't know how to pass them
buildInputs = [ pkgconfig glib babl_0_0_22 libpng12 cairo libjpeg librsvg pango gtk ];
meta = {
description = "Graph-based image processing framework";
homepage = http://www.gegl.org;
license = "GPL3";
};
}

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, pkgconfig, gettext, perl, libiconv, zlib, libffi
{ stdenv, fetchurl, pkgconfig, gettext, perl, libiconvOrNull, zlib, libffi
, python, pcre }:
# TODO:
@ -20,7 +20,11 @@ stdenv.mkDerivation rec {
};
# configure script looks for d-bus but it is only needed for tests
buildInputs = [ pcre ] ++ stdenv.lib.optional (!stdenv.isLinux) libiconv;
buildInputs = [ pcre ]
++ (if libiconvOrNull != null
then [ libiconvOrNull ]
else []);
buildNativeInputs = [ perl pkgconfig gettext python ];
propagatedBuildInputs = [ zlib libffi ];

View File

@ -29,7 +29,9 @@ stdenv.mkDerivation (rec {
propagatedBuildInputs = [ nettle libtasn1 ];
doCheck = true;
# XXX: Gnulib's `test-select' fails on FreeBSD:
# http://hydra.nixos.org/build/2962084/nixlog/1/raw .
doCheck = (!stdenv.isFreeBSD);
meta = {
description = "The GNU Transport Layer Security Library";

View File

@ -1,10 +1,10 @@
{ cabal, HTTP, json, mtl, network }:
{ cabal, HTTP, json, mtl, network, utf8String }:
cabal.mkDerivation (self: {
pname = "CouchDB";
version = "0.10.1";
sha256 = "1ny62ab0sjrkh7mpxj0ahqrv7c8dh0n5s1g8xl0mq3yiwlrjdsim";
buildDepends = [ HTTP json mtl network ];
version = "1.2";
sha256 = "0a9g0iblfyqppcy1ni3ac8f3yv5km95bfblhwqlsk6khydi5ka98";
buildDepends = [ HTTP json mtl network utf8String ];
meta = {
homepage = "http://github.com/arjunguha/haskell-couchdb/";
description = "CouchDB interface";

View File

@ -2,8 +2,8 @@
cabal.mkDerivation (self: {
pname = "ListLike";
version = "3.1.5";
sha256 = "0hxpjmj5qdyb55wda2bgd3crkg9q6dklhj2kff7qz6wkx5fdbvjs";
version = "3.1.6";
sha256 = "0ij6yb80dv841zn23lp6251avzmljzmy4j25r7w6h55y32y7gq46";
isLibrary = true;
isExecutable = true;
meta = {

View File

@ -2,8 +2,8 @@
cabal.mkDerivation (self: {
pname = "MonadCatchIO-mtl";
version = "0.3.0.4";
sha256 = "0wzdrfplwa4v9miv88rg3jvf7l6gphc29lpdp5qjm5873y57jxm7";
version = "0.3.0.5";
sha256 = "01c2xif4aly2lmg2qkri791ignq3r2qg4xbc8m06cdm6gh5a2dqp";
buildDepends = [ extensibleExceptions mtl ];
meta = {
homepage = "http://darcsden.com/jcpetruzza/MonadCatchIO-mtl";

View File

@ -2,8 +2,8 @@
cabal.mkDerivation (self: {
pname = "MonadRandom";
version = "0.1.7";
sha256 = "0y4fsb3j0babq388rw3y1kbxbjz6plfgbg4g1y27hdf7jf5c8x33";
version = "0.1.8";
sha256 = "1zin7qyv86gza60q6a6r8az2dwxm80wh23idvmjapgbjn2kfvfim";
buildDepends = [ mtl random ];
meta = {
description = "Random-number generation monad";

View File

@ -2,8 +2,8 @@
cabal.mkDerivation (self: {
pname = "RepLib";
version = "0.5.3";
sha256 = "1kpd4qli6fclrr3i21kmdwbpa0la7ssi9pgagzclr3yj2ca2hsgw";
version = "0.5.3.1";
sha256 = "0lc1ma6h5wdfl4crnvg1vyvlx4xvps4l2nwb9dl6nyspmpjad807";
buildDepends = [ mtl typeEquality ];
meta = {
homepage = "http://code.google.com/p/replib/";

View File

@ -22,7 +22,7 @@ cabal.mkDerivation (self: {
homepage = "http://www.cse.unsw.edu.au/~chak/project/accelerate/";
description = "Examples using the Accelerate library";
license = self.stdenv.lib.licenses.bsd3;
platforms = self.ghc.meta.platforms;
platforms = self.stdenv.lib.platforms.none;
maintainers = [ self.stdenv.lib.maintainers.andres ];
};
})

View File

@ -2,8 +2,8 @@
cabal.mkDerivation (self: {
pname = "async";
version = "2.0.1.1";
sha256 = "132xr0sb3j02s134my4p7khj95d3v3jlpxqjrgn6h8brw0gp6wcq";
version = "2.0.1.2";
sha256 = "03mmrs1xrw91pv9xpas8acxvrh4j6bq5l24bqk4vmaq2pdy9snn3";
buildDepends = [ stm ];
meta = {
homepage = "https://github.com/simonmar/async";

View File

@ -2,8 +2,8 @@
cabal.mkDerivation (self: {
pname = "attoparsec-enumerator";
version = "0.3";
sha256 = "1sfqcr1mvny9gf0zzggwvs2b20knxrbb208rzaa86ay0b5b5jw5v";
version = "0.3.1";
sha256 = "10h6i23vhcishp599s4lbp0c46wcba99w6iv4ickdr1avrm9z2m7";
buildDepends = [ attoparsec enumerator text ];
meta = {
homepage = "https://john-millikin.com/software/attoparsec-enumerator/";

View File

@ -6,8 +6,8 @@
cabal.mkDerivation (self: {
pname = "authenticate";
version = "1.3.0.1";
sha256 = "12s1ri2k0hmaws1rnr4s8ck1wa14lhcih0pzi89hjh7jh8si3dl3";
version = "1.3.1";
sha256 = "1ad3vzfa7nvp8h8wk5370d2qyri0nywq1wjdvqas2mg4iv7v7271";
buildDepends = [
aeson attoparsec blazeBuilder blazeBuilderConduit caseInsensitive
conduit httpConduit httpTypes monadControl network resourcet

View File

@ -2,8 +2,8 @@
cabal.mkDerivation (self: {
pname = "blaze-textual";
version = "0.2.0.6";
sha256 = "1699fj9zig6ids9bdjn5v0gqhnyx5dkzi542gkx1gs8943c94737";
version = "0.2.0.8";
sha256 = "0zzqh53ywzz8ss58glp3i8is8gry5yqzvdjw4xh95fbbzcz4cgc7";
buildDepends = [ blazeBuilder text time vector ];
meta = {
homepage = "http://github.com/bos/blaze-textual";

View File

@ -2,8 +2,8 @@
cabal.mkDerivation (self: {
pname = "case-insensitive";
version = "0.4.0.1";
sha256 = "15wcpzmj1ppl27p8hph9y8nxkjkd4yrvamxi3gk0ahfnb47chaq7";
version = "0.4.0.3";
sha256 = "1lpfxfwfxiimvh5nxqrnjqj2687dp7rmv9wkrpmw2zm5wkxwcmzf";
buildDepends = [ hashable text ];
meta = {
homepage = "https://github.com/basvandijk/case-insensitive";

View File

@ -2,8 +2,8 @@
cabal.mkDerivation (self: {
pname = "certificate";
version = "1.2.4";
sha256 = "079364567cshfj2bc0lbj933jcgdqisvv8m0czlyscb4hd10vfg7";
version = "1.2.5";
sha256 = "1zxi1hflq973m7a1c9wvxdx8aqapx1kqy8j7nn7k67l9gpjb1jbc";
isLibrary = true;
isExecutable = true;
buildDepends = [ asn1Data cryptoPubkeyTypes mtl pem time ];

View File

@ -10,6 +10,9 @@ cabal.mkDerivation (self: {
base64Bytestring cereal cprngAes cryptoApi cryptocipher entropy
skein tagged
];
patchPhase = ''
sed -i -e 's|, base64-bytestring.*|, base64-bytestring|' clientsession.cabal
'';
meta = {
homepage = "http://github.com/yesodweb/clientsession/tree/master";
description = "Securely store session data in a client-side cookie";

View File

@ -2,8 +2,8 @@
cabal.mkDerivation (self: {
pname = "comonad";
version = "3.0.0.1";
sha256 = "03xslpfil96v1qgk2g29vi46mb7l0fafy446ng1p4xgq9ddb2yaz";
version = "3.0.0.2";
sha256 = "01q71b446mdbdj81qjrxjl5bshbg4bjih5zpw9fd4y5431bclfhi";
buildDepends = [ semigroups transformers ];
meta = {
homepage = "http://github.com/ekmett/comonad/";

View File

@ -4,8 +4,8 @@
cabal.mkDerivation (self: {
pname = "criterion";
version = "0.6.0.1";
sha256 = "0k6ip41w5h1z8gl67a8vsb6c3md5nc4yh1vd6dysp9fqgn0vky0a";
version = "0.6.1.1";
sha256 = "1w5yqcgnx2ij3hmvmz5g4ynj6n8wa3yyk1kfbbwxyh9j5kc2xwiw";
buildDepends = [
aeson deepseq filepath hastache mtl mwcRandom parsec statistics
time transformers vector vectorAlgorithms

View File

@ -37,7 +37,7 @@ cabal.mkDerivation (self: {
meta = {
description = "FFI binding to the CUDA interface for programming NVIDIA GPUs";
license = self.stdenv.lib.licenses.bsd3;
platforms = self.ghc.meta.platforms;
platforms = self.stdenv.lib.platforms.none;
maintainers = [ self.stdenv.lib.maintainers.andres ];
};
})

View File

@ -2,8 +2,8 @@
cabal.mkDerivation (self: {
pname = "derive";
version = "2.5.10";
sha256 = "0r5qcchs6kw080pw95r442yk1ld48lk2imn7apk0ibkx53i4mqls";
version = "2.5.11";
sha256 = "0934k49kpp32wffpvpk2sia7frd9ik56k6ghy6d6j31cabxf9m8r";
isLibrary = true;
isExecutable = true;
buildDepends = [

View File

@ -2,8 +2,8 @@
cabal.mkDerivation (self: {
pname = "double-conversion";
version = "0.2.0.4";
sha256 = "00rb8n2ky20ah9ry398jagi9gb0gz40yjfalh35cpckmg30z199x";
version = "0.2.0.5";
sha256 = "1z23a8sfnq5lady8n2kcina9a7df8lmsliscf85x84dxkd3a1ahf";
buildDepends = [ text ];
meta = {
homepage = "https://github.com/bos/double-conversion";

View File

@ -2,8 +2,8 @@
cabal.mkDerivation (self: {
pname = "fast-logger";
version = "0.2.1";
sha256 = "12avan85dkwipp8hqsya8yslirykz2yvqmns3wjhwl9j30idj7r3";
version = "0.2.2";
sha256 = "1r1fk0lqmh49v24wnx236x9cz122c8806y9mrxnaihxggw4anj0x";
buildDepends = [ blazeBuilder filepath text unixTime ];
meta = {
description = "A fast logging system";

View File

@ -2,8 +2,8 @@
cabal.mkDerivation (self: {
pname = "fclabels";
version = "1.1.4";
sha256 = "0b15nvnsxckw75q7dgrfxnnjc93ah140gi3s5wpb41q0fnvl9npz";
version = "1.1.4.2";
sha256 = "0abw6vfl5ff8d4cv5s3mfvzhylba5ajnvd5pgmx540i38lcq9wi6";
buildDepends = [ mtl transformers ];
meta = {
description = "First class accessor labels";

View File

@ -11,6 +11,9 @@ cabal.mkDerivation (self: {
buildDepends = [
Diff filepath HUnit mtl parsec split time utf8String xml
];
patchPhase = ''
sed -i -e 's|split.*,|split,|' filestore.cabal
'';
noHaddock = true;
meta = {
description = "Interface for versioning file stores";

View File

@ -2,8 +2,8 @@
cabal.mkDerivation (self: {
pname = "glpk-hs";
version = "0.3.2";
sha256 = "0y7imgzcnh6x36m5f6mns5ay1xhxy5p6i5nh16p2ywzjj0padcg8";
version = "0.3.3";
sha256 = "1pnq0v5va7f40ky9xb8c4z9wcmmnny2vk4afasz5pwivbxh42mfl";
buildDepends = [ deepseq mtl ];
extraLibraries = [ glpk ];
meta = {

View File

@ -4,8 +4,8 @@
cabal.mkDerivation (self: {
pname = "graphviz";
version = "2999.13.0.3";
sha256 = "0rwjlwfa3s1vgh5mwzwmzq4s153iq338zy7jqi0qyxcs52illqq8";
version = "2999.14.0.0";
sha256 = "1dnjw7r2zg2qhjxnmdryi0839ggrb3l3bpx8asfpr0bza70kjdf3";
buildDepends = [
colour dlist fgl filepath polyparse text transformers wlPprintText
];

View File

@ -5,6 +5,9 @@ cabal.mkDerivation (self: {
version = "7.0.1";
sha256 = "13ayypl2x402h6a7yq7fvgd2mn21gl5gcw2hk7f5vr2bdlvwv53n";
buildDepends = [ hamlet happstackServer text ];
patchPhase = ''
sed -i -e 's|hamlet .*,|hamlet,|' happstack-hamlet.cabal
'';
meta = {
homepage = "http://www.happstack.com/";
description = "Support for Hamlet HTML templates in Happstack";

View File

@ -13,6 +13,9 @@ cabal.mkDerivation (self: {
html monadControl mtl network parsec sendfile syb systemFilepath
text time transformers transformersBase utf8String xhtml zlib
];
patchPhase = ''
sed -i -e 's|base64-bytestring.*,|base64-bytestring,|' happstack-server.cabal
'';
meta = {
homepage = "http://happstack.com";
description = "Web related tools and services";

View File

@ -2,8 +2,8 @@
cabal.mkDerivation (self: {
pname = "hashable";
version = "1.1.2.3";
sha256 = "19v94b34c2j6f9d9xii2hg0mjxdkq51aifkcqw6hbicn97kfcxls";
version = "1.1.2.5";
sha256 = "0gbiaj5ck2bvvinndp2pg7qsm2h2izbnz9wi97dbm7i8r4qd9d9z";
buildDepends = [ text ];
meta = {
homepage = "http://github.com/tibbe/hashable";

View File

@ -10,6 +10,9 @@ cabal.mkDerivation (self: {
cmdargs csv filepath HUnit mtl parsec regexpr safe shakespeareText
split time transformers utf8String
];
patchPhase = ''
sed -i -e 's|,split.*|,split|' hledger-lib.cabal
'';
meta = {
homepage = "http://hledger.org";
description = "Core data types, parsers and utilities for the hledger accounting tool";

View File

@ -13,6 +13,9 @@ cabal.mkDerivation (self: {
cabalFileTh cmdargs filepath haskeline hledgerLib HUnit mtl parsec
regexpr safe shakespeareText split text time utf8String
];
patchPhase = ''
sed -i -e 's|,split.*|,split|' hledger.cabal
'';
meta = {
homepage = "http://hledger.org";
description = "The main command-line interface for the hledger accounting tool";

Some files were not shown because too many files have changed in this diff Show More