1 # Build recipe for readline.
3 # Copyright (c) 2016-2019 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.
21 # Set 'outdir' for a nice and well-organized output directory
22 outdir="${outdir}/${arch}/libs"
24 tarname=${program}-${version}.tar.gz
27 fetch=ftp://ftp.gnu.org/gnu/readline/$tarname
30 A library with line-editing capabilities.
32 GNU readline is a software library created and maintained by the
33 GNU Project. It is licensed under the GPL, and used in projects
34 such as GNU bash. It provides line-editing capabilities.
37 homepage=http://www.gnu.org/software/readline
40 # Source documentation
41 docs="CHANGELOG CHANGES COPYING NEWS README USAGE"
42 docsdir="${docdir}/${program}-${version}"
48 unpack "${tardir}/$tarname"
52 # Set sane permissions
53 chmod -R u+w,go-w,a+rX-s .
55 # Apply patches from upstream
56 for file in "${worktree}"/patches/readline/readline70-???*
64 # Reinstalling Readline will cause the old libraries to be moved to
65 # <libraryname>.old, this avoid printing a harmful message about
66 # the static libraries (thanks to LFS)
67 sed -i '/MV.*old/d' Makefile.in
68 sed -i '/{OLDSUFF}/c:' support/shlib-install
70 ./configure CFLAGS="$QICFLAGS" LDFLAGS="$QILDFLAGS" \
72 --libdir=/usr/lib${libSuffix} \
79 --build="$(cc -dumpmachine)"
81 make -j${jobs} V=1 SHLIB_LIBS='-lncursesw'
82 make -j${jobs} V=1 SHLIB_LIBS='-lncursesw' DESTDIR="$destdir" install
84 # Copy custom inputrc file
85 mkdir -p "${destdir}/etc"
86 cp -p "${worktree}/archive/readline/etc/inputrc" "${destdir}/etc/"
87 chmod 644 "${destdir}/etc/inputrc"
89 touch "${destdir}/etc/.graft-config"
91 # Compress info documents deleting index file for the package
92 if test -d "${destdir}/$infodir"
94 rm -f "${destdir}/${infodir}/dir"
95 lzip -9 "${destdir}/${infodir}"/*
98 # Compress and link man pages (if needed)
99 if test -d "${destdir}/$mandir"
102 cd "${destdir}/$mandir"
103 find . -type f -exec lzip -9 '{}' +
104 find . -type l | while read -r file
106 ln -sf "$(readlink -- "$file").lz" "${file}.lz"
113 mkdir -p "${destdir}${docsdir}"
117 cp -p $file "${destdir}${docsdir}"