SIP:
As mentioned in the update from sip to sip5, this is a transitional version
to remove what is deprecated in sip4.
Sip6 completely removes the deprecated parts.
Unfortunately, some ports — mostly cura things — can not use sip6, so we
reintroduce sip4.
PyQt:
At the same time, we took the opportunity to simplify PyQT and propose only one
package as for devel/pyside2. */py-qt5-* have been merged — excepted chart,
networkauth and webengine — into devel/py-qt5-pyqt.
This allows us to be in adequacy with the packages that the author of these
libraries proposes, namely:
PyQt - devel/py-qt5-pyqt
PyQt-Charts - x11-toolkits/py-qt5-chart
PyQt-NetworkAuth – net/py-qt5-networkauth
PyQt-WebEngine – www/py-qt5-webengine
SIP – devel/py-sip
py-sip - devel/py-qt5-sip
PyQt-builder - devel/py-qtbuilder
Qscintilla - devel/py-qt5-qscintilla2
Reviewed by: diizzy, kde
Tested by: kai, rhurlin, arrowd, madpilot
Approved by: makc, tcberner, kde
Differential Revision: https://reviews.freebsd.org/D33237
Exp-run by: antoine
The CPU_AND, CPU_ANDNOT, CPU_OR, and CPU_XOR macros have been modified
to support programs that have been written for GLIBC.
Describe the changes required to have ports support both the previous
FreeBSD conventions and the new GLIBC compatible parameter list.
MFH: 2022Q1
A new USES has been added to depend on ImageMagick.
USES=magick
adds a LIB_DEPENDS on graphics/ImageMagick${IMAGEMAGICK_DEFAULT}.
If a specific version is required, use for example
USES=magick:6 resp. USES=magick:7
If only a build, run or test is required, use for example
USES=magick:build resp. USES=magick:6,build,test
If a dependency on the nox11 flavor is required, use for example
USES=magick:nox11 resp. USES=magick:7,nox11,run,test
See magick.mk for more details on the available flags.
The tree has been completely converted to make use of this.
Approved by: bapt
Differential Revision: https://reviews.freebsd.org/D32754
Add INDEX_COMPRESSION_FORMAT as a variable a user can overwrite via
/etc/make.conf to allow the compression format used for INDEX to be
changed. Available compression formats are: bz2, xz and zst for now.
While here change the default compression format to be .xz (the
smallest), for environement where performance of unxz matters it can
switched to zst.
bz2 format is kept for compatibility with existing tooling.
In order to simplify the code, bsdcat(1) is now used for uncompressing
instead detecting the compression format manually and switch the
decompression tool manually
Note the bzip2 compression format is now considered as deprecated
- To make it possible to easily import mlt-7 move the current port to
a versioned directory.
- Add Mk/Uses/mlt.mk to make it easily possible to depend on a given mlt
version:
USES=mlt:6
will get you a dependency on multimedia/mlt6, while
USES=mlt:7
will get you a dependency on the soon to be added multimedia/mlt7
- Switch the port to use cmake as a build system
- While here, provide some more options to make it possible to have
a leaner package if required
- Bump consumers after rename of the dependency
it takes 1 pr N arguments, it creates each of the said files
if they do not exist yet
As it is using lua, it means it has the bonus of being cross installable,
rootdir friendly and sandboxed.
Reviewed by: mat, manu
Differential Revision: https://reviews.freebsd.org/D29426
New default version for librsvg2.
Current versions of graphics/librsvg2 are using parts written in rust.
For architectures that do not have support for rust, and for people
who prefer not to have, or are not able to compile rust software due
to hardware limitations, the version can be chosen via this new flag.
The default on almost all architectures is rust.
If you prefer no to use rust, add the following to your make.conf:
DEFAULT_VERSIONS+=librsvg2=legacy
This makes the change committed in r554733 a bit more flexible for people
who are opposed to oxidation.
PR: 251014
Exp-run by: antoine
jurisdiction. Patents are not necessarily related to the license and so
should not be connected to the license framework.
As a project we will officially remove all patent limitations within the
ports tree and leave it to the user or consumer to deal with their local
legislation to determine if they can use the software without legal
restrictions.
Approved by: core
Allow ports to only depend on a component of PyQt for testing.
USES=pyqt:5
USE_PYQT=webengine_test
will add a TEST_DEPENDS on www/py-qt5-webengine
Approved by: portmgr (mat)
Differential Revision: https://reviews.freebsd.org/D23241
patches even if one fail.
This helps when upgrading ports with a large number of patches, like
www/chromium where having to fix one patch, re-do the patching, fix the
fallout, 800 times, is really painful.
This fixes the first attempt at this which would make ports with
multiple patches patching one file somewhat explode.
Bump the minimum required pkg version to a version that accepts
properly lua scripts
Lua script offers the advantages over shell scripts that they are
running in a capsicum sandbox and they are natively rootdir friendly
Reviewed by: portmgr (mat)
Differential Revision: https://reviews.freebsd.org/D21433
Ports using USES=lua:module or lua:flavors will be flavored. A range of
supported lua versions can be set using XX-YY (or XX-, or -YY, or simply ZZ)
for ports not supporting all lua versions.
USES=lua sets LUA_FLAVOR that needs to be used on all dependencies of
flavored lua ports, in a similar way as PHP or Python flavors.
PR: 245038
Submitted by: andrew tao11 riddles org uk
Reviewed by: mat, kevans, russ haley gmail com
Approved by: mat (portmgr)
Differential Revision: https://reviews.freebsd.org/D16494
in 2019 the norm is for applications to support both v4 and v6 version of the ip
stack. Furthermore, the ipv6 category was clearly not consistently spread over
the ports tree defeating the goal of the category.
This is useful when 2 tools do provide the same feature, but the configure
scripts do test for some variables which are not in one of the tool.
For example m4 in base is mostly compatible with GNU m4 when called with the -g
arguement. This wrapper allows to use it with build systems that do check for it
calling --version and expecting GNU in the arguments.
Reviewed by: mat (final discussions on irc)
Differential Revision: https://reviews.freebsd.org/D21835
- This XFCE release uses almost exclusively gtk3, so the USES=xfce
now defaults to gtk3
- Make x11-themes/gtk-xfce-engine an optional dependency(disabled
by default), it only supports gtk2, so would leave miost of this
XFCE version unthemed.
- Add Greybird as an optional and enabled dependency as a modern
theme supporting both GTK versions and all other XFCE parts
- The xfce4-vala port is deprecated and removed. The VALA bindings
are available in the library ports using the GIR and VAPI options
(on by default)
- Fixed various missing library and portlint warnings (portmgr fixit
blanket)
- Default Display Manager changed to lightdm (Thanks to woodsb02
for help)
- Add x11/xfce4-screensaver as an optional dependency to the
xfce4-goodies (enabled by default)
- Remove dependency on x11-fm/thunar-vfs and deprecate the port.
It is EOL upstream and the functionality is included in thunar
itself
Update:
- Added back sysutils/xfce4-places-plugin, updated to 1.8.1
- archivers/thunar-archive-plugin to 0.4.0
- audio/thunar-media-tags-plugin to 0.3.0
- audio/xfce4-mpc-plugin to 0.5.2
- audio/xfce4-pulseaudio-plugin to 0.4.2
- deskutils/xfce4-tumbler to 0.2.7
- devel/thunar-vcs-plugin to 0.2.0 [1]
- devel/xfce4-dev-tools to 4.14.0
- misc/xfce4-appfinder to 4.14.0
- misc/xfce4-weather-plugin to 0.10.0
- multimedia/xfce4-parole to 1.0.4
- sysutils/gigolo to 0.5.0
- sysutils/xfce4-battery-plugin to 1.1.3
- sysutils/xfce4-fsguard-plugin to 1.1.1
- sysutils/xfce4-netload-plugin to 1.3.2
- sysutils/xfce4-power-manage to 1.6.5
- sysutils/xfce4-settings 4.14.1
- sysutils/xfce4-systemload-plugin to 1.2.3
- sysutils/xfce4-wavelan-plugin to 0.6.1
- www/xfce4-smartbookmark-plugin to 0.5.1
- x11-clocks/xfce4-datetime-plugin to 0.8.0
- Added new xfce4-stopwatch-plugin, version 0.3.1
- x11-clocks/xfce4-timer-out-plugin to 1.0.3
- x11-fm/thunar to 1.8.9
- x11-wm/xfce4-desktop to 4.14.1
- x11-wm/xfce4-panel to 4.14.0
- x11-wm/xfce4-session to 4.14.0
- x11-wm/xfce4-wm to 4.14.0
- x11/libexo to 0.12.8
- x11/libxfce4menu to 4.14.1
- x11/libxfce4util to 4.14.0
- x11/xfce4-conf to 4.14.1
- x11/xfce4-dashboard to 0.7.5
- x11/xfce4-screensaver to 0.1.8
- x11/xfce4-screenshooter-plugin to 1.9.6
- x11/xfce4-verve-plugin to 2.0.0
Thanks to: Olivier Duchateau <duchateau.olivier@gmail.com>
PR: 240236
Exp-run by: antoine
Tested by: sbruno
Approved by: sergey.dyatko@gmail.com (maintainer timeout via
email), portmgr (fixit blanket, port breaks with
new Thunar if not updated) [1]
Differential Revision: https://reviews.freebsd.org/D21278
Ports that build out of source now simply can use "USES=cmake"
instead of "USES=cmake:outsource". Ports that fail to build
out of source now need to specify "USES=cmake:insource".
I tried to only set insource where explictely needed.
PR: 232038
Exp-run by: antoine
After a discussion on the mailing list on moving manpages to
${PREFIX}/share/man for consistency with base where it is
installed in usr/share/man, it appeared the same should happen
to GNU info files which were installed under share in base and
not in ports.
Now texinfo is not in base on any of the supported version of FreeBSD
it is possible to proceed to this move and it is easier to do than
the manpage change.
Other benefit than consistency are less patching: all build tools but
cmake are expecting info files to be under share/info and cmake (patched here)
was having an exception for BSD so the patch makes FreeBSD case less
specific for them
Bump revision of all impacted ports
PR: 232907
exp-run by: antoine
Differential Revision: https://reviews.freebsd.org/D17816
From now on, ports that depend on Qt4 will have to set
USES= qt:4
USE_QT= foo bar
ports depending on Qt5 will use
USES= qt:5
USE_QT= foo bar
PR: 229225
Exp-run by: antoine
Reviewed by: mat
Approved by: portmgr (antoine)
Differential Revision: →https://reviews.freebsd.org/D15540
Ports using USES=php:phpize, php:ext, php:zend, and php:pecl are now
flavored. They will automatically get flavors (php56, php70, php71, php72)
depending of the versions they support (set with IGNORE_WITH_PHP). As a
consequence, ports using USES=pear and USES=horde are also flavored.
PR: 226242
Submitted by: mat
Exp-run by: antoine
Approved by: portmgr
Sponsored by: Absolight
Differential Revision: https://reviews.freebsd.org/D14208
This took quite a lot of time because Qt's own build system underwent
several changes in 5.8.0 that took a while to adapt to.
And, of course, qt5-webengine is a behemoth that we need to patch like crazy
due to its bundling of Chromium. In fact, most of the Chromium patches in
qt5-webengine have been imported with no changes from www/chromium@433510
("www/chromium: update to 56.0.2924.87").
New port: accessibility/qt5-speech
Bigger changes to Qt5 ports we had to make:
- Qt now allows using a configure.json file to define configuration options
and specify configuration checks that can be done when qmake is invoked.
However, configure.json checks done in a subdirectory only propagates to
subdirectories, and checks elsewhere will fail if all .pro files are being
parsed at once (i.e. qmake -recursive), so several ports had to switch to
USES=qmake:norecursive along with manual additional qmake invocations in
subdirectories in order to work. It's been mentioned in a few places such
as Qt's bug tracker that qmake's recursive mode is pretty much deprecated,
so we might switch to non-recursive mode by default in the future.
- Uses/qmake.mk: Introduce QMAKE_CONFIGURE_ARGS. qmake now accepts
arbitrary options such as '-foo' and '-no-bar' at the end of the
command-line. They can be specified in QMAKE_CONFIGURE_ARGS.
- graphics/qt5-wayland: The port can only be built if graphics/mesa-libs is
built with the WAYLAND option, so a corresponding option (off by default)
was added to the port.
- misc/qt5-doc: Switch to a pre-built documentation tarball. The existing
port was not working with Qt 5.9. Instead of trying to fix it, switch to
what Gentoo does and fetch a tarball that already contains all
documentation so that we do not have to build anything at all. The
tarball's name and location in download.qt.io look a bit weird, but it
seems to work fine.
- www/qt5-webengine: Use binutils from ports, Chromium's GN build system
generates a build.ninja that uses ar(1) with the @file syntax that is not
supported by BSD ar, so we need to use GNU ar from binutils.
- x11-toolkits/qt5-declarative-render2d: This port was merged into the main
Qt Declarative repository upstream, and into x11-toolkits/qt5-quick in the
ports tree.
Changes to other ports we had to make:
- biology/ugene: Drop a '#define point "."' that is not present in more
recent versions of the port. Defining a macro with such a common name
causes build issues with Qt 5.9, which uses |point| as an argument name in
methods.
- cad/qelectrotech: Fix plist with Qt 5.9. Directories are no longer
installed with `cp -f -R', but rather `qmake install qinstall', which does
not install
%%DATADIR%%/elements/10_electric/20_manufacturers_articles/bosch_rexroth/.directory
That's a local file that should not even have been part of the tarball
anyway.
- chinese/gcin-qt5: Add additional private Qt directories (which should not
be used in the first place) to get the port to build with Qt 5.9.
- devel/qtcreator: Fix plist with Qt 5.9. Something changed in qdoc and some
test classes no longer generate documentation files.
- security/keepassx-devel: Import a patch sent upstream almost a year ago to
fix the build with Qt 5.9.
Thanks to antoine for the exp-run, and tcberner and Laurent Cimon
<laurent@nuxi.ca> for landing changes in our qt-5.9 branch.
PR: 224849