Commit Graph

161 Commits

Author SHA1 Message Date
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