Commit graph

1620 commits

Author SHA1 Message Date
Mathieu Arnold
8c4206e8c3 A PLIST file is supposed to be self contained, reset owner/group/mode
after each.

Differential Revision:	https://reviews.freebsd.org/D25295
2020-06-25 12:37:30 +00:00
Mathieu Arnold
07bf3be580 Make sure rc files are owned by root:wheel with a sensible mode.
PR:		246158
Reported by:	Chad Jacob Milios
Differential Revision:	https://reviews.freebsd.org/D25295
2020-06-25 12:37:26 +00:00
Mathieu Arnold
c671212915 Add PATCH_CONTINUE_ON_FAIL to allow patching to go through all the
patches even if one fail.

This helps when upgrading ports with a large number of patches, like
www/chromium where having to fix one patch, re-do the patching, fix the
fallout, 800 times, is really painful.

This fixes the first attempt at this which would make ports with
multiple patches patching one file somewhat explode.
2020-05-14 14:33:34 +00:00
Baptiste Daroussin
86dce8416e Allow lua scripts in the framworks.
Bump the minimum required pkg version to a version that accepts
properly lua scripts

Lua script offers the advantages over shell scripts that they are
running in a capsicum sandbox and they are natively rootdir friendly

Reviewed by:		portmgr (mat)
Differential Revision:	https://reviews.freebsd.org/D21433
2020-04-29 14:01:05 +00:00
Matthias Andree
2fb1dcd59b bsd.port.mk: fix comment typo and excess full-stop in IGNORE (FLAVORS)
This is to fix a cacche type to ccache in a comment, and the double
full-stop on the console when trying to build an unsupported FLAVOR:
===>  py27-example-9.8.7 Unknown flavor 'py27', possible flavors: py37..

Approved by:	portmgr@ (bapt@, on reviews.f.o)
Differential Revision:	https://reviews.freebsd.org/D24588
2020-04-27 12:36:17 +00:00
Bryan Drewery
8c51006062 OVERLAYS: Include <overlay>/Mk/bsd.overlay.mk
Reviewed by:		portmgr (mat, bapt)
Differential Revision:	https://reviews.freebsd.org/D24506
2020-04-21 15:50:40 +00:00
Bryan Drewery
206aaccb73 Revert r532275 2020-04-21 15:49:46 +00:00
Bryan Drewery
f65a47b37f OVERLAYS: Include <overlay>/Mk/bsd.overlay.mk
Reviewed by:	portmgr (mat, bapt)
2020-04-21 15:48:36 +00:00
Mateusz Piotrowski
54357b34ab Fix install-missing-packages when port is missing multiple dependencies
The current implementation of install-missing-packages does not handle
correctly the situation when a port is missing multiple dependencies. pkg(8)
would only get the first missing origin as an argument. All the other origins
would be listed on new lines and would not be passed to pkg(8).

PR:		244215
Discussed with:	mat, tobik
Approved by:	portmgr (implicit, fix r525388)
Differential Revision:	https://reviews.freebsd.org/D23795
2020-03-31 08:31:14 +00:00
Mathieu Arnold
3fd3ed8d43 12.0 is not supported any more.
With hat:	portmgr
2020-03-02 12:43:43 +00:00
Michael Gmelin
54fa262641 Clarify description of OSREL/OSVERSION in bsd.ports.mk.
PR:		244120
Approved by:	portmgr (adamw)
2020-02-14 19:11:46 +00:00
Rene Ladan
7833dbba2d Mk/bsd.port.mk: sort VALID_CATEGORIES, no functional change
Submitted by:	rene
Approved by:	portmgr (swills)
Differential Revision:	https://reviews.freebsd.org/D23545
2020-02-06 21:32:53 +00:00
Mateusz Piotrowski
15d510f7ba Improve implementation of install-missing-packages
As suggested by mat@ in D23484, let's use a proper if statement here
instead of short-circuits operators. Also, arguments to echo should be
quoted and ECHO_CMD should be used instead of ECHO (see bsd.commands.mk for
details).

Reported by:	mat
Reviewed by:	mat
Approved by:	portmgr
Differential Revision:	https://reviews.freebsd.org/D23535
2020-02-06 16:43:52 +00:00
Mateusz Piotrowski
f42c5dfeb9 Fix install-missing-packages
r519284 introduced a new target, install-missing-packages, which is
meant to allow users to install dependencies via pkg(8) instead of
building them themselves locally.

The target was producing errors when the dependencies were already
available on the system. This commit adjusts this behavior to just
silently do nothing if everything is fine. Also, wrap the command
with SU_CMD for better user experience.

Also, fix some trailing whitespace introduced in the original commit.

Reviewed by:	bapt
Approved by:	portmgr
Differential Revision:	https://reviews.freebsd.org/D23484
2020-02-04 10:01:23 +00:00
Mathieu Arnold
3f7f362352 Making REWARNFILE overridable was an artefact from testing.
Fix that.
2020-01-20 19:27:49 +00:00
Baptiste Daroussin
003a571d1d Add LOCALBASE/share/man to the valid path for manpages
Also compress manpages in this location.

As a followup of a discussion which occured in 2017:
https://lists.freebsd.org/pipermail/freebsd-arch/2017-March/018115.html
And following:
https://svnweb.freebsd.org/base?view=revision&revision=315053
and
https://svnweb.freebsd.org/base?view=revision&revision=315142

All the supported FreeBSD version now supports share/man in manpath for
LOCALBASE As a result the ports tree can now accept it for manpage, but
more over migrate to this new path. Resulting in more consistency now the
manpages in base and ports would be in the relative path (under share/)
and a reduced amount of patching needed to port something to FreeBSD

Note1: this has already be done for GNU info pages earlier
Note2: due to the fact that for end user no functionnality will change during
the migration of the manpages to the new location and to avoid massive rebuild
of packages, it has been decided to not bump portrevision when migrating.

