Commit graph

372 commits

Author SHA1 Message Date
Baptiste Daroussin
5c475f0e7b MAN?PREFIX: undefine those variables
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
2024-01-11 09:02:11 +01:00
Po-Chuan Hsieh
0bda50678e
CHANGES: Document the transition from USES=pycryptography* to USE_PYTHON=cryptography*
PR:		273727
2023-09-30 09:14:06 +08:00
Tobias C. Berner
4df0e66a36 llvm.mk: add export/noexport to handle CC/CXX/CPP exports
Reviewed by:	bofh
Differential Revision:	https://reviews.freebsd.org/D37747
2023-09-13 07:16:58 +02:00
Jason E. Hale
3b2ff2ef19 Mk: Add Uses/ebur128.mk
Handles dependencies for the chosen implementation of libebur128 set
via DEFAULT_VERSIONS: audio/libebur128 (legacy) and audio/ebur128
(rust).

PR:		272843
2023-08-21 10:24:20 -04:00
Andrew "RhodiumToad" Gierth
94218d3a91 Mk/Uses: Add guile.mk
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
2023-07-31 01:59:04 +03:00
Tobias C. Berner
7bb64b89d0 framework: add Mk/Uses/pycryptography
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
2023-07-22 09:46:38 +02:00
Felix Palmen
16bde072b1 bsd.sites.mk: Support tag names with USE_GITLAB
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
2023-07-12 20:55:08 +02:00
Mateusz Piotrowski
349b11cfc8 framework: Implement fetch-url-recursive-list and fetch-urlall-recursive-list
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
2023-07-12 16:19:10 +02:00
Felix Palmen
be67c1c353 Mk/Uses/magick.mk: Fix DEFAULT_VERSION handling
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
2023-04-30 13:10:39 +02:00
Matthias Andree
a9d9d3a427 lang/python: Revert "add bytecode trigger"
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
2023-02-27 22:04:52 +01:00
Charlie Li
c17ddfbf66
lang/python: add bytecode trigger
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
2023-02-15 16:35:07 -05:00
Charlie Li
cc8a1878e0
python.mk: introduce USE_PYTHON=pep517 for PEP-517 support
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
2023-01-11 00:22:16 -05:00
Tobias C. Berner
2b3e37f30c framework: Add new USES=llvm to more easily depend on one an llvm port
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
2022-12-17 21:20:28 +01:00
Baptiste Daroussin
ee697f183b CHANGES: document the 3 new features 2022-10-26 10:34:03 +02:00
Adam Weinberger
537a051cf5 CHANGES: Add a note for USES=luajit 2022-10-14 11:16:22 -06:00
Felix Palmen
ddae4e92d8 Mk/Uses: always use colon for build/run suffix
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
2022-09-11 12:20:14 +02:00
Stefan Eßer
9f4ff63512 CHANGES: document move of WWW from pkg-descr files to Makefiles
Approved by:	portmgr (implicit)
2022-09-08 00:02:34 +02:00
Tobias C. Berner
da71ecd25f CHANGES: document how to use vala.mk 2022-08-26 19:02:28 +02:00
Tobias C. Berner
f53336cefc CHANGES: add some pointers on how-to use Qt 6 in the tree 2022-08-21 19:31:46 +02:00
Tobias C. Berner
2fc48fb6f7 CHANGES: document removal of 'Created by' lines.
Differential Revision:	https://reviews.freebsd.org/D35023
With hat:	portmgr
2022-07-20 15:09:23 +02:00
Tobias C. Berner
ca3f925d6e framework: convert bsd.gstreamer.mk to Uses/gstreamer.mk
- 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
2022-04-30 10:03:20 +02:00
Dmitry Marakasov
b731fff69c Mk/Uses: Add pytest.mk
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
2022-04-18 13:32:16 +03:00
Joseph Mingrone
2f029030fe
CHANGES: Document USES=elfctl
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D34125
2022-02-18 15:06:53 -04:00
Loïc Bartoletti
4f0a5e1540 PyQt: Update sip to 6.5.0, reintroduce sip4 and simplify PyQt framework.
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
2022-01-27 07:12:26 +01:00
Tobias Kortkamp
cca7576243
CHANGES: Catch up to fca135644f 2022-01-17 14:20:25 +01:00
Stefan Eßer
35a26791f4 CHANGES: CPU_AND, CPU_OR, CPU_XOR parameters changed
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
2022-01-14 20:47:11 +01:00
Tobias C. Berner
45526ecbee framework: Add new USES 'magick' for graphics/ImageMagick*
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
2021-12-11 14:50:53 +01:00
Ruslan Makhmatkhanov
625b44fe25 CHANGES: Fix typo 2021-11-22 11:50:20 +03:00
Baptiste Daroussin
bcb098e384 fetchindex: make compression format configurable
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
2021-11-22 09:18:15 +01:00
Baptiste Daroussin
bf0d51503b CHANGES: Add missing empty line 2021-10-10 21:45:09 +02:00
Baptiste Daroussin
00e6acceae CHANGES: document recent changes
USES=triggers and the removal INSTALLS_ICONS changes are now documented
2021-10-10 21:45:09 +02:00
Xin LI
974e13b501 net/openldap24-server: Make SASL permanent for OpenLDAP port.
PR:		ports/257374
Reviewed by:	obrien
Approved by:	portmgr (exp-run by antoine)
Differential Revision: https://reviews.freebsd.org/D31301
2021-08-01 01:32:35 -07:00
Tobias C. Berner
5c8adda949 multimedia/{py-,}mlt{-qt5,}: rename to multimedia/{py-,}mlt6{-qt5,}:
- 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
2021-07-30 20:14:36 +02:00
Mathieu Arnold
5e7bdbf4c1
CHANGES: Document the prepare-commit-msg hook.
(Side note, this commit message was created with it, and the "CHANGES:"
 was already available.)
