about summary refs log tree commit diff
path: root/pkgs/applications/misc/qcad
diff options
context:
space:
mode:
authorMarc Weber <marco-oweber@gmx.de>2009-03-28 02:25:03 +0000
committerMarc Weber <marco-oweber@gmx.de>2009-03-28 02:25:03 +0000
commit5c0764de01cd3b463121d2486ca6b4eb34b0fe37 (patch)
treedf3d1b3e50bb1ff35955a5689ae5c91237e3d046 /pkgs/applications/misc/qcad
parent3c381aa734d4176169e7f4b9e7de0ac6694b7999 (diff)
adding qcad-2.0.5.0
svn path=/nixpkgs/trunk/; revision=14744
Diffstat (limited to 'pkgs/applications/misc/qcad')
-rw-r--r--pkgs/applications/misc/qcad/default.nix42
-rw-r--r--pkgs/applications/misc/qcad/qcad-2.0.4.0-1.src-intptr.patch24
2 files changed, 66 insertions, 0 deletions
diff --git a/pkgs/applications/misc/qcad/default.nix b/pkgs/applications/misc/qcad/default.nix
new file mode 100644
index 0000000000000..00d4fe99ba3ba
--- /dev/null
+++ b/pkgs/applications/misc/qcad/default.nix
@@ -0,0 +1,42 @@
+# translations still misssing
+args: with args;
+stdenv.mkDerivation {
+  name = "qcad-2.0.5.0-1-community";
+
+  src = fetchurl {
+    url = http://www.ribbonsoft.com/archives/qcad/qcad-2.0.5.0-1-community.src.tar.gz;
+    sha256 = "07aiw7zjf1fc04dhgwwp29adwb2qs165n7v04lh09zy0k2aplcl3";
+  };
+
+  # TODO: add translations
+  buildPhase = ''
+    cd scripts
+    sh build_qcad.sh notrans
+    cd ..
+  '';
+
+  buildInputs = [qt3 libpng libXext libX11];
+
+  patchPhase = ''
+    sed -i 's/-pedantic//' mkspecs/defs.pro
+    patch -p1 < ${ ./qcad-2.0.4.0-1.src-intptr.patch /* taken from gentoo, fixes amd64 compilation issue */}
+  '';
+
+  # probably there is more to be done. But this seems to work for now (eg see gentoo ebuild)
+  installPhase = ''
+    ensureDir $out/{bin,share}
+    cp -r qcad $out/share
+    cat >> $out/bin/qcad << EOF
+    #!/bin/sh
+    cd $out/share/qcad
+    ./qcad "\$@"
+    EOF
+    chmod +x $out/bin/qcad
+  '';
+
+  meta = { 
+      description="A 2D CAD package based upon Qt.";
+      homepage = http://www.ribbonsoft.de/qcad.html;
+      license = "GPLv2"; # community edition
+  };
+}
diff --git a/pkgs/applications/misc/qcad/qcad-2.0.4.0-1.src-intptr.patch b/pkgs/applications/misc/qcad/qcad-2.0.4.0-1.src-intptr.patch
new file mode 100644
index 0000000000000..6d8b6acca5b50
--- /dev/null
+++ b/pkgs/applications/misc/qcad/qcad-2.0.4.0-1.src-intptr.patch
@@ -0,0 +1,24 @@
+diff -Naur qcad-2.0.4.0-1.src.orig/qcadlib/src/engine/rs_entity.cpp qcad-2.0.4.0-1.src.patched/qcadlib/src/engine/rs_entity.cpp
+--- qcad-2.0.4.0-1.src.orig/qcadlib/src/engine/rs_entity.cpp	2004-09-14 15:13:02.000000000 -0500
++++ qcad-2.0.4.0-1.src.patched/qcadlib/src/engine/rs_entity.cpp	2006-06-23 14:21:40.000000000 -0500
+@@ -849,7 +849,7 @@
+         os << " layer: NULL ";
+     } else {
+         os << " layer: " << e.layer->getName().latin1() << " ";
+-        os << " layer address: " << (int)(e.layer) << " ";
++        os << " layer address: " << (intptr_t)(e.layer) << " ";
+     }
+ 
+     os << e.pen << "\n";
+diff -Naur qcad-2.0.4.0-1.src.orig/qcadlib/src/engine/rs_layer.cpp qcad-2.0.4.0-1.src.patched/qcadlib/src/engine/rs_layer.cpp
+--- qcad-2.0.4.0-1.src.orig/qcadlib/src/engine/rs_layer.cpp	2004-09-14 15:13:02.000000000 -0500
++++ qcad-2.0.4.0-1.src.patched/qcadlib/src/engine/rs_layer.cpp	2006-06-23 14:21:23.000000000 -0500
+@@ -57,7 +57,7 @@
+     os << " name: " << l.getName().latin1()
+     << " pen: " << l.getPen()
+ 	<< " frozen: " << (int)l.isFrozen()
+-	<< " address: " << (int)(&l)
++	<< " address: " << (intptr_t)(&l)
+     << std::endl;
+     return os;
+ }