Commit graph

145 commits

Author SHA1 Message Date
tnn
24c071fd3e gmake: try harder to unbreak circular dependency
Having builtin gettext (the lib) doesn't always imply that we have a
builtin msgfmt (the tool).
2020-03-14 13:28:57 +00:00
rillig
508923f461 all: migrate several HOMEPAGEs to https
pkglint --only "https instead of http" -r -F

With manual adjustments afterwards since pkglint 19.4.4 fixed a few
indentations in unrelated lines.

This mainly affects projects hosted at SourceForce, as well as
freedesktop.org, CTAN and GNU.
2020-01-18 23:30:13 +00:00
jperkin
bded73aa1d gmake: Unbreak PREFER_PKGSRC circular dependencies.
Just because a builtin is available does not mean a user has configured their
system to use it.  Check for USE_BUILTIN instead of IS_BUILTIN to ensure both
the builtin is available, and the user has allowed pkgsrc to use it, before
enabling.
2019-10-31 15:05:52 +00:00
triaxx
613b97e3dc gmake: comment the inclusion of gettext-lib/builtin.mk 2019-10-28 10:03:18 +00:00
triaxx
1c5c2498ba gmake: make nls option enabled by default 2019-10-25 12:36:12 +00:00
triaxx
0b49e378cc gmake: fix misuse of variables from bsd.builtin.mk
pkgsrc changes:
---------------
- Replace PREFER.gettext=native (that does not work) by USE_BUILTIN.gettext.
2019-10-21 06:33:11 +00:00
triaxx
5f96f3288f gmake: fix PR pkg/54629
pkgsrc changes:
- Remove PLIST_SRC in Makefile.
- Remove PLIST.locale file (use PLIST.nls instead).
2019-10-20 16:29:42 +00:00
leot
3f4f2f7fe8 gmake: Unconditionally avoid setgid and group change in configure phase
On some systems gmake can be installed setgid and with the group
adjusted according the group of /dev/kmem.  Previously this was
adjusted in post-install phase.
Rework that by passing CONFIGURE_ARGS instead and document that
via a comment.
2018-11-16 16:00:18 +00:00
bsiegert
b0b9e94900 Patch SV 51159 in GNU Make.
Hopefully this will fix the problems joerg@ and others encountered last
time gmake was updated to 4.2.1. Description of the patch:

[SV 51159] Use a non-blocking read with pselect to avoid hangs.
* posixos.c (set_blocking): Set blocking on a file descriptor.
(jobserver_setup): Set non-blocking on the jobserver read side.
(jobserver_parse_auth): Ditto.
(jobserver_acquire_all): Set blocking to avoid a busy-wait loop.
(jobserver_acquire): If the non-blocking read() returns without
taking a token then try again.
2018-07-04 14:09:07 +00:00
bsiegert
a3a1053c89 Update GNU make to 4.2.1.
Version 4.2.1 (10 Jun 2016)

A complete list of bugs fixed in this version is available here:

http://sv.gnu.org/bugs/index.php?group=make&report_id=111&fix_release_id=107&set=custom

This release is a bug-fix release.


Version 4.2 (22 May 2016)

A complete list of bugs fixed in this version is available here:

http://sv.gnu.org/bugs/index.php?group=make&report_id=111&fix_release_id=106&set=custom

* New variable: $(.SHELLSTATUS) is set to the exit status of the last != or
  $(shell ...) function invoked in this instance of make.  This will be "0" if
  successful or not "0" if not successful.  The variable value is unset if no
  != or $(shell ...) function has been invoked.

* The $(file ...) function can now read from a file with $(file <FILE).
  The function is expanded to the contents of the file.  The contents are
  expanded verbatim except that the final newline, if any, is stripped.

* The makefile line numbers shown by GNU make now point directly to the
  specific line in the recipe where the failure or warning occurred.
  Sample changes suggested by Brian Vandenberg <phantall@gmail.com>

* The interface to GNU make's "jobserver" is stable as documented in the
  manual, for tools which may want to access it.

  WARNING: Backward-incompatibility! The internal-only command line option
  --jobserver-fds has been renamed for publishing, to --jobserver-auth.

