Commit graph

492 commits

Author SHA1 Message Date
Olivier Duchateau
ed5ad1749b Rewrite detection of GTK+3 support
Differential Revision:	https://reviews.freebsd.org/D3137
2015-09-14 13:00:58 +00:00
Antoine Brodin
0622d6683a Since PEP 0488 and python 3.5, pyo files are eliminated and bytecode files
for level 1 optimization have opt-1.pyc extension
Adjust USE_PYTHON=py3kplist to handle this

Tested by:	koobs
2015-09-14 12:26:28 +00:00
Mathieu Arnold
afae652a2a Make it so that the default Perl is always called perl5.
- Move Perl's man1 files along with its man3 files.
- Move where Perl installs its modules man1 pages.
- Convert the ports installing man1 pages.
- Make different Perl versions installable at the same time.
  Though you should note that only the default version can be used to
  install Perl modules, and the non default Perl versions cannot use the
  modules installed via ports if they contain .so as they are installed
  in a version specific directory.

Reviewed by:	bapt (the Mk bits)
Exp-run by:	antoine
Sponsored by:	Absolight
Differential Revision:	https://reviews.freebsd.org/D3542
2015-09-14 12:19:48 +00:00
Kubilay Kocak
dafc3395c8 Uses/python.mk: Fix PYTHON_REL for pre-release Python versions
Modify the PYTHON_REL variable assignment in python.mk so that it
can support PORTVERSION's that have non-integer suffixes such as
the current lang/python35 version (PORTVERSION currently 3.5.0.r3).

Currently, ports that use PYTHON_REL while DEFAULT_VERSIONS is set to
3.5, fail to build with the following make error:

make: "/usr/ports/Mk/Uses/python.mk" line 503:
warning: String comparison operator should be either == or !=
make: "/usr/ports/Mk/Uses/python.mk" line 503:
Malformed conditional (${PYTHON_REL} >= 3200 && defined(_PYTHON_FEATURE_PY3KPLIST))

This is caused by a non-integer value ("r3") in PYTHON_REL.

While I'm here, add a comment block to be clear on what we
(currently) want to achieve.

PR:			203093
Reported by:		Andrew Berg (aberg010 my.hennepintech.edu)
Reviewed by:		antoine
MFH:			2015Q3
Differential Revision:	https://reviews.freebsd.org/D3662
2015-09-14 08:28:57 +00:00
Hiroki Sato
c716728e4a Add "fc", "fcfontsdir", "fontsdir", and "none" arguments to USES=fonts.
They controls whether fc-cache and/or mkfontdir run in
post-{,de}install targets.

japanese/font-* use manually generates fonts.dir entries to utilize
special modifiers which are useful for CJK fonts.  Because mkfontdir
does not understand and silently remove them from fonts.dir,
options like fonts:fc or fonts:none is required.

Approved by:	portmgr (bapt)
2015-09-13 23:30:21 +00:00
Antoine Brodin
75f5b44ef0 Back-out r396454, it's broken on freebsd 9.3 (breaks at least ftp/curl)
With hat:	portmgr
2015-09-10 12:47:58 +00:00
Hiroki Sato
3ce6769063 - Add KRB5CONFIG.
- Use more complete library lists in GSSAPILIBS.
2015-09-09 08:03:31 +00:00
Jimmy Olgeni
173d8150db Fix build_fs_violation for rebar3 builds.
rebar3 has the uncontrollable urge to write some stuff into the user's
HOME, even if just an empty directory. Redirect HOME to WRKDIR so that it
at least shoots a blank and does not bump into build_fs_violation checks.

This fixes devel/erlang-bbmustache and www/erlang-hackney.
2015-09-08 22:12:22 +00:00
Kubilay Kocak
7142ad4179 [NEW] lang/python35: Welcome Python 3.5.x! (Note: RC3)
FreeBSD welcomes Python 3.5 (early, pre-release) to the Ports tree,
with 3.5.0 release candidate 3!

Please test this port and Python 3.5 profusely. If you notice issues,
please report them upstream at: https://bugs.python.org to ensure a
robust upcoming 3.5.0 release.

Whats New in Python 3.5:

 * https://docs.python.org/3.5/whatsnew/3.5.html

Python 3.5 Release Schedule (PEP 478)

 * http://www.python.org/dev/peps/pep-0478

Note: This port retires an old fcntlmodule.c patch, possibly
temporarily. User impact *should* be zero. For more information
see: https://bugs.python.org/issue25026

