about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/qtscriptgenerator
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/qtscriptgenerator')
-rw-r--r--nixpkgs/pkgs/development/libraries/qtscriptgenerator/default.nix48
-rw-r--r--nixpkgs/pkgs/development/libraries/qtscriptgenerator/qt-4.8.patch23
-rw-r--r--nixpkgs/pkgs/development/libraries/qtscriptgenerator/qtscriptgenerator.gcc-4.4.patch11
3 files changed, 82 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/qtscriptgenerator/default.nix b/nixpkgs/pkgs/development/libraries/qtscriptgenerator/default.nix
new file mode 100644
index 000000000000..0164f8884a27
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/qtscriptgenerator/default.nix
@@ -0,0 +1,48 @@
+{ lib, stdenv, fetchurl, qt4 }:
+
+stdenv.mkDerivation {
+  name = "qtscriptgenerator-0.1.0";
+  src = fetchurl {
+    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/qtscriptgenerator/qtscriptgenerator-src-0.1.0.tar.gz";
+    sha256 = "0h8zjh38n2wfz7jld0jz6a09y66dbsd2jhm4f2024qfgcmxcabj6";
+  };
+  buildInputs = [ qt4 ];
+
+  patches = [ ./qtscriptgenerator.gcc-4.4.patch ./qt-4.8.patch ];
+
+  postPatch = ''
+    # remove phonon stuff which causes errors (thanks to Gentoo bug reports)
+    sed -i "/typesystem_phonon.xml/d" generator/generator.qrc
+    sed -i "/qtscript_phonon/d" qtbindings/qtbindings.pro
+  '';
+
+  configurePhase = ''
+    ( cd generator; qmake )
+    ( cd qtbindings; qmake )
+  '';
+
+  buildPhase = ''
+    makeFlags="SHELL=$SHELL ''${enableParallelBuilding:+-j$NIX_BUILD_CORES -l$NIX_BUILD_CORES}"
+    make $makeFlags -C generator
+
+    # Set QTDIR, see https://code.google.com/archive/p/qtscriptgenerator/issues/38
+    ( cd generator; QTDIR=${qt4} ./generator )
+    make $makeFlags -C qtbindings
+  '';
+
+  installPhase = ''
+    mkdir -p $out/lib/qt4/plugins/script
+    cp -av plugins/script/* $out/lib/qt4/plugins/script
+  '';
+
+  enableParallelBuilding = true;
+
+  hardeningDisable = [ "format" ];
+
+  meta = {
+    description = "QtScript bindings generator";
+    homepage = "https://code.qt.io/cgit/qt-labs/qtscriptgenerator.git/";
+    inherit (qt4.meta) platforms;
+    license = lib.licenses.lgpl21;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/qtscriptgenerator/qt-4.8.patch b/nixpkgs/pkgs/development/libraries/qtscriptgenerator/qt-4.8.patch
new file mode 100644
index 000000000000..8fe643e2c98f
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/qtscriptgenerator/qt-4.8.patch
@@ -0,0 +1,23 @@
+Origin: http://src.fedoraproject.org/gitweb/?p=qtscriptgenerator.git;a=blob_plain;f=qtscriptgenerator-src-0.1.0-no_QFileOpenEvent.patch;h=f397b5ab13bcfc268e6d7b7ba4c6bc66ae38b5c0;hb=HEAD
+diff -up qtscriptgenerator-src-0.1.0/generator/typesystem_gui-common.xml.no_QFileOpenEvent qtscriptgenerator-src-0.1.0/generator/typesystem_gui-common.xml
+--- qtscriptgenerator-src-0.1.0/generator/typesystem_gui-common.xml.no_QFileOpenEvent	2011-12-22 11:34:52.615149619 -0600
++++ qtscriptgenerator-src-0.1.0/generator/typesystem_gui-common.xml	2011-12-22 11:35:31.808659632 -0600
+@@ -2233,7 +2233,6 @@
+     
+                
+   </object-type>
+-  <object-type name="QFileOpenEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::FileOpen"/>
+   <object-type name="QFocusEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::FocusIn || %1-&gt;type() == QEvent::FocusOut">
+         <modify-function signature="reason()const">
+             <remove/>
+diff -up qtscriptgenerator-src-0.1.0/generator/typesystem_gui.xml.no_QFileOpenEvent qtscriptgenerator-src-0.1.0/generator/typesystem_gui.xml
+--- qtscriptgenerator-src-0.1.0/generator/typesystem_gui.xml.no_QFileOpenEvent	2009-02-20 05:42:24.000000000 -0600
++++ qtscriptgenerator-src-0.1.0/generator/typesystem_gui.xml	2011-12-22 11:33:43.058019203 -0600
+@@ -2555,7 +2555,6 @@
+     
+                
+   </object-type>
+-  <object-type name="QFileOpenEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::FileOpen"/>
+   <object-type name="QFocusEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::FocusIn || %1-&gt;type() == QEvent::FocusOut">
+         <modify-function signature="reason()const">
+             <remove/>
diff --git a/nixpkgs/pkgs/development/libraries/qtscriptgenerator/qtscriptgenerator.gcc-4.4.patch b/nixpkgs/pkgs/development/libraries/qtscriptgenerator/qtscriptgenerator.gcc-4.4.patch
new file mode 100644
index 000000000000..c0a710efb157
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/qtscriptgenerator/qtscriptgenerator.gcc-4.4.patch
@@ -0,0 +1,11 @@
+diff -uNr generator.orig/parser/rpp/pp.h generator/parser/rpp/pp.h
+--- qtscriptgenerator-src-0.1.0/generator.orig/parser/rpp/pp.h	2008-12-05 11:01:44.000000000 +0100
++++ qtscriptgenerator-src-0.1.0/generator/parser/rpp/pp.h	2008-12-13 10:42:22.000000000 +0100
+@@ -30,6 +30,7 @@
+ #include <cctype>
+ 
+ #include <fcntl.h>
++#include <cstdio>
+ 
+ #ifdef HAVE_MMAP
+ #  include <sys/mman.h>