Commit Graph

361 Commits

Author SHA1 Message Date
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
Koop Mast
68f883edfc 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
2015-07-16 20:53:28 +00:00
Mathieu Arnold
fc9ea03981 Introduce target option helpers.
With hat:	portmgr
Sponsored by:	Absolight
Differential Revision:	https://reviews.freebsd.org/D2944
2015-07-01 12:11:16 +00:00
Baptiste Daroussin
61ef16eebb Document the removal of USE_RCORDER 2015-06-22 19:59:11 +00:00
Mathieu Arnold
70444a23e6 Introduce USE_GITHUB=nodefault to allow fetching additional distfiles
from github, but not the default one.

With hat:	portmgr
Sponsored by:	Absolight
2015-05-29 13:07:33 +00:00
Mathieu Arnold
676e4ffcf4 USE_GITHUB can now fetch multiple distfiles. It uses a grouping feature
similar to MASTER_SITES/PATCH_SITES.

Some helpful variables are provided: WRKSRC_<group> for putting things in the
right place in post-extract, and DISTNAME_<group>/DISTFILE_<group> for use with
EXTRACT_ONLY.

PR:		200483
Differential Revision:	https://reviews.freebsd.org/D2608
Submitted by:	mat
With hat:	portmgr
Exp run by:	antoine
Sponsored by:	Absolight
2015-05-28 16:37:01 +00:00
Antoine Brodin
1b85bc9332 Switch PYTHON_REL from a 3 digits number to a 4 digits number to handle
python 2.7.10

Differential Revision:	https://reviews.freebsd.org/D2639
Reviewed by:	sunpoet, mva
2015-05-26 16:47:02 +00:00
Mathieu Arnold
cb28a089d6 Remove GH_COMMIT support.
Differential Revision:	https://reviews.freebsd.org/D2606
With hat:	portmgr
Sponsored by:	Absolight
2015-05-21 15:25:40 +00:00
Tijl Coosemans
e81a5e63ab Mark USE_AUTOTOOLS deprecated and remove support for libtoolize.
Approved by:	portmgr (bapt)
2015-04-19 18:16:40 +00:00
Baptiste Daroussin
06f79b66f2 Convert bsd.gnustep.mk to USES=gnustep
Simplify gnustep ports
Hook into the regular ports framework:
- LIB_DEPENDS for library dependencies
- Use regular USE_LDCONFIG

Reuse USES=objc (automatic)
USE_GNUSTEP is now a macro to set the dependencies and build feature needed.
Accepted arguments: back base build gui

Merge deskutils/preferencepanes into deskutils/systempreferences
2015-04-09 07:44:41 +00:00
Baptiste Daroussin
d502021cb9 Document the new USES=waf into CHANGES 2015-04-08 15:08:10 +00:00
Baptiste Daroussin
dd64c3e552 USE_BZIP2 and USE_XZ are not used anymore in the ports tree mark them as
unsupported
2015-04-07 12:13:52 +00:00
Olli Hauer
d0675b2fef - track subversion http module activation change in the correct file
(move entry from CHANGES -> UPDATING)
2015-04-06 20:07:22 +00:00
Baptiste Daroussin
aa757e5ff6 Document recent changes 2015-04-01 14:39:45 +00:00
Olli Hauer
195b91c2e8 - document new subversion httpd module file 2015-03-31 21:23:05 +00:00
Bryan Drewery
8c0aa218c9 Document removal of PTHREAD_LIBS/PTHREAD_CFLAGS 2015-03-26 16:06:03 +00:00
Bryan Drewery
b9673a0c84 Undocument BSDMAKE from r381977 as I have thought of a better way and will
likely revert it.

With hat:	portmgr
2015-03-23 04:08:27 +00:00
Bryan Drewery
b4623773d9 Introduce a BSDMAKE?= /usr/bin/make and use it as the default MAKE_CMD.
With hat:	portmgr
2015-03-23 04:03:00 +00:00
Bryan Drewery
010d8c7d9a Remove GITHUB_RELEASE MASTER_SITE from r375010 as it is now redundant with GITHUB.
The new GITHUB MASTER_SITE from r381618 now supports not setting GH_COMMIT and
only having GH_TAGNAME default to DISTVERSION.

All of these ports as-is.

With hat:	portmgr
2015-03-19 18:08:25 +00:00
Bryan Drewery
79a21ca825 Note that GH_TAGNAME can be any length of the git hash. 2015-03-19 17:57:19 +00:00
Bryan Drewery
5b5a90256d Update USE_GITHUB so it does not require GH_COMMIT.
Using this new scheme allows only setting the _tag_ or _commit hash_ in
GH_TAGNAME and not having to know the hash for a tag.  This scheme will
download a tarball that has a different checksum than before due to a changed
directory name for extraction.

The following MASTER_SITES are provided to retain the old checksum and
directory structure (that require GH_COMMIT):
  GH -> GHL
  GITHUB -> GITHUB_LEGACY

Differential Revision:	https://reviews.freebsd.org/D748
Submitted by:	amdmi3
Reviewed by:	mat, swills, antoine, bdrewery
With hat:	portmgr
2015-03-19 16:44:57 +00:00
Olivier Duchateau
86e4cb7cb0 The FreeBSD Xfce team proudly presents Xfce 4.12.
Announce: http://www.xfce.org/about/news/?post=1425081600

Global changes:
- Switch to USES= xfce (D677)
- Reorganize options helper
- Fix USES= gettext-* when NLS option is not set [1], [2]
- Add LICENSE (when missing)

Update:
- to 4.12 (core components)
- audio/xfce4-mpc-plugin to 0.4.5
- deskutils/xfce4-tumbler to 0.1.31
- deskutils/xfce4-xkb-plugin to 0.7.1
- editors/mousepad to 0.4.0
- graphics/ristretto to 0.8.0
- multimedia/xfce4-parole to 0.8.0
- sysutils/garcon to 0.4.0
- sysutils/xfce4-diskperf-plugin to 2.5.5 [3]
- sysutils/xfce4-fsguard-plugin to 1.0.2
- sysutils/xfce4-power-manager to 1.4.3
- sysutils/xfce4-wavelan-plugin to 0.5.12
- x11/libexo to 0.10.3
- x11-fm/thunar to 1.6.6
- x11-themes/gtk-xfce-engine to 3.2.0

