From ace39aad489f97b120f044462514cdfa277607bd Mon Sep 17 00:00:00 2001
From: Sebastião Guerra <sebastiao.luiz.guerra@gmail.com>
Date: Tue, 22 Sep 2026 06:25:10 -0300
Subject: RPM libr: update packaging for TDE master
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

RPM libr: update packaging for TDE master

Consolidate the final validated packaging changes for libr from the Tumbleweed build series.

Original commits represented: 1.

Signed-off-by: Sebastião Guerra <sebastiao.luiz.guerra@gmail.com>
---
 .../dependencies/libr/libr-link-dependencies.patch |  17 +++
 redhat/dependencies/libr/libr.spec                 | 115 +++++++++++++++++++++
 2 files changed, 132 insertions(+)
 create mode 100644 redhat/dependencies/libr/libr-link-dependencies.patch
 create mode 100644 redhat/dependencies/libr/libr.spec

diff --git a/redhat/dependencies/libr/libr-link-dependencies.patch b/redhat/dependencies/libr/libr-link-dependencies.patch
new file mode 100644
index 000000000..93afcc417
--- /dev/null
+++ b/redhat/dependencies/libr/libr-link-dependencies.patch
@@ -0,0 +1,17 @@
+--- a/ConfigureChecks.cmake
++++ b/ConfigureChecks.cmake
+@@ -53,3 +53,13 @@
+     endif( HAVE_LIBIBERTY_H )
+-
++
++    check_library_exists( sframe sframe_decode "" HAVE_SFRAME )
++    if( HAVE_SFRAME )
++        list( APPEND BACKEND_LIBRARIES "-lsframe" )
++    endif( HAVE_SFRAME )
++
++    check_library_exists( zstd ZSTD_compress "" HAVE_ZSTD )
++    if( HAVE_ZSTD )
++        list( APPEND BACKEND_LIBRARIES "-lzstd" )
++    endif( HAVE_ZSTD )
++
+ elseif( WITH_BACKEND_LIBELF )
diff --git a/redhat/dependencies/libr/libr.spec b/redhat/dependencies/libr/libr.spec
new file mode 100644
index 000000000..d4304bcb4
--- /dev/null
+++ b/redhat/dependencies/libr/libr.spec
@@ -0,0 +1,115 @@
+#
+# spec file for package libr (version R14)
+#
+# Copyright (c) 2026 Trinity Desktop Environment packaging contributors
+#
+
+%define tde_epoch 2
+%if "%{?tde_version}" == ""
+%define tde_version 14.2.0
+%endif
+%define tde_pkg libr
+%define tde_prefix /opt/trinity
+%define tde_bindir %{tde_prefix}/bin
+%define tde_datadir %{tde_prefix}/share
+%define tde_includedir %{tde_prefix}/include
+%define tde_libdir %{tde_prefix}/%{_lib}
+%define tde_mandir %{tde_datadir}/man
+
+Name:           trinity-%{tde_pkg}
+Epoch:          %{tde_epoch}
+Version:        0.7.0
+Release:        %{?!preversion:1}%{?preversion:0_%{preversion}}%{?dist}
+Summary:        ELF resource manager library
+Group:          System/Libraries
+URL:            http://www.trinitydesktop.org/
+License:        GPL-2.0-or-later
+Prefix:         %{tde_prefix}
+BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+
+Source0:        %{name}-%{tde_version}%{?preversion:~%{preversion}}.tar.gz
+Patch0:         libr-link-dependencies.patch
+
+BuildRequires:  trinity-tde-cmake >= %{tde_version}
+BuildRequires:  binutils-devel
+BuildRequires:  doxygen
+BuildRequires:  gcc-c++
+BuildRequires:  libzstd-devel
+%if 0%{?suse_version}
+BuildRequires:  zlib-ng-compat-devel
+%else
+BuildRequires:  zlib-devel
+%endif
+
+%description
+libr is an ELF resource manager library.  The default build uses the
+libbfd backend; libelf and GTK backends are optional upstream features and
+are not enabled by this package.
+
+%package -n %{name}1
+Summary:        ELF resource manager library runtime
+Group:          System/Libraries
+
+%description -n %{name}1
+Runtime library for libr.
+
+%post -n %{name}1
+/sbin/ldconfig
+
+%postun -n %{name}1
+/sbin/ldconfig
+
+%files -n %{name}1
+%defattr(-,root,root,-)
+%{tde_libdir}/libr.so.1
+%{tde_libdir}/libr.so.1.0.0
+
+%package devel
+Summary:        Development files for libr
+Group:          Development/Libraries/C and C++
+Requires:       %{name}1 = %{?epoch:%{epoch}:}%{version}-%{release}
+
+%description devel
+Development headers, linker files, pkg-config metadata and manual pages for
+libr.
+
+%files devel
+%defattr(-,root,root,-)
+%{tde_includedir}/libr/
+%{tde_libdir}/libr.a
+%{tde_libdir}/libr.la
+%{tde_libdir}/libr.so
+%{tde_libdir}/pkgconfig/libr.pc
+%{tde_mandir}/man3/
+
+%prep
+%setup -q -n %{name}-%{tde_version}%{?preversion:~%{preversion}}
+%patch 0 -p1
+
+%build
+unset QTDIR QTINC QTLIB
+export PATH="%{tde_bindir}:${PATH}"
+export PKG_CONFIG_PATH="%{tde_libdir}/pkgconfig"
+if ! rpm -E %%cmake|grep -e 'cd build\|cd ${CMAKE_BUILD_DIR:-build}'; then
+  %__mkdir_p build
+  cd build
+fi
+%cmake \
+  -DCMAKE_BUILD_TYPE="RelWithDebInfo" \
+  -DCMAKE_INSTALL_PREFIX="%{tde_prefix}" \
+  -DSHARE_INSTALL_PREFIX="%{tde_datadir}" \
+  -DLIB_INSTALL_DIR="%{tde_libdir}" \
+  -DINCLUDE_INSTALL_DIR="%{tde_includedir}" \
+  -DMAN_INSTALL_DIR="%{tde_mandir}" \
+  -DWITH_BACKEND_LIBBFD=ON \
+  -DWITH_BACKEND_LIBELF=OFF \
+  -DWITH_BACKEND_READONLY=OFF \
+  -DWITH_GTK=OFF \
+  -DBUILD_DOC=ON
+%cmake_build
+
+%install
+%{__rm} -rf %{buildroot}
+%cmake_install
+
+%changelog
-- 
cgit v1.2.3

