summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/applications/science/logic/eProver/default.nix8
-rw-r--r--pkgs/desktops/gnome-2/desktop/gnome-panel/default.nix4
-rw-r--r--pkgs/development/compilers/mono/default.nix6
-rw-r--r--pkgs/development/libraries/libgdiplus/default.nix15
-rw-r--r--pkgs/development/perl-modules/DBD-SQLite/default.nix6
-rw-r--r--pkgs/lib/customisation.nix2
-rw-r--r--pkgs/tools/networking/ppp/default.nix49
-rw-r--r--pkgs/tools/networking/ppp/nix-purity.patch22
-rw-r--r--pkgs/tools/networking/ppp/nonpriv.patch13
-rw-r--r--pkgs/top-level/all-packages.nix6
-rw-r--r--pkgs/top-level/perl-packages.nix10
11 files changed, 89 insertions, 52 deletions
diff --git a/pkgs/applications/science/logic/eProver/default.nix b/pkgs/applications/science/logic/eProver/default.nix
index 138995036a63..327a5d3a6237 100644
--- a/pkgs/applications/science/logic/eProver/default.nix
+++ b/pkgs/applications/science/logic/eProver/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, which, texLive }:
 
 stdenv.mkDerivation {
-  name = "EProver-1.2";
+  name = "EProver-1.4";
 
   src = fetchurl {
-    name = "E-1.2.tar.gz";
-    url = "http://www4.informatik.tu-muenchen.de/~schulz/WORK/E_DOWNLOAD/V_1.2/E.tgz";
-    sha256 = "14sbpmh8vg376lrrq7i364aa8g5aacq344ihivxn6w4ydh9138nq";
+    name = "E-1.4.tar.gz";
+    url = "http://www4.informatik.tu-muenchen.de/~schulz/WORK/E_DOWNLOAD/V_1.4/E.tgz";
+    sha256 = "1hxkr21xqkkh4bzqip6qf70w9xvvb8p20zzkvyin631ffgvyvr93";
   };
 
   buildInputs = [which texLive];
diff --git a/pkgs/desktops/gnome-2/desktop/gnome-panel/default.nix b/pkgs/desktops/gnome-2/desktop/gnome-panel/default.nix
index 774b1ff508b1..db9b08c37284 100644
--- a/pkgs/desktops/gnome-2/desktop/gnome-panel/default.nix
+++ b/pkgs/desktops/gnome-2/desktop/gnome-panel/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, pkgconfig, dbus_glib, dbus, cairo, popt, which, libxml2Python, libxslt, bzip2, python
 , glib, gtk, pango, atk, libXau
 , intltool, ORBit2, libglade, libgnome, libgnomeui, libbonobo, libbonoboui, GConf, gnome_menus, gnome_desktop
-, libwnck, librsvg, libgweather, gnome_doc_utils, libgnomecanvas, libart_lgpl, libtasn1}:
+, libwnck, librsvg, libgweather, gnome_doc_utils, libgnomecanvas, libart_lgpl, libtasn1, libtool}:
 
 stdenv.mkDerivation {
   name = "gnome-panel-2.28.0";
@@ -11,7 +11,7 @@ stdenv.mkDerivation {
   };
   buildInputs = [ pkgconfig gtk dbus_glib popt which libxml2Python libxslt bzip2 python libXau
                   intltool ORBit2 libglade libgnome libgnomeui libbonobo libbonoboui GConf gnome_menus gnome_desktop 
-		  libwnck librsvg libgweather gnome_doc_utils libtasn1 ];
+		  libwnck librsvg libgweather gnome_doc_utils libtasn1 libtool ];
   configureFlags = "--disable-scrollkeeper";
   CPPFLAGS = "-I${glib}/include/glib-2.0 -I${glib}/include/gio-unix-2.0 -I${glib}/lib/glib-2.0/include -I${dbus_glib}/include/dbus-1.0 -I${dbus.libs}/include/dbus-1.0 "+
              "-I${gtk}/include/gtk-2.0 -I${gtk}/lib/gtk-2.0/include -I${cairo}/include/cairo -I${pango}/include/pango-1.0 "+