PR:		196003 [1], 197251 [2], 198132
Differential Revision:	https://reviews.freebsd.org/D677
Submitted by:	Kamil Szczesny [1], amdmi3@ [2], myself
Exp-run by:	antoine@
Approved by:	danilo@ (maintainer) [3]
Tested by:	Ivan <enitarzi@gmail.com>
2015-03-05 22:52:30 +00:00
Max Brazhnikov
9d2e718f3c Introduce new USE_QT4 component linguisttools for lrelease/lupdate tools
split from from devel/qt4-linguist (similar to Qt 5 ports). These console
tools are often used for localization support in Qt ports, having them
standalone is quite useful. This work is based on Tobias Berner patch [1].

PR:             190929 [1]
Requested by:	amdmi3, koobs
2015-02-24 21:39:19 +00:00
Mathieu Arnold
64835f0cdc Make Perl link all .so it builds with libperl.so.
It makes upgrading from one Perl major version to another way easier.  For
binary package users, it means pkg upgrade will detect the libperl.so.x.yy
change, and reinstall the affected packages.  For users using ports, it will
save rebuild time as it's easier to detect what ports really need to be
rebuilt.

PR:		195821
Differential Revision: https://reviews.freebsd.org/D1241
Submitted by:	mat
Reviewed by:	antoine, bdrewery
Exp-run by:	antoine
With hat:	perl
Sponsored by:	Absolight
2014-12-17 13:21:56 +00:00
Tijl Coosemans
edb7229dd4 Split devel/gettext in devel/gettext-runtime and devel/gettext-tools. The
first contains runtime libraries such as libintl and the latter contains
developer tools such as msgfmt.  Ports that use gettext will usually need
a LIB_DEPENDS on gettext-runtime and a BUILD_DEPENDS on gettext-tools.

USES=gettext-runtime can be used to set a LIB/BUILD/RUN_DEPENDS on
devel/gettext-runtime and USES=gettext-tools can be used to set a
BUILD/RUN_DEPENDS on devel/gettext-tools.  USES=gettext is now the same
as "USES=gettext-runtime gettext-tools" meaning a LIB_DEPENDS on
devel/gettext-runtime and a BUILD_DEPENDS on devel/gettext-tools.

Update gettext to 0.19.3.

Remove :oldver from converters/libiconv and devel/gettext-runtime.  Leave
symlinks with the old library versions to avoid the need to bump
PORTREVISION on a large number of dependent ports.  When most of the
dependent ports have had normal version updates, PORTREVISION can be
bumped on the remaining ones (low number) and the links can be removed.

Fix some ports that installed files in lib/locale instead of share/locale.

PR:		194038
Reviewed by:	bapt
Exp-run:	antoine
Approved by:	portmgr (antoine)
2014-11-29 18:22:32 +00:00
Mathieu Arnold
eee58d187e Change the way Perl modules are installed, update the default Perl to 5.18.
Before, we had:

  site_perl :           lib/perl5/site_perl/5.18
  site_perl/perl_arch : lib/perl5/site_perl/5.18/mach
  perl_man3 :           lib/perl5/5.18/man/man3

Now we have:

  site_perl : lib/perl5/site_perl
  site_arch : lib/perl5/site_perl/mach/5.18
  perl_man3 : lib/perl5/site_perl/man/man3

Modules without any .so will be installed at the same place regardless of the
Perl version, minimizing the upgrade when the major Perl version is changed.
It uses a version dependent directory for modules with compiled bits.

As PERL_ARCH is no longer needed in plists, it has been removed from
PLIST_SUB.

The USE_PERL5=fixpacklist keyword is removed, the .packlist file is now
always removed, as is perllocal.pod.

The old site_perl and site_perl/arch directories have been kept in the
default Perl @INC for all Perl ports, and will be phased out as these old
Perl versions expire.

PR:		194969
Differential Revision:	https://reviews.freebsd.org/D1019
Exp-run by:	antoine
Reviewed by:	perl@
Approved by:	portmgr
2014-11-26 13:08:24 +00:00
Chris Rees
4cb60faedd Finally retire USE_PGSQL 2014-11-22 20:40:08 +00:00
Mathieu Arnold
6be72a854b Introduce the SITE_ARCH variable containing SITE_PERL/PERL_ARCH.
With hat:	perl@, portmgr@
Sponsored by:	Absolight
2014-11-18 13:45:56 +00:00
Bryan Drewery
ec713d99b6 - Enable SSP by default.
This is the culmination of years of work and testing including work by jlh@.

  This will enable SSP by default for all amd64 releases, and i386 releases
  10.0 and over.

With hat:	portmgr
Tested by:	multiple exp-runs, CFT package repository, CFT ports
Discussed with:	bapt, antoine
2014-11-02 20:01:31 +00:00
Mathieu Arnold
d5a258e453 Add an example with @exec too.
Sponsored by:	Absolight
2014-10-07 16:00:42 +00:00
Mathieu Arnold
a475a6b9d9 Note @cwd being deprecated.
Sponsored by:	Absolight
2014-10-07 15:47:46 +00:00
Baptiste Daroussin
fb56c84735 Add BUNDLE_LIBS knob to prevent pkg(8) from automatically add provided shlibs 2014-10-01 22:12:32 +00:00
Tijl Coosemans
b11538d0eb Remove support for old autoconf and automake versions from USE_AUTOTOOLS:
autoconf213, autoheader213, aclocal14 and automake14

Approved by:	portmgr (bapt)
2014-10-01 15:56:54 +00:00
Bryan Drewery
9576bda613 If either of OSVERSION or UNAME_r is improperly set when building in a
jail/chroot, a number of unexpected errors can occur.

  1. autotools fixup may not run when needed. This could be avoided by always
     running it [PR 177980, 177403].
  2. Not having UNAME_r set will cause many unknown
     errors. Many ports use OSREL (derived from UNAME_r) to determine the name
     of files. This is usually also due to the port build itself using uname -r
     to derive filenames or 'built for' messages. [PR 192449, 191943] Without
     having these sanity checks it is very easy for users to get into
     situations where "everything worked" until they touch a certain port that
     reads uname(1) output or OSVERSION. It has always been necessary to define
     all of the UNAME_ vars and OSVERSION (or have a proper sys/param.h
     present), but many users do not know this.

Remove the fallback on the kernel for kern.osreldate as it easily gets the
answer wrong.

I have added sanity checks to ensure OSVERSION==OSREL==UNAME_r as these are the
most critical vars to have set properly.

