The compiler.mk comments and code state that COMPILER_TYPE can only be
of the value "clang" or "gcc". However, the code that determines this
allows for a possible undefined third state (empty string). BMake
will emit a lot of errors about badly formatted conditionals if
COMPILER_TYPE is empty.
Since, by definition, if the COMPILER_TYPE is not clang, it must be
gcc, so skip the conditional gcc check and just set it. The entire
file must be updated if support for additional compilers is desired.
This bug was discovered because the gcc detection code failed to
identify the DragonFly base compiler (GCC 4.7.3) as gcc.
Approved by: portmgr (bapt)
Proudly brought to you by the KDE on FreeBSD team, with commits by makc@,
Schaich Alonso and yours truly.
Besides the tons of upstream fixes, we have mkspecs for GCC 4.9 and clang33
(from ports), staging support in the Makefiles and dependency fixes related
to pkg-config.
Many thanks to the people who helped test the ports using our area51
repository, and also to the people who provided patches and bug reports via
GNATS!
PR: ports/180615
ports/181921
ports/182049
Beware, this version of GCC is _not_ anywhere near ready for production
use. Use at your own risk, and rather don't use it for regular ports.
Submitted by: devzone.my@gmail.com
failure on every port that does not use shared-mime-info or need it.
Must return 0 at end of functions or it considers the last command ran as
the return code.
Reported by: eadler
With hat: portmgr
A couple of Q/A tests are done if the DEVELOPER macros is set in make.conf
Right now the tests are:
- Check if the symlinks are properly created
- Check if the binaries are stripped (just warn)
- Check if the STAGEDIR or the WORKDIR are referenced in the final files
- Check if the ports provide script with bad shebangs.
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.
This is useful to be able to define extra mirrors in PATCH_SITES for
a group, while still depending on the master list of PATCH_SITES
For example:
.if ${PORT_OPTIONS:MX509}
PATCH_SITES= http://mirror1/x509-${X509_VERSION}/:x509
PATCHFILES= ${PORTNAME}-6.3p1+x509-${X509_VERSION}.diff.gz:-p1:x509
.endif
PATCH_SITES+= http://mirror2/${PORTNAME}/:DEFAULT,x509
This will use mirror1 only for the X509 option and mirror2 for X509. All
other patches will use mirror2 but not mirror1.
With hat: portmgr
PR: ports/52706
Submitted by: Alexey Neyman <alex.neyman@auriga.ru>
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
- Remove duplicate EXTRA_PATCHES comment
- Minor comment rewording: change "add it to" to "add its content to"
just like how we describe ${opt}_CMAKE_*
PR: ports/182626
Submitted by: sunpoet (myself)
Approved by: bapt (portmgr)
-- add PYTHON option to alsa-lib
-- drop unresponsive mirrors and those that rarely catch up
-- drop --disable-aload from alsa-lib, builds fine without
-- drop USE_LDCONFIG from alsa-plugins, useless for dlopen'd plugins
-- convert to new LIB_DEPENDS syntax and Makefile header
-- convert PLIST_SUB to OPTIONS_SUB
-- don't link alsa-utils against librt for clock_gettime(2)
-- pass paths to configure relative to --prefix value
-- install udev config(s) under PREFIX (for reference)
-- cleanup /var/lib as it's not in default MTREE_FILE
-- remove OSVERSION check for EOL releases
- allow staging
PR: ports/182245 [1]
Submitted by: Jan Beich <jbeich@tormail.org> [1]
Approved by: maintainer timeout
new DEFAULT_VERSIONS variable.
PYTHON_DEFAULT_VERSION, PYTHON2_DEFAULT_VERSION and
PYTHON3_DEFAULT_VERSION are deprecated. If you have set them in your
make.conf, you should change them something like
DEFAULT_VERSIONS=python=2.7 python2=2.7 python3=3.3
the package in STAGEDIR and then linking/copying it over to PACKAGES if
possible
With hat: portmgr
Reviewed by: bapt (earlier version)
Tested by: Stefan Bethke <stb@lassitu.de>
Reported by: many
install-package was depended on twice for install target, but it should
only be in SUSEQ
- Add a comment to make sequence code a bit more readable
With hat: portmgr
via USE_PYTHON=2 (for lang/python2) or USE_PYTHON=3 (for lang/python3).
This can be used for ports, which do not care, which specific minor
release version of Python 2.x or Python 3.x is used, as long as there
are proper symlinks to e.g. bin/python2 or bin/python3.
a kwm, zeising production:
MESA 9.1.6
Starring:
Mesa 9.1.6, including libGL, libGLU and dri (new xorg only)
Addition of libEGL and libglesv2
KMS support for ATI graphics cards in 10-current (new xorg only)
Improved sparc64 support for new xorg. [1]
pixman 0.30.2, including shlib bump and portrevision bumps
libX11 1.6.2
Make absolute pointing devices work with x11-drivers/xf86-input-mouse
x11-drivers/xf86-video-ati 7.2.0 for 10-current (KMS aware ati driver)
Also starring:
Updates to drivers and other libraries and utilities
Additional notes:
When updating MESA related ports (libGL, dri) you need to remove old versions
first. See UPDATING for details.
PR: ports/181962 [2]
Submitted by: marius [1]
zeising [2]
Exp-run by: bdrewery
Approved by: portmgr (bdrewery)
Thanks to all who helped testing!
Add support for specifying multiple versions in arguments, e.g.,
USES+=tcl:84,85. The picked version is the highest available one.
This basically brings in the last functionality that was left out in the
switch from USE_TCL to USES+=tcl, namely TCL_INVALID_VER. To specify an
invalid version, just list the valid ones.
Reviewed by: bdrewery (portmgr)
This will cause the ports framework to create the plist automatically
for distutils-based ports. All files installed via Python's distutils
mechanisms (either the traditional distutils or easy_install) will be
automtically added to the package list, regardless of the Python
version. It is somewhat similar to the RUBYGEM_AUTOPLIST knob.
- Introduce a new port Makefile knob PYTHON_PY3K_PLIST_HACK.
This automatically replaces .pyc and .pyo package list entries with
the relevant __pycache__ entries for Python 3.x. It should only be
used for ports, which do not use one of Python's default package
installation mechanisms and which are guaranteed to work with any
python version.
- perl.mk changes MAN3PREFIX only therefore we keep *MAN3 setting
- PERL5_MAN[124-9] point to non-existence directories
Submitted by: sunpoet
Reviewed by: az
Previous implementation was based on etc/man.d which doesn't exists in FreeBSD 8.
By default MANDIRS is ${MANPREFIX}/man. if a port adds USES=perl5 then the perl default locations is added
Reviewed by: bdrewery
- 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)
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
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
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
- Use bsd.default-versions.mk to specify the default Tcl/Tk version (8.6)
- Add warnings about the now deprecated use of USE_TCL, USE_TK, ...
Notes:
* USES+=tcl and USES+=tk take the following optional arguments
- either a version in the form of XY or XY+, or 'wrapper' to depend on
lang/tcl-wrapper or x11-toolkits/tk-wrapper
- either 'build' (bring in build depend) or 'run' (bring in run depend)
* it is an error to specify both 'tcl' and 'tk' in USES.
* The functionality currently implemented via INVALID_TCL_VER and
INVALID_TK_VER is not yet available.
Approved by: bapt (portmgr)
This defines a new macros for end users!
DEFAULT_VERSIONS.
This macros is used to end-users to define what version they want to be
the default version for the whole ports tree (for ports allowing that)
Syntax is the following:
DEFAULT_VERSIONS= perl5=5.18 ruby=2.0
Swith bsd.ruby.mk to use it[1], switch Uses/perl5.mk to use it[2]
If you are maintaining settable multi version port, please change it so
it uses DEFAULT_VERSIONS.
Reviewed by: ruby (swills) [1], perl (az) [2]
Approved by: ruby (swills) [1], perl (az) [2]
- update seamonkey to 2.21
- update firefox-esr to 17.0.9
- enable GSTREAMER by default for html5 with h264/aac/mp3
- WEBRTC is now always built
- add PROFILE and TESTS options
Security: 7dfed67b-20aa-11e3-b8d8-0025905a4771
In collaboration with: Jan Beich <jbeich@tormail.org>
This file is responsible to do some sanity checking on port, as well as doing some sanity checking on users configuration
New macro for developer: WARNING (this will issue a warning to the normal users can be used to warn the user about deprecating feature that will be unsupported soon.
New macro to put in your make.conf for Maintainers: DEVELOPER=yes this macro will activate warning on usage of deprecated features and errors on now unspported usage of macros.
Reviewed by: bdrewery
For minimal breakage reasons, DragonFly has OSVERSION set to the
equivalent of FreeBSD 99. When the readline compatibility for FreeBSD
10 was revoked recently, it broke a lot of dports.
Restore the default to how it was before on DragonFly only to restore
those ports using OPSYS.
Approved by: portmgr (bapt)
binary in $PATH. It can be set in case the user wants to use a
specific python2 version as a default. Its behaviour is similar
to the existing PYTHON3_DEFAULT_VERSION and fixes a small issue with
package builds for different python versions.
- Outline that PYTHON_DEFAULT_VERSION always takes precedence for a
specific python major version.
- Update lang/python2 to use PYTHON2_DEFAULT_VERSION and bump the
PORTREVISION to let the installed port catch up with the change.
- Allow PYTHON3_DEFAULT_VERSION to overriden by a user choice, if
PYTHON_DEFAULT_VERSION is not set to a python3 port.
Reported by: David Demelier <demelier.david@gmail.com>
Reviewed by: koobs@, sbz@
With hat on: python@
they point to. It only works if symlink points to the file directly and
fails if there are more than one level of symlinks. Use realpath(1) to
drill out the actual path to the shared lib and feed it to file(1)
then.
This fixes issue with cerain LIB_DEPENDS, such as databases/db42.
Approved by: portmgr (bapt)
"--with-libiconv=${LOCALBASE}" at systems pre OSVERSION 100043 and "" (null)
otherwise;
. convert all ports which has CONFIGURE_ARGS=--with-libiconv=${LOCALBASE}.
Approved by: portmgr (bapt, implicit)
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)
ports framework to use the port for *_DEPENDS= ${NONEXISTENT}:PORT:target
dependencies
An example port is irc/gseen.mod, it depends on another port being
extracted, not an installed pkg.
PR: ports/180725
Reported by: antoine
With hat: portmgr
1) Move -a from XMKMF command variable to a new XMKMF_ARGS variable.
For ports that don't need -a introduce USES=imake:notall.
This way ports no longer have to redefine XMKMF.
2) xmkmf -a runs imake with the flags in IMAKECPPFLAGS as extra arguments
to set CPP, CC and CXX. This creates the top Makefile, and then xmkmf
runs make Makefiles. This Makefiles target runs imake for each
subdirectory but these imake invocations did not have the flags from
IMAKECPPFLAGS so the resulting makefiles used the wrong C preprocessor
when clang is used (/usr/bin/cpp instead of /usr/local/bin/tradcpp).
Instead of letting xmkmf pass IMAKECPPFLAGS from the environment to
imake let imake handle IMAKECPPFLAGS itself just like it handles
IMAKEINCLUDE.
This exposed configure errors in x11-clocks/mouseclock and x11-wm/fvwm.
Approved by: portmgr (bapt)
. lib (default, implicit);
. build,
. patch.
The default is the same, all existing ports stay valid.
2. Introduce variable ICONV_CMD with default to ${LOCALBASE}/bin/iconv.
It is intended to get the value of /usr/bin/iconv at recent 10.x.
3. Adopt all ports to using USES+= icomv:build and iconv:patch and
change iconv (executable) at Makefile commands to ${ICONV_CMD} at those ports.
Submitted by: bsam (me, via e-mail)
Approved by: portmgr (bapt)
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
before retrying.
The previous behavior would try to download a range of the new bytes and
then hit the 'Requested Range Not Satisfiable' error and never actually
redownload the file.
This fixes cases where a port is rerolled and distinfo updated, but
users have a bad distfile sitting there that they would manually need
to remove.
Reviewed by: bapt
Reported by: danfe
With hat: portmgr
MAKE_ENV. This only intended to ignore PATH.
All of these were not supporting WITH_CCACHE_BUILD and a partial exp-run
was done on:
audio/fdmf biology/biojava devel/ace games/hex graphics/cimg
graphics/inventor graphics/peps graphics/wings graphics/wings-devel
lang/python26 lang/python27 lang/python31 lang/python32 lang/python33
lang/siod math/py-basemap math/py-basemap-data multimedia/gpodder
multimedia/gstreamer-ffmpeg multimedia/gstreamer1-libav
multimedia/handbrake print/py-reportlab print/py-reportlab2 science/ncs
science/netcdf4 security/nss textproc/adabrowse x11-toolkits/py-kivy
With hat: portmgr
Update dependent packages with more recent releases.
Remove old and bit-rotted ones.
Switch to using clang 3.3 and libobjc2 1.7 by default, so modern Objective-C features work out of the box and remove a lot of configurable options for sub-optimal (and, often, unsupported / deprecated upstream) configurations.
Take maintainership of GNUstep-related ports.
Several of the ports left in have scary warnings which mean that they are likely broken in lots of cases. Future commits will fix them.
Approved by: bapt
This is a bug fix release.
Changelog: http://lists.freedesktop.org/archives/gstreamer-devel/2013-August/042360.html
Enable neon http plugin
Switch to new LIB_DEPEND format, use USES=gmake instead of USE_GMAKE
Utilize new introspection USE_GNOME component.
Allow gstreamer1-libav to play mp3's, note that mad plugin is still
prefered if available.
- update firefox-esr, thunderbird and libxul to 17.0.8
- update seamonkey to 2.20
- fix plist for *-i18n
Security: 0998e79d-0055-11e3-905b-0025905a4771
In collaboration with: Jan Beich <jbeich@tormail.org>
on invalid websites, given the ports tree already checks the distfiles against
a hash, it is safe to skip the certificate validation.
Submitted by: Michael Gmelin <freebsd@grem.de>
This update updates Glib20 to 2.36 and Gtk+ 3.8
* The gio-fam-backend port that used gamin for the GFileMonitor API is gone.
It is replaced by a GIO kqueue implementation developed as part of a NetBSD
GSoC 2011 project by Dimitry Matveev.
* Fix a bug in the glib20 Makefile so it includes -lintl in the glib-2.0
pkgconfig file [1]. This broke static linking and newer binutils.
* Add introspection USE_GNOME component which sets GI_SCANNER_DISABLE_CACHE to
prevent creation of / root/.cache dir. Defaults to build & run depend,
but :build and :run switches available.
* New x11-toolkits/pangox-compat port and companion USE_GNOME component for
pangox support which was removed from the pango port. Add it to ports still
using pangox API.
Exp-run by: bapt@
PR: ports/178958 [1]
Submitted by: emaste@ [1]
Deprecate and replaces bsd.perl.mk, it adds more consistency:
only USE_PERL5 is needed to define all expected behaviour.
USE_PERL5 accept the following arguments:
Version: like 5.14+
- configure (formerly PERL_CONFIGURE=yes)
- run (formerly USE_PERL5_RUN=yes)
- build (formerly USE_PERL5_BUILD=yes)
- patch (only use perl as a patch dependency)
- extract (only use perl as an extract dependency)
- modbuild (formerly PERL_MODBUILD)
It has the new
P5MAN{1,2,3,4,5,6,7,8} macros equivalent to MAN{1,....} but depending on the perl path.
Reviewed by: az
Thanks to: az
This fixes detection of db6 as a requisite [1], the new format no
longer looks at ldconfig output, so the awkwardly-named libdb-N.M.so.0
symlinks are no longer required.
Suggested by: bapt [2]
Reported by: John Silva (direct email to mandree@) [1]
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
- Remove options in ${OPTIONS_NAME}_(UN)SET from NEW_OPTIONS list.
- Remove an intermediate sort.
- Add support for ${OPTIONS_NAME}_(UN)SET_FORCE.
Approved by: bapt
Add a new macro to allow a port to limit itself the maximum numbers of jobs allowed [2]
Submitted by: danfe (based on) [1]
pgj (base on) [2]
Reviewed by: bdrewery, miwi
Multiple exp-run: bapt
- Update devel/gettext to 0.18.3
- Fix known-broken (from exp-runs) ports
- Clean up a lot of cruft in the devel/gettext port itself,
based on work from tijl@
PR: 178883
Submitted by: ade
Sponsored by: Wadsworth 6X
a CNAME to codeload and has been communicated to me from github staff
as being the same. Despite this, it is currently returning errors.
With hat: portmgr