- 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
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
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)
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.
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 :)
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)
* 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.
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
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
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
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
<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
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
- Add "agpl" to GHOSTSCRIPT_DEFAULT. GHOSTSCRIPT_DEFAULT="9 agpl" is valid
for print/ghostscript9-agpl.
- Fix GHOSTSCRIPT_DEFAULT validation when using fmake.
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.
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@
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.