Skip to contentSkip to conversation

package/physfs: new package

PATCH Superseded Romain Naour 4 participants 14 messages Mar 1, 2017 – Mar 7, 2017

v3 of 5 Superseded Latest is v5 →

lore
Share & tools
lore
#0 lore raw

PATCH v3 1/2 package/physfs: new package

Backport a patch from SuperTux project:
https://github.com/SuperTux/physfs/commit/61d3b63abcba8e9615dcb8a3d1fc026bf7f8d5f8

---
 DEVELOPERS                                         |  1 +
 package/Config.in                                  |  1 +
 .../physfs/0001-Fix-builds-with-modern-GCC.patch   | 38 ++++++++++++++++++++++
 package/physfs/Config.in                           | 10 ++++++
 package/physfs/physfs.mk                           | 27 +++++++++++++++
 5 files changed, 77 insertions(+)
 create mode 100644 package/physfs/0001-Fix-builds-with-modern-GCC.patch
 create mode 100644 package/physfs/Config.in
 create mode 100644 package/physfs/physfs.mk
DEVELOPERS +1 -0
index ee2300b..2cc2401 100644
@@ -1290,6 +1290,7 @@ F:	package/linux-syscall-support/
 F:	package/lugaru/
 F:	package/mcelog/
 F:	package/openpowerlink/
+F:	package/physfs/
 F:	package/stress-ng/
 F:	package/terminology/
 F:	package/upower/
package/Config.in +1 -0
index fa7e5cb..b15e064 100644
@@ -972,6 +972,7 @@ menu "Filesystem"
 	source "package/libnfs/Config.in"
 	source "package/libsysfs/Config.in"
 	source "package/lockdev/Config.in"
+	source "package/physfs/Config.in"
 endmenu
 
 menu "Graphics"
package/physfs/0001-Fix-builds-with-modern-GCC.patch new file +38 -0
new file mode 100644
index 0000000..710b4ff
@@ -0,0 +1,38 @@
+From 61d3b63abcba8e9615dcb8a3d1fc026bf7f8d5f8 Mon Sep 17 00:00:00 2001
+From: Jacob Burroughs <[email protected]>
+Date: Thu, 23 Jun 2016 13:03:47 -0500
+Subject: [PATCH] Fix builds with modern GCC
+
+From SuperTux project:
+https://github.com/SuperTux/physfs/commit/61d3b63abcba8e9615dcb8a3d1fc026bf7f8d5f8
+
+Signed-off-by: Romain Naour <[email protected]>
+---
+ CMakeLists.txt | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 2a371af..94c4844 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -50,7 +50,7 @@ endif()
+ # Add some gcc-specific command lines.
+ if(CMAKE_COMPILER_IS_GNUCC)
+     # Always build with debug symbols...you can strip it later.
+-    add_definitions(-g -pipe -Werror -fsigned-char)
++    add_definitions(-g -pipe -fsigned-char)
+ 
+     # Stupid BeOS generates warnings in the system headers.
+     if(NOT BEOS)
+@@ -304,7 +304,7 @@ if(PHYSFS_BUILD_TEST)
+         if(READLINE_LIBRARY)
+             set(HAVE_SYSTEM_READLINE TRUE)
+             set(TEST_PHYSFS_LIBS ${TEST_PHYSFS_LIBS} ${READLINE_LIBRARY} ${CURSES_LIBRARY})
+-            include_directories(${READLINE_H} ${HISTORY_H})
++            include_directories(SYSTEM ${READLINE_H} ${HISTORY_H})
+             add_definitions(-DPHYSFS_HAVE_READLINE=1)
+         endif()
+     endif()
+-- 
+2.9.3
+
package/physfs/Config.in new file +10 -0
new file mode 100644
index 0000000..dad3ab4
@@ -0,0 +1,10 @@
+config BR2_PACKAGE_PHYSFS
+	bool "physfs"
+	depends on BR2_INSTALL_LIBSTDCPP
+	help
+	  PhysicsFS; a portable, flexible file i/o abstraction.
+
+	  http://icculus.org/physfs
+
+comment "physfs needs a toolchain w/ C++"
+	depends on !BR2_INSTALL_LIBSTDCPP
package/physfs/physfs.mk new file +27 -0
new file mode 100644
index 0000000..ff76035
@@ -0,0 +1,27 @@
+################################################################################
+#
+# physfs
+#
+################################################################################
+
+PHYSFS_VERSION = be27dfd07d97336145e7f49d3fd200a6e902f85e
+PHYSFS_SITE = https://hg.icculus.org/icculus/physfs
+PHYSFS_SITE_METHOD = hg
+
+PHYSFS_INSTALL_STAGING = YES
+
+PHYSFS_CONF_OPTS = -DPHYSFS_BUILD_TEST=OFF
+
+ifeq ($(BR2_SHARED_LIBS)$(BR2_SHARED_STATIC_LIBS),y)
+PHYSFS_CONF_OPTS += -DPHYSFS_BUILD_SHARED=ON
+else
+PHYSFS_CONF_OPTS += -DPHYSFS_BUILD_SHARED=OFF
+endif
+
+ifeq ($(BR2_STATIC_LIBS)$(BR2_SHARED_STATIC_LIBS),y)
+PHYSFS_CONF_OPTS += -DPHYSFS_BUILD_STATIC=ON
+else
+PHYSFS_CONF_OPTS += -DPHYSFS_BUILD_STATIC=OFF
+endif
+
+$(eval $(cmake-package))
Signature · 1 line
2.9.3
#1 lore raw

