Commit Graph

5291 Commits

Author SHA1 Message Date
Bryan Drewery
929dfd6e18 Revert r399921 for now due to fallout with libclc using ninja. 2015-10-21 21:49:46 +00:00
Bryan Drewery
e189ed624b Enable verbose (compiler output) builds for autotools builds when package
building as these commands can be critical for debugging build failures.

Discussed with:	bapt, kwm
With hat:	portmgr
2015-10-21 14:43:29 +00:00
Mathieu Arnold
c8d9fd9b16 PLIST_SUB entries need paths relative to PREFIX.
With hat:	portmgr
Sponsored by:	Absolight
2015-10-21 14:16:36 +00:00
Bryan Drewery
84cb5553e9 Rework change in r399791 for default perl to not execute it on 'make clean'
if perl is not installed.

With hat:	portmgr
2015-10-20 20:26:59 +00:00
Bryan Drewery
25992a0b05 Roll all of the commands into a loop and use the same patterns for every lang.
- /usr/bin/CMD
 - /bin/CMD
 - /usr/bin/env CMD

With hat:	portmgr
Reviewed by:	bapt, amdmi3
Differential Revision:	https://reviews.freebsd.org/D3942
2015-10-20 15:36:56 +00:00
Bryan Drewery
95e25b27ad Avoid redundantly looking up python command executions for dependency calculation.
This gets all-depends-list in x11/kde4 down to 30 seconds after the 52->41
second improvement in r399703.

With hat:	portmgr
2015-10-19 21:10:56 +00:00
Bryan Drewery
ef91c74363 Avoid redundantly looking up perl version when looking up dependencies or in sub-makes.
With hat:	portmgr
2015-10-19 20:53:15 +00:00
Bryan Drewery
278dd71cd6 - Combine clean-depends-list.sh into depends-list.sh
- Refactor how depends-list.sh is called from bsd.port.mk for each variant.

With hat:	portmgr
2015-10-19 19:23:53 +00:00
Bryan Drewery
670c3111ae The command environment from r399703 is only needed if recursing.
With hat:	portmgr
2015-10-19 18:41:01 +00:00
Bryan Drewery
d40cc1cce4 Fix test-depends after r399703.
With hat:	portmgr
2015-10-19 18:37:06 +00:00
Bryan Drewery
92b545ba81 When listing dependencies, export the common command execution results.
In some basic benchmarks this sped up 'all-depends-list' about 20%.  x11/kde4
went from 52 seconds to 41 seconds.  More improvement is expected once
more command executions are cached in the 'export_ports_env' function.

With hat:	portmgr
2015-10-19 18:01:56 +00:00
Bryan Drewery
34da0bbb9e Add some work-in-progress scripts for splitting symbols out into PREFIX/lib/debug.
This is only missing the bsd.port.mk pieces to hook it up fully.  A blocker
for hooking that up has been sub-packages, even though some implementation
could be made without them.  For now just commit what I have so it is not
forgotten.

Obtained from:	OneFS
Sponsored by:	EMC / Isilon Storage Division
With hat:	portmgr
2015-10-19 17:04:33 +00:00
Bryan Drewery
16f2336cda Switch strip test to using readelf(1) instead of file(1) to identify symbols.
This has been slightly faster in my tests since readelf(1) will fail on the
file much quicker if it doesn't find the ELF headers.  This also more directly
finds the symbol table.

With hat:	portmgr
2015-10-19 16:59:49 +00:00
Steve Wills
dfdb719e6a Make OpenJDK 1.8 the default 2015-10-19 16:14:29 +00:00
Dmitry Marakasov
67971bd0fb Improve shebangfix framework
- Support multiple values in *_OLD_CMD, i.e. we can now fix both "/usr/bin/python" and "/usr/bin/env python" at the same time
- Default *_OLD_CMD values are now always appended, so you don't need to specify them in individual ports
- Add lua support (depends on USES=lua)
- Add more default values, such as "/usr/bin/env foo" for python, perl, bash, ruby and lua
- Shebangfix now matches whole words, e.g. we will no longer (erroneously) replace "/usr/bin/perl5.005" with "${perl_CMD}5.005" (but "/usr/bin/perl -tt" is still (correctly) replaced with "${perl_CMD} -tt")

