* [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