PATCH v3 1/2 package/physfs: new package

Le 01/03/2017 ? 23:56, Romain Naour a ?crit :

Quoted 5 lines

Backport a patch from SuperTux project:
https://github.com/SuperTux/physfs/commit/61d3b63abcba8e9615dcb8a3d1fc026bf7f8d5f8

---

[...]

package/physfs/physfs.mk line 9

Quoted 10 lines
package/physfs/physfs.mk new file +9 -0
@@ -0,0 +1,27 @@
+################################################################################
+#
+# physfs
+#
+################################################################################
+
+PHYSFS_VERSION = be27dfd07d97336145e7f49d3fd200a6e902f85e
+PHYSFS_SITE = https://hg.icculus.org/icculus/physfs
+PHYSFS_SITE_METHOD = hg

I forgot to squash licenses information... sorry.
It should be:

PHYSFS_LICENSE = zlib license (physfs), LGPLv2.1+ (lzma) PHYSFS_LICENSE_FILES = LICENSE.txt src/lzma/LGPL.txt

Best regards,
Romain

Quoted 19 lines
package/physfs/physfs.mk new file +18 -0
+
+PHYSFS_INSTALL_STAGING = YES
+
+PHYSFS_CONF_OPTS = -DPHYSFS_BUILD_TEST=OFF
+
+ifeq ($(BR2_SHARED_LIBS)$(BR2_SHARED_STATIC_LIBS),y)
+PHYSFS_CONF_OPTS += -DPHYSFS_BUILD_SHARED=ON
+else
+PHYSFS_CONF_OPTS += -DPHYSFS_BUILD_SHARED=OFF
+endif
+
+ifeq ($(BR2_STATIC_LIBS)$(BR2_SHARED_STATIC_LIBS),y)
+PHYSFS_CONF_OPTS += -DPHYSFS_BUILD_STATIC=ON
+else
+PHYSFS_CONF_OPTS += -DPHYSFS_BUILD_STATIC=OFF
+endif
+
+$(eval $(cmake-package))
#2 lore raw

PATCH v3 1/2 package/physfs: new package

Hello,

Quoted 1 line · Romain Naour

PHYSFS_LICENSE = zlib license (physfs), LGPLv2.1+ (lzma)

This is not completely correct. Read src/lzma/lzma.txt for details (and include it in the license files). The lzma SDK is available under the following licenses:

1) GNU Lesser General Public License (GNU LGPL)
2) Common Public License (CPL)
3) Simplified license for unmodified code (read SPECIAL EXCEPTION)
4) Proprietary license

So perhaps:

zlib license (physfs), LGPv2.1+ or CPL or special license (lzma)

?

Could you respin after double checking this?

Thanks,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
#3 lore raw

PATCH v3 1/2 package/physfs: new package

Hi Thomas,

Le 05/03/2017 ? 21:51, Thomas Petazzoni a ?crit :

Quoted 15 lines

Hello,

Quoted 1 line · Romain Naour

PHYSFS_LICENSE = zlib license (physfs), LGPLv2.1+ (lzma)

This is not completely correct. Read src/lzma/lzma.txt for details (and include it in the license files). The lzma SDK is available under the following licenses:

