variables deprecation revision
WITHOUT_NLS 2013-12-13 r336337
WITH_/WITHOUT_ 2014-02-24 r345870
NOPORT(DOC|EXAMPLE)S 2014-04-19 r351587
WITH_BDB_VER 2016-05-02 r414444
OVERRIDE_LINUX_BASE_PORT 2016-09-05 r421387
WITH_OPENSSL_(BASE|PORT) 2016-06-16 r416965
While there, add an ERROR variable that works like DEV_ERROR, but for
user facing errors, and move NOPORTDOCS,
NOPORTEXAMPLES and WITHOUT_NLS to it.
Cleanup bsd.sanity.mk a bit.
Fix fallout.
PR: 224613
Submitted by: mat
Exp-run by: antoine
Sponsored by: Absolight
Differential Revision: https://reviews.freebsd.org/D13490
The helpers were being evaluated before the default FLAVOR was set. The
helpers worked fine if the FLAVOR was specified by the user but not if
it was left to the default value. Resolve this by moving the helpers
right after the default FLAVOR is set.
PR: 224879
exp-run by: antoine
Approved by: portmgr (implicit)
MFH: 2018Q1
Differential Revision: https://reviews.freebsd.org/D13756
This otherwise prevents properly setting FLAVOR to the default internally
since it is in a separate namespace in bmake that is read-only.
Approved by: portmgr (implicit)
MFH: 2018Q1
The code I removed was wrong but it still achieved the proper effect of
removing FLAVOR from .MAKEOVERRIDES. This is still needed and now is
done properly without truncating away all of the other valuable variables.
Pointyhat to: bdrewery
Approved by: portmgr (implicit)
MFH: 2018Q1
There is no such variable as ${MAKEOVERRIDES}, only ${.MAKEOVERRIDES}, so this
code was simply truncating .MAKEOVERRIDES entirely which could cause performance
and other odd issues with OSREL and make recursion.
We don't want to leak FLAVOR to child sub-makes but that can be fixed later;
this code was not doing what it intended.
Approved by: portmgr (implicit)
MFH: 2018Q1
- 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
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
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
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
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
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
**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
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
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
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
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
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
* 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
Now each files generated are explicit targets depending on the files
This would allow to simply loop over a list of packages for subpackages to
create them.
Remove the code for transition from pkg_install to pkg packages
The latest symlink is now a specific target only defined when needed
Reviewed by: swills
Approved by: portmgr (swills)
Differential Revision: https://reviews.freebsd.org/D10323
There are two cases:
- The upstream versionning is compatible with our versionning, or using
DISTVERSION's magic leads to a compatible PORTVERSION, use
DISTVERSION. If it is possible to use DISTVERSIONPREFIX and
DISTVERSIONSUFFIX to make it compatible, use them.
- The upstream versionning is not compatible with our versionning, and
DISTVERSION's magic does not lead to a correct PORTVERSION, then set
PORTVERSION to the equivalent of our versionning, and set DISTNAME.
It is possible to use a third variable where you store upstream's
version and use it to compute PORTVERSION and/or DISTNAME, like the
dns/bind9* ports do.
Sponsored by: Absolight
It is not needed at all.
While here remove:
- the stub pre-everything:: declaration, let the framework define it if needed
- remove the stub describe target with NO_DESCRIBE is set. It is useless
- remove options-message it was only used by gnome and dropped a long time ago
- remove pre-distclean it was never used
Approved by: portmgr (mat)
Differential Revision: https://reviews.freebsd.org/D10326
In order to have subpackages we need in the end do-package to depend on
a target per package that would be created per subpackages
For this we need to decouple the content of do-package so it becomes
a target that only creates the packages.
As a first step use natural make(1) mechanism for a target: if checks first
for the existence of a file and it it does not exists that execute the content
of the target, in that case it creates the PKGREPOSITORY
Bonus it simplifies a bit the code.
While here to avoid testing multiple time for the PACKAGES directory set a
variable after we tested it the first time
PR: 216877
Approved by: portmgr (mat)
Reviewed by: mat
exp-run by: antoine
Differential Revision: https://reviews.freebsd.org/D9466
SHAREMODE defaults to 444, and gives us endless grief because one
cannot modify a file that is not writable.
So use _SHAREMODE that is 644, so that we can avoid all those CHMOD +w
in so many Makefiles.
Exp-run: antoine
Sponsored by: Absolight
Differential Revision: https://reviews.freebsd.org/D7623