You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

141 lines
5.2 KiB

chicken-scheme: add conflict and small Makefile polishing - No need to explicitly state two times section and category since this is already done in define Package/chicken-scheme/Default - Also add TITLE to Default - Add conflict between chicken-scheme-interpreter and chicken-scheme-full They both provide the same files: /usr/lib/libchicken.so /usr/lib/chicken/11/chicken.time.import.so /usr/lib/chicken/11/chicken.fixnum.import.so /usr/lib/chicken/11/chicken.internal.import.so /usr/lib/chicken/11/chicken.tcp.import.so /usr/lib/chicken/11/chicken.continuation.import.so /usr/lib/chicken/11/chicken.port.import.so /usr/lib/chicken/11/chicken.random.import.so /usr/lib/chicken/11/chicken.compiler.user-pass.import.so /usr/lib/chicken/11/chicken.process-context.import.so /usr/lib/chicken/11/chicken.bitwise.import.so /usr/lib/chicken/11/srfi-4.import.so /usr/lib/chicken/11/chicken.load.import.so /usr/lib/chicken/11/chicken.blob.import.so /usr/lib/chicken/11/chicken.time.posix.import.so /usr/lib/chicken/11/chicken.file.posix.import.so /usr/lib/chicken/11/chicken.flonum.import.so /usr/lib/chicken/11/chicken.condition.import.so /usr/lib/chicken/11/chicken.pretty-print.import.so /usr/lib/chicken/11/types.db /usr/lib/chicken/11/chicken.foreign.import.so /usr/lib/chicken/11/chicken.repl.import.so /usr/lib/chicken/11/chicken.pathname.import.so /usr/lib/chicken/11/chicken.sort.import.so /usr/lib/chicken/11/chicken.keyword.import.so /usr/lib/chicken/11/chicken.process.signal.import.so /usr/lib/chicken/11/chicken.platform.import.so /usr/lib/chicken/11/chicken.base.import.so /usr/lib/chicken/11/chicken.syntax.import.so /usr/lib/chicken/11/chicken.file.import.so /usr/lib/chicken/11/chicken.memory.import.so /usr/lib/chicken/11/chicken.gc.import.so /usr/lib/chicken/11/chicken.io.import.so /usr/lib/chicken/11/chicken.memory.representation.import.so /usr/lib/chicken/11/chicken.process.import.so /usr/lib/chicken/11/chicken.plist.import.so /usr/lib/chicken/11/chicken.string.import.so /usr/lib/chicken/11/chicken.errno.import.so /usr/lib/chicken/11/chicken.format.import.so /usr/lib/chicken/11/chicken.eval.import.so /usr/lib/chicken/11/chicken.irregex.import.so /usr/lib/chicken/11/chicken.process-context.posix.import.so /usr/lib/chicken/11/chicken.read-syntax.import.so /usr/lib/chicken/11/chicken.csi.import.so /usr/lib/chicken/11/chicken.locative.import.so /usr/bin/csi Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
3 years ago
chicken-scheme: add conflict and small Makefile polishing - No need to explicitly state two times section and category since this is already done in define Package/chicken-scheme/Default - Also add TITLE to Default - Add conflict between chicken-scheme-interpreter and chicken-scheme-full They both provide the same files: /usr/lib/libchicken.so /usr/lib/chicken/11/chicken.time.import.so /usr/lib/chicken/11/chicken.fixnum.import.so /usr/lib/chicken/11/chicken.internal.import.so /usr/lib/chicken/11/chicken.tcp.import.so /usr/lib/chicken/11/chicken.continuation.import.so /usr/lib/chicken/11/chicken.port.import.so /usr/lib/chicken/11/chicken.random.import.so /usr/lib/chicken/11/chicken.compiler.user-pass.import.so /usr/lib/chicken/11/chicken.process-context.import.so /usr/lib/chicken/11/chicken.bitwise.import.so /usr/lib/chicken/11/srfi-4.import.so /usr/lib/chicken/11/chicken.load.import.so /usr/lib/chicken/11/chicken.blob.import.so /usr/lib/chicken/11/chicken.time.posix.import.so /usr/lib/chicken/11/chicken.file.posix.import.so /usr/lib/chicken/11/chicken.flonum.import.so /usr/lib/chicken/11/chicken.condition.import.so /usr/lib/chicken/11/chicken.pretty-print.import.so /usr/lib/chicken/11/types.db /usr/lib/chicken/11/chicken.foreign.import.so /usr/lib/chicken/11/chicken.repl.import.so /usr/lib/chicken/11/chicken.pathname.import.so /usr/lib/chicken/11/chicken.sort.import.so /usr/lib/chicken/11/chicken.keyword.import.so /usr/lib/chicken/11/chicken.process.signal.import.so /usr/lib/chicken/11/chicken.platform.import.so /usr/lib/chicken/11/chicken.base.import.so /usr/lib/chicken/11/chicken.syntax.import.so /usr/lib/chicken/11/chicken.file.import.so /usr/lib/chicken/11/chicken.memory.import.so /usr/lib/chicken/11/chicken.gc.import.so /usr/lib/chicken/11/chicken.io.import.so /usr/lib/chicken/11/chicken.memory.representation.import.so /usr/lib/chicken/11/chicken.process.import.so /usr/lib/chicken/11/chicken.plist.import.so /usr/lib/chicken/11/chicken.string.import.so /usr/lib/chicken/11/chicken.errno.import.so /usr/lib/chicken/11/chicken.format.import.so /usr/lib/chicken/11/chicken.eval.import.so /usr/lib/chicken/11/chicken.irregex.import.so /usr/lib/chicken/11/chicken.process-context.posix.import.so /usr/lib/chicken/11/chicken.read-syntax.import.so /usr/lib/chicken/11/chicken.csi.import.so /usr/lib/chicken/11/chicken.locative.import.so /usr/bin/csi Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
3 years ago
chicken-scheme: add conflict and small Makefile polishing - No need to explicitly state two times section and category since this is already done in define Package/chicken-scheme/Default - Also add TITLE to Default - Add conflict between chicken-scheme-interpreter and chicken-scheme-full They both provide the same files: /usr/lib/libchicken.so /usr/lib/chicken/11/chicken.time.import.so /usr/lib/chicken/11/chicken.fixnum.import.so /usr/lib/chicken/11/chicken.internal.import.so /usr/lib/chicken/11/chicken.tcp.import.so /usr/lib/chicken/11/chicken.continuation.import.so /usr/lib/chicken/11/chicken.port.import.so /usr/lib/chicken/11/chicken.random.import.so /usr/lib/chicken/11/chicken.compiler.user-pass.import.so /usr/lib/chicken/11/chicken.process-context.import.so /usr/lib/chicken/11/chicken.bitwise.import.so /usr/lib/chicken/11/srfi-4.import.so /usr/lib/chicken/11/chicken.load.import.so /usr/lib/chicken/11/chicken.blob.import.so /usr/lib/chicken/11/chicken.time.posix.import.so /usr/lib/chicken/11/chicken.file.posix.import.so /usr/lib/chicken/11/chicken.flonum.import.so /usr/lib/chicken/11/chicken.condition.import.so /usr/lib/chicken/11/chicken.pretty-print.import.so /usr/lib/chicken/11/types.db /usr/lib/chicken/11/chicken.foreign.import.so /usr/lib/chicken/11/chicken.repl.import.so /usr/lib/chicken/11/chicken.pathname.import.so /usr/lib/chicken/11/chicken.sort.import.so /usr/lib/chicken/11/chicken.keyword.import.so /usr/lib/chicken/11/chicken.process.signal.import.so /usr/lib/chicken/11/chicken.platform.import.so /usr/lib/chicken/11/chicken.base.import.so /usr/lib/chicken/11/chicken.syntax.import.so /usr/lib/chicken/11/chicken.file.import.so /usr/lib/chicken/11/chicken.memory.import.so /usr/lib/chicken/11/chicken.gc.import.so /usr/lib/chicken/11/chicken.io.import.so /usr/lib/chicken/11/chicken.memory.representation.import.so /usr/lib/chicken/11/chicken.process.import.so /usr/lib/chicken/11/chicken.plist.import.so /usr/lib/chicken/11/chicken.string.import.so /usr/lib/chicken/11/chicken.errno.import.so /usr/lib/chicken/11/chicken.format.import.so /usr/lib/chicken/11/chicken.eval.import.so /usr/lib/chicken/11/chicken.irregex.import.so /usr/lib/chicken/11/chicken.process-context.posix.import.so /usr/lib/chicken/11/chicken.read-syntax.import.so /usr/lib/chicken/11/chicken.csi.import.so /usr/lib/chicken/11/chicken.locative.import.so /usr/bin/csi Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
3 years ago
  1. # Copyright (C) 2019-2020 Jerônimo Cordoni Pellegrini <j_p@aleph0.info>
  2. #
  3. # This file is free software, licensed under the GNU General Public License v3
  4. # or later.
  5. # See /LICENSE for details
  6. #
  7. include $(TOPDIR)/rules.mk
  8. PKG_NAME:=chicken-scheme
  9. PKG_VERSION:=5.2.0
  10. PKG_RELEASE:=2
  11. PKG_BUILD_DIR:=$(BUILD_DIR)/chicken-$(PKG_VERSION)
  12. PKG_SOURCE:=chicken-$(PKG_VERSION).tar.gz
  13. PKG_SOURCE_URL:=https://code.call-cc.org/releases/$(PKG_VERSION)/
  14. PKG_HASH:=819149c8ce7303a9b381d3fdc1d5765c5f9ac4dee6f627d1652f47966a8780fa
  15. PKG_MAINTAINER:=Jeronimo Pellegrini <j_p@aleph0.info>
  16. PKG_LICENSE:=BSD-3-Clause
  17. PKG_LICENSE_FILES:=LICENSE
  18. include $(INCLUDE_DIR)/package.mk
  19. define Package/chicken-scheme/Default
  20. TITLE:=Chicken Scheme
  21. SECTION:=lang
  22. CATEGORY:=Languages
  23. URL:=https://call-cc.org
  24. ABI_VERSION:=11
  25. endef
  26. ##
  27. ## chicken-scheme-interpreter
  28. ##
  29. define Package/chicken-scheme-interpreter
  30. $(call Package/chicken-scheme/Default)
  31. TITLE+=interpreter only
  32. CONFLICTS:=chicken-scheme-full
  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
  47. # (installation of more modules depends on the compiler)
  48. # - profiler
  49. # - feathers, the debugger
  50. # - libchicken.a, the static library
  51. define Package/chicken-scheme-interpreter/install
  52. $(INSTALL_DIR) $(1)/usr/bin
  53. $(INSTALL_DIR) $(1)/usr/lib/chicken/$(ABI_VERSION)
  54. $(INSTALL_BIN) $(PKG_BUILD_DIR)/csi $(1)/usr/bin/
  55. $(CP) $(PKG_BUILD_DIR)/libchicken.so.$(ABI_VERSION) $(1)/usr/lib/
  56. $(CP) $(PKG_BUILD_DIR)/libchicken.so $(1)/usr/lib/
  57. $(CP) $(PKG_BUILD_DIR)/*.import.so $(1)/usr/lib/chicken/$(ABI_VERSION)/
  58. $(CP) $(PKG_BUILD_DIR)/types.db $(1)/usr/lib/chicken/$(ABI_VERSION)/
  59. endef
  60. $(eval $(call BuildPackage,chicken-scheme-interpreter))
  61. ##
  62. ## chicken-scheme-full
  63. ##
  64. # mips-openwrt-linux-musl-gcc dowsn't seem to link with libchicken.so.
  65. # already tried -lchicken and passing /usr/lib/libchicken.so on the command
  66. # line.
  67. # also tried -Wl,-R/usr/lib,-R/usr/lib/chicken/$(ABI_VERSION)
  68. #
  69. # current solution: we do not strip binaries in chicken-scheme-full
  70. # we do this by unsetting STRIP and RSTRIP, *and* reloading rules.mk
  71. #
  72. STRIP:=:
  73. RSTRIP:=:
  74. include $(TOPDIR)/rules.mk
  75. define Package/chicken-scheme-full
  76. $(call Package/chicken-scheme/Default)
  77. TITLE+=full package
  78. # csc depends on gcc; chicken-install uses the 'install' command from coreutils
  79. EXTRA_DEPENDS:= gcc, coreutils-install
  80. endef
  81. define Package/chicken-scheme-full/description
  82. Chicken is an implementation of the Scheme language. It is portable, efficient, and supports
  83. the R5RS and R7RS (work in progress) standards, and many extensions.
  84. Chicken can be used as a scripting language to automate tasks.
  85. This package contains the interpreter, 'csi'; the compiler, 'csc';
  86. the tools for installing and removing eggs (modules); the profiler and
  87. the debugger.
  88. Note that this package depends on gcc, which is quite large (more than 100Mb).
  89. For more information, please refer to the Chicken Scheme website at https://call-cc.org.
  90. endef
  91. # not installed:
  92. # - libchicken.a, the static library
  93. define Package/chicken-scheme-full/install
  94. $(INSTALL_DIR) $(1)/usr/bin
  95. $(INSTALL_DIR) $(1)/usr/lib/chicken/$(ABI_VERSION)
  96. $(INSTALL_DIR) $(1)/usr/include/chicken
  97. $(INSTALL_DIR) $(1)/usr/share/chicken
  98. $(INSTALL_BIN) $(PKG_BUILD_DIR)/csi $(1)/usr/bin/
  99. $(CP) $(PKG_BUILD_DIR)/libchicken.so.$(ABI_VERSION) $(1)/usr/lib/
  100. $(CP) $(PKG_BUILD_DIR)/libchicken.so $(1)/usr/lib/
  101. $(CP) $(PKG_BUILD_DIR)/*.import.so $(1)/usr/lib/chicken/$(ABI_VERSION)/
  102. $(CP) $(PKG_BUILD_DIR)/types.db $(1)/usr/lib/chicken/$(ABI_VERSION)/
  103. # csc
  104. $(INSTALL_BIN) $(PKG_BUILD_DIR)/csc $(1)/usr/bin/
  105. $(INSTALL_BIN) $(PKG_BUILD_DIR)/chicken $(1)/usr/bin/
  106. $(INSTALL_DATA) $(PKG_BUILD_DIR)/chicken.h $(1)/usr/include/chicken/
  107. $(INSTALL_DATA) $(PKG_BUILD_DIR)/chicken-config.h $(1)/usr/include/chicken/
  108. # chicken-install
  109. $(INSTALL_BIN) $(PKG_BUILD_DIR)/chicken-install $(1)/usr/bin/
  110. $(INSTALL_BIN) $(PKG_BUILD_DIR)/chicken-uninstall $(1)/usr/bin/
  111. $(INSTALL_BIN) $(PKG_BUILD_DIR)/chicken-status $(1)/usr/bin/
  112. $(INSTALL_BIN) $(PKG_BUILD_DIR)/chicken-do $(1)/usr/bin/
  113. $(INSTALL_DATA) $(PKG_BUILD_DIR)/setup.defaults $(1)/usr/share/chicken/
  114. # profile
  115. $(INSTALL_BIN) $(PKG_BUILD_DIR)/chicken-profile $(1)/usr/bin/
  116. # feathers
  117. $(INSTALL_BIN) $(PKG_BUILD_DIR)/feathers.tcl $(1)/usr/share/chicken/
  118. $(INSTALL_BIN) $(PKG_BUILD_DIR)/feathers $(1)/usr/bin/
  119. endef
  120. $(eval $(call BuildPackage,chicken-scheme-full))