Skip to content

Commit

Permalink
archivers/minizip*: Add minizip-ng and zlib-ng and create USES=minizip
Browse files Browse the repository at this point in the history
Import minizip-ng and zlib-ng

Minizip was originally developed in 1998. It was first included in the zlib
distribution as an additional code contribution starting in zlib 1.1.2. Since
that time, it has been continually improved upon and contributed to by many
people.

+ Creating and extracting zip archives.
+ Adding and removing entries from zip archives.
+ Read and write raw zip entry data.
+ Reading and writing zip archives from memory.
+ Zlib, BZIP2, LZMA, and ZSTD compression methods.
+ Password protection through Traditional PKWARE and WinZIP AES encryption.
+ Buffered streaming for improved I/O performance.

some ports bundle it, some ports allow building against a systemwide
one, some ports bundle/rely on an incompatible version - all those will be
fixed in following commits.

Mk/Uses: Introduce USES=minizip[:ng]

To simplify, the LIB_DEPENDS part a new USES tag is added.

USES=minizip will add a LIB_DEPENDS on legacy minizip and
USES=minizip:ng will add a LIB_DEPENDS on minizip-ng.

minizip [1]:

    databases/spatialite
    databases/spatialite-tools
    devel/collada-dom
    games/mrboom
    games/oolite
    graphics/comical
    misc/xiphos
    science/libkml
    textproc/sigil
    www/domoticz
    deskutils/anydesk
    emulators/mupen64plus-core
    multimedia/assimp
    multimedia/vlc
    net-im/psi
    net-im/telegram-desktop

minizip-ng:

    devel/axmldec

[1] Some are known to work with minizip-ng but have to be patched.

Approved by:	tcberner (portmgr)
Differential Revision:	https://reviews.freebsd.org/D33771
  • Loading branch information
lbartoletti committed Jan 25, 2022
1 parent 5f4c60e commit 45ab80b
Show file tree
Hide file tree
Showing 28 changed files with 155 additions and 46 deletions.
19 changes: 19 additions & 0 deletions Mk/Uses/minizip.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# handle minizip version
#
# Feature: minizip
# Usage: USES=minizip[:ng]
#
# MAINTAINER: lbartoletti@FreeBSD.org

.if !defined(_INCLUDE_USES_MINIZIP_MK)
_INCLUDE_USES_MINIZIP_MK= yes

. if empty(minizip_ARGS)
LIB_DEPENDS+= libminizip.so:archivers/minizip
. elif ${minizip_ARGS} == "ng"
LIB_DEPENDS+= libminizip-ng.so:archivers/minizip-ng
. else
IGNORE= Incorrect 'USES+=minizip:${minizip_ARGS}' expecting 'USES+=minizip[:ng]'
. endif

.endif
2 changes: 2 additions & 0 deletions archivers/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,7 @@
SUBDIR += mar
SUBDIR += maxcso
SUBDIR += minizip
SUBDIR += minizip-ng
SUBDIR += mscompress
SUBDIR += mtf
SUBDIR += nfpm
Expand Down Expand Up @@ -265,6 +266,7 @@
SUBDIR += zip-ada
SUBDIR += zipmix
SUBDIR += zipper
SUBDIR += zlib-ng
SUBDIR += zoo
SUBDIR += zopfli
SUBDIR += zstd
Expand Down
22 changes: 22 additions & 0 deletions archivers/minizip-ng/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
PORTNAME= minizip-ng
DISTVERSION= 3.0.4
CATEGORIES= archivers

MAINTAINER= lbartoletti@FreeBSD.org
COMMENT= Fork of the popular minizip found in the zlib distribution

LICENSE= ZLIB

LIB_DEPENDS= libzstd.so:archivers/zstd

USES= cmake:testing iconv pkgconfig ssl
USE_LDCONFIG= yes
USE_GITHUB= yes
GH_ACCOUNT= zlib-ng

CMAKE_ON= BUILD_SHARED_LIBS
CMAKE_ARGS= -DMZ_PROJECT_SUFFIX=-ng \
-DCMAKE_INSTALL_INCLUDEDIR=${LOCALBASE}/include/minizip-ng
CMAKE_TESTING_ON= MZ_BUILD_TEST MZ_BUILD_UNIT_TEST

