From patchwork Wed Jan 18 12:28:40 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Woodrow Douglass X-Patchwork-Id: 1728193 Return-Path: X-Original-To: incoming-buildroot@patchwork.ozlabs.org Delivered-To: patchwork-incoming-buildroot@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=buildroot.org (client-ip=2605:bc80:3010::137; helo=smtp4.osuosl.org; envelope-from=buildroot-bounces@buildroot.org; receiver=) Received: from smtp4.osuosl.org (smtp4.osuosl.org [IPv6:2605:bc80:3010::137]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4NxlST6gDjz23fT for ; Wed, 18 Jan 2023 23:29:28 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by smtp4.osuosl.org (Postfix) with ESMTP id 825BE4049F; Wed, 18 Jan 2023 12:29:26 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp4.osuosl.org 825BE4049F X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp4.osuosl.org ([127.0.0.1]) by localhost (smtp4.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Z9b5N5uIUeSY; Wed, 18 Jan 2023 12:29:25 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by smtp4.osuosl.org (Postfix) with ESMTP id 2A13E410E3; Wed, 18 Jan 2023 12:29:24 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp4.osuosl.org 2A13E410E3 X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from smtp2.osuosl.org (smtp2.osuosl.org [140.211.166.133]) by ash.osuosl.org (Postfix) with ESMTP id 8B50A1BF350 for ; Wed, 18 Jan 2023 12:29:22 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp2.osuosl.org (Postfix) with ESMTP id 62AB74051D for ; Wed, 18 Jan 2023 12:29:22 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp2.osuosl.org 62AB74051D X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp2.osuosl.org ([127.0.0.1]) by localhost (smtp2.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id uh0E2O1kHpE0 for ; Wed, 18 Jan 2023 12:29:21 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.8.0 DKIM-Filter: OpenDKIM Filter v2.11.0 smtp2.osuosl.org AA0B740472 Received: from sendmail.purelymail.com (sendmail.purelymail.com [34.202.193.197]) by smtp2.osuosl.org (Postfix) with ESMTPS id AA0B740472 for ; Wed, 18 Jan 2023 12:29:20 +0000 (UTC) Feedback-ID: 3578:1022:null:purelymail X-Pm-Original-To: buildroot@buildroot.org Received: by smtp.purelymail.com (Purelymail SMTP) with ESMTPSA id -1360140910; (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384); Wed, 18 Jan 2023 12:29:06 +0000 (UTC) To: buildroot@buildroot.org Date: Wed, 18 Jan 2023 07:28:40 -0500 Message-Id: <20230118122840.19885-1-wdouglass@carnegierobotics.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20221127202319.11124-1-wdouglass@carnegierobotics.com> References: <20221127202319.11124-1-wdouglass@carnegierobotics.com> MIME-Version: 1.0 X-MIME-Autoconverted: from 8bit to quoted-printable by Purelymail X-Mailman-Original-DKIM-Signature: a=rsa-sha256; b=oPEE+lzRbpCyEecfQ1rxbGpg/sG0NrTgh46NaovRFk9r+p6/UphwEmcBvmRyuVT3gW6oIEpTuy/PG02pDsedif8jaWtSSUTTHyowxp95gNqsdy4DFYIuqr3bPH3sSXWTtE9L/WsSJbOnOUTWF72fBiiK0c0lcBeCsdvKD2Up98vFcPoNnMN4fTQ+hDv5S8hENtg67FvEElwTXAY/3Qqd7kSCwC8+LSa6wMcHCljScXlN9DsSiU4ZcSIJ9GB6tALUXRo2REUWUHvx+RLymUKwTf7r0/f6NjW5hGeCyRqe+wDF6CNEPz25YK83eEYsLHpBwInTcdDaVVnjtDxCcacg9A==; s=purelymail3; d=douglass.dev; v=1; bh=UE0sZ6gTQFyZKZU4M1PT3QBNu/n9DK41BJVEsV2JAng=; h=Received:From:To:Subject; X-Mailman-Original-DKIM-Signature: a=rsa-sha256; b=AJv+5jCpHrry38jpTZPAlCiXk/JVZyd6mhrInOVKIsK0hFwHWm86Av+NwNxW/+fcr/hHxXRmoB8RK/YQkm/ekgbBhWDzqNFhsG4+zeMIOffOGeBilsvb2NOFHkcAB4QyU2g5KbKsU6Os/LA9Lsvn3Bssr8/i3g8YtSzIMhoSv0R7bq16ta4D9riVET3PsAGpv5im1QFaRT4HUkIgZQAxVGery8QjcWZpIRr03zl4BxmvcgOf18ylJvX1XE0Cum5F95cPAElBVcigpB3ptLHQxE8WjsIeMS5UVCNvZSi5sxf0vsOTHQ7fVHBuspvHIGy1r4IOkqAsHMN67PvntxMmmQ==; s=purelymail3; d=purelymail.com; v=1; bh=UE0sZ6gTQFyZKZU4M1PT3QBNu/n9DK41BJVEsV2JAng=; h=Feedback-ID:Received:From:To:Subject; X-Mailman-Original-Authentication-Results: smtp2.osuosl.org; dkim=pass (2048-bit key, unprotected) header.d=douglass.dev header.i=@douglass.dev header.a=rsa-sha256 header.s=purelymail3 header.b=oPEE+lzR; dkim=pass (2048-bit key, unprotected) header.d=purelymail.com header.i=@purelymail.com header.a=rsa-sha256 header.s=purelymail3 header.b=AJv+5jCp Subject: [Buildroot] [PATCH] package/libchicken: the chicken scheme programming environment X-BeenThere: buildroot@buildroot.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Woodrow Douglass via buildroot From: Woodrow Douglass Reply-To: Woodrow Douglass Cc: Thomas Petazzoni Errors-To: buildroot-bounces@buildroot.org Sender: "buildroot" This package includes the runtime library and interpreter. In the future I plan on packaging a cross-compiler for the host as well Signed-off-by: Woodrow Douglass --- DEVELOPERS | 3 ++ package/Config.in | 1 + package/libchicken/Config.in | 12 ++++++ package/libchicken/libchicken.mk | 71 ++++++++++++++++++++++++++++++++ 4 files changed, 87 insertions(+) create mode 100644 package/libchicken/Config.in create mode 100644 package/libchicken/libchicken.mk diff --git a/DEVELOPERS b/DEVELOPERS index e8e0dffcd3..64d21ce2c5 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -3015,6 +3015,9 @@ F: package/python-pyusb/ N: Wojciech NiziƄski F: package/fwup/ +N: Woodrow Douglass +F: package/libchicken + N: Xuanhao Shi F: boot/ti-k3-r5-loader/ diff --git a/package/Config.in b/package/Config.in index 995dae2c57..c605abb6be 100644 --- a/package/Config.in +++ b/package/Config.in @@ -641,6 +641,7 @@ menu "Interpreter languages and scripting" source "package/4th/Config.in" source "package/enscript/Config.in" source "package/erlang/Config.in" + source "package/libchicken/Config.in" if BR2_PACKAGE_ERLANG menu "Erlang libraries/modules" source "package/erlang-base64url/Config.in" diff --git a/package/libchicken/Config.in b/package/libchicken/Config.in new file mode 100644 index 0000000000..173215cbef --- /dev/null +++ b/package/libchicken/Config.in @@ -0,0 +1,12 @@ +config BR2_PACKAGE_LIBCHICKEN + bool "chicken-scheme-runtime" + depends on BR2_USE_MMU + help + libchicken is the runtime library for chicken + scheme. https://call-cc.org + +config BR2_LIBCHICKEN_INSTALL_INTERPRETER + bool "chicken-scheme-interpreter" + depends on BR2_PACKAGE_LIBCHICKEN + help + csi is an interpreter for the Chicken Scheme dialect diff --git a/package/libchicken/libchicken.mk b/package/libchicken/libchicken.mk new file mode 100644 index 0000000000..a402706c73 --- /dev/null +++ b/package/libchicken/libchicken.mk @@ -0,0 +1,71 @@ +################################################################################ +# +# libchicken +# +################################################################################ + +LIBCHICKEN_VERSION = 5.3.0 +LIBCHICKEN_SITE = https://code.call-cc.org/releases/$(LIBCHICKEN_VERSION) +LIBCHICKEN_SOURCE = chicken-$(LIBCHICKEN_VERSION).tar.gz +LIBCHICKEN_LICENSE = BSD +LIBCHICKEN_LICENSE_FILES = LICENSE +LIBCHICKEN_INSTALL_STAGING = YES +LIBCHICKEN_INSTALL_TARGET = YES + +LIBCHICKEN_MAKE_ARGUMENTS=ARCH= \ + PREFIX=/usr \ + PLATFORM=linux \ + C_COMPILER=${TARGET_CC} \ + CXX_COMPILER=${TARGET_CXX} \ + LIBRARIAN=${TARGET_AR} \ + DESTDIR=$(STAGING_DIR) + +# MAKE1 is used here because the install step will fail without it. Perhaps this'll be fixed upstream someday... +LIBCHICKEN_MAKE = $(MAKE1) + +ifneq ($(BR2_ARCH),x86) + LIBCHICKEN_MAKE_ARGUMENTS += TARGET_FEATURES="-no-feature x86 -feature ${BR2_ARCH}" +endif + +ifeq ($(BR2_STATIC_LIBS),y) + LIBCHICKEN_MAKE_ARGUMENTS += STATICBUILD=1 +endif + + +define LIBCHICKEN_BUILD_CMDS + $(TARGET_MAKE_ENV) $(LIBCHICKEN_MAKE) -C $(@D) ${LIBCHICKEN_MAKE_ARGUMENTS} all +endef + +define LIBCHICKEN_INSTALL_STAGING_CMDS + $(TARGET_MAKE_ENV) $(LIBCHICKEN_MAKE) -C $(@D) ${LIBCHICKEN_MAKE_ARGUMENTS} install +endef + +define LIBCHICKEN_INSTALL_TARGET_LIBS_CMDS + $(INSTALL) -D -m 0755 $(@D)/libchicken.so.11 $(TARGET_DIR)/usr/lib + ln -srT $(TARGET_DIR)/usr/lib/libchicken.so.11 $(TARGET_DIR)/usr/lib/libchicken.so +endef + +define LIBCHICKEN_INSTALL_TARGET_INTERPRETER_CMDS + $(INSTALL) -D -m 0755 $(@D)/csi $(TARGET_DIR)/usr/bin +endef + +ifeq ($(BR2_LIBCHICKEN_INSTALL_INTERPRETER),y) +ifneq ($(BR2_STATIC_LIBS),y) +define LIBCHICKEN_INSTALL_TARGET_CMDS + $(LIBCHICKEN_INSTALL_TARGET_LIBS_CMDS) + $(LIBCHICKEN_INSTALL_TARGET_INTERPRETER_CMDS) +endef +else +define LIBCHICKEN_INSTALL_TARGET_CMDS + $(LIBCHICKEN_INSTALL_TARGET_INTERPRETER_CMDS) +endef +endif +else +ifneq ($(BR2_STATIC_LIBS),y) +define LIBCHICKEN_INSTALL_TARGET_CMDS + $(LIBCHICKEN_INSTALL_TARGET_LIBS_CMDS) +endef +endif +endif + +$(eval $(generic-package))