commit 7cf7e1fe4d46a880ee5435420993bc97d1f7bf3238dd02e69a2e7a02b910d34f Author: Dave Plater Date: Fri Jan 24 12:01:01 2025 +0000 - Update to 0.32.2 * Enable clang nullability checks * Fix writing empty list objects within blank nodes - Set build docs for TW only as it requires sphixygen since now - Refresh 001-serd-docdir.patch - Update to 0.32.0 * Add Windows path separator support to serd_node_new_file_uri() * Add long "help" and "version" options to serdi * Add options to disable html or singlehtml documentation * Add serd_reader_skip_until_byte() to public API * Allow SERD_API to be defined by the user * Avoid creating test files in the current directory * Avoid using ASCII grave as a quote * Check for POSIX features with the build system * Clean up and improve test suite * Clean up code * Fix crash when trying to read chunks without starting * Fix hang when skipping an error at EOF when lax parsing * Fix incorrect parsing of strange quote escape patterns * Fix possible hang when writing nested Turtle lists * Fix potential memory leaks when a write is aborted * Fix relative URI creation * Gracefully handle bad characters in Turtle blank node syntax * Gracefully handle bad characters in Turtle datatype syntax * Improve TriG pretty-printing and remove trailing newlines * Improve pretty-printing of lists and inline subjects * Improve serdi man page * Improve writer error handling * Make URI writing stricter by default * Make serd_reader_read_chunk() work with NQuads * Override pkg-config dependency within meson * Remove junk files from documentation install * Remove support for writing Turtle named inline nodes extension * Replace duplicated dox_to_sphinx script with sphinxygen dependency * Test header for warnings more strictly * Update standard test suites OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/serd?expand=0&rev=36 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/001-serd-docdir.patch b/001-serd-docdir.patch new file mode 100644 index 0000000..b85d9d0 --- /dev/null +++ b/001-serd-docdir.patch @@ -0,0 +1,11 @@ +--- doc/meson.build.orig 2023-10-22 12:39:24.000000000 -0700 ++++ doc/meson.build 2023-10-29 21:16:36.448489411 -0700 +@@ -1,7 +1,7 @@ + # Copyright 2020-2023 David Robillard + # SPDX-License-Identifier: 0BSD OR ISC + +-docdir = get_option('datadir') / 'doc' ++docdir = get_option('datadir') / 'doc' / 'packages' + + ############# + # Man pages # diff --git a/baselibs.conf b/baselibs.conf new file mode 100644 index 0000000..9287c17 --- /dev/null +++ b/baselibs.conf @@ -0,0 +1 @@ +libserd-0-0 diff --git a/serd-0.30.16.tar.xz b/serd-0.30.16.tar.xz new file mode 100644 index 0000000..71cb0d3 --- /dev/null +++ b/serd-0.30.16.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f50f486da519cdd8d03b20c9e42414e459133f5a244411d8e63caef8d9ac9146 +size 173932 diff --git a/serd-0.32.2.tar.xz b/serd-0.32.2.tar.xz new file mode 100644 index 0000000..0a622e0 --- /dev/null +++ b/serd-0.32.2.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:df7dc2c96f2ba1decfd756e458e061ded7d8158d255554e7693483ac0963c56b +size 168840 diff --git a/serd.changes b/serd.changes new file mode 100644 index 0000000..6798ef4 --- /dev/null +++ b/serd.changes @@ -0,0 +1,262 @@ +------------------------------------------------------------------- +Sun Jan 19 00:25:07 UTC 2025 - Konstantin Voinov + +- Update to 0.32.2 + * Enable clang nullability checks + * Fix writing empty list objects within blank nodes + +------------------------------------------------------------------- +Mon Oct 30 04:13:33 UTC 2023 - Konstantin Voinov + +- Set build docs for TW only as it requires sphixygen since now +- Refresh 001-serd-docdir.patch +- Update to 0.32.0 + * Add Windows path separator support to serd_node_new_file_uri() + * Add long "help" and "version" options to serdi + * Add options to disable html or singlehtml documentation + * Add serd_reader_skip_until_byte() to public API + * Allow SERD_API to be defined by the user + * Avoid creating test files in the current directory + * Avoid using ASCII grave as a quote + * Check for POSIX features with the build system + * Clean up and improve test suite + * Clean up code + * Fix crash when trying to read chunks without starting + * Fix hang when skipping an error at EOF when lax parsing + * Fix incorrect parsing of strange quote escape patterns + * Fix possible hang when writing nested Turtle lists + * Fix potential memory leaks when a write is aborted + * Fix relative URI creation + * Gracefully handle bad characters in Turtle blank node syntax + * Gracefully handle bad characters in Turtle datatype syntax + * Improve TriG pretty-printing and remove trailing newlines + * Improve pretty-printing of lists and inline subjects + * Improve serdi man page + * Improve writer error handling + * Make URI writing stricter by default + * Make serd_reader_read_chunk() work with NQuads + * Override pkg-config dependency within meson + * Remove junk files from documentation install + * Remove support for writing Turtle named inline nodes extension + * Replace duplicated dox_to_sphinx script with sphinxygen dependency + * Test header for warnings more strictly + * Update standard test suites + +------------------------------------------------------------------- +Mon Dec 26 12:54:01 UTC 2022 - Konstantin Voinov + +- Update to 0.30.16 + * Switch to meson + * Add html documentation do devel + + 0.30.16 changes: + * Add SERD_STATIC to pkg-config Cflags for static-only builds + * Adopt REUSE machine-readable licensing standard + * Allow programs to be used from subproject + * Fix spelling mistake in serdi man page + + 0.30.14 changes: + * Fix memory consumption when reading documents + * Switch to Meson build system + * Update README and project metadata + +- Installation path fix for documents: + 001-serd-docdir.patch + +------------------------------------------------------------------- +Sat Jun 18 14:27:33 UTC 2022 - Dirk Müller + +- update to 0.30.12: + * Fix warnings and build issues with clang 13 and VS 2019 + * Fix writing long literals with triple quotes + * Improve documentation style + * Support combining several BSD-style command line flags in serdi + * Write statements with invalid URI characters in lax mode + +------------------------------------------------------------------- +Sun Aug 29 09:55:41 UTC 2021 - Dave Plater + +- Disabled doc build and test for Leap build + +------------------------------------------------------------------- +Sun Jul 4 19:53:19 UTC 2021 - Dirk Müller + +- update to 0.30.10: + * Add fallback configuration if documentation theme is unavailable + * Fix SERD_DISABLE_DEPRECATED + * Fix building for older MacOS versions on newer MacOS + * Fix documentation installation directory + * Deprecate serd_uri_to_path() + * Don't install API man pages + * Fix potential memory error when serialising URIs + * Move headers to an include directory + * Refuse to write relative URI references to NTriples + * Remove the need for a generated configuration header + * Remove use of C character class functions that may use locale + * Split up and reorganize unit tests + * Use aligned allocation via C11 or Windows API where possible + +------------------------------------------------------------------- +Mon Sep 28 16:42:06 UTC 2020 - Dirk Mueller + +- update to 0.30.6: + * Fix various minor warnings and other code quality issues + * Improve reader error handling + * Make all free functions tolerant of NULL + * Parse prefixed names more strictly + +------------------------------------------------------------------- +Tue May 26 15:00:35 UTC 2020 - Giordano Boschetti + +- Updated to version 0.30.4 + +------------------------------------------------------------------- +Thu Apr 16 06:46:30 UTC 2020 - Martin Pluskal + +- Update to version 0.30.2: + * Fix GCC 4 build + * Fix colliding blank nodes when parsing TriG + * Fix missing parse error messages + * Fix parsing "a" abbreviation without padding whitespace + * Fix parsing TriG graphs with several squashed trailing dots + * Fix resolving some URIs against base URIs with no trailing slash + * Improve build system and CI integration + * Improve documentation + +------------------------------------------------------------------- +Fri Sep 21 06:23:43 UTC 2018 - olaf@aepfle.de + +- Use -std=gnu99 to fix compilation of bogus C code + +------------------------------------------------------------------- +Fri Aug 24 13:57:57 UTC 2018 - tchvatal@suse.com + +- Update to 0.30.0: + * Update bundled waf to 2.0.9 + * Fix various typos in comments + * Various fixes in the testsuite + +------------------------------------------------------------------- +Mon Jan 8 09:12:15 UTC 2018 - tchvatal@suse.com + +- Tweak a bit more py3 dep to not pull whole python but just base +- Fix group on one of the subpkgs + +------------------------------------------------------------------- +Fri Jan 5 12:49:59 UTC 2018 - davejplater@gmail.com + +- Remove python-base dependency and change headers in python scripts + to python3 + +------------------------------------------------------------------- +Thu Nov 2 11:24:42 UTC 2017 - mpluskal@suse.com + +- Update to version 0.28.0: + * Add support for reading from a user provided callback + * Add serd_node_from_substring() + * Fix strict parsing of abolute URI schemes + * Fix parsing of hex escapes in file URIs (thanks Johannes Mueller) + * Gracefully handle applications that write corrupt UTF-8 + * Fix hangs when reading corrupt UTF-8 + * Add support for TriG and NQuads + * Add support for braindead SPARQL PREFIX and BASE directives + * Add serd_node_new_relative_uri() + * Fix construction and comparison of URIs with UTF-8 characters + * Report I/O errors with message and return appropriate status code + * Report missing statement separator errors + * Fix potential out of bounds read + * Fix unaligned memory access, undefined behaviour which breaks on ARM + * Fix documentation generation + * Update serdi man page +- Use python3 +- Run spec-cleaner +- Rename devel subpackage +- Run tests during build + +------------------------------------------------------------------- +Mon Jan 30 22:06:32 UTC 2017 - jengelh@inai.de + +- Fix mismatching RPM group +- Rename soname macro to sover as it does not contain a name + +------------------------------------------------------------------- +Thu Jan 12 08:32:04 UTC 2017 - olaf@aepfle.de + +- Add baselibs.conf for gstreamer-plugins-bad-32bit + +------------------------------------------------------------------- +Wed Dec 16 08:52:37 UTC 2015 - olaf@aepfle.de + +- Add BuildRoot: for SLE_11 + +------------------------------------------------------------------- +Tue Nov 24 18:45:34 UTC 2015 - p.drouand@gmail.com + +- Update to version 0.22.0 + * Remove dependence on fmax() to avoid portability issues + * Fix serd_reader_read_file() for URIs with escaped characters (spaces) + * Add serd_reader_set_strict() and -l (lax) option to serdi to tolerate + parsing URIs with escaped characters + * Fix reading statements ending with a blank then dot with no space + * Fix clash resolution when a blank node ID prefix is set + * Fix serializing fractional decimals that would round up + * Add support for Turtle named inline nodes extension + * Report errors for invalid IRI characters and missing terminators + * Show serdi errors in standard format + * Fix warnings when building with ISO C++ compilers + * Upgrade to waf 1.8.14 + +------------------------------------------------------------------- +Mon Mar 23 01:49:40 UTC 2015 - p.drouand@gmail.com + +- Update to version 0.20.0 + * Support new RDF 1.1 Turtle + * Don't write xsd:decimal literals to Turtle bare if they would not be read + back with the same type + * Fix possible crash in serd_writer_end_anon() when writing invalid lists + * Generate blank names like _:b1 and _:B2 not _:genid1 _:docid2 + * Correctly handle posix_memalign failure + * Fix const-correctness violation for reader input string + * Add -lm to pkg-config libs + * Update to waf 1.7.14 + +------------------------------------------------------------------- +Tue Jan 8 11:38:10 UTC 2013 - reddwarf@opensuse.org + +- Update to 0.18.2 + * Fix crash when serd_node_new_decimal is called with infinity or NaN + * Fix crash when resolving against non-standard base URIs + * Fix bug that caused "a" abbreviation in non-predicate position + * Disable timestamps in HTML documentation for reproducible build + * Fix clashing symbol "error" in amalgamation build + * Update to waf 1.7.8 and autowaf r90 (install docs to versioned directory) +- Remove serd-0.18.0-build_compare.patch. Applied upstream. + +------------------------------------------------------------------- +Sun Aug 26 21:12:29 UTC 2012 - reddwarf@opensuse.org + +- Update to 0.18.0 + * Support digits at start of local names as per new Turtle + grammar + * Add incremental read interface suitable for reading from + infinite streams + * Add -e option to serdi to use incremental reading + * Add error callback to reader and writer for custom error + reporting + * Add -q option to serdi to suppress all non-data + output, e.g. errors + * Reset indent when finishing a write + * Report write size correctly when invalid UTF-8 is encountered + and a replacement character is written + * Strip down API documentation to a single clean page + * Fix various hyper-strict warnings + * Do not require a C++ compiler to build + * Add option to build utilities as static binaries + * Upgrade to waf 1.7.2 +- Add serd-0.18.0-build_compare.patch to make build reproducible + +------------------------------------------------------------------- +Wed Aug 8 22:29:36 UTC 2012 - reddwarf@opensuse.org + +- First version of the package + diff --git a/serd.spec b/serd.spec new file mode 100644 index 0000000..48f3171 --- /dev/null +++ b/serd.spec @@ -0,0 +1,111 @@ +# +# spec file for package serd +# +# Copyright (c) 2025 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%if 0%{?suse_version} > 1600 +%define with_docs 1 +%endif + +%define sover 0 +Name: serd +Version: 0.32.2 +Release: 0 +Summary: A lightweight C library for RDF syntax +License: ISC +Group: Development/Libraries/C and C++ +URL: https://drobilla.net/software/serd.html +Source0: https://download.drobilla.net/serd-%{version}.tar.xz +Source1: baselibs.conf +Patch0: 001-serd-docdir.patch +BuildRequires: fdupes +BuildRequires: meson +BuildRequires: pkgconfig +%if %{with docs} +BuildRequires: %{python_module sphinxygen} +BuildRequires: doxygen +BuildRequires: mandoc-bin +BuildRequires: python3-Sphinx +%endif + +%description +A lightweight C library for RDF syntax which supports reading and writing Turtle and NTriples. + +%package -n serdi +Summary: Read and write RDF syntax +Group: Productivity/Text/Editors + +%description -n serdi +Read and write RDF syntax. + +%package -n libserd-0-%{sover} +Summary: A lightweight C library for RDF syntax +Group: System/Libraries + +%description -n libserd-0-%{sover} +A lightweight C library for RDF syntax which supports reading and writing Turtle and NTriples. + +%package devel +Summary: Development files for libserd +Group: Development/Libraries/C and C++ +Requires: libserd-0-%{sover} = %{version} +Provides: libserd-0-devel = %{version} +Obsoletes: libserd-0-devel < %{version} + +%description devel +Development files for libserd. + +%prep +%setup -q +%autopatch -p0 +#Convert all file headers to python3 +for i in `grep -rl "%{_bindir}/env python"`;do sed -i '1s/^#!.*/#!\/usr\/bin\/python3/' ${i} ;done + +%build +%meson \ +%if %{without docs} + -Ddocs=disabled +%endif +%meson_build + +%install +%meson_install + +%fdupes -s %{buildroot}%{_docdir} + +%post -n libserd-0-%{sover} -p /sbin/ldconfig +%postun -n libserd-0-%{sover} -p /sbin/ldconfig + +%files -n serdi +%attr(0755,root,root) %{_bindir}/serdi +%if %{with docs} +%{_mandir}/man1/serdi.1%{?ext_man} +%endif + +%files -n libserd-0-%{sover} +%license COPYING +%doc AUTHORS NEWS README.md +%{_libdir}/libserd-0.so.%{sover}* + +%files devel +%if %{with docs} +%doc %{_docdir}/serd-0 +%endif +%{_libdir}/libserd-0.so +%{_includedir}/serd-0/ +%{_libdir}/pkgconfig/serd-0.pc + +%changelog