Note that *_OLD_CMD items containing spaces must now be quoted (e.g. perl_OLD_CMD=/bin/perl /usr/bin/perl "/usr/bin/env perl")

Update shebangfix usage according to new rules in many ports:

- Remove *_OLD_CMD for patterns now replaced by default
- Quote custom *_OLD_CMD which contain spaces

Fix shebangfix usage in many ports (irrelevant to infrastructure change):

- Remove redundant SHEBANG_LANG (no need to duplicate default langs)
- Remove redundant *_CMD (such as python_CMD=${LOCALBASE}/bin/python${PYTHON_VER} when USES=python is present)
- Never use *_OLD_CMD in REINPLACE_CMD matchers, these should always look for exact string

Approved by:	portmgr (bapt)
Differential Revision:	D3756
2015-10-19 14:50:52 +00:00
Mathieu Arnold
7f0f664d7e Drop 8 support.
With hat:	portmgr
Sponsored by:	Absolight
Differential Revision:	https://reviews.freebsd.org/D3694
2015-10-15 14:55:14 +00:00
Baptiste Daroussin
8cea2b0147 Readd PORTSDIR for now we will only start removing them after 2016Q1 is branched
This gives more time for tools to get updated, available in packages etc before
bothering users
2015-10-15 07:36:38 +00:00
Baptiste Daroussin
9b1ed98e60 Temporary readd ${PORTSDIR} to perl5 deps as somewhow they are triggering
an issue with sanify check in poudriere that needs to be fixed first

Reported by:	adamw
2015-10-14 20:44:34 +00:00
Baptiste Daroussin
869e1f27d0 Drop the necessity to add ${PORTSDIR} to dependency line
Modify make describe to automatically prepend ${PORTSDIR} if the path for the
port is not absolute

Checked with poudriere, portmaster, portupgrade

PR:		203685
Exp-run by:	antoine
Differential Revision:	https://reviews.freebsd.org/D3866
2015-10-14 16:49:35 +00:00
Koop Mast
1742c4fbee Xorg-server update to 1.17.2 with related driver updates and bumps.
Update fontproto to 2.1.3.
Update libXfont to 1.5.1.
Update xf86-input-keyboard 1.8.1.
Update xf86-input-vmmouse to 13.1.0.
Update xf86-input-void to 1.4.1.
Update xf86-video-chips to 1.2.6.
Update xf86-video-cirrus to 1.5.3.
Update xf86-video-mach64 to 6.9.5.
Update xf86-video-neomagic to 1.2.9.
Update xf86-video-r128 to 6.10.0.
Update xf86-video-s3virge to 1.10.7.
Update xf86-video-savage to 2.3.8.
Update xf86-video-siliconmotion to 1.7.8.
Update xf86-video-sis to 0.10.8.
Update xf86-video-trident to 1.3.7.
Update xf86-video-vesa to 2.3.4.

* All other xf86-* drivers where bump and/or patched to allow them to
  compile and work with the new xorg-server.
* The ATI-ums driver is removed because the API it depends on was
  removed from the xorg-server.
* Add patch to sunffb to make the lack of XAA non-fatal
  (not build/run tested due to lack of hardware).
* Remove the extra patches in xorg-server for arm. The code seems to
  support it now natively. Please file a bug if this is not the case.
* Update the xorg-server support in virtualbox-ose-additions for vboxmouse. [1]

Submitted by:	jkim@ [1]
Obtained from:	Graphics devel repo
2015-10-13 07:45:08 +00:00
Bryan Drewery
481f66bd21 Follow-up r399170 with a script, ports_env.sh, that can be used for the purpose.
This will allow Poudriere to know if it is possible to use the feature or not
by the existence of the file.

Also fix quoting issues.

With hat:	portmgr
2015-10-13 00:03:10 +00:00
Bryan Drewery
6221392fff Add a function to export vars that bsd.port.mk generates from fork/exec.
This will be useful in Poudriere to avoid needless fork/exec for every
port when gathering dependencies.

Example usage:

  MAKE=make sh -c '. Mk/Scripts/functions.sh; export_index_env; export PACKAGE_BUILDING=1; truss -f make -C sysutils/zfstools -V BUILD_DEPENDS 2>&1' | grep exec

