N
Портал сборок NiceOS
Корпоративный портал наблюдаемости для опубликованных сборок пакетов NiceOS.

input/gc.spec

raw · 4.7 KiB

Name:           gc
Version:        8.2.12
Release:        1%{?dist}
Summary:        Garbage collector for C and C++
Summary(ru):    Сборщик мусора для C и C++
License:        MIT
URL:            https://www.hboehm.info/gc/
Source0:        https://github.com/ivmai/bdwgc/releases/download/v%{version}/gc-%{version}.tar.gz

Packager:       NICE SOFT GROUP LLC (ООО "НАЙС СОФТ ГРУПП") 5024245440 <niceos@ncsgp.ru>
Vendor:         NiceSOFT
Distribution:   NiceOS.Core
BugURL:         https://bugs.niceos.ru/
VCS:            https://specs.niceos.ru/rmps/%{name}

BuildRequires:  automake
BuildRequires:  gcc-c++
BuildRequires:  libtool
BuildRequires:  make
BuildRequires:  pkgconfig
BuildRequires:	libstdc++-devel

Obsoletes:      libgc < %{version}-%{release}
Provides:       libgc = %{version}-%{release}


%description
The Boehm-Demers-Weiser conservative garbage collector (BDWGC) is a C/C++
library that can replace malloc/free or C++ new/delete with automatic memory
reclamation. It can also be used as a leak detector for C/C++ programs.

%description -l ru
Boehm-Demers-Weiser (BDWGC) — это библиотека сборщика мусора для C/C++, которая
может использоваться как замена malloc/free или C++ new/delete с автоматическим
освобождением памяти. Также может применяться как детектор утечек для программ
на C/C++.

%package        devel
Summary:        Development files for the BDWGC memory management library
Summary(ru):    Файлы разработки для библиотеки управления памятью BDWGC
Requires:       %{name}%{?_isa} = %{version}-%{release}
Obsoletes:      libgc-devel < %{version}-%{release}
Provides:       libgc-devel = %{version}-%{release}

%description    devel
Header files, pkg-config metadata, and symlinks required to build applications
against the BDWGC (libgc) libraries.

%description -l ru devel
Заголовочные файлы, метаданные pkg-config и симлинки, необходимые для сборки
приложений, использующих библиотеки BDWGC (libgc).

%prep
%autosetup -n gc-%{version} -p1

%build
# RU: Обновление autotools для предотвращения rpath.
# EN: Regenerate autotools to avoid rpath usage.
rm -f libtool libtool.m4
autoreconf -i -f

CPPFLAGS="-DUSE_GET_STACKBASE_FOR_MAIN -DDONT_UNDEF_EXCEPTIONS $CPPFLAGS"
export CPPFLAGS

%configure \
    --disable-docs         \
    --enable-cplusplus     \
    --enable-large-config  \
    --enable-threads=posix

%make_build

%install
%make_install

# RU: Установка man-страницы вручную (оставляем как в исходном spec).
# EN: Install the man page manually (kept as in the original spec).
install -D -p -m 0644 doc/gc.man %{buildroot}%{_mandir}/man3/gc.3

# RU: Очистка ненужных файлов.
# EN: Remove unneeded files.
rm -rf %{buildroot}%{_datadir}/gc/
rm -f %{buildroot}%{_libdir}/lib*.la

%check
%ifnarch %{arm} aarch64 %{ix86} ppc64le
make check
%endif

%ldconfig_scriptlets

%files
%defattr(-,root,root)
# %license COPYING
%attr(0755,root,root) %{_libdir}/libcord.so.1*
%attr(0755,root,root) %{_libdir}/libgc.so.1*
%attr(0755,root,root) %{_libdir}/libgccpp.so.1*
%attr(0755,root,root) %{_libdir}/libgctba.so.1*

%files devel
%defattr(-,root,root)
%doc doc/README.environment doc/README.linux
%doc doc/*.md
%{_includedir}/gc.h
%{_includedir}/gc_cpp.h
%{_includedir}/gc/
%{_libdir}/libcord.so
%{_libdir}/libgc.so
%{_libdir}/libgccpp.so
%{_libdir}/libgctba.so
%{_libdir}/pkgconfig/bdw-gc.pc
%{_mandir}/man3/gc.3*

%changelog
* Sat May 09 2026 NiceOS Team <support@niceos.ru> - 8.2.12-1
- EN: Update gc to 8.2.12. Upstream release notes describe a patch release with bug fixes and portability/runtime improvements, including fixes for thread lifecycle handling, fork() from unregistered threads, malloc redirection edge cases, sanitizer-related fake stack behavior, and several platform-specific build/runtime issues.
- RU: Обновление gc до 8.2.12. По заметкам upstream это патч-релиз с исправлениями ошибок и улучшениями совместимости/runtime, включая исправления для обработки потоков, fork() из не зарегистрированного потока, edge-case’ов перенаправления malloc, поведения fake stacks для sanitizer-сборок и ряда платформенных проблем сборки/выполнения.


* Wed Jan 07 2026 NiceOS Team <niceos@ncsgp.ru> - 8.2.8-1
- Initial build for NiceOS (Первая сборка для НАЙС.ОС)