push sheeet
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s

This commit is contained in:
Dark Steveneq
2025-10-09 14:15:47 +02:00
commit 646b892680
49168 changed files with 5897842 additions and 0 deletions

View File

@@ -0,0 +1,48 @@
From 7f51ec77e1a35bbfb8ced3b7340818a72d859c0e Mon Sep 17 00:00:00 2001
From: Jan Tojnar <jtojnar@gmail.com>
Date: Mon, 14 Oct 2024 00:57:57 +0200
Subject: [PATCH] build: Add missing gio-unix-2.0 dependency
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
On Nix, we try to isolate dependencies more than usual and have an alternative interpretation of pkg-configs `Requires.private` field.
In this environment, Entangle fails to build because it has implicit dependency on gio-unix:
../src/frontend/entangle-camera-manager.c:28:10: fatal error: gio/gunixoutputstream.h: No such file or directory
28 | #include <gio/gunixoutputstream.h>
| ^~~~~~~~~~~~~~~~~~~~~~~~~
Lets add it explicitly.
---
meson.build | 1 +
src/frontend/meson.build | 1 +
2 files changed, 2 insertions(+)
diff --git a/meson.build b/meson.build
index 1510962..90873ef 100644
--- a/meson.build
+++ b/meson.build
@@ -33,6 +33,7 @@ add_global_arguments('-DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_38', language :
glib_dep = dependency('glib-2.0', version: glib_min_version)
gio_dep = dependency('gio-2.0', version: glib_min_version)
+gio_unix_dep = dependency('gio-unix-2.0', version: glib_min_version)
gthread_dep = dependency('gthread-2.0', version: glib_min_version)
gmodule_dep = dependency('gmodule-2.0', version: glib_min_version)
gdk_pixbuf_dep = dependency('gdk-pixbuf-2.0', version: gdk_pixbuf_min_version)
diff --git a/src/frontend/meson.build b/src/frontend/meson.build
index 1ed9d75..81310c8 100644
--- a/src/frontend/meson.build
+++ b/src/frontend/meson.build
@@ -90,6 +90,7 @@ entangle_frontend_sources += entangle_frontend_enum_sources
entangle_frontend_deps = [
gthread_dep,
gmodule_dep,
+ gio_unix_dep,
gtk_dep,
gst_dep,
pango_dep,
--
2.46.0

View File

@@ -0,0 +1,137 @@
{
lib,
stdenv,
fetchFromGitLab,
fetchpatch,
itstool,
libxml2,
meson,
ninja,
perl,
python3,
pkg-config,
wrapGAppsHook3,
at-spi2-core,
dbus,
elfutils,
libepoxy,
gexiv2,
glib,
gobject-introspection,
gst_all_1,
gtk3,
lcms2,
libdatrie,
libgphoto2,
libgudev,
libpeas,
libraw,
libselinux,
libsepol,
lerc,
libthai,
libunwind,
libxkbcommon,
orc,
udev,
util-linux,
xorg,
zstd,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "entangle";
version = "3.0";
src = fetchFromGitLab {
owner = "entangle";
repo = "entangle";
rev = "refs/tags/v${finalAttrs.version}";
sha256 = "hz2WSDOjriQSavFlDT+35x1X5MeInq80ZrSP1WR/td0=";
};
patches = [
# Fix build with meson 0.61, can be removed on next update
# https://gitlab.com/entangle/entangle/-/issues/67
(fetchpatch {
url = "https://gitlab.com/entangle/entangle/-/commit/54795d275a93e94331a614c8712740fcedbdd4f0.patch";
sha256 = "iEgqGjKa0xwSdctwvNdEV361l9nx+bz53xn3fuDgtzY=";
})
# Fix implicit dependency
# https://github.com/NixOS/nixpkgs/issues/36468
# https://gitlab.com/entangle/entangle/-/merge_requests/61
./0001-build-Add-missing-gio-unix-2.0-dependency.patch
];
nativeBuildInputs = [
itstool
glib
libxml2 # for xmllint
meson
ninja
perl # for pod2man and build scripts
python3 # for build scripts
pkg-config
wrapGAppsHook3
gobject-introspection
];
buildInputs = [
at-spi2-core
dbus
libepoxy
elfutils
gexiv2
glib
lerc
gst_all_1.gst-plugins-base
gst_all_1.gstreamer
gtk3
lcms2
libdatrie
libgphoto2
libgudev
libpeas
libraw
libselinux
libsepol
libthai
libunwind
libxkbcommon
orc
udev
util-linux
zstd
]
++ (with xorg; [
libXdmcp
libXtst
]);
# 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"
'';
meta = {
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 = lib.licenses.gpl3Plus;
platforms = lib.platforms.all;
maintainers = with lib.maintainers; [ ShamrockLee ];
mainProgram = "entangle";
};
})