recipe 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. # Build recipe for clisp.
  2. #
  3. # Copyright (c) 2017 MMPG, <mmpg@vp.pl>.
  4. # Copyright (c) 2017, 2019 Matias Fonzo, <selk@dragora.org>.
  5. #
  6. # Licensed under the Apache License, Version 2.0 (the "License");
  7. # you may not use this file except in compliance with the License.
  8. # You may obtain a copy of the License at
  9. #
  10. # http://www.apache.org/licenses/LICENSE-2.0
  11. #
  12. # Unless required by applicable law or agreed to in writing, software
  13. # distributed under the License is distributed on an "AS IS" BASIS,
  14. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  15. # See the License for the specific language governing permissions and
  16. # limitations under the License.
  17. program=clisp
  18. version=20190924_b07eacba1; # From http://gitlab.com/gnu-clisp/clisp
  19. pkgversion=2.49.93.${version}
  20. release=1
  21. # Set 'outdir' for a nice and well-organized output directory
  22. outdir="${outdir}/${arch}/devel"
  23. tarname=${program}-${version}.tar.lz
  24. # Remote source(s)
  25. fetch="
  26. http://rsync.dragora.org/current/sources/$tarname
  27. http://mirror.cedia.org.ec/dragora/current/sources/$tarname
  28. "
  29. description="
  30. An ANSI Common Lisp Implementation.
  31. In computing, CLISP is an implementation of the programming language
  32. Common Lisp originally developed by Bruno Haible and Michael Stoll for
  33. the Atari ST.
  34. LISP includes an interpreter, a bytecode compiler, debugger, socket
  35. interface, high-level foreign language interface, strong
  36. internationalization support, and two object systems:
  37. Common Lisp Object System (CLOS) and metaobject protocol (MOP).
  38. It is written in C and Common Lisp. It is now part of the GNU Project
  39. and is free software, available under the terms of the GNU General
  40. Public License (GPL).
  41. "
  42. hompage=http://clisp.org
  43. license=GPLv2+
  44. # Source documentation
  45. docs="ANNOUNCE COPYRIGHT GNU-GPL HACKING SUMMARY"
  46. docsdir="${docdir}/${program}-${pkgversion}"
  47. build()
  48. {
  49. set -e
  50. unpack "${tardir}/$tarname"
  51. cd "$srcdir"
  52. # Set sane permissions
  53. chmod -R u+w,go-w,a+rX-s .
  54. # Build in a separate directory
  55. rm -rf build
  56. mkdir -p build
  57. cd build
  58. ../configure CFLAGS="$QICFLAGS" LDFLAGS="$QILDFLAGS" \
  59. FORCE_UNSAFE_CONFIGURE=1 \
  60. --srcdir=../ \
  61. --prefix=/usr \
  62. --libdir=/usr/lib${libSuffix} \
  63. --mandir=$mandir \
  64. --docdir=$docsdir \
  65. --disable-rpath \
  66. --with-dynamic-ffi \
  67. --with-module=berkeley-db \
  68. --with-module=gdbm \
  69. --with-module=pcre \
  70. --with-module=zlib \
  71. --build="$(cc -dumpmachine)"
  72. make -j${jobs} V=1
  73. make -j${jobs} DESTDIR="$destdir" install
  74. cd ..
  75. # Compress and link man pages (if needed)
  76. if test -d "${destdir}/$mandir"
  77. then
  78. (
  79. cd "${destdir}/$mandir"
  80. find . -type f -exec lzip -9 '{}' +
  81. find . -type l | while read -r file
  82. do
  83. ln -sf "$(readlink -- "$file").lz" "${file}.lz"
  84. rm -- "$file"
  85. done
  86. )
  87. fi
  88. # Copy documentation
  89. mkdir -p "${destdir}${docsdir}"
  90. cp -p $docs "${destdir}${docsdir}"
  91. }