Reviewed by:	mat (portmgr)
Differential Revision:	https://reviews.freebsd.org/D23166
2020-01-15 12:06:13 +00:00
Steve Wills
0a82a7c091 Add QA warning about useless REINPLACE_CMD
Reviewed by:	mat, bdrewery, tobik
Approved by:	mat
Differential Revision:	https://reviews.freebsd.org/D22174
2020-01-09 13:01:45 +00:00
John Baldwin
dc4be4c458 Include the tool name for toolchain variables when using CROSS_TOOLCHAIN.
Previously variables such as AS, LD, etc. were only set to the path
but not the tool itself due to a typo.

Approved by:	portmgr (bapt)
Differential Revision:	https://reviews.freebsd.org/D22593
2019-12-20 01:14:23 +00:00
Lars Engels
c86f12f75f Add new Makefile target "install-missing-packages" to install missing dependencies from packages.
Approved by:	portmgr (bapt)
Differential Revision:	https://reviews.freebsd.org/D22551
2019-12-08 10:19:38 +00:00
Piotr Kubaj
95a1d26f49 Mk/bsd.port.mk: detect powerpc64 abi
We'll have a new abi on ppc64 soon (ELFv2) which is incompatible with the ELFv1 abi. We need to detect the abi on which we build stuff.

Submitted by:	mikael_urankar@gmail.com
Approved by:	portmgr (earlier version)
Differential Revision:	https://reviews.freebsd.org/D22039
2019-11-29 15:02:14 +00:00
John Baldwin
e4f098d6a0 Permit multiple packing list files to be listed in PLIST.
This permits a port to use separate packing lists for optional
components instead of depending on PLIST_SUB.

Approved by:	portmgr (bapt)
Differential Revision:	https://reviews.freebsd.org/D22450
2019-11-20 22:44:38 +00:00
Rene Ladan
ee06ec39ce Clean up support for FreeBSD 11.2.
While here, modernize some comments in Mk/bsd.*.mk.

Note that graphics/drm-fbsd11.2-kmod is not renamed yet, this was somewhat
under discussion.

Submitted by:	rene
Reviewed by:	antoine, jbeich, mat, zeising
Differential Revision:	https://reviews.freebsd.org/D21974
2019-11-07 16:30:12 +00:00
Rene Ladan
a0ee11c51d bsd.port.mk: update minimal supported version of FreeBSD to 11.3
Reviewed by:	mat (and others)
Approved by:	portmgr (implicit)
MFH:		2019Q4
Differential Revision:	https://reviews.freebsd.org/D21974
2019-11-05 21:08:12 +00:00
Niclas Zeising
5b67b34c82 Retire XORG_CAT
Retire XORG_CAT, it is not needed since all ports has moved to use
USES=xorg-cat.
Add a check to bsd.sanity.mk causing an error if any port happens to set it
in the future.

PR:		241694
Approved by:	portmgr (mat)
2019-11-04 18:08:20 +00:00
Rene Ladan
669ed30e87 Remove "palm" from VALID_CATEGORIES in bsd.port.mk after r516635
Reported by:	sunpoet
Approved by:	portmgr (implicit)
2019-11-04 12:33:05 +00:00
Piotr Kubaj
23cf3608ad Mk/bsd.port.mk: use GNU LD from ports on powerpc64 elfv2 when GNU LD is required
The reason is that on elfv2 systems we still have ld.bfd in base, but it's only used for 32-bit binaries (LLD currently doesn't support linking 32-bit PPC binaries).
ld.bfd from base supports only elfv1 and using it breaks linking many ports that set LLD_UNSAFE. Use Binutils from ports in such case.

PR:             239743
Submitted by:   jbeich
Approved by:    portmgr
Differential Revision:	https://reviews.freebsd.org/D21996
2019-10-12 20:49:35 +00:00
Baptiste Daroussin
0ed98fafae Remove the ipv6 virtual category
in 2019 the norm is for applications to support both v4 and v6 version of the ip
stack. Furthermore, the ipv6 category was clearly not consistently spread over
the ports tree defeating the goal of the category.
2019-10-09 12:28:26 +00:00
Tijl Coosemans
50d2c82e01 Let "make makesum" pass DISTFILES to "make fetch". For Linux ports "make
makesum" downloads distfiles for all supported architectures while "make
fetch" only downloads files for the build architecture.

Approved by:	portmgr (bapt)
2019-10-08 18:31:23 +00:00
Baptiste Daroussin
f6fd84cfb5 BINARY_WRAPPERS allow to push in front of the PATH wrappers for binaries.
This is useful when 2 tools do provide the same feature, but the configure
scripts do test for some variables which are not in one of the tool.

For example m4 in base is mostly compatible with GNU m4 when called with the -g
arguement. This wrapper allows to use it with build systems that do check for it
calling --version and expecting GNU in the arguments.

Reviewed by:	mat (final discussions on irc)
Differential Revision:	https://reviews.freebsd.org/D21835
2019-10-01 14:33:24 +00:00
Baptiste Daroussin
fba040e62b Reduce code duplication by calling fetch target
when converting the do-fetch target to proper scripting
we lost the ability to overwrite do-fetch when running make makesum.
as reported here: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=

Let's call again do-fetch directly instead of duplicating its content

PR:		215530
Reported by:	jbeich
Differential Revision:	https://reviews.freebsd.org/D21544
2019-09-29 04:15:47 +00:00
Adam Weinberger
7f5a1bfdf3 Fix string typos
Submitted by:	Rebecca Cran
2019-09-10 01:58:04 +00:00
Baptiste Daroussin
4b13af055f Avoid appending FLAVORS to PORTS_FEATURES multiple times
PR:		224158
Reported by:	yuri@
2019-09-05 13:45:38 +00:00
Baptiste Daroussin
56f344f8c9 Fix make deinstall-depends with pkg.
drop pkg itself from the list of deinstall-depends in order
to keep pkg around to be able to deinstall more ports.

PR:		204296
Reported by:	ian
2019-09-05 09:07:49 +00:00
Baptiste Daroussin
5a05e1d207 Fix documentation of the reinstall target 2019-09-04 12:23:18 +00:00
Baptiste Daroussin
b4b7cb1c9f Fix the reinstall target to make it follow a proper sequence
first deinstall then reinstall.

For now keep the DEPENDS_TARGET, which should probably die, but
let study that in a second step

