diff --git a/.gitignore b/.gitignore index 3bd3813..b1ecfcb 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,15 @@ /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 index 8b9d93f..6970880 100644 --- a/0000-patch-build-gschemas.patch +++ b/0000-patch-build-gschemas.patch @@ -1,5 +1,5 @@ diff --git a/data/meson.build b/data/meson.build -index c16f78b..4ef9007 100644 +index c16f78b..ad77cef 100644 --- a/data/meson.build +++ b/data/meson.build @@ -14,7 +14,7 @@ install_data(['postprocess.sh'], @@ -10,17 +10,20 @@ index c16f78b..4ef9007 100644 -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') ++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 5d816d8..c27f548 100644 +index 626adad..bca4093 100644 --- a/meson.build +++ b/meson.build -@@ -76,3 +76,5 @@ executable('megapixels-camera-test', - include_directories: 'src/', - dependencies: [gtkdep], - install: true) -+ +@@ -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 5430b3b..44a544d 100644 --- a/megapixels.spec +++ b/megapixels.spec @@ -1,115 +1,78 @@ -Name: megapixels -Version: 1.2.0 -Release: 1%{?dist} -Summary: GTK4 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 -Source1: post_install.py +Name: megapixels +Release: %autorelease +Summary: GTK4 camera application that knows how to deal with the media request api -Patch0: 0000-patch-build-gschemas.patch +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: cmake -BuildRequires: pkgconfig(gio-2.0) >= 2.50.0 -BuildRequires: pkgconfig(glib-2.0) >= 2.62.0 -BuildRequires: pkgconfig(gtk4) +BuildRequires: pkgconfig(gtk4) +BuildRequires: pkgconfig(libfeedback-0.0) BuildRequires: pkgconfig(libtiff-4) -BuildRequires: inih-devel -BuildRequires: zbar-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 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. +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 -%autosetup -p1 -n %{name}-%{version} -cp %{SOURCE1} . +%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 %{_datadir}/glib-2.0/schemas/org.postmarketos.Megapixels.gschema.xml -%doc README.md -%license LICENSE - - %changelog -* Fri Jul 30 2021 Torrey Sorensen - 1.2.0-1 -- Update to 1.2.0 - -* Thu Jul 22 2021 Fedora Release Engineering - 1.1.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Wed Jun 23 2021 Torrey Sorensen - 1.1.0-1 -- Update to 1.1.0 - -* Tue May 04 2021 Torrey Sorensen - 1.0.1-1 -- Update to 1.0.1 - -* Mon Mar 29 2021 Torrey Sorensen - 0.16.0-1 -- Update to 0.16.0 - -* Sun Feb 21 2021 Torrey Sorensen - 0.15.0-1 -- Update to 0.15.0 - -* 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/sources b/sources index f835e32..f272b8b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (1.2.0.tar.gz) = 0ae734b7e82186725022d092a70a439fe29e44916556cbb35334d37bd93dd14c50372460806239ac1b09589761c754acf50694050c3eae0546f1938441a74571 +SHA512 (Megapixels-1.8.3.tar.bz2) = 3e326cf3c6a9ab49c1efab687eb769afef90518ceac12d674718424cfc1388cc677d288b8d5627b22231a4cabcb71fa80302dadff9de12eb6e4dbcc9e7830786