linux-libre upgraded to version 4.19.14
[dragora.git] / recipes / devel / make / recipe
blobc33bbc39175d15c05e8ed4f5fa3481de2194659e
1 # Build recipe for make.
3 # Copyright (c) 2016-2018 Matias Fonzo, <selk@dragora.org>.
5 # Licensed under the Apache License, Version 2.0 (the "License");
6 # you may not use this file except in compliance with the License.
7 # You may obtain a copy of the License at
9 #    http://www.apache.org/licenses/LICENSE-2.0
11 # Unless required by applicable law or agreed to in writing, software
12 # distributed under the License is distributed on an "AS IS" BASIS,
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 # See the License for the specific language governing permissions and
15 # limitations under the License.
17 program=make
18 version=4.2.1
19 release=2
21 # Set 'outdir' for a nice and well-organized output directory
22 outdir="${outdir}/${arch}/devel"
24 tarname=${program}-${version}.tar.bz2
26 # Remote source(s)
27 fetch=ftp://ftp.gnu.org/gnu/make/$tarname
29 description="
30 The weighted make.
32 GNU Make is a tool which controls the generation of executables and
33 other non-source files of a program from the program's source files.
35 Make gets its knowledge of how to build your program from a file
36 called the makefile, which lists each of the non-source files and
37 how to compute it from other files.  When you write a program, you
38 should write a makefile for it, so that it is possible to use Make
39 to build and install the program.
42 homepage=http://www.gnu.org/software/make
43 license=GPLv3+
45 # Source documentation
46 docs="AUTHORS COPYING ChangeLog NEWS README"
47 docsdir="${docdir}/${program}-${version}"
49 build()
51     set -e
53     unpack "${tardir}/$tarname"
55     cd "$srcdir"
57     # Set sane permissions
58     chmod -R u+w,go-w,a+rX-s .
60     # Apply patches from upstream.
61     #
62     # Detect Guile 2.2
63     # http://git.savannah.nongnu.org/cgit/make.git/commit/?id=fbf71ec25a5986d9003ac16ee9e23675feac9053
64     patch -p1 < "${worktree}/patches/make/fbf71ec25a5986d9003ac16ee9e23675feac9053"
66     autoreconf -vif
68     ./configure CFLAGS="$QICFLAGS" LDFLAGS="$QILDFLAGS" \
69      $configure_args \
70      --libdir=/usr/lib${libSuffix} \
71      --infodir=$infodir \
72      --mandir=$mandir \
73      --with-guile \
74      --build="$(cc -dumpmachine)"
76     make -j${jobs} V=1
77     make -j${jobs} DESTDIR="$destdir" install-strip
79     # Make symlink for "GNU make"
80     ( cd "${destdir}/usr/bin" && ln -sf make gmake )
82     # Compress info documents deleting index file for the package
83     if test -d "${destdir}/$infodir"
84     then
85         rm -f "${destdir}/${infodir}/dir"
86         lzip -9 "${destdir}/${infodir}"/*
87     fi
89     # Compress and link man pages (if needed)
90     if test -d "${destdir}/$mandir"
91     then
92         (
93             cd "${destdir}/$mandir"
94             find . -type f -exec lzip -9 '{}' +
95             find . -type l | while read -r file
96             do
97                 ln -sf "$(readlink -- "$file").lz" "${file}.lz"
98                 rm -- "$file"
99             done
100         )
101     fi
103     # Copy documentation
104     mkdir -p "${destdir}${docsdir}"
106     for file in $docs
107     do
108         cp -p $file "${destdir}${docsdir}"
109     done