1) GNU Lesser General Public License (GNU LGPL)
2) Common Public License (CPL)
3) Simplified license for unmodified code (read SPECIAL EXCEPTION)
4) Proprietary license

Quoted 5 lines

So perhaps:

zlib license (physfs), LGPv2.1+ or CPL or special license (lzma)

?

It seems some files are under public domain when the special license is used.

SPECIAL EXCEPTION #3: Igor Pavlov, as the author of this code, expressly permits you to use code of the following files:
BranchTypes.h, LzmaTypes.h, LzmaTest.c, LzmaStateTest.c, LzmaAlone.cpp, LzmaAlone.cs, LzmaAlone.java
as public domain code.

Maybe "special license" is enough ?

Best regards,
Romain

Quoted 7 lines

Could you respin after double checking this?

Thanks,

Thomas

#4 lore raw

PATCH v3 1/2 package/physfs: new package

Hello,

Quoted 6 lines · Romain Naour
Quoted 3 lines

zlib license (physfs), LGPv2.1+ or CPL or special license (lzma)

?

It seems some files are under public domain when the special license is used.

Quoted 7 lines

SPECIAL EXCEPTION #3: Igor Pavlov, as the author of this code, expressly permits you to use code of the following files:
BranchTypes.h, LzmaTypes.h, LzmaTest.c, LzmaStateTest.c, LzmaAlone.cpp, LzmaAlone.cs, LzmaAlone.java
as public domain code.

Maybe "special license" is enough ?

My understanding of lzma.txt is that you really have the choice between those different licensing options, so I believe encoding all of them in <pkg>_LICENSE is probably better.

Cc'ing Arnout and Yann to get their insight.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
#5 lore raw

PATCH v3 1/2 package/physfs: new package

Quoted 15 lines · Thomas Petazzoni

Hello,

Quoted 12 lines · Romain Naour
Quoted 3 lines

zlib license (physfs), LGPv2.1+ or CPL or special license (lzma)

?

It seems some files are under public domain when the special license is used.

SPECIAL EXCEPTION #3: Igor Pavlov, as the author of this code, expressly permits you to use code of the following files:
BranchTypes.h, LzmaTypes.h, LzmaTest.c, LzmaStateTest.c, LzmaAlone.cpp, LzmaAlone.cs, LzmaAlone.java
as public domain code.

Quoted 7 lines
Quoted 1 line

Maybe "special license" is enough ?

My understanding of lzma.txt is that you really have the choice between those different licensing options, so I believe encoding all of them in <pkg>_LICENSE is probably better.

Cc'ing Arnout and Yann to get their insight.

I was just about to reply :-)

First of all, I don't see any 'or later' language, so it's LGPL2.1 (the version
mentioned in src/lzma/LGPL.txt).

I think the special cases are not interesting enough to warrant mentioning - we
should consider the LICENSE as a strong hint, not as a definitive assertion (it is not entirely accurate in most packages). In addition, the CPL.html file which is supposed to be there, is missing. The top-level README also says "It uses the LGPL license, with exceptions for closed-source programs." This leads me to conclude that the physfs authors, when redistributint lzma, have decided to do so under LGPL and to drop the other license options.

So I'd say:

PHYSFS_LICENSE = zlib license (physfs), LGPLv2.1 with exceptions (lzma) PHYSFS_LICENSE_FILES = LICENSE.txt src/lzma/lzma.txt src/lzma/LGPL.txt

Regards,
Arnout

Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
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:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
#6 lore raw

PATCH v3 1/2 package/physfs: new package

Hi Arnout, all,

Le 05/03/2017 ? 23:06, Arnout Vandecappelle a ?crit :

Quoted 24 lines · Thomas Petazzoni
Quoted 21 lines

Hello,

Quoted 6 lines · Romain Naour
Quoted 3 lines

zlib license (physfs), LGPv2.1+ or CPL or special license (lzma)

?

It seems some files are under public domain when the special license is used.

Quoted 7 lines

SPECIAL EXCEPTION #3: Igor Pavlov, as the author of this code, expressly permits you to use code of the following files:
BranchTypes.h, LzmaTypes.h, LzmaTest.c, LzmaStateTest.c, LzmaAlone.cpp, LzmaAlone.cs, LzmaAlone.java
as public domain code.

Maybe "special license" is enough ?

My understanding of lzma.txt is that you really have the choice between those different licensing options, so I believe encoding all of them in <pkg>_LICENSE is probably better.

Quoted 6 lines
Quoted 1 line

Cc'ing Arnout and Yann to get their insight.

I was just about to reply :-)

First of all, I don't see any 'or later' language, so it's LGPL2.1 (the version
mentioned in src/lzma/LGPL.txt).

Try with "any later version"

Quoted 9 lines

I think the special cases are not interesting enough to warrant mentioning - we
should consider the LICENSE as a strong hint, not as a definitive assertion (it is not entirely accurate in most packages). In addition, the CPL.html file which is supposed to be there, is missing. The top-level README also says "It uses the LGPL license, with exceptions for closed-source programs." This leads me to conclude that the physfs authors, when redistributint lzma, have decided to do so under LGPL and to drop the other license options.

Quoted 4 lines

So I'd say:

PHYSFS_LICENSE = zlib license (physfs), LGPLv2.1 with exceptions (lzma) PHYSFS_LICENSE_FILES = LICENSE.txt src/lzma/lzma.txt src/lzma/LGPL.txt

Ok, thanks for the help!

Best regards,
Romain

Quoted 6 lines

Regards,
Arnout

#7 lore raw

PATCH v3 1/2 package/physfs: new package

Quoted 27 lines · Romain Naour

Hi Arnout, all,

Le 05/03/2017 ? 23:06, Arnout Vandecappelle a ?crit :

Quoted 24 lines · Thomas Petazzoni
Quoted 21 lines

Hello,

Quoted 6 lines · Romain Naour
Quoted 3 lines

zlib license (physfs), LGPv2.1+ or CPL or special license (lzma)

?

It seems some files are under public domain when the special license is used.

Quoted 7 lines

SPECIAL EXCEPTION #3: Igor Pavlov, as the author of this code, expressly permits you to use code of the following files:
BranchTypes.h, LzmaTypes.h, LzmaTest.c, LzmaStateTest.c, LzmaAlone.cpp, LzmaAlone.cs, LzmaAlone.java
as public domain code.

Maybe "special license" is enough ?

My understanding of lzma.txt is that you really have the choice between those different licensing options, so I believe encoding all of them in <pkg>_LICENSE is probably better.

Quoted 8 lines
Quoted 6 lines
Quoted 1 line

Cc'ing Arnout and Yann to get their insight.

I was just about to reply :-)

First of all, I don't see any 'or later' language, so it's LGPL2.1 (the version
mentioned in src/lzma/LGPL.txt).

Try with "any later version"

Still don't see it, except in LGPL.txt where they explain that the library
should specify "any later version" if they want it to apply to a later version.

Regards,
Arnout

Quoted 27 lines
Quoted 10 lines

I think the special cases are not interesting enough to warrant mentioning - we
should consider the LICENSE as a strong hint, not as a definitive assertion (it is not entirely accurate in most packages). In addition, the CPL.html file which is supposed to be there, is missing. The top-level README also says "It uses the LGPL license, with exceptions for closed-source programs." This leads me to conclude that the physfs authors, when redistributint lzma, have decided to do so under LGPL and to drop the other license options.

Quoted 4 lines

So I'd say:

PHYSFS_LICENSE = zlib license (physfs), LGPLv2.1 with exceptions (lzma) PHYSFS_LICENSE_FILES = LICENSE.txt src/lzma/lzma.txt src/lzma/LGPL.txt

Ok, thanks for the help!

Best regards,
Romain

Quoted 6 lines

Regards,
Arnout

Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
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:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
#8 lore raw

PATCH v3 1/2 package/physfs: new package

Hi Arnout, Thomas, All,

Le 06/03/2017 ? 00:31, Arnout Vandecappelle a ?crit :

Quoted 34 lines · Romain Naour
Quoted 31 lines

Hi Arnout, all,

Le 05/03/2017 ? 23:06, Arnout Vandecappelle a ?crit :

Quoted 28 lines · Thomas Petazzoni
Quoted 15 lines

Hello,

Quoted 12 lines · Romain Naour
Quoted 3 lines

zlib license (physfs), LGPv2.1+ or CPL or special license (lzma)

?

It seems some files are under public domain when the special license is used.

