Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH] schifra: new package
@ 2012-08-24  9:39 spdawson at gmail.com
  2012-08-25 15:21 ` Thomas Petazzoni
  2012-09-10  8:45 ` Peter Korsgaard
  0 siblings, 2 replies; 7+ messages in thread
From: spdawson at gmail.com @ 2012-08-24  9:39 UTC (permalink / raw)
  To: buildroot

From: Simon Dawson <spdawson@gmail.com>

Signed-off-by: Simon Dawson <spdawson@gmail.com>
---
 package/Config.in          |    1 +
 package/schifra/Config.in  |   18 ++++++++++++++++
 package/schifra/schifra.mk |   50 ++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 69 insertions(+)
 create mode 100644 package/schifra/Config.in
 create mode 100644 package/schifra/schifra.mk

diff --git a/package/Config.in b/package/Config.in
index f308de7..993a5ad 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -464,6 +464,7 @@ source "package/lttng-libust/Config.in"
 source "package/orc/Config.in"
 source "package/poco/Config.in"
 source "package/protobuf/Config.in"
+source "package/schifra/Config.in"
 source "package/startup-notification/Config.in"
 endmenu
 
diff --git a/package/schifra/Config.in b/package/schifra/Config.in
new file mode 100644
index 0000000..466ac0e
--- /dev/null
+++ b/package/schifra/Config.in
@@ -0,0 +1,18 @@
+config BR2_PACKAGE_SCHIFRA
+	bool "schifra"
+	depends on BR2_INSTALL_LIBSTDCPP
+	help
+	  Schifra is a very robust, highly optimized and extremely configurable
+	  Reed-Solomon error correcting code library for both software and IP
+	  core based applications with implementations in C++ and VHDL.
+
+	  http://www.schifra.com/
+
+config BR2_PACKAGE_SCHIFRA_EXAMPLES
+	bool "schifra examples"
+	depends on BR2_PACKAGE_SCHIFRA
+	help
+	  Build and install the schifra example applications.
+
+comment "schifra requires a toolchain with C++ support enabled"
+	depends on !BR2_INSTALL_LIBSTDCPP
diff --git a/package/schifra/schifra.mk b/package/schifra/schifra.mk
new file mode 100644
index 0000000..e97dede
--- /dev/null
+++ b/package/schifra/schifra.mk
@@ -0,0 +1,50 @@
+#############################################################
+#
+# schifra
+#
+#############################################################
+SCHIFRA_VERSION = 0.0.1
+SCHIFRA_SITE = http://www.schifra.com/downloads
+SCHIFRA_SOURCE = schifra.tgz
+SCHIFRA_INSTALL_STAGING = YES
+SCHIFRA_LICENSE = schifra license
+SCHIFRA_LICENSE_FILES = schifra_license.txt
+
+SCHIFRA_MAKE_OPT = COMPILER="$(TARGET_CXX)"
+
+# The examples are the only buildable artefacts.
+ifeq ($(BR2_PACKAGE_SCHIFRA_EXAMPLES),y)
+define SCHIFRA_BUILD_CMDS
+	$(MAKE) -C $(@D) $(SCHIFRA_MAKE_OPT) all
+endef
+endif
+
+define SCHIFRA_INSTALL_TARGET_CMDS
+	$(INSTALL) -m 0755 -d $(TARGET_DIR)/usr/include
+	$(INSTALL) -m 0644 -t $(TARGET_DIR)/usr/include $(@D)/schifra_*.hpp
+	$(INSTALL) -m 0755 -d $(TARGET_DIR)/usr/bin
+	for i in `find $(@D) -type f -name 'schifra_*' -executable` ; \
+	do \
+		$(INSTALL) -m 0755 -t $(TARGET_DIR)/usr/bin $$i ; \
+	done
+endef
+
+define SCHIFRA_INSTALL_STAGING_CMDS
+	$(INSTALL) -m 0755 -d $(STAGING_DIR)/usr/include
+	$(INSTALL) -m 0644 -t $(STAGING_DIR)/usr/include $(@D)/schifra_*.hpp
+endef
+
+define SCHIFRA_UNINSTALL_TARGET_CMDS
+	$(RM) $(TARGET_DIR)/usr/include/schifra_*.hpp
+	$(RM) $(TARGET_DIR)/usr/bin/schifra_*
+endef
+
+define SCHIFRA_UNINSTALL_STAGING_CMDS
+	$(RM) $(STAGING_DIR)/usr/include/schifra_*.hpp
+endef
+
+define SCHIFRA_CLEAN_CMDS
+	$(MAKE) -C $(@D) $(SCHIFRA_MAKE_OPT) clean
+endef
+
+$(eval $(generic-package))
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [Buildroot] [PATCH] schifra: new package
  2012-08-24  9:39 [Buildroot] [PATCH] schifra: new package spdawson at gmail.com
