Commit graph

16399 commits

Author SHA1 Message Date
Mathieu Arnold
551be3c723 Convert Python ports to FLAVORS.
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
2017-11-30 15:50:30 +00:00
Jean-Sébastien Pédron
c988c24319 lang/rust: Disable "omit frame pointers"
Before the patch, the default behavior of the compiler was to omit frame
pointers. However, even though it looks fine for the code produced
by the compiler, the compiler itself was broken. When there was a
compilation error, rustc panics to report that error. While handling
that panic, it tries to unwind the stack but fails to do so, which
results in an abort(3).

Here is an example:

    $ rustc hello.rs
    error: invalid reference to argument `0` (no arguments given)
     --> hello.rs:2:5
      |
    2 |     println!("Hello {}")
      |     ^^^^^^^^^^^^^^^^^^^^
      |
      = note: this error originates in a macro outside of the current crate

    error: aborting due to previous error

    fatal runtime error: failed to initiate panic, error 5
    Abort trap (core dumped)

The problem also exists on other systems such as OpenBSD and
i686-unknown-linux-musl. "omit frame pointers" was already disabled for
i686-unknown-linux-musl:
88a28ff602/src/librustc_back/target/i686_unknown_linux_musl.rs (L22)

The patch does the same for *-unknown-freebsd.

See the upstream bug for more informations:
https://github.com/rust-lang/rust/issues/43575
2017-11-30 13:33:05 +00:00
Mark Linimon
13150a0223 Attempt to build on armv7 by generalizing from armv6 code.
Unfortanately it didn't build for me on armv7: perhaps it is a difference
in compiler.  (It currently builds on armv6 on the freebsd.org cluster.)

So, this is a necessary but insufficient step.

Approved by:	portmgr (tier-2 blanket)
2017-11-30 07:27:06 +00:00
Gerald Pfeifer
dbffc8db3e Update to the 20171129 snapshot of GCC 6.4.1.
Like with lang/gcc6 now, make sure what we install is stripped (i.e.,
debug info is removed).  (For more background see revisions 454177.)
2017-11-30 06:23:59 +00:00
Mark Linimon
bf43557044 For ports that are marked BROKEN on armv6, and also fail to build on
armv7, mark them so.

This is part two of a multipart commit to bring armv7 ports to parity
with armv6.

Approved by:	portmgr (tier-2 blanket)
Obtained from:	lonesome.com -exp run
2017-11-30 06:13:34 +00:00
Mark Linimon
14295721d4 For ports that are marked NOT_FOR/ONLY_FOR armv6, also mark them so
on armv7.

This is part one of a multipart commit to bring armv7 ports to parity
with armv6.

Approved by:	portmgr (tier-2 blanket)
2017-11-30 05:55:17 +00:00
Gerald Pfeifer
781b800d3f Update to the 20171126 snapshot of GCC 8.
This requires two temporary patches to allow for building with
clang 3.4.1 (on FreeBSD 10.4) and trimming down an overeager check
that breaks Wine, for example.

Forward port revision 454177 from lang/gcc7: [1]

Make sure what we install is stripped (i.e., debug info is removed).

The straightforward way is setting INSTALL_TARGET to install-strip,
which is supported by the upstream GCC build machinery.

Unfortunately this fails when running as regular user (non-root)
since strip requires write permission to the files in question,
and we install binaries as r-xr-xr-x by default.  To work around
that we need to set BINMODE to allow for write access by the user,
something that's common on GNU/Linux (which is why this probably
has not been noticed there).  This is not necessary when running
as root.

(A different approach suggested was to set STRIP=true, alas that
leads to many files actually not being stripped.  This is due to
GCC using its own script install-sh that in turn uses cp, chmod,
strip,...  instead of our own install-* tools in many cases.)

Reported by:	Ports QA Framework, miwi, sobomax [1]
Discussed with:	tijl, miwi [1]
Differential Revision:	https://reviews.freebsd.org/D10357 [1]
2017-11-29 18:51:00 +00:00
Gerald Pfeifer
ddfec268c3 Remove DTRACE_DESC in favor of the default description.
Approved by:	tz
2017-11-29 18:46:30 +00:00
Mathieu Arnold
2b036546cd Fix USE_GITHUB usage.
Sponsored by:	Absolight
2017-11-28 13:31:18 +00:00
Jan Beich
d65b2886b1 lang/rust: avoid LLVM targeting SSE2 on i386 by default
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)
2017-11-27 22:02:29 +00:00
Gerald Pfeifer
24f8089a52 Remove DEBUG_DESC in favor of the default one.
Approved by:	tz
2017-11-27 21:38:06 +00:00
Jean-Sébastien Pédron
fefc322b07 lang/rust: Remove the LLVM_PORT option
FTR, this option allowed to used LLVM from ports instead of building the
bundled copy.