SPECIAL EXCEPTION #3: Igor Pavlov, as the author of this code, expressly permits you to use code of the following files:
BranchTypes.h, LzmaTypes.h, LzmaTest.c, LzmaStateTest.c, LzmaAlone.cpp, LzmaAlone.cs, LzmaAlone.java
as public domain code.

Quoted 7 lines
Quoted 1 line

Maybe "special license" is enough ?

My understanding of lzma.txt is that you really have the choice between those different licensing options, so I believe encoding all of them in <pkg>_LICENSE is probably better.

Cc'ing Arnout and Yann to get their insight.

I was just about to reply :-)

Quoted 7 lines
Quoted 4 lines
Quoted 2 lines

First of all, I don't see any 'or later' language, so it's LGPL2.1 (the version
mentioned in src/lzma/LGPL.txt).

Try with "any later version"

Still don't see it, except in LGPL.txt where they explain that the library
should specify "any later version" if they want it to apply to a later version.

Sorry but I don't see how to make the difference between LGPL2.1 and LGPL2.1+.

I compared the license file of tree LGPL2.1+ packages (alsa-lib, cairo, sdl) with src/lzma/LGPL.txt and the content is the same.

Ether alsa-lib, cairo, sdl license info are wrong or physfs is really LGPL2.1+ :)

Best regards,
Romain

Quoted 3 lines

Regards,
Arnout

#9 lore raw

PATCH v3 1/2 package/physfs: new package

In reply to Arnout Vandecappelle

Hello,

Quoted 4 lines · Arnout Vandecappelle

First of all, I don't see any 'or later' language, so it's LGPL2.1 (the version
mentioned in src/lzma/LGPL.txt).

I think the special cases are not interesting enough to warrant mentioning

Don't the special cases allow static linking more easily than what LGPL2.1 allows to do?

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
#10 lore raw

PATCH v3 1/2 package/physfs: new package

Quoted 11 lines · Thomas Petazzoni

Hello,

Quoted 4 lines · Arnout Vandecappelle

First of all, I don't see any 'or later' language, so it's LGPL2.1 (the version
mentioned in src/lzma/LGPL.txt).

I think the special cases are not interesting enough to warrant mentioning

Don't the special cases allow static linking more easily than what LGPL2.1 allows to do?

Actually there is no "special cases", there is "special exception" (which I
included in my proposal, that you snipped away but I repeat it below), and there is "proprietary license". Then there are some files that have a "public domain" option, but since the package links with a whole lot more than just those files, it's not relevant for the overall license.

Therefore:

PHYSFS_LICENSE = zlib license (physfs), LGPLv2.1 with exceptions (lzma)

Regards,
Arnout

Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
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:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
#11 lore raw

PATCH v3 1/2 package/physfs: new package

In reply to Arnout Vandecappelle

Arnout, Romain, Thomas, All,

On 2017-03-05 23:06 +0100, Arnout Vandecappelle spake thusly:

Quoted 22 lines · Thomas Petazzoni
Quoted 21 lines

Hello,

Quoted 6 lines · Romain Naour
Quoted 3 lines

zlib license (physfs), LGPv2.1+ or CPL or special license (lzma)

?

It seems some files are under public domain when the special license is used.

Quoted 7 lines

SPECIAL EXCEPTION #3: Igor Pavlov, as the author of this code, expressly permits you to use code of the following files:
BranchTypes.h, LzmaTypes.h, LzmaTest.c, LzmaStateTest.c, LzmaAlone.cpp, LzmaAlone.cs, LzmaAlone.java
as public domain code.

Maybe "special license" is enough ?

My understanding of lzma.txt is that you really have the choice between those different licensing options, so I believe encoding all of them in <pkg>_LICENSE is probably better.

Quoted 6 lines
Quoted 1 line

Cc'ing Arnout and Yann to get their insight.

I was just about to reply :-)

First of all, I don't see any 'or later' language, so it's LGPL2.1 (the version
mentioned in src/lzma/LGPL.txt).

That's a little bit more complicated, I think... :-(

The fact that COPYING contains the text of LGPLv2.1 is a strong indication that this would be the only version that should apply.

However, the lzma.txt file, which contains legal blurbs, does not state any version of the LGPL. As such, one may argue that any version may apply, as stated in COPYING itself, quoting:

If the Library does not specify a license version number, you may choose any version ever published by the Free Software Foundation.

So I would just say "LGPL".

Quoted 11 lines

