pkgsrc/sysutils/coreutils/Makefile.common
ryoon fdd0d68dd6 coreutils: Update to 9.0
Changelog:
* Noteworthy changes in release 9.0 (2021-09-24) [stable]

** Bug fixes

  chmod -v no longer misreports modes of dangling symlinks.
  [bug introduced in coreutils-5.3.0]

  cp -a --attributes-only now never removes destination files,
  even if the destination files are hardlinked, or the source
  is a non regular file.
  [bug introduced in coreutils-8.6]

  csplit --suppress-matched now elides the last matched line
  when a specific number of pattern matches are performed.
  [bug introduced with the --suppress-matched feature in coreutils-8.22]

  df no longer outputs duplicate remote mounts in the presence of bind mounts.
  [bug introduced in coreutils-8.26]

  df no longer mishandles command-line args that it pre-mounts
  [bug introduced in coreutils-8.29]

  du no longer crashes on XFS file systems when the directory hierarchy is
  heavily changed during the run.
  [bug introduced in coreutils-8.25]

  env -S no longer crashes when given unusual whitespace characters
  [bug introduced in coreutils-8.30]

  expr no longer mishandles unmatched \(...\) in regular expressions.
  [bug introduced in coreutils-6.0]

  ls no longer crashes when printing the SELinux context for unstatable files.
  [bug introduced in coreutils-6.9.91]

  mkdir -m no longer mishandles modes more generous than the umask.
  [bug introduced in coreutils-8.22]

  nl now handles single character --section-delimiter arguments,
  by assuming a second ':' character has been specified, as specified by POSIX.
  [This bug was present in "the beginning".]

  pr again adjusts tabs in input, to maintain alignment in multi column output.
  [bug introduced in coreutils-6.9]

  rm no longer skips an extra file when the removal of an empty directory fails.
  [bug introduced by the rewrite to use fts in coreutils-8.0]

  split --number=K/N will again correctly split chunk K of N to stdout.
  Previously a chunk starting after 128KiB, output the wrong part of the file.
  [bug introduced in coreutils-8.26]

  tail -f no longer overruns a stack buffer when given too many files
  to follow and ulimit -n exceeds 1024.
  [bug introduced in coreutils-7.5]

  tr no longer crashes when using --complement with certain
  invalid combinations of case character classes.
  [bug introduced in coreutils-8.6]

  basenc --base64 --decode no longer silently discards decoded characters
  on (1024*5) buffer boundaries
  [bug introduced in coreutils-8.31]

** Changes in behavior

  cp and install now default to copy-on-write (COW) if available.

  cp, install and mv now use the copy_file_range syscall if available.
  Also, they use lseek+SEEK_HOLE rather than ioctl+FS_IOC_FIEMAP on sparse
  files, as lseek is simpler and more portable.

  On GNU/Linux systems, ls no longer issues an error message on a
  directory merely because it was removed.  This reverts a change
  that was made in release 8.32.

  ptx -T no longer attempts to substitute old-fashioned TeX escapes
  for 8-bit non-ASCII alphabetic characters.  TeX indexes should
  instead use '\usepackage[latin1]{inputenc}' or equivalent.

  stat will use decomposed (major,minor) device numbers in its default format.
  This is less ambiguous, and more consistent with ls.

  sum [-r] will output a file name, even if only a single name is passed.
  This is consistent with sum -s, cksum, and other sum(1) implementations.

** New Features

  cksum now supports the -a (--algorithm) option to select any
  of the existing sum, md5sum, b2sum, sha*sum implementations etc.
  cksum now subsumes all of these programs, and coreutils
  will introduce no future standalone checksum utility.

  cksum -a now supports the 'sm3' argument, to use the SM3 digest algorithm.

  cksum --check now supports auto detecting the digest type to use,
  when verifying tagged format checksums.

  expr and factor now support bignums on all platforms.

  ls --classify now supports the "always", "auto", or "never" flags,
  to support only outputting classifier characters if connected to a tty.

  ls now accepts the --sort=width option, to sort by file name width.
  This is useful to more compactly organize the default vertical column output.

  ls now accepts the --zero option, to terminate each output line with
  NUL instead of newline.

  nl --line-increment can now take a negative number to decrement the count.

  stat supports more formats for representing decomposed device numbers.
  %Hd,%Ld and %Hr,%Lr will output major,minor device numbers and device types
  respectively.  %d corresponds to st_dev and %r to std_rdev.