2021-06-09 12:47:55 +02:00
Dmitry Marakasov
0729af4255 Mk: switch PYTHON_REL to 5 digits to support python 3.10.x
PR:		255013
Differential Revision:	https://reviews.freebsd.org/D29418
Exp-run by:	antoine
Approved by:	wen@, no objection from python@ or portmgr@
2021-05-25 16:55:43 +03:00
Matthias Andree
0e15b5e947 CHANGES: fix typo
fix trailing semicolon to colon on 20210327 date tag
2021-05-22 09:49:06 +02:00
Mathieu Arnold
5d33e04596
framework: Remove $FreeBSD$
Where appropriate fiddle with a few other things.
2021-04-06 16:27:10 +02:00
Baptiste Daroussin
0c5383c3b0 Add a new @touch keyword
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
2021-03-27 22:18:28 +00:00
Dmitry Marakasov
9d7d7e2ffc Fix indentation 2020-12-02 13:10:47 +00:00
Tobias C. Berner
9578fbc72f Add new default-version variant for librsvg2
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
2020-11-20 19:02:42 +00:00
Adam Weinberger
db15051ca5 Add education virtual category
PR:		248402
Submitted by:	PauAmma
2020-11-20 07:16:06 +00:00
Baptiste Daroussin
6356d8c7e8 Patents are a complicated topic, and their regulation varies depending on
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
2020-11-12 16:11:37 +00:00
Mateusz Piotrowski
7036023b2a Do some wordsmithing on the 20201022 entry about Lua @shell. 2020-11-09 14:23:29 +00:00
Mateusz Piotrowski
d1682723a1 Fix a typo in the 20150926 entry about @*exec keywords 2020-11-09 13:43:03 +00:00
Baptiste Daroussin
445c660582 Document the addition of @rmempty 2020-10-22 08:22:21 +00:00
Baptiste Daroussin
da00cfe67e Fix typos and formatting 2020-10-22 08:09:05 +00:00
Baptiste Daroussin
945a9231f4 Document the @shell rewrite in lua 2020-10-22 08:08:17 +00:00
Danilo G. Baio
dd3c7e0af3 Typo 2020-10-02 00:01:07 +00:00
Emmanuel Vadot
ebad8741c0 Document the @sample keyword switch to lua. 2020-10-01 20:15:33 +00:00
Baptiste Daroussin
3c15b27041 Document the lua scripts changes with recent pkg addition 2020-10-01 19:58:18 +00:00