Mk/**java.mk: Convert bsd.java.mk to USES
The following features have been added or changed:
- Instead of USE_JAVA use USES=java. This defaults to
USES=java:build,run if NO_BUILD is undefined. Else it defaults to
USES=java:run
- Instead of USE_ANT=yes use USES=java:ant which also implies
USES=java:build
- Instead of JAVA_BUILD=yes use USES=java:build. Does not imply run or
extract
- Instead of JAVA_EXTRACT=yes use USES=java:extract does not imply
build or run
- Instead of JAVA_RUN=yes use USES=java:run does not imply extract or
build
- Instead of USE_JAVA=<version> use USES=java and JAVA_VERSION=<version>
Approved by: mat (portmgr), glewis
Differential Revision: https://reviews.freebsd.org/D48201
Mk/**ocaml.mk: Convert remaining bsd.ocaml.mk to Uses/ocaml.mk
- Instead of USE_OCAML=yes use USES=ocaml. If empty USES=ocaml implies
build and run
- Instead of USE_OCAMLFIND_PLIST use USES=ocaml:findplist which also
implies USES=ocaml:findlib
- Instead of USE_OCAML_CAMLP4 use USES=ocaml:camlp4
- Instead of USE_OCAML_FINDLIB use USES=ocaml:findlib
- Instead of USE_OCAML_LDCONFIG use USES=ocaml:ldconfig
- Instead of USE_OCAML_WASH use USES=ocaml:wash
- Instead of NO_OCAML_BUILDDEPENDS use USES=ocaml:run
- Instead of NO_OCAML_RUNDDEPENDS use USES=ocaml:build
- Instead of USE_OCAML_TK use USES=ocaml:tk which actually implies
USES=ocaml:tkbuild and USES=ocaml:tkrun
- Instead of NO_OCAMLTK_BUILDDEPENDS use USES=ocaml:tkrun
- Instead of NO_OCAMLTK_RUNDEPENDS use USES=ocaml:tkbuild
- USES=ocaml:dune remains unchanged
- Prepare to add/remove keywords easily
Approved by: mat (portmgr)
Reviewed by: freebsd@dev.thsi.be
Differential Revision: https://reviews.freebsd.org/D48227
Mk/**ldap.mk: Convert USE_LDAP to USES=ldap
Convert the USE_LDAP=yes to USES=ldap and adds the following features:
- Adds the argument USES=ldap:server to add openldap2{4|5|6}-server as
RUN_DEPENDS
- Adds the argument USES=ldap<version> and replaces WANT_OPENLDAP_VER
- Adds OPENLDAP versions in bsd.default-versions.mk
- Adds USE_OPENLDAP/WANT_OPENLDAP_VER in Mk/bsd.sanity.mk
- Changes consumers to use the features
Reviewed by: delphij
Approved by: portmgr
Differential Revision: https://reviews.freebsd.org/D38233
Mk/Uses/apache.mk: Refactor after removal of older versions
apache22 and apache25 had been removed a long time ago however the
apache.mk file has never been refactored and is out of sync from the
file Mk/bsd.default-versions.mk. These changes refactors the removals of
the older versions. In addition:
- Move some keywords like USE_APACHE, USE_APACHE_BUILD, USE_APACHE_RUN
from SANITY_DEPRECATED to SANITY_UNSUPPORTED
- Remove apache versions from ports Makefiles as currently there is only
one available version in the tree. However the version checks are
still valid and should work flawlessly whenever a new version is
added. For example USES=apache:2.2+ are simply replaced with
USES=apache. As currently there are no other versions available for
test this could not be checked on it's own ground.
- Update FOO_USE=APACHE=yes to FOO_USES=apache
- Remove trailing whitespaces
Approved by: portmgr
Differential Revision: https://reviews.freebsd.org/D38113
Mk/**ruby.mk: Switch from USE_RUBY=yes to USES=ruby
Switch from Mk/bsd.ruby.mk to Mk/Uses/ruby.mk
Notable changes are.
- Mk/bsd.ruby.mk is moved to Mk/Uses/ruby.mk.
- USE_RUBY=yes is replaced with USES=ruby.
- USE_RUBY_EXTCONF is replaced with USES=ruby:extconf.
- USE_RUBY_RDOC is replaced with USES=ruby:rdoc.
- USE_RUBY_SETUP is replaces with USES=ruby:setup.
- RUBY_NO_BUILD_DEPENDS and RUBY_NO_RUN_DEPENDS are replaced with
USES=ruby:{build,none,run}.
- RUBY_REQUIRE isn't used anywhere, so removed.
- USES=gem now implies USES=ruby.
This is mainly the work of yasu@ at https://reviews.freebsd.org/D27863
I have just made some cosmetic changes and ran exp-run to test that the
tree is not in a BROKEN state.
Approved by: portmgr
Differential Revision: https://reviews.freebsd.org/D37925
Mk/bsd.sanity.mk: Reduce parsing during package builds
This disables bsd.sanity.mk when PACKAGE_BUILDING is set such that it
only is loaded during 'make [all]' or 'make check-sanity'. It is assumed the
package tool will manually call the target if it wants the check. Otherwise
we get redundant logic and filesystem lookups from this file for every other
build target.
Prodded by: mjg
framework: cleanup conditional-indentations in Mk/
Run Tools/scripts/indent_make_if.pl on all of Mk.
These white space changes contribute greatly to the readability of those files.
As we have a version control system, finding out the reasons for the changes
prior to these white space changes is still easily possible
Differential Revision: https://reviews.freebsd.org/D35024
Reviewed by: portmgr (rene, bapt)
Retire XORG_CAT
Retire XORG_CAT, it is not needed since all ports has moved to use
USES=xorg-cat.
Add a check to bsd.sanity.mk causing an error if any port happens to set it
in the future.
PR: 241694
Approved by: portmgr (mat)
Add support for overlays
overlays are a way to help users to integrate their own ports tree
with the official ports tree without having to maintain clone of the
official tree and remerge on regular basis.
The ports tree will lookup in the overlays (in the order the are listed in
OVERLAY variable) for the dependencies and the USES. It will use the first
found.
in order to use it the user have to declare his overlays that way in their
make.conf:
OVERLAYS= overlay1 overlay2 overlay3
Reviewed by: manu
Approved by: swills
Differential Revision: https://reviews.freebsd.org/D21468
Mk/bsd.sanity.mk: Flag non-integer PORTREVISION/PORTEPOCH
Currently they are not checked and something like PORTREVISION=foo
or just PORTREVISION= is accepted. Some ports use indirection via
custom variables for them so it is worthwhile to check that they
are set to sane values.
While here fix ports that currently have non-integer PORTREVISION
or PORTEPOCH.
Approved by: portmgr (mat)
Differential Revision: https://reviews.freebsd.org/D21225
Mk/bsd.sanity.mk: Prevent false positive with SSL_DEFAULT!=base after r499267
With SSL_DEFAULT!=base USES=ssl sets OPENSSL_LDFLAGS and any port with an
OPENSSL option like net/haproxy gets a false positive error like:
/!\ haproxy-1.9.8: Makefile errors /!\
The following options helpers are incorrectly set after bsd.port.options.mk
and are ineffective: OPENSSL_LDFLAGS
*** Error code 1
Whitelist OPENSSL_LDFLAGS to prevent this.
Reported by: mfechner (via ports-committers)
Approved by: portmgr (mat)
Differential Revision: https://reviews.freebsd.org/D20275
Flag nop options helpers that appear after bsd.port.options.mk as DEV_ERRORs
Approved by: portmgr (mat)
Differential Revision: https://reviews.freebsd.org/D19553
Convert bsd.sdl.mk to Uses/sdl.mk
Frow now on, USES=sdl should be used to specify dependency on SDL
libraries.
USE_SDL is still required to specify components, specifying it
without USES=sdl is still supported, but deprecated, and leads to
a warning. USE_SDL=yes support was removed, and now leads to error,
USE_SDL=sdl should be used instead (all ports which still used
USE_SDL=yes were fixed). sdl.mk was simplified and modernized along
the way.
PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=235561
Approved by: portmgr (mat)
Exp-run by: antoine
Differential Revision: https://reviews.freebsd.org/D19075
Move sanity checks later.
Some USES set some variables that a porter may need to be aware and
set some variables too late for sanity checks to do a good job.
Add a DEV_ERROR if PORTDOCS/PORTEXAMPLES are set and DOCS/EXAMPLES
options are not defined.
PR: 230864
Submitted by: mat
exp-runs by: antoine
Differential Revision: https://reviews.freebsd.org/D13651
Replace bsd.qt.mk by Uses/qt.mk and Uses/qt-dist.mk
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
Remove support for variables that have been deprecated for a while.
variables deprecation revision
WITHOUT_NLS 2013-12-13 r336337
WITH_/WITHOUT_ 2014-02-24 r345870
NOPORT(DOC|EXAMPLE)S 2014-04-19 r351587
WITH_BDB_VER 2016-05-02 r414444
OVERRIDE_LINUX_BASE_PORT 2016-09-05 r421387
WITH_OPENSSL_(BASE|PORT) 2016-06-16 r416965
While there, add an ERROR variable that works like DEV_ERROR, but for
user facing errors, and move NOPORTDOCS,
NOPORTEXAMPLES and WITHOUT_NLS to it.
Cleanup bsd.sanity.mk a bit.
Fix fallout.
PR: 224613
Submitted by: mat
Exp-run by: antoine
Sponsored by: Absolight
Differential Revision: https://reviews.freebsd.org/D13490
Make ninja opt-out in cmake.mk
Using ninja instead of make (1) can lead to significant speed ups while
building.
Therefore switch from having the ninja generator opt-in to having it opt-out.
Previously cmake-ports that wanted to use ninja could set
CMAKE_NINJA=yes
now, ports that do not work with ninja can set
cmake:<existing args>,noninja
Note, that needing this should be an exception and most often points to a broken
cmake of the port.
The ports using cmake were modified
* removed USES=gmake, if ninja is used
* removed MAKE_ARGS, if ninja is used
* added the cmake-argument noninja if necessary
PR: 219629
PR: 213331
Exp-run by: antoine
Reviewed by: rakuco
Differential Revision: https://reviews.freebsd.org/D10748
Replace bsd.openssl.mk with USES=ssl
Add a qa hint about needing, or not, USES=ssl.
Fix ports doing silly things, like including bsd.openssl.mk directly.
PR: 210322
Submitted by: mat
Exp-run by: antoine
Sponsored by: Absolight
Differential Revision: https://reviews.freebsd.org/D6866
Improve gem.mk
* Check for valid args to USES=gem
* Make autoplist default, allowing it to be specified (which is a no-op), or
turned off
* Add sanity checks for USE_RUBYGEMS RUBYGEM_AUTOPLIST
Requested by: mat
Discussed with: mat
Move MySQL support from bsd.databases.mk to Uses/mysql.mk.
Also, USE_MYSQL can't happen after bsd.port.pre.mk because it is a USES.
PR: 208971
Submitted by: mat
Exp-run by: antoine
With hat: portmgr
Sponsored by: Absolight
Differential Revision: https://reviews.freebsd.org/D5951
Move USE_BDB support from bsd.databases.mk to its own file.
Also:
- Deorbit WANT_BDB_VER, one can use USES=bdb:<ver> instead.
- USE_BDB can't happen after bsd.port.pre.mk because it is a USES.
PR: 208971
Submitted by: mat
Exp-run by: antoine
With hat: portmgr
Sponsored by: Absolight
Differential Revision: https://reviews.freebsd.org/D5951
Remove USE_FIREBIRD from bsd.databases.mk, replaced by USES=firebird.
Also:
- replace USE_FIREBIRD by USES=firebird.
- convert ports depending on databases/firebird25-client directly to
USES=firebird.
PR: 208971
Submitted by: mat
Exp-run by: antoine
With hat: portmgr
Sponsored by: Absolight
Differential Revision: https://reviews.freebsd.org/D5951
Remove USE_SQLITE from bsd.databases.mk, replaced by USES=sqlite.
While there replace USE_SQLITE=x by USES=sqlite:x.
PR: 208971
Submitted by: mat
Exp-run by: antoine
With hat: portmgr
Sponsored by: Absolight
Differential Revision: https://reviews.freebsd.org/D5951
Introduce 2 new USES: sqlite and firebird
sqlite and firebird handling code has been extracted from bsd.databases.mk
add an entry in bsd.sanity.mk to mark USE_SQLITE and USE_FIREBIRD as deprecated
Remove support for WANT_SDL/HAVE_SDL knobs
WANT_SDL/HAVE_SDL macros allowed a port to check which SDL components
are installed. This goes against the policy of avoiding automatic
dependencies, and there are actually no cases in the portstree where
these knobs are used properly, so axe them out.
Approved by: portmgr (mat)
Differential Revision: D4093
Remove UNIQUENAME and LATEST_LINK.
UNIQUENAME was never unique, it was only used by USE_LDCONFIG and now,
we won't have conflicts there.
Use PKGBASE instead of LATEST_LINK in PKGLATESTFILE, the *only* consumer
is pkg-devel, and it works just fine without LATEST_LINK as pkg-devel
has the correct PKGNAME anyway.
Now that UNIQUENAME is gone, OPTIONSFILE is too. (it's been called
OPTIONS_FILE now.)
Reviewed by: antoine, bapt
Exp-run by: antoine
Sponsored by: Absolight
Differential Revision: https://reviews.freebsd.org/D3336
Convert code in bsd.port.mk for USE_GHOSTSCRIPT* to USES=ghostscript.
Add GHOSTSCRIPT_DEFAULT to bsd.default-versions.mk for easy version selection.
Arguments supported: <empty>, build, run, nox11 and agpl
PR: 201201 (exp-run)
Approved by: portmgr (mat@)
Exp run by: antione@ (previous patch)
Differential Revision: https://reviews.freebsd.org/D2938
Remove NEED_ROOT, the last customer has been modified to be able to properly
package as a regular user
USES=fakeroot and USES=uidfix does a better job and is less intrusive and allows
to simplify the way we handle the different targets in the framework
Rework change from r383665 for CATEGORY validation so it does not show a
warning when PORTSDIR is set to a directory that is symlinked to the real
ports directory.
Reported by: smh
With hat: portmgr
Follow-up the check added in r383191 for validating the first CATEGORY so it
does not error when using ports outside of PORTSDIR and the general ports
directory structure.
With hat: portmgr
Tested by: amdmi3, danfe
Reported by: amdmi3
Re-enable and rework check added in r370464 to validate the first CATEGORY
is set properly. The problem causing the revert in r370475 was fixed in
r383190.
With hat: portmgr
- Remove deprecated USE_KDE4=kdehier
- while here, remove any reference to KDE in deskutils/charmtimetracker (Qt-only
app)
and supposedly fix build of graphics/gnash with KDE4 option
- Remove support for deprecated python bits from the ports
framework. The following knobs are not supported anymore:
USE_PYTHON=<yes|version+-|-version|version-version>
USE_PYTHON_BUILD
USE_PYTHON_RUN
USE_PYDISTUTILS
PYDISTUTILS_AUTOPLIST
PYTHON_PY3K_PLIST_HACK
PYDISTUTILS_NOEGGINFO
PYTHON_CONCURRENT_INSTALL
USE_PYTHON_PREFIX
PR: 196477
Differential Revision: https://reviews.freebsd.org/D1416
Exp-run: antoine
Reviewed by: antoine
Approved by: portmgr (antoine)
With hat: python
Final removal of WITH_NEW_XORG
This knob was turned on for all version of FreeBSD in r369875
(2014-10-03) and officially deprecated. Since then, it was gradually
removed from many ports when they needed an update.
x11-servers/xorg-server was the last major user of this knob. The port
was updated to xserver 1.14 in r374982 (2014-12-19). The update got rid
of the knob, clearing the path to the final removal.
This commit changes ports who were checking for WITH_NEW_XORG and remove
its handling from bsd.port.mk.
While here, two sanity checks are added to warn user about WITH_KMS and
WITH_NEW_XORG which have no effect now.
Differential Revision: https://reviews.freebsd.org/D1351
Reviewed by: antoine, bapt, kwm
Approved by: portmgr (antoine, bapt), kwm
KDE/FreeBSD team presents KDE SC 4.14.2 and KDE Workspace 4.11.13!
USE_KDE4=kdehier component has been deprecated, new components added:
baloo - Baloo core libraries
baloo-widgets - Baloo widgets library
kfilemetadata - KDE library for extracting file metadata
New ports:
graphics/kqtquickcharts - QtQuick plugin to render interactive charts
misc/artikulate - Pronunciation trainer for KDE
(not usable currently, links to both
GStreamer 1.x and 0.10.x via dependencies)
sysutils/baloo[-widgets] - KDE framework for searching and
managing user metadata
sysutils/kfilemetadata - Library for extracting file metadata
l10n ports:
- Farsi (Persian) and Indonesian translations has been readded
- Vietnamese didn't pass threshold for inclusion into release
astro/kstars:
- switch dependency from math/eigen2 to math/eigen3
- add PYKDE option for updating supernovae data
deskutils/kdepim4:
- update dependencies: add libkgapi and baloo,
remove now needless clucene, link-grammar, strigi
- add patch to fix build with gcc42
- update COMMENT and description for all KDE PIM ports
devel/ruby-krossruby:
- remove BROKEN, it builds with ruby 2.x now
editors/kate:
- add patch to disable memory-hungry build of the kate tests [1]
graphics/okular:
- add dependency on graphics/libkscreen
math/cantor:
- add optional dependency on lang/luajit for LuaJIT backend
- fix gfortran detection [2]
misc/kdehier4:
- adapt to new pkg world. Now the purpose of kdehier4 only
to link some stuff between KDE4_PREFIX and LOCALBASE.
science/kalzium:
- switch dependency from math/eigen2 to math/eigen3
- add dependence on science/chemical-mime-data
x11-themes/kdeartwork4
- switch dependency from math/eigen2 to math/eigen3
among other changes:
- drop deprecated USE_KDE4=kdehier
- drop @dirrm from plist
- clean up pkg-descr
- convert to options helpers
- other portlint fixes
The area51 repository features commits by alonso, rakuco and myself.
PR: 187150 [1]
Reported by: pe.freethread@live.com
Patch by: Tobias Berner <tcberner@gmail.com>
PR: 180674 [2]
Reported by: torsten.eichstaedt@web.de
PR: 194316
Exp-run: antoine
Retire MANCOMPRESSED.
Also the compat NO_INSTALL_MANPAGES shim.
Differential Revision: https://reviews.freebsd.org/D730
Reviewed by: antoine
With hat: portmgr
Sponsored by: Absolight
- Remove last uses of USE_AUTOTOOLS=libtool from bsd.gnome.mk
(lthack, ltasneededhack and ltverhack) [1]
- Remove support for USE_AUTOTOOLS=libtool and USE_AUTOTOOLS=libltdl
PR: 188978 [1]
Approved by: portmgr (bapt)
Remove support for NO_STAGE
Mark all current non staged ports as BROKEN
Reviewed by: antoine
Exp-run: antoine
Differential Revision: https://reviews.freebsd.org/D693
- Deprecate INSTALLS_EGGINFO
- Remove PYTHON_MASTER_SITES deprecation; the knob is completely gone and can
not be tested for, since it does not get assigned by default
With hat: python@
- Rename PYTHON_FEATURES to USE_PYTHON to comply to USE_PERL5 and to avoid a
conflict in behaviour with the read-only COMPILER_FEATURES knob
- Fix the deprecated USE_PYTHON_BUILD and USE_PYTHON_RUN behaviour, which
usually should be mutually exclusive, but some ports include both knobs
Phabric: D581
Recommended by: danfe@, makc@
Reviewed by: danfe, wg, antoine
Approved by: portmgr
With hat: python@
Convert the Python framework bits to USES=python.
Please use USES=python instead of USE_PYTHON.
USE_PYTHON=yes becomes USES=python
USE_PYTHON=2.7+ becomes USES=python:2.7+
USE_PYTHON_BUILD=3.3 becomes USES=python:3.3,build
...
A new PYTHON_FEATURES variable was added, which enables certain features for a
port and replaces some knobs at the same time;
PYTHON_FEATURES=distutils replaces USE_PYDISTUTILS
PYTHON_FEATURES=autoplist replaces PYDISTUTILS_AUTOPLIST
PYTHON_FEATURES=py3kplist replaces PYTHON_PY3K_PLIST_HACK
PYTHON_FEATURES=noegginfo replaces PYDISTUTILS_NOEGGINFO
PYTHON_FEATURES=concurrent replaces PYTHON_CONCURRENT_INSTALL
PYTHON_FEATURES=pythonprefix replaces USE_PYTHON_PREFIX
Some knobs have been deprecated and are to be removed in the near future:
PYTHON_MASTER_SITES - use MASTER_SITE_PYTHON instead
PYTHON_PKGNAMESUFFIX - use PYTHON_PKGNAMEPREFIX instead
PYDISTUTILS_INSTALLNOSINGLE - deprecated without replacement
Some knobs have been removed completely:
PYTHON_MASTER_SITE_SUBDIR
PYTHON_DISTNAME
PYTHON_WRKSRC
Several variables specific to the Python framework are no longer passed to the
build environment to avoid polluting dependency builds.
PYTHON_VERSION is not passed to .MAKEFLAGS anymore
PYTHON_DEFAULT_VERSION,
PYTHON_DEFAULT_PORTVERSION and
PYTHONBASE are not passed to the make environment anymore
The conversion required a couple of ports to be updated to fit the changes and
new requirements. Those included "bsd.python.mk" directly or contained checks
in places, for which the USES framework would fail to provide correct values.
Python modules directly using the upstream Python package (such as py-tkinter
or py-sqlite3) were updated to avoid using the now unnecessary and remmoved
knobs from "bsd.python.mk".
Phabric: D399
exp-run: 167368 192357
PR: 167368192357
Reviewed by: antoine, wg
Exp-run award: antoine
With hat: python@
Approved by: portmgr
Support for installations based on the easy_install setup.py target has
been removed from the Ports framework for Python software. The
PYEASYINSTALL_* knobs and support for USE_PYDISTUTILS=easy_install have
been removed.
Phabric: D299
With hat: python@