* The amount of parallelism can be determined by querying MAKEFLAGS, even when
  the job server is enabled (previously MAKEFLAGS would always contain only
  "-j", with no number, when job server was enabled).
2018-07-04 09:42:56 +00:00
minskim
0a97376c78 devel/gmake: Make this work with glibc glob interface v2
http://git.savannah.gnu.org/cgit/make.git/commit/?id=193f1e81
2018-04-30 01:47:30 +00:00
minskim
b9119a27ae devel/gmake: Apply patch to support GLIBC glob interface v2
http://git.savannah.gnu.org/cgit/make.git/commit/?id=48c8a116
2018-04-28 06:59:41 +00:00
joerg
3279d6e931 Do not raise stack limits during the build. It messes up ressource
limits for multi-threaded applications. Bump revision.
2016-12-17 14:14:06 +00:00
joerg
107fc2ceea Readd two forgotten patches. 2016-09-08 22:46:58 +00:00
joerg
13c1c7fd57 Revert GNU make to 4.1 due to problems in the new job server code. 2016-09-08 20:39:37 +00:00
joerg
12d9813d5c Disable use of new pselect code. At least on NetBSD 7 bulk builds, it
is often resulting in hanging builds by gmake not wait(3)ing for its
children and issues new jobs. Bump revision.
2016-09-06 12:21:46 +00:00
wiz
2b0a009d0e Bump PKGREVISION for perl-5.24.0 for everything mentioning perl. 2016-07-09 06:37:46 +00:00
wiz
15c1fde5e9 Updated gmake to 4.2.1.
Version 4.2.1 (10 Jun 2016)

A complete list of bugs fixed in this version is available here:

http://sv.gnu.org/bugs/index.php?group=make&report_id=111&fix_release_id=107&set=custom

This release is a bug-fix release.
2016-06-11 18:29:44 +00:00
wiz
4ba0a6928a Update gmake to 4.2 (again), this time with an upstream patch
The patch fixes the firefox build issue:

From 4762480ae9cb8df4878286411f178d32db14eff0 Mon Sep 17 00:00:00 2001
From: Paul Smith <psmith@gnu.org>
Date: Tue, 31 May 2016 06:56:51 +0000
Subject: [SV 47995] Ensure forced double-colon rules work with -j.

The fix for SV 44742 had a side-effect that some double-colon targets
were skipped.  This happens because the "considered" facility assumed
that all targets would be visited on each walk through the dependency
graph: we used a bit for considered and toggled it on each pass; if
we didn't walk the entire graph on every pass the bit would get out
of sync.  The new behavior after SV 44742 might return early without
walking the entire graph.  To fix this I changed the considered value
to an integer which is monotonically increasing: it is then never
possible to incorrectly determine that a previous pass through the
graph already considered the current target.
2016-05-31 11:44:03 +00:00
tnn
14ea2d692f back out recent gmake 4.2 update due to mozilla products fallout
ok wiz@
2016-05-31 06:53:13 +00:00
khorben
f516d767c4 Revert r1.95 (Mark bin/gmake as not safe for Pax)
Checking again, I cannot reproduce the crashes anymore.
2016-05-27 08:13:22 +00:00
khorben
4ccc6c46a0 Mark bin/gmake from devel/gmake as not safe for Pax {ASLR,MPROTECT}
I observed crashes on NetBSD/amd64 without both options enabled; further
investigation is welcome.
2016-05-26 16:41:59 +00:00
wiz
41dff46940 Update gmake to 4.2:
Version 4.2 (22 May 2016)

A complete list of bugs fixed in this version is available here:

http://sv.gnu.org/bugs/index.php?group=make&report_id=111&fix_release_id=106&set=custom

* New variable: $(.SHELLSTATUS) is set to the exit status of the last != or
  $(shell ...) function invoked in this instance of make.  This will be "0" if
  successful or not "0" if not successful.  The variable value is unset if no
  != or $(shell ...) function has been invoked.

* The $(file ...) function can now read from a file with $(file <FILE).
  The function is expanded to the contents of the file.  The contents are
  expanded verbatim except that the final newline, if any, is stripped.