.include <bsd.port.mk>
3 changes: 3 additions & 0 deletions archivers/minizip-ng/distinfo
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
TIMESTAMP = 1641396331
SHA256 (zlib-ng-minizip-ng-3.0.4_GH0.tar.gz) = 2ab219f651901a337a7d3c268128711b80330a99ea36bdc528c76b591a624c3c
SIZE (zlib-ng-minizip-ng-3.0.4_GH0.tar.gz) = 638956
14 changes: 14 additions & 0 deletions archivers/minizip-ng/pkg-descr
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
Minizip was originally developed in 1998. It was first included in the zlib
distribution as an additional code contribution starting in zlib 1.1.2. Since
that time, it has been continually improved upon and contributed to by many
people.

+ Creating and extracting zip archives.
+ Adding and removing entries from zip archives.
+ Read and write raw zip entry data.
+ Reading and writing zip archives from memory.
+ Zlib, BZIP2, LZMA, and ZSTD compression methods.
+ Password protection through Traditional PKWARE and WinZIP AES encryption.
+ Buffered streaming for improved I/O performance.

WWW: https://github.com/zlib-ng/minizip-ng
27 changes: 27 additions & 0 deletions archivers/minizip-ng/pkg-plist
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
include/minizip-ng/mz.h
include/minizip-ng/mz_compat.h
include/minizip-ng/mz_crypt.h
include/minizip-ng/mz_os.h
include/minizip-ng/mz_strm.h
include/minizip-ng/mz_strm_buf.h
include/minizip-ng/mz_strm_bzip.h
include/minizip-ng/mz_strm_lzma.h
include/minizip-ng/mz_strm_mem.h
include/minizip-ng/mz_strm_os.h
include/minizip-ng/mz_strm_pkcrypt.h
include/minizip-ng/mz_strm_split.h
include/minizip-ng/mz_strm_wzaes.h
include/minizip-ng/mz_strm_zlib.h
include/minizip-ng/mz_strm_zstd.h
include/minizip-ng/mz_zip.h
include/minizip-ng/mz_zip_rw.h
include/minizip-ng/unzip.h
include/minizip-ng/zip.h
lib/cmake/minizip-ng/minizip-ng-config-version.cmake
lib/cmake/minizip-ng/minizip-ng-config.cmake
lib/cmake/minizip-ng/minizip-ng-%%CMAKE_BUILD_TYPE%%.cmake
lib/cmake/minizip-ng/minizip-ng.cmake
lib/libminizip-ng.so
lib/libminizip-ng.so.3
lib/libminizip-ng.so.3.0.4
libdata/pkgconfig/minizip-ng.pc
16 changes: 16 additions & 0 deletions archivers/zlib-ng/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
PORTNAME= zlib-ng
DISTVERSION= 2.0.6
CATEGORIES= archivers

MAINTAINER= lbartoletti@FreeBSD.org
COMMENT= Fork of the zlib data compression library

LICENSE= ZLIB

USES= cmake:testing
USE_LDCONFIG= yes
USE_GITHUB= yes

CMAKE_TESTING_ON= ZLIB_ENABLE_TESTS

.include <bsd.port.mk>
3 changes: 3 additions & 0 deletions archivers/zlib-ng/distinfo
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
TIMESTAMP = 1641394914
SHA256 (zlib-ng-zlib-ng-2.0.6_GH0.tar.gz) = 8258b75a72303b661a238047cb348203d88d9dddf85d480ed885f375916fcab6
SIZE (zlib-ng-zlib-ng-2.0.6_GH0.tar.gz) = 817951
13 changes: 13 additions & 0 deletions archivers/zlib-ng/pkg-descr
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
Zlib replacement with optimizations for next generation systems.

The motivation for this fork came after seeing several 3rd party contributions
containing new optimizations not getting implemented into the official zlib
repository.

Mark Adler has been maintaining zlib for a very long time, and he has done a
great job and hopefully he will continue for a long time yet.

The idea of zlib-ng is not to replace zlib, but to co-exist as a drop-in
replacement with a lower threshold for code change.