diff --git a/pkgs/development/compilers/mono/default.nix b/pkgs/development/compilers/mono/default.nix
index 471f0d5b36d1..8b85400f780e 100644
--- a/pkgs/development/compilers/mono/default.nix
+++ b/pkgs/development/compilers/mono/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, bison, pkgconfig, glib, gettext, perl}:
+{stdenv, fetchurl, bison, pkgconfig, glib, gettext, perl, libgdiplus}:
 
 stdenv.mkDerivation {
   name = "mono-2.10.8.1";
@@ -7,7 +7,7 @@ stdenv.mkDerivation {
     sha256 = "0h4hdj99qg0nsg5260izwaybs59wysf7y399kffhg43fidpndz0x";
   };
 
-  buildInputs = [bison pkgconfig glib gettext perl];
+  buildInputs = [bison pkgconfig glib gettext perl libgdiplus];
   propagatedBuildInputs = [glib];
 
   NIX_LDFLAGS = "-lgcc_s" ;
@@ -15,6 +15,8 @@ stdenv.mkDerivation {
   # To overcome the bug https://bugzilla.novell.com/show_bug.cgi?id=644723
   dontDisableStatic = true;
 
+  configureFlags = "--with-libgdiplus=${libgdiplus}/lib/libgdiplus.so";
+
   # Attempt to fix this error when running "mcs --version":
   # The file /nix/store/xxx-mono-2.4.2.1/lib/mscorlib.dll is an invalid CIL image
   dontStrip = true;
diff --git a/pkgs/development/libraries/libgdiplus/default.nix b/pkgs/development/libraries/libgdiplus/default.nix
new file mode 100644
index 000000000000..27745cc209ad
--- /dev/null
+++ b/pkgs/development/libraries/libgdiplus/default.nix
@@ -0,0 +1,15 @@
+{ stdenv, fetchurl, pkgconfig, glib, cairo, fontconfig
+, libtiff, giflib, libungif, libjpeg, libpng, monoDLLFixer,
+libXrender, libexif }:
+
+stdenv.mkDerivation {
+  name = "libgdiplus-2.10";
+
+  src = fetchurl {
+    url = http://download.mono-project.com/sources/libgdiplus/libgdiplus-2.10.tar.bz2;
+    sha256 = "190j6yvfbpg6bda4n7pdcf2dbqdvrb4dmz5abs2yv0smxybh77id";
+  };
+
+  buildInputs = [ pkgconfig glib cairo fontconfig libtiff giflib libungif
+     libjpeg libpng libXrender libexif ];
+}
diff --git a/pkgs/development/perl-modules/DBD-SQLite/default.nix b/pkgs/development/perl-modules/DBD-SQLite/default.nix
index b37dd422ee61..8e1faf900a06 100644
--- a/pkgs/development/perl-modules/DBD-SQLite/default.nix
+++ b/pkgs/development/perl-modules/DBD-SQLite/default.nix
@@ -1,14 +1,14 @@
 {fetchurl, buildPerlPackage, DBI, sqlite}:
 
 buildPerlPackage rec {
-  name = "DBD-SQLite-1.31";
+  name = "DBD-SQLite-1.35";
   
   src = fetchurl {
     url = "mirror://cpan/authors/id/A/AD/ADAMK/${name}.tar.gz";
-    sha256 = "1xi9bfxfndb4kajixc1y7rrz2sjjv2z7vcm5msrxznx3vr358zlq";
+    sha256 = "0zdwnj0jmkaqb2grkh451g1jc8nsdy4sf6lhn8xd0my0a3pd227z";
   };
   
-  propagatedBuildInputs = [DBI];
+  propagatedBuildInputs = [ DBI ];
   
   makeMakerFlags = "SQLITE_LOCATION=${sqlite}";
 
diff --git a/pkgs/lib/customisation.nix b/pkgs/lib/customisation.nix
index d2af48146284..b914d4ca6033 100644
--- a/pkgs/lib/customisation.nix
+++ b/pkgs/lib/customisation.nix
@@ -34,7 +34,7 @@ rec {
   overrideDerivation = drv: f:
     let
       # Filter out special attributes.
-      drop = ["meta" "passthru" "outPath" "drvPath" "hostDrv" "buildDrv" "type" "override" "deepOverride" "origArgs"]
+      drop = [ "meta" "passthru" "outPath" "drvPath" "hostDrv" "buildDrv" "type" "override" "deepOverride" "origArgs" "drvAttrs" "outputName" "all" "out" ]
               # also drop functions such as .merge .override etc
              ++ lib.filter (n: isFunction (getAttr n drv)) (attrNames drv);
       attrs = removeAttrs drv drop;
diff --git a/pkgs/tools/networking/ppp/default.nix b/pkgs/tools/networking/ppp/default.nix
index 08097b4f5b33..9034c09acc8b 100644
--- a/pkgs/tools/networking/ppp/default.nix
+++ b/pkgs/tools/networking/ppp/default.nix
@@ -1,41 +1,32 @@
-a :  
-let 
-  fetchurl = a.fetchurl;
+{ stdenv, fetchurl, substituteAll, libpcap }:
+
+stdenv.mkDerivation rec {
+  name = "ppp-2.4.5";
 
-  version = a.lib.attrByPath ["version"] "2.4.4" a; 
-  buildInputs = with a; [
-    
-  ];
-in
-rec {
   src = fetchurl {
-    url = "http://ppp.samba.org/ftp/ppp/ppp-${version}.tar.gz";
-    sha256 = "1sli1s478k85vmjdbrqm39nn5r20x9qgg3a0lbp2dwz50zy4bbsq";
+    url = "${meta.homepage}ftp/ppp/${name}.tar.gz";
+    sha256 = "019m00q85nrgdpjlhb9021a3iw3pr4a0913gp4h9k7r9r7z7lca3";
   };
 
-  inherit buildInputs;
-  configureFlags = [];
+  patches =
+    [ ( substituteAll {
+        src = ./nix-purity.patch;
+        inherit libpcap;
+        glibc = stdenv.gcc.libc;
+      })
+      ./nonpriv.patch
+    ];
 
-  phaseNames = ["exportVars" "patchPrivileged" "doConfigure" "doMakeInstall"];
+  postPatch = "rm -v include/linux/if_pppol2tp.h";
 
-  exportVars = a.noDepEntry(''
-    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -lcrypt "
-  '');
+  buildInputs = [ libpcap ];
 
-  /* We want to run it as far as we can with our current permissions
-     For example, dependent builds would prefer to run --version 
-     without ever using setuid pppd. We are not setuid anyway, so.. */
-  patchPrivileged = a.fullDepEntry(''
-    sed -e '/privileged =/aprivileged = 1;' -i pppd/main.c
-    sed -e '/SH DESCRIPTION/a WARNING: Patched version unsuitable to be setuid root' -i pppd/pppd.8
-  '') ["minInit" "doUnpack"];
+  postInstall = "chmod -v -R +rw $out";
 
-  passthru = {
-    inherit version;
-  };
-      
-  name = "ppp-" + version;
   meta = {
+    homepage = http://ppp.samba.org/;
     description = "Point-to-point implementation for Linux and Solaris";
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.urkud ];
   };
 }
diff --git a/pkgs/tools/networking/ppp/nix-purity.patch b/pkgs/tools/networking/ppp/nix-purity.patch
new file mode 100644
index 000000000000..c74935c0ec8b
--- /dev/null
+++ b/pkgs/tools/networking/ppp/nix-purity.patch
@@ -0,0 +1,22 @@
+diff --git a/pppd/Makefile.linux b/pppd/Makefile.linux
+index 060db6a..c151c62 100644
+--- a/pppd/Makefile.linux
++++ b/pppd/Makefile.linux
+@@ -117,7 +117,7 @@ CFLAGS   += -DHAS_SHADOW
+ #LIBS     += -lshadow $(LIBS)
+ endif
+ 
+-ifneq ($(wildcard /usr/include/crypt.h),)
++ifneq ($(wildcard @glibc@/include/crypt.h),)
+ CFLAGS  += -DHAVE_CRYPT_H=1
+ LIBS	+= -lcrypt
+ endif
+@@ -169,7 +169,7 @@ LIBS	+= -ldl
+ endif
+ 
+ ifdef FILTER
+-ifneq ($(wildcard /usr/include/pcap-bpf.h),)
++ifneq ($(wildcard @libpcap@/include/pcap-bpf.h),)
+ LIBS    += -lpcap
+ CFLAGS  += -DPPP_FILTER
+ endif
diff --git a/pkgs/tools/networking/ppp/nonpriv.patch b/pkgs/tools/networking/ppp/nonpriv.patch
new file mode 100644
index 000000000000..df6faaf8383d
--- /dev/null
+++ b/pkgs/tools/networking/ppp/nonpriv.patch
@@ -0,0 +1,13 @@
+diff --git a/pppd/main.c b/pppd/main.c
+index 014d614..6661d33 100644
+--- a/pppd/main.c
++++ b/pppd/main.c
+@@ -334,7 +334,7 @@ main(argc, argv)
+     umask(umask(0777) | 022);
+ 
+     uid = getuid();
+-    privileged = uid == 0;
++    privileged = (uid == 0) || (geteuid() != 0);
+     slprintf(numbuf, sizeof(numbuf), "%d", uid);
+     script_setenv("ORIG_UID", numbuf, 0);
+ 
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 203ee98bd8e2..41db7baa4bc4 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -1215,8 +1215,7 @@ let
 
   ppl = callPackage ../development/libraries/ppl { };
 
-  /* WARNING: this version is unsuitable for using with a setuid wrapper */
-  ppp = builderDefsPackage (import ../tools/networking/ppp) { };
+  ppp = callPackage ../tools/networking/ppp { };
 
   pptp = callPackage ../tools/networking/pptp {};
 
@@ -3942,6 +3941,9 @@ let
 
   libgcrypt = callPackage ../development/libraries/libgcrypt { };
 
+  libgdiplus = callPackage ../development/libraries/libgdiplus {
+  };
+
   libgpgerror = callPackage ../development/libraries/libgpg-error { };
 
   libgphoto2 = callPackage ../development/libraries/libgphoto2 { };
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index 8b5912318204..421c03ea0af1 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -1101,15 +1101,7 @@ rec {
 
   DBDSQLite = import ../development/perl-modules/DBD-SQLite {
     inherit fetchurl buildPerlPackage DBI;
-
-    # sqlite-3.7.9 breaks DBDSQLite, overriding locally for now
-    sqlite = pkgs.lib.overrideDerivation pkgs.sqlite (args: {
-      name = "sqlite-3.7.7.1";
-      src = fetchurl {
-        url = http://www.sqlite.org/sqlite-autoconf-3070701.tar.gz;
-        sha256 = "1pvf72gb6yidc4zjml3k6kwhlvvhbgmbm8hfin9y5jvvbyr3dk3x";
-      };
-    });
+    inherit (pkgs) sqlite;
   };
 
   DBDmysql = import ../development/perl-modules/DBD-mysql {