Makefile 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. # Chicken Scheme was packaged for OpenWRT and LibreCMC by
  2. # Jerônimo Cordoni Pellegrini <j_p@aleph0.info> in April 2019.
  3. # This package configuration file is licensed under the GPL-3+
  4. # This program is free software: you can redistribute it and/or modify
  5. # it under the terms of the GNU General Public License as published by
  6. # the Free Software Foundation, either version 3 of the License, or
  7. # (at your option) any later version.
  8. # This program is distributed in the hope that it will be useful,
  9. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  10. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  11. # GNU General Public License for more details.
  12. # You should have received a copy of the GNU General Public License
  13. # along with this program. If not, see <http://www.gnu.org/licenses/>.
  14. # The upstream authors of Chicken Scheme are Felix Winkelmann and the
  15. # CHICKEN Team.
  16. include $(TOPDIR)/rules.mk
  17. PKG_NAME:=chicken-scheme-interpreter
  18. PKG_VERSION=5.1.0
  19. PKG_RELEASE:=1
  20. PKG_BUILD_DIR:=$(BUILD_DIR)/chicken-$(PKG_VERSION)
  21. PKG_SOURCE:=chicken-$(PKG_VERSION).tar.gz
  22. PKG_SOURCE_URL:=https://code.call-cc.org/releases/5.1.0/
  23. PKG_HASH:=5c1101a8d8faabfd500ad69101e0c7c8bd826c68970f89c270640470e7b84b4b
  24. PKG_LICENSE:=BSD-3-Clause
  25. PKG_LICENSE_FILES:=LICENSE
  26. include $(INCLUDE_DIR)/package.mk
  27. define Package/chicken-scheme-interpreter
  28. SECTION:=lang
  29. CATEGORY:=Languages
  30. TITLE:=Chicken Scheme
  31. URL:=https://call-cc.org
  32. MAINTAINER:=Jeronimo Pellegrini <j_p@aleph0.info>
  33. endef
  34. define Package/chicken-scheme-interpreter/description
  35. Chicken is an implementation of the Scheme language. It is portable, efficient, and supports
  36. the R5RS and R7RS (work in progress) standards, and many extensions.
  37. Chicken can be used as a scripting language to automate tasks.
  38. This package contains the interpreter, 'csi', only --
  39. the compiler and the package installer are not included because they depend on a C compiler.
  40. For more information, please refer to the Chicken Scheme website at https://call-cc.org.
  41. endef
  42. MAKE_FLAGS += PLATFORM=linux C_COMPILER=$(TARGET_CC) LINKER=$(TARGET_CC) PREFIX=/usr C_COMPILER_OPTIMIZATION_OPTIONS="$(TARGET_CFLAGS)"
  43. # not installed:
  44. # - csc and chicken, the compiler
  45. # - the include dir (only useful with the compiler)
  46. # - install, uninstall, status, and chicken-do, which deal with modules (installation of more modules depends on the compiler)
  47. # - profiler
  48. # - feathers, the debugger
  49. # - libchicken.a, the static library
  50. define Package/chicken-scheme-interpreter/install
  51. $(INSTALL_DIR) $(1)/usr/bin
  52. $(INSTALL_DIR) $(1)/usr/lib/chicken/11
  53. $(INSTALL_BIN) $(PKG_BUILD_DIR)/csi $(1)/usr/bin/
  54. $(CP) $(PKG_BUILD_DIR)/libchicken.so.11 $(1)/usr/lib/
  55. $(CP) $(PKG_BUILD_DIR)/libchicken.so $(1)/usr/lib/
  56. $(CP) $(PKG_BUILD_DIR)/*.import.so $(1)/usr/lib/chicken/11/
  57. $(CP) $(PKG_BUILD_DIR)/types.db $(1)/usr/lib/chicken/11/
  58. endef
  59. $(eval $(call BuildPackage,chicken-scheme-interpreter))