diff --git a/SPECS/libexif/libexif.spec b/SPECS/libexif/libexif.spec new file mode 100644 index 0000000000..c59feae8b8 --- /dev/null +++ b/SPECS/libexif/libexif.spec @@ -0,0 +1,71 @@ +# SPDX-FileCopyrightText: (C) 2026 Institute of Software, Chinese Academy of Sciences (ISCAS) +# SPDX-FileCopyrightText: (C) 2026 openRuyi Project Contributors +# SPDX-FileContributor: panglars +# +# SPDX-License-Identifier: MulanPSL-2.0 + +Name: libexif +Version: 0.6.26 +Release: %autorelease +Summary: Library for parsing, editing, and saving EXIF data +License: LGPL-2.0-or-later +URL: https://libexif.github.io/ +VCS: git:https://github.com/libexif/libexif.git +#!RemoteAsset: sha256:4a055ed6575e61ca46c3172be3c753cc16c9becd0f99ec71d58dd0e471476c0c +Source0: https://github.com/libexif/libexif/releases/download/v%{version}/%{name}-%{version}.tar.xz +BuildSystem: autotools + +BuildOption(conf): --disable-docs +BuildOption(conf): --disable-static + +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: diffutils +BuildRequires: gettext-devel +BuildRequires: libtool +BuildRequires: make + +%description +libexif is a library for parsing, editing, and saving EXIF data. It is +intended to replace redundant EXIF implementations in command-line utilities +and graphical applications. + +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description devel +The %{name}-devel package contains the libraries and header files needed for +developing applications that use %{name}. + +%conf -p +autoreconf -fiv + +%check +%make_build check + +%install -a +rm -f %{buildroot}%{_libdir}/*.a +rm -f %{buildroot}%{_libdir}/*.la +%find_lang libexif-12 --all-name --generate-subpackages +find %{buildroot}%{_datadir}/locale -path '*/LC_MESSAGES/libexif-12.mo' \ + | sed -n 's#^%{buildroot}%{_datadir}/locale/\(en[^/]*\)/LC_MESSAGES/libexif-12.mo$#%lang(\1) %{_datadir}/locale/\1/LC_MESSAGES/libexif-12.mo#p' \ + > %{name}-english.lang + +%files -f %{name}-english.lang +%doc %{_docdir}/libexif/ABOUT-NLS +%doc %{_docdir}/libexif/AUTHORS +%doc %{_docdir}/libexif/ChangeLog +%doc %{_docdir}/libexif/NEWS +%doc %{_docdir}/libexif/README +%doc %{_docdir}/libexif/SECURITY.md +%license %{_docdir}/libexif/COPYING +%{_libdir}/libexif.so.* + +%files devel +%{_includedir}/libexif/ +%{_libdir}/libexif.so +%{_libdir}/pkgconfig/libexif.pc + +%changelog +%autochangelog diff --git a/SPECS/libfm-extra/libfm-extra.spec b/SPECS/libfm-extra/libfm-extra.spec new file mode 100644 index 0000000000..e2c9c7710d --- /dev/null +++ b/SPECS/libfm-extra/libfm-extra.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: panglars +# +# SPDX-License-Identifier: MulanPSL-2.0 + +Name: libfm-extra +Version: 1.3.2 +Release: %autorelease +Summary: Extra library from the LibFM file manager framework +License: LGPL-2.1-or-later +URL: https://sourceforge.net/projects/pcmanfm/ +VCS: git:https://github.com/lxde/libfm.git +#!RemoteAsset: sha256:a5042630304cf8e5d8cff9d565c6bd546f228b48c960153ed366a34e87cad1e5 +Source0: https://downloads.sourceforge.net/project/pcmanfm/PCManFM%20%2B%20Libfm%20%28tarball%20release%29/LibFM/libfm-%{version}.tar.xz +BuildSystem: autotools + +BuildOption(prep): -n libfm-%{version} +BuildOption(conf): --with-extra-only +BuildOption(conf): --disable-static +BuildOption(conf): --disable-gtk-doc + +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: gettext +BuildRequires: gtk-doc +BuildRequires: intltool +BuildRequires: libtool +BuildRequires: make +BuildRequires: pkgconfig +BuildRequires: pkgconfig(gio-unix-2.0) +BuildRequires: pkgconfig(glib-2.0) >= 2.22.0 +BuildRequires: pkgconfig(gobject-2.0) +BuildRequires: pkgconfig(gthread-2.0) + +%description +libfm-extra is the standalone extra library from LibFM. It provides XML helper +APIs used by LibFM-based file manager components without building the full +LibFM stack. + +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description devel +Development files for %{name}. + +%conf -p +autoreconf -fiv + +%install -a +find %{buildroot} -name '*.la' -delete + +%files +%doc AUTHORS NEWS README +%license COPYING +%{_libdir}/libfm-extra.so.* + +%files devel +%{_includedir}/libfm +%{_includedir}/libfm-1.0/ +%{_libdir}/libfm-extra.so +%{_libdir}/pkgconfig/libfm-extra.pc + +%changelog +%autochangelog diff --git a/SPECS/libfm-qt/libfm-qt.spec b/SPECS/libfm-qt/libfm-qt.spec new file mode 100644 index 0000000000..c2c1fc250b --- /dev/null +++ b/SPECS/libfm-qt/libfm-qt.spec @@ -0,0 +1,77 @@ +# SPDX-FileCopyrightText: (C) 2026 Institute of Software, Chinese Academy of Sciences (ISCAS) +# SPDX-FileCopyrightText: (C) 2026 openRuyi Project Contributors +# SPDX-FileContributor: panglars +# +# SPDX-License-Identifier: MulanPSL-2.0 + +Name: libfm-qt +Version: 2.4.0 +Release: %autorelease +Summary: Qt library for file manager development +License: LGPL-2.1-or-later AND BSD-3-Clause +URL: https://github.com/lxqt/libfm-qt +VCS: git:https://github.com/lxqt/libfm-qt.git +#!RemoteAsset: sha256:72766d7b41fd1aa06c0a7ef8be015205506ff75963b977e5307994555dcc023b +Source0: https://github.com/lxqt/libfm-qt/releases/download/%{version}/libfm-qt-%{version}.tar.xz +BuildSystem: cmake + +BuildRequires: cmake +BuildRequires: gcc-c++ +BuildRequires: qt6-linguist +BuildRequires: qt6-qtbase-private-devel +BuildRequires: cmake(Qt6LinguistTools) >= 6.6.0 +BuildRequires: cmake(Qt6Widgets) >= 6.6.0 +BuildRequires: cmake(lxqt-menu-data) >= 2.4.0 +BuildRequires: cmake(lxqt2-build-tools) >= 2.4.0 +BuildRequires: pkgconfig(gio-2.0) >= 2.50.0 +BuildRequires: pkgconfig(gio-unix-2.0) >= 2.50.0 +BuildRequires: pkgconfig(glib-2.0) >= 2.50.0 +BuildRequires: pkgconfig(gobject-2.0) >= 2.50.0 +BuildRequires: pkgconfig(gthread-2.0) >= 2.50.0 +BuildRequires: pkgconfig(libexif) +BuildRequires: pkgconfig(libmenu-cache) >= 1.1.0 +BuildRequires: pkgconfig(xcb) + +Requires: lxqt-menu-data >= 2.4.0 + +%description +libfm-qt is the Qt port of libfm. It provides components used to build +desktop file managers and related file management utilities. + +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: cmake(Qt6Widgets) +Requires: pkgconfig(gio-2.0) >= 2.50.0 +Requires: pkgconfig(gio-unix-2.0) >= 2.50.0 +Requires: pkgconfig(glib-2.0) >= 2.50.0 +Requires: pkgconfig(gobject-2.0) >= 2.50.0 +Requires: pkgconfig(gthread-2.0) >= 2.50.0 +Requires: pkgconfig(libexif) +Requires: pkgconfig(libmenu-cache) >= 1.1.0 +Requires: pkgconfig(xcb) + +%description devel +Development files for libfm-qt. + +%install -a +%find_lang %{name} --generate-subpackages --with-qt + +%files -f %{name}.lang +%doc AUTHORS CHANGELOG README.md +%license LICENSE LICENSE.BSD-3-Clause +%{_libdir}/libfm-qt6.so.17* +%dir %{_datadir}/libfm-qt6 +%dir %{_datadir}/libfm-qt6/translations +%{_datadir}/libfm-qt6/archivers.list +%{_datadir}/libfm-qt6/terminals.list +%{_datadir}/mime/packages/libfm-qt6-mimetypes.xml + +%files devel +%{_includedir}/libfm-qt6/ +%{_libdir}/libfm-qt6.so +%{_libdir}/pkgconfig/libfm-qt6.pc +%{_datadir}/cmake/fm-qt6/ + +%changelog +%autochangelog diff --git a/SPECS/lxqt-build-tools/lxqt-build-tools.spec b/SPECS/lxqt-build-tools/lxqt-build-tools.spec new file mode 100644 index 0000000000..da32110653 --- /dev/null +++ b/SPECS/lxqt-build-tools/lxqt-build-tools.spec @@ -0,0 +1,37 @@ +# SPDX-FileCopyrightText: (C) 2026 Institute of Software, Chinese Academy of Sciences (ISCAS) +# SPDX-FileCopyrightText: (C) 2026 openRuyi Project Contributors +# SPDX-FileContributor: panglars +# +# SPDX-License-Identifier: MulanPSL-2.0 + +Name: lxqt-build-tools +Version: 2.4.0 +Release: %autorelease +Summary: Build tools for LXQt packages +License: BSD-3-Clause +URL: https://lxqt-project.org/ +VCS: git:https://github.com/lxqt/lxqt-build-tools.git +#!RemoteAsset: sha256:14999ff954e820a23af44389b9f7c65f9e58b2f1c0a559f0badd38f9b459aee6 +Source0: https://github.com/lxqt/lxqt-build-tools/releases/download/%{version}/lxqt-build-tools-%{version}.tar.xz +BuildArch: noarch +BuildSystem: cmake + +BuildRequires: cmake +BuildRequires: gcc-c++ +BuildRequires: pkgconfig(Qt6Core) + +Requires: cmake +Requires: qt6-linguist + +%description +LXQt Build Tools provides tools and CMake modules used to build LXQt itself +and other components maintained by the LXQt project. + +%files +%doc CHANGELOG README.md +%license BSD-3-Clause +%{_bindir}/lxqt2-transupdate +%{_datadir}/cmake/lxqt2-build-tools/ + +%changelog +%autochangelog diff --git a/SPECS/lxqt-menu-data/lxqt-menu-data.spec b/SPECS/lxqt-menu-data/lxqt-menu-data.spec new file mode 100644 index 0000000000..7b2a4f2bcb --- /dev/null +++ b/SPECS/lxqt-menu-data/lxqt-menu-data.spec @@ -0,0 +1,49 @@ +# SPDX-FileCopyrightText: (C) 2026 Institute of Software, Chinese Academy of Sciences (ISCAS) +# SPDX-FileCopyrightText: (C) 2026 openRuyi Project Contributors +# SPDX-FileContributor: panglars +# +# SPDX-License-Identifier: MulanPSL-2.0 + +Name: lxqt-menu-data +Version: 2.4.0 +Release: %autorelease +Summary: Menu files for LXQt Panel, Configuration Center and PCManFM-Qt +License: LGPL-2.1-or-later +URL: https://github.com/lxqt/lxqt-menu-data +VCS: git:https://github.com/lxqt/lxqt-menu-data.git +#!RemoteAsset: sha256:3487e47562dc19e63358a50c81e51cd0cf1a020397943cadd8db35daeb4866cc +Source0: https://github.com/lxqt/lxqt-menu-data/releases/download/%{version}/%{name}-%{version}.tar.xz +BuildArch: noarch +BuildSystem: cmake + +BuildRequires: cmake +BuildRequires: gcc-c++ +BuildRequires: cmake(Qt6LinguistTools) +BuildRequires: cmake(lxqt2-build-tools) >= 2.4.0 +BuildRequires: perl + +%description +Freedesktop.org compliant menu files for LXQt Panel, Configuration Center +and PCManFM-Qt/libfm-qt. + +%package devel +Summary: CMake files for lxqt-menu-data +Requires: %{name} = %{version}-%{release} + +%description devel +This package provides CMake files for projects that use lxqt-menu-data +as a build-time dependency. + +%files +%doc CHANGELOG README.md +%license LICENSE +%dir %{_sysconfdir}/xdg/menus +%config(noreplace) %{_sysconfdir}/xdg/menus/lxqt-*.menu +%dir %{_datadir}/desktop-directories +%{_datadir}/desktop-directories/lxqt-*.directory + +%files devel +%{_datadir}/cmake/lxqt-menu-data/ + +%changelog +%autochangelog diff --git a/SPECS/menu-cache/menu-cache.spec b/SPECS/menu-cache/menu-cache.spec new file mode 100644 index 0000000000..f5ea6e624f --- /dev/null +++ b/SPECS/menu-cache/menu-cache.spec @@ -0,0 +1,65 @@ +# SPDX-FileCopyrightText: (C) 2026 Institute of Software, Chinese Academy of Sciences (ISCAS) +# SPDX-FileCopyrightText: (C) 2026 openRuyi Project Contributors +# SPDX-FileContributor: panglars +# +# SPDX-License-Identifier: MulanPSL-2.0 + +Name: menu-cache +Version: 1.1.1 +Release: %autorelease +Summary: Caching mechanism for freedesktop.org compliant menus +License: LGPL-2.1-or-later +URL: https://github.com/lxde/menu-cache +VCS: git:https://github.com/lxde/menu-cache.git +#!RemoteAsset: sha256:e8af90467df271c3c8700c840ca470ca2915699c6f213c502a87d74608748f08 +Source0: https://github.com/lxde/%{name}/archive/%{version}/%{name}-%{version}.tar.gz +BuildSystem: autotools + +BuildOption(conf): --disable-static + +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: gtk-doc +BuildRequires: libtool +BuildRequires: make +BuildRequires: pkgconfig(gio-2.0) +BuildRequires: pkgconfig(glib-2.0) +BuildRequires: pkgconfig(libfm-extra) + +%description +Menu-cache is a caching mechanism for freedesktop.org compliant menus that +speeds up parsing of menu entries. It is used by LXDE components such as +LXPanel and LXLauncher. + +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: pkgconfig(glib-2.0) + +%description devel +The %{name}-devel package contains headers, pkgconfig metadata, and linker +files for developing applications that use %{name}. + +%conf -p +# GitHub tag archives do not include gtk-doc helper files needed by autoreconf. +mkdir -p m4 +gtkdocize --copy +autoreconf -fiv + +%install -a +rm -f %{buildroot}%{_libdir}/*.la + +%files +%doc AUTHORS NEWS README +%license COPYING +%{_libexecdir}/menu-cache/menu-cache-gen +%{_libexecdir}/menu-cache/menu-cached +%{_libdir}/libmenu-cache.so.* + +%files devel +%{_includedir}/menu-cache/ +%{_libdir}/libmenu-cache.so +%{_libdir}/pkgconfig/libmenu-cache.pc + +%changelog +%autochangelog diff --git a/SPECS/pcmanfm-qt/pcmanfm-qt.spec b/SPECS/pcmanfm-qt/pcmanfm-qt.spec new file mode 100644 index 0000000000..66c7ffa48d --- /dev/null +++ b/SPECS/pcmanfm-qt/pcmanfm-qt.spec @@ -0,0 +1,61 @@ +# SPDX-FileCopyrightText: (C) 2026 Institute of Software, Chinese Academy of Sciences (ISCAS) +# SPDX-FileCopyrightText: (C) 2026 openRuyi Project Contributors +# SPDX-FileContributor: panglars +# +# SPDX-License-Identifier: MulanPSL-2.0 + +Name: pcmanfm-qt +Version: 2.4.0 +Release: %autorelease +Summary: Qt file manager and desktop handler for LXQt +License: GPL-2.0-or-later +URL: https://github.com/lxqt/pcmanfm-qt +VCS: git:https://github.com/lxqt/pcmanfm-qt.git +#!RemoteAsset: sha256:53fb1acf5a818300487ceffabc5b768034fa4dee956b9d1bc0019bb456b48daf +Source0: https://github.com/lxqt/pcmanfm-qt/releases/download/%{version}/pcmanfm-qt-%{version}.tar.xz +BuildSystem: cmake + +BuildRequires: cmake +BuildRequires: desktop-file-utils +BuildRequires: gcc-c++ +BuildRequires: qt6-linguist +BuildRequires: qt6-qtbase-private-devel +BuildRequires: cmake(LayerShellQt) >= 6.0.0 +BuildRequires: cmake(Qt6DBus) >= 6.6.0 +BuildRequires: cmake(Qt6LinguistTools) >= 6.6.0 +BuildRequires: cmake(Qt6Widgets) >= 6.6.0 +BuildRequires: cmake(fm-qt6) >= 2.4.0 +BuildRequires: cmake(lxqt2-build-tools) >= 2.4.0 + +Requires: layer-shell-qt >= 6.0.0 +Requires: libfm-qt >= 2.4.0 + +%description +PCManFM-Qt is a Qt-based file manager and desktop handler. It is the Qt port +of PCManFM and can be used by LXQt or independently in other desktop +environments. + +%install -a +%find_lang %{name} --generate-subpackages --with-qt + +%check +desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop +desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}-desktop-pref.desktop +desktop-file-validate %{buildroot}%{_sysconfdir}/xdg/autostart/lxqt-desktop.desktop + +%files -f %{name}.lang +%doc AUTHORS CHANGELOG README.md +%license LICENSE +%{_bindir}/pcmanfm-qt +%{_datadir}/applications/pcmanfm-qt.desktop +%{_datadir}/applications/pcmanfm-qt-desktop-pref.desktop +%{_datadir}/icons/hicolor/scalable/apps/pcmanfm-qt.svg +%dir %{_datadir}/pcmanfm-qt +%dir %{_datadir}/pcmanfm-qt/lxqt +%{_datadir}/pcmanfm-qt/lxqt/settings.conf +%dir %{_datadir}/pcmanfm-qt/translations +%{_mandir}/man1/pcmanfm-qt.1* +%config(noreplace) %{_sysconfdir}/xdg/autostart/lxqt-desktop.desktop + +%changelog +%autochangelog