PR:		224244
Submitted by:	Walter Schwarzenfeld <w.schwarzenfeld@utanet.at>
2019-09-04 12:01:19 +00:00
Baptiste Daroussin
7610a280b5 Add support for overlays
overlays are a way to help users to integrate their own ports tree
with the official ports tree without having to maintain clone of the
official tree and remerge on regular basis.

The ports tree will lookup in the overlays (in the order the are listed in
OVERLAY variable) for the dependencies and the USES. It will use the first
found.

in order to use it the user have to declare his overlays that way in their
make.conf:
OVERLAYS= overlay1 overlay2 overlay3

Reviewed by:	manu
Approved by:	swills
Differential Revision:	https://reviews.freebsd.org/D21468
2019-09-03 14:36:00 +00:00
Baptiste Daroussin
6a7ef0bf27 Now that bmake is the only supported make
Remove old fmake compatibility

Reviewed by:	mat
Differential Revision:	https://reviews.freebsd.org/D21432
2019-09-03 14:12:06 +00:00
Baptiste Daroussin
293e996eb6 Factorize if statements in fake-pkg 2019-08-27 09:01:43 +00:00
Niclas Zeising
9d1b627466 Change bsd.xorg.mk to USES=xorg and USES=xorg-cat
Change the handling of xorg dependencies to use the USES framework instead
of bsd.xorg.mk.  bsd.xorg.mk is split into two parts:
* USES=xorg for ports depending on xorg ports with USE_XORG
* USES=xorg-cat for xorg ports with XORG_CAT

USES=xorg is fairly straight forward.  The components needed are specified
with USE_XORG, and USES=xorg is needed to pull in this part of the
framework.

USES=xorg-cat requires that the category, previously specified with
XORG_CAT, now be passed as an argument to xorg-cat, like this
USES=xorg-cat:category.  Not specifying a category is an error.
Further, it is also possible to specify which build system to use.  The
default if nothing is specified is autoconf, but meson will also be supported.
This is added with a second argument: USES=xorg-cat:category[,buildsystem].

Detailed changelog:
* Add support in Uses/xorg-cat.mk to specify build system.  Previously, only
  autoconf was supported for xorg ports, but with this change, it's possible
  to use meson instead.  Autoconf is still the defaultx, if nothing else is
  specified.  The meson support is still disabled, and requires more testing.
* Add support in Uses/xorg-cat.mk to pull sources from freedesktop.org
  gitlab.
  When specifying USE_GITLAB in a port using xorg-cat, then various GL_*
  variables will be set up automatically, as well as needed changes to the
  build.
* Switch x11-drivers/xf86-video-intel to use the USE_GITLAB framework.
* While touching xf86-video-intel, switch to USES=xorg xorg-cat:driver, and
  pet portlint.
* Add compat shims and warnings to bsd.port.mk, which will handle the old
  style ports Makefiles.
* Change Uses/gl.mk and Uses/motif.mk to use this new framework.
* Change Uses/autoreconf.mk to check and add dependencies later.  This is
  needed because xorg-cat uses autoreconf, and without this fix
  dependencies were not added properly.
* Be stricter about checking for arguments in USE_XORG, previously, :build
  and :run were accepted, but not supported.  Only the default or :both
  supported.
* Change multimedia/gstreamer1-vaapi to handle the stricter argument
  checking in USE_XORG, and add USES=xorg
* change x11/xscope to get distinfo from xorg-cat, instead of rolling it's
  own, and add USES=xorg-cat

PR:		238988 (exp-run)
Reviewed by:	antoine, tcberner, tijl, mat, tobik
Approved by:	portmgr (antoine)
Obtained from:	FreeBSD Graphics Team development repo
		https://github.com/FreeBSDDesktop/freebsd-ports/tree/feature/usesxorg
Sponsored by:	B3 Init (zeising)
Differential Revision:	https://reviews.freebsd.org/D20724
2019-08-26 09:45:15 +00:00
Baptiste Daroussin
7d135651b2 Use keywords to simplify ldconfig code
PR:		239226
Reviewed by:	mat@
Differential Revision:	https://reviews.freebsd.org/D20951
2019-08-23 12:46:14 +00:00
Mathieu Arnold
55b249bab3 Add a QA check warning porters about non UCL pkg-message files.
Reviewed by:	adamw
Differential Revision:	https://reviews.freebsd.org/D21262
2019-08-19 12:18:21 +00:00
Koichiro Iwao
222e095f2a Implement new virtual category: net-vpn for VPN related ports
based on discussion at ports@ [1]. As VPN softwares are put in different
physical category net and security. This is a little bit confusing. Let's
give them new virtual category net-vpn.

[1] https://lists.freebsd.org/pipermail/freebsd-ports/2019-April/115915.html

PR:		239395
Submitted by:	myself
Approved by:	portmgr (mat)
Differential Revision:	https://reviews.freebsd.org/D21174
2019-08-14 03:26:09 +00:00
Tobias Kortkamp
b751249006 Mk/bsd.port.mk: Extend pre-check-config to check option group names too
Approved by:	portmgr (mat)
Differential Revision:	https://reviews.freebsd.org/D20426
2019-06-09 04:31:02 +00:00
Alex Kozlov
c23fc82315 - Remove obsolete (since r473503) USE_QT4/5 variable descriptions
PR:	238172
Approved by:	portmgr (rene)
2019-05-29 08:18:10 +00:00
Alex Kozlov
4fcb6520ab - Remove no-op (since r415842) NOFETCHFILES variable from the ports tree.
Approved by:	portmgr (mat)
2019-05-27 10:33:44 +00:00
Mathieu Arnold
a9c92b0801 Cleanup USE_GIT(HUB|LAB) a bit.
- Make USE_GIT(HUB|LAB) behave more responsibly with DISTNAME.
- Fix a small bug in the USE_GITLAB extra distfile naming.

