1{ lib, stdenv, fetchurl, qt4 }:
2
3stdenv.mkDerivation {
4 name = "qtscriptgenerator-0.1.0";
5 src = fetchurl {
6 url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/qtscriptgenerator/qtscriptgenerator-src-0.1.0.tar.gz";
7 sha256 = "0h8zjh38n2wfz7jld0jz6a09y66dbsd2jhm4f2024qfgcmxcabj6";
8 };
9 buildInputs = [ qt4 ];
10
11 patches = [ ./qtscriptgenerator.gcc-4.4.patch ./qt-4.8.patch ];
12
13 postPatch = ''
14 # remove phonon stuff which causes errors (thanks to Gentoo bug reports)
15 sed -i "/typesystem_phonon.xml/d" generator/generator.qrc
16 sed -i "/qtscript_phonon/d" qtbindings/qtbindings.pro
17 '';
18
19 configurePhase = ''
20 ( cd generator; qmake )
21 ( cd qtbindings; qmake )
22 '';
23
24 buildPhase = ''
25 makeFlags="SHELL=$SHELL ''${enableParallelBuilding:+-j$NIX_BUILD_CORES -l$NIX_BUILD_CORES}"
26 make $makeFlags -C generator
27
28 # Set QTDIR, see https://code.google.com/archive/p/qtscriptgenerator/issues/38
29 ( cd generator; QTDIR=${qt4} ./generator )
30 make $makeFlags -C qtbindings
31 '';
32
33 installPhase = ''
34 mkdir -p $out/lib/qt4/plugins/script
35 cp -av plugins/script/* $out/lib/qt4/plugins/script
36 '';
37
38 enableParallelBuilding = true;
39
40 hardeningDisable = [ "format" ];
41
42 meta = {
43 description = "QtScript bindings generator";
44 homepage = "https://code.qt.io/cgit/qt-labs/qtscriptgenerator.git/";
45 inherit (qt4.meta) platforms;
46 license = lib.licenses.lgpl21;
47 };
48}