Skip to contentSkip to conversation

package: add smpq and stormlib

PATCH Superseded Gleb Mazovetskiy 3 participants 11 messages Oct 10, 2021 – Oct 21, 2021

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 package: add smpq and stormlib

SMPQ is a utility for working with Blizzard MPQ archives and StormLib is the library for doing this that it depends on.

SMPQ/StormLib is a runtime and/or build-time dependency of several source ports / reimplementations of Blizzard games, such as DevilutionX.

These packages are already available in other distros, such as Debian.

---
 package/Config.in              |  2 ++
 package/smpq/Config.in         | 11 ++++++++++
 package/smpq/smpq.hash         |  3 +++
 package/smpq/smpq.mk           | 37 ++++++++++++++++++++++++++++++++++
 package/stormlib/Config.in     |  8 ++++++++
 package/stormlib/stormlib.hash |  3 +++
 package/stormlib/stormlib.mk   | 16 +++++++++++++++
 7 files changed, 80 insertions(+)
 create mode 100644 package/smpq/Config.in
 create mode 100644 package/smpq/smpq.hash
 create mode 100644 package/smpq/smpq.mk
 create mode 100644 package/stormlib/Config.in
 create mode 100644 package/stormlib/stormlib.hash
 create mode 100644 package/stormlib/stormlib.mk
package/Config.in +2 -0
index 9fed0ab4cb..890a6be135 100644
@@ -74,6 +74,7 @@ menu "Compressors and decompressors"
 	source "package/p7zip/Config.in"
 	source "package/pigz/Config.in"
 	source "package/pixz/Config.in"
+	source "package/smpq/Config.in"
 	source "package/unrar/Config.in"
 	source "package/unzip/Config.in"
 	source "package/xz/Config.in"
@@ -1360,6 +1361,7 @@ menu "Compression and decompression"
 	source "package/lzo/Config.in"
 	source "package/minizip/Config.in"
 	source "package/snappy/Config.in"
+	source "package/stormlib/Config.in"
 	source "package/szip/Config.in"
 	source "package/zlib/Config.in"
 	source "package/zziplib/Config.in"
package/smpq/Config.in new file +11 -0
new file mode 100644
index 0000000000..589f5cf834
@@ -0,0 +1,11 @@
+config BR2_PACKAGE_SMPQ
+	bool "smpq"
+	select BR2_PACKAGE_SMPQ
+	help
+	  StormLib MPQ archiving utility
+
+	  This utility manipulates Blizzard MPQ archives.
+	  It supports extracting, appending, renaming and deleting files
+	  in MPQ archives, and creating new MPQ archives.
+
+	  https://launchpad.net/smpq
package/smpq/smpq.hash new file +3 -0
new file mode 100644
index 0000000000..f14eaef49b
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256  b5d2dc8a5de8629b71ee5d3612b6e84d88418b86c5cd39ba315e9eb0462f18cb  smpq_1.6.orig.tar.gz
+sha256  8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903  COPYING
package/smpq/smpq.mk new file +37 -0
new file mode 100644
index 0000000000..6696c88f9c
@@ -0,0 +1,37 @@
+################################################################################
+#
+# smpq
+#
+################################################################################
+
+SMPQ_VERSION = 1.6
+SMPQ_SOURCE = smpq_$(SMPQ_VERSION).orig.tar.gz
+SMPQ_SITE = https://launchpad.net/smpq/trunk/$(SMPQ_VERSION)/+download
+SMPQ_DEPENDENCIES = stormlib
+HOST_SMPQ_DEPENDENCIES = host-stormlib
+SMPQ_LICENSE = GPL-3.0+
+SMPQ_LICENSE_FILES = LICENSE
+SMPQ_INSTALL_STAGING = YES
+SMPQ_CONF_OPTS += -DWITH_KDE=OFF
+HOST_SMPQ_CONF_OPTS += -DWITH_KDE=OFF
+
+# The StormLib version check in SMPQ CMake is broken. Disable it.
+define SMPQ_DISABLE_VERSION_CHECK
+	$(SED) 's/try_compile(CHECK.*/set(CHECK ON)/' $(@D)/CMakeLists.txt
+endef
+
+define SMPQ_DISABLE_MANUAL
+	$(SED) 's|if(NOT CMAKE_CROSSCOMPILING)|if(FALSE)|' $(@D)/CMakeLists.txt
+endef
+
+# StormLib is C++ and must be linked with a C++ linker (e.g. via g++ instead of gcc).
+define SMPQ_SET_LANG_TO_CXX
+	$(SED) '/^project/a file(GLOB_RECURSE CFILES "$${CMAKE_SOURCE_DIR}/*.c")\$(NEWLINE)
+SET_SOURCE_FILES_PROPERTIES($${CFILES} PROPERTIES LANGUAGE CXX)' $(@D)/CMakeLists.txt
+endef
+
+SMPQ_POST_PATCH_HOOKS += SMPQ_DISABLE_VERSION_CHECK SMPQ_DISABLE_MANUAL SMPQ_SET_LANG_TO_CXX
+HOST_SMPQ_POST_PATCH_HOOKS += SMPQ_DISABLE_VERSION_CHECK SMPQ_DISABLE_MANUAL SMPQ_SET_LANG_TO_CXX
+
+$(eval $(cmake-package))
+$(eval $(host-cmake-package))
package/stormlib/Config.in new file +8 -0
new file mode 100644
index 0000000000..b2e4df3c62
@@ -0,0 +1,8 @@
+config BR2_PACKAGE_STORMLIB
+	bool "stormlib"
+	select BR2_PACKAGE_BZIP2
+	select BR2_PACKAGE_ZLIB
+	help
+	  StormLib is a library that reads and writes Blizzard MPQ archives.
+
+	  https://github.com/ladislav-zezula/StormLib
package/stormlib/stormlib.hash new file +3 -0
new file mode 100644
index 0000000000..dc5370b03d
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256  53b8befda3855a922e57a27f78c36feba7e9a32804da4b6592a3670c4e9cec98  stormlib-5ab093b7a57b8779dff06a08fac19d46c40b3329.tar.gz
+sha256  50b128e6750ed9d887e7a5748a6021238bb2f3bf34a5dd2768c410d932069e35  LICENSE
package/stormlib/stormlib.mk new file +16 -0
new file mode 100644
index 0000000000..a2e58aa983
@@ -0,0 +1,16 @@
+################################################################################
+#
+# stormlib
+#
+################################################################################
+
+STORMLIB_VERSION = 5ab093b7a57b8779dff06a08fac19d46c40b3329
+STORMLIB_SITE = $(call github,ladislav-zezula,StormLib,$(STORMLIB_VERSION))
+STORMLIB_DEPENDENCIES = zlib bzip2
+HOST_STORMLIB_DEPENDENCIES = host-zlib host-bzip2
+STORMLIB_LICENSE = MIT
+STORMLIB_LICENSE_FILES = LICENSE
+STORMLIB_INSTALL_STAGING = YES
+
+$(eval $(cmake-package))
+$(eval $(host-cmake-package))
Signature · 6 lines
2.30.2

