diff mbox

[V2] 4th: new package

Message ID 1467745520-4449-1-git-send-email-francois.perrad@gadz.org
State Accepted
Headers show

Commit Message

Francois Perrad July 5, 2016, 7:05 p.m. UTC
Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
---
 package/4th/0001-avoid-regen-during-install.patch | 17 ++++++
 package/4th/4th.hash                              |  2 +
 package/4th/4th.mk                                | 64 +++++++++++++++++++++++
 package/4th/Config.in                             |  8 +++
 package/Config.in                                 |  1 +
 5 files changed, 92 insertions(+)
 create mode 100644 package/4th/0001-avoid-regen-during-install.patch
 create mode 100644 package/4th/4th.hash
 create mode 100644 package/4th/4th.mk
 create mode 100644 package/4th/Config.in

Comments

Thomas Petazzoni July 5, 2016, 8:41 p.m. UTC | #1
Hello,

When doing a new iteration of a patch, please add a changelog that
indicates what has been changed.

On Tue,  5 Jul 2016 21:05:20 +0200, Francois Perrad wrote:

> +4TH_VERSION = 3.62.4
> +4TH_SOURCE = 4th-$(4TH_VERSION)-unix.tar.gz
> +4TH_SITE = http://downloads.sourceforge.net/project/forth-4th/4th-$(4TH_VERSION)
> +4TH_LICENSE = GPLv3, LGPLv3
> +4TH_LICENSE_FILES = COPYING

Did you resolve the licensing issue? That was the main point of my
previous review:

"""
I was about to apply your patch, with some minimal changes (see
http://code.bulix.org/i2s65n-101064), but there is one fundamental
license issue here.

The COPYING file, as well as documentation/license.txt contain the
license text of the LGPLv3. But the source code (sources/*.c) all claim
to be licensed under the GPLv3. Only the .4th files are under LGPLv3.

This is clearly not good. Could you talk with upstream to get this
situation resolved?
"""

At least some reply from you about this would have been useful to
understand what's going on.

Thanks,

Thomas
Francois Perrad July 6, 2016, 5:04 p.m. UTC | #2
2016-07-05 22:41 GMT+02:00 Thomas Petazzoni
<thomas.petazzoni@free-electrons.com>:
> Hello,
>
> When doing a new iteration of a patch, please add a changelog that
> indicates what has been changed.
>
> On Tue,  5 Jul 2016 21:05:20 +0200, Francois Perrad wrote:
>
>> +4TH_VERSION = 3.62.4
>> +4TH_SOURCE = 4th-$(4TH_VERSION)-unix.tar.gz
>> +4TH_SITE = http://downloads.sourceforge.net/project/forth-4th/4th-$(4TH_VERSION)
>> +4TH_LICENSE = GPLv3, LGPLv3
>> +4TH_LICENSE_FILES = COPYING
>
> Did you resolve the licensing issue? That was the main point of my
> previous review:

After double checking, it appears that most of files in the latest
release are under GPLv3 and the others are under LGPLv3.

François

>
> """
> I was about to apply your patch, with some minimal changes (see
> http://code.bulix.org/i2s65n-101064), but there is one fundamental
> license issue here.
>
> The COPYING file, as well as documentation/license.txt contain the
> license text of the LGPLv3. But the source code (sources/*.c) all claim
> to be licensed under the GPLv3. Only the .4th files are under LGPLv3.
>
> This is clearly not good. Could you talk with upstream to get this
> situation resolved?
> """
>
> At least some reply from you about this would have been useful to
> understand what's going on.
>
> Thanks,
>
> Thomas
> --
> Thomas Petazzoni, CTO, Free Electrons
> Embedded Linux, Kernel and Android engineering
> http://free-electrons.com
> _______________________________________________
> buildroot mailing list
> buildroot@busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
Thomas Petazzoni July 6, 2016, 5:11 p.m. UTC | #3
Hello,

On Wed, 6 Jul 2016 19:04:54 +0200, François Perrad wrote:

> >> +4TH_VERSION = 3.62.4
> >> +4TH_SOURCE = 4th-$(4TH_VERSION)-unix.tar.gz
> >> +4TH_SITE = http://downloads.sourceforge.net/project/forth-4th/4th-$(4TH_VERSION)
> >> +4TH_LICENSE = GPLv3, LGPLv3
> >> +4TH_LICENSE_FILES = COPYING  
> >
> > Did you resolve the licensing issue? That was the main point of my
> > previous review:  
> 
> After double checking, it appears that most of files in the latest
> release are under GPLv3 and the others are under LGPLv3.

OK, but the COPYING file still only indicates LGPLv3. But I guess the
upstream project is no longer alive, so there is no chance to see this
fixed :-/

Thomas
Thomas Petazzoni July 6, 2016, 8:15 p.m. UTC | #4
Hello,

On Tue,  5 Jul 2016 21:05:20 +0200, Francois Perrad wrote:
> Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
> ---
>  package/4th/0001-avoid-regen-during-install.patch | 17 ++++++
>  package/4th/4th.hash                              |  2 +
>  package/4th/4th.mk                                | 64 +++++++++++++++++++++++
>  package/4th/Config.in                             |  8 +++
>  package/Config.in                                 |  1 +
>  5 files changed, 92 insertions(+)
>  create mode 100644 package/4th/0001-avoid-regen-during-install.patch
>  create mode 100644 package/4th/4th.hash
>  create mode 100644 package/4th/4th.mk
>  create mode 100644 package/4th/Config.in

Applied to master, with the following changes:

    [Thomas:
     - fix the license information, it's GPLv3+, LGPLv3+.
     - add a comment about the COPYING file containing only the LGPLv3 text,
       even though there is some GPLv3+ code.
     - minor tweaks in the .mk file
     - rewrap Config.in help text.]

