nixpkgs/pkgs/development/tools/tora/default.nix
2019-08-19 22:32:43 +08:00

62 lines
1.8 KiB
Nix

{ mkDerivation, lib, fetchFromGitHub, cmake, extra-cmake-modules, makeWrapper
, boost, doxygen, openssl, mysql, postgresql, graphviz, loki
, qscintilla, qtbase, qttools }:
mkDerivation rec {
pname = "tora";
version = "3.2.176";
src = fetchFromGitHub {
owner = "tora-tool";
repo = "tora";
rev = "39bf2837779bf458fc72a9f0e49271152e57829f";
sha256 = "0fr9b542i8r6shgnz33lc3cz333fnxgmac033yxfrdjfglzk0j2k";
};
nativeBuildInputs = [ cmake extra-cmake-modules makeWrapper qttools ];
buildInputs = [
boost doxygen graphviz loki mysql.connector-c openssl postgresql qscintilla qtbase
];
preConfigure = ''
substituteInPlace src/widgets/toglobalsetting.cpp \
--replace 'defaultGvHome = "/usr/bin"' 'defaultGvHome = "${lib.getBin graphviz}/bin"'
substituteInPlace extlibs/libermodel/dotgraph.cpp \
--replace /usr/bin/dot ${lib.getBin graphviz}/bin/dot
'';
cmakeFlags = [
"-DWANT_INTERNAL_LOKI=0"
"-DWANT_INTERNAL_QSCINTILLA=0"
# cmake/modules/FindQScintilla.cmake looks in qtbase and for the wrong library name
"-DQSCINTILLA_INCLUDE_DIR=${qscintilla}/include"
"-DQSCINTILLA_LIBRARY=${qscintilla}/lib/libqscintilla2.so"
"-DENABLE_DB2=0"
"-DENABLE_ORACLE=0"
"-DENABLE_TERADATA=0"
"-DQT5_BUILD=1"
"-Wno-dev"
];
# these libraries are only searched for at runtime so we need to force-link them
NIX_LDFLAGS = [
"-lgvc"
"-lmysqlclient"
"-lecpg"
"-lssl"
];
NIX_CFLAGS_COMPILE = [ "-L${mysql.connector-c}/lib/mysql" "-I${mysql.connector-c}/include/mysql" ];
qtWrapperArgs = [
''--prefix PATH : ${lib.getBin graphviz}/bin''
];
meta = with lib; {
description = "Tora SQL tool";
maintainers = with maintainers; [ peterhoeg ];
platforms = platforms.linux;
license = licenses.asl20;
};
}