Differential Revision:	https://reviews.freebsd.org/D20140
2019-05-03 13:58:27 +00:00
Piotr Kubaj
3a69880c81 Remove checks for ia64, this is not a supported architecture.
PR:		237104
Approved by:	portmgr
2019-04-23 17:52:38 +00:00
Sunpoet Po-Chuan Hsieh
7c4d62b13a Minor fixes
Differential Revision:	https://reviews.freebsd.org/D19360
Submitted by:	sunpoet (myself)
Approved by:	portmgr (bapt)
2019-02-26 18:54:42 +00:00
Dmitry Marakasov
14223135a0 Convert bsd.sdl.mk to Uses/sdl.mk
Frow now on, USES=sdl should be used to specify dependency on SDL
libraries.
USE_SDL is still required to specify components, specifying it
without USES=sdl is still supported, but deprecated, and leads to
a warning. USE_SDL=yes support was removed, and now leads to error,
USE_SDL=sdl should be used instead (all ports which still used
USE_SDL=yes were fixed). sdl.mk was simplified and modernized along
the way.

PR:		https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=235561
Approved by:	portmgr (mat)
Exp-run by:	antoine
Differential Revision:	https://reviews.freebsd.org/D19075
2019-02-11 15:21:25 +00:00
Mathieu Arnold
2c40989aa2 Make sure check-sanity runs when running make makesum, to catch up
errors early.  This will prevent errors introduced in r492127 from
happening again.
2019-02-06 12:15:11 +00:00
Koichiro Iwao
63e9eb8909 Mk/bsd.port.mk: fix grammar
PR:		232979
Submitted by:	Chris Petrik <christopherpetrik335@student.athenstech.edu>
Approved by:	portmgr (mat)
2019-02-05 09:06:05 +00:00
Rene Ladan
dd46c53cb6 Remove partial support for flavored DEPRECATED and EXPIRATION_DATE
Although nice in theory, all 19 ports that were using it had an "if FLAVOR"
block in them anyway and it broke support for various tools, such as rmport,
Freshports (possibly) and pkg notes.

This reverts r484598

Discussed with:	tcberner
2018-12-16 16:56:22 +00:00
Sunpoet Po-Chuan Hsieh
86e848ce5e Use consistent warning message for USE_GL, USE_GNOME, USE_MATE and USE_PHP
Differential Revision:	https://reviews.freebsd.org/D18399
Approved by:	portmgr (rene)
2018-12-03 20:03:02 +00:00
Baptiste Daroussin
7990f81066 Install texinfo files (GNU info) into ${PREFIX}/share/info
After a discussion on the mailing list on moving manpages to
${PREFIX}/share/man for consistency with base where it is
installed in usr/share/man, it appeared the same should happen
to GNU info files which were installed under share in base and
not in ports.

Now texinfo is not in base on any of the supported version of FreeBSD
it is possible to proceed to this move and it is easier to do than
the manpage change.

Other benefit than consistency are less patching: all build tools but
cmake are expecting info files to be under share/info and cmake (patched here)
was having an exception for BSD so the patch makes FreeBSD case less
specific for them

Bump revision of all impacted ports

PR:		232907
exp-run by:	antoine
Differential Revision:	https://reviews.freebsd.org/D17816
2018-11-10 18:12:57 +00:00
Tobias C. Berner
532b7359be Add Flavor helpers for DEPRECATED and EXPIRATION_DATE
If a port has multiple flavors and one needs to be deprecated,
one can now write

	qt4_DEPRECATED=		Qt4 has been EOL since december 2015
	qt4_EXPIRATION_DATE=	2019-03-15

to let users know that changes are coming.

Approved by:	portmgr (rene)
Differential Revision:	https://reviews.freebsd.org/D17740
2018-11-10 10:04:42 +00:00
Rene Ladan
cc6bea1430 Mark FreeBSD 10.4 as unsupported, it is end-of-life as of today.
Users who still rely on FreeBSD 10 should use tags/RELEASE_10_EOL
2018-11-01 10:24:15 +00:00
Rene Ladan
fa05b1d669 bsd.port.mk: remove obsolete PKGREQ variable [1] and modernize a comment about /var/db/pkg.
Differential Revision:	https://reviews.freebsd.org/D5 [1]
2018-10-21 12:02:35 +00:00
Rene Ladan
472e0e7b75 Drop support for FreeBSD 11.1 in bsd.port.mk, its support ended on 2018-09-30.
Submitted by:	jbeich
MFH:		2018Q4
2018-10-01 09:53:10 +00:00
Sunpoet Po-Chuan Hsieh
61c026c101 Update description of MANPREFIX
Differential Revision:	https://reviews.freebsd.org/D17260
Approved by:	portmgr (adamw)
2018-09-23 11:14:53 +00:00
Ed Maste
577a66f233 bsd.port.mk: remove unnecessary if defined() test
Approved by:	portmgr
2018-09-18 18:53:05 +00:00
Ed Maste
635e6cc2e3 Hoist LDFLAGS_${ARCH} logic into bsd.port.mk
Approved by:	portmgr (bapt)
Sponsored by:	The FreeBSD Foundation
2018-09-18 14:48:48 +00:00
Niclas Zeising
87e2a6b841 Change USE_GL to become USES=gl.
Change USE_GL to become USES=gl.  You still need to specify USE_GL as well,
to specify which gl components you need, such as egl glesv2 glut glu glw gl.
Only specifying USE_GL is supported for now, to ease in transition.  It is
however deprecated, and will be removed eventually.
Specifying USES=gl without USE_GL is an error.
USE_GL=yes is also deprecated, but supported for now.  It implies USE_GL=glu.

Fix fallout from this change.

PR:		230692
Approved by:	portmgr (antoine)
exp-run by:	antoine
Reviewed by:	mat
Differential Revision:	https://reviews.freebsd.org/D16774
2018-09-10 19:56:32 +00:00
Mathieu Arnold
d0b025ffaa Move sanity checks later.
Some USES set some variables that a porter may need to be aware and
set some variables too late for sanity checks to do a good job.
2018-09-10 13:41:21 +00:00
Mathieu Arnold
0ac9de909b Add a DEV_ERROR if PORTDOCS/PORTEXAMPLES are set and DOCS/EXAMPLES
options are not defined.

PR:		230864
Submitted by:	mat
exp-runs by:	antoine
Differential Revision:	https://reviews.freebsd.org/D13651
2018-09-10 13:16:24 +00:00
Mathieu Arnold
10f4bcf2b6 Add DEV_WARNING when misusing USES=mate/USES=gnome.
Differential Revision:	https://reviews.freebsd.org/D16828
2018-08-28 12:19:06 +00:00
Niclas Zeising
15dac70c75 Switch to xorgproto instead of individual packages
Upstream used to distribute protocol headers as separate packages, but has
decided to merge those to a common package, named xorgproto.  This update
tracks that change.

