about summary refs log tree commit diff
path: root/pkgs/build-support
diff options
context:
space:
mode:
authorMichael Raskin <7c6f434c@mail.ru>2008-03-02 18:33:54 +0000
committerMichael Raskin <7c6f434c@mail.ru>2008-03-02 18:33:54 +0000
commitebe1aed1b3060552c9c1d363c5be9380463c63d5 (patch)
tree8fe27a76d75fa18fa9d7a452e34be4a30969a9f4 /pkgs/build-support
parent1452c1facc9bfc9d0e49b54f8e0108e8e52c10be (diff)
downloadnixlib-ebe1aed1b3060552c9c1d363c5be9380463c63d5.tar
nixlib-ebe1aed1b3060552c9c1d363c5be9380463c63d5.tar.gz
nixlib-ebe1aed1b3060552c9c1d363c5be9380463c63d5.tar.bz2
nixlib-ebe1aed1b3060552c9c1d363c5be9380463c63d5.tar.lz
nixlib-ebe1aed1b3060552c9c1d363c5be9380463c63d5.tar.xz
nixlib-ebe1aed1b3060552c9c1d363c5be9380463c63d5.tar.zst
nixlib-ebe1aed1b3060552c9c1d363c5be9380463c63d5.zip
Additions to deb-package to handle more borderline cases (which constitute 90%, of course).
svn path=/nixpkgs/trunk/; revision=10907
Diffstat (limited to 'pkgs/build-support')
-rw-r--r--pkgs/build-support/deb-package/default.nix21
1 files changed, 18 insertions, 3 deletions
diff --git a/pkgs/build-support/deb-package/default.nix b/pkgs/build-support/deb-package/default.nix
index eb49458a6f3e..e884ae6d36b1 100644
--- a/pkgs/build-support/deb-package/default.nix
+++ b/pkgs/build-support/deb-package/default.nix
@@ -1,11 +1,17 @@
 args : with args;	
 	let 
        	localDefs = with (builderDefs {src="";} null);
-	 builderDefs {
+	let 
+	  checkFlag = flag : lib.getAttr [flag] false args;
+	in
+	  builderDefs {
 		inherit src;
+		inherit checkFlag;
 		buildInputs = [];
 		configureFlags = [];
-		makeFlags =  [];
+		makeFlags = if (checkFlag "omitConfigure") 
+		then [" PREFIX=$out "]
+		else [];
 		patch = null;
 		meta = {};
 		doInstall = if args ? Install then 
@@ -23,6 +29,14 @@ args : with args;
 		  sed -e 's/-o root//' -i Makefile Makefile.in Makefile.new || true;
 		  sed -e 's/-g root//' -i Makefile Makefile.in Makefile.new || true;
 		''
+		+(if (checkFlag "omitFilePatches") then "" else 
+		''
+		  if test -d debian/patches; then 
+		    for i in debian/patches/*; do 
+		      patch -Np0 -i $i; 
+		    done;
+		  fi;
+		'')
 		+ (if args ? extraReplacements then 
 		  args.extraReplacements 
 		else ""))["minInit" "doUnpack"];
@@ -32,7 +46,8 @@ stdenv.mkDerivation rec {
 	name = localDefs.name + "deb";
 	builder = writeScript (name + "-builder")
 		(textClosure localDefs ([debPatch] ++ 
-		(lib.optional (! (args ? omitConfigure)) "doConfigure")
+		(lib.optional (! (checkFlag "omitConfigure")) "doConfigure")
 		++ [doInstall doForceShare]));
 	inherit meta;
+	inherit src;
 }