WWW: https://github.com/zlib-ng/zlib-ng
7 changes: 7 additions & 0 deletions archivers/zlib-ng/pkg-plist
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
include/zconf-ng.h
include/zlib-ng.h
lib/libz-ng.a
lib/libz-ng.so
lib/libz-ng.so.2
lib/libz-ng.so.2.0.6
libdata/pkgconfig/zlib-ng.pc
5 changes: 2 additions & 3 deletions databases/spatialite-tools/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,10 @@ LIB_DEPENDS= libgeos_c.so:graphics/geos \
libfreexl.so:textproc/freexl \
libexpat.so:textproc/expat2 \
libspatialite.so:databases/spatialite \
libreadosm.so:astro/readosm \
libminizip.so:archivers/minizip
libreadosm.so:astro/readosm

GNU_CONFIGURE= yes
USES= gmake gnome pkgconfig iconv sqlite
USES= gmake gnome iconv minizip pkgconfig sqlite
USE_GNOME= libxml2

CFLAGS+= -I${LOCALBASE}/include
Expand Down
3 changes: 1 addition & 2 deletions databases/spatialite/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,10 @@ LICENSE_FILE= ${WRKSRC}/COPYING
LIB_DEPENDS= libgeos_c.so:graphics/geos \
libproj.so:graphics/proj \
libfreexl.so:textproc/freexl \
libminizip.so:archivers/minizip \
librttopo.so:devel/librttopo

GNU_CONFIGURE= yes
USES= gmake gnome iconv libtool pathfix pkgconfig sqlite
USES= gmake gnome iconv libtool pathfix minizip pkgconfig sqlite
USE_GNOME= libxml2

CFLAGS+= -I${WRKSRC}/src/headers -I${LOCALBASE}/include
Expand Down
3 changes: 1 addition & 2 deletions deskutils/anydesk/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,8 @@ LIB_DEPENDS= libfontconfig.so:x11-fonts/fontconfig \
libinotify.so:devel/libinotify \
libpolkit-gobject-1.so:sysutils/polkit \
libxkbfile.so:x11/libxkbfile \
libminizip.so:archivers/minizip \

USES= cpe gl gnome xorg
USES= cpe gl gnome minizip xorg

USE_GL= gl glu
USE_GNOME= cairo gdkpixbuf2 glib20 gtk20 pangox-compat
Expand Down
5 changes: 2 additions & 3 deletions devel/axmldec/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,9 @@ COMMENT= Stand-alone binary AndroidManifest.xml decoder
LICENSE= ISCL
LICENSE_FILE= ${WRKSRC}/LICENSE.md

LIB_DEPENDS= libminizip.so:archivers/minizip \
libboost_system.so:devel/boost-libs
LIB_DEPENDS= libboost_system.so:devel/boost-libs