* Add a new port, x11/xorgproto, with are protocol headers for xorg.
* Hook the new protocol port to the build and to infrastructure in
  bsd.xorg.mk.
* Update all ports with a dependency on any of the old *proto packages to
  instead depend on xorgproto.  Bump portrevision.
* Delete the old *proto packages, update MOVED.

PR:		230023
Submitted by:	zeising
Approved by:	portmgr (antoine)
exp-run by:	antoine
2018-07-31 18:41:30 +00:00
John Baldwin
c6767fbfda Add support for amd64 and i386 to base/binutils and base/gcc.
- To support amd64, map amd64 to x86_64 when generating the --host argument
  to configure in bsd.port.mk and when generating --target arguments in port
  Makefiles.
- Add entries to the plists for i386 and amd64.  amd64 generally includes both
  amd64-specific entries as well as i386 entries.
- Don't include the builtin float.h for i386 and amd64.

Reviewed by:	bapt
Approved by:	portmgr (bapt)
Differential Revision:	https://reviews.freebsd.org/D16250
2018-07-26 22:25:19 +00:00
Mathieu Arnold
7256d8f2f7 Tell people who disabled LICENSE processing that it then cannot be
checked.

Reported by:	mfechner
Approved by:	bapt
Sponsored by:	Absolight
Differential Revision:	https://reviews.freebsd.org/D16450
2018-07-26 10:37:36 +00:00
Mathieu Arnold
f305cacf3a Add a license qa check to tell porters when their ports will be mostly
useless.

Reviewed by:	antoine
Sponsored by:	Absolight
Differential Revision:	https://reviews.freebsd.org/D16103
2018-07-18 11:13:06 +00:00
Mathieu Arnold
1ac9d4e91f Convert to readelf.
objdump is being removed from HEAD, make sure everything still works
when this happens.

PR:		229049
Reported by:	emaste
Sponsored by:	Absolight
Differential Revision:	https://reviews.freebsd.org/D15904
2018-06-30 08:37:33 +00:00
Mathieu Arnold
e55560c172 Keep --forward when using PATCH_DEBUG.
Otherwise, when used with BATCH defined so as to not be bothered by
config screen and all, it will almost silently reverse obsolete patches
and make you wonder why something is now broken.

Reviewed by:	sbruno
Sponsored by:	Absolight
Differential Revision:	https://reviews.freebsd.org/D15804
2018-06-29 10:02:12 +00:00
Tobias C. Berner
b1a1d38bf9 Replace bsd.qt.mk by Uses/qt.mk and Uses/qt-dist.mk
From now on, ports that depend on Qt4 will have to set
	USES=		qt:4
	USE_QT=		foo bar
ports depending on Qt5 will use
	USES=		qt:5
	USE_QT=		foo bar

PR:		229225
Exp-run by:	antoine
Reviewed by:	mat
Approved by:	portmgr (antoine)
Differential Revision:	→https://reviews.freebsd.org/D15540
2018-06-28 17:39:53 +00:00
John Baldwin
f4712360a8 Set OS versions to target system versions for CROSS_SYSROOT.
When cross-building a package via a CROSS_SYSROOT, set OSVERSION,
_OSRELEASE, and OSREL to the target OS version.  OSVERSION is derived
from the <sys/param.h> header in the sysroot.  _OSRELEASE cannot be
easily derived from a sysroot as it is a property of a kernel, so
instead generate a "fake" _OSRELEASE from the OSVERSION, but use a
"-CROSS" branch name that will hopefully fail in any places that make
assumptions about branch names.

Approved by:	portmgr (bapt)
Differential Revision:	https://reviews.freebsd.org/D15812
2018-06-20 17:42:35 +00:00
Mathieu Arnold
ec7204a548 Sort ONLY_FOR_ARCHS and NOT_FOR_ARCHS on display.
This is so that all IGNORE message end up looking the same, and grep'ing
and sorting them is easier.

Reported by:	linimon
Sponsored by:	Absolight
2018-06-20 15:15:23 +00:00
Tijl Coosemans
23e99b00ef Run "/usr/sbin/service ldconfig restart" for USE_LDCONFIG instead of
"ldconfig -m <path>" so the order of ldconfig search directories after
package installation is the same as after a reboot.  The original command
simply appends the path to the list of directories while the ldconfig rc.d
script uses "sort -u".

Bump lang/gcc* which are known to install libraries with exactly the same
name so the library loaded at runtime depends on the order of the search
directories.