I think the special cases are not interesting enough to warrant mentioning - we
should consider the LICENSE as a strong hint, not as a definitive assertion (it is not entirely accurate in most packages). In addition, the CPL.html file which is supposed to be there, is missing. The top-level README also says "It uses the LGPL license, with exceptions for closed-source programs." This leads me to conclude that the physfs authors, when redistributint lzma, have decided to do so under LGPL and to drop the other license options.

So I'd say:

PHYSFS_LICENSE = zlib license (physfs), LGPLv2.1 with exceptions (lzma)

Almost. I'd say:

PHYSFS_LICENSE = zlib license (physfs), LGPL with exceptions (lzma)

Quoted 1 line

PHYSFS_LICENSE_FILES = LICENSE.txt src/lzma/lzma.txt src/lzma/LGPL.txt

Yup.

Regards,
Yann E. MORIN.

Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#12 lore raw

PATCH v3 1/2 package/physfs: new package

Quoted 29 lines · Yann E. MORIN

Arnout, Romain, Thomas, All,

On 2017-03-05 23:06 +0100, Arnout Vandecappelle spake thusly:

Quoted 26 lines · Thomas Petazzoni
Quoted 15 lines

Hello,

Quoted 12 lines · Romain Naour
Quoted 3 lines

zlib license (physfs), LGPv2.1+ or CPL or special license (lzma)

?

It seems some files are under public domain when the special license is used.

SPECIAL EXCEPTION #3: Igor Pavlov, as the author of this code, expressly permits you to use code of the following files:
BranchTypes.h, LzmaTypes.h, LzmaTest.c, LzmaStateTest.c, LzmaAlone.cpp, LzmaAlone.cs, LzmaAlone.java
as public domain code.

Quoted 7 lines
Quoted 1 line

Maybe "special license" is enough ?

My understanding of lzma.txt is that you really have the choice between those different licensing options, so I believe encoding all of them in <pkg>_LICENSE is probably better.

Cc'ing Arnout and Yann to get their insight.

I was just about to reply :-)

Quoted 7 lines
Quoted 2 lines

First of all, I don't see any 'or later' language, so it's LGPL2.1 (the version
mentioned in src/lzma/LGPL.txt).

That's a little bit more complicated, I think... :-(

The fact that COPYING contains the text of LGPLv2.1 is a strong indication that this would be the only version that should apply.

No it isn't. The COPYING file always contains a single version of the GPL text
[note 1]. This text always contains a section explaining how you should use it, and that you can allow "any later version" if you put the appropriate text in your source code. Obviously, the text explaining what you have to do to make it LGPLv2.1+ does not by itself make it LGPLv2.1+, you actively have to execute the instructions in said text.

[note 1] Since you are not allowed to modify the text itself according to the license (the license to the text, not the LGPL license), all the COPYING files *should* be identical.

Quoted 7 lines

However, the lzma.txt file, which contains legal blurbs, does not state any version of the LGPL. As such, one may argue that any version may apply, as stated in COPYING itself, quoting:

If the Library does not specify a license version number, you may choose any version ever published by the Free Software Foundation.

Oops, you are right, I missed that piece of text.

Quoted 1 line

So I would just say "LGPL".

Agreed.

Quoted 8 lines
Quoted 8 lines

I think the special cases are not interesting enough to warrant mentioning - we
should consider the LICENSE as a strong hint, not as a definitive assertion (it is not entirely accurate in most packages). In addition, the CPL.html file which is supposed to be there, is missing. The top-level README also says "It uses the LGPL license, with exceptions for closed-source programs." This leads me to conclude that the physfs authors, when redistributint lzma, have decided to do so under LGPL and to drop the other license options.

Quoted 7 lines
Quoted 3 lines

So I'd say:

PHYSFS_LICENSE = zlib license (physfs), LGPLv2.1 with exceptions (lzma)

Almost. I'd say:

PHYSFS_LICENSE = zlib license (physfs), LGPL with exceptions (lzma)

Agreed.

Regards,
Arnout

Quoted 8 lines
Quoted 2 lines

PHYSFS_LICENSE_FILES = LICENSE.txt src/lzma/lzma.txt src/lzma/LGPL.txt

Yup.

Regards,
Yann E. MORIN.

Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
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:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
#13 lore raw

PATCH v3 2/2 package/supertux: new package

In reply to Romain Naour

