diff --git a/pkgs/development/libraries/loki/default.nix b/pkgs/development/libraries/loki/default.nix new file mode 100644 index 000000000000..2ff927048ad5 --- /dev/null +++ b/pkgs/development/libraries/loki/default.nix @@ -0,0 +1,26 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + name = "loki-${version}"; + version = "0.1.7"; + + src = fetchurl { + url = "mirror://sourceforge/loki-lib/Loki/Loki%20${version}/loki-${version}.tar.gz"; + sha256 = "1xhwna961fl4298ac5cc629x5030zlw31vx4h8zws290amw5860g"; + }; + + buildPhase = '' + substituteInPlace Makefile.common --replace /usr $out + make build-shared + ''; + + enableParallelBuilding = true; + + meta = with stdenv.lib; { + description = "A C++ library of designs, containing flexible implementations of common design patterns and idioms"; + homepage = http://loki-lib.sourceforge.net; + license = licenses.mit; + platforms = platforms.all; + maintainers = with maintainers; [ peterhoeg ]; + }; +} diff --git a/pkgs/development/tools/tora/default.nix b/pkgs/development/tools/tora/default.nix new file mode 100644 index 000000000000..9f8f2df358a5 --- /dev/null +++ b/pkgs/development/tools/tora/default.nix @@ -0,0 +1,67 @@ +{ stdenv, lib, fetchFromGitHub, cmake, ecm, makeQtWrapper +, boost, doxygen, openssl, mysql, postgresql, graphviz, loki, qscintilla, qtbase }: + +let + qscintillaLib = (qscintilla.override { withQt5 = true; }); + +in stdenv.mkDerivation rec { + name = "tora-${version}"; + version = "3.1"; + + src = fetchFromGitHub { + owner = "tora-tool"; + repo = "tora"; + rev = "v${version}"; + sha256 = "0wninl10bcgiljf6wnhn2rv8kmzryw78x5qvbw8s2zfjlnxjsbn7"; + }; + + enableParallelBuilding = true; + + buildInputs = [ + cmake ecm makeQtWrapper + boost doxygen graphviz loki mysql 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" + ]; + + postFixup = '' + wrapQtProgram $out/bin/tora \ + --prefix PATH : ${lib.getBin graphviz}/bin + ''; + + meta = with stdenv.lib; { + description = "Tora SQL tool"; + maintainers = with maintainers; [ peterhoeg ]; + platforms = platforms.linux; + license = licenses.asl20; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 169257738101..b040369896f6 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2675,6 +2675,8 @@ in logstalgia = callPackage ../tools/graphics/logstalgia {}; + loki = callPackage ../development/libraries/loki { }; + longview = callPackage ../servers/monitoring/longview { }; lout = callPackage ../tools/typesetting/lout { }; @@ -17959,6 +17961,8 @@ in zoom-us = qt55.callPackage ../applications/networking/instant-messengers/zoom-us {}; + tora = qt5.callPackage ../development/tools/tora {}; + xulrunner = firefox-unwrapped; nitrokey-app = callPackage ../tools/security/nitrokey-app { };