Name libwebp
Description WebP image codec library
Version 1.6.0-2
Package Base libwebp
Homepage https://developers.google.com/speed/webp/
Maintainers ['Jan Alexander Steffens (heftig) <heftig@archlinux.org>']
Contributors ['Alexander Rødseth <rodseth@gmail.com>', 'Jon Nordby <jononor@gmail.com>']
Distro-repo https://gitlab.archlinux.org/archlinux/packaging/packages/libwebp
Sources ['0001-cmake-Install-anim-utils.patch', 'https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-1.6.0.tar.gz', 'https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-1.6.0.tar.gz.asc']
Dependencies ['glibc']
Optional-Dependencies ['libwebp-utils']
Build-Dependencies ['cmake', 'giflib', 'libjpeg-turbo', 'libpng', 'libtiff', 'ninja']
Provides ['libsharpyuv.so', 'libwebp.so', 'libwebpdecoder.so', 'libwebpdemux.so', 'libwebpmux.so']
Builddate 16-09-2025 02:34:09
Architecture x86_64
Distro-Version
Licenses ['BSD-3-Clause']
Hash a80e7edd3ddd27c6fd8cd83d0bd98d46b3f0279b7ee01f5baeded0d6f26f8975
# Maintainer: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
# Contributor: Alexander Rødseth <rodseth@gmail.com>
# Contributor: Jon Nordby <jononor@gmail.com>

pkgbase=libwebp
pkgname=(
  libwebp
  libwebp-utils
)
pkgver=1.6.0
pkgrel=2
pkgdesc="WebP image codec library"
url="https://developers.google.com/speed/webp/"
arch=(x86_64)
license=(BSD-3-Clause)
depends=(
  glibc
)
makedepends=(
  cmake
  giflib
  libjpeg-turbo
  libpng
  libtiff
  ninja
)
source=(
  https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-${pkgver/[a-z]/-&}.tar.gz{,.asc}
  0001-cmake-Install-anim-utils.patch
)
sha256sums=('e4ab7009bf0629fd11982d4c2aa83964cf244cffba7347ecd39019a9e38c4564'
            'SKIP'
            '72128445371887c81046ad19cdbd1688e6b180e6428aec579cac0df756c2af35')
b2sums=('cbdfa8616edce14bf3f8621d9d0d925884d0f40e8775c7d8810575c8bec88f10ed912029cc0a4bccf9bb9eb98824e4b1a89ec61ee53d7ef20a150450d8513168'
        'SKIP'
        'f059b5c5729e5ead14f2d715e4192e02cab05cfb70d8781d9ffdba961eaeaf4515e2029845e8a5949a69d3a11a0a154128cc9fc58c34032b1d0d500c86ffa266')
validpgpkeys=(
  6B0E6B70976DE303EDF2F601F9C3D6BDB8232B5D # WebP release signing key
)

prepare() {
  cd libwebp-$pkgver

  # Install animation utilities
  # https://gitlab.archlinux.org/archlinux/packaging/packages/libwebp/-/merge_requests/1
  patch -Np1 -i ../0001-cmake-Install-anim-utils.patch
}

build() {
  local cmake_options=(
    -D BUILD_SHARED_LIBS=ON
    -D CMAKE_BUILD_TYPE=None
    -D CMAKE_INSTALL_LIBDIR=/usr/lib
    -D CMAKE_INSTALL_PREFIX=/usr
    -D CMAKE_SKIP_INSTALL_RPATH=ON
    -D WEBP_BUILD_CWEBP=ON
    -D WEBP_BUILD_DWEBP=ON
    -D WEBP_BUILD_EXTRAS=OFF
    -D WEBP_BUILD_GIF2WEBP=ON
    -D WEBP_BUILD_IMG2WEBP=ON
    -D WEBP_BUILD_VWEBP=OFF
  )

  # Mimic autotools build without --enable-asserts
  CFLAGS+=" -DNDEBUG"
  CXXFLAGS+=" -DNDEBUG"

  cmake -S libwebp-$pkgver -B build -G Ninja "${cmake_options[@]}"
  cmake --build build
}

check() {
  ctest --test-dir build --output-on-failure --stop-on-failure -j$(nproc)
}

_pick() {
  local p="$1" f d; shift
  for f; do
    d="$srcdir/$p/${f#$pkgdir/}"
    mkdir -p "$(dirname "$d")"
    mv "$f" "$d"
    rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")"
  done
}

package_libwebp() {
  optdepends=(
    'libwebp-utils: WebP conversion and inspection tools'
  )
  provides=(
    libsharpyuv.so
    libwebp{,decoder,demux,mux}.so
  )

  DESTDIR="$pkgdir" cmake --install build

  _pick utils "$pkgdir"/usr/bin
  _pick utils "$pkgdir"/usr/share/man/man1

  install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 \
    libwebp-$pkgver/COPYING
}

package_libwebp-utils() {
  depends=(
    giflib
    glibc
    libjpeg-turbo
    libpng
    libtiff
    libwebp
  )

  mv utils/* "$pkgdir"

  install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 \
    libwebp-$pkgver/COPYING
}

# vim:set sw=2 sts=-1 et: