nixpkgs/pkgs/development/tools/tora/default.nix
stuebinm ff1a94e523 treewide: add meta.mainProgram to packages with a single binary
The nixpkgs-unstable channel's programs.sqlite was used to identify
packages producing exactly one binary, and these automatically added
to their package definitions wherever possible.
2024-03-19 03:14:51 +01:00

57 lines
1.7 KiB
Nix

{ mkDerivation, lib, fetchFromGitHub, cmake, extra-cmake-modules, makeWrapper
, boost, doxygen, openssl, libmysqlclient, postgresql, graphviz, loki
, qscintilla, qtbase, qttools }:
mkDerivation {
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 libmysqlclient 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 -L${libmysqlclient}/lib/mariadb";
qtWrapperArgs = [
''--prefix PATH : ${lib.getBin graphviz}/bin''
];
meta = with lib; {
description = "Tora SQL tool";
mainProgram = "tora";
maintainers = with maintainers; [ peterhoeg ];
platforms = platforms.linux;
license = licenses.asl20;
};
}