* The makefile line numbers shown by GNU make now point directly to the
  specific line in the recipe where the failure or warning occurred.
  Sample changes suggested by Brian Vandenberg <phantall@gmail.com>

* The interface to GNU make's "jobserver" is stable as documented in the
  manual, for tools which may want to access it.

  WARNING: Backward-incompatibility! The internal-only command line option
  --jobserver-fds has been renamed for publishing, to --jobserver-auth.

* The amount of parallelism can be determined by querying MAKEFLAGS, even when
  the job server is enabled (previously MAKEFLAGS would always contain only
  "-j", with no number, when job server was enabled).

* VMS-specific changes:

  * Perl test harness now works.

  * Full support for converting Unix exit status codes to VMS exit status
    codes.  BACKWARD INCOMPATIBILITY Notice: On a child failure the VMS exit
    code is now the encoded Unix exit status that Make usually generates, not
    the VMS exit status of the child.
2016-05-23 16:50:58 +00:00
jperkin
a7efdccd6c Use OPSYSVARS. 2016-02-25 12:12:47 +00:00
ryoon
fefe138533 Remove nls option for NetBSD
Fix PREFER_PKGSRC=yes circular dependency from gettext under NetBSD.
2016-01-01 01:42:53 +00:00
agc
d9e4cfe05d Add SHA512 digests for distfiles for devel category
Issues found with existing distfiles:
	distfiles/eclipse-sourceBuild-srcIncluded-3.0.1.zip
	distfiles/fortran-utils-1.1.tar.gz
	distfiles/ivykis-0.39.tar.gz
	distfiles/enum-1.11.tar.gz
	distfiles/pvs-3.2-libraries.tgz
	distfiles/pvs-3.2-linux.tgz
	distfiles/pvs-3.2-solaris.tgz
	distfiles/pvs-3.2-system.tgz
No changes made to these distinfo files.

Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden).  All existing
SHA1 digests retained for now as an audit trail.
2015-11-03 03:27:11 +00:00
obache
2902072395 Appy upstream git commit 292da6f6867b75a5af7ddbb639a1feae022f438f
to resolve upstrem bug#43434, make 4.1 without /dev/pts mounted segfaults.

Bump PKGREVISION.
2014-11-09 03:22:57 +00:00
wiz
b61954990b Update to 4.1:
Version 4.1 (05 Oct 2014)

A complete list of bugs fixed in this version is available here:

http://sv.gnu.org/bugs/index.php?group=make&report_id=111&fix_release_id=105&set=custom

* New variables: $(MAKE_TERMOUT) and $(MAKE_TERMERR) are set to non-empty
  values if stdout or stderr, respectively, are believed to be writing to a
  terminal.  These variables are exported by default.

* Allow a no-text-argument form of the $(file ...) function.  Without a text
  argument nothing is written to the file: it is simply opened in the
  requested mode, then closed again.

* Change the fatal error for mixed explicit and implicit rules, that was
  introduced in GNU make 3.82, to a non-fatal error.  However, this syntax is
  still deprecated and may return to being illegal in a future version of GNU
  make.  Makefiles that rely on this syntax should be fixed.
  See https://savannah.gnu.org/bugs/?33034
2014-10-12 14:58:27 +00:00
wiz
cda18437be Remove pkgviews: don't set PKG_INSTALLATION_TYPES in Makefiles. 2014-10-09 14:05:50 +00:00
ryoon
2e3562013d snprintf is required. Fix build under SCO OpenServer 5.0.7/3.2. 2014-07-17 13:09:18 +00:00
wiz
09cad2050d Update to 4.0:
Version 4.0 (09 Oct 2013)

A complete list of bugs fixed in this version is available here:

http://sv.gnu.org/bugs/index.php?group=make&report_id=111&fix_release_id=101&set=custom

* WARNING: Backward-incompatibility!
  If .POSIX is specified, then make adheres to the POSIX backslash/newline
  handling requirements, which introduces the following changes to the
  standard backslash/newline handling in non-recipe lines:
  * Any trailing space before the backslash is preserved
  * Each backslash/newline (plus subsequent whitespace) is converted to a
    single space

