1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-13 03:03:15 +00:00
Commit Graph

287 Commits

Author SHA1 Message Date
Tobias C. Berner
5e373eaa92 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
2017-06-25 21:07:58 +00:00
Martin Wilke
c5fb8d27a3 - Whitespace fixes 2017-06-04 04:13:51 +00:00
Koop Mast
e8ad1e183f Introduce new "meson" USES.
This uses will handling building software that uses the meson
build system. Expand the option framework to handle MESON options.

Approved by:	portmgr (swills@)

Differential Revision:	https://reviews.freebsd.org/D104091
2017-04-17 18:55:56 +00:00
Tijl Coosemans
81a787c97d Add a note about make makesum verifying HTTPS certificates.
Requested by:	adamw
2017-03-13 16:10:59 +00:00
Tobias C. Berner
f3c180c343 Update Qt5 to 5.7.1, and unify the Qt4 and Qt5 ports some more
* Update Qt5 to 5.7.1
* Move Qt4 binaries to lib/qt4/bin
* Move Qt5 libraries to lib/qt5/lib
  By moving the libraries we should finally be able to get rid of the inplace
  upgrade bug (see ports bugs 194088, 195105 and 198720):  when Qt5's libraries
  were lying in /usr/local/lib, which would often get added by pkgconfig to the
  linker paths via dependencies, the already installed libraries were linked
  against, instead of the ones that were being built. This forced us to make
  sure, that -L${WRKSRC}/lib was always coming before -L/usr/local/lib in the
  linker flags. With this change this should no longer be the case.
* Rename some ports to match the rest (foo-qtX -> qtX-foo)
* Depend on new port misc/qtchooser [see UPDATING & CHANGES]

There are several new Qt5 ports which all have been created by Marie Loise Nolden
<nolden@kde.org>. Thanks again.

PR:		216797
Exp-Run by:	antoine
Reviewed by:	rakuco, mat, groot_kde.org
Approved by:	rakuco (mentor)
Differential Revision:	https://reviews.freebsd.org/D9213
2017-02-18 19:48:05 +00:00
Mathieu Arnold
49152b839d Implement EXTRA_PATCH_TREE.
PR:		215726
Reported by:	julian
2017-01-16 16:47:05 +00:00
Mathieu Arnold
1cc9fcd1c7 Extract do-patch into a separate script.
PR:		215761
Submitted by:	mat
Exp-run by:	antoine
Sponsored by:	Absolight
Differential Revision:	https://reviews.freebsd.org/D9029
2017-01-16 16:47:00 +00:00
Tobias C. Berner
62ede14c75 Get rid of QT_PREFIX in favour of PREFIX.
QT_PREFIX was a remnant of a bygone time.

Reviewed by:    rakuco
Approved by:    rakuco (mentor)
Differential Revision:  https://reviews.freebsd.org/D8825
2016-12-18 22:06:50 +00:00
Dmitry Marakasov
08b6e157a4 Add all Creative Commons licenses
Approved by:	portmgr (mat)
Differential Revision:	D7852
2016-09-13 12:24:51 +00:00
Dmitry Marakasov
30a00f2227 Most commonly used build systems support silent builds, when they
hide actual commands executed and only show short summary line (like
"CC foo.c"). CMake and ninja enable this by default, some autotools
using ports do as well. This is unacceptable because we need complete
build logs at any time, so we now switch to verbose build logs
unconditionally. Note that this change deliberately affects ALL
builds and not only package builds on cluster, because we need to
be sure that user experiencing failure can always provide informative
build log regardless of settings and without rerunning the build.

Change summary:

- Always do verbose builds for cmake, ninja and GNU configure (the
  latter includes check if --disable-silent-rules is actually supported
  by the configure script; there are isolated cases when it's not true)
- Remove CMAKE_VERBOSE, NINJA_VERBOSE and
  CONFIGURE_ARGS=--disable-silent-rules from all ports which set them
  for this is no longer needed
- Revert hacks for --disable-silent-rules support priorly committed
  to biology/ncbi-blast+ and net-p2p/mldonkey - no longer needed as well

Submitted by:	amdmi3
Reviewed by:	mat
Exp-run by:	antoine
Approved by:	portmgr (mat, antoine)
Differential Revision:	D7534
2016-09-09 19:42:46 +00:00
Dmitry Marakasov
2629c47f2b Add support added for LICENSE=NONE, use it when the port doesn't
have cleanly defined licensing terms.  Note that without clean
license allowing you to use and distribute the code it would be be
illegal to do so in many jurisdictions, so for ports with NONE
license no distfiles or packages are distributed.

While here, fix trailing whitespace in CHANGES.

Approved by:	portmgr (bapt)
Differential Revision:	D7816
2016-09-08 13:15:06 +00:00
Baptiste Daroussin
8f7c8be17f Document the deprecation/removal of KNOBS done in r345883 (2014-02-24)
Requested by:	mandree@
2016-08-26 20:07:56 +00:00
Mathieu Arnold
a8409dba34 Add GH_SUBDIR, automatically moves a secondary distfile to the right
place inside ${WRKSRC}.

Before:

GH_TUPLE=	Regaddi:Chart.js:f13f99b:chart_js \
		FVANCOP:ChartNew.js:77e7f87:chartnew_js
post-extract:
	@${RMDIR} ${WRKSRC}/database ${WRKSRC}/3rd/Chart.js
	@${MV} ${WRKSRC_database} ${WRKSRC}/database
	@${MV} ${WRKSRC_chart_js} ${WRKSRC}/3rd/Chart.js

After:

GH_TUPLE=	Regaddi:Chart.js:f13f99b:chart_js/3rd/Chart.js \
		FVANCOP:ChartNew.js:77e7f87:chartnew_js/3rd/ChartNew.js

Sponsored by:	Absolight
Differential Revision:	https://reviews.freebsd.org/D7583
2016-08-24 14:50:04 +00:00
Tobias C. Berner
0f583d8700 Replace Mk/bsd.kde4.mk by Mk/Uses/kde.mk in preparation for KDE Frameworks and
Plasma5 ports

At the moment KDE ports use bsd.kde4.mk to handle their dependencies. When
working on the ports for KDE Frameworks and Plasma5 it seemed to be more
reasonable to create a new kde.mk instead of adding an bsd.kde5.mk.

The kde.mk in this review is a stripped down version of the one we are using in
the KDE Test repositories plasma5 branch [1] to only contain the parts relevant
to the current KDE4 ports in the portstree [2].

Changes to the KDE Ports needed by this:

Replace USE_KDE4 by USE_KDE [3]
Add USES=kde:4 [4]
[1] http://src.mouf.net/area51/view/branches/plasma5/KDE/Mk/Uses/kde.mk
[2] The version in the plasma5 branch also handles frameworks/plasma5 and
    handles MASTER_SITES via a KDE_DIST variable similar to bsd.qt.mk for Qt
    Ports -- I chose to leave this out for now, as the diff is already large
    enough.
[3] I chose USE_KDE instead of USE_KDE4, USE_KDE5, USE_KDEX as the version we
    want is already specified as argument to kde:<arg>
[4] For KDE Frameworks and Plasma5 ports this would be kde:5

PR:             210667
Approved by:    portmgr, mat (mentor), rakuco (mentor)
Reviewed by:    mat, rakuco
Differential Revision:   https://reviews.freebsd.org/D6961
2016-08-24 08:20:31 +00:00
Raphael Kubo da Costa
47f19a7a56 CHANGES: Document Uses/grantlee.mk added in r420244. 2016-08-21 10:12:07 +00:00
Raphael Kubo da Costa
7bf552c833 CHANGES: Fix date of the VAR_regex=regex entry. 2016-08-21 10:08:21 +00:00
Mathieu Arnold
642bf72f27 Add regexps capacity to PLIST_SUB.
This adds the possibility to use regular expressions for the makeplist
stage of the PLIST_SUB life.

From time to time, the values are too generic, and they get in the way of other
stuff.

This adds the possibility to have a `VAR_regex=regex` that will be used instead
of the `VAR=string` to search for possible replacements.

For example, in lang/perl5*, there is PERL_ARCH=mach, which will get
replaced in paths if a file is called, say "machine", will end up being
"%%PERL_ARCH%%ine".  Adding PERL_ARCH_regex="\bmach\b" will ensure only
full words are replaced, so machine will stay machine, but "lib/mach/foo
"will still be replaced by "lib/%%PERL_ARCH%%/foo".

Reviewed by:	bdrewery
Sponsored by:	Absolight
Differential Revision:	https://reviews.freebsd.org/D7335
2016-08-17 09:11:08 +00:00
Mathieu Arnold
aef5a66670 Don't use extension.ini any more, and have each extension install in its
file, so the order remains the same.

Every PHP (or Zend) extension now installs its own .ini file in
/usr/local/etc/php.  A PHP extension will be automatically activated
when installed.  The order into which extensions are loaded is
automatically guessed.  In some very rare cases, the guess will be
wrong, and PHP_MOD_PRIO will need to be set.  Refer to the USES=php
section of the Porter's Handbook for more information.

Convert ports touching etc/php/extensions.ini manually, or telling the
OP to do it.

And finally, bump PORTREVISION for all php extensions.

PR:		210697
Submitted by:	mat
Sponsored by:	Absolight
Differential Revision:	https://reviews.freebsd.org/D7022
2016-08-03 12:47:05 +00:00
Mathieu Arnold
d2c4c14627 USEify USES=php.
The following variables have been folded into arguments:

- USE_PHPIZE -> USES=php:phpize
- USE_PHPEXT -> USES=php:ext
- USE_ZENDEXT -> USES=php:zend
- USE_PHP_BUILD -> USES=php:build
- WANT_PHP_CLI -> USES=php:cli
- WANT_PHP_CGI -> USES=php:cgi
- WANT_PHP_MOD -> USES=php:mod
- WANT_PHP_WEB -> USES=php:web
- WANT_PHP_EMB -> USES=php:embed

PR:		210529
Submitted by:	mat
Exp-run by:	antoine
Sponsored by:	Absolight
Differential Revision:	https://reviews.freebsd.org/D6936
2016-06-28 13:57:37 +00:00
Mathieu Arnold
06b4ea3876 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
2016-06-27 11:31:10 +00:00
Adam Weinberger
5c332ae6cb Add an opt_CMAKE_BOOL options helper.
SOMEOPT_CMAKE_BOOL=	WITH_FOO BAR

expands to:

  -DWITH_FOO:BOOL=true -DBAR:BOOL=true
or
  -DWITH_FOO:BOOL=false -DBAR:BOOL=false

PR:		210576
Approved by:	portmgr (mat)
2016-06-25 22:23:37 +00:00
Dmitry Marakasov
eece2953a3 Trim trailing whitespace
Approved by:	portmgr blanket
2016-06-14 19:42:55 +00:00
Mathieu Arnold
6596903add A new stage-qa test has been added, it reports all shared libraries
dependencies that are not part of the port list of dependencies.  It help
finds what is called proxy dependencies.

A is needed by B, and B is needed by C.  If C also needs A, then it needs to
be registered, and this check will tell you to do so.

Right now, it is only reporting the problems, but if you add
PROXYDEPS_FATAL=yes to your environment, it will give an error and will force
you to fix the dependencies.

PR:		195203
Submitted by:	yuri rawbw com (earlier version)
Sponsored by:	Absolight
Differential Revision:	https://reviews.freebsd.org/D6531
2016-05-25 11:59:39 +00:00
Baptiste Daroussin
50fc8c00fe Add an entry about the new @xmlcatmgr 2016-05-24 22:49:01 +00:00
Thierry Thomas
bee2cd455b Fix typo. 2016-05-12 19:43:46 +00:00
Ed Maste
d99dc0a380 Move my CHANGES entry from r415078 to the correct location 2016-05-12 19:14:18 +00:00
Ed Maste
7fea5824d6 Record TIMESTAMP in make makesum
This is intended to support development and prototyping for ports
reproducible build efforts which require some concept of a "last
updated" time. It is being committed now so that timestamp entries
will be populated "for free" as port distfiles updates happen.

Submitted by:	bapt (earlier version)
Reviewed by:	bapt, bdrewery
Approved by:	portmgr (bdrewery)
Differential Revision:	https://reviews.freebsd.org/D6031
2016-05-12 18:20:27 +00:00
Mathieu Arnold
4368714e8d Add a CHANGES entry about USES=gem.
Sponsored by:	Absolight
2016-04-28 08:50:41 +00:00
Mathieu Arnold
c26a2d22a3 Commit a forgotten CHANGES entry.
Sponsored by:	Absolight
2016-04-27 12:21:50 +00:00
Mathieu Arnold
34c548ae0a USE_RC_SUBR=yes has not done anything for a long time, remove it from
the few remaining ports and make it give an error.

Sponsored by:	Absolight
2016-04-14 11:00:23 +00:00
Jan Beich
ef7f58498f Add CONFIGURE_OUTSOURCE support
If CONFIGURE_OUTSOURCE is defined HAS_CONFIGURE invokes configure script
and builds the port out of source tree, under ${WRKDIR}/.build by default.
The feature is inspired by USES=cmake:outsource and USES=qmake:outsource.

PR:		208294
Exp-run by:	antoine
Approved by:	portmgr (mat)
Differential Revision:	https://reviews.freebsd.org/D4157
2016-04-13 10:37:34 +00:00
Baptiste Daroussin
012b8b17bf Add a CHANGES entry concerning the change about PORTSDIR in the dependency lines 2016-04-02 07:56:59 +00:00
Mathieu Arnold
3b8753a0a6 Introduce GH_TUPLE.
GH_TUPLE allows one to put all the GH_{ACCOUNT,PROJECT,TAGNAME} into one
variable, in the form of account:project:tagname[:group].  It is helpful
when there are many submodules.

PR:		204772
With hat:	portmgr
Sponsored by:	Absolight
Differential Revision:	https://reviews.freebsd.org/D4514
2016-03-01 20:22:45 +00:00
Koop Mast
71d5deb1f4 Move Mk/bsd.gnome.mk and Mk/bsd.mate.mk to Mk/Uses/.
To use the GNOME or MATE components activate it by adding gnome
or mate to USES. The usage of USE_GNOME/INSTALL_ICONS and for
example GLIB_SCHEMAS has stayed the same.

Like with USES, the use of USE_GNOME and so after bsd.port.pre.mk
is now forbidden. And adapt ports that where still doing that.

Exp-runs done by:	antoine@

PR:		205432
Reviewed by:	antoine@, mat@
Approved by:	portmgr (antoine@)
Differential Revision:	https://reviews.freebsd.org/D3653
2016-02-07 19:43:56 +00:00
Dmitry Marakasov
6f63bcc816 Mention new supported LICENSE values
Approved by:	portmgr (implicit)
2016-01-12 14:38:48 +00:00
Baptiste Daroussin
b6e538c589 We are actually in 2016 :)
Reported by:	Scott Bennett <bennett@sdf.org>
2016-01-10 21:30:53 +00:00
Baptiste Daroussin
bf548998cb 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
2016-01-10 16:15:29 +00:00
Mathieu Arnold
ec218a1332 Change the meaning of NO_WRKSUBDIR to force a WRKDIR != WRKSRC.
Right now, NO_WRKSUBDIR means that the extraction does not produce a
subdirectory, and that everything goes straight into WRKDIR.  It is
problematic, because during the build of a port, quite a few files are
created in there, and then, a stage directory, where everything is
installed, and then a pkg directory where the package is created, and
those often conflict, or get in the way, of the building process.

