mirror of
				https://github.com/python-pillow/Pillow.git
				synced 2025-11-04 18:07:51 +03:00 
			
		
		
		
	Tweaks to ensure isolation from Homebrew on x86_64.
This commit is contained in:
		
							parent
							
								
									fc35fcc5ea
								
							
						
					
					
						commit
						00809a2551
					
				
							
								
								
									
										34
									
								
								.github/workflows/wheels-dependencies.sh
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										34
									
								
								.github/workflows/wheels-dependencies.sh
									
									
									
									
										vendored
									
									
								
							| 
						 | 
					@ -4,6 +4,9 @@
 | 
				
			||||||
if [ -z "$IS_MACOS" ]; then
 | 
					if [ -z "$IS_MACOS" ]; then
 | 
				
			||||||
    export MB_ML_LIBC=${AUDITWHEEL_POLICY::9}
 | 
					    export MB_ML_LIBC=${AUDITWHEEL_POLICY::9}
 | 
				
			||||||
    export MB_ML_VER=${AUDITWHEEL_POLICY:9}
 | 
					    export MB_ML_VER=${AUDITWHEEL_POLICY:9}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Build and install into the `build/deps` folder.
 | 
				
			||||||
 | 
					    BUILD_PREFIX=$(pwd)/build/deps
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
export PLAT=$CIBW_ARCHS
 | 
					export PLAT=$CIBW_ARCHS
 | 
				
			||||||
source wheels/multibuild/common_utils.sh
 | 
					source wheels/multibuild/common_utils.sh
 | 
				
			||||||
| 
						 | 
					@ -84,6 +87,18 @@ function build_harfbuzz {
 | 
				
			||||||
    touch harfbuzz-stamp
 | 
					    touch harfbuzz-stamp
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function build_raqm {
 | 
				
			||||||
 | 
					    if [ -e raqm-stamp ]; then return; fi
 | 
				
			||||||
 | 
					    python3 -m pip install meson ninja
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    local out_dir=$(fetch_unpack https://github.com/HOST-Oman/libraqm/releases/download/v$RAQM_VERSION/raqm-$RAQM_VERSION.tar.xz raqm-$RAQM_VERSION.tar.xz)
 | 
				
			||||||
 | 
					    (cd $out_dir \
 | 
				
			||||||
 | 
					        && meson setup build --prefix=$BUILD_PREFIX)
 | 
				
			||||||
 | 
					    (cd $out_dir/build \
 | 
				
			||||||
 | 
					        && meson install)
 | 
				
			||||||
 | 
					    touch raqm-stamp
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function build {
 | 
					function build {
 | 
				
			||||||
    build_xz
 | 
					    build_xz
 | 
				
			||||||
    if [ -z "$IS_ALPINE" ] && [ -z "$IS_MACOS" ]; then
 | 
					    if [ -z "$IS_ALPINE" ] && [ -z "$IS_MACOS" ]; then
 | 
				
			||||||
| 
						 | 
					@ -105,9 +120,12 @@ function build {
 | 
				
			||||||
    build_libjpeg_turbo
 | 
					    build_libjpeg_turbo
 | 
				
			||||||
    if [ -n "$IS_MACOS" ]; then
 | 
					    if [ -n "$IS_MACOS" ]; then
 | 
				
			||||||
        # Custom tiff build to include jpeg; by default, configure won't include
 | 
					        # Custom tiff build to include jpeg; by default, configure won't include
 | 
				
			||||||
        # headers/libs in the custom macOS prefix
 | 
					        # headers/libs in the custom macOS prefix. Explicitly disable webp and
 | 
				
			||||||
 | 
					        # zstd, because on x86_64 macs, it will pick up the Homebrew versions of
 | 
				
			||||||
 | 
					        # webp and zstd from /usr/local.
 | 
				
			||||||
        build_simple tiff $TIFF_VERSION https://download.osgeo.org/libtiff tar.gz \
 | 
					        build_simple tiff $TIFF_VERSION https://download.osgeo.org/libtiff tar.gz \
 | 
				
			||||||
            --with-jpeg-include-dir=$BUILD_PREFIX/include --with-jpeg-lib-dir=$BUILD_PREFIX/lib
 | 
					            --with-jpeg-include-dir=$BUILD_PREFIX/include --with-jpeg-lib-dir=$BUILD_PREFIX/lib \
 | 
				
			||||||
 | 
					            --disable-webp --disable-zstd
 | 
				
			||||||
    else
 | 
					    else
 | 
				
			||||||
        build_tiff
 | 
					        build_tiff
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
| 
						 | 
					@ -140,7 +158,7 @@ function build {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if [ -n "$IS_MACOS" ]; then
 | 
					    if [ -n "$IS_MACOS" ]; then
 | 
				
			||||||
        build_simple fribidi $FRIBIDI_VERSION https://github.com/fribidi/fribidi/releases/download/v$FRIBIDI_VERSION tar.xz --enable-shared
 | 
					        build_simple fribidi $FRIBIDI_VERSION https://github.com/fribidi/fribidi/releases/download/v$FRIBIDI_VERSION tar.xz --enable-shared
 | 
				
			||||||
        build_simple raqm $RAQM_VERSION https://github.com/Host_Oman/libraqm/releases/download/v$RAQM_VERSION tar.gz --enable-shared
 | 
					        build_raqm
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -159,9 +177,6 @@ if [[ ! -d pillow-depends-main ]]; then
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if [[ -n "$IS_MACOS" ]]; then
 | 
					if [[ -n "$IS_MACOS" ]]; then
 | 
				
			||||||
    # Build and install into the `deps` folder.
 | 
					 | 
				
			||||||
    BUILD_PREFIX=$(pwd)/deps
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    # Homebrew (or similar packaging environments) install can contain some of
 | 
					    # Homebrew (or similar packaging environments) install can contain some of
 | 
				
			||||||
    # the libraries that we're going to build. However, they may be compiled
 | 
					    # the libraries that we're going to build. However, they may be compiled
 | 
				
			||||||
    # with a MACOSX_DEPLOYMENT_TARGET that doesn't match what we want to use,
 | 
					    # with a MACOSX_DEPLOYMENT_TARGET that doesn't match what we want to use,
 | 
				
			||||||
| 
						 | 
					@ -169,16 +184,17 @@ if [[ -n "$IS_MACOS" ]]; then
 | 
				
			||||||
    # be true of any other locations on the path. To avoid conflicts, strip the
 | 
					    # be true of any other locations on the path. To avoid conflicts, strip the
 | 
				
			||||||
    # path down to the bare mimimum (which, on macOS, won't include any
 | 
					    # path down to the bare mimimum (which, on macOS, won't include any
 | 
				
			||||||
    # development dependencies).
 | 
					    # development dependencies).
 | 
				
			||||||
    export PATH="$BUILD_PREFIX/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin:$(dirname $(which python))"
 | 
					    export PATH="$BUILD_PREFIX/bin:$(dirname $(which python3)):/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin"
 | 
				
			||||||
    export CMAKE_PREFIX_PATH=$BUILD_PREFIX
 | 
					    export CMAKE_PREFIX_PATH=$BUILD_PREFIX
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # Link the brew command into our isolated build directory.
 | 
					    # Link the brew command into our isolated build directory.
 | 
				
			||||||
    mkdir -p "$BUILD_PREFIX/bin"
 | 
					    mkdir -p "$BUILD_PREFIX/bin"
 | 
				
			||||||
    mkdir -p "$BUILD_PREFIX/lib"
 | 
					    mkdir -p "$BUILD_PREFIX/lib"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # Ensure pkg-config and cmake are available
 | 
					    # Ensure pkg-config is available
 | 
				
			||||||
    build_pkg_config
 | 
					    build_pkg_config
 | 
				
			||||||
    python3 -m pip install cmake
 | 
					    # Ensure cmake is available
 | 
				
			||||||
 | 
					    python3 -m pip cmake
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
wrap_wheel_builder build
 | 
					wrap_wheel_builder build
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -102,7 +102,7 @@ test-command = "cd {project} && .github/workflows/wheels-test.sh"
 | 
				
			||||||
test-extras = "tests"
 | 
					test-extras = "tests"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[tool.cibuildwheel.macos.environment]
 | 
					[tool.cibuildwheel.macos.environment]
 | 
				
			||||||
PATH = "$(pwd)/build/deps/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin:$(dirname $(which python))"
 | 
					PATH = "$(pwd)/build/deps/bin:$(dirname $(which python3)):/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[tool.black]
 | 
					[tool.black]
 | 
				
			||||||
exclude = "wheels/multibuild"
 | 
					exclude = "wheels/multibuild"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user