This eliminates 14 exec/fork calls for this example, when PACKAGE_BUILDING
is also set during -V.

Care should be taken with UID not being passed down into actual builds as it
may conflict with non-root builds.

With hat:	portmgr
2015-10-12 23:41:36 +00:00
Bryan Drewery
45535ed69c Don't check for minimal Pkg version for package building.
Package building always builds Pkg first.  If someone downgrades their
pkg locally this change will hurt them, but then they are already
running an unsupported configuration.

With hat:	portmgr
2015-10-12 23:22:20 +00:00
Bryan Drewery
16162f77dd Name the 'uname -r' variable the same as the bsd.port.subdir.mk version, _OSRELEASE.
This will allow passing in the environment consistently from calling script
to avoid looking it up if.

With hat:	portmgr
2015-10-12 22:44:19 +00:00
Bryan Drewery
2dbe9690e1 Apply export handling fixes from bsd.port.mk.
- r399153: Use :Q.
 - r399155: Use a loop to export vars

With hat:	portmgr
2015-10-12 22:42:57 +00:00
Bryan Drewery
5dc6e4f3f3 Export more sysctl(8) vars.
LINUX_OSRELEASE, _SMP_CPUS (used as default MAKE_JOBS), CONFIGURE_MAX_CMD_LEN.

With hat:	portmgr
2015-10-12 22:41:34 +00:00
Bryan Drewery
c04897eb8c Remove debugging leftover from r399160.
With hat:	portmgr
2015-10-12 22:30:01 +00:00
Bryan Drewery
c46779db54 Export HAVE_COMPAT_IA32_KERN to sub-makes and ensure it is not exported if empty.
With hat:	portmgr
2015-10-12 22:28:15 +00:00
Bryan Drewery
1c65a7751e Move the exported variable assignments to where they are looked-up.
This is so we are less likely to carry around old vars that are no longer
needed and to keep logic more coupled.

With hat:	portmgr
2015-10-12 22:19:35 +00:00
Bryan Drewery
fe77fdc73b Spell 'OSREL' properly from r399155.
With hat:	portmgr
2015-10-12 22:17:09 +00:00
Bryan Drewery
6d9ce0831c Don't check for minimal pkg version in sub-makes.
With hat:	portmgr
2015-10-12 22:14:45 +00:00
Bryan Drewery
863afee20a Pass result of 'uname -r' to sub-makes to avoid unneeded lookup.
With hat:	portmgr
2015-10-12 22:13:21 +00:00
Bryan Drewery
4ad83bd568 Use a loop to export vars.
This also fixes adding duplicates to .MAKEFLAGS with fmake, which was a
bug present before recent changes.

With hat:	portmgr
2015-10-12 22:09:47 +00:00
Bryan Drewery
19f179cf3b Re-apply r398953 with protection for 'make *config*'.
This will only include the descriptions file if needed to very slightly
lower overhead with -V lookups and package building dependency calculations.

With hat:	portmgr
2015-10-12 21:41:43 +00:00
Bryan Drewery
1289b5e043 Replace escaping for exported vars with :Q feature.
With hat:	portmgr
2015-10-12 21:38:28 +00:00
Bryan Drewery
ac1cb7e914 Remove SYSTEMVERSION exporting, not needed since r99913.
This is a relic of port.mkversion.

With hat:	portmgr
2015-10-12 21:36:55 +00:00
Dmitry Marakasov
7d137fe741 Use -r flag for read command, this fixes handling of paths containing
backslashes, and, in result, stage-qa for archivers/deco

Approved by:	portmgr (antoine)
Differential Revision:	D3862
2015-10-12 13:33:18 +00:00
Kurt Jaeger
b682911423 Adding CPAL-1.0, https://opensource.org/licenses/CPAL-1.0
PR:		203702
Approved by:	portmgr, eadler
2015-10-11 17:52:00 +00:00
Baptiste Daroussin
3566d56ac4 Add PLIST_DIRSTRY deprecation to sanity check (forgot to add it before) 2015-10-10 21:24:22 +00:00
Baptiste Daroussin
2ae2321acb Avoid a useless call to dirname 2015-10-10 21:19:43 +00:00
Baptiste Daroussin
2af7305829 Remove another unused variable 2015-10-10 20:53:34 +00:00
Baptiste Daroussin
8a102da7c2 Remove unused variable 2015-10-10 20:23:40 +00:00
Baptiste Daroussin
62c0718df2 Check if the port directory is aboslute otherwise prepend ${PORTSDIR} in FETCH_LIST
It allows dependencies to be defined without ${PORTSDIR}
2015-10-10 19:53:36 +00:00
Baptiste Daroussin
81c092df16 Revert r398953 per bdrewery demand it breaks make config
Reported by:	novel
2015-10-10 19:45:51 +00:00
Baptiste Daroussin
ed83abe320 Use USESDIR macro 2015-10-10 17:46:45 +00:00
Tijl Coosemans
3a55a118dd Remove iconv(), iconv_open() and iconv_close() symbols from libiconv.
These were FreeBSD specific aliases for libiconv(), libiconv_open() and
libiconv_close() that are now also provided by libc which complicates
writing configure tests that work correctly when both libc iconv and
libiconv are available.

Also, because the libiconv iconv.h header redefines iconv* to libiconv*
correct use of the header implies that the aliases aren't used.

The following ports needed fixes because there was something wrong with
the way they tried to detect or use iconv:

audio/deadbeef: Remove LIBICONV_PLUG from a source file.  It's a
compile-time option and should not be set in source code.
comms/hidapi: Use standard AM_ICONV configure macro to look for iconv.
deskutils/fbreader: Let ports framework deal with LIBICONV_PLUG.
deskutils/ljclive: Override configure test for iconv.
deskutils/owncloudclient: Add USES=iconv and patch test for iconv.
devel/aegis: Bump PORTREVISION because it no longer uses libiconv.
devel/libexplain: Add USES=iconv and override test for iconv.
devel/sdl20: Override configure test for iconv.
emulators/vmw: Replace OSVERSION checks with ICONV_LIB checks and include
<iconv.h> instead of <sys/iconv.h>.
irc/scrollz: Override configure test for iconv.
japanese/chasen-base: Override configure test for iconv and patch
configure so it no longer adds -liconv to linker flags just because it
happens to be installed.
japanses/eb: Patch configure test for iconv.
japanses/eblook: Override configure test for iconv.
java/jikes: Override configure test for iconv.
multimedia/transcode: Bump PORTREVISION because only one plugin links with
libiconv now.
net/c3270: Override configure test for iconv.
net/samba4*: Bump PORTREVISION because it no longer uses libiconv.  The
configure script will always add -liconv to the linker flags when it
happens to be installed which would be wrong but later on binaries are
linked with -Wl,--as-needed and the linker discards -liconv because it
finds iconv*() functions in libc now and no longer in libiconv.
net-mgmt/icinga-*: Remove dependency on iconv.
net-mgmt/netxms: Patch configure so it no longer adds -liconv to linker
flags just because it happens to be installed.
net/asterisk11: Patch configure so it no longer adds -liconv to linker
flags just because it happens to be installed.
net-p2p/transmission-*: Override configure test for iconv.
www/htmlcxx: Override configure test for iconv.
www/httrack: Override configure test for iconv.
www/xapian-omega: Override configure test for iconv.
x11/mrxvt(-devel): Add USES=iconv and override configure test for iconv.
x11/x3270: Override configure test for iconv.
x11-wm/jwm: Override configure test for iconv.

PR:		202838
Exp-run by:	antoine
Approved by:	portmgr (antoine)
2015-10-10 14:03:00 +00:00
Bryan Drewery
3456a0671a Don't include/parse bsd.options.desc.mk if not needed (showconfig or -V *_DESC).
This is targetting dependency listing overhead.

With hat:	portmgr
2015-10-09 19:20:24 +00:00
Bryan Drewery
2ef20de270 Make missing argument less obscure.
With hat:	portmgr
2015-10-09 18:13:57 +00:00
Bryan Drewery
a1a7117c83 Shift any arguments eaten up from getopts. This script takes no arguments
yet.

With hat:	portmgr
2015-10-09 18:09:02 +00:00
Bryan Drewery
78aeec8db1 Unify depends-list.sh and all-depends-list.sh into one script, depends-list.sh.
With hat:	portmgr
2015-10-09 18:00:44 +00:00