Requested by:	Webair Inc :)
2015-09-08 16:08:13 +00:00
Raphael Kubo da Costa
f358732b18 Uses/iconv.mk: Set iconv-related CMake variables.
The way we deal with iconv in base and ports across different FreeBSD
releases is complicated: 9.x does not have iconv.h in base, 10.1 has it with
a different prototype for iconv(3) and later versions have the right
iconv(3) prototype. And, in some cases (USES=iconv:{translit,wchar_t}), we
must always use the libiconv port.

This is why there are so many checks in Uses/iconv.mk: we need to know the
situation we currently have in order to decide whether to pull iconv from
converters/libiconv, whether to just use its header (and pull the library
from base) or whether to use everything from base.

r384038 adjusted several CMake-based ports, but did so in a way that was not
very scalable and required a few intrusive patches to some ports. Most ports
that have both USES=cmake and USES=iconv use variations of FindIconv.cmake
that behave similarly. This change passes the header and library values we
really want to use to CMake using the most common variable names, bypassing
the calls to find_path() and find_library() that would sometimes end up
finding the wrong file. The few ports that use different variable names have
had their Makefiles adjusted (we manually pass the values we want via
CMAKE_ARGS).

Other changes:
- chinese/fcitx: Explicitly set LIBICONV_LIBC_HAS_ICONV_OPEN=OFF as we
  always want the version from ports because of USES=iconv:wchar_t.
- editors/calligra: Explicitly use iconv:translit because Kexi needs it.
- irc/weechat and irc/weechat-devel: The FindIconv.cmake patches could not
  be entirely removed because the check_library_exists() calls are wrong.
  Sent upstream: https://github.com/weechat/weechat/pull/513
- textproc/ctpp2: Use iconv:translit when the TRANSLITERATE option is used.

PORTREVISION has been bumped in editors/calligra and textproc/ctpp2 because
their dependency list has changed in 10.2 and later as the ports version is
always used now.

PR:		202798
Reviewed by:	antoine, tijl
Approved by:	portmgr (antoine)
2015-09-03 15:44:13 +00:00
Mathieu Arnold
398dca09df To ease up with future upgrades, move PERL_VERSION into a separate file.
While there, remove 8.4 support, and do some cleanup.

Sponsored by:	Absolight
2015-08-31 13:17:48 +00:00
Mathieu Arnold
1118f8ad40 Bump perl5-devel's PERL_VERSION.
Pointy hat to:	mat
Sponsored by:	Absolight
2015-08-24 14:37:18 +00:00
Hiroki Sato
27470e1676 - Split ghostscript into X11-independent and -dependent parts:
* print/ghostscript{7,8,9,9-agpl}-base

   Installs Ghostscript binary, libgs, and related files.
   These ports do not depend on X11 libraries (i.e. x11* devices
   are not available).  USES=ghostscript will set dependency on
   one of them depending on GHOSTSCRIPT_DEFAULT.

   The default device is set to "display" or "bbox".

 * print/ghostscript{7,8,9,9-agpl}-x11

   Installs a shared library which provides X11 support to
   the installed Ghostscript binaries.  x11* devices will be
   enabled when the library is available.

   This depends on *-base (RUN_DEPENDS).  USES=ghostscript:x11
   will set dependency on one of them.

- Fix integer overflow reported as CVE-2015-3228.

- Update Uses/ghostscript.mk:

 * Add x11 keyword.  nox11 keyword is now obsolete.

 * Use packagename in *_DEPENDS line to prevent relationship between
   -base and -x11 packages from being broken.

- Fix x11/nox11 keyword and bump PORTREVISION in ports using
  USES=ghostscript to update dependency of pre-compiled packages.
2015-08-22 17:48:35 +00:00
Raphael Kubo da Costa
c2f4f3626c Uses/localbase.mk: Set CMAKE_PREFIX_PATH.
When USE'ing localbase.mk, make sure CMake is also aware that it is supposed
to give preference to ${LOCALBASE} when looking for files and libraries.

This is going to be a requirement once CMake is updated to 3.3.x, as
starting with this version it will by default use the PATH environment
variable (stripping the "/bin" or "/sbin" parts of each entry) to determine
where to find files and libraries. Since in most cases /usr will come before
/usr/local, it will find base's libarchive and fail at the configuration
stage on older FreeBSD releases.

