about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/applications/graphics/komikku/default.nix94
-rw-r--r--pkgs/development/python-modules/pure-protobuf/default.nix50
-rw-r--r--pkgs/top-level/all-packages.nix2
-rw-r--r--pkgs/top-level/python-packages.nix2
4 files changed, 148 insertions, 0 deletions
diff --git a/pkgs/applications/graphics/komikku/default.nix b/pkgs/applications/graphics/komikku/default.nix
new file mode 100644
index 0000000000000..c76e4458fc69b
--- /dev/null
+++ b/pkgs/applications/graphics/komikku/default.nix
@@ -0,0 +1,94 @@
+{ lib
+, fetchFromGitLab
+, desktop-file-utils
+, gettext
+, glib
+, gobject-introspection
+, gtk4
+, libadwaita
+, libnotify
+, webkitgtk_5_0
+, meson
+, ninja
+, pkg-config
+, python3
+, wrapGAppsHook4
+, nix-update-script
+}:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "komikku";
+  version = "1.15.0";
+
+  format = "other";
+
+  src = fetchFromGitLab {
+    owner = "valos";
+    repo = "Komikku";
+    rev = "v${version}";
+    hash = "sha256-dmi8a9Gf4ixq5oW6ewDGZYRmxY2qmUrD42DfjskRpHk=";
+  };
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkg-config
+    wrapGAppsHook4
+    gettext
+    glib # for glib-compile-resources
+    desktop-file-utils
+    gobject-introspection
+  ];
+
+  buildInputs = [
+    glib
+    gtk4
+    libadwaita
+    libnotify
+    webkitgtk_5_0
+    gobject-introspection
+  ];
+
+  propagatedBuildInputs = with python3.pkgs; [
+    pygobject3
+    beautifulsoup4
+    brotli
+    cloudscraper
+    dateparser
+    emoji
+    keyring
+    lxml
+    python-magic
+    natsort
+    piexif
+    pillow
+    pure-protobuf
+    rarfile
+    unidecode
+  ];
+
+  # Tests require network
+  doCheck = false;
+
+  # Prevent double wrapping.
+  dontWrapGApps = true;
+
+  preFixup = ''
+    makeWrapperArgs+=(
+      "''${gappsWrapperArgs[@]}"
+    )
+  '';
+
+  passthru = {
+    updateScript = nix-update-script {
+      attrPath = "komikku";
+    };
+  };
+
+  meta = with lib; {
+    description = "Manga reader for GNOME";
+    homepage = "https://valos.gitlab.io/Komikku/";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ chuangzhu ];
+  };
+}
diff --git a/pkgs/development/python-modules/pure-protobuf/default.nix b/pkgs/development/python-modules/pure-protobuf/default.nix
new file mode 100644
index 0000000000000..afd2835475cbf
--- /dev/null
+++ b/pkgs/development/python-modules/pure-protobuf/default.nix
@@ -0,0 +1,50 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+, setuptools-scm
+, toml
+, pytestCheckHook
+, pytest-benchmark
+, hatch-vcs
+, hatchling
+}:
+
+buildPythonPackage rec {
+  pname = "pure-protobuf";
+  version = "2.2.3";
+
+  format = "pyproject";
+  disabled = pythonOlder "3.7";
+
+  # PyPi lacks tests.
+  src = fetchFromGitHub {
+    owner = "eigenein";
+    repo = "protobuf";
+    rev = version;
+    hash = "sha256-FsVWlYPav4uusdEPXc5hScLeNJWfbSjGOLuZ7yZXyCw=";
+  };
+
+  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  nativeBuildInputs = [
+    hatch-vcs
+    hatchling
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+    pytest-benchmark
+  ];
+
+  pythonImportsCheck = [
+    "pure_protobuf"
+  ];
+
+  meta = with lib; {
+    description = "Python implementation of Protocol Buffers with dataclass-based schemas";
+    homepage = "https://github.com/eigenein/protobuf";
+    license = licenses.mit;
+    maintainers = with maintainers; [ chuangzhu ];
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 1c5f6e0cee29f..7c5b98dbafdfd 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -29645,6 +29645,8 @@ with pkgs;
 
   kerbrute = callPackage ../tools/security/kerbrute { };
 
+  komikku = callPackage ../applications/graphics/komikku { };
+
   kvmtool = callPackage ../applications/virtualization/kvmtool { };
 
   exrtools = callPackage ../applications/graphics/exrtools { };
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 797d29ed14db8..999f0e190472d 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -7779,6 +7779,8 @@ self: super: with self; {
 
   purepng = callPackage ../development/python-modules/purepng { };
 
+  pure-protobuf = callPackage ../development/python-modules/pure-protobuf { };
+
   pure-python-adb = callPackage ../development/python-modules/pure-python-adb { };
 
   pure-python-adb-homeassistant = callPackage ../development/python-modules/pure-python-adb-homeassistant { };