SoftCreatR / imei

IMEI - ImageMagick Easy Install
ISC License
293 stars 35 forks source link

libheif 1.16.1 update has broken heic support #78

Closed nakedgun closed 1 year ago

nakedgun commented 1 year ago

The github actions bot updated the version of libheif yesterday to 1.16.1 in this commit. This has broken heic support, because version 1.16.1 of libheif now uses "CMake instead of autotools", as per the libheif docs.

If you run imei.sh, it'll say libheif installed correctly, but if you check /var/log/imei.log you'll see it failed with an error that "autogen.sh" cannot be found.

Replacing this bit of code here:

tar -xf "libheif-$LIBHEIF_VER.tar.gz" &&
  cd "libheif-$LIBHEIF_VER" &&
  ./autogen.sh &&
  ./configure &&
  make

with

tar -xf "libheif-$LIBHEIF_VER.tar.gz" &&
  cd "libheif-$LIBHEIF_VER" &&
  mkdir build &&
  cd build &&
  cmake --preset=release ..
  make

Seems to fix it. However, the log does show some warnings, such as:

  WARNING: MISSING PACKAGE

  We could not find development headers for DAV1D.  Do you have the necessary
  dev package installed? This package is NOT REQUIRED and you may ignore this
  warning but by doing so you may miss some functionality of libheif.

  Relevant CMake configuration variables:

    DAV1D_INCLUDE_DIR=<not found>
    DAV1D_LIBRARY=<not found>

I'm not familiar with libheif itself & haven't done any further testing - just sharing my findings so far.

Note: The fix above is not safe to merge as is because it will break cases where people supply a custom version of libheif using --libheif-version. If libheif <= 1.15.2, it should use the old build command. Anything higher should use CMake.

SoftCreatR commented 1 year ago

Thank you for bringing this to my attention. I'll work on a fix as soon as possible.