newer ninja / meson

This commit is contained in:
YellowJacketLinux 2023-05-11 03:06:32 -07:00
parent 4adfbd3b0a
commit 38611461d9
4 changed files with 261 additions and 4 deletions

116
SPECS/glib2.spec Normal file
View File

@ -0,0 +1,116 @@
Name: glib2
Version: 2.76.0
Release: %{?repo}0.rc2%{?dist}
Summary: Glib 2 libraries
Group: System Environment/Libraries
License: LGPLv2.1
URL: https://wiki.gnome.org/Projects/GLib
Source0: https://download.gnome.org/sources/glib/2.76/glib-2.76.0.tar.xz
BuildRequires: pkgconfig(libxslt)
BuildRequires: pkgconfig(libpcre2-8)
BuildRequires: libpcre2-devel
BuildRequires: pkgconfig(zlib)
BuildRequires: pkgconfig(libffi)
BuildRequires: pkgconfig(mount)
BuildRequires: pkgconfig(blkid)
BuildRequires: util-linux-devel
BuildRequires: pkgconfig(libelf)
BuildRequires: meson >= 0.60.0
BuildRequires: ninja
%description
GLib provides the core application building blocks for libraries and
applications written in C. It provides the core object system used in
GNOME, the main loop implementation, and a large set of utility
functions for strings and common data structures.
%package devel
Summary: GLib 2 development files
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
%description devel
This package contains the developer files needed to build software that links
against GLib 2.
%prep
%setup -q -n glib-%{version}
%build
mkdir build && cd build
meson setup --prefix=/usr \
--buildtype=release
# -Dman=true
ninja
%install
cd build
export DESTDIR=%{buildroot}
ninja install
%find_lang glib20
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files -f build/glib20.lang
%defattr(-,root,root,-)
%attr(0755,root,root) %{_libdir}/libgio-2.0.so.0.7600.0
%{_libdir}/libgio-2.0.so.0
%attr(0755,root,root) %{_libdir}/libglib-2.0.so.0.7600.0
%{_libdir}/libglib-2.0.so.0
%attr(0755,root,root) %{_libdir}/libgmodule-2.0.so.0.7600.0
%{_libdir}/libgmodule-2.0.so.0
%attr(0755,root,root) %{_libdir}/libgobject-2.0.so.0.7600.0
%{_libdir}/libgobject-2.0.so.0
%attr(0755,root,root) %{_libdir}/libgthread-2.0.so.0.7600.0
%{_libdir}/libgthread-2.0.so.0
%license COPYING NEWS README.md SECURITY.md
%doc COPYING NEWS README.md SECURITY.md
%files devel
%defattr(-,root,root,-)
%{_bindir}/*
%{_libexecdir}/gio-launch-desktop
%attr(0644,root,root) %{_datadir}/bash-completion/completions/gapplication
%attr(0644,root,root) %{_datadir}/bash-completion/completions/gdbus
%attr(0644,root,root) %{_datadir}/bash-completion/completions/gio
%attr(0644,root,root) %{_datadir}/bash-completion/completions/gresource
%attr(0644,root,root) %{_datadir}/bash-completion/completions/gsettings
%{_datadir}/glib-2.0
%{_datadir}/gettext/its/gschema.*
%{_datadir}/gdb/auto-load/usr/lib/*.py
%dir %{_includedir}/gio-unix-2.0
%dir %{_includedir}/gio-unix-2.0/gio
%attr(0644,root,root) %{_includedir}/gio-unix-2.0/gio/*.h
%dir %{_includedir}/glib-2.0
%attr(0644,root,root) %{_includedir}/glib-2.0/*.h
%dir %{_includedir}/glib-2.0/gio
%attr(0644,root,root) %{_includedir}/glib-2.0/gio/*.h
%dir %{_includedir}/glib-2.0/glib
%attr(0644,root,root) %{_includedir}/glib-2.0/glib/*.h
%dir %{_includedir}/glib-2.0/glib/deprecated
%attr(0644,root,root) %{_includedir}/glib-2.0/glib/deprecated/*.h
%dir %{_includedir}/glib-2.0/gmodule
%attr(0644,root,root) %{_includedir}/glib-2.0/gmodule/gmodule-visibility.h
%dir %{_includedir}/glib-2.0/gobject
%attr(0644,root,root) %{_includedir}/glib-2.0/gobject/*.h
%attr(0644,root,root) %{_includedir}/glib-2.0/gobject/gobjectnotifyqueue.c
%{_libdir}/glib-2.0
%{_libdir}/*.so
%attr(0644,root,root) %{_datadir}/aclocal/*.m4
%attr(0644,root,root) %{_libdir}/pkgconfig/*.pc
%license COPYING
%doc COPYING NEWS README.md SECURITY.md
%changelog
* Thu May 11 2023 Michael A. Peters <anymouseprophet@gmail.com> - 2.76.0-0.rc2
- Rebuild with new ninja/meson versions, reorganize spec file
* Wed Mar 15 2023 Michael A. Peters <anymouseprophet@gmail.com> - 2.76.0-0.rc1
- Initial spec file for YJL (LFS 11.3)

74
SPECS/meson.spec Normal file
View File

@ -0,0 +1,74 @@
Name: meson
Version: 1.1.0
Release: %{?repo}0.rc1%{?dist}
Summary: fast build system
BuildArch: noarch
Group: Development/Utilities
License: Apache-2.0
URL: https://mesonbuild.com/
Source0: https://github.com/mesonbuild/meson/releases/download/%{version}/meson-%{version}.tar.gz
BuildRequires: python3-devel
Requires: ninja
Requires: python3-%{name} = %{version}-%{release}
%description
Meson is an open source build system meant to be both extremely fast,
and, even more importantly, as user friendly as possible.
The main design point of Meson is that every moment a developer spends
writing or debugging build definitions is a second wasted. So is every
second spent waiting for the build system to actually start compiling
code.
%package -n python3-%{name}
Group: Development/Libraries
Summary: Meson build system Python bindings
Requires: %{name} = %{version}-%{release}
%if 0%{?python3_API:1} == 1
# Non-Standard Macro
Requires: %{python3_API}
%endif
%description -n python3-%{name}
This package contains the Python3 component of the Meson build system.
%prep
%setup -q
%build
CFLAGS="${CFLAGS:-${RPM_OPT_FLAGS}}" LDFLAGS="${LDFLAGS:-${RPM_LD_FLAGS}}" \
%{python3} setup.py build --executable="%{python3} -s"
%install
CFLAGS="${CFLAGS:-${RPM_OPT_FLAGS}}" LDFLAGS="${LDFLAGS:-${RPM_LD_FLAGS}}" \
%{python3} setup.py install -O1 --skip-build --root %{buildroot}
install -Dm644 data/shell-completions/bash/meson %{buildroot}%{_datadir}/bash-completion/completions/meson
install -vDm644 data/shell-completions/zsh/_meson %{buildroot}%{_datadir}/zsh/site-functions/_meson
%files
%defattr(-,root,root,-)
%attr(0755,root,root) %{_bindir}/meson
%attr(0644,root,root) %{_datadir}/bash-completion/completions/meson
%attr(0644,root,root) %{_datadir}/zsh/site-functions/_meson
%attr(0644,root,root) %{_datadir}/polkit-1/actions/com.mesonbuild.install.policy
%attr(0644,root,root) %{_mandir}/man1/meson.1*
%license COPYING
%doc contributing.md COPYING README.md
%files -n python3-%{name}
%defattr(-,root,root,-)
%{python3_sitelib}/mesonbuild
%{python3_sitelib}/meson-%{version}-py%{python3_version}.egg-info
%license COPYING
%doc contributing.md COPYING README.md
%changelog
* Thu May 11 2023 Michael A. Peters <anymouseprophet@gmail.com> - 1.1.0-0.rc1
- Initial spec file for YJL (RPM bootstrapping LFS/BLFS 11.3)

64
SPECS/ninja.spec Normal file
View File

@ -0,0 +1,64 @@
%if 0%{?!__install:1}
%global __install %{_bindir}/install
%endif
Name: ninja
Version: 1.11.1
Release: %{?repo}0.rc1%{?dist}
Summary: small build system with a focus on speed
Group: Development/Utilities
License: Apache-2.0
URL: https://ninja-build.org/
Source0: https://github.com/ninja-build/ninja/archive/v%{version}/ninja-%{version}.tar.gz
BuildRequires: python3-devel
BuildRequires: libstdc++-devel
#Requires:
%description
Ninja is a small build system with a focus on speed. It differs from
other build systems in two major respects: it is designed to have its
input files generated by a higher-level build system, and it is designed
to run builds as fast as possible.
%prep
%setup -q
sed -i '/int Guess/a \
int j = 0;\
char* jobs = getenv( "NINJAJOBS" );\
if ( jobs != NULL ) j = atoi( jobs );\
if ( j > 0 ) return j;\
' src/ninja.cc
%build
%{python3} configure.py --bootstrap
%check
%if 0%{?runtests:1} == 1
./ninja ninja_test
./ninja_test --gtest_filter=-SubprocessTest.SetWithLots
%endif
%install
%{__install} -Dm755 ninja %{buildroot}%{_bindir}/ninja
%{__install} -Dm644 misc/bash-completion %{buildroot}%{_datadir}/bash-completion/completions/ninja
%{__install} -Dm644 misc/zsh-completion %{buildroot}%{_datadir}/zsh/site-functions/_ninja
%files
%defattr(-,root,root,-)
%attr(0755,root,root) %{_bindir}/ninja
%attr(0644,root,root) %{_datadir}/bash-completion/completions/ninja
%attr(0644,root,root) %{_datadir}/zsh/site-functions/_ninja
%license COPYING
%doc CONTRIBUTING.md COPYING README.md doc
%changelog
* Wed May 10 2023 Michael A. Peters <anymouseprophet@gmail.com> - 1.11.1-0.rc1
- Initial spec file for YJL (RPM bootstrapping LFS/BLFS 11.3)

View File

@ -2,7 +2,7 @@
Name: p11-kit Name: p11-kit
Version: 0.24.1 Version: 0.24.1
Release: %{?repo}0.rc2%{?dist} Release: %{?repo}0.rc3%{?dist}
Summary: load and enumerate PKCS#11 modules Summary: load and enumerate PKCS#11 modules
Group: System Environment/Utilities Group: System Environment/Utilities
@ -11,9 +11,9 @@ URL: https://p11-glue.github.io/p11-glue/p11-kit.html
Source0: https://github.com/p11-glue/p11-kit/releases/download/%{version}/p11-kit-%{version}.tar.xz Source0: https://github.com/p11-glue/p11-kit/releases/download/%{version}/p11-kit-%{version}.tar.xz
Patch0: p11-kit-0.24.1-trust.patch Patch0: p11-kit-0.24.1-trust.patch
BuildRequires: libffi-devel BuildRequires: pkgconfig(libffi)
BuildRequires: libtasn1-devel BuildRequires: pkgconfig(libtasn1)
BuildRequires: libxslt-devel BuildRequires: pkfconfig(libxslt)
BuildRequires: meson BuildRequires: meson
BuildRequires: ninja BuildRequires: ninja
BuildRequires: bash-completion-devel BuildRequires: bash-completion-devel
@ -118,6 +118,9 @@ ln -sf ./pkcs11/p11-kit-trust.so %{buildroot}%{_libdir}/libnssckbi.so
%doc AUTHORS ChangeLog COPYING NEWS README %doc AUTHORS ChangeLog COPYING NEWS README
%changelog %changelog
* Thu May 11 2023 Michael A. Peters <anymouseprophet@gmail.com> - 0.24.1-0.rc3
- Build with newer ninja/meson
* Fri May 05 2023 Michael A. Peters <anymouseprophet@gmail.com> - 0.24.1-0.rc2 * Fri May 05 2023 Michael A. Peters <anymouseprophet@gmail.com> - 0.24.1-0.rc2
- Add bash completion - Add bash completion