With this, NO_WRKSUBDIR will extract the distfiles directly into WRKSRC
instead of WRKDIR.  In this case, WRKSRC is artificial and is based on
PKGNAME and not DISTNAME, mitigate conflicts with rc files.

PR:		204056
Submitted by:	mat
Reviewed by:	bapt
Exp-run:	antoine
Sponsored by:	Absolight
Differential Revision:	https://reviews.freebsd.org/D2735
2015-11-05 12:35:26 +00:00
Dmitry Marakasov
e8e7e6da57 - Add shebangfix documentation bits
- Fix tcl_OLD_CMD tk_OLD_CMD

Approved by:	portmgr (bapt)
Differential Revision:	D3939
2015-10-22 13:36:05 +00:00
Baptiste Daroussin
8cea2b0147 Readd PORTSDIR for now we will only start removing them after 2016Q1 is branched
This gives more time for tools to get updated, available in packages etc before
bothering users
2015-10-15 07:36:38 +00:00
Baptiste Daroussin
869e1f27d0 Drop the necessity to add ${PORTSDIR} to dependency line
Modify make describe to automatically prepend ${PORTSDIR} if the path for the
port is not absolute

Checked with poudriere, portmaster, portupgrade

PR:		203685
Exp-run by:	antoine
Differential Revision:	https://reviews.freebsd.org/D3866
2015-10-14 16:49:35 +00:00
Dmitry Marakasov
8cb113d8fa Rewording missed from previous commit 2015-09-28 20:54:21 +00:00
Dmitry Marakasov
5c57225987 Implemented complete support for test target.
You can now `make test' on any port to run test sequence, no-op by default.
If a port defines TEST_TARGET, it'll run sub-make with specified target,
usually `check' or `test', useful if upstream supports that. The port may
instead define custom do-test target, as well as usual satellite targets:

  {pre,do,post}-test, {pre,do,post}-test-OPT, {pre,do,post}-test-OPT-off

