PBZIP2 is a parallel implementation of the bzip2 block-sorting file compressor
that uses pthreads and achieves near-linear speedup on SMP machines. The output
of this version is fully compatible with bzip2 v1.0.2 (ie: anything compressed
with pbzip2 can be decompressed with bzip2).
Mk/bsd.port.mk: mark 14.3 unsupported
all: drop supoprt for FreeBSD 14.3
While here clean up some leftovers from FreeBSD 13
Reviewed by: adamw, jbeich, kirill_varnakov.com, saheed, sunpoet
Approved by: portmgr (implicit)
Differential Revision: https://reviews.freebsd.org/D57282
archivers/pbzip2: Fix build on 14.4
In "stable/14" bmake was updated to version 20250707 after 1403507 and
before 1403508.
Check 3129c2094ecb0db5bf55c481c1a1f133ea01df76 for more info.
PR: 290004
Reported by: Sebastian Oswald <sko@rostwald.de>
Approved by: blanket (fix build)
archivers/pbzip2: rework previous naive and inaccurate build fix
Back in 2017 I've untied this port from GNU make(1) so I could use
it as a PKG_DEPENDS, by spelling target's prerequisites in both GNU
and BSD make(1) syntax, which seemed like a nifty trick at the time.
It worked well until the import of bmake-20250707 in July which had
added POSIX $^ support, so now we were listing prerequisites twice
without separating them with space, in turn causing the breakage.
While we could probably just use the old BSD $> (or even .ALLSRC),
tentatively keep existing hack, guarded by the closest OSVERSION, so
it would go away naturally when all supported FreeBSD versions would
understand $^ (unconditional replacing would have to stay forever
because upstreaming old BSD $> when GNU, POSIX, and new BSD use $^
is unfeasible).
PR: 290004
Fixes: 34c19efe9dc6, e27ff90e17f2
archivers/pbzip2: fix more issues after libc++ 19 patches
* Ensure the _bz2Header and _bz2HeaderZero members of BZ2StreamScanner
do not contain an additional NUL byte.
* When comparing the magic header, compare from pHdr->begin() + hsp to
pHdr->end(), making the code equivalent to what it was doing using
std::basic_string::compare().
Submitted by: paparodeo@proton.me
PR: 283655
MFH: 2025Q1
archivers/pbzip2: fix stream decompression after libc++ 19 fix
The patch in bug 283655 to fix the pbzip2 build against libc++ 19 (which
finally removed std::char_traits<unsigned char>) had a problem where it
did not correctly check the bzip2 header. This only occurred when
decompressing from standard input, in the 'BZ2StreamScanner' mode, and
would then throw an unexpected "invalid file format" error.
PR: 283655
Reported by: wosch
MFH: 2024Q4
archivers/pbzip2: fix build with libc++ 19
As noted in the libc++ 19 release notes [1], std::char_traits<> is now
only provided for char, char8_t, char16_t, char32_t and wchar_t, and any
instantiation for other types will fail.
This causes archivers/pbzip2 to fail to compile with clang 19 and libc++
19, resulting in errors similar to:
/usr/include/c++/v1/string:820:42: error: implicit instantiation of undefined
template 'std::char_traits<unsigned char>'
820 | static_assert(is_same<_CharT, typename
traits_type::char_type>::value,
| ^
./BZ2StreamScanner.h:128:25: note: in instantiation of template class
'std::basic_string<unsigned char>' requested here
128 | basic_string<CharType> _bz2Header;
| ^
(Only the first 15 lines of the commit message are shown above )
Remove WWW entries moved into port Makefiles
Commit b7f05445c00f has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.
This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.
Approved by: portmgr (tcberner)
Add WWW entries to port Makefiles
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.
Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.
There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.
(Only the first 15 lines of the commit message are shown above )
archivers: remove 'Created by' lines
A big Thank You to the original contributors of these ports:
* Aaron Dalton <aaron@FreeBSD.org>
* Akinori MUSHA aka knu <knu@idaemons.org>
* Albert Vernon <f3cun3c02@sneakemail.com>
* Alex Dupre <ale@FreeBSD.org>
* Alex Samorukov <samm@freebsd.org>
* Alexander Kuehn <freebsd@nagilum.org>
* Alexander Logvinov <ports@logvinov.com>
* Alexander Zhuravlev <zaa@zaa.pp.ru>
* Alexey Dokuchaev <danfe@FreeBSD.org>
* Alexey Dokuchaev <danfe@regency.nsu.ru>
* Anders Nordby <anders@FreeBSD.org>
(Only the first 15 lines of the commit message are shown above )
Remove dependency on GNU make(1).
It turns out that GNU make(1) is only required because their make(1) spells
target dependencies as $^ while ours use $>. This change makes the pbzip2's
Makefile both GNU and BSD make(1) friendly at the same time.
This is required to be able to use `archivers/pbzip2' port as a PKG_DEPEND.
Approved by: farrokhi (maintainer)
Convert archivers from USE_GMAKE to USES=gmake
While here:
- Trim headers
- Convert some port to the new perl world
- Convert some port from USE_GNOME=pkgconfig to USES=pkgconfig
The vast majority of pkg-descr files had the following format when they
had both lines:
Author: ...
WWW: ....
So standardize on that, and move them to the end of the file when necessary.
Also fix some more whitespace, and remove more "signature tags" of varying
forms, like -- name, etc.
s/AUTHOR/Author/
A few other various formatting issues
- Remove bogus REINPLACE_CMD which was intended to fix build on 4.x, but has
broken program output instead.
- While here, line up MAN and MLINKS lines
PR: 125260
Submitted by: Geoff The <geoff2k at gmail dot com>
Patch by: pav@