@ 2012-08-25 15:21 ` Thomas Petazzoni
  2012-08-27 10:52   ` Luca Ceresoli
  2012-09-10  8:45 ` Peter Korsgaard
  1 sibling, 1 reply; 7+ messages in thread
From: Thomas Petazzoni @ 2012-08-25 15:21 UTC (permalink / raw)
  To: buildroot

Le Fri, 24 Aug 2012 10:39:54 +0100,
spdawson at gmail.com a ?crit :

> +SCHIFRA_LICENSE = schifra license
> +SCHIFRA_LICENSE_FILES = schifra_license.txt

Shouldn't we put something like "GPLv2 or commercial" here? Apparently,
their license is: GPLv2 is you do something open-source, otherwise if
you want to link in a proprietary application, you need to buy a
commercial license. I would at least like to have explicitly "GPLv2"
mentioned here as it would more clearly raise the attention of people
checking the license compatibility of the libraries they are using.

Luca, thoughts?

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Buildroot] [PATCH] schifra: new package
  2012-08-25 15:21 ` Thomas Petazzoni
@ 2012-08-27 10:52   ` Luca Ceresoli
  2012-08-27 22:22     ` Arnout Vandecappelle
  0 siblings, 1 reply; 7+ messages in thread
From: Luca Ceresoli @ 2012-08-27 10:52 UTC (permalink / raw)
  To: buildroot

Thomas Petazzoni wrote:
> Le Fri, 24 Aug 2012 10:39:54 +0100,
> spdawson at gmail.com a ?crit :
>
>> +SCHIFRA_LICENSE = schifra license
>> +SCHIFRA_LICENSE_FILES = schifra_license.txt
>
> Shouldn't we put something like "GPLv2 or commercial" here? Apparently,
> their license is: GPLv2 is you do something open-source, otherwise if
> you want to link in a proprietary application, you need to buy a
> commercial license. I would at least like to have explicitly "GPLv2"
> mentioned here as it would more clearly raise the attention of people
> checking the license compatibility of the libraries they are using.
>
> Luca, thoughts?

Disclaimer: I'd like remind everybody I'm not a lawyer. I implemented
the legal-info feature in Buildroot, but do not consider my views about
licensing as legal advice. These are only my interpretations of the
various package licenses (which happen to be very fancy sometimes!).