Differential Revision:	https://reviews.freebsd.org/D869
PR:			177980, 177403, 192449, 191943
Reviewed by:		antoine, bapt, gjb
With hat:		portmgr
2014-09-30 16:22:05 +00:00
Matthias Andree
7c51ecc5f6 Add hint as to where @stopdaemon has gone.
Revise language and spelling of the more recent entries a bit,
sometimes advancing a line break by one or a few words,
and replace the word 'credentials' in the @dir-related entry.
2014-09-24 17:19:55 +00:00
Raphael Kubo da Costa
23ce4f6db6 Proofread the 20140922 CHANGES entry. 2014-09-24 11:52:18 +00:00
Baptiste Daroussin
f03882a6d1 Document recent changes in plist handling 2014-09-22 08:28:30 +00:00
Tijl Coosemans
3a1aa3c465 - 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)
2014-09-17 07:48:22 +00:00
Tijl Coosemans
9229cfb2fb Document r368281.
Requested by:	adamw
2014-09-16 18:16:35 +00:00
Baptiste Daroussin
d96aa38d95 Remove support for pkg_install
Merge back bsd.pkgng.mk into bsd.port.mk
Add a note about @stopdaemon not being supported anymore

With hat:	portmgr
Differential Revision:	https://reviews.freebsd.org/D693
2014-09-01 13:03:25 +00:00
Baptiste Daroussin
8527bc1d3a 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
2014-09-01 05:43:02 +00:00
Antoine Brodin
dd859142f1 Document r366154 2014-08-25 22:06:03 +00:00
Marcus von Appen
a382bbffeb - 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@
2014-08-14 17:04:30 +00:00
Sunpoet Po-Chuan Hsieh
2cf170bf70 - Fix typo 2014-08-10 05:39:49 +00:00
Marcus von Appen
900db324a3 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:		167368 192357
Reviewed by:	antoine, wg
Exp-run award:	antoine
With hat:	python@
Approved by:	portmgr
2014-08-09 15:44:27 +00:00
Baptiste Daroussin
4a57b32379 Now that all LIB_DEPENDS has been switched to modern version, remove support
for ancient version.

Phabric:	D415
Reviewed by:	swills
2014-07-16 05:55:14 +00:00
Marcus von Appen
9ec0761d6a 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@
2014-07-08 16:14:33 +00:00
Mathieu Arnold
86d9168ce7 Add a bit about USE_PERL5=fixpacklist here.
Poked by:	miwi
Sponsored by:	Absolight
2014-06-29 10:28:28 +00:00
Baptiste Daroussin
15128d1d38 Remove the IGNOREFILES feature: it was an unsafe feature allowing to use files
fetched from untrusted sources directly into the ports tree

CR:		D269
Reviewed by:	portmgr (antoine)
2014-06-23 09:57:27 +00:00
Marcus von Appen
a9c3f17b93 Introduce a new PYTHON_CONCURRENT_INSTALL knob to support the parallel
installation of ports for different python versions.

If set to yes, the knob indicates that the port can be installed for different
python versions at the same time. The port will use a unique prefix for
certain directories using USES=uniquefiles:dirs (see the uniquefiles.mk Uses
for details about the directories). Binaries receive an additional suffix,
based on ${PYTHON_VER}.

With hat:	python@
2014-06-07 16:13:11 +00:00
Martin Wilke
30a9cc83fd - Remove USE_GMAKE support, please use USES=gmake instead 2014-05-29 15:17:17 +00:00
Baptiste Daroussin
a1ed68057d Drop compatibility code for USE_DOS2UNIX 2014-05-26 09:29:50 +00:00
Baptiste Daroussin
4a4ec28d37 Convert all :U to :tu and :L to :tl
Since FreeBSD 8.4 and FreeBSD 9.1 make(1) do support :tu and :tl as a
replacement for :U and :L (which has been marked as deprecated)

bmake which is the default on FreeBSD 10+ only support by default
:tu/:tl a hack has been added at the time to support :U and :L to ease
migration. This hack is now not necessary anymore

Note that this makes the ports tree incompatible with make(1) from
FreeBSD 8.3 or earlier

With hat:	portmgr
2014-05-05 09:45:36 +00:00
Baptiste Daroussin
6aacc2bda1 Document r352514 2014-04-30 17:05:43 +00:00
Tijl Coosemans
aad09bc5e2 When linking a library libA with a library libB using libtool, if libB.la
exists, libtool will add all libraries libB.la refers to (dependency_libs
field) to the linker command line and store them in the dependency_libs
field of libA.la.  So everything that subsequently links with libA will also
link to these extra libraries.  This causes too much overlinking.

This commit modifies Mk/Uses/libtool.mk so it empties the dependency_libs
field in .la libraries during staging.  However, because .la libraries have
very limited use when dependency_libs is empty it makes sense to completely
remove them during staging.

So with this commit USES=libtool is modified to remove .la libraries and a
new form (USES=libtool:keepla) is introduced in case they need to be kept
(dependency_libs is still emptied).

PORTREVISION is bumped on all ports with USES=libtool that install .la
libraries.  Most ports are also changed to add :keepla because .la
libraries have to be kept around as long as there are dependent ports with
.la libraries that refer to them in their dependency_libs field.  In most
cases :keepla can be removed again as soon as all dependent ports that
install .la libraries have some form of USES=libtool added to their
Makefile.