_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#1 lore raw

Gleb, All,

On 2021-10-10 18:09 +0100, Gleb Mazovetskiy spake thusly:

Quoted 7 lines

SMPQ is a utility for working with Blizzard MPQ archives and StormLib is the library for doing this that it depends on.

SMPQ/StormLib is a runtime and/or build-time dependency of several source ports / reimplementations of Blizzard games, such as DevilutionX.

These packages are already available in other distros, such as Debian.

Please, provide you patch per package.

Quoted 75 lines
---
 package/Config.in              |  2 ++
 package/smpq/Config.in         | 11 ++++++++++
 package/smpq/smpq.hash         |  3 +++
 package/smpq/smpq.mk           | 37 ++++++++++++++++++++++++++++++++++
 package/stormlib/Config.in     |  8 ++++++++
 package/stormlib/stormlib.hash |  3 +++
 package/stormlib/stormlib.mk   | 16 +++++++++++++++
 7 files changed, 80 insertions(+)
 create mode 100644 package/smpq/Config.in
 create mode 100644 package/smpq/smpq.hash
 create mode 100644 package/smpq/smpq.mk
 create mode 100644 package/stormlib/Config.in
 create mode 100644 package/stormlib/stormlib.hash
 create mode 100644 package/stormlib/stormlib.mk
package/Config.in +2 -0
index 9fed0ab4cb..890a6be135 100644
@@ -74,6 +74,7 @@ menu "Compressors and decompressors"
 	source "package/p7zip/Config.in"
 	source "package/pigz/Config.in"
 	source "package/pixz/Config.in"
+	source "package/smpq/Config.in"
 	source "package/unrar/Config.in"
 	source "package/unzip/Config.in"
 	source "package/xz/Config.in"
@@ -1360,6 +1361,7 @@ menu "Compression and decompression"
 	source "package/lzo/Config.in"
 	source "package/minizip/Config.in"
 	source "package/snappy/Config.in"
+	source "package/stormlib/Config.in"
 	source "package/szip/Config.in"
 	source "package/zlib/Config.in"
 	source "package/zziplib/Config.in"
package/smpq/Config.in new file +11 -0
new file mode 100644
index 0000000000..589f5cf834
@@ -0,0 +1,11 @@
+config BR2_PACKAGE_SMPQ
+	bool "smpq"
+	select BR2_PACKAGE_SMPQ
+	help
+	  StormLib MPQ archiving utility
+
+	  This utility manipulates Blizzard MPQ archives.
+	  It supports extracting, appending, renaming and deleting files
+	  in MPQ archives, and creating new MPQ archives.
+
+	  https://launchpad.net/smpq
package/smpq/smpq.hash new file +3 -0
new file mode 100644
index 0000000000..f14eaef49b
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256  b5d2dc8a5de8629b71ee5d3612b6e84d88418b86c5cd39ba315e9eb0462f18cb  smpq_1.6.orig.tar.gz
+sha256  8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903  COPYING
package/smpq/smpq.mk new file +6 -0
new file mode 100644
index 0000000000..6696c88f9c
@@ -0,0 +1,37 @@
+################################################################################
+#
+# smpq
+#
+################################################################################
+

package/smpq/smpq.mk line 16

Quoted 10 lines
package/smpq/smpq.mk new file +10 -0
+SMPQ_VERSION = 1.6
+SMPQ_SOURCE = smpq_$(SMPQ_VERSION).orig.tar.gz
+SMPQ_SITE = https://launchpad.net/smpq/trunk/$(SMPQ_VERSION)/+download
+SMPQ_DEPENDENCIES = stormlib
+HOST_SMPQ_DEPENDENCIES = host-stormlib
+SMPQ_LICENSE = GPL-3.0+
+SMPQ_LICENSE_FILES = LICENSE
+SMPQ_INSTALL_STAGING = YES
+SMPQ_CONF_OPTS += -DWITH_KDE=OFF
+HOST_SMPQ_CONF_OPTS += -DWITH_KDE=OFF

Although there is nothing written black-on-white about this, I prefer that the variables be ordered in a logical order, and semantically grouped together:

1. download metadata: VERSION, SOURCE, SITE
2. legal info: LICENSE, LICENSE_FILES
3. if available, CPE info
4. DEPENDENCIES
5. CONF_ENV and CONF_OPTS
6. and so on...

I have no strong preference about where to set the host varaibles vs. the target ones; intersperesed like you did, of all the host ones after the target variant. I would slightly favour the latter, but I'm OK with anything as long as it is consistent.

Quoted 7 lines
package/smpq/smpq.mk new file +7 -0
+# The StormLib version check in SMPQ CMake is broken. Disable it.
+define SMPQ_DISABLE_VERSION_CHECK
+	$(SED) 's/try_compile(CHECK.*/set(CHECK ON)/' $(@D)/CMakeLists.txt
+endef
+
+define SMPQ_DISABLE_MANUAL
+	$(SED) 's|if(NOT CMAKE_CROSSCOMPILING)|if(FALSE)|' $(@D)/CMakeLists.txt

package/smpq/smpq.mk line 34

Quoted 10 lines
package/smpq/smpq.mk new file +10 -0
+endef
+
+# StormLib is C++ and must be linked with a C++ linker (e.g. via g++ instead of gcc).
+define SMPQ_SET_LANG_TO_CXX
+	$(SED) '/^project/a file(GLOB_RECURSE CFILES "$${CMAKE_SOURCE_DIR}/*.c")\$(NEWLINE)
+SET_SOURCE_FILES_PROPERTIES($${CFILES} PROPERTIES LANGUAGE CXX)' $(@D)/CMakeLists.txt
+endef
+
+SMPQ_POST_PATCH_HOOKS += SMPQ_DISABLE_VERSION_CHECK SMPQ_DISABLE_MANUAL SMPQ_SET_LANG_TO_CXX
+HOST_SMPQ_POST_PATCH_HOOKS += SMPQ_DISABLE_VERSION_CHECK SMPQ_DISABLE_MANUAL SMPQ_SET_LANG_TO_CXX

