summary refs log tree commit diff
path: root/pkgs/applications/video/entangle
diff options
context:
space:
mode:
authorShamrock Lee <44064051+ShamrockLee@users.noreply.github.com>2021-10-25 06:59:54 +0800
committerShamrock Lee <44064051+ShamrockLee@users.noreply.github.com>2021-10-31 22:32:50 +0000
commit78709f61dad7bdebfaa1403ae841a3f937a75861 (patch)
treea63f2e3f6b3891e5997a616aa31b64db1e14328a /pkgs/applications/video/entangle
parent5bb92dfe3a277ff4e5150a86535d7c80393c01fb (diff)
downloadnixpkgs-78709f61dad7bdebfaa1403ae841a3f937a75861.tar
nixpkgs-78709f61dad7bdebfaa1403ae841a3f937a75861.tar.gz
nixpkgs-78709f61dad7bdebfaa1403ae841a3f937a75861.tar.bz2
nixpkgs-78709f61dad7bdebfaa1403ae841a3f937a75861.tar.lz
nixpkgs-78709f61dad7bdebfaa1403ae841a3f937a75861.tar.xz
nixpkgs-78709f61dad7bdebfaa1403ae841a3f937a75861.tar.zst
nixpkgs-78709f61dad7bdebfaa1403ae841a3f937a75861.zip
entangle: init at 3.0
Diffstat (limited to 'pkgs/applications/video/entangle')
-rw-r--r--pkgs/applications/video/entangle/default.nix125
1 files changed, 125 insertions, 0 deletions
diff --git a/pkgs/applications/video/entangle/default.nix b/pkgs/applications/video/entangle/default.nix
new file mode 100644
index 00000000000..1575421175d
--- /dev/null
+++ b/pkgs/applications/video/entangle/default.nix
@@ -0,0 +1,125 @@
+{ lib
+, stdenv
+, fetchFromGitLab
+, cmake
+, libxml2
+, meson
+, ninja
+, perl
+, python3
+, pkgconf
+, wrapGAppsHook
+, at-spi2-core
+, dbus
+, elfutils
+, epoxy
+, gexiv2
+, glib
+, gobject-introspection
+, gst-plugins-base
+, gstreamer
+, gtk3
+, lcms2
+, libdatrie
+, libgphoto2
+, libgudev
+, libpeas
+, libraw
+, libselinux
+, libsepol
+, libthai
+, libunwind
+, libxkbcommon
+, orc
+, pcre
+, udev
+, util-linux
+, xorg
+}:
+
+stdenv.mkDerivation rec {
+  pname = "entangle";
+  version = "3.0";
+
+  src = fetchFromGitLab {
+    owner = "entangle";
+    repo = "entangle";
+    rev = "v${version}";
+    sha256 = "hz2WSDOjriQSavFlDT+35x1X5MeInq80ZrSP1WR/td0=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    glib.dev
+    libxml2.bin # for xmllint
+    meson
+    ninja
+    perl # for pod2man and build scripts
+    python3 # for build scripts
+    pkgconf
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    at-spi2-core
+    dbus
+    epoxy
+    elfutils
+    gexiv2
+    glib
+    gobject-introspection
+    gst-plugins-base
+    gstreamer
+    gtk3
+    lcms2
+    libdatrie
+    libgphoto2
+    libgudev
+    libpeas
+    libraw
+    libselinux
+    libsepol
+    libthai
+    libunwind
+    libxkbcommon
+    orc
+    pcre
+    udev
+    util-linux
+  ] ++ (with xorg; [
+    libXdmcp
+    libXtst
+  ]);
+
+  dontUseCmakeConfigure = true;
+
+  # Disable building of doc/reference since it requires network connection to render XML to HTML
+  # Patch build script shebangs
+  postPatch = ''
+    sed -i "/subdir('reference')/d" "docs/meson.build"
+    patchShebangs --build build-aux meson_post_install.py
+    sed -i meson_post_install.py \
+      -e "/print('Update icon cache...')/d" \
+      -e "/gtk-update-icon-cache/d"
+  '';
+
+  postInstall = ''
+    substituteInPlace "$out/share/applications/org.entangle_photo.Manager.desktop" \
+      --replace "Exec=entangle" "Exec=$out/bin/entangle"
+  '';
+
+  meta = with lib; {
+    description = "Tethered camera control and capture";
+    longDescription = ''
+      Entangle uses GTK and libgphoto2 to provide a graphical interface
+      for tethered photography with digital cameras.
+      It includes control over camera shooting and configuration settings
+      and 'hands off' shooting directly from the controlling computer.
+      This app can also serve as a camera app for mobile devices.
+    '';
+    homepage = "https://gitlab.com/entangle/entangle";
+    license = licenses.gpl3Plus;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ ShamrockLee ];
+  };
+}