Approved by:	portmgr (antoine)
Differential Revision:	https://reviews.freebsd.org/D3361
2015-08-20 12:51:50 +00:00
Raphael Kubo da Costa
23ee2a7d62 Uses/cmake.mk: Replace CMAKE_ENV with CONFIGURE_ENV.
Instead of defining a variable that is almost always based on CONFIGURE_ENV,
just use CONFIGURE_ENV directly.

This also matches the behavior of other ports that do not use autotools (so
most ports can just worry about CONFIGURE_ENV). Additionally, the fact that
we do not use ?= means we do not have problems if another file in Uses/
needs to set CONFIGURE_ENV (with CMAKE_ENV, the order of the arguments to
USES would matter).

Ports which set CMAKE_ENV have been adjusted accordingly. In most cases,
CMAKE_ENV was just replaced with CONFIGURE_ENV, the exceptions being:
* databases/sqliteman: CMAKE_ENV line removed; setting QMAKESPEC there has
                       no effect on the build system.
* devel/freeocl: CMAKE_ENV line removed; FREEOCL_CXX_COMPILER is already
                 retrieved from the CMAKE_CXX_COMPILER variable in the build
                 system.
* graphics/openimageio: CMAKE_ENV line removed; setting Qt variables there
                        has no effect on the build system.

Reviewed by:		makc
Differential Revision:	https://reviews.freebsd.org/D3403
2015-08-18 10:51:01 +00:00
Mathieu Arnold
e8796ef612 Rewrite the target ordering code.
The targets now have priority assigned to them, and, when the dependency
ordering magic is done at the end of bsd.port.mk, they are sorted
according to their priority.

This allows USES to add targets easily and have them run whenever they
want without touching bsd.port.mk.

To add a target that runs just before post-configure run, do:

_USES_configure+=  695:my-post-configure
my-post-configure:
	do something

To fine tune when the target is ran, look at the values in the *_SEQ
variables at the end of bsd.port.mk, and the other USES.

Allow ports Makefiles to override the priority of targets with the
TARGET_ORDER_OVERRIDE variable.  For example, to get post-install
running earlier, (its default is 700) do:

TARGET_ORDER_OVERRIDE=	  650:post-install

While there, add options target helpers for the do-* targets when they
exist.

Reviewed by:	antoine, bapt
Exp-run by:	antoine
Sponsored by:	Absolight
Differential Revision:	https://reviews.freebsd.org/D3099
2015-08-17 13:31:25 +00:00
Brad Davis
37d8b6d3fc Bump the version of clang to 3.6 when c++14-lang is specified
Discussed with:	brooks
Approved by:	bdrewery (mentor)
2015-08-08 21:38:18 +00:00
Xin LI
a4d81d719a Previously, ncurses.mk tests for header instead of the shared library
symlink itself, and this would cause problem for portsnap builder
(addressed differently by including the header file).

Make the test more consistent with port version of ncurses by checking
the shared library instead.  (the location is the same on all supported
versions of FreeBSD).

Approved by:	portmgr (bapt)
Differential Revision: https://reviews.freebsd.org/D3326
2015-08-07 16:18:11 +00:00
Jan Beich
4f22a2b289 - Update Firefox to 40.0
- Update Firefox ESR and libxul to 38.2.0

Changes:	https://www.mozilla.org/firefox/40.0/releasenotes/
Changes:	https://www.mozilla.org/firefox/38.2.0/releasenotes/
MFH:		2015Q3
2015-08-07 12:02:41 +00:00
Tijl Coosemans
a374acb969 By default libtool replaces -export-symbols <file> with -retain-symbols-file
<file> on ELF systems, but this doesn't really do what -export-symbols is
meant to do.  On GNU ELF systems it converts <file> to a simple version
script first and then uses -version-script instead of -retain-symbols-file.
Let USES=libtool patch libtool scripts to do this on all systems with GNU
ld(1).

Bump PORTREVISION on all ports where the build log contains -export-symbols.

audio/calf: This port builds a module that now exports only one function,
but it also builds a number of executables that link to this module and
expect to see other functions.  Because it's already a bit dodgy to link to
a module (libtool warns about this) let the module continue to export only
one function and instead build an ordinary library from the same source that
the executables can link to.  Fix a number of other issues in the same
Makefile.am and clean up the port Makefile.

japanese/scim-honoka: Tries to hide all symbols that start with an
underscore, but because this library is written in C++ all symbols start
with _Z so it ends up hiding everything.  Just don't hide anything at all
like the textproc/scim configure script does.