The problem is that this combination isn't really tested upstream. This
led to regressions which are difficult to diagnose. For instance, in
Rust 1.21.0, the bundled LLVM provided a new API to query the features
supported by the target arch. The equivalent code inside Rust was
removed to use that new API. Unfortunately, building Rust 1.21.0+ with a
copy of LLVM not providing this API didn't failed but instead made that
list of CPU features empty. This resulted in the following obscure build
failure in Firefox:

    error[E0432]: unresolved import `x86::sse2`

To avoid future pain for both end users and maintainers, we decided to
remove that option. Yes, it will increase the (already long) time to
build Rust, but it should save time wasted on debugging what is not
really supported anyway.

PR:		223342, 223300
Reported by:	Many users
2017-11-27 18:16:15 +00:00
Mathieu Arnold
f8f8edf76b Update to v5.27.6-62-gb2e7ed7.
Changes:	https://github.com/Perl/perl5/compare/v5.27.5-431-g326c4ae...v5.27.6-62-gb2e7ed7
Sponsored by:	Absolight
2017-11-27 12:00:03 +00:00
Jean-Sébastien Pédron
ba01899161 lang/rust: Update to 1.22.1
Support for LibreSSL up-to 2.6.3 is now included, thus we can remove the
patches to the `openssl` and `openssl-sys` crates.

The renewed bootstrap for aarch64 was created on 11.0-RELEASE, instead
of 11.1-STABLE. It should allow it to run on all 11.x and thus fix the
build on 11.0-RELEASE. [1]

PR:		223009 [1]
2017-11-27 08:20:32 +00:00
Mark Linimon
e440840cd5 Remove obsolete line. ia64 support failed years ago.
Approved by:	portmgr (tier-2 blanket)
2017-11-27 02:55:09 +00:00
Ashish SHUKLA
5c1ed04c70 Chez Scheme is both a programming language and an implementation
of that language, with supporting tools and documentation.

As a superset of the language described in the
[Revised<sup>6</sup> Report on the Algorithmic Language Scheme]
(http://www.r6rs.org)(R6RS), Chez Scheme supports all standard
features of Scheme, including first-class procedures, proper treatment
of tail calls, continuations, user-defined records, libraries,
exceptions, and hygienic macro expansion.

Chez Scheme also includes extensive support for interfacing with C
and other languages, support for multiple threads possibly running
on multiple cores, non-blocking I/O, and many other features.

WWW: https://cisco.github.io/ChezScheme

Thanks to jrm for helping with testing.
2017-11-26 21:18:04 +00:00
Johan van Selst
54ddb2491b Make hidden dependency on PCRE explicit
Pet portlint while here

PR:		223875
Submitted by:	transitive@gmail.com
2017-11-26 10:19:33 +00:00
Gerald Pfeifer
2b1a40d90f Rework the architecture-specific special settings, sorting snippets and
using .elif instead of distinct .if sequences, similar to most of the
other lang/gcc* ports by now. (This being the default port we usually
let changes settle elsewhere first.)
2017-11-25 22:52:32 +00:00
Gerald Pfeifer
b8ecb14a0e Update to the 20171123 snapshot of GCC 7.2.1.
Remove special code handling armv6 (which for GCC 6 and 5-based
ports is necessary for aarch64, armv6 and armv7, but that we never
had for aarch64 or armv7 here).

Consulted with:	andreast
2017-11-25 20:01:46 +00:00
Gerald Pfeifer
ccac5f629a Add support for armv7. [1]
Rework the architecture-specific special settings, sorting snippets and
using .elif instead of distinct .if sequences.

Tested by:	andreast [1]
2017-11-25 19:10:03 +00:00
Johan van Selst
dde5304a17 Update to SWI Prolog 7.6.2
http://www.swi-prolog.org/ChangeLog?branch=stable
2017-11-24 22:18:35 +00:00
Torsten Zuehlsdorff
bfa2c791d6 Update PHP 7.1 from 7.1.11 to 7.1.12
Changelog: http://www.php.net/ChangeLog-7.php#7.1.12

MFH:      2017Q4
2017-11-24 10:13:52 +00:00
Torsten Zuehlsdorff
ffed87071b lang/php70: Update from 7.0.25 to 7.0.26
Changelog: http://www.php.net/ChangeLog-7.php#7.0.26

MFH:      2017Q4
2017-11-24 10:12:32 +00:00
Jimmy Olgeni
3cc803de7b Update lang/erlang-wx to version 19.3.6.4. 2017-11-23 21:33:00 +00:00
Jimmy Olgeni
c377a3cd0a Update lang/erlang-java to version 19.3.6.4. 2017-11-23 21:32:50 +00:00
Jimmy Olgeni
f1b7d69dbb Update lang/erlang to version 19.3.6.4. 2017-11-23 21:32:41 +00:00
Gerald Pfeifer
3a99e08e20 Backport the change to ensure what we install is stripped (i.e., debug
info is removed) from lang/gcc7 to lang/gcc47, lang/gcc48 and lang/gcc49.

(For more background see revisions 454177 and 454422.)

Reported by:	Ports QA Framework, miwi, sobomax
Discussed with:	tijl, miwi
Differential Revision:	https://reviews.freebsd.org/D10357
2017-11-23 21:12:22 +00:00
Jimmy Olgeni
fa65f93cbb Update lang/erlang-runtime20 to version 20.1.7. 2017-11-23 19:15:31 +00:00
Jimmy Olgeni
2639abce8e Update lang/erlang-runtime19 to version 19.3.6.4. 2017-11-23 19:07:56 +00:00
Jimmy Olgeni
9e0a165043 Update lang/erlang-runtime18 to version 18.3.4.7. 2017-11-23 19:07:30 +00:00
Ashish SHUKLA
53930a7eda - Update to 0.8.8
- Remove upstream-ed diff
2017-11-23 14:11:32 +00:00
Torsten Zuehlsdorff
327558dc9e lang/php72: Add missing conflict to php71-*
Also remove IPV6_DESC in favor of default description
2017-11-23 11:41:51 +00:00
Torsten Zuehlsdorff
ca8cbf9639 lang/php70 and lang/php71: Add mail header patch
While here to some improvements:
- Remove CONFLICTS of no longer existing PHP 5.5
- Add CONFLICTS to PHP 7.2
- Remove IPV6_DESC in order to use default one

PR:           219321
Submitted by: Karsten Schmidt <bsd@guggemand.dk>
2017-11-23 11:38:59 +00:00
Gerald Pfeifer
58df02fee2 Remove second instance of install-strip patch that was applied twice.
No functional change.

Pointy hat to:	self
2017-11-23 08:14:50 +00:00
Gerald Pfeifer
08a35e4356 Update to the 20171122 snapshot of GCC 6.4.1.
On the way, rework the architecture-specific special settings, sorting
and using .elif instead of distinct .if sequences.

Add a workaround for armv7. [1]

Tested by:	andreast [1]
2017-11-23 07:54:09 +00:00
Steve Wills
ff1498f6af lang/ruby2?: make rubygem-* ports reproducible
PR:		223781
exp-run by:	antoine
2017-11-22 13:27:37 +00:00
Rene Ladan
7fc25c874c Remove expired ports:
2017-11-20 news/brag: Tcl/Tk 8.4 is no longer maintained, please use 8.5+
2017-11-20 textproc/srilm: Tcl/Tk 8.4 is no longer maintained, please use 8.5+
2017-11-20 x11-toolkits/tk84: Tcl/Tk 8.4 is no longer maintained, please use 8.5+
2017-11-20 devel/tkinspect: Tcl/Tk 8.4 is no longer maintained, please use 8.5+
2017-11-20 games/bogged: Tcl/Tk 8.4 is no longer maintained, please use 8.5+
2017-11-20 games/ttraffic: Tcl/Tk 8.4 is no longer maintained, please use 8.5+
2017-11-20 games/ifm: Tcl/Tk 8.4 is no longer maintained, please use 8.5+
2017-11-20 games/tksol: Tcl/Tk 8.4 is no longer maintained, please use 8.5+
2017-11-20 lang/tcl84: Tcl/Tk 8.4 is no longer maintained, please use 8.5+
2017-11-20 mail/tkrat2: Tcl/Tk 8.4 is no longer maintained, please use 8.5+
2017-11-20 multimedia/dtv: Tcl/Tk 8.4 is no longer maintained, please use 8.5+
2017-11-20 net-mgmt/netwag: Tcl/Tk 8.4 is no longer maintained, please use 8.5+
2017-11-21 18:50:58 +00:00
Torsten Zuehlsdorff
84de02461f lang/php72: Add missing header file
Add missing file zend_smart_string.h to pkg-plist.
The allows building many more of the pecl-* ports.

PR:           223766
Submitted by: Raivo Hool <raivo.hool@gmail.com>
Reported by:  Raivo Hool <raivo.hool@gmail.com>, Daniel Ylitalo <daniel@blodan.se>
2017-11-21 12:05:50 +00:00
Mathieu Arnold
cbcfde370c OPTIONS_SUB only cares about being defined, its content is ignored.
Sponsored by:	Absolight
2017-11-21 08:36:26 +00:00
Mathieu Arnold
6022464a06 Update to v5.27.5-431-g326c4ae.
Changes:	https://github.com/Perl/perl5/compare/v5.27.5-340-gbc60657...v5.27.5-431-g326c4ae
Sponsored by:	Absolight
2017-11-20 14:54:55 +00:00
Jimmy Olgeni
f32ecf6e59 Update lang/erlang-runtime20 to version 20.1.6. 2017-11-20 13:45:44 +00:00
Gerald Pfeifer
7ec577846e Update to the 20171119 snapshot of GCC 8.
Remove the setting of CXXFLAGS / STAGE1_CXXFLAGS to -fbracket-depth=512
for armv6 which should not be required here (and is not for armv7 and
aarch64 according to tests done by andreast@).

Use .elif instead of distinct .if sequences for architecture-specific
settings, something I plan on rolling out throughout all lang/gcc* ports.
2017-11-19 23:39:05 +00:00
Gerald Pfeifer
785266d1fa Given that GCC 5 has gone end-of-life now, recommend GCC 6 or later
instead of GCC 5 or later in the deprecation messages for lang/gcc46
to lang/gcc49.
2017-11-19 22:44:45 +00:00
Gerald Pfeifer
fb19c812a9 Backport two fixes from lang/gcc6:
[1] Make sure what we install is stripped (i.e., debug info is removed).

    (For more background see revisions 454177 and 454422.)

[2] Add a patch that we pulled into gcc6-devel via upstream a week ago
    that addresses a real-world issue around threading and unwinding as
    files/patch-freebsd-unwind.h .

Bump PORTREVISION since [2] is a functional change and [1] changes the
package.

Reported by:	Ports QA Framework, miwi, sobomax [1]
Discussed with:	tijl, miwi [1]
Tested by:	sobomax [1]
Differential Revision:	https://reviews.freebsd.org/D10357 [1]
2017-11-19 21:50:50 +00:00
Antoine Brodin
3485652593 Remove nops, setting USES after bsd.port.pre.mk doesn't do anything
With hat:	portmgr
2017-11-19 21:30:42 +00:00
Mathieu Arnold
dd6764ed12 This only works with 2.7.
PR:		223071
Reported by:	antoine
Sponsored by:	Absolight
2017-11-18 20:30:35 +00:00
Gerald Pfeifer
daa8828c52 Backport revision 454177 from lang/gcc7 now also to lang/gcc6, the
current default GCC port:

Make sure what we install is stripped (i.e., debug info is removed).

The straightforward way is setting INSTALL_TARGET to install-strip,
which is supported by the upstream GCC build machinery.

Unfortunately this fails when running as regular user (non-root)
since strip requires write permission to the files in question,
and we install binaries as r-xr-xr-x by default.  To work around
that we need to set BINMODE to allow for write access by the user,
something that's common on GNU/Linux (which is why this probably
has not been noticed there).  This is not necessary when running
as root.

(A different approach suggested was to set STRIP=true, alas that
leads to many files actually not being stripped.  This is due to
GCC using its own script install-sh that in turn uses cp, chmod,
strip,...  instead of our own install-* tools in many cases.)

According to tests by sobomax@ and me installs of lang/gcc6 went
down by about a fourth.

Do not bump PORTREVISION since this only changes builds by non-root
users, is not a functional change, and the previous state of using
a bit more storage had been there "forever".

Reported by:	Ports QA Framework, miwi, sobomax
Discussed with:	tijl, miwi
Tested by:	sobomax
Differential Revision:	https://reviews.freebsd.org/D10357
2017-11-18 10:10:43 +00:00
Gerald Pfeifer
fd9458843f Update to the 20171116 snapshot of GCC 7.2.1. 2017-11-17 20:28:27 +00:00
Gerald Pfeifer
151ffd5bd7 Remove conflict with lang/gcc5-devel which does not exist any more
since revision 452563.
2017-11-17 19:42:29 +00:00
Dmitry Marakasov
8e23f863af - Use proper command for static lib installation
Approved by:	portmgr blanket
2017-11-17 09:00:13 +00:00