USES= cmake compiler:c++14-lang cpe pkgconfig
USES= cmake compiler:c++14-lang cpe minizip:ng pkgconfig
CPE_VENDOR= ${PORTNAME}_project
USE_GITHUB= yes
GH_ACCOUNT= ytsutano
Expand Down
2 changes: 1 addition & 1 deletion devel/axmldec/files/patch-CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
-
+ include (FindPkgConfig)
+ if (PKG_CONFIG_FOUND)
+ pkg_check_modules(MINIZIP minizip)
+ pkg_check_modules(MINIZIP minizip-ng)
+ endif()
+ include_directories(${MINIZIP_INCLUDE_DIRS})
+ find_library(MINIZIP_FROM_PORTS ${MINIZIP_LIBRARIES}
Expand Down
5 changes: 2 additions & 3 deletions devel/collada-dom/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,11 @@ COMMENT= COLLADA Document Object Model (DOM) C++ Library

LICENSE= MIT

LIB_DEPENDS= libminizip.so:archivers/minizip \
libpcre.so:devel/pcre \
LIB_DEPENDS= libpcre.so:devel/pcre \
libboost_filesystem.so:devel/boost-libs \
libboost_system.so:devel/boost-libs

USES= cmake gnome
USES= cmake gnome minizip
USE_LDCONFIG= yes
USE_GNOME= libxml2
USE_GITHUB= yes
Expand Down
4 changes: 2 additions & 2 deletions emulators/mupen64plus-core/Makefile.common
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ EXTRACT_AFTER_ARGS?= "${DISTNAME}/source/${PORTNAME}-core/*" \

.if ${PKGNAMESUFFIX} == "-core"
LIB_DEPENDS+= libfreetype.so:print/freetype2 \
libpng.so:graphics/png \
libminizip.so:archivers/minizip
libpng.so:graphics/png
USES+= minizip
.else
PLIST= ${WRKDIR}/pkg-plist
.endif
Expand Down
5 changes: 2 additions & 3 deletions games/mrboom/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,9 @@ COMMENT= 8 players Bomberman clone
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE

LIB_DEPENDS= libminizip.so:archivers/minizip \
libmodplug.so:audio/libmodplug
LIB_DEPENDS= libmodplug.so:audio/libmodplug

USES= compiler:c++11-lang gmake sdl
USES= compiler:c++11-lang gmake minizip sdl
USE_SDL= mixer2 sdl2

MAKE_ENV+= LIBSDL2=1
Expand Down
5 changes: 2 additions & 3 deletions games/oolite/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,9 @@ BUILD_DEPENDS= zip:archivers/zip \
LIB_DEPENDS= libespeak.so:audio/espeak \
libnspr4.so:devel/nspr \
libvorbisfile.so:audio/libvorbis \
libpng.so:graphics/png \
libminizip.so:archivers/minizip
libpng.so:graphics/png

USES= gl gnustep openal:al perl5 python:3.5+,build sdl \
USES= gl gnustep openal:al minizip perl5 python:3.5+,build sdl \
tar:bzip2 xorg
USE_CXXSTD= gnu++98
USE_GL= gl glu
Expand Down
5 changes: 2 additions & 3 deletions graphics/comical/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,9 @@ COMMENT= Sequential image viewer
LICENSE= GPLv2+
LICENSE_FILE= ${WRKSRC}/COPYING

LIB_DEPENDS= libminizip.so:archivers/minizip \
libunrar.so.6:archivers/libunrar6
LIB_DEPENDS= libunrar.so.6:archivers/libunrar6

USES= compiler:c++11-lang gmake
USES= compiler:c++11-lang gmake minizip
USE_WX= 2.8+

MAKE_ENV= WX_CONFIG=${WX_CONFIG}
Expand Down
3 changes: 1 addition & 2 deletions misc/xiphos/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -22,14 +22,13 @@ LIB_DEPENDS= libbiblesync.so:misc/biblesync \
libdbus-glib-1.so:devel/dbus-glib \
libenchant.so:textproc/enchant \
libicui18n.so:devel/icu \
libminizip.so:archivers/minizip \
libsoup-2.4.so:devel/libsoup \
libsword.so:misc/sword \
libuuid.so:misc/e2fsprogs-libuuid \
libwebkit2gtk-4.0.so:www/webkit2-gtk3

# gettext is always needed, even if NLS is off
USES= cmake compiler:c11 gettext gnome pkgconfig
USES= cmake compiler:c11 gettext gnome minizip pkgconfig
USE_GNOME= cairo gconf2 gtk30 gtkhtml4 intltool libgsf

CMAKE_OFF= EPUB
Expand Down
4 changes: 1 addition & 3 deletions multimedia/assimp/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,7 @@ COMMENT= Library to import various 3D model formats in a uniform manner
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE

LIB_DEPENDS= libminizip.so:archivers/minizip

USES= cmake:testing compiler:c++11-lib localbase:ldflags pkgconfig
USES= cmake:testing compiler:c++11-lib localbase:ldflags minizip pkgconfig

USE_GITHUB= yes
USE_LDCONFIG= yes
Expand Down
5 changes: 2 additions & 3 deletions multimedia/vlc/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -299,9 +299,8 @@ SIDPLAY_LDFLAGS= -L${LOCALBASE}/lib/sidplay/builders
SIDPLAY_CONFIGURE_ENABLE= sid
CONFIGURE_ARGS+= --disable-sid

SKINS_USE= XORG=xext,xinerama,xpm
SKINS_LIB_DEPENDS= libminizip.so:archivers/minizip \
libtar.so:devel/libtar
SKINS_USE= XORG=xext,xinerama,xpm minizip
SKINS_LIB_DEPENDS= libtar.so:devel/libtar
SKINS_CONFIGURE_ENABLE= skins2 libtar
SKINS_IMPLIES= QT5

Expand Down
5 changes: 2 additions & 3 deletions net-im/psi/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,9 @@ COMMENT= Qt-based Jabber (XMPP) client

LICENSE= GPLv2+

LIB_DEPENDS= libidn.so:dns/libidn \
libminizip.so:archivers/minizip
LIB_DEPENDS= libidn.so:dns/libidn

USES= cmake compiler:c++11-lang desktop-file-utils pkgconfig \
USES= cmake compiler:c++11-lang desktop-file-utils minizip pkgconfig \
qca qt:5 tar:xz xorg
USE_QT= concurrent core dbus gui multimedia network svg widgets \
x11extras xml buildtools_build qmake_build imageformats_run
Expand Down
1 change: 0 additions & 1 deletion net-im/telegram-desktop/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@ LIB_DEPENDS= libavformat.so:multimedia/ffmpeg \
libhunspell-1.7.so:textproc/hunspell \
libjpeg.so:graphics/jpeg-turbo \
liblz4.so:archivers/liblz4 \
libminizip.so:archivers/minizip \
librnnoise.so:audio/rnnoise \
libopenal.so:audio/openal-soft \
libopenh264.so:multimedia/openh264 \
Expand Down
6 changes: 2 additions & 4 deletions science/libkml/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -12,17 +12,15 @@ LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE

BUILD_DEPENDS= boost-libs>=1.44.0:devel/boost-libs \
googletest>=1.7.0:devel/googletest \
minizip>=1.2.8:archivers/minizip
googletest>=1.7.0:devel/googletest
LIB_DEPENDS= libboost_thread.so:devel/boost-libs \
libexpat.so:textproc/expat2 \
libgtest.so:devel/googletest \
libminizip.so:archivers/minizip \
liburiparser.so:net/uriparser

OPTIONS_DEFINE= EXAMPLES

USES= cmake compiler:c11 pathfix
USES= cmake compiler:c11 minizip pathfix

CMAKE_OFF= WITH_JAVA WITH_PYTHON WITH_SWIG
USE_CXXSTD= gnu++98
Expand Down
5 changes: 2 additions & 3 deletions textproc/sigil/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,13 @@ COMMENT= WYSIWYG ePub editor
LICENSE= GPLv3+
LICENSE_FILE= ${WRKSRC}/COPYING.txt

LIB_DEPENDS= libminizip.so:archivers/minizip \
libpcre.so:devel/pcre \
LIB_DEPENDS= libpcre.so:devel/pcre \
libhunspell-1.7.so:textproc/hunspell
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}dulwich>=0.15.0:devel/dulwich@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}lxml>0:devel/py-lxml@${PY_FLAVOR}

USES= cmake compiler:c++11-lib cpe desktop-file-utils \
pkgconfig python:3.4+ qt:5 shebangfix
minizip pkgconfig python:3.4+ qt:5 shebangfix
CPE_VENDOR= ${PORTNAME}-ebook

USE_GITHUB= yes
Expand Down
4 changes: 2 additions & 2 deletions www/domoticz/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,10 @@ LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/License.txt

LIB_DEPENDS= libcurl.so:ftp/curl libboost_system.so:devel/boost-libs \
libminizip.so:archivers/minizip libjsoncpp.so:devel/jsoncpp
libjsoncpp.so:devel/jsoncpp
BUILD_DEPENDS= cereal>=1.2.2:devel/cereal

USES= cmake compiler:c++11-lang cpe pkgconfig ssl lua:53 sqlite
USES= cmake compiler:c++11-lang cpe minizip pkgconfig ssl lua:53 sqlite

OPTIONS_SUB= YES
OPTIONS_DEFINE= SMQTT PYTHON TELLDUS OPENZWAVE PRECOMP
Expand Down

0 comments on commit 45ab80b

Please sign in to comment.