Skip to content

Commit 3e9feab

Browse files
committed
chicken-scheme: new version 5.4.0
* New version. * A patch is included in order to get the compiler (csc) to work properly on the target device (comment in the OpenWRT package Makefile). csc, chicken-install, chicken-status have been verified to work. Signed-off-by: Jeronimo Pellegrini <[email protected]>
1 parent 5553fc6 commit 3e9feab

File tree

2 files changed

+49
-12
lines changed

2 files changed

+49
-12
lines changed

lang/chicken-scheme/Makefile

Lines changed: 35 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright (C) 2019-2020 Jerônimo Cordoni Pellegrini <[email protected]>
1+
# Copyright (C) 2019-2024 Jerônimo Pellegrini <[email protected]>
22
#
33
# This file is free software, licensed under the GNU General Public License v3
44
# or later.
@@ -8,13 +8,13 @@
88
include $(TOPDIR)/rules.mk
99

1010
PKG_NAME:=chicken-scheme
11-
PKG_VERSION:=5.2.0
12-
PKG_RELEASE:=2
11+
PKG_VERSION:=5.4.0
12+
PKG_RELEASE:=1
1313

1414
PKG_BUILD_DIR:=$(BUILD_DIR)/chicken-$(PKG_VERSION)
1515
PKG_SOURCE:=chicken-$(PKG_VERSION).tar.gz
1616
PKG_SOURCE_URL:=https://code.call-cc.org/releases/$(PKG_VERSION)/
17-
PKG_HASH:=819149c8ce7303a9b381d3fdc1d5765c5f9ac4dee6f627d1652f47966a8780fa
17+
PKG_HASH:=3c5d4aa61c1167bf6d9bf9eaf891da7630ba9f5f3c15bf09515a7039bfcdec5f
1818
PKG_MAINTAINER:=Jeronimo Pellegrini <[email protected]>
1919

2020
PKG_LICENSE:=BSD-3-Clause
@@ -30,9 +30,12 @@ define Package/chicken-scheme/Default
3030
ABI_VERSION:=11
3131
endef
3232

33-
##
34-
## chicken-scheme-interpreter
35-
##
33+
34+
###############################
35+
###
36+
### chicken-scheme-interpreter
37+
###
38+
###############################
3639

3740
define Package/chicken-scheme-interpreter
3841
$(call Package/chicken-scheme/Default)
@@ -73,27 +76,47 @@ $(eval $(call BuildPackage,chicken-scheme-interpreter))
7376

7477

7578

76-
##
77-
## chicken-scheme-full
78-
##
79+
########################
80+
###
81+
### chicken-scheme-full
82+
###
83+
########################
7984

85+
## ABOUT THE PATCH INCLUDED FOR OPENWRT in package/lang/chicken/patches:
86+
## ------------------------------------
87+
#
88+
# The Chicken build system will dynamically build the file chicken-config.h,
89+
# and for OpenWRT this is done *inside the buildroot*. But then, the values
90+
# in that file are hardcoded into the csc binary, and they don't work well
91+
# in the target device:
92+
# 1. -ldl is passed to ld
93+
# 2. -fmacro-prefix-map=... is passed to gcc, with the original path from the
94+
# buildroot
95+
# and these two will not work on OpenWRT (and are not needed anyway), so the
96+
# patch included actually modifies the build system to remove those two flags.
97+
# Then csc works on the target device!
98+
99+
## ABOUT NOT STRIPPING THE BINARIES:
100+
## --------------------------------
101+
#
80102
# mips-openwrt-linux-musl-gcc dowsn't seem to link with libchicken.so.
81103
# already tried -lchicken and passing /usr/lib/libchicken.so on the command
82104
# line.
83105
# also tried -Wl,-R/usr/lib,-R/usr/lib/chicken/$(ABI_VERSION)
84106
#
85107
# current solution: we do not strip binaries in chicken-scheme-full
86108
# we do this by unsetting STRIP and RSTRIP, *and* reloading rules.mk
87-
#
109+
# Here:
88110
STRIP:=:
89111
RSTRIP:=:
112+
90113
include $(TOPDIR)/rules.mk
91114

92115
define Package/chicken-scheme-full
93116
$(call Package/chicken-scheme/Default)
94117
TITLE+=full package
95118
# csc depends on gcc; chicken-install uses the 'install' command from coreutils
96-
EXTRA_DEPENDS:= gcc, coreutils-install
119+
DEPENDS:= gcc, coreutils-install
97120
endef
98121

99122
define Package/chicken-scheme-full/description
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
--- a/defaults.make
2+
+++ b/defaults.make
3+
@@ -506,6 +506,11 @@ else
4+
endif
5+
$(call echo, >>, $@,#endif)
6+
$(call echo, >>, $@,/* END OF FILE */)
7+
+ # For OpenWRT:
8+
+ sed -e's/\-fmacro-prefix-map[^ ]*//' $@ > [email protected]
9+
10+
11+
12+
13+
chicken-install.rc:
14+
$(call echo, >, $@,/* GENERATED */)

0 commit comments

Comments
 (0)