GPL licenses natively imply that you cannot use the code in a proprietary
application (unless you obtain a license otherwise, of course). This used
to be the case for Qt before Nokia released them under the LGPL. This is
also the case of other libraries, such as eXosip:
(http://git.savannah.gnu.org/cgit/exosip.git/tree/COPYING).

But schifra has a more restrictive (and a bit ambiguous, IMHO) license.
They grant a GPLv2 license only "within an open source, academic or other
noncommercial/not-for-profit environment"
(http://www.schifra.com/license.html).

So, a for-profit company might ship a device containinga "regular"
GPL-licensed library (e.g. eXosip), plus a GPL application using it (e.g.
Linphone), plus a proprietary application not using that library.

But for schifra this is not the case: even though all code using schifra
is GPL, if it lives in a commercial device side-by-side to a proprietary
application not using schifra, this breaks the schifra license.

Since most embedded devices in the world are built in a commercial
environment, I think it is very difficult to use schifra in the embedded
world without buying a license. But this is not a problem of mine, of
course.

Bottom line, how to encode all of this in SCHIFRA_LICENSE is a challenge.
"GPLv2 only for open source, academic, noncommercial, not-for-profit" is
not concise, but quite informative. "General Schifra License agreement",
which is how they name it in  schifra_license.txt, is the safest option,
and an invitation to potential users to read such a convoluted piece of
licensing literature and learn how not to license a package...

Luca

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Buildroot] [PATCH] schifra: new package
  2012-08-27 10:52   ` Luca Ceresoli
@ 2012-08-27 22:22     ` Arnout Vandecappelle
  2012-08-28  7:34       ` Simon Dawson
  0 siblings, 1 reply; 7+ messages in thread
From: Arnout Vandecappelle @ 2012-08-27 22:22 UTC (permalink / raw)
  To: buildroot

On 08/27/12 12:52, Luca Ceresoli wrote:
> Thomas Petazzoni wrote:
>> Le Fri, 24 Aug 2012 10:39:54 +0100,
>> spdawson at gmail.com a ?crit :
>>
>>> +SCHIFRA_LICENSE = schifra license
>>> +SCHIFRA_LICENSE_FILES = schifra_license.txt
>>
>> Shouldn't we put something like "GPLv2 or commercial" here? Apparently,
>> their license is: GPLv2 is you do something open-source, otherwise if
>> you want to link in a proprietary application, you need to buy a
>> commercial license. I would at least like to have explicitly "GPLv2"
>> mentioned here as it would more clearly raise the attention of people
>> checking the license compatibility of the libraries they are using.
>>
>> Luca, thoughts?
>
> Disclaimer: I'd like remind everybody I'm not a lawyer. I implemented
> the legal-info feature in Buildroot, but do not consider my views about
> licensing as legal advice. These are only my interpretations of the
> various package licenses (which happen to be very fancy sometimes!).

  Same here.

>
> GPL licenses natively imply that you cannot use the code in a proprietary
> application (unless you obtain a license otherwise, of course). This used
> to be the case for Qt before Nokia released them under the LGPL. This is
> also the case of other libraries, such as eXosip:
> (http://git.savannah.gnu.org/cgit/exosip.git/tree/COPYING).
>
> But schifra has a more restrictive (and a bit ambiguous, IMHO) license.
> They grant a GPLv2 license only "within an open source, academic or other
> noncommercial/not-for-profit environment"
> (http://www.schifra.com/license.html).

  According to my reading, this means that somebody in an open source
environment (whatever that means) can use the library under the terms
of the GPLv2. And those terms stipulate that the user is allowed to
redistribute it under the terms of the GPLv2...

  So if you ask me, if we mirror it on sources.buildroot.net, it becomes
GPLv2.

[snip]
> Bottom line, how to encode all of this in SCHIFRA_LICENSE is a challenge.
> "GPLv2 only for open source, academic, noncommercial, not-for-profit" is
> not concise, but quite informative. "General Schifra License agreement",
> which is how they name it in schifra_license.txt, is the safest option,
> and an invitation to potential users to read such a convoluted piece of
> licensing literature and learn how not to license a package...

  Yup.  We want to indicate here that the legal team should pay special
attention, so 'Schifra license' is a good flag.


  Regards,
  Arnout

-- 
Arnout Vandecappelle                               arnout at mind be
Senior Embedded Software Architect                 +32-16-286540
Essensium/Mind                                     http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium                BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Buildroot] [PATCH] schifra: new package
  2012-08-27 22:22     ` Arnout Vandecappelle
@ 2012-08-28  7:34       ` Simon Dawson
  0 siblings, 0 replies; 7+ messages in thread
From: Simon Dawson @ 2012-08-28  7:34 UTC (permalink / raw)
  To: buildroot

Hi Arnount, Luca, Thomas. Thanks for your help with this.

For the sake of consistency, I'll opt for "schifra license".

Simon.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Buildroot] [PATCH] schifra: new package
  2012-08-24  9:39 [Buildroot] [PATCH] schifra: new package spdawson at gmail.com
  2012-08-25 15:21 ` Thomas Petazzoni
@ 2012-09-10  8:45 ` Peter Korsgaard
  2012-09-10  9:16   ` Simon Dawson
  1 sibling, 1 reply; 7+ messages in thread
From: Peter Korsgaard @ 2012-09-10  8:45 UTC (permalink / raw)
  To: buildroot

>>>>> "spdawson" == spdawson  <spdawson@gmail.com> writes:

 spdawson> From: Simon Dawson <spdawson@gmail.com>
 spdawson> Signed-off-by: Simon Dawson <spdawson@gmail.com>

Committed with minor changes (see below), thanks.

 spdawson> +#############################################################
 spdawson> +#
 spdawson> +# schifra
 spdawson> +#
 spdawson> +#############################################################
 spdawson> +SCHIFRA_VERSION = 0.0.1
 spdawson> +SCHIFRA_SITE = http://www.schifra.com/downloads
 spdawson> +SCHIFRA_SOURCE = schifra.tgz
 spdawson> +SCHIFRA_INSTALL_STAGING = YES
 spdawson> +SCHIFRA_LICENSE = schifra license
 spdawson> +SCHIFRA_LICENSE_FILES = schifra_license.txt
 spdawson> +
 spdawson> +SCHIFRA_MAKE_OPT = COMPILER="$(TARGET_CXX)"

We also need to pass TARGET_CFLAGS / TARGET_LDFLAGS

 spdawson> +
 spdawson> +# The examples are the only buildable artefacts.
 spdawson> +ifeq ($(BR2_PACKAGE_SCHIFRA_EXAMPLES),y)
 spdawson> +define SCHIFRA_BUILD_CMDS
 spdawson> +	$(MAKE) -C $(@D) $(SCHIFRA_MAKE_OPT) all
 spdawson> +endef
 spdawson> +endif
 spdawson> +
 spdawson> +define SCHIFRA_INSTALL_TARGET_CMDS
 spdawson> +	$(INSTALL) -m 0755 -d $(TARGET_DIR)/usr/include
 spdawson> +	$(INSTALL) -m 0644 -t $(TARGET_DIR)/usr/include $(@D)/schifra_*.hpp
 spdawson> +	$(INSTALL) -m 0755 -d $(TARGET_DIR)/usr/bin
 spdawson> +	for i in `find $(@D) -type f -name 'schifra_*' -executable` ; \
 spdawson> +	do \
 spdawson> +		$(INSTALL) -m 0755 -t $(TARGET_DIR)/usr/bin $$i ; \
 spdawson> +	done

I would like to keep the examples handling seperate (similar to the
build step), so I moved it to a _TARGET_INSTALL hook.

 spdawson> +endef
 spdawson> +
 spdawson> +define SCHIFRA_INSTALL_STAGING_CMDS
 spdawson> +	$(INSTALL) -m 0755 -d $(STAGING_DIR)/usr/include
 spdawson> +	$(INSTALL) -m 0644 -t $(STAGING_DIR)/usr/include $(@D)/schifra_*.hpp

We typically do a loop doing install -D instead, so I changed it to that
for consistency.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Buildroot] [PATCH] schifra: new package
  2012-09-10  8:45 ` Peter Korsgaard
@ 2012-09-10  9:16   ` Simon Dawson
  0 siblings, 0 replies; 7+ messages in thread
From: Simon Dawson @ 2012-09-10  9:16 UTC (permalink / raw)
  To: buildroot

On 10 September 2012 09:45, Peter Korsgaard <jacmet@uclibc.org> wrote:
> Committed with minor changes (see below), thanks.

Thanks for your work on this Peter.

Simon.

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2012-09-10  9:16 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-08-24  9:39 [Buildroot] [PATCH] schifra: new package spdawson at gmail.com
2012-08-25 15:21 ` Thomas Petazzoni
2012-08-27 10:52   ` Luca Ceresoli
2012-08-27 22:22     ` Arnout Vandecappelle
2012-08-28  7:34       ` Simon Dawson
2012-09-10  8:45 ` Peter Korsgaard
2012-09-10  9:16   ` Simon Dawson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox