diff options
Diffstat (limited to 'nixpkgs/pkgs/applications/graphics/rapid-photo-downloader/default.nix')
-rw-r--r-- | nixpkgs/pkgs/applications/graphics/rapid-photo-downloader/default.nix | 88 |
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 ]; + }; +} |