From 78709f61dad7bdebfaa1403ae841a3f937a75861 Mon Sep 17 00:00:00 2001 From: Shamrock Lee <44064051+ShamrockLee@users.noreply.github.com> Date: Mon, 25 Oct 2021 06:59:54 +0800 Subject: [PATCH] entangle: init at 3.0 --- pkgs/applications/video/entangle/default.nix | 125 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 4 + 2 files changed, 129 insertions(+) create mode 100644 pkgs/applications/video/entangle/default.nix diff --git a/pkgs/applications/video/entangle/default.nix b/pkgs/applications/video/entangle/default.nix new file mode 100644 index 000000000000..1575421175d3 --- /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 ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 65d49064e25e..d76750dfbfef 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -24505,6 +24505,10 @@ with pkgs; enhanced-ctorrent = callPackage ../applications/networking/enhanced-ctorrent { }; + entangle = callPackage ../applications/video/entangle { + inherit (gst_all_1) gstreamer gst-plugins-base; + }; + eolie = callPackage ../applications/networking/browsers/eolie { }; epdfview = callPackage ../applications/misc/epdfview { };