We try not to unconditionally patch code from the .mk files; instead, bundle three patches, to fix each of those three issues.

Bonus point if you can make those patches acceptable upstream. Extra-bonus point if you push those patches upstream, and they get applied! ;-)

Regards,
Yann E. MORIN.

Quoted 54 lines
package/smpq/smpq.mk new file +2 -0
+$(eval $(cmake-package))
+$(eval $(host-cmake-package))
package/stormlib/Config.in new file +8 -0
new file mode 100644
index 0000000000..b2e4df3c62
@@ -0,0 +1,8 @@
+config BR2_PACKAGE_STORMLIB
+	bool "stormlib"
+	select BR2_PACKAGE_BZIP2
+	select BR2_PACKAGE_ZLIB
+	help
+	  StormLib is a library that reads and writes Blizzard MPQ archives.
+
+	  https://github.com/ladislav-zezula/StormLib
package/stormlib/stormlib.hash new file +3 -0
new file mode 100644
index 0000000000..dc5370b03d
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256  53b8befda3855a922e57a27f78c36feba7e9a32804da4b6592a3670c4e9cec98  stormlib-5ab093b7a57b8779dff06a08fac19d46c40b3329.tar.gz
+sha256  50b128e6750ed9d887e7a5748a6021238bb2f3bf34a5dd2768c410d932069e35  LICENSE
package/stormlib/stormlib.mk new file +16 -0
new file mode 100644
index 0000000000..a2e58aa983
@@ -0,0 +1,16 @@
+################################################################################
+#
+# stormlib
+#
+################################################################################
+
+STORMLIB_VERSION = 5ab093b7a57b8779dff06a08fac19d46c40b3329
+STORMLIB_SITE = $(call github,ladislav-zezula,StormLib,$(STORMLIB_VERSION))
+STORMLIB_DEPENDENCIES = zlib bzip2
+HOST_STORMLIB_DEPENDENCIES = host-zlib host-bzip2
+STORMLIB_LICENSE = MIT
+STORMLIB_LICENSE_FILES = LICENSE
+STORMLIB_INSTALL_STAGING = YES
+
+$(eval $(cmake-package))
+$(eval $(host-cmake-package))
Signature · 6 lines
2.30.2

_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
Signature · 10 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#2 lore raw

PATCH v2 1/1 package: add smpq and stormlib

In reply to Gleb Mazovetskiy

SMPQ is a utility for working with Blizzard MPQ archives and StormLib is the library for doing this that it depends on.

SMPQ/StormLib is a runtime and/or build-time dependency of several source ports / reimplementations of Blizzard games, such as DevilutionX.

These packages are already available in other distros, such as Debian.

---
Changes v1 -> v2 (Sugested by Yann E. MORIN):

- Converted sed substitutions to patch files.
- Re-ordered mk variables per the suggested ordered.

---
 package/Config.in              |  2 ++
 package/smpq/Config.in         | 11 +++++++++++
 package/smpq/smpq.hash         |  3 +++
 package/smpq/smpq.mk           | 19 +++++++++++++++++++
 package/stormlib/Config.in     |  8 ++++++++
 package/stormlib/stormlib.hash |  3 +++
 package/stormlib/stormlib.mk   | 16 ++++++++++++++++
 7 files changed, 62 insertions(+)
 create mode 100644 package/smpq/Config.in
 create mode 100644 package/smpq/smpq.hash
 create mode 100644 package/smpq/smpq.mk
 create mode 100644 package/stormlib/Config.in
 create mode 100644 package/stormlib/stormlib.hash
 create mode 100644 package/stormlib/stormlib.mk
package/Config.in +2 -0
index 9fed0ab4cb..890a6be135 100644
@@ -74,6 +74,7 @@ menu "Compressors and decompressors"
 	source "package/p7zip/Config.in"
 	source "package/pigz/Config.in"
 	source "package/pixz/Config.in"
+	source "package/smpq/Config.in"
 	source "package/unrar/Config.in"
 	source "package/unzip/Config.in"
 	source "package/xz/Config.in"
@@ -1360,6 +1361,7 @@ menu "Compression and decompression"
 	source "package/lzo/Config.in"
 	source "package/minizip/Config.in"
 	source "package/snappy/Config.in"
+	source "package/stormlib/Config.in"
 	source "package/szip/Config.in"
 	source "package/zlib/Config.in"
 	source "package/zziplib/Config.in"