* New feature: GNU Guile integration
  This version of GNU make can be compiled with GNU Guile integration.
  GNU Guile serves as an embedded extension language for make.
  See the "Guile Function" section in the GNU Make manual for details.
  Currently GNU Guile 1.8 and 2.0+ are supported.  In Guile 1.8 there is no
  support for internationalized character sets.  In Guile 2.0+, scripts can be
  encoded in UTF-8.

* New command line option: --output-sync (-O) enables grouping of output by
  target or by recursive make.  This is useful during parallel builds to avoid
  mixing output from different jobs together giving hard-to-understand
  results.  Original implementation by David Boyce <dsb@boyski.com>.
  Reworked and enhanced by Frank Heckenbach <f.heckenbach@fh-soft.de>.
  Windows support by Eli Zaretskii <eliz@gnu.org>.

* New command line option: --trace enables tracing of targets.  When enabled
  the recipe to be invoked is printed even if it would otherwise be suppressed
  by .SILENT or a "@" prefix character.  Also before each recipe is run the
  makefile name and linenumber where it was defined are shown as well as the
  prerequisites that caused the target to be considered out of date.

* New command line option argument: --debug now accepts a "n" (none) flag
  which disables all debugging settings that are currently enabled.

* New feature: The "job server" capability is now supported on Windows.
  Implementation contributed by Troy Runkel <Troy.Runkel@mathworks.com>

* New feature: The .ONESHELL capability is now supported on Windows.  Support
  added by Eli Zaretskii <eliz@gnu.org>.

* New feature: "!=" shell assignment operator as an alternative to the
  $(shell ...) function.  Implemented for compatibility with BSD makefiles.
  Note there are subtle differences between "!=" and $(shell ...).  See the
  description in the GNU make manual.
  WARNING: Backward-incompatibility!
  Variables ending in "!" previously defined as "variable!= value" will now be
  interpreted as shell assignment.  Change your assignment to add whitespace
  between the "!" and "=": "variable! = value"

