- remove reference assemblies as a dependency: no longer required
- remove mono-addins as a dependency: shipped internally (via github)
- remove cmake as a dependency: replaced by new build system based on msbuild
- add multiple nuget feeds and move nuget dependencies into separate files
- explicitly set full path to install(1) to fix installation script
- USES=mono: read nupkg name and version from nuspec file
Differential Revision: https://reviews.freebsd.org/D16070
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
Enhance makenupkg to properly generate nupkg-* files when multiple feeds
provide the same package (but different versions).
Add NUGET_LAYOUT to dictate the layout of the package directory. Sometimes
msbuild (and nuget) does not work with symbolic links and cannot handle the
`legacy` layout.
Starting at ExtUtils::MakeMaker 7.31_06 and Perl 5.27.1, the base
README.pod is no longer installed. So stop installing them altogether.
PR: 229112
Reported by: many
Sponsored by: Absolight
Differential Revision: https://reviews.freebsd.org/D15946
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
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
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
make[5]: "/usr/ports/Mk/Uses/gecko.mk" line 48: warning: "/usr/local/bin/firefox --version 2>/dev/null" returned non-zero status
$ sudo firefox --version
Running Nightly as root in a regular user's session is not supported. ($XAUTHORITY is /home/foo/.Xauthority which is owned by foo.)
https://bugzilla.mozilla.org/show_bug.cgi?id=1323302
PR: 229064
Reported by: Vladimir Omelchuk
Analyzed by: Rainer Hurling
Submitted by: Walter Schwarzenfeld (based on)
- Add build/lib dependencies, environment variables to ports using
the backtrace-sys, freetype-sys, gettext-sys, onig_sys,
thrussh-libsodium crates instead of doing this individually for
every port.
- Add a DEV_WARNING when using libc versions < 0.2.37 to prevent
instability of Rust applications on 12.0-CURRENT [1]
- Sort cargo-crates-licenses output
Reviewed by: pizzamig, jbeich [1]
Differential Revision: https://reviews.freebsd.org/D15463
You have a single quoted string containing a backslash followed by a
linefeed (newline). Unlike double quotes or unquoted strings, this has
no special meaning. The string will contain a literal backslash and a
linefeed.
If you wanted to break the line but not add a linefeed to the string,
stop the single quote, break the line, and reopen it.
PR: 227109
Submitted by: mat
Sponsored by: Absolight
Since files and arguments are strings passed the same way, programs
can't properly determine which is which, and rely on dashes to determine
what's what.
A file named -f (touch -- -f) will not be deleted by the problematic
code. It will instead be interpreted as a command line option, and rm
will even report success.
Using ./* will instead cause the glob to be expanded into ./-f, which no
program will treat as an option.
It is not possible to use `-f *` because -f only forces the next
argument to be a directory, a later directory named -delete would mess
things up.
PR: 227109
Submitted by: mat
Sponsored by: Absolight
By default, read will interpret backslashes before spaces and line
feeds, and otherwise strip them. This is rarely expected or desired.
Normally you just want to read data, which is what read -r does. You
should always use -r unless you have a good reason not to.
PR: 227109
Submitted by: mat
Sponsored by: Absolight
It's common to use A && B to run B when A is true, and A || C to run C
when A is false.
However, combining them into A && B || C is not the same as if A then B
else C.
In this case, if A is true but B is false, C will run.
If an if clause is used instead, this problem is avoided.
PR: 227109
Submitted by: mat
Sponsored by: Absolight
When command expansions are unquoted, word splitting and globbing will
occur. This often manifests itself by breaking when filenames contain
spaces.
Trying to fix it by adding quotes or escapes to the data will not work.
Instead, quote the command substitution itself.
If the command substitution outputs multiple pieces of data, use a loop
instead.
Add an exception when using set -- where splitting is intended.
PR: 227109
Submitted by: mat
Exp-run by: antoine
Sponsored by: Absolight
that has been necessary for the GCC 4.x series and should not see any
new usage anways.
Use more current versions of GCC in examples, choosing the two most
realistic options.
Backtick command substitution `STATEMENT` is legacy syntax with several
issues.
- It has a series of undefined behaviors related to quoting in POSIX.
- It imposes a custom escaping mode with surprising results.
- It's exceptionally hard to nest.
$(STATEMENT) command substitution has none of these problems, and is
therefore strongly encouraged.
PR: 227109
Submitted by: mat
Sponsored by: Absolight
In the original code, the return value of mycmd is ignored, and export
will instead always return true. This may prevent conditionals, set -e
and traps from working correctly.
PR: 227109
Submitted by: mat
Sponsored by: Absolight
cd can fail for a variety of reasons: misspelled paths, missing
directories, missing permissions, broken symlinks and more.
If/when it does, the script will keep going and do all its operations in
the wrong directory. This can be messy, especially if the operations
involve creating or deleting a lot of files.
PR: 227109
Submitted by: mat
Sponsored by: Absolight
ShellCheck has noticed that you reference a variable that is not
assigned in the script, which has a name remarkably similar to one that
is explicitly assigned. You should verify that the variable name is
spelled correctly.
PR: 227109
Submitted by: mat
Sponsored by: Absolight
ShellCheck has detected that you have a command that just consists of a
command substitution.
This is typically done in order to try to get the shell to execute a
command, because $(..) does indeed execute commands. However, it's also
replaced by the output of that command.
PR: 227109
Submitted by: mat
Sponsored by: Absolight