During an exp-run for llvm 14 (see bug 261742), it turned out that
converters/wkhtmltopdf fails to build with clang 14:
c++ -Wl,-rpath=/usr/local/lib/gcc8 -Wl,-O1 -pthread -shared -Wl,-soname,libwkhtmltox.so.0 -o libwkhtmltox.so.0.12.6 loadsettings.o logging.o multipageloader.o tempfile.o converter.o websettings.o reflect.o utilities.o pdfsettings.o pdfconverter.o outline.o tocstylesheet.o imagesettings.o imageconverter.o pdf_c_bindings.o image_c_bindings.o moc_multipageloader_p.o moc_converter_p.o moc_pdfconverter_p.o moc_imageconverter_p.o moc_pdf_c_bindings_p.o moc_image_c_bindings_p.o moc_converter.o moc_multipageloader.o moc_utilities.o moc_pdfconverter.o moc_imageconverter.o qrc_wkhtmltopdf.o -L/usr/local/lib -L/wrkdirs/usr/ports/converters/wkhtmltopdf/work/wkhtmltopdf-0.12.6/build/qt/lib -L/wrkdirs/usr/ports/converters/wkhtmltopdf/work/wkhtmltopdf-0.12.6/build/qt/plugins/codecs -lqcncodecs -L/wrkdirs/usr/ports/converters/wkhtmltopdf/work/wkhtmltopdf-0.12.6/build/qt/lib -L/usr/local/lib -lqjpcodecs -lqkrcodecs -lqtwcodecs -lQtWebKit -lQtSvg -lQtXmlPatterns -lQtGui -ljpeg -lpng -lXrender -lfontconfig -lfreetype -lXext -lX11 -lQtNetwork -lssl -lcrypto -lQtCore -lz -lm
ld: error: unable to find library -lQtWebKit
c++: error: linker command failed with exit code 1 (use -v to see invocation)
gmake[2]: *** [Makefile:164: ../../bin/libwkhtmltox.so.0.12.6] Error 1
Ultimately this is caused by incorrect compiler version detection in
wkhtmltopdf's configure script. Something similar was fixed for clang 12
in ports commit 1049d80399, and later for
clang 13 in ports commit ad5fedf368.
To fix this, future-proof the compiler version check, at least until it
goes higher than 99.x.
PR: 262814
Approved by: pi (maintainer)
MFH: 2022Q1
Update the CONFLICTS definitions of ports in the following categories:
- accessibility
- archivers
- audio
- benchmarks
- biology
- cad
- chinese
- comms
- converters
An attempt has been made to use generic conflicts patterns that do not
have to be updated whenever a new version of a conflicting port is
added to the ports system.
There is a misunderstanding that the port being built/installed has to
be omitted from the conflicts pattern. This is not true - the port
being built is implicitly non-conflicting due to logic in bsd.port.mk.
Approved by: portmgr (implicit)
The port is being maintained by upstream fairly regularly again after a
lengthy hiatus:
Svglib is a pure-Python library for reading SVG files and converting
them (to a reasonable degree) to other formats using the ReportLab Open
Source toolkit.
Used as a package you can read existing SVG files and convert them into
ReportLab Drawing objects that can be used in a variety of contexts,
e.g. as ReportLab Platypus Flowable objects or in RML.
As a command-line tool it converts SVG files into PDF ones (but adding
other output formats like bitmap or EPS is really easy and will be
better supported, soon).
WWW: https://github.com/deeplook/svglib
This is a "fix-it-before-it-breaks" commit.
The issue is the upcoming updating for graphics/poppler. It *requires*
consumers to be C++17 or later. Previously it was ok with C++11 or
later. However, graphics/exiv2 is incompatible with C++17 in many
ways; there's work on a new release that is compatible, but that's
not out yet and not really applicable to the exiv2 version found
in ports. (As an example of things-that-change, "register" is a
keyword in C, which informs the storage class of a variable; in C++
up to C++17 it was possibly-meaningful but deprecated while in C++17
it is a reserved keyword but not allowed for storage class; any
`register int x` is now a syntax error and patching that up outside
of upstream repos is no fun at all).
Mark XMP option broken because it pulls in (for the option)
graphics/exiv2, while graphics/poppler is always needed.
PR: 260956
The port is not directly dependent on libpq, the dependency is
through databases/libpqxx and is handled there.
PR: 258761
Reported by: Phil Krylov <phil@krylov.eu>
There is no indication of a license intended by the author, but
since this is an extension of the converters/iconv port which is
distributed under a 3-clause BSD license, add it to this port, too.
While here use @preunexec instead of the deprecated @unexec in
pkg-plist.
Approved by: bland (maintainer)
There is no license file, but the C sources contain the same BSD
style 3-clause license as distributed in the converters/iconv port.
While here use @preunexec instead of the deprecated @unexec in
pkg-plist.
Approved by: bland (maintainer)
Support for profiled libraries has been removed vom 14-CURRENT.
While other ports have completely removed the creation of profiled
libraries, this patch disables it on 14-CURRENT, only.
While here, add LICENSE and LICENSE_FILE.
Approved by: bland (maintainer)
MFH: 2022Q1
Core:
Fixed inclusion order for phpize builds on Windows.
Added missing hashtable insertion APIs for arr/obj/ref.
Implemented FR #77372 (Relative file path is removed from uploaded
file).
Fixed bug #81607 (CE_CACHE allocation with concurrent access).
Fixed bug #81507 (Fiber does not compile on AIX).
Fixed bug #78647 (SEGFAULT in zend_do_perform_implementation_check).
Fixed bug #81518 (Header injection via default_mimetype / default_charset).
Fixed bug #75941 (Fix compile failure on Solaris with clang).
Fixed bug #81380 (Observer may not be initialized properly).
Fixed bug #81514 (Using Enum as key in WeakMap triggers GC + SegFault).
Fixed bug #81520 (TEST_PHP_CGI_EXECUTABLE badly set in run-tests.php).
Fixed bug #81377 (unset() of $GLOBALS sub-key yields warning).
Fixed bug #81342 (New ampersand token parsing depends on new line after it).
Fixed bug #81280 (Unicode characters in cli.prompt causes segfault).
Fixed bug #81192 ("Declaration should be compatible with" gives incorrect line number with traits).
Fixed bug #78919 (CLI server: insufficient cleanup if request startup fails).
Fixed bug #81303 (match error message improvements).
Fixed bug #81238 (Fiber support missing for Solaris Sparc).
Fixed bug #81237 (Comparison of fake closures doesn't work).
Fixed bug #81202 (powerpc64 build fails on fibers).
Fixed bug #80072 (Cyclic unserialize in TMPVAR operand may leak).
Fixed bug #81163 (__sleep allowed to return non-array).
Fixed bug #75474 (function scope static variables are not bound to a unique function).
Fixed bug #53826 (__callStatic fired in base class through a parent call if the method is private).
Fixed bug #81076 (incorrect debug info on Closures with implicit binds).
CLI:
Fixed bug #81496 (Server logs incorrect request method).
COM:
Dispatch using LANG_NEUTRAL instead of LOCALE_SYSTEM_DEFAULT.
Curl:
Fixed bug #81085 (Support CURLOPT_SSLCERT_BLOB for cert strings).
Date:
Fixed bug #81458 (Regression Incorrect difference after timezone change).
Fixed bug #81500 (Interval serialization regression since 7.3.14 / 7.4.2).
Fixed bug #81504 (Incorrect timezone transition details for POSIX data).
Fixed bug #80998 (Missing second with inverted interval).
Speed up finding timezone offset information.
Fixed bug #79580 (date_create_from_format misses leap year).
Fixed bug #80963 (DateTimeZone::getTransitions() truncated).
Fixed bug #80974 (Wrong diff between 2 dates in different timezones).
Fixed bug #80998 (Missing second with inverted interval).
Fixed bug #81097 (DateTimeZone silently falls back to UTC when providing an offset with seconds).
Fixed bug #81106 (Regression in 8.1: add() now truncate ->f).
Fixed bug #81273 (Date interval calculation not correct).
Fixed bug #52480 (Incorrect difference using DateInterval).
Fixed bug #62326 (date_diff() function returns false result).
Fixed bug #64992 (dst not handled past 2038).
Fixed bug #65003 (Wrong date diff).
Fixed bug #66545 (DateTime. diff returns negative values).
Fixed bug #68503 (date_diff on two dates with timezone set localised returns wrong results).
Fixed bug #69806 (Incorrect date from timestamp).
Fixed bug #71700 (Extra day on diff between begin and end of march 2016).
Fixed bug #71826 (DateTime::diff confuse on timezone 'Asia/Tokyo').
Fixed bug #73460 (Datetime add not realising it already applied DST change).
Fixed bug #74173 (DateTimeImmutable::getTimestamp() triggers DST switch in incorrect time).
Fixed bug #74274 (Handling DST transitions correctly).
Fixed bug #74524 (Date diff is bad calculated, in same time zone).
Fixed bug #75167 (DateTime::add does only care about backward DST transition, not forward).
Fixed bug #76032 (DateTime->diff having issues with leap days for timezones ahead of UTC).
Fixed bug #76374 (Date difference varies according day time).
Fixed bug #77571 (DateTime's diff DateInterval incorrect in timezones from UTC+01:00 to UTC+12:00).
Fixed bug #78452 (diff makes wrong in hour for Asia/Tehran).
Fixed bug #79452 (DateTime::diff() generates months differently between time zones).
Fixed bug #79698 (timelib mishandles future timestamps (triggered by 'zic -b slim')).
Fixed bug #79716 (Invalid date time created (with day "00")).
Fixed bug #80610 (DateTime calculate wrong with DateInterval).
Fixed bug #80664 (DateTime objects behave incorrectly around DST transition).
Fixed bug #80913 (DateTime(Immutable)::sub around DST yield incorrect time).
DBA:
Fixed bug #81588 (TokyoCabinet driver leaks memory).
DOM:
Fixed bug #81433 (DOMElement::setIdAttribute() called twice may remove ID).
FFI:
Fixed bug #79576 ("TYPE *" shows unhelpful message when type is not defined).
Filter:
Fixed bug #61700 (FILTER_FLAG_IPV6/FILTER_FLAG_NO_PRIV|RES_RANGE failing).
FPM:
Fixed bug #81513 (Future possibility for heap overflow in FPM zlog).
Fixed bug #81026 (PHP-FPM oob R/W in root process leading to privilege escalation) (CVE-2021-21703).
Added openmetrics status format.
Enable process renaming on macOS.
Added pm.max_spawn_rate option to configure max spawn child processes rate.
Fixed bug #65800 (Events port mechanism).
FTP:
Convert resource<ftp> to object \FTP\Connection.
GD:
Fixed bug #71316 (libpng warning from imagecreatefromstring).
Convert resource<gd font> to object \GdFont.
Added support for Avif images
hash:
Implemented FR #68109 (Add MurmurHash V3).
Implemented FR #73385 (Add xxHash support).
JSON:
Fixed bug #81532 (Change of $depth behaviour in json_encode() on PHP 8.1).
LDAP:
Convert resource<ldap link> to object \LDAP\Connection.
Convert resource<ldap result> to object \LDAP\Result.
Convert resource<ldap result entry> to object \LDAP\ResultEntry.
MBString:
Fixed bug #76167 (mbstring may use pointer from some previous request).
Fixed bug #81390 (mb_detect_encoding() regression).
Fixed bug #81349 (mb_detect_encoding misdetcts ASCII in some cases).
Fixed bug #81298 (mb_detect_encoding() segfaults when 7bit encoding is specified).
MySQLi:
Fixed bug #70372 (Emulate mysqli_fetch_all() for libmysqlclient).
Fixed bug #80330 (Replace language in APIs and source code/docs).
Fixed bug #80329 (Add option to specify LOAD DATA LOCAL white list folder (including libmysql)).
MySQLnd:
Fixed bug #63327 (Crash (Bus Error) in mysqlnd due to wrong alignment).
Fixed bug #80761 (PDO uses too much memory).
Opcache:
Fixed bug #81409 (Incorrect JIT code for ADD with a reference to array).
Fixed bug #81255 (Memory leak in PHPUnit with functional JIT).
Fixed bug #80959 (infinite loop in building cfg during JIT compilation).
Fixed bug #81225 (Wrong result with pow operator with JIT enabled).
Fixed bug #81249 (Intermittent property assignment failure with JIT enabled).
Fixed bug #81256 (Assertion `zv != ((void *)0)' failed for "preload" with JIT).
Fixed bug #81133 (building opcache with phpize fails).
Fixed bug #81136 (opcache header not installed).
Added inheritance cache.
OpenSSL:
Fixed bug #81502 ($tag argument of openssl_decrypt() should accept null/empty string).
Bump minimal OpenSSL version to 1.0.2.
PCRE:
Fixed bug #81424 (PCRE2 10.35 JIT performance regression).
Bundled PCRE2 is 10.37.
PDO:
Fixed bug #40913 (PDO_MYSQL: PDO::PARAM_LOB does not bind to a stream for fetching a BLOB).
PDO MySQL:
Fixed bug #80908 (PDO::lastInsertId() return wrong).
Fixed bug #81037 (PDO discards error message text from prepared statement).
PDO OCI:
Fixed bug #77120 (Support 'success with info' at connection).
PDO ODBC:
Implement PDO_ATTR_SERVER_VERSION and PDO_ATTR_SERVER_INFO for PDO::getAttribute().
PDO PgSQL:
Fixed bug #81343 (pdo_pgsql: Inconsitent boolean conversion after calling closeCursor()).
PDO SQLite:
Fixed bug #38334 (Proper data-type support for PDO_SQLITE).
PgSQL:
Fixed bug #81509 (pg_end_copy still expects a resource).
Convert resource<pgsql link> to object \PgSql\Connection.
Convert resource<pgsql result> to object \PgSql\Result.
Convert resource<pgsql large object> to object \PgSql\Lob.
Phar:
Use SHA256 by default for signature.
Add support for OpenSSL_SHA256 and OpenSSL_SHA512 signature.
phpdbg:
Fixed bug #81135 (unknown help topic causes assertion failure).
PSpell:
Convert resource<pspell> to object \PSpell\Dictionary.
Convert resource<pspell config> to object \PSpell\Config.
readline:
Fixed bug #72998 (invalid read in readline completion).
Reflection:
Fixed bug #81611 (ArgumentCountError when getting default value from ReflectionParameter with new).
Fixed bug #81630 (PHP 8.1: ReflectionClass->getTraitAliases() crashes with Internal error).
Fixed bug #81457 (Enum: ReflectionMethod->getDeclaringClass() return a ReflectionClass).
Fixed bug #81474 (Make ReflectionEnum and related class non-final).
Fixed bug #80821 (ReflectionProperty::getDefaultValue() returns current value for statics).
Fixed bug #80564 (ReflectionProperty::__toString() renders current value, not default value).
Fixed bug #80097 (ReflectionAttribute is not a Reflector).
Fixed bug #81200 (no way to determine if Closure is static).
Implement ReflectionFunctionAbstract::getClosureUsedVariables.
Shmop:
Fixed bug #81407 (shmop_open won't attach and causes php to crash).
SimpleXML:
Fixed bug #81325 (Segfault in zif_simplexml_import_dom).
SNMP:
Implement SHA256 and SHA512 for security protocol.
Sodium:
Added the XChaCha20 stream cipher functions.
Added the Ristretto255 functions, which are available in libsodium 1.0.18.
SPL:
Fixed bug #66588 (SplFileObject::fgetcsv incorrectly returns a row on premature EOF).
Fixed bug #80663 (Recursive SplFixedArray::setSize() may cause double-free).
Fixed bug #81477 (LimitIterator + SplFileObject regression in 8.0.1).
Fixed bug #81112 (Special json_encode behavior for SplFixedArray).
Fixed bug #80945 ("Notice: Undefined index" on unset() ArrayObject non-existing key).
Fixed bug #80724 (FilesystemIterator::FOLLOW_SYMLINKS remove KEY_AS_FILE from bitmask).
Standard:
Fixed bug #81441 (gethostbyaddr('::1') returns ip instead of name after calling some other method).
Fixed bug #81491 (Incorrectly using libsodium for argon2 hashing).
Fixed bug #81142 (PHP 7.3+ memory leak when unserialize() is used on an associative array).
Fixed bug #81111 (Serialization is unexpectedly allowed on anonymous classes with __serialize()).
Fixed bug #81137 (hrtime breaks build on OSX before Sierra).
Fixed bug #77627 (method_exists on Closure::__invoke inconsistency).
Streams:
Fixed bug #81475 (stream_isatty emits warning with attached stream wrapper).
XML:
Fixed bug #79971 (special character is breaking the path in xml function) (CVE-2021-21707).
Fixed bug #70962 (XML_OPTION_SKIP_WHITE strips embedded whitespace).
Zip:
Fixed bug #81490 (ZipArchive::extractTo() may leak memory).
Fixed bug #77978 (Dirname ending in colon unzips to wrong dir).
Fixed bug #81420 (ZipArchive::extractTo extracts outside of destination) (CVE-2021-21706).
Fixed bug #80833 (ZipArchive::getStream doesn't use setPassword).
FLAVORS won't be available untill it is added to the Uses framework
which can be followed up :
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=260774
Relnotes: https://www.php.net/ChangeLog-8.php#8.1.1
Sponsored by: Bounce Experts
These packages must be rebuilt when so much as a bit changes in
lang/sbcl. Without the rebuild, problems such as StumpWM not loading
will occur.
Sponsored by: The FreeBSD Foundation
Release 21.12.0:
core:
* Add API to add images
* CairoOutputDev: Fix de-duping of Flate images
* Fix crash on broken files when using non-default ENABLE_ZLIB_UNCOMPRESS. Issue #393
* Minor code improvements
glib:
* Add API for validation of signatures
* Add API to read/save to file descriptor
utils:
* pdftohtml: Reduce sensitivity of duplicate detection. Issue #1117
build system:
* Increase C++ standard to 17
Exp-run by: antoine
PR: 260344
The conflict checks compare the patterns first against the package
names without version (as reported by "pkg query "%n"), then - if
there was no match - agsinst the full package names including the
version (as reported by "pkg query "%n-%v").
Approved by: portmgr (blanket)
- Chase HTTP/1.1 301 redirection when fetching the distfile
- Update license (ISCL), assume maintainership of the port
- Use provided build scripts instead of performing it manually
- Convert to static pkg-plist, 16 lines don't warrant dynamic
devel/ocaml-uutf: (required) update the port to version 1.0.2
and make changes similar to the above;
devel/ocaml-topkg: call `do-build' recipe in ${BUILD_WRKSRC}.
Release 21.09.0:
core:
* Splash: Massive speed improvement on files that use lots of save/restore (q/Q) operators
* Correct decoding of signature properties Reason & Location when they are Unicode
* Fix issues with malformed files
* MSVC build fixes
build system:
* Call cmake_minium_required() before project()
* Always append to CMAKE_{C,CXX}_FLAGS_${CMAKE_BUILD_TYPE}
* correctly forward user-provided flags to try_compile()
Exp-run by: antoine
PR: 258206
Release 21.08.0:
core:
* Add API to allow addition and modification of outlines into a PDF
* Use additional samples to test for constant parts of an axial gradient
* forms: Create fallback fonts for some well known font names
* Support reading the PDF Version from the Catalog
* Fix XRef::copy when there are modified objects
* Take into account that Date string may be in unicode
* JBIG2Stream: Fix regression in "Do not consider a size-0 to be an error"
* Replace a local bubble sort implementation by std::sort
* Fix issues with malformed files
build system:
* Better error message when libjpeg is not found
* Better error messages when libopenjpeg2 is not found
qt5/qt6:
* Document that a document has to outlive its pages
* Make getPdfVersion return a dedicated version object
glib:
* mimick TextSelectionDumper logic change for spaceAfter
Exp-run by: antoine
PR: 257539
Release 21.07.0:
core:
* JBIG2Stream: Do not consider a size-0 to be an error. Issue #535
* PSOutputDev: fix off-by-one error for image masking in L1/L2 output. Issue #1088
* CairoOutputDev: Fix memory leak on broken files
* Minor code improvements
build system:
* set C standard to 11 without extensions
Exp-run by: antoine
PR: 256981
Release 21.06.0:
core:
* Fix rendering of some extended latin1 characters in annotations. Issue #1070
* Support some not so well formed documents with password. Issue #1083
* Add API to get notified if the xref is reconstructed
* Add somewhat fancier left/right signature visual representation
* Fix crashes in malformed files
* Minor code improvements
qt6:
* Change some functions to return std::unique_ptr
qt5/qt6:
* Add API to get notified if the xref is reconstructed
* Add somewhat fancier left/right signature visual representation
* Don't assert when trying to invert singular matrices
build system:
* make boost opt-out if building splash
- Add dependency on boost to enable the splash backend.
PR: 256370
Exp-run by: antoine
Release 21.05.0:
core:
* Fix crashes in malformed files
* Export SplashFont* symbols used by Scribus
* Minor code improvements
qt5/qt6:
* Make sure new signatures are always properly oriented
* Allow to pass the border width when signing
glib:
* Enhance find to support multi-line matching
utils:
* pdftoppm: Fix regression when using single scaleTo. Issue #1062
build system:
* Allow to disable building manual tests
PR: 255562
Exp-run by: antoine