* New feature: "::=" simple assignment operator as defined by POSIX in 2012.
  This operator has identical functionality to ":=" in GNU make, but will be
  portable to any implementation of make conforming to a sufficiently new
  version of POSIX (see http://austingroupbugs.net/view.php?id=330).  It is
  not necessary to define the .POSIX target to access this operator.

* New feature: Loadable objects
  This version of GNU make contains a "technology preview": the ability to
  load dynamic objects into the make runtime.  These objects can be created by
  the user and can add extended functionality, usable by makefiles.

* New function: $(file ...) writes to a file.

* New variable: $(GNUMAKEFLAGS) will be parsed for make flags, just like
  MAKEFLAGS is.  It can be set in the environment or the makefile, containing
  GNU make-specific flags to allow your makefile to be portable to other
  versions of make.  Once this variable is parsed, GNU make will set it to the
  empty string so that flags will not be duplicated on recursion.

* New variable: `MAKE_HOST' gives the name of the host architecture
  make was compiled for.  This is the same value you see after 'Built for'
  when running 'make --version'.

* Behavior of MAKEFLAGS and MFLAGS is more rigorously defined.  All simple
  flags are grouped together in the first word of MAKEFLAGS.  No options that
  accept arguments appear in the first word.  If no simple flags are present
  MAKEFLAGS begins with a space.  Flags with both short and long versions
  always use the short versions in MAKEFLAGS.  Flags are listed in
  alphabetical order using ASCII ordering.  MFLAGS never begins with "- ".

* Setting the -r and -R options in MAKEFLAGS inside a makefile now works as
  expected, removing all built-in rules and variables, respectively.

* If a recipe fails, the makefile name and linenumber of the recipe are shown.

* A .RECIPEPREFIX setting is remembered per-recipe and variables expanded
  in that recipe also use that recipe prefix setting.

* In -p output, .RECIPEPREFIX settings are shown and all target-specific
  variables are output as if in a makefile, instead of as comments.

* On MS-Windows, recipes that use ".." quoting will no longer force
  invocation of commands via temporary batch files and stock Windows
  shells, they will be short-circuited and invoked directly.  (In
  other words, " is no longer a special character for stock Windows
  shells.)  This avoids hitting shell limits for command length when
  quotes are used, but nothing else in the command requires the shell.
  This change could potentially mean some minor incompatibilities in
  behavior when the recipe uses quoted string on shell command lines.
2013-10-23 08:54:59 +00:00
wiz
d2ca14a3f1 Bump all packages for perl-5.18, that
a) refer 'perl' in their Makefile, or
b) have a directory name of p5-*, or
c) have any dependency on any p5-* package

Like last time, where this caused no complaints.
2013-05-31 12:39:57 +00:00
richard
3ed5ea7272 Force intermediate targets to be considered if they are non-intermediate for parallel builds in devel/gmake 2013-05-12 05:47:24 +00:00
jperkin
cefff77d66 Add PKGGNUDIR support. 2012-12-06 11:38:19 +00:00
asau
e1ab7079b6 Drop superfluous PKG_DESTDIR_SUPPORT, "user-destdir" is default these days. 2012-10-31 11:16:30 +00:00
cheusov
7855c07dd3 Add symlink gnu/man/man1/make.1
++pkgrevision
2012-06-02 07:57:21 +00:00
cheusov
feaf6c4497 Remove GNU_PROGRAM_PREFIX variable (discussed in pkgsrc-users@).
All utilities are installed with a prefix 'g'. Symlinks with original
names are created in ${PREFIX}/gnu/bin.

++pkgrevision

Fix for some pkglint warnings
2012-05-29 21:37:03 +00:00
hans
9f877ff488 Fix PLIST for option nls. 2011-11-26 23:11:37 +00:00
hans
0743a49adc Use options framework for NLS support. Enable by default on NetBSD, but
not on other platforms.
2011-11-26 19:01:15 +00:00
bsiegert
eeacf6a7b6 Do not use strndup on MirBSD, it used to be broken. Fixes lots of
"mysterious" build failures on MirBSD.

Reviewed by agc and joerg.
2011-07-09 16:25:35 +00:00
obache
1d9df3258a recursive bump from gettext-lib shlib bump. 2011-04-22 13:41:54 +00:00
obache
cf416cae4c uintmax_t is defined in stdint.h on SUA, include it additionally. 2011-02-06 12:09:50 +00:00
is
e7dbc998f9 Revert the last change to avoid cyclic dependencies. 2011-01-17 20:52:58 +00:00
is
9fc1d5d456 Declaring char *getcwd(); interfered with _USE_FORTIFY_SOURCE=N (for N>0).
(pointed out by aniou@ircnet).

The problem is avoided by not declaring in make.h if defined(HAVE_UNISTD_H).

(I wish people would actually use configure's findings after it spent several
billions(en_US) of CPU cycles computing them.)
2011-01-17 14:17:29 +00:00
is
d22dbc03d8 Add USE_TOOLS+=perl; needed to run make test. 2011-01-17 12:53:23 +00:00
taca
80537397f8 Update distinfo, noted by tron@. (Thanks!) 2010-08-31 08:23:15 +00:00
taca
1b4af6642f Add a fix for bug #30612 (http://savannah.gnu.org/bugs/index.php?30612)
from GNU make's CVS repository (revision 1.194).  It solves some of
strange compile error on misc/rpm (and maybe more).

Bump PKGREVISION.
2010-08-31 07:02:48 +00:00
wiz
e205596dc7 Set LICENSE. 2010-08-07 06:33:18 +00:00
wiz
f715019d1f Update to 3.82:
Version 3.82

A complete list of bugs fixed in this version is available here:

http://sv.gnu.org/bugs/index.php?group=make&report_id=111&fix_release_id=104&set=custom

* Compiling GNU make now requires a conforming ISO C 1989 compiler and
  standard runtime library.

* WARNING: Future backward-incompatibility!
  Wildcards are not documented as returning sorted values, but up to and
  including this release the results have been sorted and some makefiles are
  apparently depending on that.  In the next release of GNU make, for
  performance reasons, we may remove that sorting.  If your makefiles
  require sorted results from wildcard expansions, use the $(sort ...)
  function to request it explicitly.

* WARNING: Backward-incompatibility!
  The POSIX standard for make was changed in the 2008 version in a
  fundamentally incompatible way: make is required to invoke the shell as if
  the '-e' flag were provided.  Because this would break many makefiles that
  have been written to conform to the original text of the standard, the
  default behavior of GNU make remains to invoke the shell with simply '-c'.
  However, any makefile specifying the .POSIX special target will follow the
  new POSIX standard and pass '-e' to the shell.  See also .SHELLFLAGS
  below.

* WARNING: Backward-incompatibility!
  The '$?' variable now contains all prerequisites that caused the target to
  be considered out of date, even if they do not exist (previously only
  existing targets were provided in $?).

* WARNING: Backward-incompatibility!
  As a result of parser enhancements, three backward-compatibility issues
  exist: first, a prerequisite containing an "=" cannot be escaped with a
  backslash any longer.  You must create a variable containing an "=" and
  use that variable in the prerequisite.  Second, variable names can no
  longer contain whitespace, unless you put the whitespace in a variable and
  use the variable.  Third, in previous versions of make it was sometimes
  not flagged as an error for explicit and pattern targets to appear in the
  same rule.  Now this is always reported as an error.

* WARNING: Backward-incompatibility!
  The pattern-specific variables and pattern rules are now applied in the
  shortest stem first order instead of the definition order (variables
  and rules with the same stem length are still applied in the definition
  order). This produces the usually-desired behavior where more specific
  patterns are preferred. To detect this feature search for 'shortest-stem'
  in the .FEATURES special variable.

* WARNING: Backward-incompatibility!
  The library search behavior has changed to be compatible with the standard
  linker behavior. Prior to this version for prerequisites specified using
  the -lfoo syntax make first searched for libfoo.so in the current
  directory, vpath directories, and system directories. If that didn't yield
  a match, make then searched for libfoo.a in these directories. Starting
  with this version make searches first for libfoo.so and then for libfoo.a
  in each of these directories in order.

* New command line option: --eval=STRING causes STRING to be evaluated as
  makefile syntax (akin to using the $(eval ...) function).  The evaluation
  is performed after all default rules and variables are defined, but before
  any makefiles are read.

* New special variable: .RECIPEPREFIX allows you to reset the recipe
  introduction character from the default (TAB) to something else.  The
  first character of this variable value is the new recipe introduction
  character.  If the variable is set to the empty string, TAB is used again.
  It can be set and reset at will; recipes will use the value active when
  they were first parsed.  To detect this feature check the value of
  $(.RECIPEPREFIX).

* New special variable: .SHELLFLAGS allows you to change the options passed
  to the shell when it invokes recipes.  By default the value will be "-c"
  (or "-ec" if .POSIX is set).

* New special target: .ONESHELL instructs make to invoke a single instance
  of the shell and provide it with the entire recipe, regardless of how many
  lines it contains.  As a special feature to allow more straightforward
  conversion of makefiles to use .ONESHELL, any recipe line control
  characters ('@', '+', or '-') will be removed from the second and
  subsequent recipe lines.  This happens _only_ if the SHELL value is deemed
  to be a standard POSIX-style shell.  If not, then no interior line control
  characters are removed (as they may be part of the scripting language used
  with the alternate SHELL).

* New variable modifier 'private': prefixing a variable assignment with the
  modifier 'private' suppresses inheritance of that variable by
  prerequisites.  This is most useful for target- and pattern-specific
  variables.

* New make directive: 'undefine' allows you to undefine a variable so that
  it appears as if it was never set. Both $(flavor) and $(origin) functions
  will return 'undefined' for such a variable. To detect this feature search
  for 'undefine' in the .FEATURES special variable.

* The parser for variable assignments has been enhanced to allow multiple
  modifiers ('export', 'override', 'private') on the same line as variables,
  including define/endef variables, and in any order.  Also, it is possible
  to create variables and targets named as these modifiers.

* The 'define' make directive now allows a variable assignment operator
  after the variable name, to allow for simple, conditional, or appending
  multi-line variable assignment.
2010-08-07 06:31:16 +00:00
snj
4f541431be Switch to the bzip2 distfile, as requested in PR pkg/30553. 2009-12-02 19:50:38 +00:00