Page MenuHomeFreeBSD

archivers/zlib-ng, archivers/minizip-ng: New ports
ClosedPublic

Authored by lbartoletti on Jan 6 2022, 2:56 PM.

Details

Summary

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]

Since in the latest commit minizip-ng has been added, some ports can
use it.

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 cf D33764. I'll do this later.

Test Plan
  • poudriere 13amd64 OK

Diff Detail

Repository
rP FreeBSD ports repository
Lint
No Linters Available
Unit
No Unit Test Coverage
Build Status
Buildable 43776
Build 40664: arc lint + arc unit

Event Timeline

This is a better PR of D33764 without “dirty” patches.

tcberner added inline comments.
Mk/Uses/minizip.mk
1

please use Tools/scripts/indent_make_if.pl on this file

6

^ you can be the maintainer of that :)

19

you could also do something à là

[...]
legacy_DEPENDS=libminizip.so:archivers/minizip
ng_DEPENDS=ibminizip-ng.so:archivers/minizip-ng

minzip_ARGS?=legacy
LIB_DEPENDS+=${${minzip_ARGS}_DEPENDS}

and get rid of the iffery (of course you'll loose the error-checking then.

archivers/minizip-ng/Makefile
2

^ could be DISTVERSION

Mk/Uses/minizip.mk
19

It works for minizip:ng, but not for minizip without args.

Example with "IGNORE debug" :)

[...]
minizip_ARGS?=  legacy                          
IGNORE=minizip args:${minizip_ARGS}

net-im/psi (ng):
Ignoring net-im/psi | psi-1.5: minizip args:ng

games/mrboom (legacy):
Ignoring games/mrboom | mrboom-5.2: minizip args:

Mk/Uses/minizip.mk
19

It works for minizip:ng, but not for minizip without args.

Example with "IGNORE debug" :)

[...]
minizip_ARGS?=  legacy                          
IGNORE=minizip args:${minizip_ARGS}

net-im/psi (ng):
Ignoring net-im/psi | psi-1.5: minizip args:ng

games/mrboom (legacy):
Ignoring games/mrboom | mrboom-5.2: minizip args:

ah right, it's defined, just empty

lbartoletti marked 3 inline comments as done.
  • take maintainer'ship
  • indent minizip.mk
  • replace PORTVERSION by DISTVERSION
  • replace PORTVERSION by DISTVERSION
  • add minizip-ng prefix for include
  • devel/axmldec: use minizip-ng
  • use minizip, since they don't use minizip-ng but switch back to embedded minizip
This revision is now accepted and ready to land.Jan 21 2022, 7:49 AM
  • fix databases/spatialite-tools
This revision now requires review to proceed.Jan 25 2022, 7:33 AM
This revision was not accepted when it landed; it landed in state Needs Review.Jan 25 2022, 7:37 AM
This revision was automatically updated to reflect the committed changes.