make/make.spec

83 lines
2.2 KiB
RPMSpec
Raw Permalink Normal View History

#
# spec file for package make
#
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: make
Version: 4.4.1
Release: 0
Summary: GNU make
License: GPL-3.0-or-later
Group: Development/Tools/Building
URL: https://www.gnu.org/software/make/make.html
Source: https://ftp.gnu.org/gnu/make/make-%{version}.tar.gz
Source1: https://ftp.gnu.org/gnu/make/make-%{version}.tar.gz.sig
# keyring downloaded from https://savannah.gnu.org/project/memberlist-gpgkeys.php?group=make&download=1
Source2: %{name}.keyring
Patch64: make-library-search-path.diff
BuildRequires: pkgconfig
Requires(post): %{install_info_prereq}
Requires(preun):%{install_info_prereq}
Provides: gmake
%description
The GNU make command with extensive documentation.
%lang_package
%prep
%autosetup -N
%if "%{_lib}" == "lib64"
%patch -P 64 -p1
%endif
%build
%configure
Accepting request 1031284 from home:Andreas_Schwab:Factory - Update to make 4.3.92 * WARNING: Future backward-incompatibility! In the NEXT release of GNU Make, pattern rules will implement the same behavior change for multiple targets as explicit grouped targets * WARNING: Backward-incompatibility! GNU Make now uses temporary files in more situations than previous releases. * WARNING: Backward-incompatibility! Previously each target in a explicit grouped target rule was considered individually: if the targets needed by the build were not out of date the recipe was not run even if other targets in the group were out of date. Now if any of the grouped targets are needed by the build, then if any of the grouped targets are out of date the recipe is run and all targets in the group are considered updated. to be true in the GNU Make manual. GNU Make utilizes facilities from GNU Gnulib: Gnulib requires certain C99 features in the C compiler and so these features are required by GNU Make: GNU Make will wait for all of the targets to the left of .WAIT in the list .NOTINTERMEDIATE disables intermediate behavior for specific files, for all On systems that provide /proc/loadavg (Linux), GNU Make will use it to * GNU Make has sometimes chosen unexpected, and sub-optimal, chains of that results in no matching rule, will GNU Make consider prerequisites * GNU Make was performing secondary expansion of all targets, even targets * When the pipe-based jobserver is enabled and GNU Make decides it is invoking a non-make sub-process and closes the jobserver pipes, it will now add a new option to the MAKEFLAGS environment variable that disables the jobserver. OBS-URL: https://build.opensuse.org/request/show/1031284 OBS-URL: https://build.opensuse.org/package/show/Base:System/make?expand=0&rev=77
2022-10-26 10:19:34 +02:00
%make_build
%check
Accepting request 1031284 from home:Andreas_Schwab:Factory - Update to make 4.3.92 * WARNING: Future backward-incompatibility! In the NEXT release of GNU Make, pattern rules will implement the same behavior change for multiple targets as explicit grouped targets * WARNING: Backward-incompatibility! GNU Make now uses temporary files in more situations than previous releases. * WARNING: Backward-incompatibility! Previously each target in a explicit grouped target rule was considered individually: if the targets needed by the build were not out of date the recipe was not run even if other targets in the group were out of date. Now if any of the grouped targets are needed by the build, then if any of the grouped targets are out of date the recipe is run and all targets in the group are considered updated. to be true in the GNU Make manual. GNU Make utilizes facilities from GNU Gnulib: Gnulib requires certain C99 features in the C compiler and so these features are required by GNU Make: GNU Make will wait for all of the targets to the left of .WAIT in the list .NOTINTERMEDIATE disables intermediate behavior for specific files, for all On systems that provide /proc/loadavg (Linux), GNU Make will use it to * GNU Make has sometimes chosen unexpected, and sub-optimal, chains of that results in no matching rule, will GNU Make consider prerequisites * GNU Make was performing secondary expansion of all targets, even targets * When the pipe-based jobserver is enabled and GNU Make decides it is invoking a non-make sub-process and closes the jobserver pipes, it will now add a new option to the MAKEFLAGS environment variable that disables the jobserver. OBS-URL: https://build.opensuse.org/request/show/1031284 OBS-URL: https://build.opensuse.org/package/show/Base:System/make?expand=0&rev=77
2022-10-26 10:19:34 +02:00
%make_build check || {
for f in tests/work/*/*.diff*; do
test -f "$f" || continue
printf "++++++++++++++ %s ++++++++++++++\n" "${f##*/}"
cat "$f"
done
}
%install
%make_install
ln -s make %{buildroot}%{_bindir}/gmake
%find_lang %{name}
# gnumake.h was introduced in 4.0, looks useless
rm %{buildroot}%{_includedir}/gnumake.h
%files
%{_bindir}/make
%{_bindir}/gmake
%{_infodir}/make.info-*%{ext_info}
%{_infodir}/make.info%{ext_info}
%{_mandir}/man1/make.1%{ext_man}
%files lang -f %{name}.lang
%post
%install_info --info-dir=%{_infodir} %{_infodir}/%{name}.info%{ext_info}
%preun
%install_info_delete --info-dir=%{_infodir} %{_infodir}/%{name}.info%{ext_info}
%changelog