about summary refs log tree commit diff
path: root/nixpkgs/pkgs/applications/graphics/rapid-photo-downloader/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/applications/graphics/rapid-photo-downloader/default.nix')
-rw-r--r--nixpkgs/pkgs/applications/graphics/rapid-photo-downloader/default.nix88
1 files changed, 88 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/applications/graphics/rapid-photo-downloader/default.nix b/nixpkgs/pkgs/applications/graphics/rapid-photo-downloader/default.nix
new file mode 100644
index 000000000000..aa6db0accdba
--- /dev/null
+++ b/nixpkgs/pkgs/applications/graphics/rapid-photo-downloader/default.nix
@@ -0,0 +1,88 @@
+{ stdenv, mkDerivationWith, fetchurl, python3Packages
+, file, intltool, gobject-introspection, libgudev
+, udisks, gexiv2, gst_all_1, libnotify
+, exiftool, gdk-pixbuf, libmediainfo, vmtouch
+}:
+
+mkDerivationWith python3Packages.buildPythonApplication rec {
+  pname = "rapid-photo-downloader";
+  version = "0.9.18";
+
+  src = fetchurl {
+    url = "https://launchpad.net/rapid/pyqt/${version}/+download/${pname}-${version}.tar.gz";
+    sha256 = "15p7sssg6vmqbm5xnc4j5dr89d7gl7y5qyq44a240yl5aqkjnybw";
+  };
+
+  # Disable version check and fix install tests
+  postPatch = ''
+    substituteInPlace raphodo/constants.py \
+      --replace "disable_version_check = False" "disable_version_check = True"
+    substituteInPlace raphodo/rescan.py \
+      --replace "from preferences" "from raphodo.preferences"
+  '';
+
+  nativeBuildInputs = [
+    file
+    intltool
+  ];
+
+  # Package has no generally usable unit tests.
+  # The included doctests expect specific, hardcoded hardware to be present.
+  doCheck = false;
+
+  # NOTE: Without gobject-introspection in buildInputs, launching fails with
+  #       "Namespace [Notify / GExiv2 / GUdev] not available"
+  buildInputs = [
+    gdk-pixbuf
+    gexiv2
+    gobject-introspection
+    gst_all_1.gst-libav
+    gst_all_1.gst-plugins-base
+    gst_all_1.gst-plugins-good
+    gst_all_1.gstreamer
+    gst_all_1.gstreamer.dev
+    libgudev
+    libnotify
+    udisks
+  ];
+
+  propagatedBuildInputs = with python3Packages; [
+    pyqt5
+    pygobject3
+    gphoto2
+    pyzmq
+    tornado
+    psutil
+    pyxdg
+    arrow
+    dateutil
+    easygui
+    colour
+    pymediainfo
+    sortedcontainers
+    rawkit
+    requests
+    colorlog
+    pyprind
+    tenacity
+  ];
+
+  preFixup = ''
+    makeWrapperArgs+=(
+      --set GI_TYPELIB_PATH "$GI_TYPELIB_PATH"
+      --set PYTHONPATH "$PYTHONPATH"
+      --prefix PATH : "${stdenv.lib.makeBinPath [ exiftool vmtouch ]}"
+      --prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ libmediainfo ]}"
+      --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0"
+      "''${qtWrapperArgs[@]}"
+    )
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Photo and video importer for cameras, phones, and memory cards";
+    homepage = "https://www.damonlynch.net/rapid/";
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ jfrankenau ];
+  };
+}