about summary refs log tree commit diff
path: root/pkgs/development/libraries/qscintilla
diff options
context:
space:
mode:
authorPeter Hoeg <peter@hoeg.com>2019-02-19 11:43:55 +0800
committerPeter Hoeg <peter@hoeg.com>2019-08-26 19:09:59 +0800
commit76ad2796be28c5fbe8f8fe2b9bada12c3e1360e2 (patch)
treef86edd49788ae87f1b6b83d21be14066e099aa8f /pkgs/development/libraries/qscintilla
parent3f4144c30a6351dd79b177328ec4dea03e2ce45f (diff)
qscintilla: 2.9.4 -> 2.11.2
We strip the library suffix as we don't need it and it confuses various
downstream consumers.

Also replace calls to sed with substituteInPlace as the latter will complain in
case it doesn't perform a substitution.
Diffstat (limited to 'pkgs/development/libraries/qscintilla')
-rw-r--r--pkgs/development/libraries/qscintilla/default.nix58
1 files changed, 31 insertions, 27 deletions
diff --git a/pkgs/development/libraries/qscintilla/default.nix b/pkgs/development/libraries/qscintilla/default.nix
index 43f0e431bb15b..c75f324bf26ee 100644
--- a/pkgs/development/libraries/qscintilla/default.nix
+++ b/pkgs/development/libraries/qscintilla/default.nix
@@ -4,22 +4,26 @@
 , fixDarwinDylibNames
 }:
 
-# Fix Xcode 8 compilation problem
-let xcodePatch =
-  fetchurl { url = "https://raw.githubusercontent.com/Homebrew/formula-patches/a651d71/qscintilla2/xcode-8.patch";
-             sha256 = "1a88309fdfd421f4458550b710a562c622d72d6e6fdd697107e4a43161d69bc9"; };
-in
-stdenv.mkDerivation rec {
-  pname = "qscintilla";
-  version = "2.9.4";
+let
+  # Fix Xcode 8 compilation problem
+  xcodePatch = fetchurl {
+    url = "https://raw.githubusercontent.com/Homebrew/formula-patches/a651d71/qscintilla2/xcode-8.patch";
+    sha256 = "1a88309fdfd421f4458550b710a562c622d72d6e6fdd697107e4a43161d69bc9";
+  };
+
+  pname = "qscintilla-qt${if withQt5 then "5" else "4"}";
+  version = "2.11.2";
 
-  name = "${pname}-${if withQt5 then "qt5" else "qt4"}-${version}";
+in stdenv.mkDerivation rec {
+  inherit pname version;
 
   src = fetchurl {
-    url = "mirror://sourceforge/pyqt/QScintilla2/QScintilla-${version}/QScintilla_gpl-${version}.zip";
-    sha256 = "04678skipydx68zf52vznsfmll2v9aahr66g50lcqbr6xsmgr1yi";
+    url = "https://www.riverbankcomputing.com/static/Downloads/QScintilla/${version}/QScintilla_gpl-${version}.tar.gz";
+    sha256 = "18glb2v07mwfz6p8qmwhzcaaczyc36x3gn9wx8ndm7q6d93xr6q2";
   };
 
+  sourceRoot = "QScintilla_gpl-${version}/Qt4Qt5";
+
   buildInputs = [ (if withQt5 then qtbase else qt4) ];
 
   propagatedBuildInputs = lib.optional (withQt5 && stdenv.isDarwin) qtmacextras;
@@ -28,24 +32,23 @@ stdenv.mkDerivation rec {
     ++ (if withQt5 then [ qmake ] else [ qmake4Hook ])
     ++ lib.optional stdenv.isDarwin fixDarwinDylibNames;
 
-
   patches = lib.optional (stdenv.isDarwin && withQt5) [ xcodePatch ];
 
   enableParallelBuilding = true;
 
-  preConfigure = ''
-    cd Qt4Qt5
-    sed -i qscintilla.pro \
-      -e "s,\$\$\\[QT_INSTALL_LIBS\\],$out/lib," \
-      -e "s,\$\$\\[QT_INSTALL_HEADERS\\],$out/include/," \
-      -e "s,\$\$\\[QT_INSTALL_TRANSLATIONS\\],$out/translations," \
-    ${if withQt5 then ''
-      -e "s,\$\$\\[QT_HOST_DATA\\]/mkspecs,$out/mkspecs," \
-      -e "s,\$\$\\[QT_INSTALL_DATA\\]/mkspecs,$out/mkspecs," \
-      -e "s,\$\$\\[QT_INSTALL_DATA\\],$out/share,"
-    '' else ''
-      -e "s,\$\$\\[QT_INSTALL_DATA\\],$out/share/qt,"
-    ''}
+  # By default qscintilla will name the library with a qt version suffix which
+  # confuses the crap out of sqlitebrowser and possibly others so we simply
+  # strip the suffix as we don't need it and the various FindQScintilla.cmake
+  # files floating around *should* look for the un-suffixed version.
+  postPatch = ''
+    substituteInPlace qscintilla.pro \
+      --replace '_qt$''${QT_MAJOR_VERSION}'   "" \
+      --replace '$$[QT_INSTALL_LIBS]'         $out/lib \
+      --replace '$$[QT_INSTALL_HEADERS]'      $out/include \
+      --replace '$$[QT_INSTALL_TRANSLATIONS]' $out/translations \
+      --replace '$$[QT_HOST_DATA]/mkspecs'    $out/mkspecs \
+      --replace '$$[QT_INSTALL_DATA]/mkspecs' $out/mkspecs \
+      --replace '$$[QT_INSTALL_DATA]'         $out/share${lib.optionalString (! withQt5) "/qt"}
   '';
 
   meta = with stdenv.lib; {
@@ -64,9 +67,10 @@ stdenv.mkDerivation rec {
       proportional fonts, bold and italics, multiple foreground and
       background colours and multiple fonts.
     '';
-    homepage = http://www.riverbankcomputing.com/software/qscintilla/intro;
+    homepage = https://www.riverbankcomputing.com/software/qscintilla/intro;
     license = with licenses; [ gpl2 gpl3 ]; # and commercial
-    platforms = platforms.unix;
     maintainers = with maintainers; [ peterhoeg ];
+    platforms = platforms.unix;
+    broken = !withQt5;
   };
 }