`make test' builds and stages port first, so test may use both WRKDIR and
STAGEDIR, and both BUILD and RUN depends are available for test target.
Additionally, TEST_DEPENDS is now properly supported and may be used to
define additional depends specifically for testing.

Framework may define default tests for specific cases. For instance,
perl5.mk and cran.mk already provide default test target on their own.

This commit also converts my ports which have tests to this new framework.

Approved by:	portmgr (bapt)
Differential Revision:	D3680
2015-09-28 17:20:42 +00:00
Baptiste Daroussin
5adc8a9faa Extend @sample to accept arguments
Maintainers can now use @sample sample_file target_file for all cases
that does not fall into the usual @sample something.sample

Reviewed by:	antoine
Differential Revision:	https://reviews.freebsd.org/D3734
2015-09-26 12:13:23 +00:00
Baptiste Daroussin
3b24535f04 Document @{pre,post}[un]exec in CHANGES 2015-09-26 00:17:08 +00:00
Mathieu Arnold
afae652a2a Make it so that the default Perl is always called perl5.
- Move Perl's man1 files along with its man3 files.
- Move where Perl installs its modules man1 pages.
- Convert the ports installing man1 pages.
- Make different Perl versions installable at the same time.
  Though you should note that only the default version can be used to
  install Perl modules, and the non default Perl versions cannot use the
  modules installed via ports if they contain .so as they are installed
  in a version specific directory.

Reviewed by:	bapt (the Mk bits)
Exp-run by:	antoine
Sponsored by:	Absolight
Differential Revision:	https://reviews.freebsd.org/D3542
2015-09-14 12:19:48 +00:00
Mathieu Arnold
9c517d8878 Add generic opt_VARS/opt_VARS_OFF.
OPT1_VARS=  foo=bar baz+=bam

will set FOO to bar and append bam to BAZ if OPT1 is enabled.  <opt>_VARS_OFF
works the same way, if the option is disabled.

Reviewed by:	bapt
Sponsored by:	Absolight
Differential Revision:	https://reviews.freebsd.org/D3410
2015-08-28 12:28:13 +00:00
Raphael Kubo da Costa
63e62f7d7e Document r394572 in CHANGES. 2015-08-18 13:08:09 +00:00
Mathieu Arnold
bfbc1e51b7 Introduce <opt>_IMPLIES and <opt>_PREVENTS to register dependencies, or
conflicts, between options.

PR:		191144
Submitted by:	adamw
Sponsored by:	Absolight
2015-08-18 11:00:57 +00:00
Mathieu Arnold
21a283f3be 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
2015-08-17 14:20:40 +00:00