Merge pull request #56034 from peterhoeg/u/sqlite

qscintilla: 2.9.4 -> 2.11.2 and sqlitebrowser: 3.11.2
This commit is contained in:
Thomas Tuegel 2019-09-28 13:26:34 -05:00 committed by GitHub
commit fccbb5daf3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 37 additions and 38 deletions

View file

@ -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";
};
name = "${pname}-${if withQt5 then "qt5" else "qt4"}-${version}";
pname = "qscintilla-qt${if withQt5 then "5" else "4"}";
version = "2.11.2";
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;
};
}

View file

@ -1,25 +1,20 @@
{ mkDerivation, lib, fetchFromGitHub, cmake, antlr
, qtbase, qttools, sqlite }:
, qtbase, qttools, qscintilla, sqlite }:
mkDerivation rec {
version = "3.11.2";
pname = "sqlitebrowser";
version = "3.11.2";
src = fetchFromGitHub {
repo = pname;
owner = pname;
repo = pname;
rev = "v${version}";
sha256 = "0ydd5fg76d5d23byac1f7f8mzx3brmd0cnnkd58qpmlzi7p9hcvx";
};
buildInputs = [ qtbase sqlite ];
buildInputs = [ antlr qtbase qscintilla sqlite ];
nativeBuildInputs = [ cmake antlr qttools ];
# Use internal `qscintilla` rather than our package to fix the build
# (https://github.com/sqlitebrowser/sqlitebrowser/issues/1348#issuecomment-374170936).
# This can probably be removed when https://github.com/NixOS/nixpkgs/pull/56034 is merged.
cmakeFlags = [ "-DFORCE_INTERNAL_QSCINTILLA=ON" ];
nativeBuildInputs = [ cmake qttools ];
NIX_LDFLAGS = [
"-lQt5PrintSupport"
@ -32,6 +27,6 @@ mkDerivation rec {
homepage = http://sqlitebrowser.org/;
license = licenses.gpl3;
maintainers = with maintainers; [ ma27 ];
platforms = platforms.linux; # can only test on linux
platforms = platforms.unix;
};
}