From 0eb77b4af66bcafe633491227b1b388347f6ddf6 Mon Sep 17 00:00:00 2001 From: Jeronimo Pellegrini Date: Tue, 30 Apr 2019 09:42:19 -0300 Subject: [PATCH] Initial Makefile for Chicken Scheme --- lang/chicken-scheme-interpreter/Makefile | 75 ++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 lang/chicken-scheme-interpreter/Makefile diff --git a/lang/chicken-scheme-interpreter/Makefile b/lang/chicken-scheme-interpreter/Makefile new file mode 100644 index 0000000..58fab2d --- /dev/null +++ b/lang/chicken-scheme-interpreter/Makefile @@ -0,0 +1,75 @@ +# Chicken Scheme was packaged for OpenWRT and LibreCMC by +# Jerônimo Cordoni Pellegrini in April 2019. + +# This package configuration file is licensed under the GPL-3+ + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# The upstream authors of Chicken Scheme are Felix Winkelmann and the +# CHICKEN Team. + +include $(TOPDIR)/rules.mk + +PKG_NAME:=chicken-scheme-interpreter +PKG_VERSION=5.0.0 +PKG_RELEASE:=1 + +PKG_BUILD_DIR:=$(BUILD_DIR)/chicken-$(PKG_VERSION) +PKG_SOURCE:=chicken-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=https://code.call-cc.org/releases/5.0.0/ +PKG_HASH:=a8b94bb94c5d6a4348cedd75dc334ac80924bcd9a7a7a3d6af5121e57ef66595 + +PKG_LICENSE:=BSD-3-Clause +PKG_LICENSE_FILES:=LICENSE + +include $(INCLUDE_DIR)/package.mk + +define Package/chicken-scheme-interpreter +SECTION:=lang +CATEGORY:=Languages +TITLE:=Chicken Scheme +URL:=https://call-cc.org +MAINTAINER:=Jeronimo Pellegrini +endef + +define Package/chicken-scheme-interpreter/description + Chicken is an implementation of the Scheme language. It is portable, efficient, and supports + the R5RS and R7RS (work in progress) standards, and many extensions. + Chicken can be used as a scripting language to automate tasks. + This package contains the interpreter, 'csi', only -- + the compiler and the package installer are not included because they depend on a C compiler. + For more information, please refer to the Chicken Scheme website at https://call-cc.org. +endef + +MAKE_FLAGS += PLATFORM=linux C_COMPILER=$(TARGET_CC) LINKER=$(TARGET_CC) PREFIX=/usr C_COMPILER_OPTIMIZATION_OPTIONS="$(TARGET_CFLAGS)" + +# not installed: +# - csc and chicken, the compiler +# - the include dir (only useful with the compiler) +# - install, uninstall, status, and chicken-do, which deal with modules (installation of more modules depends on the compiler) +# - profiler +# - feathers, the debugger +# - libchicken.a, the static library +define Package/chicken-scheme-interpreter/install + $(INSTALL_DIR) $(1)/usr/bin + $(INSTALL_DIR) $(1)/usr/lib/chicken/9 + $(INSTALL_BIN) $(PKG_BUILD_DIR)/csi $(1)/usr/bin/ + $(CP) $(PKG_BUILD_DIR)/libchicken.so.9 $(1)/usr/lib/ + $(CP) $(PKG_BUILD_DIR)/libchicken.so $(1)/usr/lib/ + $(CP) $(PKG_BUILD_DIR)/*.import.so $(1)/usr/lib/chicken/9/ + $(CP) $(PKG_BUILD_DIR)/types.db $(1)/usr/lib/chicken/9/ +endef + +$(eval $(call BuildPackage,chicken-scheme-interpreter)) + -- 2.25.1