# do not require a standalone uthash when built as part of RHEL %bcond system_uthash %[0%{?fedora} || 0%{?epel}] # build process has race conditions, force single thread %global _smp_mflags -j1 %global srcname editorconfig-core-c %global common_description %{expand: EditorConfig makes it easy to maintain the correct coding style when switching between different text editors and between different projects. The EditorConfig project maintains a file format and plugins for various text editors which allow this file format to be read and used by those editors.} Name: editorconfig Summary: Parser for EditorConfig files written in C Version: 0.12.7 Release: 1%{?dist} # The entire source is BSD-2-Clause, except: # BSD-3-Clause: src/lib/ini.h # src/lib/ini.c # BSD-1-Clause: src/lib/utarray.h # Additionally, the following build-system files do not contribute to the # licenses of the binary RPMs: # MIT: CMake_Modules/FindPCRE2.cmake # The file src/lib/utarray.h is unbundled in %%prep, as part of the uthash # header-only library; however, since packaging guidelines treat header-only # libraries as a kind of static library, and the entire contents are still # compiled into the binary RPMs, its license still contributes to the overall # license of the binary RPMs. License: BSD-2-Clause AND BSD-3-Clause AND BSD-1-Clause URL: https://github.com/editorconfig/editorconfig-core-c Source0: %{url}/archive/v%{version}/%{srcname}-%{version}.tar.gz BuildRequires: cmake BuildRequires: doxygen BuildRequires: gcc BuildRequires: pcre2-devel %if %{with system_uthash} # Header-only library; BR on -static required by guidelines BuildRequires: uthash-static %endif Requires: %{name}-libs%{?_isa} = %{version}-%{release} %description %common_description %package libs Summary: Parser library for EditorConfig files (shared library) # Files src/lib/ini.h and src/lib/ini.c are a forked copy of inih: # https://src.fedoraproject.org/rpms/inih # https://github.com/benhoyt/inih # Since it has different hard-coded limits, among other changes from upstream, # we expect that it will not be possible to unbundle it. Still, we have # contacted upstream as required in # https://docs.fedoraproject.org/en-US/packaging-guidelines/#bundling # via a GitHub issue: # Path to using a system copy of inih? # https://github.com/editorconfig/editorconfig-core-c/issues/91 # Upstream agreed that the bundled version has diverged too much. # # The files were added in commit 24cc68431848c6d53a877ff82a4ee4ce7ff67b7f on # 2011-10-23; their contents at that time were an exact match for the # then-latest commit in inih, 328c3d4f8ac3715fc7024af09372a479f028450f in # today’s git repository. Since inih did not carry a version number, and the # Google Code SVN hash at the time is lost to history, we use the git hash in # the current repository to indicate the snapshot from which the bundled # version was forked. Provides: bundled(inih) = 0^20110627git328c3d4 %if %{without system_uthash} # src/lib/utarray.h:UTARRAY_VERSION Provides: bundled(uthash) = 2.1.0 %endif %description libs %common_description This package contains the shared library. %package devel Summary: Parser library for EditorConfig files (development files) Requires: %{name}-libs%{?_isa} = %{version}-%{release} Requires: cmake %description devel %common_description This package contains the files needed for development. %prep %autosetup -n %{srcname}-%{version} -p1 %if %{with system_uthash} # Unbundle uthash rm -vf src/lib/utarray.h %endif %build %cmake %cmake_build %install %cmake_install # Remove static library rm %{buildroot}/%{_libdir}/libeditorconfig_static.a %files %doc README.md %license LICENSE %{_bindir}/editorconfig %{_bindir}/editorconfig-%{version} %{_mandir}/man1/editorconfig.1* %files libs %doc README.md %license LICENSE %{_libdir}/libeditorconfig.so.0* %{_mandir}/man3/editorconfig* %{_mandir}/man5/editorconfig* %files devel %{_includedir}/editorconfig/ %{_libdir}/libeditorconfig.so %{_libdir}/cmake/EditorConfig/ %{_libdir}/pkgconfig/editorconfig.pc %changelog * Wed Apr 03 2024 Benjamin A. Beasley - 0.12.7-1 - Update to 0.12.7 (close RHBZ#2272370) * Fri Mar 08 2024 Yaakov Selkowitz - 0.12.6-5 - Use bundled uthash in RHEL builds * Wed Jan 24 2024 Fedora Release Engineering - 0.12.6-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild * Fri Jan 19 2024 Fedora Release Engineering - 0.12.6-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild * Wed Jul 19 2023 Fedora Release Engineering - 0.12.6-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild * Sun Jan 22 2023 Benjamin A. Beasley - 0.12.6-1 - Update to 0.12.6 (close RHBZ#2162811) - Update License to SPDX - Document and/or unbundle all bundled libraries * Thu Jan 19 2023 Fedora Release Engineering - 0.12.5-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild * Thu Jul 21 2022 Fedora Release Engineering - 0.12.5-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild * Thu Jan 20 2022 Fedora Release Engineering - 0.12.5-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild * Wed Jul 21 2021 Fedora Release Engineering - 0.12.5-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild * Thu Jun 17 2021 Fabio Valentini - 0.12.5-1 - Update to version 0.12.5. * Thu Feb 04 2021 Fabio Valentini - 0.12.4-3 - Force single-threaded build to work around race conditions. * Tue Jan 26 2021 Fedora Release Engineering - 0.12.4-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild * Mon Aug 31 2020 Fabio Valentini - 0.12.4-1 - Update to version 0.12.4. * Sat Aug 01 2020 Fabio Valentini - 0.12.3-7 - Adapt to new cmake macros. * Sat Aug 01 2020 Fedora Release Engineering - 0.12.3-6 - Second attempt - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild * Mon Jul 27 2020 Fedora Release Engineering - 0.12.3-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild * Tue Jan 28 2020 Fedora Release Engineering - 0.12.3-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild * Wed Jul 24 2019 Fedora Release Engineering - 0.12.3-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild * Thu Jan 31 2019 Fedora Release Engineering - 0.12.3-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild * Fri Nov 16 2018 Fabio Valentini - 0.12.3-1 - Update to version 0.12.3. * Thu Jul 12 2018 Fedora Release Engineering - 0.12.2-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild * Thu May 03 2018 Fabio Valentini - 0.12.2-3 - Fix broken ldconfig_scriptlets use. * Wed May 02 2018 Fabio Valentini - 0.12.2-2 - Use single-job make for building. - Added missing ldconfig scriptlets. - Rewritten summaries. * Thu Mar 22 2018 Fabio Valentini - 0.12.2-1 - Initial package.