Name coreutils
Description The basic file, shell and text manipulation utilities of the GNU operating system
Version 9.10-1
Package Base coreutils
Homepage https://www.gnu.org/software/coreutils/
Maintainers ['Sébastien "Seblu" Luttringer', 'Tobias Powalowski <tpowa@archlinux.org>']
Contributors ['Allan McRae <allan@archlinux.org>', 'Bartłomiej Piotrowski <bpiotrowski@archlinux.org>', 'judd <jvinet@zeroflux.org>']
Distro-repo https://gitlab.archlinux.org/archlinux/packaging/packages/coreutils
Sources ['git+https://git.savannah.gnu.org/git/coreutils.git?signed#tag=v9.10', 'git+https://git.savannah.gnu.org/git/gnulib.git', 'https://ftp.gnu.org/gnu/coreutils/coreutils-9.10.tar.gz', 'https://ftp.gnu.org/gnu/coreutils/coreutils-9.10.tar.gz.sig']
Dependencies ['acl', 'attr', 'glibc', 'gmp', 'libcap', 'openssl']
Optional-Dependencies []
Build-Dependencies ['git', 'gperf', 'python', 'wget']
Provides []
Builddate 04-02-2026 17:59:19
Architecture x86_64
Distro-Version
Licenses ['GFDL-1.3-or-later', 'GPL-3.0-or-later']
Hash 375b68a7169caa9d78cfb509dd9a9f0cfc81973310edef56b1c281a6ce6b4435
# Maintainer: Sébastien "Seblu" Luttringer
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
# Contributor: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
# Contributor: Allan McRae <allan@archlinux.org>
# Contributor: judd <jvinet@zeroflux.org>

pkgname=coreutils
pkgver=9.10
pkgrel=1
pkgdesc='The basic file, shell and text manipulation utilities of the GNU operating system'
arch=('x86_64')
license=(
  GPL-3.0-or-later
  GFDL-1.3-or-later
)
url='https://www.gnu.org/software/coreutils/'
depends=( 
  acl  
  attr
  glibc
  gmp
  libcap
  openssl
)
makedepends=(
  git
  gperf
  python
  wget
)
source=(
  git+https://git.savannah.gnu.org/git/coreutils.git?signed#tag=v${pkgver}
  git+https://git.savannah.gnu.org/git/gnulib.git
  https://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.gz{,.sig}
)
validpgpkeys=(
 6C37DC12121A5006BC1DB804DF6FD971306037D9 # Pádraig Brady
)
options=(!lto)
b2sums=('7f78aa9c87f4faebc7ae9b07a18c550fb34d63dfeaeede8e55e29bfe0bedc909959eac5f1c8d91bb9ca3f78ec0bc4b9d02a8f2cb96eb31c92d66bdd0d02c0e2e'
        'SKIP'
        '31614bbd57ff4f569b646f89e6f16f26d14d8293b316c3321587699bd25ee71b8e79fa96fbe6cef4f0b3e3ed5c9c67a7920d9ec6140b6b30fd83d9eb1bf0f282'
        'SKIP')

prepare() {
  cd "${pkgname}"
  # Skip downloading unstable po files in bootstrap scripts to avoid non-deterministic builds
  export SKIP_PO="1"
  # The $SKIP_PO environment variable is only honored by the gnulib submodule if using its "sh" implementation
  export GNULIB_TOOL_IMPL="sh"

  git submodule init
  git config submodule.gnulib.url ../gnulib
  git -c protocol.file.allow=always submodule update

  ./bootstrap

  # apply patch from the source array (should be a pacman feature)
  local src
  for src in "${source[@]}"; do
    src="${src%%::*}"
    src="${src##*/}"
    [[ $src = *.patch ]] || continue
    echo "Applying patch $src..."
    patch -Np1 < "../$src"
  done
}

build() {
  cd "${pkgname}"
  ./configure \
    --prefix=/usr \
    --libexecdir=/usr/lib \
    --with-openssl \
    --enable-no-install-program=hostname,kill,uptime
  make
  
  # Generate coreutils mo files from dist tarball
  cd "${srcdir}/${pkgname}-${pkgver}/po"
  for po in *.po; do
    msgfmt "${po}" -o "${po%.po}.mo"
  done
}

check() {
  cd "${pkgname}"
  make check
}

package() {
  cd "${pkgname}"
  make DESTDIR="${pkgdir}" install

  # Install coreutils mo files from dist tarball
  cd "${srcdir}/${pkgname}-${pkgver}/po"
  for mo in *.mo; do
    install -Dm 644 "${mo}" "${pkgdir}/usr/share/locale/${mo%.mo}/LC_MESSAGES/${pkgname}.mo"
    install -Dm 644 "${mo}" "${pkgdir}/usr/share/locale/${mo%.mo}/LC_TIME/${pkgname}.mo"
  done
}