Skip to content

Commit

Permalink
qscintilla: 2.9.4 -> 2.11.2
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
peterhoeg committed Aug 26, 2019
1 parent 3f4144c commit 76ad279
Showing 1 changed file with 31 additions and 27 deletions.
58 changes: 31 additions & 27 deletions pkgs/development/libraries/qscintilla/default.nix
Expand Up @@ -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;
Expand All @@ -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; {
Expand All @@ -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;
};
}

0 comments on commit 76ad279

Please sign in to comment.