package/smpq/Config.in new file +11 -0
new file mode 100644
index 0000000000..589f5cf834
@@ -0,0 +1,11 @@
+config BR2_PACKAGE_SMPQ
+	bool "smpq"
+	select BR2_PACKAGE_SMPQ
+	help
+	  StormLib MPQ archiving utility
+
+	  This utility manipulates Blizzard MPQ archives.
+	  It supports extracting, appending, renaming and deleting files
+	  in MPQ archives, and creating new MPQ archives.
+
+	  https://launchpad.net/smpq
package/smpq/smpq.hash new file +3 -0
new file mode 100644
index 0000000000..f14eaef49b
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256  b5d2dc8a5de8629b71ee5d3612b6e84d88418b86c5cd39ba315e9eb0462f18cb  smpq_1.6.orig.tar.gz
+sha256  8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903  COPYING
package/smpq/smpq.mk new file +19 -0
new file mode 100644
index 0000000000..34f87f7f45
@@ -0,0 +1,19 @@
+################################################################################
+#
+# smpq
+#
+################################################################################
+
+SMPQ_VERSION = 1.6
+SMPQ_SOURCE = smpq_$(SMPQ_VERSION).orig.tar.gz
+SMPQ_SITE = https://launchpad.net/smpq/trunk/$(SMPQ_VERSION)/+download
+SMPQ_LICENSE = GPL-3.0+
+SMPQ_LICENSE_FILES = LICENSE
+SMPQ_DEPENDENCIES = stormlib
+HOST_SMPQ_DEPENDENCIES = host-stormlib
+SMPQ_CONF_OPTS += -DWITH_KDE=OFF
+HOST_SMPQ_CONF_OPTS += -DWITH_KDE=OFF
+SMPQ_INSTALL_STAGING = YES
+
+$(eval $(cmake-package))
+$(eval $(host-cmake-package))
package/stormlib/Config.in new file +8 -0
new file mode 100644
index 0000000000..b2e4df3c62
@@ -0,0 +1,8 @@
+config BR2_PACKAGE_STORMLIB
+	bool "stormlib"
+	select BR2_PACKAGE_BZIP2
+	select BR2_PACKAGE_ZLIB
+	help
+	  StormLib is a library that reads and writes Blizzard MPQ archives.
+
+	  https://github.com/ladislav-zezula/StormLib
package/stormlib/stormlib.hash new file +3 -0
new file mode 100644
index 0000000000..dc5370b03d
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256  53b8befda3855a922e57a27f78c36feba7e9a32804da4b6592a3670c4e9cec98  stormlib-5ab093b7a57b8779dff06a08fac19d46c40b3329.tar.gz
+sha256  50b128e6750ed9d887e7a5748a6021238bb2f3bf34a5dd2768c410d932069e35  LICENSE
package/stormlib/stormlib.mk new file +16 -0
new file mode 100644
index 0000000000..f2f7522002
@@ -0,0 +1,16 @@
+################################################################################
+#
+# stormlib
+#
+################################################################################
+
+STORMLIB_VERSION = 5ab093b7a57b8779dff06a08fac19d46c40b3329
+STORMLIB_SITE = $(call github,ladislav-zezula,StormLib,$(STORMLIB_VERSION))
+STORMLIB_LICENSE = MIT
+STORMLIB_LICENSE_FILES = LICENSE
+STORMLIB_DEPENDENCIES = zlib bzip2
+HOST_STORMLIB_DEPENDENCIES = host-zlib host-bzip2
+STORMLIB_INSTALL_STAGING = YES
+
+$(eval $(cmake-package))
+$(eval $(host-cmake-package))
Signature · 6 lines
2.30.2

_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#3 lore raw

PATCH v3 1/1 package: add smpq and stormlib

SMPQ is a utility for working with Blizzard MPQ archives and StormLib is the library for doing this that it depends on.

SMPQ/StormLib is a runtime and/or build-time dependency of several source ports / reimplementations of Blizzard games, such as DevilutionX.

These packages are already available in other distros, such as Debian.

---
Changes v2 -> v3:

- Added missing patch files.

Changes v1 -> v2 (Sugested by Yann E. MORIN):

- Converted sed substitutions to patch files.
- Re-ordered mk variables per the suggested ordered.

---
 package/Config.in                             |  2 +
 .../smpq/0001-CMake-Set-language-to-C.patch   | 29 +++++++++++++++
 .../0002-CMake-Disable-version-check.patch    | 32 ++++++++++++++++
 ...0003-CMake-Disable-manual-generation.patch | 37 +++++++++++++++++++
 package/smpq/Config.in                        | 11 ++++++
 package/smpq/smpq.hash                        |  3 ++
 package/smpq/smpq.mk                          | 19 ++++++++++
 package/stormlib/Config.in                    |  8 ++++
 package/stormlib/stormlib.hash                |  3 ++
 package/stormlib/stormlib.mk                  | 16 ++++++++
 10 files changed, 160 insertions(+)
 create mode 100644 package/smpq/0001-CMake-Set-language-to-C.patch
 create mode 100644 package/smpq/0002-CMake-Disable-version-check.patch
 create mode 100644 package/smpq/0003-CMake-Disable-manual-generation.patch
 create mode 100644 package/smpq/Config.in
 create mode 100644 package/smpq/smpq.hash
 create mode 100644 package/smpq/smpq.mk
 create mode 100644 package/stormlib/Config.in
 create mode 100644 package/stormlib/stormlib.hash
 create mode 100644 package/stormlib/stormlib.mk
package/Config.in +2 -0
index 9fed0ab4cb..890a6be135 100644
@@ -74,6 +74,7 @@ menu "Compressors and decompressors"
 	source "package/p7zip/Config.in"
 	source "package/pigz/Config.in"
 	source "package/pixz/Config.in"
+	source "package/smpq/Config.in"
 	source "package/unrar/Config.in"
 	source "package/unzip/Config.in"
 	source "package/xz/Config.in"
@@ -1360,6 +1361,7 @@ menu "Compression and decompression"
 	source "package/lzo/Config.in"
 	source "package/minizip/Config.in"
 	source "package/snappy/Config.in"
+	source "package/stormlib/Config.in"
 	source "package/szip/Config.in"
 	source "package/zlib/Config.in"
 	source "package/zziplib/Config.in"
