67 lines
1.8 KiB
Nix
67 lines
1.8 KiB
Nix
{ mkDerivation, lib, fetchFromGitHub, cmake, extra-cmake-modules, makeWrapper
|
|
, boost, doxygen, openssl, mysql, postgresql, graphviz, loki, qscintilla, qtbase }:
|
|
|
|
let
|
|
qscintillaLib = (qscintilla.override { withQt5 = true; });
|
|
|
|
in mkDerivation rec {
|
|
name = "tora-${version}";
|
|
version = "3.1";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "tora-tool";
|
|
repo = "tora";
|
|
rev = "v${version}";
|
|
sha256 = "0wninl10bcgiljf6wnhn2rv8kmzryw78x5qvbw8s2zfjlnxjsbn7";
|
|
};
|
|
|
|
nativeBuildInputs = [ cmake extra-cmake-modules makeWrapper ];
|
|
buildInputs = [
|
|
boost doxygen graphviz loki mysql.connector-c openssl postgresql qscintillaLib qtbase
|
|
];
|
|
|
|
preConfigure = ''
|
|
sed -i \
|
|
's|defaultGvHome = "/usr/bin"|defaultGvHome = "${lib.getBin graphviz}/bin"|' \
|
|
src/widgets/toglobalsetting.cpp
|
|
|
|
sed -i \
|
|
's|/usr/bin/dot|${lib.getBin graphviz}/bin/dot|' \
|
|
extlibs/libermodel/dotgraph.cpp
|
|
'';
|
|
|
|
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=${qscintillaLib}/include"
|
|
"-DQSCINTILLA_LIBRARY=${qscintillaLib}/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;
|
|
};
|
|
}
|