From 0323d946aeac38312a7836c8b0a9a2212f2239c2 Mon Sep 17 00:00:00 2001 From: purofle Date: Fri, 20 Mar 2026 15:48:50 +0800 Subject: [PATCH 1/4] SPECS: add babl. Signed-off-by: purofle --- SPECS/babl/babl.spec | 66 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 SPECS/babl/babl.spec diff --git a/SPECS/babl/babl.spec b/SPECS/babl/babl.spec new file mode 100644 index 0000000000..9b1c3cf307 --- /dev/null +++ b/SPECS/babl/babl.spec @@ -0,0 +1,66 @@ +# SPDX-FileCopyrightText: (C) 2026 Institute of Software, Chinese Academy of Sciences (ISCAS) +# SPDX-FileCopyrightText: (C) 2026 openRuyi Project Contributors +# SPDX-FileContributor: purofle +# +# SPDX-License-Identifier: MulanPSL-2.0 + +Name: babl +Version: 0.1.124 +Release: %autorelease +Summary: A dynamic, any to any, pixel format conversion library +License: LGPL-3.0-or-later AND GPL-3.0-or-later +URL: https://www.gimp.org +VCS: git:https://gitlab.gnome.org/GNOME/babl.git +#!RemoteAsset: sha256:1b0d544ab6f409f2b1b5f677226272d1e8c6d373f2f453ee870bfc7e5dd4f1b1 +Source0: https://download.gimp.org/babl/0.1/babl-%{version}.tar.xz +BuildSystem: meson + +BuildRequires: meson +BuildRequires: gi-docgen +BuildRequires: vala +BuildRequires: pkgconfig(gobject-introspection-1.0) +BuildRequires: pkgconfig(lcms2) >= 2.8 + +%description +Babl is a dynamic, any to any, pixel format conversion library. It +provides conversions between the myriad of buffer types images can be +stored in. Babl doesn't only help with existing pixel formats, but also +facilitates creation of new and uncommon ones. + +%package devel +Summary: Headers for developing programs that will use babl +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description devel +This package contains the libraries and header files needed for +developing with babl. + +%package doc +Summary: Documentation for babl +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description doc +This package contains the documentation for babl. + +%files +%license docs/COPYING* +%doc AUTHORS NEWS +%{_bindir}/babl +%{_libdir}/libbabl-0.1.so.0* +%{_libdir}/babl-0.1/ +%dir %{_libdir}/girepository-1.0 +%{_libdir}/girepository-1.0/Babl-0.1.typelib + +%files devel +%{_includedir}/babl-0.1/ +%{_libdir}/libbabl-0.1.so +%{_libdir}/pkgconfig/babl-0.1.pc +%dir %{_datadir}/gir-1.0 +%{_datadir}/gir-1.0/Babl-0.1.gir +%{_datadir}/vala/ + +%files doc +%{_docdir}/babl-0.1/* + +%changelog +%autochangelog From 9d077f2ad31ea73c1a8d95feb0954113b4116082 Mon Sep 17 00:00:00 2001 From: purofle Date: Fri, 20 Mar 2026 17:53:58 +0800 Subject: [PATCH 2/4] SPECS: add gexiv2. Signed-off-by: purofle --- SPECS/gexiv2/gexiv2.spec | 66 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 SPECS/gexiv2/gexiv2.spec diff --git a/SPECS/gexiv2/gexiv2.spec b/SPECS/gexiv2/gexiv2.spec new file mode 100644 index 0000000000..b185901513 --- /dev/null +++ b/SPECS/gexiv2/gexiv2.spec @@ -0,0 +1,66 @@ +# SPDX-FileCopyrightText: (C) 2026 Institute of Software, Chinese Academy of Sciences (ISCAS) +# SPDX-FileCopyrightText: (C) 2026 openRuyi Project Contributors +# SPDX-FileContributor: purofle +# +# SPDX-License-Identifier: MulanPSL-2.0 + +Name: gexiv2 +Version: 0.14.6 +Release: %autorelease +Summary: Gexiv2 is a GObject-based wrapper around the Exiv2 library +License: GPL-2.0-or-later +URL: https://wiki.gnome.org/Projects/Gexiv2 +VCS: git:https://gitlab.gnome.org/GNOME/gexiv2.git +#!RemoteAsset: sha256:606c28aaae7b1f3ef5c8eabe5e7dffd7c5a1c866d25b7671fb847fe287a72b8b +Source0: https://download.gnome.org/sources/gexiv2/0.14/gexiv2-%{version}.tar.xz +BuildSystem: meson + +BuildRequires: meson +BuildRequires: vala +BuildRequires: python-pygobject +BuildRequires: pkgconfig(exiv2) >= 0.14.0 +BuildRequires: pkgconfig(gobject-introspection-1.0) +BuildRequires: pkgconfig(python) + +%description +libgexiv2 is a GObject-based wrapper around the Exiv2 library. +It makes the basic features of Exiv2 available to GNOME applications. + +%package devel +Summary: Headers for developing programs that will use gexiv2 +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description devel +This package contains the libraries and header files needed for +developing with gexiv2. + +%package -n python-gexiv2 +Summary: Python3 bindings for gexiv2 +Requires: %{name}%{?_isa} = %{version}-%{release} +Provides: python3-gexiv2 = %{version}-%{release} + +%description -n python-gexiv2 +This package contains the python3 bindings for gexiv2. + +%files +%license COPYING +%{_libdir}/libgexiv2.so.2* +%dir %{_libdir}/girepository-1.0 +%{_libdir}/girepository-1.0/GExiv2-0.10.typelib + +%files devel +%{_includedir}/gexiv2/ +%{_libdir}/libgexiv2.so +%{_libdir}/pkgconfig/gexiv2.pc +%dir %{_datadir}/gir-1.0 +%{_datadir}/gir-1.0/GExiv2-0.10.gir +%dir %{_datadir}/vala +%dir %{_datadir}/vala/vapi +%{_datadir}/vala/vapi/gexiv2.deps +%{_datadir}/vala/vapi/gexiv2.vapi + +%files -n python-gexiv2 +%pycached %{python3_sitelib}/gi/overrides/GExiv2.py + +%changelog +%autochangelog From 28829e82e24c64d269977b1ea333d150458fc6e8 Mon Sep 17 00:00:00 2001 From: purofle Date: Fri, 20 Mar 2026 17:25:15 +0800 Subject: [PATCH 3/4] SPECS: add gegl. Signed-off-by: purofle --- SPECS/gegl/gegl.spec | 87 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 SPECS/gegl/gegl.spec diff --git a/SPECS/gegl/gegl.spec b/SPECS/gegl/gegl.spec new file mode 100644 index 0000000000..05c2d07640 --- /dev/null +++ b/SPECS/gegl/gegl.spec @@ -0,0 +1,87 @@ +# SPDX-FileCopyrightText: (C) 2026 Institute of Software, Chinese Academy of Sciences (ISCAS) +# SPDX-FileCopyrightText: (C) 2026 openRuyi Project Contributors +# SPDX-FileContributor: purofle +# +# SPDX-License-Identifier: MulanPSL-2.0 + +Name: gegl +Version: 0.4.68 +Release: %autorelease +Summary: Graph based image processing framework +License: GPL-3.0-or-later AND LGPL-3.0-or-later +URL: https://www.gegl.org +VCS: git:https://gitlab.gnome.org/GNOME/gegl.git +#!RemoteAsset: sha256:5002309b9a701260658e8b3a61540fd5673887cef998338e1992524a33b23ae3 +Source0: https://download.gimp.org/gegl/0.4/gegl-%{version}.tar.xz +BuildSystem: meson + +BuildOption(conf): --auto-features=auto + +BuildRequires: meson +BuildRequires: pkgconfig(babl-0.1) >= 0.1.116 +BuildRequires: pkgconfig(glib-2.0) >= 2.44.0 +BuildRequires: pkgconfig(json-glib-1.0) >= 1.0.0 +BuildRequires: pkgconfig(libjpeg) >= 1.0.0 +BuildRequires: pkgconfig(libpng) >= 1.6.0 +BuildRequires: pkgconfig(gobject-introspection-1.0) >= 1.32.0 +BuildRequires: pkgconfig(gexiv2) < 0.15.0 +BuildRequires: pkgconfig(vapigen) >= 0.20.0 +BuildRequires: pkgconfig(luajit) >= 2.0.4 +BuildRequires: pkgconfig(cairo) +BuildRequires: pkgconfig(pango) + +%description +GEGL (Generic Graphics Library) is a graph based image processing framework. +GEGLs original design was made to scratch GIMP's itches for a new +compositing and processing core. This core is being designed to have +minimal dependencies and a simple well defined API. + +%package devel +Summary: Development files for gegl +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description devel +The gegl-devel package contains libraries and header files for +developing applications that use GEGL. + +%package tools +Summary: Command line tools for gegl +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description tools +The gegl-tools package contains tools for the command line that use the +GEGL library. + +%install -a +rm -rf $RPM_BUILD_ROOT%{_datadir}/locale/*@* +%find_lang %{name}-0.4 --generate-subpackages + +%files -f %{name}-0.4.lang +%license COPYING +%{_libdir}/libgegl-0.4.so.* +%{_libdir}/gegl-0.4/ +%{_libdir}/girepository-1.0/Gegl-0.4.typelib +%{_libdir}/libgegl-npd-0.4.so +%{_libdir}/libgegl-sc-0.4.so +%dir %{_datadir}/gegl-0.4/ +%{_datadir}/gegl-0.4/lua/ + +%files devel +%{_includedir}/gegl-0.4/ +%{_libdir}/libgegl-0.4.so +%{_libdir}/pkgconfig/gegl-0.4.pc +%{_libdir}/pkgconfig/gegl-sc-0.4.pc +%dir %{_datadir}/gir-1.0 +%{_datadir}/gir-1.0/Gegl-0.4.gir +%dir %{_datadir}/vala +%dir %{_datadir}/vala/vapi +%{_datadir}/vala/vapi/gegl-0.4.deps +%{_datadir}/vala/vapi/gegl-0.4.vapi + + +%files tools +%{_bindir}/gegl +%{_bindir}/gegl-imgcmp + +%changelog +%autochangelog From 5adff70dca9c36922ee585d3620c2e1f16d971f6 Mon Sep 17 00:00:00 2001 From: purofle Date: Fri, 20 Mar 2026 17:40:29 +0800 Subject: [PATCH 4/4] SPECS: add gimp. Signed-off-by: purofle --- SPECS/gimp/gimp.spec | 220 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 220 insertions(+) create mode 100644 SPECS/gimp/gimp.spec diff --git a/SPECS/gimp/gimp.spec b/SPECS/gimp/gimp.spec new file mode 100644 index 0000000000..90cd5c233a --- /dev/null +++ b/SPECS/gimp/gimp.spec @@ -0,0 +1,220 @@ +# SPDX-FileCopyrightText: (C) 2026 Institute of Software, Chinese Academy of Sciences (ISCAS) +# SPDX-FileCopyrightText: (C) 2026 openRuyi Project Contributors +# SPDX-FileContributor: purofle +# +# SPDX-License-Identifier: MulanPSL-2.0 + +%global api_version 3.0 +%global bin_version 3.2 + +Name: gimp +Version: 3.2.0 +Release: %autorelease +Summary: GNU Image Manipulation Program +License: LGPL-3.0-or-later AND GPL-2.0-or-later AND GPL-3.0-or-later AND BSD-3-Clause AND CC-BY-SA-3.0 AND CC-BY-SA-4.0 AND CC0-1.0 +URL: https://www.gimp.org +VCS: git:https://gitlab.gnome.org/GNOME/gimp.git +#!RemoteAsset: sha256:2618391416e51be3c693df9ef90e3860ed72ab3d36363ea1f196e30b75b2e083 +Source0: https://download.gimp.org/gimp/v3.2/gimp-%{version}.tar.xz +BuildSystem: meson + +BuildOption(conf): -Denable-default-bin=enabled +# We don't have the dependencies in openRuyi +BuildOption(conf): -Daa=disabled +BuildOption(conf): -Dxpm=disabled +BuildOption(conf): -Dilbm=disabled +BuildOption(conf): -Dmng=disabled +BuildOption(conf): -Dwmf=disabled +BuildOption(conf): -Dfits=disabled +# We don't have xvfb-run +BuildOption(conf): -Dheadless-tests=disabled +# Needs network access +BuildOption(conf): -Dappdata-test=disabled +# The libgimp image/export tests require an installed system font +BuildOption(check): --no-suite libgimp + +BuildRequires: meson +BuildRequires: vala +BuildRequires: libxslt +BuildRequires: gi-docgen +BuildRequires: glib-networking +BuildRequires: ghostscript-devel +BuildRequires: openexr-devel +BuildRequires: alsa-lib-devel +BuildRequires: pkgconfig(atk) >= 2.4.0 +BuildRequires: pkgconfig(babl-0.1) >= 0.1.118 +BuildRequires: pkgconfig(cairo) >= 1.14.0 +BuildRequires: pkgconfig(fontconfig) >= 2.12.4 +BuildRequires: pkgconfig(freetype2) >= 2.1.7 +BuildRequires: pkgconfig(gdk-pixbuf-2.0) >= 2.30.8 +BuildRequires: pkgconfig(gegl-0.4) >= 0.4.66 +BuildRequires: pkgconfig(exiv2) >= 0.27.4 +BuildRequires: pkgconfig(gexiv2) >= 0.14.0 +BuildRequires: pkgconfig(gio-2.0) +BuildRequires: pkgconfig(gio-unix-2.0) +BuildRequires: pkgconfig(glib-2.0) >= 2.70.0 +BuildRequires: pkgconfig(gobject-2.0) >= 2.70.0 +BuildRequires: pkgconfig(gmodule-no-export-2.0) +BuildRequires: pkgconfig(gobject-introspection-1.0) +BuildRequires: pkgconfig(gtk+-3.0) >= 3.24.0 +BuildRequires: pkgconfig(gdk-3.0) +BuildRequires: pkgconfig(harfbuzz) >= 2.8.2 +BuildRequires: pkgconfig(json-glib-1.0) >= 1.2.6 +BuildRequires: pkgconfig(lcms2) >= 2.8 +BuildRequires: pkgconfig(libmypaint) >= 1.5.0 +BuildRequires: pkgconfig(mypaint-brushes-2.0) +BuildRequires: pkgconfig(pango) >= 1.50.0 +BuildRequires: pkgconfig(pangocairo) >= 1.50.0 +BuildRequires: pkgconfig(pangoft2) >= 1.50.0 +BuildRequires: pkgconfig(librsvg-2.0) >= 2.40.6 +BuildRequires: pkgconfig(appstream) >= 0.16.1 +BuildRequires: pkgconfig(libarchive) +BuildRequires: pkgconfig(bzip2) +BuildRequires: pkgconfig(liblzma) +BuildRequires: pkgconfig(libwebp) +BuildRequires: pkgconfig(libheif) +BuildRequires: pkgconfig(zlib) +BuildRequires: pkgconfig(xmu) +BuildRequires: pkgconfig(shared-mime-info) +BuildRequires: pkgconfig(poppler) +BuildRequires: pkgconfig(poppler-data) +BuildRequires: pkgconfig(libjxl) +BuildRequires: pkgconfig(gudev-1.0) +BuildRequires: pkgconfig(bash-completion) +BuildRequires: python3dist(pygobject) +Requires: glib-networking +Requires: %{name}-libs%{?_isa} = %{version}-%{release} +Requires: python3dist(pygobject) +Requires: mypaint-brushes + +%install -a +# install default binary symlinks +ln -snf gimp-%{bin_version} %{buildroot}%{_bindir}/gimp +ln -snf gimp-%{bin_version}.1 %{buildroot}%{_mandir}/man1/gimp.1 +ln -snf gimp-console-%{bin_version} %{buildroot}/%{_bindir}/gimp-console +ln -snf gimp-console-%{bin_version}.1 %{buildroot}/%{_mandir}/man1/gimp-console.1 +ln -snf gimptool-%{bin_version} %{buildroot}%{_bindir}/gimptool +ln -snf gimptool-%{bin_version}.1 %{buildroot}%{_mandir}/man1/gimptool.1 +ln -snf gimprc-%{bin_version}.5 %{buildroot}/%{_mandir}/man5/gimprc.5 + +%find_lang %{name}30 +%find_lang %{name}30-std-plug-ins +%find_lang %{name}30-script-fu +%find_lang %{name}30-libgimp +%find_lang %{name}30-python + +cat gimp30.lang gimp30-std-plug-ins.lang gimp30-script-fu.lang gimp30-libgimp.lang gimp30-python.lang > gimp-all.lang + +find %{buildroot}%{_libdir}/gimp/%{api_version} -type f | sed "s@^%{buildroot}@@g" | grep -v '\.a$' > gimp-plugin-files +find %{buildroot}%{_libdir}/gimp/%{api_version}/* -type d | sed "s@^%{buildroot}@%%dir @g" >> gimp-plugin-files + +cat gimp-all.lang gimp-plugin-files > gimp.files + +rm -rf devel-docs/gimp-%{api_version} +mv %{buildroot}%{_docdir}/gimp-%{api_version} devel-docs + +%description +GIMP (GNU Image Manipulation Program) is a powerful image composition and +editing program, which can be extremely useful for creating logos and other +graphics for web pages. GIMP has many of the tools and filters you would expect +to find in similar commercial offerings, and some interesting extras as well. +GIMP provides a large image manipulation toolbox, including channel operations +and layers, effects, sub-pixel imaging and anti-aliasing, and conversions, all +with multi-level undo. + +%package libs +Summary: GIMP runtime libraries + +%description libs +The gimp-libs package contains runtime libraries used by GIMP and GIMP plug-ins. + +%package devel +Summary: GIMP development files +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{version}-%{release} + +%description devel +The gimp-devel package contains the files needed for writing GNU Image +Manipulation Program (GIMP) plug-ins and extensions. + +%files devel +%{_bindir}/gimptool +%{_bindir}/gimptool-3 +%{_bindir}/gimptool-%{bin_version} +%{_includedir}/gimp-3.0 +%{_libdir}/libgimp*.so +%{_libdir}/pkgconfig/gimp*.pc +%dir %{_datadir}/gir-1.0 +%{_datadir}/gir-1.0/Gimp*.gir +%dir %{_datadir}/vala +%dir %{_datadir}/vala/vapi +%{_datadir}/vala/vapi/gimp*.deps +%{_datadir}/vala/vapi/gimp*.vapi +%{_mandir}/man1/gimptool.1* +%{_mandir}/man1/gimptool-3.1* +%{_mandir}/man1/gimptool-%{bin_version}.1* + +%files libs +%{_libdir}/libgimp*.so.* +%{_libdir}/girepository-1.0/Gimp*.typelib + +%files -f gimp.files +%license LICENSE COPYING +%doc AUTHORS NEWS README +%{_bindir}/gimp +%{_bindir}/gimp-script-fu-interpreter-%{api_version} +%{_bindir}/gimp-test-clipboard +%{_bindir}/gimp-test-clipboard-3 +%{_bindir}/gimp-test-clipboard-%{bin_version} +%{_datadir}/applications/*.desktop +%{_datadir}/bash-completion/completions/gimp-%{bin_version} +%dir %{_datadir}/gimp +%{_datadir}/gimp/%{api_version}/dynamics/ +%{_datadir}/gimp/%{api_version}/file-raw/ +%{_datadir}/gimp/%{api_version}/menus/ +%{_datadir}/gimp/%{api_version}/tags/ +%{_datadir}/gimp/%{api_version}/tips/ +%{_datadir}/gimp/%{api_version}/tool-presets/ +%{_datadir}/gimp/%{api_version}/brushes/ +%{_datadir}/gimp/%{api_version}/fractalexplorer/ +%{_datadir}/gimp/%{api_version}/gfig/ +%{_datadir}/gimp/%{api_version}/gflare/ +%{_datadir}/gimp/%{api_version}/gimpressionist/ +%{_datadir}/gimp/%{api_version}/gradients/ +%{_datadir}/gimp/%{api_version}/icons/ +%{_datadir}/gimp/%{api_version}/images/ +%{_datadir}/gimp/%{api_version}/palettes/ +%{_datadir}/gimp/%{api_version}/patterns/ +%{_datadir}/gimp/%{api_version}/scripts/ +%{_datadir}/gimp/%{api_version}/themes/ +%{_datadir}/gimp/%{api_version}/gimp-release +%dir %{_sysconfdir}/gimp +%dir %{_sysconfdir}/gimp/%{api_version} +%config(noreplace) %{_sysconfdir}/gimp/%{api_version}/controllerrc +%config(noreplace) %{_sysconfdir}/gimp/%{api_version}/gimp.css +%config(noreplace) %{_sysconfdir}/gimp/%{api_version}/gimprc +%config(noreplace) %{_sysconfdir}/gimp/%{api_version}/unitrc +%config(noreplace) %{_sysconfdir}/gimp/%{api_version}/sessionrc +%config(noreplace) %{_sysconfdir}/gimp/%{api_version}/templaterc +%config(noreplace) %{_sysconfdir}/gimp/%{api_version}/toolrc +%{_bindir}/gimp-%{bin_version} +%{_bindir}/gimp-console-%{bin_version} +%{_bindir}/gimp-console +%{_bindir}/gimp-3 +%{_bindir}/gimp-console-3 +%{_libexecdir}/gimp-debug-tool +%{_libexecdir}/gimp-debug-tool-3 +%{_libexecdir}/gimp-debug-tool-%{bin_version} +%{_datadir}/icons/hicolor/*/apps/gimp.png +%{_datadir}/icons/hicolor/scalable/apps/gimp.svg +%{_datadir}/metainfo/org.gimp.GIMP.appdata.xml +%{_mandir}/man1/gimp.1* +%{_mandir}/man1/gimp-3.1* +%{_mandir}/man1/gimp-%{bin_version}.1* +%{_mandir}/man1/gimp-console.1* +%{_mandir}/man1/gimp-console-3.1* +%{_mandir}/man1/gimp-console-%{bin_version}.1* +%{_mandir}/man5/gimprc*.5* + +%changelog +%autochangelog