diff --git a/.gitignore b/.gitignore index 5c230dc..b1ecfcb 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,20 @@ /0.13.1.tar.gz /0.13.2.tar.gz /0.14.0.tar.gz +/0.15.0.tar.gz +/0.16.0.tar.gz +/1.0.1.tar.gz +/1.1.0.tar.gz +/1.2.0.tar.gz +/1.3.0.tar.gz +/megapixels-1.4.0.tar.gz +/megapixels-1.4.2.tar.gz +/megapixels-1.4.3.tar.gz +/megapixels-1.5.1.tar.gz +/megapixels-1.5.2.tar.gz +/megapixels-1.6.0.tar.gz +/megapixels-1.6.1.tar.gz +/megapixels-1.7.0.tar.gz +/Megapixels-1.8.1.tar.bz2 +/Megapixels-1.8.2.tar.bz2 +/Megapixels-1.8.3.tar.bz2 diff --git a/0000-patch-build-gschemas.patch b/0000-patch-build-gschemas.patch new file mode 100644 index 0000000..6970880 --- /dev/null +++ b/0000-patch-build-gschemas.patch @@ -0,0 +1,29 @@ +diff --git a/data/meson.build b/data/meson.build +index c16f78b..ad77cef 100644 +--- a/data/meson.build ++++ b/data/meson.build +@@ -14,7 +14,7 @@ install_data(['postprocess.sh'], + install_dir: get_option('datadir') / 'megapixels/', + install_mode: 'rwxr-xr-x') + +-settings_schemas = ['org.postmarketos.Megapixels.gschema.xml'] +-schemas_dir = get_option('datadir') / 'glib-2.0' / 'schemas' +-install_data(settings_schemas, install_dir: schemas_dir) +-gnome.compile_schemas(depend_files: files(settings_schemas)) ++install_data( ++ 'org.postmarketos.Megapixels.gschema.xml', ++ install_dir: join_paths (get_option('datadir'), 'glib-2.0', 'schemas') ++) +diff --git a/meson.build b/meson.build +index 626adad..bca4093 100644 +--- a/meson.build ++++ b/meson.build +@@ -54,6 +54,8 @@ executable('megapixels', + install: true, + link_args: '-Wl,-ldl') + ++meson.add_install_script('post_install.py') ++ + install_data( + [ + 'config/pine64,pinephone-1.0.ini', diff --git a/0001-fix-capture-callback-signature.patch b/0001-fix-capture-callback-signature.patch new file mode 100644 index 0000000..1d8a2bf --- /dev/null +++ b/0001-fix-capture-callback-signature.patch @@ -0,0 +1,25 @@ +From 57244c666e622c01f1e22603da467856d36c50a2 Mon Sep 17 00:00:00 2001 +From: Sandipan Roy +Date: Wed, 13 Aug 2025 21:30:39 +0530 +Subject: [PATCH] Fix capture callback signature + +--- + src/process_pipeline.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/process_pipeline.c b/src/process_pipeline.c +index cbe374d..d9ace69 100644 +--- a/src/process_pipeline.c ++++ b/src/process_pipeline.c +@@ -964,7 +964,7 @@ mp_process_pipeline_process_image(MPBuffer buffer) + } + + static void +-capture() ++capture(MPPipeline *pipeline, const void *data) + { + char template[] = "/tmp/megapixels.XXXXXX"; + char *tempdir; +-- +2.50.1 + diff --git a/megapixels.spec b/megapixels.spec index 520970e..44a544d 100644 --- a/megapixels.spec +++ b/megapixels.spec @@ -1,93 +1,78 @@ -Name: megapixels -Version: 0.14.0 -Release: 2%{?dist} -Summary: A GTK3 camera application that knows how to deal with the media request api +%global forgeurl https://gitlab.com/megapixels-org/Megapixels +Version: 1.8.3 +%global tag %{version} +%forgemeta -License: GPLv3+ -URL: https://git.sr.ht/~martijnbraam/megapixels -Source0: https://git.sr.ht/~martijnbraam/megapixels/archive/%{version}.tar.gz +Name: megapixels +Release: %autorelease +Summary: GTK4 camera application that knows how to deal with the media request api -ExclusiveArch: aarch64 armv7hl +License: GPL-3.0-or-later +URL: %{forgeurl} +Source0: %{forgesource} + +# Only available on 64-bit architectures due to memory requirements +ExcludeArch: %{ix86} armv7hl + +# Patches +Patch0: 0001-fix-capture-callback-signature.patch BuildRequires: gcc BuildRequires: meson -BuildRequires: pkgconfig(gtk+-3.0) +BuildRequires: pkgconfig(gtk4) +BuildRequires: pkgconfig(libfeedback-0.0) BuildRequires: pkgconfig(libtiff-4) -BuildRequires: inih-devel -BuildRequires: /usr/bin/xvfb-run -BuildRequires: /usr/bin/xauth -BuildRequires: desktop-file-utils -BuildRequires: libappstream-glib +BuildRequires: pkgconfig(zbar) +BuildRequires: pkgconfig(epoxy) +BuildRequires: pkgconfig(x11) +BuildRequires: pkgconfig(xrandr) +BuildRequires: pkgconfig(wayland-client) +BuildRequires: pkgconfig(libjpeg) -Requires: hicolor-icon-theme +BuildRequires: /usr/bin/xvfb-run +BuildRequires: /usr/bin/xauth + +BuildRequires: desktop-file-utils +BuildRequires: libappstream-glib + +Requires: hicolor-icon-theme # for postprocess.sh -Requires: dcraw - +Requires: dcraw %description -A GTK3 camera application that knows how to deal with the media request api +A GTK4 camera application that knows how to deal with the media request api. +It uses opengl to debayer the raw sensor data for the preview. %prep -%setup -q -n %{name}-%{version} +%forgeautosetup -p1 -%build +%build %meson %meson_build %install %meson_install - %check -appstream-util validate-relax --nonet %{buildroot}%{_datadir}/metainfo/org.postmarketos.Megapixels.metainfo.xml - -desktop-file-validate %{buildroot}/%{_datadir}/applications/org.postmarketos.Megapixels.desktop - -LC_ALL=C.UTF-8 xvfb-run sh <<'SH' -%meson_test -SH - +desktop-file-validate %{buildroot}/%{_datadir}/applications/*.desktop +appstream-util validate-relax --nonet %{buildroot}%{_datadir}/metainfo/*.metainfo.xml %files -%dir %{_datadir}/megapixels -%dir %{_datadir}/megapixels/config - +%doc README.md +%license LICENSE %{_bindir}/megapixels %{_bindir}/megapixels-camera-test %{_bindir}/megapixels-list-devices %{_datadir}/applications/org.postmarketos.Megapixels.desktop %{_datadir}/icons/hicolor/scalable/apps/org.postmarketos.Megapixels.svg -%{_datadir}/megapixels/config/pine64,pinephone-1.0.ini -%{_datadir}/megapixels/config/pine64,pinephone-1.1.ini -%{_datadir}/megapixels/config/pine64,pinephone-1.2.ini -%{_datadir}/megapixels/config/pine64,pinetab.ini +%dir %{_datadir}/megapixels +%dir %{_datadir}/megapixels/config +%{_datadir}/megapixels/config/*.ini +%{_datadir}/megapixels/config/*.dcp %{_datadir}/megapixels/postprocess.sh %{_datadir}/metainfo/org.postmarketos.Megapixels.metainfo.xml - -%doc README.md -%license LICENSE - +%{_datadir}/glib-2.0/schemas/org.postmarketos.Megapixels.gschema.xml %changelog -* Tue Jan 26 2021 Fedora Release Engineering - 0.14.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Mon Jan 11 2021 Torrey Sorensen - 0.14.0-1 -- Update to 0.14.0 - -* Fri Jan 01 2021 Torrey Sorensen - 0.13.2-1 -- Update to 0.13.2 - -* Tue Dec 15 2020 Torrey Sorensen - 0.13.1-2 -- Adding license and README - -* Thu Dec 10 2020 Torrey Sorensen - 0.13.1-1 -- Update to 0.13.1 - -* Thu Dec 03 2020 Torrey Sorensen - 0.12.0-2 -- Adding dependencies for postprocess.sh - -* Sat Nov 14 2020 Torrey Sorensen - 0.12.0-1 -- Initial packaging - +%autochangelog diff --git a/packit.yaml b/packit.yaml new file mode 100644 index 0000000..8117a2d --- /dev/null +++ b/packit.yaml @@ -0,0 +1,20 @@ +upstream_project_url: https://gitlab.com/megapixels-org/Megapixels + +jobs: + - job: pull_from_upstream + trigger: release + dist_git_branches: + - fedora-rawhide + + - job: koji_build + trigger: commit + allowed_pr_authors: ["packit", "topazus"] + allowed_committers: ["packit", "topazus"] + dist_git_branches: + - fedora-all + + - job: bodhi_update + trigger: commit + allowed_builders: ["packit", "topazus"] + dist_git_branches: + - fedora-branched diff --git a/post_install.py b/post_install.py new file mode 100644 index 0000000..6654c8d --- /dev/null +++ b/post_install.py @@ -0,0 +1,13 @@ +#!/usr/bin/python3 + +import os +import subprocess +import sys + +destdir = os.environ.get('DESTDIR', '') + +if not destdir and len(sys.argv) > 1: + datadir = sys.argv[1] + + print('Compiling gsettings schemas...') + subprocess.call(['glib-compile-schemas', os.path.join(datadir, 'glib-2.0', 'schemas')]) diff --git a/sources b/sources index 49a4450..f272b8b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (0.14.0.tar.gz) = 6c5baf6e48c3cf6a77d60bd18af298daaa12e471ce0eff44c3eeb0c6c97bc183a36c6aa2d090abfa92958633c5d564e4fbec06bc271c813a1a98e1697f44bbe9 +SHA512 (Megapixels-1.8.3.tar.bz2) = 3e326cf3c6a9ab49c1efab687eb769afef90518ceac12d674718424cfc1388cc677d288b8d5627b22231a4cabcb71fa80302dadff9de12eb6e4dbcc9e7830786