Thanks!

Thomas
diff mbox

Patch

diff --git a/package/4th/0001-avoid-regen-during-install.patch b/package/4th/0001-avoid-regen-during-install.patch
new file mode 100644
index 0000000..436cff1
--- /dev/null
+++ b/package/4th/0001-avoid-regen-during-install.patch
@@ -0,0 +1,17 @@ 
+avoid regen during install
+
+Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
+
+--- a/sources/Makefile
++++ b/sources/Makefile
+@@ -120,7 +120,7 @@
+ 	ln -sf $(SHARED_LIB) $(LIBRARIES)/lib4th.so
+ endif
+ 
+-mostlyinstall: libinstall all
++mostlyinstall: libinstall
+ 	cp 4th 4tsh pp4th $(BINARIES)
+ 
+ install: mostlyinstall
+-- 
+
diff --git a/package/4th/4th.hash b/package/4th/4th.hash
new file mode 100644
index 0000000..97083da
--- /dev/null
+++ b/package/4th/4th.hash
@@ -0,0 +1,2 @@ 
+# Locally computed:
+sha256  1c7adbb1a56dad4c4c781e6e023d77ac862842560c05246b691d07e9a4460ab2  4th-3.62.4-unix.tar.gz
diff --git a/package/4th/4th.mk b/package/4th/4th.mk
new file mode 100644
index 0000000..0e7015f
--- /dev/null
+++ b/package/4th/4th.mk
@@ -0,0 +1,64 @@ 
+################################################################################
+#
+# 4th
+#
+################################################################################
+
+4TH_VERSION = 3.62.4
+4TH_SOURCE = 4th-$(4TH_VERSION)-unix.tar.gz
+4TH_SITE = http://downloads.sourceforge.net/project/forth-4th/4th-$(4TH_VERSION)
+4TH_LICENSE = GPLv3, LGPLv3
+4TH_LICENSE_FILES = COPYING
+4TH_DEPENDENCIES = host-4th
+4TH_INSTALL_STAGING = YES
+
+ifeq ($(BR2_STATIC_LIBS),y)
+4TH_MAKE_ENV = STATIC=1
+else
+4TH_MAKE_ENV = SHARED=1
+endif
+
+define 4TH_BUILD_CMDS
+	$(4TH_MAKE_ENV) \
+	$(MAKE) -C $(@D)/sources all \
+		CROSS=$(TARGET_CROSS) \
+		CFLAGS="$(TARGET_CFLAGS) -DUNIX -fsigned-char" \
+		FOURTH=$(HOST_DIR)/usr/bin/4th
+endef
+
+define 4TH_INSTALL_STAGING_CMDS
+	$(4TH_MAKE_ENV) \
+	$(MAKE) -C $(@D)/sources libinstall \
+		LIBRARIES=$(STAGING_DIR)/usr/lib
+	$(INSTALL) -D -m 0644 $(@D)/sources/4th.h \
+		$(STAGING_DIR)/usr/include/4th.h
+endef
+
+define 4TH_INSTALL_TARGET_CMDS
+	$(4TH_MAKE_ENV) \
+	$(MAKE) -C $(@D)/sources mostlyinstall \
+		BINARIES=$(TARGET_DIR)/usr/bin \
+		LIBRARIES=$(TARGET_DIR)/usr/lib
+	mkdir -p $(TARGET_DIR)/usr/share/4th/lib
+	cp -dpf $(@D)/4th/*.4th $(TARGET_DIR)/usr/share/4th
+	cp -dpf $(@D)/4th/lib/*.4th $(TARGET_DIR)/usr/share/4th/lib
+	mkdir -p $(TARGET_DIR)/usr/share/4th/demo
+	cp -dpf $(@D)/4th/demo/*.4th $(TARGET_DIR)/usr/share/4th/demo
+	mkdir -p $(TARGET_DIR)/usr/share/4th/4pp/lib
+	cp -dpf $(@D)/4th/4pp/*.4pp $(TARGET_DIR)/usr/share/4th/4pp
+	cp -dpf $(@D)/4th/4pp/lib/*.4pp $(TARGET_DIR)/usr/share/4th/4pp/lib
+endef
+
+define HOST_4TH_BUILD_CMDS
+	$(MAKE) -C $(@D)/sources all \
+		CFLAGS="$(HOST_CFLAGS) -DUNIX -fsigned-char"
+endef
+
+define HOST_4TH_INSTALL_CMDS
+	$(MAKE) -C $(@D)/sources mostlyinstall \
+		BINARIES=$(HOST_DIR)/usr/bin \
+		LIBRARIES=$(HOST_DIR)/usr/lib
+endef
+
+$(eval $(generic-package))
+$(eval $(host-generic-package))
diff --git a/package/4th/Config.in b/package/4th/Config.in
new file mode 100644
index 0000000..51f85de
--- /dev/null
+++ b/package/4th/Config.in
@@ -0,0 +1,8 @@ 
+config BR2_PACKAGE_4TH
+	bool "4th"
+	help
+	  4tH is a Forth compiler that can create bytecode, C-embeddable
+	  bytecode, standalone executables, but also works fine as a scripting
+	  language
+
+	  http://thebeez.home.xs4all.nl/4tH/
diff --git a/package/Config.in b/package/Config.in
index bffb043..eb9250a 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -477,6 +477,7 @@  endif
 endmenu
 
 menu "Interpreter languages and scripting"
+	source "package/4th/Config.in"
 	source "package/enscript/Config.in"
 	source "package/erlang/Config.in"
 if BR2_PACKAGE_ERLANG