MAN?PREFIX where confusing (people kept messing around with them)
did not bring any real value or functionnality.
Reviewed by: portmgr (mat)
Approved by: portmgr (mat)
Differential Revision: https://reviews.freebsd.org/D43392
Handles dependencies for the chosen implementation of libebur128 set
via DEFAULT_VERSIONS: audio/libebur128 (legacy) and audio/ebur128
(rust).
PR: 272843
This patch adds USES=guile[:options], a framework to permit the
concurrent installation of different guile versions, allowing
ports to specify which guile they need.
lang/guile is now a meta-port, installing the default guile version;
guile 3 is now shipped in lang/guile3.
A new port lang/guile-aclocal holds the guile.m4 file from guile3
to permit ports written against guile1 or guile2 to avoid conflicts.
PR: 260960
Reported by: Martin Neubauer <m.ne@gmx.net>
Approved by: bofh
Differential Revision: https://reviews.freebsd.org/D40194
With the added new DEFAULT_VERSION "PYCRYPTOGRAHY_DEFAULT=rust|legacy"
it is important to transparently depend on the right one.
This is the job of this new uses.
So instead of manually adding dependency lines like
RUN_DEPENDS=${PYTHON_PKGNAMEPREFIX}cryptography>0:security/py-cryptography@${PY_FLAVOR}
this should now be
USES=pycryptography:run
Supported arguments: <none>,build,run,test
If no argument is given, it defaults to 'build,run'.
A future commit will update to security/py-cryptography will introduce a
rust dependency.
PR: 254853
Since quite some time, it's possible to download generated tarballs from
gitlab for a tag name without knowing the corresponding git hash. This
is preferable because you have a single source of truth about the
software version.
Support this by replacing GL_COMMIT with GL_TAGNAME which also accepts a
commit hash, similar to USE_GITHUB. Unfortunately, there's a catch, the
DISTFILE must be named exactly: ${GL_PROJECT}-${GL_TAGNAME}.tar.bz2,
otherwise it extracts in a directory that contains the commit hash. So,
we can't add the gitlab account or the revision suffix to make it work.
Therefore, detect whether GL_TAGNAME contains a commit hash, and if it
does, use the old behavior of deriving DISTNAME and DISTFILES.
Document in CHANGES, also add a DEV_WARNING similar to USE_GITHUB when
there's an URL in MASTER_SITES that looks like a gitlab URL. With
support for tags, there shouldn't be any reason left to hardcode such an
URL in MASTER_SITES.
PR: 248967
Approved by: portmgr (tcberner, mentor)
Differential Revision: https://reviews.freebsd.org/D37077
The recursive variants of fetch-url-list and fetch-urlall-list provide
a stable interface to a list of all the to-be-accessed URLs. That is
quite handy, e.g., when a list like that is necessary to implement
security policies.
Reviewed by: pizzamig
Approved by: portmgr (pizzamig)
Sponsored by: Klara Inc.
Differential Revision: https://reviews.freebsd.org/D40810
Handle fallback for version and flavor separately, also add several
sanity checks.
This fixes creating broken *_DEPENDS for ports using it without
arguments when a -nox11 version is requested in DEFAULT_VERSIONS like
e.g. this resulting from "imagemagick=7-nox11":
libMagick++-7-nox11.so:graphics/ImageMagick7-nox11
Approved by: tcberner (mentor)
Differential Revision: https://reviews.freebsd.org/D39424
This reverts commit c17ddfbf66.
This causes breakage on several ports, and the next iteration
requires a full exp-run. See:
Differential Revision: https://reviews.freebsd.org/D34739
Facilitates compiling, writing and removing bytecode files (.pyc)
in site-packages after all pkg transactions have been completed.
Technical details: https://wiki.freebsd.org/Python/CompiledPackages
Fixes reports of Python port builds as root failing on filesystem
violations due to bytecode file writes where the port did not include
them in the package.
For those ports/packages that currently package bytecode, some
checksum mismatches on those files may occur. This is harmless and
will be rectified, in large as part of a USE_PYTHON=distutils
overhaul to reduce churn.
While here, implement a long-standing todo item of letting lang/python
ports use python.mk bits. Not only does this obviate duplicate
variables in each Makefile, but SUB_LIST (also added) is used for
these triggers.
Co-authored by: tcberner
Approved by: tcberner (mentor)
Differential Revision: https://reviews.freebsd.org/D34739
USE_PYTHON=pep517 takes no arguments. Operation is similar to
USE_PYTHON=distutils, although the build backend specified in
pyproject.toml is to be specified in BUILD_DEPENDS explicitly. A
usage guide and implementation primer is available at:
https://wiki.freebsd.org/Python/PEP-517
With hat: python
Approved by: fluffy (mentor)
Co-authored by: yuri
PR: 255722
Differential Revision: https://reviews.freebsd.org/D36290
USES=llvm supports two kinds of arguments:
* mode
<none>: defaults to build
build: add a BUILD_DEPENDS on chosen llvm-port
run: add a RUN_DEPENDS on chosen llvm-port
lib: add a LIB_DEPENDS on chosen llvm-port
* version
<none>: defaults to ${LLVM_DEFAULT}
number: use explicitly the specified version
min=number: use specified min if ${LLVM_DEFAULT} is lower
max=number: use specified max if ${LLVM_DEFAULT} is higher
An example usage might be:
USES= llvm
or
USES= llvm:13,build
or
USES= llvm:min=14,lib
The following variables are exposed to be used in the ports tree at the moment:
* LLVM_VERSION version chosen from the arguments to llvm.mk
* LLVM_PORT chosen llvm port
* LLVM_CONFIG llvm-config of the chosen port
* LLVM_LIBLLVM libLLVM.so of the chosen port
* LLVM_PREFIX installation prefix of the chosen port
Reviewed by: manu, bapt
Differential Revision: https://reviews.freebsd.org/D37728
Most USES use a colon for build/run(/test) suffixes. Change kde.mk,
qt.mk and pyqt.mk to do the same, and update all ports using that.
Document in CHANGES.
PR: 266034
Exp-run by: antoine
Approved by: tcberner (mentor)
Differential Revision: https://reviews.freebsd.org/D36349
- convert bsd.gstreamer.mk to Uses/gstreamer.mk
- convert ports tree to make use of USES=gstreamer
- remove duplicate dependency lines from the tree
Differential Revision: https://reviews.freebsd.org/D35097
Add USES=pytest, a standardized pytest entry point.
This knob adds dependency on pytest and defines do-test target which
calls it "the right way" (respecting TEST_ENV, with proper verbosity,
additional info on skipped tests, and resetting addopts which may
be set by upstream and introduce unwanted options). This allows to
remove duplicate (and in many cases not completely correct) do-test
targets from a lot of pytest consumer ports.
Additionally, it adds PYTEST_IGNORED_TESTS (to list tests which
fail and are expected to fail) and PYTEST_BROKEN_TESTS (to list
tests which fail and needs to be fixed). Both knobs lead to
listed tests being skipped, which is believed to be better than
always failing `test` target, allowing to monitor status of other
tests and better document known failures.
Possible room for improvement:
- Support for pytest plugins (add dependencies and disallow pytest
from using unlisted plugins which often cause breakages)
- Treat PYTEST_BROKEN_TESTS as xfail to catch the cases when tests
are fixed.
Both items seem to require support on pytest side though.
Reviewed by: tcberner
Differential Revision: https://reviews.freebsd.org/D34693
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