summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichel Alexandre Salim <salimma@fedoraproject.org>2022-02-06 22:36:25 -0800
committerMichel Alexandre Salim <salimma@fedoraproject.org>2022-02-06 22:36:56 -0800
commit8d268b1baa8fe3ef23166cc3b1e6868684082913 (patch)
tree0fdd97e1377d31f424c6185dca43d9b08c50d8d2
parent0f030020d75fce54cd5794bba8f6b1be824c22c1 (diff)
downloadspecs-8d268b1baa8fe3ef23166cc3b1e6868684082913.tar.gz
specs-8d268b1baa8fe3ef23166cc3b1e6868684082913.tar.xz
specs-8d268b1baa8fe3ef23166cc3b1e6868684082913.zip
+ lagrange and the_Foundation
Signed-off-by: Michel Alexandre Salim <salimma@fedoraproject.org>
-rw-r--r--web/lagrange.spec70
-rw-r--r--web/the_foundation.spec104
2 files changed, 174 insertions, 0 deletions
diff --git a/web/lagrange.spec b/web/lagrange.spec
new file mode 100644
index 0000000..640bd5b
--- /dev/null
+++ b/web/lagrange.spec
@@ -0,0 +1,70 @@
+%global forgeurl https://git.skyjake.fi/gemini/lagrange
+%global appid fi.skyjake.Lagrange
+
+Name: lagrange
+Version: 1.10.4
+Release: %autorelease
+Summary: A Beautiful Gemini Client
+
+# SPDX-3.0-License-Identifier: BSD-2-Clause
+License: BSD
+URL: https://gmi.skyjake.fi/lagrange/
+Source0: %{forgeurl}/releases/download/v%{version}/%{name}-%{version}.tar.gz
+
+BuildRequires: cmake
+BuildRequires: gcc
+BuildRequires: pkgconfig(fribidi)
+BuildRequires: pkgconfig(harfbuzz)
+BuildRequires: pkgconfig(sdl2)
+BuildRequires: pkgconfig(the_Foundation)
+# for checks
+BuildRequires: desktop-file-utils
+BuildRequires: libappstream-glib
+
+%description
+Lagrange is a desktop GUI client for browsing Geminispace. It offers modern
+conveniences familiar from web browsers, such as smooth scrolling, inline image
+viewing, multiple tabs, visual themes, Unicode fonts, bookmarks, history, and
+page outlines.
+
+Like Gemini, Lagrange has been designed with minimalism in mind. It depends on a
+small number of essential libraries. It is written in C and uses SDL for
+hardware-accelerated graphics. OpenSSL is used for secure communications.
+
+
+%prep
+%autosetup -p1
+# remove bundled libs
+rm -rf lib
+
+
+%build
+%cmake
+%cmake_build
+
+
+%install
+%cmake_install
+
+
+%check
+desktop-file-validate \
+ %{buildroot}/%{_datadir}/applications/%{appid}.desktop
+
+appstream-util validate-relax --nonet \
+ %{buildroot}%{_metainfodir}/%{appid}.appdata.xml
+
+
+%files
+%license LICENSE.md
+%doc AUTHORS.md README.md
+%{_bindir}/%{name}
+%{_datadir}/applications/%{appid}.desktop
+%{_datadir}/icons/hicolor/256x256/apps/%{appid}.png
+%dir %{_datadir}/%{name}
+%{_datadir}/%{name}/resources.lgr
+%{_mandir}/man1/%{name}.1*
+%{_metainfodir}/%{appid}.appdata.xml
+
+%changelog
+%autochangelog
diff --git a/web/the_foundation.spec b/web/the_foundation.spec
new file mode 100644
index 0000000..72f2f44
--- /dev/null
+++ b/web/the_foundation.spec
@@ -0,0 +1,104 @@
+%bcond_without doc
+
+%global srcname the_Foundation
+
+Name: the_foundation
+Version: 1.1.0
+Release: %autorelease
+Summary: Opinionated C11 library for low-level functionality
+
+# SPDX-3.0-License-Identifier: BSD-2-Clause
+License: BSD
+URL: https://git.skyjake.fi/skyjake/the_Foundation
+Source0: %{url}/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
+
+BuildRequires: cmake
+BuildRequires: gcc
+BuildRequires: libunistring-devel
+BuildRequires: pkgconfig(libcurl)
+BuildRequires: pkgconfig(libpcre)
+BuildRequires: pkgconfig(openssl)
+BuildRequires: pkgconfig(zlib)
+%if %{with doc}
+BuildRequires: doxygen
+%endif
+
+%global _description %{expand:
+An object-oriented C library whose API is designed for a particular coding
+style, taking cues from C++ STL and Qt.}
+
+%description %{_description}
+
+
+%package devel
+Summary: Development files for %{name}
+Requires: %{name}%{?_isa} = %{version}-%{release}
+Requires: cmake-filesystem
+Requires: pkgconfig
+
+%description devel %{_description}
+
+The %{name}-devel package contains libraries and header files for
+developing applications that use %{srcname}.
+
+
+%if %{with doc}
+%package doc
+Summary: Documentation for %{srcname}
+BuildArch: noarch
+
+%description doc %{_description}
+
+The %{name}-doc package contains the documentation for %{srcname}.
+%endif
+
+
+%prep
+%autosetup -n %{name} -p1
+
+
+%build
+%cmake
+%cmake_build
+%if %{with doc}
+doxygen %{srcname}.doxygen
+%endif
+
+
+%install
+%cmake_install
+
+
+%check
+# math and threading has non-zero retvals
+for t in \
+ archive \
+ network \
+ string \
+ test \
+ udptest \
+; do
+ %{__cmake_builddir}/${t}_Foundation
+done
+
+
+%files
+%license LICENSE
+%doc CHANGES.md README.md
+%{_libdir}/*.so.*
+
+%files devel
+%{_includedir}/*
+%{_libdir}/*.so
+%{_libdir}/cmake/%{srcname}
+%{_libdir}/pkgconfig/%{srcname}.pc
+
+%if %{with doc}
+%files doc
+%license LICENSE
+%doc doc/html/*
+%endif
+
+
+%changelog
+%autochangelog