package created using the webbuild interface [release 0.16.0-1mamba;Thu Feb 08 2024]

This commit is contained in:
Silvan Calarco 2024-02-09 11:23:39 +01:00
parent 578284cb70
commit 73697b62c3
4 changed files with 226 additions and 0 deletions

View File

@ -1,2 +1,4 @@
# build2
Cross-platform toolchain for building and packaging C/C++ code.

View File

@ -0,0 +1,45 @@
From c89789432983bcb2413065fd251b4ba4ae96481e Mon Sep 17 00:00:00 2001
From: Boris Kolpackov <boris@codesynthesis.com>
Date: Wed, 23 Aug 2023 14:04:14 +0200
Subject: [PATCH] Release version 0.1.1+1
Deal with glibc 2.38 providing strlcpy() and strlcat().
---
libpkg-config/libpkg-config/config.h.in | 8 +++++++-
libpkg-config/manifest | 2 +-
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/libpkg-config/libpkg-config/config.h.in b/libpkg-config/libpkg-config/config.h.in
index f48b68a..bc0cf79 100644
--- a/libpkg-config/libpkg-config/config.h.in
+++ b/libpkg-config/libpkg-config/config.h.in
@@ -13,10 +13,16 @@
# define HAVE_STRNDUP 1
#endif
+// GNU libc added strlcpy() and strlcat() in version 2.38 (in anticipation
+// of their addition to POSIX).
+//
#if defined(__FreeBSD__) || \
defined(__OpenBSD__) || \
defined(__NetBSD__) || \
- defined(__APPLE__)
+ defined(__APPLE__) || \
+ (defined(__GLIBC__) && \
+ defined(__GLIBC_MINOR__) && \
+ (__GLIBC__ > 2 || __GLIBC__ == 2 && __GLIBC_MINOR__ >= 38))
# define HAVE_STRLCPY 1
# define HAVE_STRLCAT 1
#endif
diff --git a/libpkg-config/manifest b/libpkg-config/manifest
index 49e8396..d2616a9 100644
--- a/libpkg-config/manifest
+++ b/libpkg-config/manifest
@@ -1,6 +1,6 @@
: 1
name: libpkg-config
-version: 0.1.1
+version: 0.1.1+1
summary: C library for retrieving compiler/linker flags and other metadata
license: ISC
topics: pkg-config, library, build system

View File

