diff --git a/pkgs/by-name/li/libdng/package.nix b/pkgs/by-name/li/libdng/package.nix new file mode 100644 index 000000000000..84560352eb36 --- /dev/null +++ b/pkgs/by-name/li/libdng/package.nix @@ -0,0 +1,51 @@ +{ + fetchFromGitLab, + lib, + libpulseaudio, + libtiff, + meson, + ninja, + pkg-config, + scdoc, + stdenv, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "libdng"; + version = "0.2.2"; + + outputs = [ + "out" + "dev" + ]; + + src = fetchFromGitLab { + owner = "megapixels-org"; + repo = "libdng"; + tag = finalAttrs.version; + hash = "sha256-2Kwz5K37I3HnnKePyY4nKYwnGHP09vr6IThiuKd3EfQ="; + }; + + nativeBuildInputs = [ + meson + ninja + pkg-config + scdoc + ]; + + buildInputs = [ + libpulseaudio + libtiff + ]; + + doCheck = true; + + meta = { + changelog = "https://gitlab.com/megapixels-org/libdng/-/tags/${finalAttrs.src.tag}"; + description = "Interface library between libtiff and the world to make sure the output is valid DNG"; + homepage = "https://gitlab.com/megapixels-org/libdng"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.dotlambda ]; + platforms = lib.platforms.linux; + }; +}) diff --git a/pkgs/by-name/li/libmegapixels/package.nix b/pkgs/by-name/li/libmegapixels/package.nix new file mode 100644 index 000000000000..2ae5237f1fcb --- /dev/null +++ b/pkgs/by-name/li/libmegapixels/package.nix @@ -0,0 +1,47 @@ +{ + fetchFromGitLab, + lib, + libconfig, + meson, + ninja, + pkg-config, + stdenv, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "libmegapixels"; + version = "0.2.3"; + + outputs = [ + "out" + "dev" + ]; + + src = fetchFromGitLab { + owner = "megapixels-org"; + repo = "libmegapixels"; + tag = finalAttrs.version; + hash = "sha256-YYZmjFLAswat++ojUaoYcJk+ruxT3qiuuLWfck23N1c="; + }; + + nativeBuildInputs = [ + meson + ninja + pkg-config + ]; + + buildInputs = [ + libconfig + ]; + + doCheck = true; + + meta = { + changelog = "https://gitlab.com/megapixels-org/libmegapixels/-/tags/${finalAttrs.src.tag}"; + description = "Device abstraction for the Megapixels camera application"; + homepage = "https://gitlab.com/megapixels-org/libmegapixels"; + license = lib.licenses.gpl3Only; + maintainers = [ lib.maintainers.dotlambda ]; + platforms = lib.platforms.linux; + }; +}) diff --git a/pkgs/by-name/me/megapixels/package.nix b/pkgs/by-name/me/megapixels/package.nix index 2bc12b537c87..31d55d2dcd30 100644 --- a/pkgs/by-name/me/megapixels/package.nix +++ b/pkgs/by-name/me/megapixels/package.nix @@ -9,7 +9,10 @@ wrapGAppsHook4, feedbackd, gtk4, + libdng, libepoxy, + libmegapixels, + libpulseaudio, xorg, zbar, tiffSupport ? true, @@ -38,13 +41,13 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "megapixels"; - version = "1.8.3"; + version = "2.0.0"; src = fetchFromGitLab { owner = "megapixels-org"; repo = "Megapixels"; - rev = finalAttrs.version; - hash = "sha256-ZXr0gmO72zKHwORn4p8zKuGcdICvb5+L/Q9d/ty8zwA="; + tag = finalAttrs.version; + hash = "sha256-tuAMp92166WZJfGIEzEWal9BExzQJoYodd2uZHhqEuQ="; }; nativeBuildInputs = [ @@ -58,7 +61,10 @@ stdenv.mkDerivation (finalAttrs: { buildInputs = [ feedbackd gtk4 + libdng libepoxy + libmegapixels + libpulseaudio xorg.libXrandr zbar ]; @@ -81,16 +87,16 @@ stdenv.mkDerivation (finalAttrs: { strictDeps = true; - meta = with lib; { + meta = { description = "GTK4 camera application that knows how to deal with the media request api"; homepage = "https://gitlab.com/megapixels-org/Megapixels"; - changelog = "https://gitlab.com/megapixels-org/Megapixels/-/tags/${finalAttrs.version}"; - license = licenses.gpl3Only; - maintainers = with maintainers; [ + changelog = "https://gitlab.com/megapixels-org/Megapixels/-/tags/${finalAttrs.src.tag}"; + license = lib.licenses.gpl3Only; + maintainers = with lib.maintainers; [ dotlambda Luflosi ]; - platforms = platforms.linux; + platforms = lib.platforms.linux; mainProgram = "megapixels"; }; }) diff --git a/pkgs/by-name/me/megapixels/search-for-postprocessors-in-NixOS-specific-global-location.patch b/pkgs/by-name/me/megapixels/search-for-postprocessors-in-NixOS-specific-global-location.patch index 85320316de02..160eae14790d 100644 --- a/pkgs/by-name/me/megapixels/search-for-postprocessors-in-NixOS-specific-global-location.patch +++ b/pkgs/by-name/me/megapixels/search-for-postprocessors-in-NixOS-specific-global-location.patch @@ -1,27 +1,29 @@ +diff --git a/src/process_pipeline.c b/src/process_pipeline.c +index 4b37afb..81e5252 100644 --- a/src/process_pipeline.c +++ b/src/process_pipeline.c -@@ -179,10 +179,10 @@ mp_process_find_all_processors(GtkListStore *store) +@@ -91,10 +91,10 @@ mp_process_find_all_processors(GtkListStore *store) store, &iter, 0, buffer, 1, "(built-in) postprocess.sh", -1); } - // Find extra packaged postprocessor scripts - // These should be packaged in - // /usr/share/megapixels/postprocessor.d/executable -- sprintf(buffer, "%s/megapixels/postprocessor.d", DATADIR); +- snprintf(buffer, sizeof(buffer), "%s/megapixels/postprocessor.d", DATADIR); + // Find extra system postprocessor scripts + // These should be accessible in + // /run/current-system/sw/share/megapixels/postprocessor.d/executable -+ sprintf(buffer, "/run/current-system/sw/share/megapixels/postprocessor.d"); ++ snprintf(buffer, sizeof(buffer), "/run/current-system/sw/share/megapixels/postprocessor.d"); DIR *d; struct dirent *dir; d = opendir(buffer); -@@ -192,8 +192,7 @@ mp_process_find_all_processors(GtkListStore *store) - continue; +@@ -105,8 +105,7 @@ mp_process_find_all_processors(GtkListStore *store) } - sprintf(buffer, -- "%s/megapixels/postprocessor.d/%s", -- DATADIR, -+ "/run/current-system/sw/share/megapixels/postprocessor.d/%s", - dir->d_name); + snprintf(buffer, + sizeof(buffer), +- "%s/megapixels/postprocessor.d/%s", +- DATADIR, ++ "/run/current-system/sw/share/megapixels/postprocessor.d/%s", + dir->d_name); gtk_list_store_insert(store, &iter, -1); gtk_list_store_set(