package/smpq/0001-CMake-Set-language-to-C.patch new file +29 -0
new file mode 100644
index 0000000000..30624cc590
@@ -0,0 +1,29 @@
+From 70e43a4323f43d58a1b6c21bf251e7e8fe4cb345 Mon Sep 17 00:00:00 2001
+From: Gleb Mazovetskiy <[email protected]>
+Date: Mon, 11 Oct 2021 21:48:00 +0100
+Subject: [PATCH 1/3] CMake: Set language to C++
+
+Signed-off-by: Gleb Mazovetskiy <[email protected]>
+---
+ CMakeLists.txt | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 291bf7f..71fb61f 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -18,6 +18,11 @@
+ #
+ 
+ project(SMPQ)
++
++# StormLib is C++ and must be linked with a C++ linker (e.g. via g++ instead of gcc).
++file(GLOB_RECURSE CFILES "${CMAKE_SOURCE_DIR}/*.c")
++SET_SOURCE_FILES_PROPERTIES(${CFILES} PROPERTIES LANGUAGE CXX)
++
+ set(VERSION 1.6)
+ cmake_minimum_required(VERSION 2.6)
+ 
+-- 
+2.30.2
+
package/smpq/0002-CMake-Disable-version-check.patch new file +32 -0
new file mode 100644
index 0000000000..6333595849
@@ -0,0 +1,32 @@
+From bce50c41d461dc53d304cd41efc561bc9fa01327 Mon Sep 17 00:00:00 2001
+From: Gleb Mazovetskiy <[email protected]>
+Date: Mon, 11 Oct 2021 21:48:32 +0100
+Subject: [PATCH 2/3] CMake: Disable version check
+
+Version check is currently broken. Disable it.
+
+Signed-off-by: Gleb Mazovetskiy <[email protected]>
+---
+ CMakeLists.txt | 6 ------
+ 1 file changed, 6 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 71fb61f..2375b36 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -46,12 +46,6 @@ if(NOT STORMLIB_INCLUDE_DIR OR NOT STORMLIB_LIBRARY)
+ 		message(FATAL_ERROR "StormLib or storm library not found")
+ 	endif(NOT STORMLIB_LIBRARY)
+
+-	try_compile(CHECK ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/check.c COMPILE_DEFINITIONS -I${STORMLIB_INCLUDE_DIR})
+-
+-	if(NOT CHECK)
+-		message(FATAL_ERROR "Found old StormLib version")
+-	endif(NOT CHECK)
+-
+ 	message(STATUS "Found StormLib header: ${STORMLIB_INCLUDE_DIR}/StormLib.h")
+ 	message(STATUS "Found StormLib library: ${STORMLIB_LIBRARY}")
+
+--
+2.30.2
+
package/smpq/0003-CMake-Disable-manual-generation.patch new file +37 -0
new file mode 100644
index 0000000000..c293237cc9
@@ -0,0 +1,37 @@
+From 6102660ba5ad0e8217e617fc53a6fc3d1bb12966 Mon Sep 17 00:00:00 2001
+From: Gleb Mazovetskiy <[email protected]>
+Date: Mon, 11 Oct 2021 21:49:57 +0100
+Subject: [PATCH 3/3] CMake: Disable manual generation
+
+We do not need the manual in buildroot and there is currently no
+dedicated way to disable it.
+
+Signed-off-by: Gleb Mazovetskiy <[email protected]>
+---
+ CMakeLists.txt | 10 ----------
+ 1 file changed, 10 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 2375b36..3a8b7c2 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -101,16 +101,6 @@ if(WITH_CMD)
+ 
+ 	install(TARGETS smpq DESTINATION bin)
+ 
+-	if(NOT CMAKE_CROSSCOMPILING)
+-
+-		add_executable(mangen ${MANGEN_SRCS})
+-		add_custom_command(OUTPUT smpq.1 COMMAND mangen > smpq.1 DEPENDS mangen)
+-		add_custom_target(man ALL DEPENDS smpq.1)
+-
+-		install(FILES ${CMAKE_CURRENT_BINARY_DIR}/smpq.1 DESTINATION share/man/man1)
+-
+-	endif(NOT CMAKE_CROSSCOMPILING)
+-
+ 	if(WIN32 AND WITH_NSIS)
+ 
+ 		find_package(SelfPackers REQUIRED)
+-- 
+2.30.2
+
package/smpq/Config.in new file +11 -0
new file mode 100644
index 0000000000..589f5cf834
@@ -0,0 +1,11 @@
+config BR2_PACKAGE_SMPQ
+	bool "smpq"
+	select BR2_PACKAGE_SMPQ
+	help
+	  StormLib MPQ archiving utility
+
+	  This utility manipulates Blizzard MPQ archives.
+	  It supports extracting, appending, renaming and deleting files
+	  in MPQ archives, and creating new MPQ archives.
+
+	  https://launchpad.net/smpq
package/smpq/smpq.hash new file +3 -0
new file mode 100644
index 0000000000..f14eaef49b
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256  b5d2dc8a5de8629b71ee5d3612b6e84d88418b86c5cd39ba315e9eb0462f18cb  smpq_1.6.orig.tar.gz
+sha256  8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903  COPYING
package/smpq/smpq.mk new file +19 -0
new file mode 100644
index 0000000000..34f87f7f45
@@ -0,0 +1,19 @@
+################################################################################
+#
+# smpq
+#
+################################################################################
+
+SMPQ_VERSION = 1.6
+SMPQ_SOURCE = smpq_$(SMPQ_VERSION).orig.tar.gz
+SMPQ_SITE = https://launchpad.net/smpq/trunk/$(SMPQ_VERSION)/+download
+SMPQ_LICENSE = GPL-3.0+
+SMPQ_LICENSE_FILES = LICENSE
+SMPQ_DEPENDENCIES = stormlib
+HOST_SMPQ_DEPENDENCIES = host-stormlib
+SMPQ_CONF_OPTS += -DWITH_KDE=OFF
+HOST_SMPQ_CONF_OPTS += -DWITH_KDE=OFF
+SMPQ_INSTALL_STAGING = YES
+
+$(eval $(cmake-package))
+$(eval $(host-cmake-package))
package/stormlib/Config.in new file +8 -0
new file mode 100644
index 0000000000..b2e4df3c62
@@ -0,0 +1,8 @@
+config BR2_PACKAGE_STORMLIB
+	bool "stormlib"
+	select BR2_PACKAGE_BZIP2
+	select BR2_PACKAGE_ZLIB
+	help
+	  StormLib is a library that reads and writes Blizzard MPQ archives.
+
+	  https://github.com/ladislav-zezula/StormLib
package/stormlib/stormlib.hash new file +3 -0
new file mode 100644
index 0000000000..dc5370b03d
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256  53b8befda3855a922e57a27f78c36feba7e9a32804da4b6592a3670c4e9cec98  stormlib-5ab093b7a57b8779dff06a08fac19d46c40b3329.tar.gz
+sha256  50b128e6750ed9d887e7a5748a6021238bb2f3bf34a5dd2768c410d932069e35  LICENSE
package/stormlib/stormlib.mk new file +16 -0
new file mode 100644
index 0000000000..f2f7522002
@@ -0,0 +1,16 @@
+################################################################################
+#
+# stormlib
+#
+################################################################################
+
+STORMLIB_VERSION = 5ab093b7a57b8779dff06a08fac19d46c40b3329
+STORMLIB_SITE = $(call github,ladislav-zezula,StormLib,$(STORMLIB_VERSION))
+STORMLIB_LICENSE = MIT
+STORMLIB_LICENSE_FILES = LICENSE
+STORMLIB_DEPENDENCIES = zlib bzip2
+HOST_STORMLIB_DEPENDENCIES = host-zlib host-bzip2
+STORMLIB_INSTALL_STAGING = YES
+
+$(eval $(cmake-package))
+$(eval $(host-cmake-package))
Signature · 6 lines
2.30.2

_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#4 lore raw

v4 cover package: add smpq and StormLib

SMPQ is a utility for working with Blizzard MPQ archives and StormLib is the library for doing this that it depends on.

SMPQ/StormLib is a runtime and/or build-time dependency of several source ports / reimplementations of Blizzard games, such as DevilutionX.

These packages are already available in other distros, such as Debian.

Changes v3 -> v4 (Suggested by Yann E. MORIN):

