[Buildroot] [PATCH v2 2/2] package/ficl: bump to version 3.05
Francois Perrad
francois.perrad at gadz.org
Sun Mar 8 15:06:49 UTC 2026
- sources are now hosted on Github
- ficl have its own LICENSE file
- remove one upstreamed patch
- support only static lib
- requires C11
---
...=> 0001-makefile.linux-pass-LDFLAGS.patch} | 30 ++++++------
package/ficl/0001-missing-include.patch | 26 -----------
package/ficl/Config.in | 6 ++-
package/ficl/ficl.hash | 4 +-
package/ficl/ficl.mk | 46 ++++---------------
5 files changed, 32 insertions(+), 80 deletions(-)
rename package/ficl/{0002-Makefile.linux-pass-LDFLAGS.patch => 0001-makefile.linux-pass-LDFLAGS.patch} (79%)
delete mode 100644 package/ficl/0001-missing-include.patch
diff --git a/package/ficl/0002-Makefile.linux-pass-LDFLAGS.patch b/package/ficl/0001-makefile.linux-pass-LDFLAGS.patch
similarity index 79%
rename from package/ficl/0002-Makefile.linux-pass-LDFLAGS.patch
rename to package/ficl/0001-makefile.linux-pass-LDFLAGS.patch
index aa5c00edb..d0ab468a3 100644
--- a/package/ficl/0002-Makefile.linux-pass-LDFLAGS.patch
+++ b/package/ficl/0001-makefile.linux-pass-LDFLAGS.patch
@@ -17,23 +17,25 @@ Upstream: upstream is dead
Signed-off-by: Dario Binacchi <dario.binacchi at amarulasolutions.com>
[francois: downgrade to 3.03]
Signed-off-by: Francois Perrad <francois.perrad at gadz.org>
+[francois: upgrade to 3.05]
+Signed-off-by: Francois Perrad <francois.perrad at gadz.org>
---
- Makefile.linux | 2 +-
+ makefile.linux | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/Makefile.linux b/Makefile.linux
-index 5f1a41f..df887e6 100644
---- a/Makefile.linux
-+++ b/Makefile.linux
-@@ -13,7 +13,7 @@ MAJOR = 3
- MINOR = 0.1
-
- ficl: testmain.o ficl.h sysdep.h libficl.a
-- $(CC) testmain.o -o ficl -L. -lficl -lm
-+ $(CC) $(LDFLAGS) testmain.o -o ficl -L. -lficl -lm
-
- lib: libficl.so.$(MAJOR).$(MINOR)
-
+diff --git a/makefile.linux b/makefile.linux
+index 1e467ea..fad7059 100755
+--- a/makefile.linux
++++ b/makefile.linux
+@@ -25,7 +25,7 @@ libficl.a: $(OBJECTS)
+
+ # === Console Test executable ===
+ ficl: testmain.o ficl.h sysdep.h libficl.a
+- $(CC) testmain.o -o ficl -L. -lficl -lm
++ $(CC) $(LDFLAGS) testmain.o -o ficl -L. -lficl -lm
+
+ # === Compile rules ===
+ .SUFFIXES: .cxx .cc .c .o
--
2.35.1
diff --git a/package/ficl/0001-missing-include.patch b/package/ficl/0001-missing-include.patch
deleted file mode 100644
index a52089623..000000000
--- a/package/ficl/0001-missing-include.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 87c78eea2c4ac69c09947c8e49f8e8668640071c Mon Sep 17 00:00:00 2001
-From: Francois Perrad <francois.perrad at gadz.org>
-Date: Sun, 7 Dec 2025 10:15:27 +0100
-Subject: [PATCH] missing include
-
-Signed-off-by: Francois Perrad <francois.perrad at gadz.org>
-Upstream: upstream is dead
----
- fileaccess.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/fileaccess.c b/fileaccess.c
-index 738889d..c03d5d6 100644
---- a/fileaccess.c
-+++ b/fileaccess.c
-@@ -4,6 +4,7 @@
- #include <string.h>
- #include <ctype.h>
- #include <sys/stat.h>
-+#include <unistd.h>
- #include "ficl.h"
-
- #if FICL_WANT_FILE
---
-2.43.0
-
diff --git a/package/ficl/Config.in b/package/ficl/Config.in
index 4d9ab4a5b..21861652e 100644
--- a/package/ficl/Config.in
+++ b/package/ficl/Config.in
@@ -1,9 +1,13 @@
config BR2_PACKAGE_FICL
bool "ficl"
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_6 # C11/static_assert
help
Ficl is a programming language interpreter designed to be
embedded into other systems as a command, macro, and
development prototyping language.
Ficl is an acronym for "Forth Inspired Command Language".
- http://ficl.sourceforge.net
+ https://ficl.sourceforge.net/
+
+comment "ficl needs a gcc >= 4.6"
+ depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_6
diff --git a/package/ficl/ficl.hash b/package/ficl/ficl.hash
index 1a4a54e70..8bb5dbb45 100644
--- a/package/ficl/ficl.hash
+++ b/package/ficl/ficl.hash
@@ -1,3 +1,3 @@
# Locally computed:
-sha256 064abbea44b2cbbeb53b8df8e5588ed41c4d32dd19bdb897e5d21507691407b2 ficl303.tar.gz
-sha256 18527f5cdc213d29fb65791e153690974e5426b7e989f3b8eee61c2e5f9e5fcd ReadMe.txt
+sha256 c8b481d76f1a676f761bb410074ec8f3b425feb74f3775149fa48a69a4faa57e ficl305.tar.gz
+sha256 b7a894f23d7d7302852405b3d1b6fd88e76b4c116a68f046d4547c073c75d3ea LICENSE
diff --git a/package/ficl/ficl.mk b/package/ficl/ficl.mk
index da9a9a33f..6ef94f11e 100644
--- a/package/ficl/ficl.mk
+++ b/package/ficl/ficl.mk
@@ -4,55 +4,27 @@
#
################################################################################
-FICL_VERSION = 303
-FICL_VERSION_SO = 3.0.1
+FICL_VERSION = 305
FICL_SOURCE = ficl$(FICL_VERSION).tar.gz
-FICL_SITE = https://sourceforge.net/projects/ficl/files/ficl-all/ficl$(FICL_VERSION)
-FICL_LICENSE = BSD-2-Clause
-FICL_LICENSE_FILES = ReadMe.txt
+FICL_SITE = $(call github,jwsadler58,ficl,ficl$(FICL_VERSION))
+FICL_LICENSE = BSD-3-Clause
+FICL_LICENSE_FILES = LICENSE
FICL_INSTALL_STAGING = YES
-ifeq ($(BR2_STATIC_LIBS),y)
-FICL_BUILD_TARGETS += ficl
-define FICL_INSTALL_STATIC_BIN
- $(INSTALL) -D -m 0755 $(@D)/ficl $(TARGET_DIR)/usr/bin/ficl
-endef
-endif
-
-ifeq ($(BR2_STATIC_LIBS)$(BR2_SHARED_STATIC_LIBS),y)
-FICL_BUILD_TARGETS += libficl.a
-define FICL_INSTALL_STATIC_LIB
- $(INSTALL) -D -m 0644 $(@D)/libficl.a $(STAGING_DIR)/usr/lib/libficl.a
-endef
-endif
-
-ifeq ($(BR2_SHARED_LIBS)$(BR2_SHARED_STATIC_LIBS),y)
-FICL_BUILD_TARGETS += testmain libficl.so.$(FICL_VERSION_SO)
-define FICL_INSTALL_SHARED_BIN
- $(INSTALL) -D -m 0755 $(@D)/testmain $(TARGET_DIR)/usr/bin/ficl
-endef
-define FICL_INSTALL_SHARED_LIB
- $(INSTALL) -D -m 0755 $(@D)/libficl.so.$(FICL_VERSION_SO) $(1)/usr/lib/libficl.so.$(FICL_VERSION_SO)
- ln -sf libficl.so.$(FICL_VERSION_SO) $(1)/usr/lib/libficl.so.3
- ln -sf libficl.so.$(FICL_VERSION_SO) $(1)/usr/lib/libficl.so
-endef
-endif
+FICL_DEPENDENCIES = host-python3
define FICL_BUILD_CMDS
- $(MAKE) -C $(@D) -f Makefile.linux $(TARGET_CONFIGURE_OPTS) \
- CFLAGS="$(TARGET_CFLAGS) -fgnu89-inline -fPIC -I. -Dlinux" CPPFLAGS="" $(FICL_BUILD_TARGETS)
+ $(MAKE) -C $(@D) -f makefile.linux $(TARGET_CONFIGURE_OPTS) \
+ CFLAGS="$(TARGET_CFLAGS) -std=c11 -Dlinux -DFICL_UNIT_TEST=0 -D_POSIX_C_SOURCE=200809L -I. " CPPFLAGS="" ficl
endef
define FICL_INSTALL_STAGING_CMDS
- $(FICL_INSTALL_STATIC_LIB)
- $(call FICL_INSTALL_SHARED_LIB,$(STAGING_DIR))
+ $(INSTALL) -D -m 0644 $(@D)/libficl.a $(STAGING_DIR)/usr/lib/libficl.a
$(INSTALL) -D -m 0644 $(@D)/ficl.h $(STAGING_DIR)/usr/include/ficl.h
endef
define FICL_INSTALL_TARGET_CMDS
- $(FICL_INSTALL_STATIC_BIN)
- $(FICL_INSTALL_SHARED_BIN)
- $(call FICL_INSTALL_SHARED_LIB,$(TARGET_DIR))
+ $(INSTALL) -D -m 0755 $(@D)/ficl $(TARGET_DIR)/usr/bin/ficl
endef
$(eval $(generic-package))
--
2.43.0
More information about the buildroot
mailing list