@ -0,0 +1,38 @@
From 604eb708883a1f90b58e7d6292331d999db873a7 Mon Sep 17 00:00:00 2001
From: Boris Kolpackov <boris@codesynthesis.com>
Date: Thu, 24 Aug 2023 11:39:41 +0200
Subject: [PATCH] Include <features.h> for __GLIBC*__ (GH issue #324)
---
libpkg-config/libpkg-config/config.h.in | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/libpkg-config/libpkg-config/config.h.in b/libpkg-config/libpkg-config/config.h.in
index bc0cf79..7e02e75 100644
--- a/libpkg-config/libpkg-config/config.h.in
+++ b/libpkg-config/libpkg-config/config.h.in
@@ -4,6 +4,10 @@
#ifndef LIBPKG_CONFIG_CONFIG_H
#define LIBPKG_CONFIG_CONFIG_H
+#if defined(__linux__)
+# include <features.h> /* __GLIBC__, __GLIBC_MINOR__ */
+#endif
+
/*
* strndup() is not present on Windows while strl*() are only present on
* *BSD and MacOS.
@@ -13,9 +17,10 @@
# define HAVE_STRNDUP 1
#endif
-// GNU libc added strlcpy() and strlcat() in version 2.38 (in anticipation
-// of their addition to POSIX).
-//
+/*
+ * GNU libc added strlcpy() and strlcat() in version 2.38 (in anticipation
+ * of their addition to POSIX).
+ */
#if defined(__FreeBSD__) || \
defined(__OpenBSD__) || \
defined(__NetBSD__) || \

141
build2.spec Normal file
View File

@ -0,0 +1,141 @@
Name: build2
Version: 0.16.0
Release: 1mamba
Summary: Cross-platform toolchain for building and packaging C/C++ code
Group: Development/Tools
Vendor: openmamba
Distribution: openmamba
Packager: Silvan Calarco <silvan.calarco@mambasoft.it>
URL: https://build2.org/
Source: https://download.build2.org/%{version}/build2-toolchain-%{version}.tar.xz
Patch0: build2-0.16.0-glibc-2.38-1.patch
Patch1: build2-0.16.0-glibc-2.38-2.patch
License: MIT
## AUTOBUILDREQ-BEGIN
BuildRequires: glibc-devel
BuildRequires: libgcc
BuildRequires: libsqlite-devel
BuildRequires: libstdc++6-devel
## AUTOBUILDREQ-END
Requires: lib%{name} = %{?epoch:%epoch:}%{version}-%{release}
%description
Cross-platform toolchain for building and packaging C/C++ code.
%package -n lib%{name}
Group: System/Libraries
Summary: Shared libraries for %{name}
%description -n lib%{name}
This package contains shared libraries for %{name}.
%package -n lib%{name}-devel
Group: Development/Libraries
Summary: Development files for %{name}
Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release}
Requires: lib%{name} = %{?epoch:%epoch:}%{version}-%{release}
%description -n lib%{name}-devel
This package contains libraries and header files for developing applications that use %{name}.
%debug_package
%prep
%setup -q -n %{name}-toolchain-%{version}
%patch 0 -p1 -b .glibc-2.38-1
%patch 1 -p1 -b .glibc-2.38-2
%build
# Prevent from using ccache, which is not supported
export PATH=%{_bindir}:$PATH
xmkdir -p build/usr
./build.sh --trust yes --local --system libsqlite3,libpkgconfig --install-dir ${PWD}/build/usr g++
%ifarch x86_64 aarch64
mv build/usr/lib{,64}
%endif
for f in build/usr/%{_lib}/pkgconfig/*.pc; do sed -i "s|${PWD}/build||" ${f}; done
%install
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
install -d -m0755 %{buildroot}
cp -a build/usr %{buildroot}/
chrpath -d %{buildroot}%{_bindir}/{b,bpkg,bdep} %{buildroot}%{_libdir}/*.so
%clean
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
%post -n lib%{name} -p /sbin/ldconfig
%postun -n lib%{name} -p /sbin/ldconfig
%files
%defattr(-,root,root)
%{_bindir}/b
%{_bindir}/bdep
%{_bindir}/bpkg
%files -n lib%{name}
%defattr(-,root,root)
%{_libdir}/libbpkg-0.16.so
%{_libdir}/libbpkg.so
%{_libdir}/libbuild2-*.so
%{_libdir}/libbuild2.so
%{_libdir}/libbutl-0.16.so
%{_libdir}/libbutl.so
%{_libdir}/libodb-2.5.0-b.25.so
%{_libdir}/libodb-sqlite-2.5.0-b.25.so
%{_libdir}/libodb-sqlite.so
%{_libdir}/libodb.so
%{_libdir}/libpkg-config-0.1.so
%{_libdir}/libpkg-config.so
%doc AUTHORS LICENSE
%files -n lib%{name}-devel
%defattr(-,root,root)
%dir %{_includedir}/libbpkg
%{_includedir}/libbpkg/*
%dir %{_includedir}/libbuild2
%{_includedir}/libbuild2/*
%dir %{_includedir}/libbutl
%{_includedir}/libbutl/*
%dir %{_includedir}/libpkg-config
%{_includedir}/libpkg-config/*
%dir %{_includedir}/odb
%{_includedir}/odb/*
%{_libdir}/pkgconfig/libbpkg.pc
%{_libdir}/pkgconfig/libbpkg.shared.pc
%{_libdir}/pkgconfig/libbuild2*.pc
%{_libdir}/pkgconfig/libbutl.pc
%{_libdir}/pkgconfig/libbutl.shared.pc
%{_libdir}/pkgconfig/libodb-sqlite.pc
%{_libdir}/pkgconfig/libodb-sqlite.shared.pc
%{_libdir}/pkgconfig/libodb.pc
%{_libdir}/pkgconfig/libodb.shared.pc
%{_libdir}/pkgconfig/libpkg-config.pc
%{_libdir}/pkgconfig/libpkg-config.shared.pc
%{_mandir}/man1/b.1.gz
%{_mandir}/man1/bdep*.1*
%{_mandir}/man1/bpkg-argument-grouping.1.gz
%{_mandir}/man1/bpkg*1*
%dir %{_docdir}/bdep
%{_docdir}/bdep/*
%dir %{_docdir}/bpkg
%{_docdir}/bpkg/*
%dir %{_docdir}/build2
%{_docdir}/build2/*
%{_docdir}/libbpkg/manifest
%dir %{_docdir}/libbuild2-autoconf
%{_docdir}/libbuild2-autoconf/*
%dir %{_docdir}/libbuild2-kconfig
%{_docdir}/libbuild2-kconfig/*
%{_docdir}/libbutl/manifest
%{_docdir}/libodb-sqlite/manifest
%{_docdir}/libodb/manifest
%{_docdir}/libpkg-config/manifest
%doc README
%changelog
* Thu Feb 08 2024 Silvan Calarco <silvan.calarco@mambasoft.it> 0.16.0-1mamba
- package created using the webbuild interface