** Improvements

  cat --show-ends will now show \r\n as ^M$.  Previously the \r was taken
  literally, thus overwriting the first character in the line with '$'.

  cksum [-a crc] is now up to 4 times faster by using a slice by 8 algorithm,
  and at least 8 times faster where pclmul instructions are supported.
  A new --debug option will indicate if pclmul is being used.

  md5sum --check now supports checksum files with CRLF line endings.
  This also applies to cksum, sha*sum, and b2sum.

  df now recognizes these file systems as remote:
  acfs, coda, fhgfs, gpfs, ibrix, ocfs2, and vxfs.

  rmdir now clarifies the error if a symlink_to_dir/ has not been traversed.
  This is the case on GNU/Linux systems, where the trailing slash is ignored.

  stat and tail now know about the "devmem", "exfat", "secretmem", "vboxsf",
  and "zonefs" file system types.  stat -f -c%T now reports the file system
  type, and tail -f uses polling for "vboxsf" and inotify for the others.

  timeout now supports sub-second timeouts on macOS.

  wc is up to 5 times faster when counting only new line characters,
  where avx2 instructions are supported.
  A new --debug option will indicate if avx2 is being used.
2021-10-03 13:11:56 +00:00

82 lines
2.5 KiB
Text

# $NetBSD: Makefile.common,v 1.25 2021/10/03 13:11:56 ryoon Exp $
#
# used by sysutils/coreutils/Makefile
# used by misc/gnuls/Makefile
DISTNAME= coreutils-9.0
CATEGORIES= sysutils
MASTER_SITES= ${MASTER_SITE_GNU:=coreutils/}
EXTRACT_SUFX= .tar.xz
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= https://www.gnu.org/software/coreutils/
COMMENT= GNU basic file, shell and text manipulation utilities
LICENSE= gnu-gpl-v3
NOT_FOR_PLATFORM= NetBSD-2.0[D-H]-*
PATCHDIR= ${.CURDIR}/../../sysutils/coreutils/patches
DISTINFO_FILE= ${.CURDIR}/../../sysutils/coreutils/distinfo
GNU_CONFIGURE= YES
USE_TOOLS+= msgfmt msgmerge perl xgettext
USE_PKGLOCALEDIR= YES
# --- man/chroot.1 ---
# GEN man/chroot.1
# help2man: can't get `--help' info from chroot.td/chroot
# Try `--no-discard-stderr' if option outputs to stderr
# *** [man/chroot.1] Error code 127
MAKE_JOBS_SAFE= NO
TEST_TARGET= check
.include "../../mk/bsd.prefs.mk"
# Otherwise configure aborts when ran by root
CONFIGURE_ENV+= FORCE_UNSAFE_CONFIGURE=yes
CONFIGURE_ENV.Interix+= ac_list_mounted_fs=found
CONFIGURE_ENV.DragonFly+= gl_cv_search_pthread_join=-lpthread
# Various tests rely on GCC's -O2 behaviour (e.g. -D__NO_INLINE__) and
# without it we run into undefined symbol issues.
.if ${OPSYS} == "Darwin" && ${PKGSRC_COMPILER:Mgcc}
CFLAGS+= -O2
.endif
# clang on SunOS parses -errwarn as an -e entry point argument to the linker,
# which ignores it as it's a duplicate argument. Turn it off explicitly.
.if ${PKGSRC_COMPILER:Mclang}
CONFIGURE_ENV.SunOS+= gl_cv_warn_c__errwarn=no
.endif
# Explicitly disable inotify support whilst it is Linux-specific.
CONFIGURE_ENV.SunOS+= ac_cv_func_inotify_init=no
# Identify Solaris vs illumos where appropriate
.if ${OPSYS} == "SunOS" && ${OS_VARIANT} != "Solaris"
CONFIGURE_ENV+= gl_cv_host_operating_system=illumos
.endif
.if !empty(MACHINE_PLATFORM:MDarwin-[9].*-*)
CONFIGURE_ENV+= ac_cv_header_sys_acl_h=no jm_cv_func_svid_putenv=yes
.endif
# XXX - this hack is bound to cause fallout on some platform at some point.
# How can we determine the API version of the builtin gettext?
.if ${OPSYS} != "Linux"
CONFIGURE_ENV+= gt_cv_func_gnugettext3_libintl=yes
.endif
CONFIGURE_ENV+= MKDIR_P=${MKDIR:Q}
CONFIGURE_ARGS+= --program-prefix=g
#CONFIGURE_ARGS+= --enable-install-program=su
#.if ${OPSYS} == "NetBSD" || ${OPSYS} == "FreeBSD" || \
# ${OPSYS} == "OpenBSD"
#MAKE_FLAGS+= setuid_root_mode=a=rx
#MESSAGE_SRC= ${.CURDIR}/MESSAGE.gsu
#MESSAGE_SUBST+= OPSYS=${OPSYS:Q}
#.endif