installed kernel module. This would otherwise break comms/uarduno on amd64
when converting this port to USES=kmod.
PR: 189621 (in private followup)
Submitted by: Bob Frazier <bobf@mrp3.com>
MFH: 2014Q2
changes that Debian made to their libtool. The first command applies to
libtool versions 1.4 and up. The second command is somewhat more elaborate
but essentially it uses the sed hold space to move an "elif...fi" block
down. It applies to 2.x. Together these reduce overlinking to unpatched
.la files (from ports that don't have USES=libtool yet but also .la files
in the work directory).
The third and fourth command fix relinking. During staging libtool may
relink libA when it links to another library in the work directory libB.
The reason is that libA created during build phase has its runpath set to
the location of libB in the work directory. This allows running an
executable that links to libA from within the work directory. The relink
removes this extra runpath.
When libtool relinks libA it replaces "libB.la" on the linker command line
with "-L${STAGEDIR}${PREFIX}/lib -lB" with the intention to link to libB in
the stage directory but this -L flag isn't necessarily the first so another
libB may be linked instead. The two sed commands make relink the same as a
normal link. This means libtool will relink with libraries from the work
directory using a path similar to "../srcB/.libs/libB.so" without -L flags.
This applies to libtool 1.4 and up. Earlier versions don't seem to relink
libraries.
(This fixes ports like devel/apr1 so they link with freshly built libraries
instead of installed libraries.)
Fix all ports with missing libraries.
Additionally:
archivers/rpm4: USES=patchfix.
databases/gdbm: INSTALL_TARGET=install-strip.
devel/gnome-vfs: remove patch that doesn't change anything.
devel/ois: INSTALL_TARGET=install-strip and use standard USE_AUTOTOOLS.
devel/zziplib: INSTALL_TARGET=install-strip, MAKE_CMD.
multimedia/mjpegtools: remove USE_AUTOTOOLS, use modern compiler on i386
instead of disabling optimisations.
net/libnetdude: disable static plugins.
PR: 190941
Exp-run: antoine
Approved by: portmgr (antoine)
- Update Firefox ESR to 24.6.0
- Update libxul to 24.6.0
- Update NSS to 3.16.1
- Update NSPR to 4.10.6
- Update Thunderbird to 24.6.0
- Convert USE_BZIP2 to USES
- Backport ff31 fix against crashing DEBUG build on newegg.com [1]
- Add a note in UPDATING to not build audio/soundtouch with
INTEGER_SAMPLES [2]
- Use arc4random_buf(3) to generate UUIDs (version 4)
- Fix debugger detection used by Telemetry and the slow script dialog
- Add STAGE support [3]
PR: ports/189991 [1]
PR: ports/189217 [2]
PR: ports/189488 [2]
Submitted by: bapt [3]
Sumbitted by: Jan Beich
Security: http://www.vuxml.org/freebsd/888a0262-f0d9-11e3-ba0c-b4b52fce4ce8.html
Starting with perl 5.20, they're not installed any more if empty,
and on FreeBSD, they're (always ?) empty.
PR: 190681
Submitted by: mat
Exp-Run by: antoine
Sponsored by: Absolight
USE_PERL5=configure or USE_PERL5=modbuildtiny.
- Change perl5.mk to use a specific target and not abuse post-stage.
Reviewed by: bapt
With Hat: portmgr
Sponsored by: Absolight
To enable this for a particular port, add "cpe" to the USES list and
optionally define CPE_VENDOR, CPE_PRODUCT etc. if the defaults are not
correct (they should be in most cases).
Approved by: portmgr (bdrewery)
Add WANT_PGSQL=client support
Do not test WANT_PGSQL if it is not defined
Fix a couple of typos makeing it unusable
add WANT_PGSQL=lib (default it nothing is specified)
only depends on library if no WANT_PGSQL is set or lib is explicitly
added to WANT_PGSQL
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
- Update Firefox ESR to 24.5.0
- Update Thunderbird to 24.5.0
- Update NSS to 3.16
- Use port dependency for soundtouch library
- Require recent graphite2 version explicitly [1]
- Require gst-libav version that doesn't crash on seeking [2]
and doesn't error out on plugin load [3]
- Remove gstreamer note in pkg-message for www/firefox, [3] may still
happen with www/firefox-esr but only until it tracks esr31 (ca 2014-09-01)
- Fix USE_XPI in mail/thunderbird-i18n [4]
Security: http://www.vuxml.org/freebsd/985d4d6c-cfbd-11e3-a003-b4b52fce4ce8.html
PR: ports/187939 [1]
PR: ports/188133 [2]
PR: ports/181964 [3]
PR: ports/188984 [4]
Submitted by: Toomas Aas <toomas.aas@raad.tartu.ee> [1]
Submitted by: Jakub Lach <jakub_lach@mailplus.pl> [2]
Submitted by: Jan Beich [3] and this update!
Submitted by: Toni Ballesta <mustelator@yahoo.es> [4]
Approved by: portmgr (bdrewery, security update to non-staged port)
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)
Add support for matching additional pkgconfig libdir entries
that were found in Python's Makefile.pre.in.
It can also be used by other ports [1] by setting PATHFIX_MAKEFILEIN to the
appropriate filename in ${WRKSRC}.
If this file grows support for other pathfix'es beyond Makefile's and
autoconf sources, it may be worth renaming PATHFIX_MAKEFILEIN in future
to suit the broader scope.
[1] Examples: devel/ptlib, graphics/zathura (thanks antoine)
Reviewed by: antoine
Approved by: antoine (exp-run)
MFH: 2014Q2
Currently the Ada framework uses a single compiler based on gcc47.
Soon this compiler will be updated to the gcc49 base, but not all Ada
ports are currently happy about this.
This update to ada.mk induces the ARGS of "47" which causes the port to
use the newly-created lang/gcc47-aux port which is currently a clone
of lang/gcc-aux. When the latter is updated, the Ada Framework will
use it except for those ports that feature "USES+= ada:47"
version calls "gcc" in two places. Replace that with $CC.
- r346193 added -B${LOCALBASE}/bin in Uses/fortran.mk, just like
compiler.mk, but libtool doesn't recognise this flag and discards it.
Patch ltmain.sh so it passes the flag to the linker unmodified.
This only works on libtool 2.x for now, but that's good enough to fix
the PRs below and a linker error in math/octave on FreeBSD/i386 8.x.
(When those ports set USES=libtool.)
PR: ports/186946, ports/187000
Approved by: bapt
linking problems when base system cc/c++ is used to link object files
generated by gfortran. This affects FreeBSD/i386 8.x and all versions of
FreeBSD/ia64.
PR: ports/186946
By default, /usr/bin/tclsh and /usr/bin/wish will be substituted with ${TCLSH}
and ${WISH}, respectively. This only works when USES contains 'tcl' or 'tk'.
Approved by: portmgr (bapt)
USE_GCC=yes has been omitted though.
Remove USE_FORTRAN handling from bsd.port.mk and bsd.gcc.mk.
Minor cleanups in some ports like USE_GMAKE, NOPORTDOCS,...
Exp-run: bdrewery
Approved by: portmgr (bdrewery)
- In libtool 1.3 set deplibs_check_method=pass_all like it is in later
versions. This avoids checking every library with file(1) to see if
it's really a library and avoids some incorrect uses of expr(1)
("expr $var" instead of "expr -- $var" where $var can start with -l).
The parsing of file(1) output is also tested during configure on
/usr/lib/libc.so.* which doesn't exist so configure printed a big (but
harmless) warning.
Approved by: bapt
iconv extensions that the base system iconv doesn't support yet:
* wchar_t: port uses the special WCHAR_T character conversion.
* translit: port uses //TRANSLIT or //IGNORE conversion options.
Adding one or both of these arguments makes the port depend on
converters/libiconv for now.
- Allow installation of converters/libiconv on FreeBSD 10+.
- Use ICONV_CONFIGURE_ARG in devel/gettext instead of defining CPPFLAGS
and LDFLAGS to fix compilation with libiconv installed.
- Stage converters/libiconv and devel/gettext.
Approved by: bapt (on trust)
Unlike USE_AUTOTOOLS=libtool which makes a port use libtool from
devel/libtool, this just patches the copy of libtool included in the
port. This allows adding it to all ports that use libtool including
ports that build Fortran libraries and ports that use different
compilers or binutils than the ones used to build devel/libtool.
USES=libtool also changes the library naming specification similar
to what USE_GNOME=ltverhack does. Given the libtool version info
$current:$revision:$age and $major=$current-$age the library will be
named libname.so.$major.$age.$revision instead of libname.so.$current
and libname.so.$major becomes a symlink. Because $major increases
less frequently than $current this reduces the number of library
version bumps which means fewer rebuilds of dependent packages.
To ease the conversion from USE_AUTOTOOLS=libtool this naming spec
can be disabled with USES=libtool:oldver but the intention is that
all libtool ports eventually use the new naming.
Another change is that only libraries that are listed on the command
line will be linked into executables. Normally libtool would link in
the entire tree of library dependencies. This reduces the number of
direct dependencies on a given library which means fewer packages
need to be rebuilt on a library version bump.
Approved by: portmgr (bapt)
This allow to pass DESTDIR through configure --prefix to ports that are
not destdir aware
Obtained from: OpenBSD ports tree (discussed in Malta with Marc Espie)
of SSP_UNSAFE [1]
- take advantage of rmdir -p to remove nested instances of KMODDIR if
empty. Some ports have KMODDIR=dir1/dir2
Submitted by: antoine [1]
Approved by: portmgr (bapt)
New syntax:
# Depend on postgresql-client
USES= pgsql
# Depend on postgresql-client at least 9.2
USES= pgsql:9.2+
#Depend on postgresql-server at least 9.0
USES= pgsql:9.0+
WANT_PGSQL= server
Postgresql now supports DEFAULT_VERSIONS, and please note that the
version syntax now includes dots(!); i.e. before it was 90, now 9.0
Reviewed by: ade, silence from pgsql@
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@
Goal is to slowly port any lua software to lua 5.2 and then remove lua 5.1 along with bsd.lua.mk
Make version flexible and settable via DEFAULT_VERSIONS to prepare the futur days of lua
Mk/Uses/qmake.mk:
- Add support for out-of-source builds
- Add support for Qt 5 ports
- Respect WITH_DEBUG
Mk/bsd.qt.mk:
- Massive rework for Qt 5 ports
- Remove '-phonon' from global configure args, thus allow qt4-designer and
qt4-qtconfig to be built without Phonon support [1]
devel/qmake4:
- Improve mkspecs for gcc (mainly sync with linux version) and clang
devel/qt4-corelib:
- Convert to USES=iconv
- Remove ancient patch
devel/qt4-designer:
- Remove reference to WRKSRC from installed pkgconfig files [2]
- Don't build Qt Designer plugin for Phonon from outdated Qt sources.
Separate port for plugin will be committed later
devel/qt4-assistant-adp, devel/qt4-libqtassistantclient:
- Convert to USES=qmake
Clean up Qt4 ports:
- Update comments
- Update description; use common description
- Consistently use QT_INCDIR, QT_LIBDIR, etc.
- Use options helpers
- Convert to new LIB_DEPENDS syntax
- Update DESKTOP_ENTRIES to avoid conflicts with Qt 5 ports
- Rename/move several ports for unification with Qt 5 ports
PR: ports/184620 [1]
Reported by: Kevin Zheng <kevinz5000@gmail.com>
PR: ports/181141 [2]
Reported by: thierry
PR: ports/185101
Exp-run by: bdrewery
This is mostly solely avilla's work in area51, kudos to him! And a couple
commits from myself, so you know who's collecting pointyhats :)
If one day we are no adding a target actually correspond to an actual file, simply adding
the name of the target to the NOTPHONY will make it work as expected
The conversion is simple:
USE_OPENAL=yes -> USES=openal
USE_OPENAL=soft -> USES=openal:soft
USE_OPENAL=al alut -> USES=openal:al,alut
and so on
Approved by: portmgr (bapt)
silently within the ports (similar to extraction and patching phases).
Recently introduced Mk/Uses/kmod.mk does some grunt work for pkg-plist,
like @[un]exec /usr/sbin/kldxref ... stuff via ${ECHO_CMD}, which makes
build logs less neat. Mute them and MKDIR, remove an extra whitespace,
and wrap one overly long line.
Approved by: rene
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.
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
bsd.qt.mk:
- Deprecate QMAKEFLAGS, QMAKE_ARGS should be used instead
- define LRELEASE/LUPDATE commands for general use
Uses/qmake.mk:
- USES=qmake now implies build dependency on qmake
- Deprecate QMAKE_PRO (QMAKE_SOURCE_PATH should be used if required)
- move QMAKE_ARGS definition to bsd.qt.mk
It is intended to replace USE_DOS2UNIX
By default it convert all the source files
Use:
DOS2UNIX_FILES= <a list of files>
to convert files relative to ${WRKSRC} (globs allowed)
DOS2UNIX_REGEX= <a regex>
To convert files matching the regex (using find -R -iregex)
DOS2UNIX_GLOB= <a glob pattern>
To convert files matching the glob pattern (using find -name)
The deeply nested expression for .for loop cannot be completely evaluated at
the time of loop expansion because PKGBASE will be assigned much later.
Approved by: bapt
Simplify it a lot,
remove all not supported anymore web browsers,
Prepend private varible behind an underscore
Rename the gecko18, gecko19 target into a simple gecko target
If you are writing a plugin port please use this USES, and if this USES does fit your need please report it so we can improve.
This allows upgrading a kernel without breaking any installed kernel ports
because during the upgrade /boot/kernel is renamed to /boot/kernel.old ,
resulting in moved files.
While /boot/modules is the default, it might be overridden by bsd.own.mk to
/boot/kernel before kmod is included, so setting MODULES_WITH_WORLD has no
effect.
This gives 2 new variables to the porters:
ALT_COMPILER_TYPE which can be empty, clang or cc depending on what ${CC} is
ALT_COMPILER_VERSION which will give the porter a 2 digit version of the alternative compiler
Requested by: many