Checked that libphysfs.so.1 is used by supertux2 binary.

$ LD_TRACE_LOADED_OBJECTS=1 /usr/bin/supertux2
	...
	libphysfs.so.1 => /usr/lib64/libphysfs.so.1

---
v3: add physfs package dependency
upate license list
v2: update GCC minimal version to 4.8
Coding style checked with check-package script (v1) and build tested with test-pkg script.

---
 DEVELOPERS                     |  1 +
 package/Config.in              |  1 +
 package/supertux/Config.in     | 38 ++++++++++++++++++++++++++++++++
 package/supertux/supertux.hash |  2 ++
 package/supertux/supertux.mk   | 49 ++++++++++++++++++++++++++++++++++++++++++
 5 files changed, 91 insertions(+)
 create mode 100644 package/supertux/Config.in
 create mode 100644 package/supertux/supertux.hash
 create mode 100644 package/supertux/supertux.mk
DEVELOPERS +1 -0
index 2cc2401..21991b9 100644
@@ -1292,6 +1292,7 @@ F:	package/mcelog/
 F:	package/openpowerlink/
 F:	package/physfs/
 F:	package/stress-ng/
+F:	package/supertux/
 F:	package/terminology/
 F:	package/upower/
 F:	package/xenomai/
package/Config.in +1 -0
index b15e064..1a9172e 100644
@@ -229,6 +229,7 @@ menu "Games"
 	source "package/rubix/Config.in"
 	source "package/sl/Config.in"
 	source "package/stella/Config.in"
+	source "package/supertux/Config.in"
 	source "package/supertuxkart/Config.in"
 endmenu
 
package/supertux/Config.in new file +38 -0
new file mode 100644
index 0000000..43f0e3a
@@ -0,0 +1,38 @@
+config BR2_PACKAGE_SUPERTUX
+	bool "supertux"
+	depends on BR2_INSTALL_LIBSTDCPP
+	depends on BR2_PACKAGE_HAS_LIBGL # libglew
+	depends on BR2_PACKAGE_OPENAL_ARCH_SUPPORTS
+	depends on BR2_PACKAGE_XORG7 # libglew, SDL2 OpenGL (GLX)
+	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 gcc attributes noreturn
+	depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # openal
+	depends on BR2_USE_MMU # SDL2 OpenGL (GLX)
+	depends on !BR2_STATIC_LIBS # SDL2
+	depends on BR2_USE_WCHAR # Boost
+	select BR2_PACKAGE_BOOST
+	select BR2_PACKAGE_BOOST_DATE_TIME
+	select BR2_PACKAGE_BOOST_FILESYSTEM
+	select BR2_PACKAGE_BOOST_SYSTEM
+	select BR2_PACKAGE_LIBGLEW
+	select BR2_PACKAGE_LIBGLU # GL/glu.h
+	select BR2_PACKAGE_LIBOGG
+	select BR2_PACKAGE_LIBVORBIS
+	select BR2_PACKAGE_OPENAL
+	select BR2_PACKAGE_PHYSFS
+	select BR2_PACKAGE_SDL2
+	select BR2_PACKAGE_SDL2_IMAGE
+	select BR2_PACKAGE_SDL2_OPENGL
+	help
+	  SuperTux is a free classic 2D jump'n run sidescroller game in
+	  a style similar to the original Super Mario games covered
+	  under the GNU GPL.
+
+	  http://supertux.github.io/
+
+comment "supertux needs X11 and a toolchain w/ C++, OpenGL backend, gcc >= 4.8, NPTL, dynamic library, wchar"
+	depends on BR2_PACKAGE_OPENAL_ARCH_SUPPORTS
+	depends on BR2_PACKAGE_XORG7
+	depends on BR2_USE_MMU
+	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_PACKAGE_HAS_LIBGL || \
+		!BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \
+		BR2_STATIC_LIBS || !BR2_USE_WCHAR
package/supertux/supertux.hash new file +2 -0
new file mode 100644
index 0000000..c56f608
@@ -0,0 +1,2 @@
+# Locally calculated
+sha256 c9dc3b42991ce5c5d0d0cb94e44c4ec2373ad09029940f0e92331e7e9ada0ac5 SuperTux-v0.5.1-Source.tar.gz
package/supertux/supertux.mk new file +49 -0

49 lines not on this page · raw message

Signature · 1 line
2.9.3