recipe 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. # Build recipe for the berkeley-db.
  2. #
  3. # Copyright (c) 2017-2019 Matias Fonzo, <selk@dragora.org>.
  4. #
  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
  8. #
  9. # http://www.apache.org/licenses/LICENSE-2.0
  10. #
  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.
  16. # Exit immediately on any error
  17. set -e
  18. program=db
  19. version=6.2.38
  20. release=1
  21. # Define a category for the output of the package name
  22. pkgcategory=db
  23. pkgname=berkeley-db
  24. tarname=${program}-${version}.tar.gz
  25. # Remote source(s)
  26. fetch="
  27. https://dragora.mirror.garr.it/current/sources/$tarname
  28. rsync://rsync.dragora.org/current/sources/$tarname
  29. https://download.oracle.com/berkeley-db/$tarname
  30. "
  31. description="
  32. Berkeley database library.
  33. Berkeley DB is a programmatic toolkit that provides embedded database
  34. support for client/server applications.
  35. "
  36. homepage=https://www.oracle.com/database/berkeley-db/index.html
  37. license=Custom
  38. # Source documentation
  39. docs="README LICENSE"
  40. docsdir="${docdir}/${program}-${version}"
  41. build()
  42. {
  43. unpack "${tardir}/$tarname"
  44. cd "$srcdir"
  45. # Set sane permissions
  46. chmod -R u+w,go-w,a+rX-s .
  47. cd build_unix
  48. ../dist/configure CPPFLAGS="$QICPPFLAGS" CFLAGS="$QICFLAGS" CXXFLAGS="$QICXXFLAGS" \
  49. LDFLAGS="$QILDFLAGS" \
  50. $configure_args \
  51. --libdir=/usr/lib${libSuffix} \
  52. --enable-compat185 \
  53. --enable-dbm \
  54. --enable-cxx \
  55. --enable-stl \
  56. --build="$(gcc -dumpmachine)"
  57. make -j${jobs} V=1
  58. make -j${jobs} DESTDIR="$destdir" install
  59. # Huge size for the package
  60. rm -rf "${destdir}/usr/docs"
  61. # Strip remaining binaries and libraries
  62. find "$destdir" -type f | xargs file | \
  63. awk '/ELF/ && /executable/ || /shared object/' | \
  64. cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
  65. find "$destdir" -type f | xargs file | awk '/current ar archive/' | \
  66. cut -f 1 -d : | xargs strip --strip-debug 2> /dev/null || true
  67. cd ..
  68. # Copy documentation
  69. mkdir -p "${destdir}/$docsdir"
  70. cp -p $docs "${destdir}/$docsdir"
  71. }