PR:		ports/188759
Exp-run:	bdrewery
Approved by:	portmgr (bdrewery)
2014-04-23 13:25:16 +00:00
Bryan Drewery
e15449a9ef - Rename check-orphans to check-plist. Keep the old for backwards-compat.
- Bug fixes:
  makeplist/check-plist:
   - Fix showing directories owned by RUN_DEPENDS/LIB_DEPENDS [1]
   - Use proper "rmdir PATH" syntax, not "rmdir >/dev/null... PATH" which
     pkg will not recognize.
   - Never consider base /etc/mtree/BSD.usr.dist or LOCLABASE
     Templates/BSD.local.dist as needing @dirrm handling.
  check-plist:
   - Fix showing PORTDOCS/PORTEXAMPLES files when the OPTIONS are not set.
     makeplist will still suggest them.
   - Fix showing files installed through unselected OPTIONS as orphans,
     by considering "@comment file" to be ignored. [2]
   - Fix @sample, @fc, @fcfontsdir, @fontsdir support
   - Fix return status when orphans are found to be non-zero
   - Add note when PREFIX=!LOCALBASE
   - Be more clear when orphans/no orphans are found.
   - Add a whitelist mechanism for globally approved ignores.
   - Add *.bak/*.orig to orphan whitelist for now.
   - Fix false-positive with dirs installed to /, such as with
     archivers/dpkg creating /var/db/dpkg
   - Fix false-positive with @dirrm ending in /, such as with
     ports-mgmt/poudriere with a @dirrmtry share/zsh/
   - There are likely still some false-positives. I fixed as many as I could
     find. Please let me know of others.
    * One in particular that is not easily fixable is installing a file into
      a directory owned by another port where that other port is not a run-time
      dependency. So the leaf port may create all of the parent dirs and never
      clean them up. Cleaning them up is not proper unless no other package is
      depending on them. This will be addressed by pkg(8) once pkg_install is
      EOL, or sooner.
   - Consider @dirrm of directories owned by run-time dependencies, or
     /etc/mtree/* or Templates/BSD.local.dist (at LOCALBASE) as fatal errors.
     These should not be removed in the plist. @comment lines are not
     considered for this; they will not ignore an error.
        ===> Checking for directories owned by dependencies or MTREEs
        Error: Owned by dependency: @dirrmtry share/locale/af/LC_MESSAGES
        Error: Owned by dependency: @dirrmtry share/locale/af
        Error: Owned by dependency: @dirrmtry %%PERL5_MAN3%%
   - Detect files in plist that do not exist in the stagedir. Pkgng already did
     this, but now we have it unified with this check. @comment lines are
     not considered for this; they will not ignore an error.
        ===> Checking for items in pkg-plist which are not in STAGEDIR
        Error: Missing: foo
        Error: Missing: @dirrmtry bar
   - Change orphaned output due to several new errors introduced:
        ===> Checking for items in STAGEDIR missing from pkg-plist
        Error: Orphaned: foo
   - Send errors to stderr
  check_leftovers.sh:
   - Prefer longer values for PLIST_SUB.
  bsd.options.mk:
   - Fix NOPORTDOCS/WITHOUT_NLS/NOPORTEXAMPLES not unsetting their respective
     OPTIONS.
   - Mark NOPORTDOCS/NOPORTEXAMPLES deprecated and hook them into the
     OPTIONS_WARNING to tell users the new format.
- check-stagedir.sh refactoring:
  - Switch to using new PLIST_SUB_SED
  - Use ! instead of , in sed(1) regex to allow files/dirs with ','
  - Rework PORTEXAMPLES/PORTDOCS handling so it acts on PLIST_SUB_SED'd
    value and not absolutes. Also simplify the regex for these a bit to
    allow reuse.
  - No longer need DOCSDIRS/EXAMPLESDIR in env
  - Wrap long lines
  - Unset some vars in env when they are done being used to free space for
    larger sed vars
  - Cleanup redundant sed regexes
- Add a Scripts/plist_sub_sed_sort.sh to prefer longer values when substituting
  over shorter values.

- To make check-plist ignore a file *as an orphan* do one of the following:
  1. Install it
  2. post-install: ${RM} ${STAGEDIR}file
  3. Put the file behind an OPTION with a PLIST_SUB: %%OPTION%%file
  4. Add to plist as a @comment [2]:
     @comment file
     @comment @dirrmtry dir

Reviewed by:	mat (much earlier version)
Discussed with:	mat, antoine, bapt, swills (various bits)
With hat:	portmgr
PR:		ports/185561 [1]
Reported By:	Alexander Yerenkow <yerenkow@gmail.com> [1]
Tested with:	pkg and pkg_install
Reported by:	many (false-positives)

[2] This is a partial solution, we may still need a plist.ignore too. It
    doesn't make much sense to add files in main pkg-plist we don't care about,
    but maybe it does since you'll see and reconsider them being ignored
    someday. @comment is used as all the OPTION PLIST_SUB deactivations use
    @comment instead of something like @ignore.
2014-04-19 06:44:56 +00:00
Bryan Drewery
a189085d53 - Make default target "make stage" if staging supported.
This is so that 'make' followed by 'make deinstall install' will, by default,
  have a much shorter period of files missing on the system as it is without
  staging.

Discussed with:	bapt
With hat:	portmgr
2014-04-16 16:29:38 +00:00
Bryan Drewery
4070b12551 - Add a @sample plist keyword
It accepts a file (must end in .sample, this is not configurable):

    @sample file.conf.sample

  This will install file.conf.sample and copy it to file.conf. The file.conf
  will be removed if it matches file.conf.sample on deinstall.

  This replaces older patterns of:

    @unexec if cmp -s %D/etc/pkgtools.conf %D/etc/pkgtools.conf.sample; then rm -f %D/etc/pkgtools.conf; fi
    etc/pkgtools.conf.sample
    @exec [ -f %B/pkgtools.conf ] || cp %B/%f %B/pkgtools.conf

  [1] This somewhat obsoletes work in ports/157168 which added CONF_FILES,
      but we have been moving towards more logic in pkg-plist where possible
      and less magical macros. Though this thinking does clash with autoplist
      ideas. We may still want CONF_FILES, which just drops a list of
      @sample entries into the plist anyway.
- Add a Keywords/pkg_install.awk and hook it into generate-plist. This is
  for pkg_install compatibility since it does not know how to read
  Keywords/sample.yaml.
  This file gives us a strategy to implement more keywords before
  pkg_install is EOL.
  Keywords are documented here:
  bffc31420b
- This needs to be documented in PH and portlint support added still.

PR:		ports/157168 [1]
Discussed with:	bapt
Reviewed by:	bapt
Requested by:	many
With hat:	portmgr
2014-04-12 03:39:02 +00:00
Baptiste Daroussin
d17874dc5d Two new USES added to finish handling distfiles formats a consistent way:
USES=tar[:[xz|bzip2|Z|tgz]] handles distributions files in format:
- plain tar
- tar.xz
- tar.bz2
- tar.Z
- tgz

USES=lha handles distributions files info LHA format
2014-03-12 09:17:06 +00:00
Rene Ladan
d2ef759163 Add a note for USES=zip and USES=makeself which were recently added by bapt
Requested by:	mat
2014-03-07 19:07:40 +00:00
Max Brazhnikov
4cd1e8830e KDE/FreeBSD team is happy to present Qt 5 in ports!
Alberto Villa (avilla@) has done all the hard work to create Qt 5 ports.
Trivial update from 5.2.0-beta1 to 5.2.1 by me.

Special thanks for Adriaan de Groot <groot@kde.org> for his assistance for
Qt-5.2.0 update.

Approved by:	portmgr (bapt) (for Mk/bsd.port.mk)
2014-03-03 16:50:32 +00:00
Martin Wilke
97cab7d439 - Whitespace cleanup 2014-01-29 08:26:47 +00:00
Mathieu Arnold
b765405ad0 Add two new options helpers:
${OPT}_${TYPE}_DEPENDS_OFF=<something> will automatically add:
${TYPE_DEPENDS}+=<something> in case OPT is 'off'

${OPT}_${FLAG}_OFF=<something> will automatically add:
${FLAG}+=<something> in case OPT is 'off'

With hat:	portmgr
Sponsored by:	Absolight
2014-01-27 22:53:24 +00:00
Marcus von Appen
78b8b9e4ba New USES=uniquefiles to make files or directories unique
by adding a prefix or suffix to them.

Files listed in UNIQUE_PREFIX_FILES will receive the prefix
set via UNIQUE_PREFIX. The same applies to UNIQUE_SUFFIX_FILES,
but with the chosen UNIQUE_SUFFIX. UNIQUE_PREFIX and
UNIQUE_SUFFIX are set to PKGNAMEPREFIX and PKGNAMESUFFIX by
default.
The uniquefiles USES enables ports to name files in special
ways, e.g. by outlining that the port does not support X11
(-nox11). A binary named bin/foo thus can be easily renamed
to bin/foo-featureA via

USES=                 uniquefiles
UNIQUE_SUFFIX=        -featureA
UNIQUE_SUFFIX_FILES=  bin/foo

The uniquefiles USES automatically adjusts the plist at
installation time. There is no need to consider the prefix
or suffix in the pkg-plist file itself. If the original name
of the renamed file is bin/foo, this exact name should be put
into pkg-plist.

The dirs argument to USES=uniquefiles will cause certain
standard directories, such as DOCSDIR or EXAMPLESDIR to be
prepended with the UNIQUE_PREFIX. The change to the directories
will hapen prior to configuring or building the port, so that
the port Makefile as well as the port's build logic are aware
of the changed name.

Since the uniquefiles USES effectively manipulates the port's
installation and file layout, it will only be available for
stagedir-aware ports. Ports with NO_STAGE=yes will be unable
to use the uniquefiles USES.

Reviewed by:	portmgr@
Approved by:	portmgr@
2014-01-11 16:52:34 +00:00
Marcus von Appen
f002f3a384 - Remove lang/python as implicit build and run dependency from
bsd.python.mk

  Ports need to use a designated python interpreter, whether this
  is the default one chosen by the user (or provided by the system)
  and pulled in via USE_PYTHON[_BUILD|_RUN]=yes or an explicit version
  or version range pulled in via USE_PYTHON[_BUILD|_RUN]=X.Y does not
  matter.

  Ports should however not rely on 'python' at build or installation
  time, whenever possible to avoid problems with building packages for
  different python versions.

  This change tries to raise the barrier for misbehaving ports and eases
  package builds for different python versions.

Tested with:	exp-run (ports/184591)
Reviewed by:	wg@, koobs@
Supported by:	wg@
With hat on:	python@
2013-12-18 17:21:49 +00:00
Tijl Coosemans
7365cece2c New USES=fortran to replace USE_FORTRAN.
USE_FORTRAN=yes can be replaced with USES=fortran or USES=fortran:gcc.
USE_FORTRAN=ifort can be replaced with USES=fortran:ifort.
USE_FORTRAN=f77 is deprecated and the version of gcc it depends
on (lang/gcc34) is scheduled to be removed.

Note that USE_FORTRAN=yes also makes GCC the C/C++ compiler while
USES=fortran only sets the Fortran compiler and can be used together
with Clang as C/C++ compiler.
2013-12-13 13:22:32 +00:00
Marcus von Appen
885b528f02 New USES=twisted, to replace the old USE_TWISTED knob.
twisted can be configured with the arguments run or build to replace
the previous USE_TWISTED_RUN and USE_TWISTED_BUILD knobs. The twisted
components can be added as comma-separated arguments. If you previously
wrote
    USE_TWISTED=        yes
    USE_TWISTED=        conch names
    USE_TWISTED_RUN=    yes
you now would write
    USES=       twisted
    USES=       twisted:conch,names
    USES=       twisted:run
2013-12-08 12:04:07 +00:00
Koop Mast
5d020c831f Remove ltverhack's hard depend on USE_AUTOTOOLS=libtool.
The problem with the old method is that the libtool is configured to look
first in LOCALBASE for libraries to link to. Normaly this wouldn't cause
a problem. However if a port that builds a library with new API also builds
introspection files or say gtk bindings, then libtool will look first into
LOCALBASE and find the old library version for linking the introspection
files or gtk bindings. Due to the missing new API in old library the build
will fail with unresolved symbols.
The new ltverhack will patch the ltmain.sh and/or libtool files that where
bundled with the port. This libtool is correctly configured to first look
in for the just build libraries.

If the port bundled version of ltmain.sh and/or libtool aren't in ${WRKSRC}
then ltverhack_PATCH_FILES can be overwritten with there location in ${WRKSRC}.

As a bonus when using the new ltverhack configure will honor --disable-static
again. So please check your plist after converting.

While here shorten the number of tabs in the lthacks, ltverhack and
ltasneededhack PRE_PATCH components so they are just over 80 chars long.

Exp-run by:	bdrewery@
PR:		ports/183936
Obtained from:	gnome dev repo
2013-11-19 19:54:16 +00:00
Koop Mast
109cedef51 Indent 20131031 entry like the rest of the file. 2013-11-19 19:38:45 +00:00
Rene Ladan
a505e35050 Add a description of USES=kmod 2013-10-31 11:44:12 +00:00
Dmitry Marakasov
73b7596b94 - Remove manual creation and removal of share/applications, as it's now in the mtree (remaining categories)
- Add note on mtree change to CHANGES

Approved by:	portmgr (bdrewery)
2013-10-22 14:04:01 +00:00
Sunpoet Po-Chuan Hsieh
035ec19c96 - Fix typo 2013-10-19 19:26:58 +00:00
Baptiste Daroussin
91bfd4296d New USES=compiler
Supported arguments are:
  - c++11-lang: the port needs a c++11 aware compiler what ever standard
  library it uses, implies features
  - c++11-lib: the port needs a c++11 standard library, implies features
  - c11: the ports needs a c11 aware compiler implies features
  - features: this will create a COMPILER_FEATURES variable which contains
  the list of features ${CC} do support, implies env.
  - env: the COMPILER_TYPE will be set to either gcc or clang.

  By default the uses will try to use clang33 from ports when nothing in
  base is relevant except if the user explicitly defines
  FAVORITE_COMPILER=gcc in his make.conf

Please note that testing tinderbox prior to version: 4.0.1_1 is not able to
properly figure out the dependencies implied by this USES.
2013-10-08 18:55:37 +00:00
Max Brazhnikov
364f20a0c0 - Add new USES= qmake (with staging support)
Approved by:	portmgr (bapt)
2013-10-08 16:02:21 +00:00
Bryan Drewery
07933b2444 - PATCHFILES now support an optional :-pX flag that notes which patch strip
level to use. This allows multiple patches in 1 port to use different
  PATCH_DIST_STRIP values without changing PATCH_DIST_STRIP.

  Syntax: PATCHFILES= patch[:-pX][:distgroup]

PR:		ports/168222
Submitted by:	knu
With hat:	portmgr
2013-10-05 10:20:15 +00:00
Baptiste Daroussin
d7f9cdb38e Introduce the new "scons" USES. The goal is to replace the old bsd.scons.mk
Instead of redifining the building target, let's just reuse the existing ones.
Bonus, MAKE_JOBS is now respected
2013-10-03 06:25:13 +00:00
Baptiste Daroussin
816c63b01c Add an entry about "create packages as a user" 2013-09-24 14:34:59 +00:00
Ruslan Makhmatkhanov
dc659a215b - add new USES target: zope, and convert the tree to it
- old USE_ZOPE knob support was removed from bsd.python.mk
- update CHANGES and bsd.sanity.mk accordingly
- add ZOPE options knob and use it in lang/py-mx-base

The work is done by Marcus von Appen, but any problems are mine.

Submitted by:	mva (python ML)
2013-09-23 13:42:48 +00:00
Baptiste Daroussin
cf099c77fa Add support for staging area in the ports tree
The ports tree is now staged by default. With pkgng the sequence hasn't
changed, the main difference is that creating package is now independent
from installing it. With pkg_install, the package is now created first
and make install, do install the package.

New macros:
- STAGEDIR: PATH to the directory where the port will be staged.
- NO_STAGE: Keep the old behaviour of the ports tree (aka no staging area)

Unsupported macro if NO_STAGE is not set:
- MAN* with staging man page compression and handling of hardlinks and
symlinks is automatically done in the stage. the manpages becomes then a
"normal" plist files and should be tracked in pkg-plist.
- MANCOMPRESSED the compress-man target is able to only compress when it
needed.

New target:
- stage: this installs everything into the stage directory
- makeplist: this will create a pkg-plist and print it to stdout. This is
a sample plist and it should always be _reviewed_ not directly used.

NOTE: with staging only what is in the plist will be installed, nothing more,
meaning a port staged cannot have leftovers exect directories left. It is
really important to double check the pkg-plist to make sure all the files
the maintainer want to package are in! make makeplist can help in that area.

The goal is to handle as quickly as possible a full removal of the NO_STAGE
support.

More features can be added once the full ports tree is converted to using the
staging area

Conversion notes:
- Remove NO_STAGE
- in {pre,do,post}-install
  * Before any usage of ${PREFIX}, ${ETCDIR}, ${PORTSDIR}, ${PORTEXAMPLES}
    prepend ${STAGEDIR}
  * Remove any thing that is done by @exec or +INSTALL script it will be
    done automatically when syncing packages
  * Remove any code to show PKG-MESSAGE it will be done automatically when
    syncing packages
  * Directory creation should remain in post-install (in particular because
    pkgng doesn't work like pkg_install in that area and pkgng ignores the
    @exec mkdir but directly pack the directory even if empty)
- PORTDOCS/PORTEXAMPELS
  To support PORTDOCS, PORTEXAMPLES most of the time there is no more need
  for hacks. just add the right %%PORTDOCS%% or %%PORTEXAMPLES%% in your
  plist then the given files from the stagedir will or will not sync
  according to NOPORTDOCS and NOPORTEXAMPLES.

With hat:	portmgr
Reviewed by:	bdrewery
2013-09-23 05:56:35 +00:00
Bryan Drewery
c6dc82531e - Rename public name of SSP support to WITH_SSP_PORTS as /usr/src
has issues with 'installworld' when WITH_SSP is defined. [1]
  Keep WITH_SSP support for now since it has been announced as that
  already.
- Remove redundant wording in UPDATING [2]

Suggested by:	bapt [1]
Reported by:	blakkheim on EFNet
With hat:	portmgr
2013-09-22 00:26:05 +00:00
Bryan Drewery
c93dfc2e9f SSP support has been added to ports with WITH_SSP for i386 and amd64
on FreeBSD 10, and amd64 on earlier versions.

SSP_UNSAFE is added to disable in a port if it fails to build, but
this should only be used in rare circumstances such as kernel modules.
Otherwise, the port may just be failing due to lack of respecting
LDFLAGS.

On FreeBSD 10, this uses an ldscript in /usr/lib/libc.so to pull in
libssp_nonshared.a to address issues linking on i386 [1].

On earlier FreeBSD versions the WITH_SSP knob will add -lssp_nonshared
to LDFLAGS on i386. This is not needed on amd64. However, several hundred
ports do not currently respect LDFLAGS, so this support is disabled currently
as it causes build failures if a dependency is looking for the stack_chk
symbols.

Many thanks to jlh@ for this as he had many years of patience in getting
all of the necessary pieces [1][2] in.

[1] http://svnweb.freebsd.org/base/head/lib/libc/libc.ldscript?revision=251668&view=markup

PR:		ports/138228 [2]
Submitted by:	jlh (bsd.ssp.mk based on)
Reviewed by:	bapt
With hat:	portmgr
exp-runs done:	37 over a month on 91i386,91amd64,10i386,10amd64
2013-09-20 12:54:54 +00:00
Pietro Cerutti
a14c9ac6b8 - Document the addition of tcl/tk to the USES and DEFAULT_VERSIONS framework. 2013-09-19 09:58:42 +00:00
Baptiste Daroussin
3911a83860 Remove the old perl framework, that also means all the perl code is not loaded inconditionnaly anymore
Huge thanks for az@ for his hard work on the subject!

PR:		ports/172608
Submitted by:	az
2013-09-18 08:44:21 +00:00
Andrej Zverev
0f01418344 - proper formating
Noticed by:	avg@
2013-09-07 08:07:10 +00:00
Guido Falsi
642be1b81d - Make ports use the libc provided iconv implementation on 10-CURRENT
after r254273
- Fix a bunch of ports to properly work after this
- Mark converters/libiconv as IGNORE for systems with iconv in libc

Reviewed by:	bapt
Approved by:	portmgr (bapt)
Discussed with:	bapt, bsam (who both contributed ideas and code)
2013-09-04 18:06:07 +00:00
Baptiste Daroussin
a82e6804c6 Back to the present
Reported by:	madpilot
2013-09-04 13:45:38 +00:00
Baptiste Daroussin
e04cbe160f Document the removal of USE_GNOME=pkgconfig 2013-09-02 10:52:58 +00:00
Bryan Drewery
954b650462 - Add USE_PACKAGE_DEPENDS_ONLY which will try installing dependencies
from existing packages and not fallback on building from source.

  This is useful for package building tools such as poudriere and tinderbox
  to avoid building from source and confusing the build log, if a dependency
  failed to build for some reason.

  NOTE: USE_PACKAGE_DEPENDS has not changed here. It has always
        reverted to source if the package was not present.

PR:		ports/180725
Submitted by:	crees
With hat:	portmgr
2013-08-31 13:56:08 +00:00
Baptiste Daroussin
50cfc86752 Back to the present
Reported by:	feld
2013-07-31 14:31:35 +00:00
Baptiste Daroussin
bbc08b34be Typo 2013-07-31 07:19:05 +00:00
Baptiste Daroussin
ad51948917 Document the new USE=perl5 2013-07-31 06:39:05 +00:00
Rene Ladan
66fee90926 KDE3 and QT3 expired on 2013-07-01, remove these ports.
Unfortunately, this also affects some ports using QT3 as a GUI toolkit.

Changes to infrastructure files:
- bsd.kde.mk : obsolete, remove
- bsd.qt.mk : note that a CONFLICTS_BUILD line can probably go after a while
- CHANGES : document the removals from bsd.port.mk
- KNOBS : remove KDE and QT (KDE4 and QT4 should be used instead)
- MOVED : add the removed ports

PR:		ports/180745
Submitted by:	rene
Approved by:	portmgr (bapt)
Exp-run by:	bapt
2013-07-26 19:19:20 +00:00
Baptiste Daroussin
932db7c46c New USES imake to handle the dependency on imake.
This uses accept 'env' as an argument for ports that do use their own or a different do-configure target.

Modify xmkmf so it accept IMAKECPPFLAGS as default flags for imake and pass it to the called imake.
Modify xorg-cf-files (the FreeBSD.cf configuration file) to allow CppCmd to be overwritten.
Pass CppCmd CcCmd and CplusplusCmd via command line to each call of imake via IMAKECPPFLAGS
Pass IMAKE_DEFINE with the above arguments to MAKE_ARGS so that imake spawned from Makefile generated by a previous
imake also inherit the defined CppCmd CcCmd and CplusplusCmd.
Make imake use devel/tradcpp all the time, so that when buidling with clang we do not depend on gcc's cpp.
Make imake respect CC and CXX
Make imake respect USE_GCC (if set imake will use gcc's cpp).

While here:
- Remove a couple of indefinite articles from comments
- Trim headers
- Fix a couple of ports to build with clang or use: USE_GCC=any
- Fix a now useless redefinition of the extraction chain
- Fix a typo in japanese/Wnn7-lib bundled imake template definitions
- Fix some XMKMF execution with no env specified
- Use options helper in x11/xautolock to simplify the port
2013-06-28 11:51:05 +00:00
Baptiste Daroussin
bdcdc9cc0d Fix AUTHORS line in the last entry 2013-06-26 07:10:28 +00:00
Baptiste Daroussin
4698330b90 Add a new USES: fmake
This uses will allow to build ports using the legacy FreeBSD make, for ports
not compatible with bmake
2013-06-20 09:48:08 +00:00
Boris Samorodov
79218f19fd Fix two typos: add two trailing curly braces. 2013-06-19 16:25:32 +00:00
Baptiste Daroussin
2744ab655b Document the fact that _DEPENDS now also has per options helpers 2013-06-14 14:29:13 +00:00
Baptiste Daroussin
0e8027e93f Add a forgotten helper:
${OPT}_CMAKE_ON and ${OPT}_CMAKE_OFF
2013-06-14 14:18:45 +00:00
Baptiste Daroussin
67cfdf9034 New macros to help dealing with ports that have options:
OPTIONS_SUB=yes when set in a port, all the option names are automatically
added to the PLIST_SUB with "@comment " value in case the option is off and
empty value in case the options is on.

${OPT}_CONFIGURE_ENABLE=<aname> will automatically add:
CONFIGURE_ARGS+=--enable-<aname> in case OPT is activated
CONFIGURE_ARGS+=--disable-<aname> in case OPT is deactivated

${OPT}_CONFIGURE_ON=<something> will automatically add:
CONFIGURE_ARGS+=<something> in case OPT is activated

${OPT_CONFIGURE_OFF=<something> will automatically add:
CONFIGURE_ARGS+=<something> in case OPT is deactivated

${OPT}_CFLAGS will append the specified new flags to CFLAGS if OPT is 'on'
${OPT}_CXXFLAGS will append the specified new flags to CXXFLAGS if OPT is 'on'
${OPT}_LDFLAGS will append the specified new flags to LDFLAGS if OPT is 'on'

${OPT}_CONFIGURE_ENV will append the specified variables to CONFIGURE_ENV if
OPT is 'on'
${OPT}_MAKE_ENV will append the specified variables to MAKE_ENV if OPT is 'on'

${OPT}_USES will append the speficied uses to USES if OPT is 'on'

${OPT}_DISTFILES will append the specified distiles to DISTFILES if OPT in 'on'

Reviewed and tested by:	bdrewery
2013-06-14 13:41:37 +00:00
Baptiste Daroussin
e290dec1ca Add a USES display to replace USE_DISPLAY.
as USE_DISPLAY it will handle the dependencies needed for a display. But it will also start and stop the Xfvb process during the requested phase the display it needed.

it takes 'install' as an implicit argument, but may also accept 'build'
2013-06-14 12:47:19 +00:00
Bryan Drewery
f914b482f1 Fix ports using GH_TAGNAME=master to depend on a known hash
instead of a branch that changes.

With hat:	portmgr
2013-06-07 22:29:01 +00:00
Bryan Drewery
fb58afc3dd Add WRKSRC_SUBDIR to simplify overriding WRKSRC:
WRKSRC=		${WRKDIR}/${DISTNAME}/src
  This becomes:
	WRKSRC_SUBDIR=	src

Reviewed by:	bapt
With hat:	portmgr
2013-06-07 13:25:22 +00:00
Baptiste Daroussin
80d0f2c9c5 Wording
Submitted by:	remko
2013-06-06 06:32:21 +00:00
Baptiste Daroussin
5cb56c4f98 Remove support for parsing the old OPTIONS macro, the compatibility code to load the old optionsfile and compatibility with WITH_ and WITHOUT_ in make.conf remains for now; 2013-06-06 06:29:00 +00:00
Koop Mast
85315ecc01 Document new USES: desktop-file-utils and shared-mime-info. 2013-05-09 15:22:47 +00:00
Baptiste Daroussin
1e5ccf2bb9 USE_GETTEXT has totally been replaced by USES=gettext thanks, jgh and ak
USE_NCURSES has totally been replaced by USES=ncurses
USE_READLINE has totally been replaced by USES=readline
2013-05-07 08:01:46 +00:00
Baptiste Daroussin
358325c418 Add new USES: shebangfix
use it to fix shebang on files specified by SHEBANG_FILES macro, by default it
proposes default values for bash, perl, php, python, ruby, it can be customized
and extended
2013-05-06 22:23:09 +00:00
Baptiste Daroussin
71bf80b1e5 Add new USES: ncurses and readline 2013-05-06 15:31:45 +00:00
Marcus von Appen
67ef08ef8b Introduces USES= iconv to replace USE_ICONV.
It takes no arguments.

This deprecates USE_ICONV, please convert your ports.
USE_ICONV will be removed as soon as it is no more used in
the ports tree.

Approved by:	portmgr (bapt)
2013-04-26 20:44:59 +00:00
Baptiste Daroussin
dba80fffe4 Remove USE_CDRTOOLS from bsd.port.mk
This macros has been useless since cdrtools-cjk port has gone.
This macros also lead to badly handled dependencies assuming that the dependency
on cdrtools was most BUILD and RUN dependency. While most of the time it is
simply a RUN dependency and sometime a build one.

While here:
- Trim some headers
- Convert some ports to optionsng
- Convert some ports to USES= gettext
2013-04-26 12:35:50 +00:00
Baptiste Daroussin
982dc133e0 Remove USE_FREETYPE from bsd.port.mk
It added no really value and was used only by 8 ports
2013-04-26 09:27:26 +00:00
Jason Helfman
a81cf14346 Introduces USES= gettext to replace USE_GETTEXT
It can take 3 arguments:
  build to add gettext into both RUN and BUILD DEPENDS
  run to add gettext into RUN_DEPENDS
  lib (default,implicit) to add gettext into LIB_DEPENDS

  This deprecates USE_GETTEXT. Please convert your ports.
  USE_GETTEXT will be removed as soon as it is no longer used in
  the ports tree

Approved by:	portmgr (bapt)
2013-04-23 07:27:18 +00:00
Baptiste Daroussin
c03bfbe46d Fix date
Submitted by:	bdrewery
2013-04-23 06:24:55 +00:00
Bryan Drewery
4292fecc2e - Add WITH_CCACHE_BUILD support during 'configure' phase
- Add CCACHE_DIR
  The MAKE_ENV/CONFIGURE_ENV+= method of adding CCACHE_DIR
  in /etc/make.conf does not work for many ports since they
  overwrite using = instead of appending with +=. By adding
  CCACHE_DIR into the ENV variables after reading in the port
  the directory is properly set in the environment. Without
  this, the ccache support would sometimes work but incorrectly
  not respect the set CCACHE_DIR, potentially using 2 caches.

With hat:	portmgr
2013-04-23 00:26:55 +00:00
Baptiste Daroussin
ed31a0d5e6 Introduce USES= pkgconfig to replace USE_PKGCONFIG
It can take 3 arguments:
build (default,implicit) to add pkgconf into BUILD_DEPENDS
run to add pkgconf into RUN_DEPENDS
both to add pkgconf into both RUN and BUILD DEPENDS

This deprecates USE_PKGCONFIG, please convert your ports.
USE_PKGCONFIG will be removed as soon as it is no more used in
the ports tree
2013-04-22 22:25:20 +00:00
Jason Helfman
1c09104064 - Add New USES macro to handle support for Zenoss ports and Zenpacks:
USES= zenoss
-trim historical headers

Convert net-mgmt/zenpack family to new framework

PR:		176723
Approved by:	maintainer timeout ( 14 days )
2013-03-20 06:28:43 +00:00
Max Brazhnikov
f8a306de30 Convert USE_CMAKE to USES macro:
Usage:		USES= cmake or USES= cmake:ARGS
 Valid ARGS:	outsource (perform an out-of-source build)

Tested by:	exp-run (bapt)
Approved by:	portmgr (bapt)
2013-03-19 17:59:30 +00:00
Baptiste Daroussin
5718fc3071 Make the ports tree use dialog4ports for make config.
dialog4ports has been contributed by Ilya A. Arkhipov. It extends dialog(3) to
provide a mixed dialog widget allowing to represent all features provide by the
new options framework.

This allows the ports tree to not anymore depends on dialog(1) from base to configure
the options and be able to improve if needed on all supported plateforms at the same time.

Exp-run by:	miwi
2013-03-19 09:27:52 +00:00
Bryan Drewery
fec6874307 Document USES=qmail 2013-03-15 22:13:42 +00:00
Baptiste Daroussin
c9a1e1b6ba Document the introduction of Keywords/info.yaml in CHANGES 2013-03-15 09:22:41 +00:00
Baptiste Daroussin
2bf75330b6 Add a note about the new USES macro and the new USES= pathfix fuse
Reviewed by:	miwi
2013-03-07 11:14:13 +00:00
Martin Wilke
dceaa951ff - Fix Whitespaces 2013-02-08 08:41:27 +00:00
Pietro Cerutti
0e17d1407a - Document that PTHREAD_CFLAGS and PTHREAD_LIBS are unsupported
Approved by:	bapt (portmgr)
2013-02-07 13:35:04 +00:00
Florian Smeets
d26530b713 - introduce a USE_FUSE macro
- convert all fuse ports to use the new macro

The macro makes sure sysutils/fusefs-libs gets installed and depending on
fuse being in base or not it installs sysutils/fusefs-kmod.

Approved by:	portmgr (bapt)
2012-12-14 15:47:00 +00:00
Baptiste Daroussin
34d5249610 Extend the options framework providing 2 new macros:
OPTIONS_RADIO: a more user friendly way to allow selecting only 0 or 1 options
               among a list of options
OPTIONS_GROUP: this macros should be used to group options by theme allowing the
               user to select 0 or N options among a list of options

With hat:	portmgr
Reviewed by:	beat
2012-12-10 10:14:05 +00:00
Alexey Dokuchaev
ff36e904ae Minor whitespace and formatting fixes.
Feature safe:	yes
2012-11-16 18:43:55 +00:00
Baptiste Daroussin
8640477bd2 We are in 2012, it is time to activate IPV6 options by default everywhere 2012-10-10 08:48:47 +00:00