toxic: 0.15.1 -> 0.16.0
[NixPkgs.git] / pkgs / development / libraries / qscintilla / default.nix
blobabeecc0782f37d85a11d1ab197e6fda4416e405f
2   stdenv,
3   lib,
4   fetchurl,
5   unzip,
6   qtbase,
7   qtmacextras ? null,
8   qmake,
9   fixDarwinDylibNames,
10   darwin,
13 let
14   stdenv' = if stdenv.hostPlatform.isDarwin then darwin.apple_sdk_11_0.stdenv else stdenv;
16 stdenv'.mkDerivation rec {
17   pname = "qscintilla-qt5";
18   version = "2.13.2";
20   src = fetchurl {
21     url = "https://www.riverbankcomputing.com/static/Downloads/QScintilla/${version}/QScintilla_src-${version}.tar.gz";
22     sha256 = "sha256-tsfl8ntR0l8J/mz4Sumn8Idq8NZdjMtVEQnm57JYhfQ=";
23   };
25   sourceRoot = "QScintilla_src-${version}/src";
27   buildInputs = [ qtbase ];
29   propagatedBuildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ qtmacextras ];
31   nativeBuildInputs = [
32     unzip
33     qmake
34   ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ fixDarwinDylibNames ];
36   # Make sure that libqscintilla2.so is available in $out/lib since it is expected
37   # by some packages such as sqlitebrowser
38   postFixup = ''
39     ln -s $out/lib/libqscintilla2_qt5.so $out/lib/libqscintilla2.so
40   '';
42   dontWrapQtApps = true;
44   preConfigure = ''
45     substituteInPlace qscintilla.pro \
46       --replace '$$[QT_INSTALL_LIBS]'         $out/lib \
47       --replace '$$[QT_INSTALL_HEADERS]'      $out/include \
48       --replace '$$[QT_INSTALL_TRANSLATIONS]' $out/translations \
49       --replace '$$[QT_HOST_DATA]/mkspecs'    $out/mkspecs \
50       --replace '$$[QT_INSTALL_DATA]'         $out/share
51   '';
53   meta = with lib; {
54     description = "Qt port of the Scintilla text editing library";
55     longDescription = ''
56       QScintilla is a port to Qt of Neil Hodgson's Scintilla C++ editor
57       control.
59       As well as features found in standard text editing components,
60       QScintilla includes features especially useful when editing and
61       debugging source code. These include support for syntax styling,
62       error indicators, code completion and call tips. The selection
63       margin can contain markers like those used in debuggers to
64       indicate breakpoints and the current line. Styling choices are
65       more open than with many editors, allowing the use of
66       proportional fonts, bold and italics, multiple foreground and
67       background colours and multiple fonts.
68     '';
69     homepage = "https://www.riverbankcomputing.com/software/qscintilla/intro";
70     license = with licenses; [ gpl3 ]; # and commercial
71     maintainers = with maintainers; [ peterhoeg ];
72     platforms = platforms.unix;
73     # ld: library not found for -lcups
74     broken = stdenv.hostPlatform.isDarwin && lib.versionAtLeast qtbase.version "6";
75   };