- Split into two patches: one per package.

Changes v2 -> v3:

- Added missing patch files.

Changes v1 -> v2 (Suggested by Yann E. MORIN):

- Converted sed substitutions to patch files.
- Re-ordered mk variables per the suggested order.

Gleb Mazovetskiy (2):
package: add stormlib
package: add smpq

 package/Config.in                             |  2 +
 .../smpq/0001-CMake-Set-language-to-C.patch   | 29 +++++++++++++++
 .../0002-CMake-Disable-version-check.patch    | 32 ++++++++++++++++
 ...0003-CMake-Disable-manual-generation.patch | 37 +++++++++++++++++++
 package/smpq/Config.in                        | 11 ++++++
 package/smpq/smpq.hash                        |  3 ++
 package/smpq/smpq.mk                          | 19 ++++++++++
 package/stormlib/Config.in                    |  8 ++++
 package/stormlib/stormlib.hash                |  3 ++
 package/stormlib/stormlib.mk                  | 16 ++++++++
 10 files changed, 160 insertions(+)
 create mode 100644 package/smpq/0001-CMake-Set-language-to-C.patch
 create mode 100644 package/smpq/0002-CMake-Disable-version-check.patch
 create mode 100644 package/smpq/0003-CMake-Disable-manual-generation.patch
 create mode 100644 package/smpq/Config.in
 create mode 100644 package/smpq/smpq.hash
 create mode 100644 package/smpq/smpq.mk
 create mode 100644 package/stormlib/Config.in
 create mode 100644 package/stormlib/stormlib.hash
 create mode 100644 package/stormlib/stormlib.mk
Signature · 6 lines
2.30.2

_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#5 lore raw

PATCH v4 1/2 package: add stormlib

StormLib is a library for working with Blizzard SMPQ archives.

StormLib is a runtime and/or build-time dependency of several source ports / reimplementations of Blizzard games, such as DevilutionX.

---
 package/Config.in              |  1 +
 package/stormlib/Config.in     |  8 ++++++++
 package/stormlib/stormlib.hash |  3 +++
 package/stormlib/stormlib.mk   | 16 ++++++++++++++++
 4 files changed, 28 insertions(+)
 create mode 100644 package/stormlib/Config.in
 create mode 100644 package/stormlib/stormlib.hash
 create mode 100644 package/stormlib/stormlib.mk
package/Config.in +1 -0
index 9fed0ab4cb..2b561e6eaf 100644
@@ -1360,6 +1360,7 @@ menu "Compression and decompression"
 	source "package/lzo/Config.in"
 	source "package/minizip/Config.in"
 	source "package/snappy/Config.in"
+	source "package/stormlib/Config.in"
 	source "package/szip/Config.in"
 	source "package/zlib/Config.in"
 	source "package/zziplib/Config.in"
package/stormlib/Config.in new file +8 -0
new file mode 100644
index 0000000000..b2e4df3c62
@@ -0,0 +1,8 @@
+config BR2_PACKAGE_STORMLIB
+	bool "stormlib"
+	select BR2_PACKAGE_BZIP2
+	select BR2_PACKAGE_ZLIB
+	help
+	  StormLib is a library that reads and writes Blizzard MPQ archives.
+
+	  https://github.com/ladislav-zezula/StormLib
package/stormlib/stormlib.hash new file +3 -0
new file mode 100644
index 0000000000..dc5370b03d
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256  53b8befda3855a922e57a27f78c36feba7e9a32804da4b6592a3670c4e9cec98  stormlib-5ab093b7a57b8779dff06a08fac19d46c40b3329.tar.gz
+sha256  50b128e6750ed9d887e7a5748a6021238bb2f3bf34a5dd2768c410d932069e35  LICENSE
package/stormlib/stormlib.mk new file +16 -0
new file mode 100644
index 0000000000..f2f7522002
@@ -0,0 +1,16 @@
+################################################################################
+#
+# stormlib
+#
+################################################################################
+
+STORMLIB_VERSION = 5ab093b7a57b8779dff06a08fac19d46c40b3329
+STORMLIB_SITE = $(call github,ladislav-zezula,StormLib,$(STORMLIB_VERSION))
+STORMLIB_LICENSE = MIT
+STORMLIB_LICENSE_FILES = LICENSE
+STORMLIB_DEPENDENCIES = zlib bzip2
+HOST_STORMLIB_DEPENDENCIES = host-zlib host-bzip2
+STORMLIB_INSTALL_STAGING = YES
+
+$(eval $(cmake-package))
+$(eval $(host-cmake-package))
Signature · 6 lines
2.30.2

_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#6 lore raw

PATCH v4 2/2 package: add smpq

In reply to Gleb Mazovetskiy

smpq is a utility for manipulating Blizzard MPQ archives.

smpq is a build-time dependency of several source ports / reimplementations of Blizzard games, such as DevilutionX.

---
 package/Config.in                             |  1 +
 .../smpq/0001-CMake-Set-language-to-C.patch   | 29 +++++++++++++++
 .../0002-CMake-Disable-version-check.patch    | 32 ++++++++++++++++
 ...0003-CMake-Disable-manual-generation.patch | 37 +++++++++++++++++++
 package/smpq/Config.in                        | 11 ++++++
 package/smpq/smpq.hash                        |  3 ++
 package/smpq/smpq.mk                          | 19 ++++++++++
 7 files changed, 132 insertions(+)
 create mode 100644 package/smpq/0001-CMake-Set-language-to-C.patch
 create mode 100644 package/smpq/0002-CMake-Disable-version-check.patch
 create mode 100644 package/smpq/0003-CMake-Disable-manual-generation.patch
 create mode 100644 package/smpq/Config.in
 create mode 100644 package/smpq/smpq.hash
 create mode 100644 package/smpq/smpq.mk
package/Config.in +1 -0
index 2b561e6eaf..890a6be135 100644
@@ -74,6 +74,7 @@ menu "Compressors and decompressors"
 	source "package/p7zip/Config.in"
 	source "package/pigz/Config.in"
 	source "package/pixz/Config.in"
+	source "package/smpq/Config.in"
 	source "package/unrar/Config.in"
 	source "package/unzip/Config.in"
 	source "package/xz/Config.in"
package/smpq/0001-CMake-Set-language-to-C.patch new file +29 -0
new file mode 100644
index 0000000000..30624cc590
@@ -0,0 +1,29 @@
+From 70e43a4323f43d58a1b6c21bf251e7e8fe4cb345 Mon Sep 17 00:00:00 2001
+From: Gleb Mazovetskiy <[email protected]>
+Date: Mon, 11 Oct 2021 21:48:00 +0100
+Subject: [PATCH 1/3] CMake: Set language to C++
+
+Signed-off-by: Gleb Mazovetskiy <[email protected]>
+---
+ CMakeLists.txt | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 291bf7f..71fb61f 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -18,6 +18,11 @@
+ #
+ 
+ project(SMPQ)
++
++# StormLib is C++ and must be linked with a C++ linker (e.g. via g++ instead of gcc).
++file(GLOB_RECURSE CFILES "${CMAKE_SOURCE_DIR}/*.c")
++SET_SOURCE_FILES_PROPERTIES(${CFILES} PROPERTIES LANGUAGE CXX)
++
+ set(VERSION 1.6)
+ cmake_minimum_required(VERSION 2.6)
+ 
+-- 
+2.30.2
+
package/smpq/0002-CMake-Disable-version-check.patch new file +32 -0
new file mode 100644
index 0000000000..6333595849
@@ -0,0 +1,32 @@
+From bce50c41d461dc53d304cd41efc561bc9fa01327 Mon Sep 17 00:00:00 2001
+From: Gleb Mazovetskiy <[email protected]>
+Date: Mon, 11 Oct 2021 21:48:32 +0100
+Subject: [PATCH 2/3] CMake: Disable version check
+
+Version check is currently broken. Disable it.
+
+Signed-off-by: Gleb Mazovetskiy <[email protected]>
+---
+ CMakeLists.txt | 6 ------
+ 1 file changed, 6 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 71fb61f..2375b36 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -46,12 +46,6 @@ if(NOT STORMLIB_INCLUDE_DIR OR NOT STORMLIB_LIBRARY)
+ 		message(FATAL_ERROR "StormLib or storm library not found")
+ 	endif(NOT STORMLIB_LIBRARY)
+
+-	try_compile(CHECK ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/check.c COMPILE_DEFINITIONS -I${STORMLIB_INCLUDE_DIR})
+-
+-	if(NOT CHECK)
+-		message(FATAL_ERROR "Found old StormLib version")
+-	endif(NOT CHECK)
+-
+ 	message(STATUS "Found StormLib header: ${STORMLIB_INCLUDE_DIR}/StormLib.h")
+ 	message(STATUS "Found StormLib library: ${STORMLIB_LIBRARY}")
+
+--
+2.30.2
+
package/smpq/0003-CMake-Disable-manual-generation.patch new file +37 -0
new file mode 100644
index 0000000000..c293237cc9
@@ -0,0 +1,37 @@
+From 6102660ba5ad0e8217e617fc53a6fc3d1bb12966 Mon Sep 17 00:00:00 2001
+From: Gleb Mazovetskiy <[email protected]>
+Date: Mon, 11 Oct 2021 21:49:57 +0100
+Subject: [PATCH 3/3] CMake: Disable manual generation
+
+We do not need the manual in buildroot and there is currently no
+dedicated way to disable it.
+
+Signed-off-by: Gleb Mazovetskiy <[email protected]>
+---
+ CMakeLists.txt | 10 ----------
+ 1 file changed, 10 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 2375b36..3a8b7c2 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -101,16 +101,6 @@ if(WITH_CMD)
+ 
+ 	install(TARGETS smpq DESTINATION bin)
+ 
+-	if(NOT CMAKE_CROSSCOMPILING)
+-
+-		add_executable(mangen ${MANGEN_SRCS})
+-		add_custom_command(OUTPUT smpq.1 COMMAND mangen > smpq.1 DEPENDS mangen)
+-		add_custom_target(man ALL DEPENDS smpq.1)
+-
+-		install(FILES ${CMAKE_CURRENT_BINARY_DIR}/smpq.1 DESTINATION share/man/man1)
+-
+-	endif(NOT CMAKE_CROSSCOMPILING)
+-
+ 	if(WIN32 AND WITH_NSIS)
+ 
+ 		find_package(SelfPackers REQUIRED)
+-- 
+2.30.2
+
package/smpq/Config.in new file +11 -0
new file mode 100644
index 0000000000..589f5cf834
@@ -0,0 +1,11 @@
+config BR2_PACKAGE_SMPQ
+	bool "smpq"
+	select BR2_PACKAGE_SMPQ
+	help
+	  StormLib MPQ archiving utility
+
+	  This utility manipulates Blizzard MPQ archives.
+	  It supports extracting, appending, renaming and deleting files
+	  in MPQ archives, and creating new MPQ archives.
+
+	  https://launchpad.net/smpq
package/smpq/smpq.hash new file +3 -0
new file mode 100644
index 0000000000..f14eaef49b
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256  b5d2dc8a5de8629b71ee5d3612b6e84d88418b86c5cd39ba315e9eb0462f18cb  smpq_1.6.orig.tar.gz
+sha256  8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903  COPYING
package/smpq/smpq.mk new file +19 -0
new file mode 100644
index 0000000000..34f87f7f45
@@ -0,0 +1,19 @@
+################################################################################
+#
+# smpq
+#
+################################################################################
+
+SMPQ_VERSION = 1.6
+SMPQ_SOURCE = smpq_$(SMPQ_VERSION).orig.tar.gz
+SMPQ_SITE = https://launchpad.net/smpq/trunk/$(SMPQ_VERSION)/+download
+SMPQ_LICENSE = GPL-3.0+
+SMPQ_LICENSE_FILES = LICENSE
+SMPQ_DEPENDENCIES = stormlib
+HOST_SMPQ_DEPENDENCIES = host-stormlib
+SMPQ_CONF_OPTS += -DWITH_KDE=OFF
+HOST_SMPQ_CONF_OPTS += -DWITH_KDE=OFF
+SMPQ_INSTALL_STAGING = YES
+
+$(eval $(cmake-package))
+$(eval $(host-cmake-package))
Signature · 6 lines
2.30.2

_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#7 lore raw

Re: [Buildroot] [PATCH v4 2/2] package: add smpq

Hello Gleb,

Quoted 6 lines · On Mon, 11 Oct 2021 22:21:25 +0100 Gleb Mazovetskiy <[email protected]> wrote:

smpq is a utility for manipulating Blizzard MPQ archives.

smpq is a build-time dependency of several source ports / reimplementations of Blizzard games, such as DevilutionX.

Thanks for this contribution. Could you clarify practical speaking in which context this library is useful?

Quoted 12 lines
package/smpq/smpq.mk new file +9 -0
@@ -0,0 +1,19 @@
+################################################################################
+#
+# smpq
+#
+################################################################################
+
+SMPQ_VERSION = 1.6
+SMPQ_SOURCE = smpq_$(SMPQ_VERSION).orig.tar.gz
+SMPQ_SITE = https://launchpad.net/smpq/trunk/$(SMPQ_VERSION)/+download

package/smpq/smpq.mk line 19

Quoted 10 lines
package/smpq/smpq.mk new file +10 -0
+SMPQ_LICENSE = GPL-3.0+
+SMPQ_LICENSE_FILES = LICENSE
+SMPQ_DEPENDENCIES = stormlib
+HOST_SMPQ_DEPENDENCIES = host-stormlib
+SMPQ_CONF_OPTS += -DWITH_KDE=OFF
+HOST_SMPQ_CONF_OPTS += -DWITH_KDE=OFF
+SMPQ_INSTALL_STAGING = YES
+
+$(eval $(cmake-package))
+$(eval $(host-cmake-package))

Why do you need a host variant of this package? It isn't used by anything else. Could you clarify this?

Note: for both of your package submissions, the commit title should be "package/<foo>: new package". And also, in each patch adding the packages, you need to add yourself in the DEVELOPERS file for this package.

Thanks!

Thomas

Signature · 7 lines
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#8 lore raw

Re: [Buildroot] [PATCH v4 2/2] package: add smpq

The use case for me is to build DevilutionX (Diablo 1 source port) in a gaming-oriented buildroot-based distro (batocera.linux).

DevilutionX produces an MPQ archive during the build process using smpq, so smpq needs to be a host package.

I'm not near a computer for the next few days so I'd appreciate if you could adjust the commit message and DEVELOPERS when merging.

Thanks, Gleb

Quoted 48 lines · On Sun, 17 Oct 2021, 04:37 Thomas Petazzoni, <[email protected]>…

Hello Gleb,

Quoted 6 lines · On Mon, 11 Oct 2021 22:21:25 +0100 Gleb Mazovetskiy <[email protected]> wrote:

smpq is a utility for manipulating Blizzard MPQ archives.

smpq is a build-time dependency of several source ports / reimplementations of Blizzard games, such as DevilutionX.

Thanks for this contribution. Could you clarify practical speaking in which context this library is useful?

package/smpq/smpq.mk

Quoted 4 lines
package/smpq/smpq.mk new file +0 -0
@@ -0,0 +1,19 @@

+################################################################################

package/smpq/smpq.mk line 4

Quoted 4 lines
package/smpq/smpq.mk new file +3 -0
+#
+# smpq
+#

+################################################################################

Quoted 4 lines
package/smpq/smpq.mk new file +4 -0
+
+SMPQ_VERSION = 1.6
+SMPQ_SOURCE = smpq_$(SMPQ_VERSION).orig.tar.gz
+SMPQ_SITE = https://launchpad.net/smpq/trunk/$(SMPQ_VERSION)/+download

package/smpq/smpq.mk line 19

Quoted 10 lines
package/smpq/smpq.mk new file +10 -0
+SMPQ_LICENSE = GPL-3.0+
+SMPQ_LICENSE_FILES = LICENSE
+SMPQ_DEPENDENCIES = stormlib
+HOST_SMPQ_DEPENDENCIES = host-stormlib
+SMPQ_CONF_OPTS += -DWITH_KDE=OFF
+HOST_SMPQ_CONF_OPTS += -DWITH_KDE=OFF
+SMPQ_INSTALL_STAGING = YES
+
+$(eval $(cmake-package))
+$(eval $(host-cmake-package))

Why do you need a host variant of this package? It isn't used by anything else. Could you clarify this?

Note: for both of your package submissions, the commit title should be "package/<foo>: new package". And also, in each patch adding the packages, you need to add yourself in the DEVELOPERS file for this package.

Quoted 8 lines

Thanks!

Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin Embedded Linux and Kernel engineering and training
https://bootlin.com

_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot

#9 lore raw

Re: [Buildroot] [PATCH v4 2/2] package: add smpq

Hello Gleb,

Quoted 5 lines · On Sun, 17 Oct 2021 09:05:34 -0500 Gleb Mazovetskiy <[email protected]> wrote:

The use case for me is to build DevilutionX (Diablo 1 source port) in a gaming-oriented buildroot-based distro (batocera.linux).

DevilutionX produces an MPQ archive during the build process using smpq, so smpq needs to be a host package.

OK. But are you going to submit DevilutionX as a Buildroot package? My only concern is that just by itself, smpg is not very useful. So having that in Buildroot without having any of the packages that use it and that provide some "useful" functionality is not very interesting from a Buildroot maintenance point of view.

Quoted 2 lines

I'm not near a computer for the next few days so I'd appreciate if you could adjust the commit message and DEVELOPERS when merging.

No worries about the timing, we're not in a hurry. There might be other aspects in your patches to review, but I'd like first to understand whether we want these packages in Buildroot in the first place.

Best regards,

Thomas

Signature · 7 lines
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#10 lore raw

Re: [Buildroot] [PATCH v4 2/2] package: add smpq

I can certainly submit devilutionx to buildroot if you want me to!

Quoted 25 lines · Thomas Petazzoni

Hello Gleb,

Quoted 4 lines · On Sun, 17 Oct 2021 09:05:34 -0500 Gleb Mazovetskiy <[email protected]> wrote:

The use case for me is to build DevilutionX (Diablo 1 source port) in a gaming-oriented buildroot-based distro (batocera.linux).

DevilutionX produces an MPQ archive during the build process using smpq,

so

Quoted 1 line

smpq needs to be a host package.

OK. But are you going to submit DevilutionX as a Buildroot package? My only concern is that just by itself, smpg is not very useful. So having that in Buildroot without having any of the packages that use it and that provide some "useful" functionality is not very interesting from a Buildroot maintenance point of view.

Quoted 2 lines

I'm not near a computer for the next few days so I'd appreciate if you could adjust the commit message and DEVELOPERS when merging.

No worries about the timing, we're not in a hurry. There might be other aspects in your patches to review, but I'd like first to understand whether we want these packages in Buildroot in the first place.

Quoted 8 lines

Best regards,

Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin Embedded Linux and Kernel engineering and training
https://bootlin.com

_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot