Skip to content

kleisauke/libvips-packaging

 
 

Repository files navigation

Packaging scripts

libvips and its dependencies are provided as pre-compiled shared libraries for the most common operating systems and CPU architectures.

Used by NetVips and pyvips

These are packaged12 and published to both NuGet and PyPI.

The version number of these packages is in sync with libvips' version number.

Creating a tarball

Most people will not need to do this; proceed with caution.

Run the top-level build script without parameters for help.

Linux

One build script is used to (cross-)compile the same shared libraries within multiple containers.

Windows

The output of libvips' build-win64-mxe static "web" releases are post-processed within a container.

macOS

Uses a macOS virtual machine hosted by GitHub to compile the shared libraries. The dylib files are compiled within the same build script as Linux.

  • x64 (native)
  • ARM64 (cross-compiled)

Dependency paths are modified to use the relative @loader_path with install_name_tool.

Licences

These scripts are licensed under the terms of the Apache 2.0 Licence.

The shared libraries contained in the tarballs are distributed under the terms of various licences, all of which are compatible with the Apache 2.0 Licence.

Footnotes

  1. https://github.com/kleisauke/net-vips/blob/master/build/Build.cs

  2. https://github.com/kleisauke/pyvips-binary/blob/main/.github/workflows/build-release.yml

About

Packaging scripts to prebuild libvips and its dependencies.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Shell 74.8%
  • Dockerfile 20.2%
  • CMake 5.0%