git: c9f5fec2c6a3 - main - archivers/stormlib: add port

From: Dmitry Marakasov <amdmi3_at_FreeBSD.org>
Date: Fri, 25 Feb 2022 19:12:56 UTC
The branch main has been updated by amdmi3:

URL: https://cgit.FreeBSD.org/ports/commit/?id=c9f5fec2c6a3bacd891052491076366f1db4369c

commit c9f5fec2c6a3bacd891052491076366f1db4369c
Author:     Dmitry Marakasov <amdmi3@FreeBSD.org>
AuthorDate: 2021-12-24 09:25:31 +0000
Commit:     Dmitry Marakasov <amdmi3@FreeBSD.org>
CommitDate: 2022-02-25 19:12:28 +0000

    archivers/stormlib: add port
    
    StormLib is a pack of C++ modules, which provide the user means to modify MPQ
    archives
    
    MPQ (MoPaQ) is an archive format developed by Blizzard Entertainment, purposed
    for storing data files, images, sounds, music and videos for their games. The
    name MoPaQ comes from the author of the format, Mike O'Brien (Mike O'brien
    PaCK).
    
    WWW: http://www.zezula.net/en/mpq/main.html
    
    PR:             260561
    Submitted by:   agh@riseup.net
---
 archivers/Makefile                            |  1 +
 archivers/stormlib/Makefile                   | 30 +++++++++++++++++++++++++++
 archivers/stormlib/distinfo                   |  3 +++
 archivers/stormlib/files/patch-CMakeLists.txt | 16 ++++++++++++++
 archivers/stormlib/pkg-descr                  |  9 ++++++++
 archivers/stormlib/pkg-plist                  |  5 +++++
 6 files changed, 64 insertions(+)

diff --git a/archivers/Makefile b/archivers/Makefile
index f8e7f1309667..b39ae72f7320 100644
--- a/archivers/Makefile
+++ b/archivers/Makefile
@@ -222,6 +222,7 @@
     SUBDIR += snzip
     SUBDIR += squsq
     SUBDIR += star
+    SUBDIR += stormlib
     SUBDIR += streamvbyte
     SUBDIR += stuffit
     SUBDIR += szip
diff --git a/archivers/stormlib/Makefile b/archivers/stormlib/Makefile
new file mode 100644
index 000000000000..ccfad890dceb
--- /dev/null
+++ b/archivers/stormlib/Makefile
@@ -0,0 +1,30 @@
+PORTNAME=	stormlib
+PORTVERSION=	9.23
+DISTVERSIONPREFIX=	v
+CATEGORIES=	archivers
+
+MAINTAINER=	ports@FreeBSD.org
+COMMENT=	Library to process MPQ (MoPaQ) archives
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+LIB_DEPENDS=	libtomcrypt.so:security/libtomcrypt
+
+USES=		cmake compiler:c++11-lang pkgconfig
+USE_GITHUB=	yes
+USE_LDCONFIG=	yes
+GH_ACCOUNT=	ladislav-zezula
+GH_PROJECT=	StormLib
+CMAKE_ON=	BUILD_SHARED_LIBS WITH_LIBTOMCRYPT
+
+OPTIONS_DEFINE=		DOCS
+
+PORTDOCS=	*
+
+post-install-DOCS-on:
+	@${MKDIR} ${STAGEDIR}${DOCSDIR}
+	${INSTALL_DATA} ${WRKSRC}/README.md ${STAGEDIR}${DOCSDIR}
+	(cd ${WRKSRC}/doc && ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR})
+
+.include <bsd.port.mk>
diff --git a/archivers/stormlib/distinfo b/archivers/stormlib/distinfo
new file mode 100644
index 000000000000..a9e3eb1ef251
--- /dev/null
+++ b/archivers/stormlib/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1640272865
+SHA256 (ladislav-zezula-StormLib-v9.23_GH0.tar.gz) = d62ba42f1e02efcb2cbaa03bd2e20fbd18c45499ef5fe65ffb89ee52a7bd9c92
+SIZE (ladislav-zezula-StormLib-v9.23_GH0.tar.gz) = 605295
diff --git a/archivers/stormlib/files/patch-CMakeLists.txt b/archivers/stormlib/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..28fb3b2141fd
--- /dev/null
+++ b/archivers/stormlib/files/patch-CMakeLists.txt
@@ -0,0 +1,16 @@
+--- CMakeLists.txt.orig	2020-11-21 03:27:09 UTC
++++ CMakeLists.txt
+@@ -293,7 +293,12 @@ else()
+ 
+     option(WITH_LIBTOMCRYPT "Use system LibTomCrypt library" OFF)
+     if(WITH_LIBTOMCRYPT)
+-        set(LINK_LIBS ${LINK_LIBS} tomcrypt)
++        include(FindPkgConfig)
++        pkg_check_modules(PC_LIBTOMCRYPT libtomcrypt REQUIRED)
++        find_path(LIBTOMCRYPT_INCLUDE_DIR NAMES tomcrypt.h HINTS ${PC_LIBTOMCRYPT_INCLUDE_DIRS} REQUIRED)
++        find_library(LIBTOMCRYPT_LIBRARY NAMES tomcrypt HINTS ${PC_LIBTOMCRYPT_LIBRARY_DIRS} REQUIRED)
++        set(LINK_LIBS ${LINK_LIBS} ${LIBTOMCRYPT_LIBRARY})
++        include_directories(${LIBTOMCRYPT_INCLUDE_DIR})
+     else()
+         set(SRC_ADDITIONAL_FILES ${TOMCRYPT_FILES} ${TOMMATH_FILES})
+     endif()
diff --git a/archivers/stormlib/pkg-descr b/archivers/stormlib/pkg-descr
new file mode 100644
index 000000000000..40cad33fc487
--- /dev/null
+++ b/archivers/stormlib/pkg-descr
@@ -0,0 +1,9 @@
+StormLib is a pack of C++ modules, which provide the user means to modify MPQ
+archives
+
+MPQ (MoPaQ) is an archive format developed by Blizzard Entertainment, purposed
+for storing data files, images, sounds, music and videos for their games. The
+name MoPaQ comes from the author of the format, Mike O'Brien (Mike O'brien
+PaCK).
+
+WWW: http://www.zezula.net/en/mpq/main.html
diff --git a/archivers/stormlib/pkg-plist b/archivers/stormlib/pkg-plist
new file mode 100644
index 000000000000..33d6c247ba6a
--- /dev/null
+++ b/archivers/stormlib/pkg-plist
@@ -0,0 +1,5 @@
+include/StormLib.h
+include/StormPort.h
+lib/libstorm.so
+lib/libstorm.so.9
+lib/libstorm.so.9.22.0