• This topic has 8 replies, 1 voice, and was last updated 3 months ago by John Cupit.
Viewing 8 reply threads
  • Author
    Posts
    • #4324 Reply
      Nick
      Guest

      There’s already an apt package for libvips – a tool that is FAR faster and less resource-intensive than imagick for converting and processing images – but it is fairly out of date on most Ubuntu OSs. 24.04 Noble seems to have the latest version, and will be released in a few months, but that doesn’t help people running Jammy, Focal etc…

      Would you consider adding a package for libvips42? The main problem that I foresee is that it has a lot of dependencies… Though, it might be possible to create a single static binary with all depenedencies – https://github.com/libvips/libvips/discussions/3426

      Here’s how to use it in php, which is probably of interest to you https://github.com/libvips/php-vips

      Thanks!

    • #4328 Reply
      Thijs Eilander
      Keymaster

      Hi,

      I can rebuild for Trixie, Noble, Bookworm, Jammy, Bullseye.
      Focal, Buster and Bionic have a meson version of < 0.55 and the latest libvip needs > 0.55

      It’s building now, please test it and let me know ;-)

    • #4334 Reply
      Nick
      Guest

      Thanks! It seems to work well, except it doesn’t upgrade most of the (considerable amount of) dependencies.

      A quick check can be seen here:

      https://packages.ubuntu.com/jammy/libvips42
      vs
      https://packages.ubuntu.com/noble/libvips42

      libheif and libwebp are the one I’m particularly interested in, for AVIF and WEBP image support.

      But I also overrode jammy as noble in the various repo files (e.g. /etc/apt/sources.list) and there seem to be considerable other differences as well. Is this simply unavoidable? I can provide comprehensive lists of package differences if you like

    • #4333 Reply
      Nick
      Guest

      Thanks! It seems to work well, except it doesn’t upgrade most of the (considerable amount of) dependencies.

      A quick check can be seen here:

      https://packages.ubuntu.com/jammy/libvips42
      vs
      https://packages.ubuntu.com/noble/libvips42

      libheif and libwebp are the one I’m particularly interested in, for AVIF and WEBP image support.

      But I also overrode jammy as noble in the various repo files (e.g. /etc/apt/sources.list) and there seem to be considerable other differences as well. Is this simply unavoidable? I can provide comprehensive lists of package differences if you like

    • #4342 Reply
      Thijs Eilander
      Keymaster

      Hi,

      The Noble package doesn’t build on Jammy, so I used an older package as base and updated it to the latest version of libvips.

      If I understand you correctly you want updated packages for webp and avif as well, but then I have to repackage them too, and their dependencies, and their dependencies ;-) The Noble package might have some dependencies which Jammy (and below) simply doesn’t have so I have to create new packages too.

      I’m afraid that’s not easily being achieved. It’s easier to create a noble docker with the packages and use that or upgrade to the release candidate of Noble itself for the time being.

    • #4347 Reply
      Nick Chomey
      Guest

      That all makes sense and is what I suspected would be the case when I opened this thread. Thanks for the consideration, and for doing what you were able to do – its certainly much better than nothing at all.

      I’ll deploy noble when it is released in a couple months. But you are probably right that Docker is the right tool for this job (and surely most others) – I should look into putting my entire configuration into an image and then I can easily handle specific packages and dependencies.

    • #4350 Reply
      John Cupitt
      Guest

      Hello, libvips maintainer here, thank you for making this package!

      I would make a few changes to the jammy deb for 8.15:

      1. Swap libgsf for libarchive. We’ve got a new backend for dzsave and moved on from the slightly clumsy libgsf. Performance is better too. Without this change libvips won’t be able to write deepzoom / gmaps / etc. pyramids.

      2. Remove libmatio. This library is extremely insecure by design (no attempt is made to validate input) and can be trivially hacked. It should not be exposed to internet data, IMO. It’s used to load Matlab save files, which is not a common thing, so I think most people would not miss it.

      3. I would consider removing libmagick* as well. libvips uses it for formats like BMP and ICO, which are (arguably) not widely used. Including it brings in a range of security issues.

      4. You could consider removing libexr. Again, EXR images are not widely used, and you save some bytes off your package.

      5. I would also remove libopenslide. This is an extreme minority set of formats useful only in the digital pathology community.

      6. 8.15 still has orc support, but has a new SIMD backend based on libhwy. If you can bear to package it, swapping orc for hwy would be useful.

      7. 8.15 supports libspng as well as libpng. If libspng is packaged, it’s faster and safer than libpng.

      8. I would remove nip2 from the recommended list. It (annoyingly) brings in most of X11 unless users remember to turn on –no-install-recommends.

    • #4352 Reply
      Nick
      Guest

      Wow, great insights! Do you have any suggestions about my concern that this package installs some different dependency versions than if you override apt to use Ubuntu 24.04 Noble?

      Here’s the packages they each version installs.
      https://packages.ubuntu.com/jammy/libvips42
      https://packages.ubuntu.com/noble/libvips42

      But using this package doesn’t install all the versions from noble – some remain older, like libheif and libwebp.

      Does that matter for libvips? Or will it happily use whatever dependency version is available?

    • #4357 Reply
      John Cupit
      Guest

      libvips has a set of minimum required versions (enforced be meson), but as long as you meet the minimum, it should all work. The summary table at the end of meson setup lists the detected versions and whether or not they will work. We try to be flexible, so (for example) it still builds on rhel7.

Viewing 8 reply threads
Reply To: Request for VIPS package
Your information: