Some ports depend on permissive or broken behaviour from the GNU BFD
linker, ld.bfd. Clang and GCC support a -fuse-ld= flag to choose a
specific linker, and as we migrate to installing lld as the base system
/usr/bin/ld we'll want to make use of -fuse-ld=bfd to use bfd for ports
that fail to link, or fail to run when linked with lld.
An upstream libtool change[1] from Feb 2016 supports passing through
-fuse-ld=, but it has not yet made it into a release. Patch an
equivalent change into ltmain.sh via Mk/Uses/libtool.mk.
Original proposal just patched ltmain.sh in devel/libtool. That would
address ports that run libtoolize via autoreconf, including lang/mono
which is one of the ports that fails to link with lld and responsible
for many downstream skipped ports. Patching ltmain.sh via libtool.mk
(tijl's suggestion) handles that case as well as ports that include
their own copy of ltmain.sh.
A later change may patch devel/libtool so that -fuse-ld works if using a
ports-installed libtool to build software outside of the ports tree; the
change in this commit is intended to address building in the ports tree.
[1] http://git.savannah.gnu.org/cgit/libtool.git/commit/?id=f9970d99293faf908fdc153a653fa5781095fb7a
PR: 214864, 224514
Reviewed by: tijl
Approved by: portmgr (antoine)
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D13589
Currently, only python shebangs (e.g. /bin/python, /usr/local/bin/python,
/usr/bin/env python etc.) are reported by stage Q/A and fixed by
USES=shebangfix. We need to do the same for python[23] as well.
Before the problem was not noticeable since many ports had e.g.
USES=python:2, which added a dependency on python2 metaport, however
that's going to switch to USES=python:2.7, and neither it, nor more
widely used USES=python adds a dependency on metaports, so there's
very high probability that python[23] links are not available.
Approved by: portmgr (mat)
Differential Revision: https://reviews.freebsd.org/D13571
This allows to have more complex renaming schemes. Until now, it could
only add a prefix or a suffix, but this was not working at all for man
pages, because it would give man/man1/pyfoo.1.gz-2.7 or
man/man1/pyfoo-1-2.7.gz. With this change, a man page will be correctly
renamed to man/man1/pyfoo-2.7.1.gz.
Unfix ports that were already handling man pages.
PR: 220214
Submitted by: Fukang Chen (previous patch)
Exp-run by: antoine
Sponsored by: Absolight
Differential Revision: https://reviews.freebsd.org/D13444
- flang is only supported on amd64
- with default OPTIONS on amd64, R doesn't link against libflang
- in the case R is build with FLANG option, flang is already added as a
runtime dependency by USES=fortran:flang
With hat: portmgr
This would have given an error when:
- The port uses DIST_SUBDIR
- That sub-directory does not exist
- The current user does not have permission to write in DISTDIR.
Something like:
$ sudo rmdir /usr/ports/distfiles/gallery2
$ make fetch-urlall-list
mkdir: /usr/ports/distfiles/gallery2: Permission denied
*** Error code 1
PR: 222819
Reported by: sunpoet
Sponsored by: Absolight
Before this, it could have been set to the current flavor of the port
that may not have been related to Python at all.
This of course never came up during development because at that time,
the only flavors were the Python flavors.
Reported by: dbn
Sponsored by: Absolight
The requested version of python can be set via USES=python:version
This change allows to build most ports depending on devel/py-gobject3
with DEFAULT_VERSIONS=python=3.x
In the future, one of py3gobject3 or pygobject3 could be deprecated.
Before, it would only create the default symlink if the Python version
was the default Python version. Change that to if the Python flavor is
the default flavor.
PR: 224242
Sponsored by: Absolight
The issue becomes apparent when trying to build lang/php72-extensions
with sodium checked.
PR: 223811
Submitted by: Daniel Ylitalo <daniel@blodan.se>
Approved by: ale
- Pass MAKEFLAGS down into do-depends properly.
- Remove redundant dependencies, run-depends and lib-depends, from
targets that already depend on earlier targets that depend on
the needed targets.
Reported by: emaste
With hat: portmgr
There's a flaw in FLAVOR selection logic which makes python FLAVOR
default to py27 even with DEFAULT_VERSIONS=python=3.6. Fix this and
generate FLAVOR based on PYTHON_DEFAULT, PYTHON2_DEFAULT, PYTHON3_DEFAULT
(in that order) similar to how it's done in other parts of python.mk.
This does not affect FLAVOR in default setup (py27 remains), but
if python default version is modified, it will now properly affect FLAVOR.
Approved by: portmgr (antoine)
Differential Revision: D13326
has changed, so it still should work as well (or not) as before, but it's
essentially untested and if anyone needs an older version from the GCC 4.x
era, 4.9 is still available.
Ports using USE_PYTHON=distutils are now flavored. They will
automatically get flavors (py27, py34, py35, py36) depending on what
versions they support.
There is also a USE_PYTHON=flavors for ports that do not use distutils
but need FLAVORS to be set. A USE_PYTHON=noflavors can be set if
using distutils but flavors are not wanted.
A new USE_PYTHON=optsuffix that will add PYTHON_PKGNAMESUFFIX has been
added to cope with Python ports that did not have the Python
PKGNAMEPREFIX but are flavored.
USES=python now also exports a PY_FLAVOR variable that contains the
current python flavor. It can be used in dependency lines when the
port itself is not python flavored. For example, deskutils/calibre.
By default, all the flavors are generated. To only generate flavors
for the versions in PYTHON2_DEFAULT and PYTHON3_DEFAULT, define
BUILD_DEFAULT_PYTHON_FLAVORS in your make.conf.
In all the ports with Python dependencies, the *_DEPENDS entries MUST
end with the flavor so that the framework knows which to build/use.
This is done by appending '@${PY_FLAVOR}' after the origin (or
@${FLAVOR} if in a Python module with Python flavors, as the content
will be the same). For example:
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}six>0:devel/py-six@${PY_FLAVOR}
PR: 223071
Reviewed by: portmgr, python
Sponsored by: Absolight
Differential Revision: https://reviews.freebsd.org/D12464
To help with flavored ports, helpers are available. In these, replace <*>
with the flavor name.
*_PKGNAMEPREFIX *_PKGNAMESUFFIX *_PLIST *_DESCR will overwrite the variable.
*_CONFLICTS *_CONFLICTS_BUILD *_CONFLICTS_INSTALL *_PKG_DEPENDS
*_EXTRACT_DEPENDS *_PATCH_DEPENDS *_FETCH_DEPENDS *_BUILD_DEPENDS
*_LIB_DEPENDS *_RUN_DEPENDS *_TEST_DEPENDS will append to the variable.
Reviewed by: portmgr
Sponsored by: Absolight
Differential Revision: https://reviews.freebsd.org/D12483
- Enable FLAVORS.
- Make make describe flavors aware.
- Add a qa check for unique package names amongst flavors.
- Make MOVEDlint understand flavors.
- Add a bit of sanity check to make sure FLAVORS stay lowercase.
- Various fixes.
Reviewed by: portmgr
Sponsored by: Absolight
Differential Revision: https://reviews.freebsd.org/D12577
After r454995 build may fail if SSE2 is only enabled for C/C++ code as
simd crate expects SSE2 based on MACHINE_CPU.
PR: 223415 223300
Reported by: vvd@unislabs.com
This may help ports like textproc/ripgrep to run on old hardware.
Rust itself still requires SSE2 until bootstrap is regenerated.
PR: 223415
Approved by: rust (dumbbell)
- Rename USES=fortran:gcc to the more appropriate USES=fortran:gfortran.
- Change the options in math/R and math/libRmath so the choice becomes
flang or default instead of flang or gfortran. Use default Fortran
compiler again on amd64.
Some ports like graphics/povray-meta do funky things like add the same
option into PORT_OPTIONS twice. This also avoids a new leading blank
space in some cases.
With hat: portmgr
Notable changes:
- mcrypt module was removed
- sodium module was added
- sybase_ct artifacts removed
Also many PECL ports will not work with this version
since some files got renamed.
Reviewed by: mat, ale, Rainer Duffner <rainer@ultra-secure.de>
Differential Revision: https://reviews.freebsd.org/D12980
* update to 5.40.0
* unreleated cleanups:
- unify use of DISTVERSION
- remove created by line
PR: 223602
Exp-run by: antoine
Differential Revision: https://reviews.freebsd.org/D12966
If a port modifies OPTIONS_UNSET after including bsd.port.options.mk
then these values were wrong even though all of 'showconfig',
'pretty-print-config', and the package generated all had the expected
options.
Only Poudriere and synth use these variables for incremental build checks.
Reviewed by: sjg, bapt
Approved by: portmgr (bapt)
Differential Revision: https://reviews.freebsd.org/D13092
Not a MFH candidate due to POLA violation per redesigned UI, broken
legacy addons and auto-reviewed new addons.
Changes: https://www.mozilla.org/firefox/57.0/releasenotes/
PR: 222693
Tested by: pi, tobik, TrueOS
Currently, validation of JAVA_{VERSION,VENDOR,ERROR} does not constitute an
error and make(1) will happily continue, potentially doing the wrong thing.
Adjust the behavior as follows:
- Only validate each var if it's defined
- Remain verbose about what error exists and what's expected
- Fail the build if validation fails
bsd.java.mk exhibited this behavior up until r217132 inadvertently changed
it to be non-fatal.
PR: 220737
Approved by: portmgr (bdrewery)
* 222612: www/qt5-webkit: for armv6/v7: The cacheFlush support is missing on this platform
* 216816: devel/qt5: In arch.test, use CXXFLAGS from make environment
PR: 222612,216816, 223289
Exp-run by: antoine
Submitted by: mmel, mikael.urankar@gmail.com
Reported by: Mark Millard <markmi@dsl-only.net>, mmel
Reviewed by: mmel, mikael.urankar@gmail.com
Differential Revision: https://reviews.freebsd.org/D12816
They must be all uppercase, so that they do not conflict with flavors
that are lowercase.
Reviewed by: bapt
Sponsored by: Absolight
Differential Revision: https://reviews.freebsd.org/D12810
sip is installed as sip-${PYTHON_VER}
- py-qt*-demo: Fix packaging with python3, those ports have a python2 pkg-plist
so USE_PYTHON=py3kplist must be used to convert it
PR: 219641
USES=fuse:3 does add a dependency on version 3 of libfuse, which is not
compatible with version 2 (which remains default version for now). Both
versions can co-exist at build and run time.
Reviewed by: mat
Approved by: mat (portmgr)
Differential Revision: https://reviews.freebsd.org/D12694
flang is currently only available for amd64.
PR: 220313
Submitted by: yuri@rawbw.com
Reviewed by: db, jmd, mat, swills
Approved by: portmgr
Differential Revision: https://reviews.freebsd.org/D12529
old FreeBSD make (pmake) and there are no more users of it left in
the ports tree.
Differential Revision: https://reviews.freebsd.org/D12634
Approved by: portmgr (bapt)
Fix supported versions in USES=t[cl|k], remove last consumer (lang/fpc-tcl) and
bump PORTREVISION on two other ports that have had their dependencies or
default options changed (lang/smalltalk and x11-toolkits/ocaml-labltk)
Qt has been looking for its dependencies in PREFIX, rather than in
LOCALBASE. Dependencies are expected to exist in LOCALBASE, but
PREFIX may be set arbitrarily by the end-user. When PREFIX != LOCALBASE,
Qt-based ports failed to build.
PR: 222994
Reported by: kargl
Approved by: tcberner (kde)
Exp-run by: antoine
MFH: 2017Q4
Differential Revision: https://reviews.freebsd.org/D12666
The COPYTREE_BIN and COPYTREE_SHARE macros use constructs like
sh -c 'command' -- arg0 arg1
and assume that $0 will expand to arg0 and $1 will expand to arg1.
Our current sh implements it that way. However, POSIX specifies that $0 will
expand to -- and $1 will expand to arg0, since the command string is an
operand and not an option-argument. Bug #220587 requests making sh
POSIX-compliant in this regard.
If the argument after the command string does not start with '-', the
current sh behaves as required by POSIX. Therefore, adjust the macros so
this is always the case.
PR: 222870
Approved by: portmgr (antoine)
The flag has partial support across the tree, and the same effect
can be obtained by using ".undef WITH_DEBUG".
Reviewed by: mat, rene
Approved by: portmgr (rene)
Differential Revision: https://reviews.freebsd.org/D12548
cargo.mk is a little too eager in splitting a crate's name and version
in two when the version contains a dash (e.g. csv-1.0.0-beta.4) and
the wrong URL ends up being used in MASTER_SITES e.g.
.../csv-1.0.0/beta.4/download/...
instead of the correct one
.../csv/1.0.0-beta.4/download/...
Reviewed by: dumbbell
Differential Revision: https://reviews.freebsd.org/D12628
When defined it will create symlinks of some given binaries in a directory which
will be prepended to the PATH.
The syntax is the following:
BINARY_ALIAS= target1=source1 target2=source2
For example to have a "swig" binary in the path which will be pointing at
swig3.0 and a "sed" pointing at GNU sed: gsed
BINARY_ALIAS= swig=swig3.0 sed=gsed
Reviewed by: swills, adamw, mat
Approved by: swills (portmgr)
Differential Revision: https://reviews.freebsd.org/D12603
- linux- version cannot be updated due to lack of gtk3 package
- mirror -i18n distfiles locally until the langpacks are renamed
Changes: http://www.seamonkey-project.org/news
PR: 222464
Security: 5e0a038a-ca30-416d-a2f5-38cbf5e7df33
Security: 6cec1b0a-da15-467d-8691-1dea392d4c8d
Security: 555b244e-6b20-4546-851f-d8eb7d6c1ffa
Security: 1098a15b-b0f6-42b7-b5c7-8a8646e8be07
MFH: 2017Q4 (piling up until release)
part of USE_QT5, since all of those suggestions are wrong.
Approved by: rakuco (mentor), tcberner (mentor), portmgr (mat)
Differential Revision: https://reviews.freebsd.org/D12526
Having this enabled breaks Poudriere's ability to build py2 and py3 ports
together which FLAVORS aims to resolve. Once we have actual python
FLAVORS support ready to commit we can then enable this feature again.
With hat: portmgr
This is slightly early but due to recent PORTREVISION bump there's no
point doing QA for 55.0.* anymore.
Changes: https://www.mozilla.org/firefox/56.0/releasenotes/
PR: 221335
Security: 1098a15b-b0f6-42b7-b5c7-8a8646e8be07
MFH: 2017Q3 not possible: requires r447450 and r450556
**Do not start migrating any ports, a hook will prevent it**
This has been a long awaiting feature, most of the work has been done by
bapt, bdrewery and antoine, I am just the one actually doing the commit.
All this informations, and more to come are in the first link to our wiki
in the bottom block. A roadmap is in the second link.
To define a different flavors in a port, before any include, set:
FLAVORS= flavor1 flavor2 [...]
The first flavor in the list will be the default.
You can then check for flavors after includ'ing bsd.port.options.mk with:
.if ${FLAVOR} == flavor2
[some stuff]
.endif
To build flavor2, simply run:
make FLAVOR=flavor2
To depend on a specific flavor, write @<flavor> at the end of the depend
string, like:
RUN_DEPENDS= something:origin@foo
Submitted by: bapt, bdrewery, antoine
Reviewed by: portmgr
More infos: https://wiki.freebsd.org/Ports/FlavorsMigration
Todo List: https://wiki.freebsd.org/Ports/FlavorsAndSubPackages
With hat: portmgr
Differential Revision: https://reviews.freebsd.org/D10327
* Once upon a time, we checked all of STAGEDIR/PREFIX's executable
files.
* We then decided too many false positives were found, so we switched to
only checking executable files in bin/sbin/libexec/www, and also
symlinks that were in there.
* And then, we decided to go back to check all of STAGEDIR/PREFIX's
executable files, but forgot to remove the checks for symlinks (which
are now useless because we already check all the executable files.)
Reported by: lifanov
Sponsored by: Absolight
Use `mysql_config --version` instead of `mysql --version` because
in MySQL 8.0 the format of output is changed and it'd be [more reliable] and
easier to use just mysql_config because it only returns the numbers we want.
Reviewed by: brnrd, mat (mentor, portmgr)
Approved by: brnrd, mat (mentor, portmgr)
Sponsored by: EuroBSDCon Paris Devsummit
Differential Revision: https://reviews.freebsd.org/D12458
Cargo started to ship with Rust in 1.19.0_2. I forgot to indicate the
port revision in the 1.19.0_2 commit.
Reported by: jbeich@
Differential Revision: https://reviews.freebsd.org/D12460
Failed builds can occur when PORTSDIR is a symbolic link, or with
make -C /usr/ports/category/port/
PR: 221296
Reported by: yasu@utahime.org, rum1cro@yandex.ru
Reviewed by: bdrewery, sjg
Approved by: portmgr (bdrewery)
Differential Revision: https://reviews.freebsd.org/D11934
This port now provides Cargo. This is the recommended now because Cargo
won't be provided separately in the future.
To build Cargo, we set `extended = true` in `config.toml`. As a side
effect, this flag also installs Rust source code. The port has a new
`SOURCES` option (disabled by default) to keep those sources.
As a consequence of this, `devel/cargo` is removed. Several ports
and Makefiles in Mk were updated to depend on `lang/rust` instead of
`devel/cargo`.
The other big change in this patch is the use of the bundled crates,
instead of relying on Cargo's registry (which was part of the distfiles,
in order to allow offline builds). So now, we don't need to prepare the
registry when updating this port.
This has several other benefits:
* It fixes the build with sudo(8).
* It fixes the use of the ino-64 patch (it was not applied to the
registry, thus not used).
Compilation errors were fixed in the ino-64 patch.
Various `.cargo-checksum.json` files are updated after the sources are
patched (FBSD10_FIX, ino-64, and so on). This fixes builds which were
failing with errors such as:
error: the listed checksum of `.../rustc-1.19.0-src/src/vendor/lzma-sys/xz-5.2.3/build-aux/config.rpath` has changed:
expected: c8b4c017079da9dfb3086a0583e60ffe736184d89005dc5973f0bb0fd17c04bb
actual: 561b00eb30ecaef2c9da17bc195e7d2a7ea63facea38ea9849fbb0ed340bebba
PR: 221088
Reported by: joneum@, nwhitehorn@, romain@,
Ekaterina Vaartis <vaartis@cock.li>,
david@catwhisker.org,
fullermd@over-yonder.net,
rum1cro@yandex.ru,
w.schwarzenfeld@utanet.at
Differential Revision: https://reviews.freebsd.org/D11783
When this was added by r392084 on 2015-07-14, the default flavor of GCC
was GCC 4.8 and explicitly requesting GCC 5 (or later) was necessary for
C++ 14 support. Now that the default version of GCC is GCC 6, after GCC 5
for several months, we can use the preferred notion of USE_GCC=yes instead
of specifying a concrete minimum version.
Among others this helps with cases where GCC 6 is better adjusted for
FreeBSD, notably the well known std::to_string issue (where that is only
enabled with GCC 6 or later).
PR: 222268
Approved by: portmgr (antoine)
MFH: 2017Q3
PR: 221816
Reviewed by: lifanov (mentor), matthew (mentor), mat
Approved by: lifanov (mentor), matthew (mentor), mat
Differential Revision: https://reviews.freebsd.org/D12125
By default the compiler will find /usr/bin/ld for the linker. If a port
sets LLD_UNSAFE and /usr/bin/ld is ld.lld, then add -fuse-ld=bfd to
force the use of the binutils BFD linker (from the base system, if
available, or by setting USE_BINUTILS).
This change is based on an earlier, similar patch from bapt, with the
addition of the -fuse-ld flag.
PR: 214864
Reviewed by: bapt
Approved by: portmgr (bapt)
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D12064
Update the default Objective-C compiler.
Fix various build failures in GNUstep ports from newer versions of the GNUstep
core libraries and from changes to GNUstep Make.
Update various ports that use GNUstep and bump the portrevision of the ones
that haven't had a new release.
Upstream seems to define "default" as Nightly (custom build), not safe
to update automatically. Once we switched to proper channels updater
kicked in, except Mozilla never built binaries for FreeBSD. Not to
mention, vendor updates conflict with system package manager.
PR: 221541
MFH: 2017Q3
Qt WebEngine provides functionality for rendering regions of dynamic web
content. In other words, this is Chromium's Blink web engine and parts of
Chromium's content layer wrapped by Qt. Qt WebKit is deprecated upstream, and
WebEngine is the future.
This port has been in the works for a very long time, with contributions by
myself, tcberner, Adriaan de Groot and Marie Loise Nolden.
Since most of the port is just a large part of Chromium's code base, this means
sharing some of the pain www/chromium goes through by having to patch a ton of
files. We cannot share the exact same patches because this version of Qt
WebEngine is based on an older Chromium release.
I have verified that the port works, but it is possible that many things are
still wrong or missing, so bug reports are encouraged.
Reviewed by: Adriaan de Groot <groot@kde.org>, tcberner
Differential Revision: https://reviews.freebsd.org/D12063
Since r422306, we use a separate distinfo file for www/qt5-webkit because it is
no longer part of official Qt5 releases. However, we forgot to remove it from
QT_DIST in bsd.qt.mk, which means `make makesum' from other Qt5 ports was
trying to fetch qt5-webkit from the wrong location.
Reviewed by: tcberner
Ports like net/vmware-vsphere-cli use SHEBANG_FILES with globs like so:
SHEBANG_FILES= bin/* ...
As of FreeBSD 11.1-RELEASE sed has changed and errors if attempted on non-file
objects. In the case of the cited port there are many other files in the
bin/ directory which are symlinks for compatibility with old scripts.
This causes the port patching to fail.
PR: 221229
Differential Revision: https://reviews.freebsd.org/D11853
This checks whether rubygem ports have all of their dependencies
in gemspec satisfied by what's currently installed. Sample output:
====> Running Q/A tests (stage-qa)
Error: RubyGem dependency archive-tar-minitar = 0.5.2 is not satisfied.
*** Error code 1
Stop.
make: stopped in /usr/home/lifanov/src/svn/freebsd/ports/head/archivers/rubygem-fpm
These ports would be broken at runtime.
Big thanks to:
swills - discussion
mat - reviews
antoine - exp runs
sunpoet - fixing several dozens of ports :)
PR: 220605
Reviewed by: mat, sunpoet
Approved by: portmgr (mat)
Differential Revision: https://reviews.freebsd.org/D11841
This is the last release to support RUST=off. Later versions
remove non-Rust codepaths e.g., via encoding_rs.
Changes: https://www.mozilla.org/firefox/55.0/releasenotes/
PR: 216541 219963
Security: 555b244e-6b20-4546-851f-d8eb7d6c1ffa
MFH: 2017Q3
Marketing blurb [1]:
QtWayland is a Qt 5 module that wraps the functionality of Wayland.
QtWayland is separated into a client and server side. The client side
is the wayland platform plugin, and provides a way to run Qt applications
as Wayland clients. The server side is the QtCompositor API, and allows
users to write their own Wayland compositors.
This is mostly needed at the moment to make upstream KDE-CI happy, therefore
we don't wire it into the metaport devel/qt5.
It requires a little change to devel/qt5-qmake, as we needed to modify the
installed bsd.conf to know about wayland/egl.
Created together with Adriaan de Groot <groot@kde.org>.
Reviewed by: rakuco, groot_kde.org
Differential Revision: https://reviews.freebsd.org/D11744
With the current code, if you use ZI, it will not expand LOCAL/ZI. It
would have worked if you use ${MASTER_SITE_ZI} everywhere though. It'll
end up trying to fetch from, literally, LOCAL/zi/some-file.tgz.
Sponsored by: Absolight
Rework the adding of dependancies in Mk/bsd.gstreamer.mk.
Previous when using USE_GSTREAMER[1] it would just add the request modules to BUILD/RUN_DEPENDS. This caused the qa script to complain because the old code didn't implicit depend on the gstreamer1 and gstreamer1-plugins[-bad] ports for the libraries they carried, even if they where present via the plugins! The new code adds implicit depends on these ports so USE_GSTREAMER[1] using ports have all the libraries included.
* The mad mp3 plugin was removed, mpg123 plugin also provides mp3 decoding. Switch over ports that used the gstreamer1 mad plugin.
* gtksink plugin renamed -> gtk
* Hook up the sndio plugin into the framework
* Add some indirect dependacies where needed
* Reorder the plugin list in bsd.gstreamer.mk so only one plugin per line. When changing plugins it doesn't result in multiple lines being changed.
* Remove mentions in bsd.gstreamer.mk of plugins mentions that where removed.
* Depend on libunwind on i386/amd64, GStreamer links to it if it is present.
PR: 220753
Exp-run by: antoine@
Repeat after me: If you change IFS, it will break something unexpected.
The problem is that we use IFS to change read's field separator. This
has the side effect of changing how sh(1) splits all string, including
in command parsing functions.
In this case, unless quoted, the strings are always splitted using IFS.
So changing IFS will change how these strings are splitted, and you end
up having a headache. For example:
$ GID_FILES="foo bar"
$ set -x
$ echo $GID_FILES
+ echo foo bar
foo bar
$ IFS=:
$ GID_FILES="foo bar"
$ set -x
$ echo $GID_FILES
+ echo 'foo bar'
foo bar
In the first case, it runs echo with two arguments, first is foo, second is bar.
In the second case, it runs echo with one argument, 'foo bar'.
To fix this, restrict the time during which IFS changes to only one
command, set, and use positional parameters to extract values.
Reported by: feld
Sponsored by: Absolight
Differential Revision: https://reviews.freebsd.org/D11632
On x86 architectures when base compiler doesn't support C++14
USES=compiler prefers Clang. As only lang/gcc* provide C++14 library
outside of base some ports need to define USE_GCC. However, adding it
would require ugly bsd.port.options.mk conditionals thus FAVORITE_COMPILER
was used. As /stable/9 reached EOL we no longer need to support ancient
libstdc++ on x86.
Since ruby detects this if it's installed, and it's more often installed now
due to other deps, and ruby provides no way to not depend on it if it's found,
pull it in as a dependency unconditionally. While here, fix plist for ruby 2.4
with the CAPIDOCS option on, and restore the MAKE_JOBS_UNSAFE flag when using
that build option since it's not fixed like I thought it was.
PR: 219796
Reported by: Grzegorz Junka <list1@gjunka.com>
libdeclarative_qmlwebsockets.so is not installed into ${QT_LIBDIR}, which
causes the dependency logic in bsd.qt.mk to actually do something equivalent to
this instead:
BUILD_DEPENDS+= ${QT_LIBDIR}/${QT_QMLDIR}/QtWebSockets/libdeclarative_qmlwebsockets.so:www/qt5-websockets-qml
RUN_DEPENDS+= ${QT_LIBDIR}/${QT_QMLDIR}/QtWebSockets/libdeclarative_qmlwebsockets.so:www/qt5-websockets-qml
which translates into something like
/usr/local/lib/qt5//usr/local/lib/qt5/qml/QtWebSockets/libdeclarative_qmlwebsockets.so:www/qt5-websockets-qml
which obviously does not exist.
Instead of settin websockets-qml_LIB, set websockets-qml_PATH like we do for
other QML ports, so that our dependency logic does not needlessly prepend
${QT_LIBDIR} there. This fixes devel/qt5's build.
PR: 220045
This splits qt5-websockets into a qt5-websockets port containing the core parts,
and a qt5-websockets-qml port with the QML parts. The QML parts depend on Qt Quick,
so on the GUI parts (and hence X11) while the core parts do not.
PR: 220045
Submitted by: Adriaan de Groot <groot@kde.org>
- Update all ports that currently use a custom definition
- Also add a link to a list of certified copyfree licenses
Approved by: portmgr (mat)
Differential Revision: https://reviews.freebsd.org/D11487
* The MATE DE is now GTK+3 based
* mate-calc has come back.
* New USE_MATE=mixer macro
* Add license
* Review dependancies
* Swich to USES=localbase
* atril/eom options reworked into option helper
Thanks to Eric Turgeon for submitting the bulk of this MATE update.
Obtained from: gnome devel repo
Move `files.pythonhosted.org` mirror to the top
The mirror `pypi.python.org` soon will be replaced with the
new Warehouse [1][2], now it's only serving the old files
and its returning `404 - Not Found` to the new files hosted
[1] https://pypi.org
[2] https://github.com/pypa/warehouse
Approved by: garga (mentor), python (sunpoet)
Differential Revision: https://reviews.freebsd.org/D11420
Using ninja instead of make (1) can lead to significant speed ups while building.
Therefore switch from having the ninja generator opt-in to having it opt-out.
Previously cmake-ports that wanted to use ninja could set
CMAKE_NINJA=yes
now, ports that do not work with ninja can set
cmake:<existing args>,noninja
Note, that needing this should be an exception and most often points to a broken
cmake of the port.
The ports using cmake were modified
* removed USES=gmake, if ninja is used
* removed MAKE_ARGS, if ninja is used
* added the cmake-argument noninja if necessary
PR: 219629
PR: 213331
Exp-run by: antoine
Reviewed by: rakuco
Differential Revision: https://reviews.freebsd.org/D10748
* qtdiag outputs diagnostics on the current Qt installation and can be helpful to find issues.
* qtpluginfo is useful while writing plugins for Qt5/KDE Plasma
Reviewed by: rakuco, mat
Differential Revision: https://reviews.freebsd.org/D11280
If NO_ARCH is set then check that no FreeBSD elf(5) files are in $STAGEDIR.
If an elf(5) file is bundles as part of the package, but is not meant to be
run directly (i.e. the elf(5) file is a payload, and not compiled) then
those files can be added to NO_ARCH_IGNORE to avoid the check from failing,
Changes to ports:
- Ports that have NO_ARCH set, but actually compile files have had NO_ARCH
removed.
- Ports that have elf(5) payloads have had those files added to
NO_ARCH_IGNORE.
- R-cran ports that do not set USES=cran:compiles have NO_ARCH set,
PR: 218976
Reviewed by: antoine, mat
Approved by: portmgr
The port's own USES may note that is only supports certain versions. If it
is attempted to build an unsupported version there's no reason to even
try. Rather than giving a WARNING, actually mark it IGNORE.
Currently this should only impact devel/py3-enum34 which does not support
the default python3 version of 3.6.
With hat: portmgr
For example a option of the "boolean" type only accepts true/false this
option is covered by ${opt}_MESON_TRUE/_FALSE.
Add option helpers ${opt}_MESON_YES/_NO for the "combo" type which
accepts yes and no.
Approved by: portmgr@ (mat@)
Differential Revision: https://reviews.freebsd.org/D11078
libdata/pkgconfig.
Fix ports that where installing the file in the wrong place.
PR: 218067
Submitted by: mat
Exp-run by: antoine
Reviewed by: rene, antoine
Sponsored by: Absolight
Differential Revision: https://reviews.freebsd.org/D10129
gold linker from binutils 2.28 may produce duplicate library
symbols, which makes shared libraries created with it not usable
with conventional ld linker.
PR: 218187
Submitted by: amdmi3
A few important changes:
- '.' is no longer in @INC.
- "do" now gives a deprecation warning when it fails to load a file
which it would have loaded had "." been in @INC.
- In regular expression patterns, a literal left brace "{" should be
escaped.
Changes: https://metacpan.org/pod/release/XSAWYERX/perl-5.26.0/pod/perldelta.pod
Sponsored by: Absolight
- Add 102m client and library version
- Add dynamic libmysqlclient dependency (libmariadb)
- Make WARNING and IGNORE messages display the correct port
Reviewed by: mmokhi
Differential Revision: https://reviews.freebsd.org/D10057
it will handle the dependencies on groff by using groff from ports if not
available in base
Reviewed by: swills
Approved by: swills
Differential Revision: https://reviews.freebsd.org/D9084
KDE has moved distfiles for applications 16.12.3 to Attic/ on their mirros.
Reported by: Matthias Apitz <guru@unixarea.de>
Reviewed by: rakuco
Approved by: rakuco (mentor, implicit)
Differential Revision: https://reviews.freebsd.org/D10830
makes ports build by meson respect the current policy regarding pkg-config
files. I picked this solution over hacking meson itself, and potential
breaking more.
Bump graphics/graphene due to this change.
Obtained from: Code copied from ports/218067 by mat@
USES=mono: minor fixes
- save a copy of the nuget package in the packages directory
- force linking of directories, allowing nuget-extract to be rerun
without `make clean`
- fix makenuget: nuget requires an equals to identify the version, not a dash
devel/monodevelop: update to 6.2.1.3
- update nuget packages:
- link older System.Collection.Immutable 1.1.37 to newer 1.3.1 (used
by C# and F# respectively)
- update external github repositories
- allow post-extract target to be run multiple times
- change MonoDevelop.Packaging to use a newer version of
NuGet.Build.Packaging (the older version is no longer fetchable)
- remove patch integrated upstream
- moved `nuget restore` patching from post-patch into a patch file (the
former broke silently)
- ChangeLog:
- https://developer.xamarin.com/releases/studio/xamarin.studio_6.2/xamarin.studio_6.2/
irc/smartirc4net: update to 1.1
- add LICENSE
lang/fsharp: update to 4.1.18
- add test dependency on libgdiplus
- update nuget packages
- update test paths for fsharp assemblies
- update patches to prevent `nuget restore` from running
- ChangeLog:
- Set executable bit correctly on output
- Integrate visualfsharp
- Fix regression on binding redirects for System.Collections.Immutable
- Fix regression in Microsoft.Build.FSharp.targets
- Fix binding redirects for System.Collections.Immutable
- Fix version of library going in %PREFIX/lib/mono/fsharp
- Align fsc task and target file
- Use install layout that includes mono/fsharp
- Fix F# Intereactive on Mono 4.9+
- Update compiler tools
- Updates to FSharp.Core nuget package for F# 4.1
- Fix#656: error FS0193: internal error: No access to the given key
lang/mono: various fixes
- fix linking with lld [1]
- double maximum handle size [2]
- add option to run acceptance tests
- allow for optional bootstrapping of mono via either installed mcs (if
available) or via downloaded "monolite" (default)
- add python and py-pillow as dependencies for bin/mono-heapviz
- add armv6 as a supported architecture (untested)
- switch to github for source code:
- official tarball does not include tests
- patches:
- recognise FreeBSD for AOT suffix
- change mono-heapviz to use pillow instead of PIL
multimedia/banshee: tell portscout to ignore this port
- Portscout was not skipping the 2.9.1 version, and upstream appears to be
quiet for the last few years.
x11-toolkits/gtk-sharp20: update to 2.12.43
- ChangeLog:
- fix compilation on mono-4.8.0 (incorrect use of sizeof())
- correctly set owned=true on custom constructors
PR: 218885 [1]
PR: 200937 [2]
* libGL, libEGL, libglesv2, libglapi, and gbm have been moved into mesa-libs,
graphics/dri has been renamed to mesa-dri, and USE_GL has been adjusted
* mesa-libs has a new WAYLAND option that enables platform support in libEGL
* mesa-dri now depends on graphics/s2tc for compressed texture support [1]
* re-remove obsolete dependency on makedepends [2]
* correct sed fix backported from 17.1 [3]
PR: 218799 (exp-run), 212762 [1], 218552 [2], 218562 [3]
Submitted by: dbn [1], jbeich [2,3]
Reported by: afiskon@devzen.ru [1]
Reviewed by: kwm, johalun0@gmail.com
Approved by: portmgr, swills (mentor)
Differential Revision: https://reviews.freebsd.org/D10448