build2/build2.spec

142 lines
4.0 KiB
RPMSpec

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