[Buildroot] [git commit] ficl: new package
Thomas Petazzoni
thomas.petazzoni at free-electrons.com
Sat May 28 13:15:44 UTC 2016
commit: https://git.buildroot.net/buildroot/commit/?id=814911aecb6d49bb603c34dbfcc0d86614516b41
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/master
Signed-off-by: Francois Perrad <francois.perrad at gadz.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
---
package/Config.in | 1 +
package/ficl/0001-fix-Makefile.patch | 47 ++++++++++++++++++++++++++++
package/ficl/Config.in | 9 ++++++
package/ficl/ficl.hash | 2 ++
package/ficl/ficl.mk | 59 ++++++++++++++++++++++++++++++++++++
5 files changed, 118 insertions(+)
diff --git a/package/Config.in b/package/Config.in
index e64e058..3328d19 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -494,6 +494,7 @@ menu "Erlang libraries/modules"
source "package/erlang-p1-zlib/Config.in"
endmenu
endif
+ source "package/ficl/Config.in"
source "package/gauche/Config.in"
source "package/guile/Config.in"
source "package/haserl/Config.in"
diff --git a/package/ficl/0001-fix-Makefile.patch b/package/ficl/0001-fix-Makefile.patch
new file mode 100644
index 0000000..d5a25c4
--- /dev/null
+++ b/package/ficl/0001-fix-Makefile.patch
@@ -0,0 +1,47 @@
+fix dependency in Makefiles
+
+there is no longer a sysdep.h file.
+
+Signed-off-by: Francois Perrad <francois.perrad at gadz.org>
+
+diff --git a/Makefile b/Makefile
+index 976d00a..7f73c44 100644
+--- a/Makefile
++++ b/Makefile
+@@ -29,7 +29,7 @@ libficl.so.$(MAJOR).$(MINOR): $(OBJECTS)
+ -o libficl.so.$(MAJOR).$(MINOR) $(OBJECTS)
+ ln -sf libficl.so.$(MAJOR).$(MINOR) libficl.so
+
+-main: main.o ficl.h sysdep.h libficl.so.$(MAJOR).$(MINOR)
++main: main.o ficl.h libficl.so.$(MAJOR).$(MINOR)
+ $(CC) $(CFLAGS) $(LDFLAGS) main.o -o main -L. -lficl -lm
+ ln -sf libficl.so.$(MAJOR).$(MINOR) libficl.so.$(MAJOR)
+
+diff --git a/Makefile.ansi b/Makefile.ansi
+index e510fcd..170e6eb 100644
+--- a/Makefile.ansi
++++ b/Makefile.ansi
+@@ -29,7 +29,7 @@ libficl.so.$(MAJOR).$(MINOR): $(OBJECTS)
+ -o libficl.so.$(MAJOR).$(MINOR) $(OBJECTS)
+ ln -sf libficl.so.$(MAJOR).$(MINOR) libficl.so
+
+-main: main.o ficl.h sysdep.h libficl.so.$(MAJOR).$(MINOR)
++main: main.o ficl.h libficl.so.$(MAJOR).$(MINOR)
+ $(CC) main.o -o main -L. -lficl -lm
+ ln -sf libficl.so.$(MAJOR).$(MINOR) libficl.so.$(MAJOR)
+
+diff --git a/Makefile.linux b/Makefile.linux
+index d447e7e..7f2cdfe 100644
+--- a/Makefile.linux
++++ b/Makefile.linux
+@@ -29,7 +29,7 @@ libficl.so.$(MAJOR).$(MINOR): $(OBJECTS)
+ -o libficl.so.$(MAJOR).$(MINOR) $(OBJECTS)
+ ln -sf libficl.so.$(MAJOR).$(MINOR) libficl.so
+
+-main: main.o ficl.h sysdep.h libficl.so.$(MAJOR).$(MINOR)
++main: main.o ficl.h libficl.so.$(MAJOR).$(MINOR)
+ $(CC) main.o -o main -L. -lficl -lm
+ ln -sf libficl.so.$(MAJOR).$(MINOR) libficl.so.$(MAJOR)
+
+--
+
diff --git a/package/ficl/Config.in b/package/ficl/Config.in
new file mode 100644
index 0000000..3445a64
--- /dev/null
+++ b/package/ficl/Config.in
@@ -0,0 +1,9 @@
+config BR2_PACKAGE_FICL
+ bool "ficl"
+ 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
diff --git a/package/ficl/ficl.hash b/package/ficl/ficl.hash
new file mode 100644
index 0000000..4bfbbd0
--- /dev/null
+++ b/package/ficl/ficl.hash
@@ -0,0 +1,2 @@
+# Locally computed:
+sha256 4daf74f3d3d6f8b86ea7cb47bc24931d50b4809b50ba34ca32e0ca1e972bd3a3 ficl-4.1.0.tar.gz
diff --git a/package/ficl/ficl.mk b/package/ficl/ficl.mk
new file mode 100644
index 0000000..6c212a6
--- /dev/null
+++ b/package/ficl/ficl.mk
@@ -0,0 +1,59 @@
+################################################################################
+#
+# ficl
+#
+################################################################################
+
+FICL_VERSION_MAJOR = 4.1
+FICL_VERSION = $(FICL_VERSION_MAJOR).0
+FICL_SITE = http://downloads.sourceforge.net/project/ficl/ficl-all/ficl$(FICL_VERSION_MAJOR)
+FICL_LICENSE = BSD-2c
+FICL_LICENSE_FILES = ReadMe.txt
+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 += main libficl.so.$(FICL_VERSION)
+define FICL_INSTALL_SHARED_BIN
+ $(INSTALL) -D -m 0755 $(@D)/main $(TARGET_DIR)/usr/bin/ficl
+endef
+define FICL_INSTALL_SHARED_LIB
+ $(INSTALL) -D -m 0755 $(@D)/libficl.so.$(FICL_VERSION) $(1)/usr/lib/libficl.so.$(FICL_VERSION)
+ ln -sf libficl.so.$(FICL_VERSION) $(1)/usr/lib/libficl.so.4
+ ln -sf libficl.so.$(FICL_VERSION) $(1)/usr/lib/libficl.so
+endef
+endif
+
+define FICL_BUILD_CMDS
+ $(MAKE) -C $(@D) -f Makefile.linux $(TARGET_CONFIGURE_OPTS) \
+ CPPFLAGS="$(TARGET_CPPFLAGS) -I. -Dlinux" $(FICL_BUILD_TARGETS)
+endef
+
+define FICL_INSTALL_STAGING_CMDS
+ $(FICL_INSTALL_STATIC_LIB)
+ $(call FICL_INSTALL_SHARED_LIB,$(STAGING_DIR))
+ $(INSTALL) -D -m 0644 $(@D)/ficl.h $(STAGING_DIR)/usr/include/ficl.h
+ $(INSTALL) -D -m 0644 $(@D)/ficllocal.h $(STAGING_DIR)/usr/include/ficllocal.h
+ $(INSTALL) -D -m 0644 $(@D)/ficlplatform/unix.h $(STAGING_DIR)/usr/include/ficlplatform/unix.h
+endef
+
+define FICL_INSTALL_TARGET_CMDS
+ $(FICL_INSTALL_STATIC_BIN)
+ $(FICL_INSTALL_SHARED_BIN)
+ $(call FICL_INSTALL_SHARED_LIB,$(TARGET_DIR))
+endef
+
+$(eval $(generic-package))
More information about the buildroot
mailing list