PR:		228046
Approved by:	portmgr (antoine)
2018-05-14 19:15:36 +00:00
Baptiste Daroussin
f8fa2e1ba5 Remove LIBDIR from build env variable
This is leaking LIBDIR information (which is defined in base share/mk/*) to
the build environement with a value which is not really suitable for ports
(/usr/lib) which may have an impact on some build system forcing the maintainer
to override the value.

Revealed during the update of liblz4

PR:		228059
Submitted by:	bapt
Exp-run by:	antoine
2018-05-14 19:06:13 +00:00
John Baldwin
3708c41ab9 Add 32-bit mips support to base/binutils and base/gcc.
- When cross-building packages, set ARCH to the target arch instead of
  the arch of the build host.  This fixes bsd.ssp.mk on MIPS which was
  trying to enable SSP on MIPS cross-built packages because the host
  ARCH was amd64.  A new HOST_ARCH variable is added to set the
  --build triple for configure scripts, but I believe most other uses of
  ARCH in ports are really about the target, not the build host so this
  is the more correct general direction.
- Some updates to base/binutils and base/gcc to use ARCH as the target
  architecture.
- Drop the extra arguments to GCC to set include and library paths and
  only set --sysroot.
- Move the --sysroot flags into CC, CXX, CPP (which is now set to XCPP)
  and LD instead of passing it in CFLAGS, etc.  The base/gcc build uses
  ends up using the CFLAGS when building native binaries for the build
  host which fails when tripping over the --sysroot.  I think this might
  have accidentally worked before because the powerpc64 headers in
  /usr/include/machine were "close enough" to the amd64 headers, but with
  32-bit MIPS this failed hard.
- Add the GCC MIPS patch from devel/powerpc64-gcc to base/gcc to add
  MIPS support to base/gcc.
- Add a MIPS plist for base/binutils.
- Set helper variables for the base/gcc plist to tag architecture-specific
  headers (e.g. for intrinsincs) and use these to tag powerpc and MIPS
  specific headers.
- Drop the include-fixed headers from base/gcc.
- Strip /usr/local/include from the default list of include paths for
  base/gcc.
- Use libc++'s include path for C++ for base/gcc.

Reviewed by:	bapt
Approved by:	portmgr (bapt)
Differential Revision:	https://reviews.freebsd.org/D15267
2018-05-09 15:18:27 +00:00
Jan Beich
67a9073255 Drop FreeBSD 10.3 support
Reviewed by:	yuri (SoPlex), sunpoet (nghttp2), cpm (chromium), brooks (llvm*)
Approved by:	portmgr (rene)
Differential Revision:	https://reviews.freebsd.org/D15238
2018-05-07 22:29:46 +00:00
Mathieu Arnold
421b46b698 Add a warning about setting DISTNAME and USE_GITHUB=yes
Sponsored by:	Absolight
2018-05-03 09:16:30 +00:00
Mathieu Arnold
c27599182b Note that 10.3 is not supported any more.
Sponsored by:	Absolight
2018-05-02 15:00:41 +00:00
Jose Alonso Cardenas Marquez
5ab881a5d9 - Migrate Mk/bsd.fpc.mk to Mk/Uses/fpc.mk
- Convert all fpc-based ports to USES=fpc

PR:             227210
Reviewed by:    portmgr
Approved by:    portmgr
Exp-run by:     antoine
Differential Revision:  https://reviews.freebsd.org/D14617
2018-04-05 04:52:36 +00:00
Ed Maste
73ca9e7230 Use BINARY_ALIAS to make LLD_UNSAFE more widely applicable
Some ports do not honour $LD or -fuse-ld=bfd in $CFLAGS, but do invoke
ld via $PATH.   Automatically set BINARY_ALIAS+=ld=${LD} when LLD_UNSAFE
is active to use ld.bfd for these ports.

Approved by:	portmgr (antoine)
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D14876
2018-03-29 15:02:05 +00:00
Baptiste Daroussin
2276775a7e Remove last occurence of WANT_GNOME which was removed
monthes ago
2018-03-21 14:51:52 +00:00
Bryan Drewery
0a333cd5e8 Fix some recursive targets using the wrong FLAVOR.
Reported by:	Andrzej Tobola <ato@iem.pw.edu.pl>, koobs
Approved by:	portmgr (implicit)
2018-03-19 21:39:40 +00:00
Bryan Drewery
4fcbb452e8 Define CONFIG_SITE even without GNU_CONFIGURE as some ports still benefit from it.
Approved by:	portmgr (implicit)
2018-03-15 02:36:47 +00:00
Bryan Drewery
9823f56764 FLAVORS: Reorder so the default is first.
It is documented that the first FLAVOR is the default.  Due to some use
of DEFAULT_VERSIONS and USES, the default FLAVOR may be determined
dynamically.  Poudriere in particular expects the default to be first
and does the wrong thing for emacs ports currently [1].  This resolves
that and avoids other tools making the same mistake.

PR:		225659 comment #14
Approved by:	portmgr (implicit)
2018-03-12 19:04:59 +00:00
Bryan Drewery
30bc9e3223 FLAVORS: Fix several 'make *recursive' targets not passing along FLAVOR properly.
PR:		225659 comment #15
Approved by:	portmgr (implicit)
2018-03-12 18:19:29 +00:00
Bernard Spil
a80b8e64ed Mk/Uses/apache.mk: Migrate Mk/bsd.apache.mk to Uses
- Chase required changes in framework (bsd.sanity.mk, bsd.port.mk)
 - Chase required changes in ports (version checks)
 - Chase required changes in PHP ports (include bsd.apache.mk)
 - exp-run by antoine, brnrd, joneum

PR:             223691 (exp-run)
Reviewed by:    joneum (hat apache), mat (portmgr), antoine (portmgr)
Approved by:    joneum (hat apache)
Approved by:	portmgr
With hat:       apache
2018-03-11 14:23:28 +00:00
Richard Gallamore
8035da77dd * Add USE_GITLAB for fetching from www.gitlab.com and GitLab deployed sites.
Reviewed by:	mat
Approved by:	portmgr (mat)
Relnotes:	yes
Differential Revision:	https://reviews.freebsd.org/D12162
2018-03-03 06:50:15 +00:00
Bryan Drewery
ecec71a78a ports_env: Store list of variables to export in PORTS_ENV_VARS in mk files.
This will avoid renamed/removed variables being orphaned, and allows for
exporting variables in ports_env that are not wanted to be exported in
sub-makes via _EXPORTED_VARS.

Approved by:	portmgr (implicit)
2018-02-28 18:38:17 +00:00
Bryan Drewery
e5a42a8c3c Fix RANDOMIZE_MASTER_SITES.
- /usr/games/random moved to /usr/bin/random in 11.0+
- Need to explicitly add in the pipe '|'

Approved by:	portmgr (implicit)
2018-02-20 22:58:19 +00:00
Bryan Drewery
51fc1d5b8c Reduce fstat(2) calls for SCRIPTDIR/* scripts.
There's only about 10 ports that actually use this, so rather than
spamming a dozen fstat(2) calls for every port during INDEX reduce
it to 1 for now.

Also avoid the fstat(2) if the target already exists.

Approved by:	portmgr (implicit)
2018-02-20 22:45:24 +00:00
Bryan Drewery
eef0418ce0 Fix editors/vim-tiny hanging on reading stdin during generate-plist.
test -f "" is true so we need to only test if $PLIST is not empty.

Approved by:	portmgr (implicit)
2018-02-08 05:52:06 +00:00
Steve Wills
b52a2cbd82 Fix cross build of base/ ports
This is a follow up to r461057 and fixes base/binutils and base/gcc in my
testing.

PR:		224217
Submitted by:	nwhitehorn (partially, I made additional changes)
Reviewed by:	bapt
2018-02-06 14:32:52 +00:00
Steve Wills
592d8d2d7c Changes from BZ PR 224217 plus minor changes to fix base/gcc fetch 2018-02-06 14:26:41 +00:00
Joseph Mingrone
a3cc513bfc Flavorize and modernize Emacs ports
- Convert USE_EMACS to USES=emacs
- Remove editors/emacs-nox11 (refer to nox flavors of editors/emacs and
  editors/emacs-devel)
- Permit default Emacs flavor to be specified in make.conf
- Rename japanese/migemo-emacs23 to japanese/migemo-emacs
- Update and simplify audio/emms and fix build on FreeBSD 10 [1]
- Update databases/bbdd and fix build on FreeBSD 10 [1]
- Update editors/emacs-devel
- Ensure Makefile shell commands that change directory are executed in a
  subshell
- Silence some portlint warnings

[1] By not depending on base texinfo

PR:		225404
Reviewed by:	antoine
Approved by:	portmgr (mat) ashish (maintainer)
Differential Revision:	https://reviews.freebsd.org/D13506
2018-02-01 18:03:09 +00:00
Mathieu Arnold
f508975358 Don't run create-manifest as root.
PR:		224992
Submitted by:	tobik
Reported by:	yuri
Exp-run by:	antoine
Sponsored by:	Absolight
Differential Revision:	https://reviews.freebsd.org/D13798
2018-02-01 08:31:05 +00:00
Mathieu Arnold
1aecf7b366 Extract desktop-categories, check-desktop-entries, and install-desktop-entries into scripts.
PR:		225301
Exp-run by:	antoine
Reviewed by:	jilles, kevans
Sponsored by:	Absolight
Differential Revision:	https://reviews.freebsd.org/D11304
2018-01-28 08:25:06 +00:00
Mathieu Arnold
3bbc00468a Add support to passing directories to EXTRA_PATCHES.
Instead of:

  EXTRA_PATCHES=	${PATCHDIR}/feat-foo-patch-file.c \
			${PATCHDIR}/feat-foo-patch-file.h \
			${PATCHDIR}/feat-foo-patch-file2.c

Move those files to ${PATCHDIR}/feat-foo/, name them patch-*, and set:

  EXTRA_PATCHES=	${PATCHDIR}/feat-foo

Approved by:	bdrewery
Sponsored by:	Absolight
Differential Revision:	https://reviews.freebsd.org/D10855
2018-01-25 09:12:21 +00:00
Bryan Drewery
6339d61d4f Allow passing -DDEPENDS_SHOW_FLAVOR to list flavors for dependency lists.
Submitted by:	se (based on D13535)
With hat:	portmgr
2018-01-24 18:54:57 +00:00
Torsten Zuehlsdorff
2816b55780 add new stage-qa target: gemfiledeps
This checks whether rubygem based ports have all of their dependencies
in Gemfile(s) satisfied by what's currently installed. Sample output:

====> Running Q/A tests (stage-qa)
Warning: Dependencies defined in /usr/ports/www/gitlab/work/stage/usr/local/www/gitlab/Gemfile are not satisfied

These ports could (!) be broken at runtime. Be aware: some projects
defines multiple Gemfiles and not all are used at runtime. For example
www/gitlab has two Gemfiles, but only one is used for testing and warnings
about it can be ignored.

Approved by: portmgr (mat), lifanov
Differential Revision: https://reviews.freebsd.org/D11865
2018-01-22 16:35:23 +00:00
Tijl Coosemans
0821501cfa Retire USE_AUTOTOOLS and bsd.autotools.mk.
PR:		225170
Approved by:	portmgr (antoine)
2018-01-15 10:01:32 +00:00
Mathieu Arnold
f89aabecf9 Add another solution to the WRKSRC+USE_GITHUB warning.
Sponsored by:	Absolight
2018-01-12 12:59:00 +00:00
Mathieu Arnold
bb5196a149 Remove support for variables that have been deprecated for a while.
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
2018-01-09 07:40:55 +00:00
Bryan Drewery
3b4e6dfcc3 Fix flavor helpers when only bsd.port.pre.mk is not used and FLAVOR is not set.
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
2018-01-08 00:24:48 +00:00
Bryan Drewery
dc0000f87f Disallow forced FLAVOR as make argument.
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
2018-01-04 20:17:40 +00:00
Bryan Drewery
1811387546 Follow-up r458048: Properly trim FLAVOR from .MAKEOVERRIDES.
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
2018-01-04 20:06:21 +00:00
Bryan Drewery
e5b07eeb28 Pass FLAVOR in enviroment to avoid forcing an empty value in some cases.
Approved by:	portmgr (implicit)
MFH:		2018Q1
2018-01-04 19:37:24 +00:00
Bryan Drewery
0f12fc7d32 Stop truncating .MAKEOVERRIDES after the FLAVORS work.
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
2018-01-04 19:18:48 +00:00
Bryan Drewery
2c91ba6c3c Fix package-depends-list for FLAVORS.
Reported by:	dinoex
Approved by:	portmgr (implicit)
MFH:		2018Q1
2018-01-04 19:07:42 +00:00
Jan Beich
6191d576e5 bsd.port.mk: don't create a new variable just to check LLD
PR:		224760
Approved by:	portmgr (antoine)
2018-01-01 20:16:39 +00:00
Bryan Drewery
15714bc164 Fix 'make -j'.
- 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
2017-12-07 01:51:00 +00:00
Mathieu Arnold
e5eb98236d Add a warning to try and prevent people from mis-using USE_GITHUB.
Sponsored by:	Absolight
2017-12-06 11:55:15 +00:00
Mathieu Arnold
244209f68c Fix build-depends-list and run-depends-list.
Sponsored by:	Absolight
2017-12-01 12:11:58 +00:00
Mathieu Arnold
3d94ff12c5 11.0 is no longer supported.
Sponsored by:	Absolight
2017-12-01 11:54:35 +00:00
Mathieu Arnold
471896e0a8 Add various FLAVOR related helpers.
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
2017-11-30 15:33:46 +00:00
Mathieu Arnold
30c4ca5784 Generic FLAVORS work.
- 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
2017-11-30 15:33:29 +00:00
Mathieu Arnold
d45d670c33 Add a check for options names.
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
2017-11-02 15:16:31 +00:00
Bryan Drewery
e7718f19b1 FLAVORS: Fix 'make clean' not respecting passed in FLAVOR.
With hat:	portmgr
2017-10-20 17:07:23 +00:00
Jilles Tjoelker
0ae23b516e Make COPYTREE_* work with POSIX-compliant sh -c
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)
2017-10-15 15:30:20 +00:00
Guido Falsi
b1fac01e5e Retire WITHOUT_DEBUG flag.
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
2017-10-15 14:05:04 +00:00
Baptiste Daroussin
ec229aec83 Introduce the new BINARY_ALIAS variable
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
2017-10-11 19:03:24 +00:00
Bryan Drewery
cfc9bb0ea1 Disable FLAVORS support for now until we have real FLAVORS-using ports.
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
2017-09-29 23:37:16 +00:00
Mathieu Arnold
7b6015bee4 Fix post-clean.
Submitted by:	antoine
Sponsored by:	Absolight
2017-09-26 20:28:53 +00:00
Mathieu Arnold
e2e97eb2bc Implement basic flavors.
**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
2017-09-26 14:14:44 +00:00
Joseph Mingrone
212ed26ec9 Ensure .CURDIR contains an absolute path without a trailing slash.
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
2017-09-17 14:20:14 +00:00
Ed Maste
6c3b516b73 Add LLD_UNSAFE to force use of ld.bfd when ld is lld
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
2017-08-22 18:55:00 +00:00
Nikolai Lifanov
327751a539 add new stage-qa target: gemdeps
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
2017-08-07 19:09:41 +00:00
David Naylor
9920d3ae65 qa: add check for NO_ARCH
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
2017-06-18 18:09:16 +00:00
Tobias C. Berner
225919920d Add note, that WRKDIRPREFIX must not end in '/'.
PR:		199297
Approved by:	portmgr (mat)
Differential Revision:	https://reviews.freebsd.org/D11032
2017-06-14 20:18:38 +00:00
Mathieu Arnold
9de6aff58e Add a fixup-lib-pkgconfig target to move files in lib/pkgconfig into
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
2017-06-06 16:38:00 +00:00
Baptiste Daroussin
6ecabaebaa Fix issues with PACKAGES is set by a user with a ':' in the path
Reported by:	dim
Approved by:	portmgr (adamw)
Differential Revision:	https://reviews.freebsd.org/D10847
2017-05-25 19:13:37 +00:00
Matthew Rezny
e6acde078c Consolidate the Mesa ports, update to 17.0.4, and add Wayland option
* 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
2017-05-12 18:46:53 +00:00
Alex Kozlov
f37a53c2ba - Remove checks for .PARSEDIR and vestiges of pmake support
PR:	218832
Approved by:	portmgr (antoine)
2017-04-26 19:04:30 +00:00
Antoine Brodin
d6dba918f2 Use POSIX conformant expressions with grep(1)
PR:		218691
Submitted by:	Kyle Evans
With hat:	portmgr
2017-04-21 19:36:36 +00:00
Baptiste Daroussin
d8a738baa6 Refactor do-package aka subpackages step 2
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
2017-04-19 18:32:50 +00:00
Mathieu Arnold
09de5005d1 Remove something that I did not even know I had.
Sponsored by:	Absolight
2017-04-17 20:20:22 +00:00
Mathieu Arnold
a33cc87ee8 Remove @comment $FreeBSD$ from plists.
Whatever you do, things always get to creep back in the ports tree.

Sponsored by:	Absolight
2017-04-17 20:16:25 +00:00
Mathieu Arnold
e1f10ba6ff Mmm, some parts of the ports tree are doing strange things.
Pointy hat:	mat
Sponsored by:	Absolight
2017-04-11 15:54:31 +00:00
Mathieu Arnold
6d588589c2 Make defining both PORTVERSION and DISTVERSION a DEV_ERROR.
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
2017-04-11 15:21:23 +00:00
Dmitry Marakasov
2d5679d47f Use dedicated macro FMT_80 instead of ${FMT} 75 79 magical constants
Suggested by:	mat
Approved by:	portmgr (mat)
Differential Revision:	D10342
2017-04-11 14:22:41 +00:00
Dmitry Marakasov
112ef10adc - Make warning, dev warning, and dev error display consistent and more readable:
- Split all messages with a newline
  - Run all messages through fmt to fit them into 80 columns

Approved by:	portmgr (mat)
Differential Revision:	D9216
2017-04-10 14:22:36 +00:00
Baptiste Daroussin
4d700b17e8 Stop creating stubs targets calling /usr/bin/true
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
2017-04-09 15:35:37 +00:00
Baptiste Daroussin
f90173f09b Readd still called by poudriere
Approved by:	portmgr (implicit)
2017-04-09 10:58:26 +00:00
Baptiste Daroussin
d73f4c814a Gargabe collect install-mtree not used since pkg(8)
Approved by:	portmgr (mat)
2017-04-09 10:52:37 +00:00
Baptiste Daroussin
fcb05da597 Garbage collect TMPPLIST_SORT which is not needed anymore since pkg(8)
Approved by:	portmgr (mat)
Differential Revision:	https://reviews.freebsd.org/D10324
2017-04-09 10:26:23 +00:00
Baptiste Daroussin
147b603e32 Use native make(1) mechanism to create the package repository directory
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
2017-04-08 18:17:45 +00:00
Mathieu Arnold
0298eb88a1 Remove ALWAYS_KEEP_DISTFILES, it cannot find code where it was ever
used.

Sponsored by:	Absolight
2017-03-31 15:17:42 +00:00
Mathieu Arnold
6f7867981e Do not overwrite WRKSRC when USE_GITHUB=nodefault.
Sponsored by:	Absolight
Differential Revision:	https://reviews.freebsd.org/D10091
2017-03-29 13:11:26 +00:00
Mathieu Arnold
69cef69d30 COPYTREE_SHARE should also be using _SHAREMODE and not SHAREMODE.
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
2017-03-16 13:10:01 +00:00