multimedia/schroedinger: Apply an upstream patch.

textproc/scim-input-pad: Same as japanese/scim-honoka.

PR:		201922
Approved by:	portmgr (antoine)
Exp-run by:	antoine
2015-08-02 15:03:19 +00:00
Antoine Brodin
6e381a9d53 Switch default python_CMD used by shebangfix to ${PYTHON_CMD} for ports
using python

PR:		201077
Reviewed by:	mat
With hat:	portmgr
Differential Revision:	https://reviews.freebsd.org/D2955
2015-07-29 22:09:53 +00:00
Mathieu Arnold
8e790fd161 Bump here too.
Sponsored by:	Absolight
2015-07-27 19:32:06 +00:00
Jimmy Olgeni
c23da21aec Not all Hex package specifications start with the '~' character,
so let's just look for '"'.
2015-07-27 15:34:25 +00:00
Hiroki Sato
f68002aa7c Use -nox11-suffixed ports instead of DEPENDS_ARGS. 2015-07-27 05:45:39 +00:00
Hiroki Sato
5fb3adbe54 Fix build on fmake. 2015-07-27 04:56:57 +00:00
Hiroki Sato
46d22437f6 Fix the case when X11 option is defined and not specified in the parent port.
PR:	201864
2015-07-27 04:13:29 +00:00
Hiroki Sato
e58345e74e - Fix -nox11 packages and ghostscript:nox11 in ghostscript.mk.
This also fixes an issue that user-defined OPTIONS_UNSET was overridden.

- Loosen up depdendency a bit by using a binary instead of a package name.

PR:	201864
2015-07-27 01:18:53 +00:00
Jan Beich
bc2d7d11da - Update Thunderbird to 38.1.0
Changes:	https://www.mozilla.org/thunderbird/38.0.1/releasenotes/
Changes:	https://www.mozilla.org/thunderbird/38.1.0/releasenotes/
PR:		201769
Submitted by:	Christoph Moench-Tegeder <cmt@burggraben.net> (based on)
MFH:		2015Q3
X-MFH-With:	r392273
Security:	https://vuxml.freebsd.org/freebsd/44d9daee-940c-4179-86bb-6e3ffd617869.html
2015-07-23 23:36:07 +00:00
Hiroki Sato
df9e65d9e9 Remove minor version numbers.
Suggested by:	mat
2015-07-23 01:44:51 +00:00
Jimmy Olgeni
6783a25858 Fix regular expressions for "./rebar" and "./rebar3". 2015-07-21 15:56:34 +00:00
Hiroki Sato
431a1a7a87 - Remove "agpl" keyword in ghostscript arguments.
- Add "agpl" to GHOSTSCRIPT_DEFAULT.  GHOSTSCRIPT_DEFAULT="9 agpl" is valid
  for print/ghostscript9-agpl.
- Fix GHOSTSCRIPT_DEFAULT validation when using fmake.
2015-07-21 03:22:23 +00:00
Hiroki Sato
81aae8fba4 - Fix an error with fmake. [*]
- Allow "agpl" as an additional keyword in GHOSTSCRIPT_DEFAULT.

Spotted by:	kib [*]
2015-07-20 23:38:11 +00:00
Hiroki Sato
dfe81c557d Allow support of minor version number in GHOSTSCRIPT_DEFAULT since
there are two packages for Ghostscript 9.x, 9.06 and 9.16.
2015-07-20 21:07:08 +00:00
Baptiste Daroussin
181ce1716b Fix typo
Reported by:	jbeich
2015-07-19 17:22:11 +00:00
Baptiste Daroussin
81471a0b2a Add 3 new uses
localbase: mostly a non user one which enforce the compiler related flags to
           lookup in localbase first to find libraries, designed to be used in
           other USES
libarchive: to be used each time one is using libarchive from ports. It is
            necessary to simplify work for porters dealing with different
            versions of libarchive from base and different ways libarchive can
            be linked in base (with libmd and/or libcrypto) only dealing with
            one libarchive over all the ports tree is easier
libedit:    enforce using libedit from ports for the same reasons as for
            libarchive

Same things will happen for other base libraries which collides with ports
version later.
2015-07-19 14:36:00 +00:00
Jimmy Olgeni
17122ec9fa Allow underscores in Elixir application names. 2015-07-18 19:32:58 +00:00
Koop Mast
e0551b7b98 Remove some experiment code.
Note to self, if patch is lying around for a bit:
1) don't leave experimental code in there.
2) don't assume you didn't muck around with it and perhaps forgot you did so?

