summaryrefslogtreecommitdiff
path: root/termpaint.spec
diff options
context:
space:
mode:
authorThomas Schneider <qsx@chaotikum.eu>2023-12-06 22:02:31 +0100
committerThomas Schneider <qsx@chaotikum.eu>2023-12-06 22:02:31 +0100
commit29bc5ac56324c02f94cb4dd1bdd84934aa9d02d3 (patch)
tree31f70262f864dbddbfef165f676d4770511d0094 /termpaint.spec
Initial packaging
Diffstat (limited to 'termpaint.spec')
-rw-r--r--termpaint.spec90
1 files changed, 90 insertions, 0 deletions
diff --git a/termpaint.spec b/termpaint.spec
new file mode 100644
index 0000000..015c9b6
--- /dev/null
+++ b/termpaint.spec
@@ -0,0 +1,90 @@
+%global forgeurl https://github.com/termpaint/termpaint
+%global commit 20d324f4d1bab3665d8a36e9c6ee0062e22962f1
+%forgemeta
+
+Name: termpaint
+Version: 0.3.0
+Release: %autorelease
+Summary: Low level terminal access
+
+# BSD: valgrind support header, termpaint_image uses picojson
+License: Boost and BSD
+URL: %{forgeurl}
+Source0: %{forgesource}
+
+BuildRequires: meson
+BuildRequires: gcc
+BuildRequires: gcc-c++
+BuildRequires: pkgconfig(fmt)
+BuildRequires: pkgconfig(catch2)
+BuildRequires: picojson-static
+BuildRequires: pkgconfig(docopt)
+BuildRequires: python3-sphinx
+Provides: bundled(valgrind) = 3.15
+
+%description
+Termpaint is a low level terminal interface library for character-cell terminals
+in the tradition of VT1xx (like xterm, etc). It is designed to be portable and
+flexible to integrate. It covers event handling and rendering.
+
+
+%package devel
+Summary: Header files for the termpaint library
+Requires: %{name}%{?_isa} = %{version}-%{release}
+
+%description devel
+This package contains the header files and symbolic links need for building
+software using termpaint, as well as the documentation.
+
+
+%prep
+%forgeautosetup
+rm -rf third-party/{catch.hpp,docopt,format.cc,format.h,picojson.h,linux_syscall_support.h}
+
+
+%build
+%meson -Dsystem-docopt=enabled -Dsystem-fmt=enabled -Dsystem-catch2=enabled -Dsystem-picojson=enabled \
+ -Dttyrescue-fexec-blob=false -Dttyrescue-path=%{_libdir}/termpaint/ \
+ -Dttyrescue-install=true -Dtools-path=%{_libdir}/termpaint/
+%meson_build
+cd doc && python3 -m sphinx -b html . _build -a
+
+
+%install
+%meson_install
+mkdir -p %{buildroot}%{_pkgdocdir}/html
+cp -r doc/_build/. %{buildroot}%{_pkgdocdir}/html
+rm -rf %{buildroot}%{_pkgdocdir}/html/.doctrees
+rm -f %{buildroot}%{_pkgdocdir}/html/.buildinfo
+
+
+%check
+%meson_test
+
+
+%files
+%doc README.md
+%license COPYING
+%{_libdir}/libtermpaint.so.0a
+%{_libdir}/libtermpaint_image.so.0a
+%{_libdir}/termpaint/detect
+%{_libdir}/termpaint/inputevents
+%{_libdir}/termpaint/ttyrescue
+
+%files devel
+%{_libdir}/libtermpaint.so
+%{_libdir}/libtermpaint_image.so
+%{_libdir}/pkgconfig/termpaint.pc
+%{_libdir}/pkgconfig/termpaint_image.pc
+%{_includedir}/termpaint.h
+%{_includedir}/termpaint_event.h
+%{_includedir}/termpaint_image.h
+%{_includedir}/termpaint_input.h
+%{_includedir}/termpaintx.h
+%{_includedir}/termpaintx_ttyrescue.h
+
+%dir %{_pkgdocdir}
+%{_pkgdocdir}/html
+
+%changelog
+%autochangelog