Blame SPECS/make-latest.spec

652aeb
# -*- coding: utf-8 -*-
652aeb
# This decides the SRPM name.  Set to "make" for a rolling release
652aeb
# (like Fedora) or "make-latest" for a long term release that needs
652aeb
# optional versioned updates.
652aeb
Name: make-latest
652aeb
Epoch: 1
652aeb
Version: 4.3
652aeb
Release: 1%{?dist}
652aeb
License: GPLv3+
652aeb
URL: http://www.gnu.org/software/make/
652aeb
Source: ftp://ftp.gnu.org/gnu/make/make-%{version}.tar.gz
652aeb
652aeb
%if "%{name}" != "make"
652aeb
# Set this to the sub-package base name, for "make-latest"
652aeb
%global make make43
652aeb
%if 0%{?rhel} > 0
652aeb
%global _prefix /opt/rh/%{make}
652aeb
%else
652aeb
# We intentionally do not define a case for Fedora, as it should not
652aeb
# need this functionality, and letting it error avoids accidents.
652aeb
%{error:"Each downstream must specify its own /opt namespace"}
652aeb
%endif
652aeb
Summary: Meta package to include latest version of make
652aeb
%else
652aeb
%global make %{name}
652aeb
Summary: A GNU tool which simplifies the build process for users
652aeb
%endif
652aeb
652aeb
%if 0%{?rhel} > 0
652aeb
# This gives the user the option of saying --with guile, but defaults to WITHOUT
652aeb
%bcond_with guile
652aeb
%else
652aeb
# This gives the user the option of saying --without guile, but defaults to WITH
652aeb
%bcond_without guile
652aeb
%endif
652aeb
652aeb
Patch0: make-4.3-getcwd.patch
652aeb
652aeb
# Assume we don't have clock_gettime in configure, so that
652aeb
# make is not linked against -lpthread (and thus does not
652aeb
# limit stack to 2MB).
652aeb
Patch1: make-4.0-noclock_gettime.patch
652aeb
652aeb
# BZs #142691, #17374
652aeb
Patch2: make-4.3-j8k.patch
652aeb
652aeb
# https://bugzilla.redhat.com/show_bug.cgi?id=1827850
652aeb
# https://savannah.gnu.org/bugs/?58232
652aeb
# Remove on next make rebase
652aeb
Patch3: make-4.3-cloexec.patch
652aeb
652aeb
# https://bugzilla.redhat.com/show_bug.cgi?id=2010506
652aeb
# https://savannah.gnu.org/bugs/?59093
652aeb
# Remove on next make rebase
652aeb
Patch4: make-4.3-filter-out.patch
652aeb
652aeb
# autoreconf
652aeb
BuildRequires: make
652aeb
BuildRequires: autoconf, automake, gettext-devel
652aeb
BuildRequires: procps
652aeb
BuildRequires: perl
652aeb
%if %{with guile}
652aeb
BuildRequires: pkgconfig(guile-2.2)
652aeb
%endif
652aeb
BuildRequires: gcc
652aeb
652aeb
%if "%{name}" != "make"
652aeb
# We're still on the make-latest package
652aeb
Requires: %{make}
652aeb
%description -n make-latest
652aeb
The latest GNU Make, with a version-specific install
652aeb
%files -n make-latest
652aeb
652aeb
%package -n %{make}
652aeb
Summary: A GNU tool which simplifies the build process for users
652aeb
%endif
652aeb
652aeb
%description -n %{make}
652aeb
A GNU tool for controlling the generation of executables and other
652aeb
non-source files of a program from the program's source files. Make
652aeb
allows users to build and install packages without any significant
652aeb
knowledge about the details of the build process. The details about
652aeb
how the program should be built are provided for make in the program's
652aeb
makefile.
652aeb
652aeb
%package -n %{make}-devel
652aeb
Summary: Header file for externally visible definitions
652aeb
652aeb
%description -n %{make}-devel
652aeb
The %{make}-devel package contains gnumake.h.
652aeb
652aeb
%prep
652aeb
%autosetup -n make-%{version} -p1
652aeb
652aeb
rm -f tests/scripts/features/parallelism.orig
652aeb
652aeb
%build
652aeb
autoreconf -vfi
652aeb
652aeb
%configure \
652aeb
%if %{with guile}
652aeb
    --with-guile
652aeb
%else
652aeb
    --without-guile
652aeb
%endif
652aeb
652aeb
%make_build
652aeb
652aeb
%install
652aeb
%make_install
652aeb
ln -sf make ${RPM_BUILD_ROOT}/%{_bindir}/gmake
652aeb
ln -sf make.1 ${RPM_BUILD_ROOT}/%{_mandir}/man1/gmake.1
652aeb
rm -f ${RPM_BUILD_ROOT}/%{_infodir}/dir
652aeb
652aeb
%if "%{name}" != "make"
652aeb
install -d -m 755 ${RPM_BUILD_ROOT}/etc/scl/prefixes
652aeb
dirname %{_prefix} > %{make}.prefix
652aeb
install -p -m 644 %{make}.prefix ${RPM_BUILD_ROOT}/etc/scl/prefixes/%{make}
652aeb
652aeb
echo "export PATH=%{_prefix}/bin:\$PATH" > enable.scl
652aeb
install -p -m 755 enable.scl ${RPM_BUILD_ROOT}/%{_prefix}/enable
652aeb
%endif
652aeb
652aeb
%find_lang make
652aeb
652aeb
%check
652aeb
echo ============TESTING===============
652aeb
/usr/bin/env LANG=C make check && true
652aeb
echo ============END TESTING===========
652aeb
652aeb
%files -n %{make} -f make.lang
652aeb
%license COPYING
652aeb
%doc NEWS README AUTHORS
652aeb
%{_bindir}/*
652aeb
%{_mandir}/man*/*
652aeb
%{_infodir}/*.info*
652aeb
%{_includedir}/gnumake.h
652aeb
%if "%{name}" != "make"
652aeb
/etc/scl/prefixes/%{make}
652aeb
%{_prefix}/enable
652aeb
%endif
652aeb
652aeb
%files -n %{make}-devel
652aeb
%{_includedir}/gnumake.h
652aeb
652aeb
%changelog
652aeb
* Thu Jul 14 2022 DJ Delorie <dj@redhat.com> - 1:4.3-1
652aeb
Initial commit.