Pointyhat to:	kwm@
2015-07-16 22:12:16 +00:00
Koop Mast
68f883edfc Convert code in bsd.port.mk for USE_GHOSTSCRIPT* to USES=ghostscript.
Add GHOSTSCRIPT_DEFAULT to bsd.default-versions.mk for easy version selection.
Arguments supported: <empty>, build, run, nox11 and agpl

PR:		201201 (exp-run)
Approved by:	portmgr (mat@)
Exp run by:	antione@ (previous patch)
Differential Revision:	https://reviews.freebsd.org/D2938
2015-07-16 20:53:28 +00:00
Jimmy Olgeni
c3aacb3bc6 In MIX_REWRITE, suppress optional dependencies too. 2015-07-16 09:27:51 +00:00
Jan Beich
ef0a0c91f1 - Update NSS and ca_root_nss to 3.19.2
- Update Firefox and gmp-api to 39.0
- Update Firefox ESR and libxul to 38.1.0

Changes:	https://developer.mozilla.org/docs/Mozilla/Projects/NSS/NSS_3.19.2_release_notes
Changes:	https://www.mozilla.org/firefox/39.0/releasenotes/
Changes:	https://www.mozilla.org/firefox/38.1.0/releasenotes/
MFH:		2015Q3
Security:	https://vuxml.freebsd.org/freebsd/44d9daee-940c-4179-86bb-6e3ffd617869.html
2015-07-16 06:05:59 +00:00
Jimmy Olgeni
08382140c7 Find more instances of ":only" dependencies in MIX_REWRITE. 2015-07-15 14:09:26 +00:00
Jimmy Olgeni
d8d24faf9c In elixir.mk, add MIX_REWRITE and ELIXIR_LIB_ROOT.
ELIXIR_LIB_ROOT is the default Elixir library path in LOCALBASE.

If MIX_REWRITE is defined, all optional dependencies will be stripped
out (test, doc, etc.), while all required libs will be converted to
actual code paths in ELIXIR_LIB_ROOT.

For example, it will turn the following dependency definitions:

 defp deps do
    [
      { :inflex, "~> 1.0" },
      { :estree, "~> 2.0" },
      { :shouldi, only: :test },
      { :earmark, "~> 0.1", only: :dev },
      { :ex_doc, "~> 0.7", only: :dev }
    ]
  end

into these:

  defp deps do
    [
      { :inflex, path: "/usr/local/lib/elixir/lib/inflex", compile: false },
      { :estree, path: "/usr/local/lib/elixir/lib/estree", compile: false },
    ]
  end

Setting MIX_REWRITE allows escriptize to bundle all dependencies in the
script, else it will not be able to pull them from the usual code path.

It already works for all Elixir ports and should make patches to mix.exs
unnecessary, but for now the default is off.

Sneak in a whitespace fix while I'm here.
2015-07-14 23:05:31 +00:00
Brad Davis
94f1a3fc69 Add support for USES= compiler:c++14
PR:		201076
Approved by:	bapt, bdrewery (mentor)
2015-07-14 20:32:14 +00:00
Jimmy Olgeni
d270a866c3 The correct default for ELIXIR_HIDDEN is ELIXIR_APP_NAME, which
can be different from PORTNAME.
2015-07-14 17:44:22 +00:00
Jimmy Olgeni
dcbd0c3fe9 Improvements in erlang.mk:
- Replace %%PORTVERSION%% in all source files
- Fix vsn tag in app files, whatever its format
2015-07-14 10:44:50 +00:00
Jimmy Olgeni
f2a359f6d2 Add support for more variables in elixir.mk.
- MIX_ENV, which works like MAKE_ENV for Mix builds
- MIX_TARGET ("compile", etc.)
2015-07-13 11:23:37 +00:00
Jimmy Olgeni
144995b4cf Fix installation of ERL_DOCS directories. 2015-07-10 11:31:40 +00:00
Jimmy Olgeni
25ed36a940 Fix typo in variable name. 2015-07-10 10:10:09 +00:00
Jimmy Olgeni
6c1fc4bf68 Improve working of comment.
In erlang.mk, replace "none" with "no argument" in the "Valid ARGS"
example; "none" looks an actual argument.
2015-07-07 23:06:33 +00:00
Jimmy Olgeni
87825d92d3 In elixir.mk, replace custom targets with do-build and do-install. 2015-07-07 23:03:07 +00:00