about summary refs log tree commit diff
path: root/nixpkgs/pkgs/by-name/ls/lsd2dsl/package.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/by-name/ls/lsd2dsl/package.nix')
-rw-r--r--nixpkgs/pkgs/by-name/ls/lsd2dsl/package.nix62
1 files changed, 62 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/by-name/ls/lsd2dsl/package.nix b/nixpkgs/pkgs/by-name/ls/lsd2dsl/package.nix
new file mode 100644
index 000000000000..4ab26b40a7c2
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/ls/lsd2dsl/package.nix
@@ -0,0 +1,62 @@
+{ lib, stdenv, fetchFromGitHub
+, makeDesktopItem, copyDesktopItems, cmake
+, boost, cups, fmt, libvorbis, libsndfile, minizip, gtest, qt6 }:
+
+stdenv.mkDerivation rec {
+  pname = "lsd2dsl";
+  version = "0.6.0";
+
+  src = fetchFromGitHub {
+    owner = "nongeneric";
+    repo = "lsd2dsl";
+    rev = "v${version}";
+    hash = "sha256-0UsxDNpuWpBrfjh4q3JhZnOyXhHatSa3t/cApiG2JzM=";
+  };
+
+  postPatch = ''
+    substituteInPlace CMakeLists.txt --replace "-Werror" ""
+  '';
+
+  nativeBuildInputs = [
+    cmake
+    qt6.wrapQtAppsHook
+  ] ++ lib.optional stdenv.isLinux copyDesktopItems;
+
+  buildInputs = [
+    boost
+    cups
+    fmt
+    libvorbis
+    libsndfile
+    minizip
+    gtest
+    qt6.qt5compat
+    qt6.qtwebengine
+  ];
+
+  env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-int-conversion";
+
+  desktopItems = lib.singleton (makeDesktopItem {
+    name = "lsd2dsl";
+    exec = "lsd2dsl-qtgui";
+    desktopName = "lsd2dsl";
+    genericName = "lsd2dsl";
+    comment = meta.description;
+    categories = [ "Dictionary" "FileTools" "Qt" ];
+  });
+
+  installPhase = ''
+    install -Dm755 console/lsd2dsl gui/lsd2dsl-qtgui -t $out/bin
+  '';
+
+  meta = with lib; {
+    homepage = "https://rcebits.com/lsd2dsl/";
+    description = "Lingvo dictionaries decompiler";
+    longDescription = ''
+      A decompiler for ABBYY Lingvo’s proprietary dictionaries.
+    '';
+    license = licenses.mit;
+    maintainers = with maintainers; [ sikmir ];
+    platforms = platforms.unix;
+  };
+}