Commit Graph

481 Commits

Author SHA1 Message Date
James Le Cuirot
ceaf4496fd
Merge branch 'main' into cross-prefix 2024-02-24 11:00:45 +00:00
Hugo van Kemenade
0669532898 Remove shebangs 2024-01-29 18:43:03 +02:00
Hugo van Kemenade
529487c244 Remove execute bit from setup.py 2024-01-29 16:48:39 +02:00
James Le Cuirot
774d7a570d
Fix cross-compiling by searching the right lib and include directories
We were previously searching the `{sys.prefix}/lib` and
`{sys.prefix}/include` directories unconditionally. This is problematic
when cross-compiling, as it does not take account of any sysroot where
alternative libraries and headers are located. Adding `-I/usr/include`
causes the build to explode, at least when cross-compiling from 64-bit
to 32-bit.

Python does not officially support cross-compiling, but Gentoo achieves
this by modifying the sysconfig variables like `LIBDIR` and `INCLUDEDIR`
with great results.

Assuming "lib" is bad. 64-bit Linux systems often use lib64, putting
32-bit libraries under lib. You cannot assume that either though, as
pure 64-bit Linux systems may just use lib instead. Things get even
stranger on RISC-V.

The value of `sys.prefix` changes when using a virtualenv. Dependencies
may be installed here, so it does make sense to continue supporting this
case, even if it is incompatible with cross-compiling. Unlike regular
environments, "lib" is generally used for libraries, although a lib64
symlink may also be present.
2023-12-25 11:16:37 +00:00
Hugo van Kemenade
43b2f61e79 Add 'from __future__ import annotations' using Ruff/isort 2023-12-21 13:13:31 +02:00
Christian Clauss
fd59f91d17 ruff: Minor optimizations of list comprehensions, x in set, etc. 2023-11-06 19:13:47 +06:00
Hugo van Kemenade
5fb892a9e2 Move version from setup.py to pyproject.toml 2023-10-22 20:35:21 +03:00
Andrew Murray
414694e190 Increment Python version check to support Python 3.12 2023-07-13 17:21:06 +10:00
Rudi Heitbaum
d17947e802 Fix missing symbols as libtiff can depend on libjpeg
when compiling Pillow with libtiff and libjpeg (with jpeg12 enabled -
which is the default with libjpeg-3.0.0) the libtiff object
tif_jpeg_12.c.o uses the following libjpeg12 functions:
jpeg12_read_raw_data, jpeg12_read_scanlines, jpeg12_write_raw_data,
jpeg12_write_scanlines.

update the ordering of libs.append(feature.tiff) to be before
libs.append(feature.jpeg) to allow the linker to include the required
functions.

this issue occurs when the libtiff and libjpeg libraries are static
(not shared.)

Signed-off-by: Rudi Heitbaum <rudi@heitbaum.com>
2023-07-08 12:46:34 +00:00
Andrew Murray
b2d7f1e899
Merge branch 'main' into add-pyproject.toml 2023-06-28 17:44:08 +10:00
Andrew Murray
45c9dcf123 Restored 32-bit support 2023-06-27 14:43:58 +10:00
Andrew Murray
10ad87cd2d
Merge branch 'main' into add-pyproject.toml 2023-06-25 07:14:01 +10:00
Andrew Murray
25c24a8a91
Removed unused code
(cherry picked from commit 600b823de6)
2023-06-24 15:54:07 +01:00
nulano
c068af7630
Merge remote-tracking branch 'upstream/main' into add-pyproject.toml
# Conflicts:
#	pyproject.toml
2023-06-24 13:30:15 +01:00
Andrew Murray
d6f19625e8 Removed support for 32-bit 2023-06-23 21:52:00 +10:00
Hugo van Kemenade
3a0881dffe Disable extra quotes 2023-05-27 23:39:51 +03:00
Andrew Murray
053cb3de52 Fixed finding dependencies on Cygwin 2023-05-21 14:38:05 +10:00
Hugo van Kemenade
86a70fc768
Merge pull request #7068 from radarhere/ldconfig 2023-05-15 15:28:21 +03:00
Andrew Murray
6fce7d6ed4 Merge branch 'main' into include-dir-type-confusion 2023-04-10 22:49:32 +10:00
Andrew Murray
fe4e52deac Rearranged code 2023-04-10 19:35:04 +10:00
Andrew Murray
b2b660e2c0 Removed FIXME comment 2023-04-06 18:53:28 +10:00
adisbladis
d94239ae3d Handle polymorphic types for lib_root and include_root in setup.py
Depending on whether these are created by pkg_config or not they might
be a list of directories or just a string with a single directory.
2023-04-05 16:19:58 +12:00
Andrew Murray
ca2bf046d3 Use "/sbin/ldconfig" if ldconfig is not found 2023-04-05 09:57:16 +10:00
Andrew Murray
17a0a2ee3e Removed unnecessary silencing of stderr 2023-03-31 06:14:45 +11:00
Andrew Murray
c3364a4245 Do not use absolute path for ldconfig 2023-03-30 16:55:18 +11:00
Andrew Murray
5b3d39c116
Merge pull request #6935 from radarhere/path
Do not raise an error if os.environ does not contain PATH
2023-03-13 00:19:38 +11:00
Andrew Murray
7670736e18
Use type hint
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2023-03-12 23:17:39 +11:00
Hugo van Kemenade
8ef6503801
Merge pull request #6914 from radarhere/default 2023-03-12 12:39:45 +02:00
Andrew Murray
5059e5c143 Do not raise an error if os.environ does not contain PATH 2023-02-10 08:11:50 +11:00
pre-commit-ci[bot]
24183d652e [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-02-06 19:27:19 +00:00
Andrew Murray
a0492f7968 Ensure that pkg-config paths are split by spaces 2023-01-28 20:17:54 +11:00
nulano
73f55b4e01 remove redundant default value
Co-authored-by: Andrew Murray <radarhere@users.noreply.github.com>
2023-01-28 15:35:33 +11:00
Bas Couwenberg
04cf5e2cfc Handle more than one directory returned by pkg-config.
tiff (4.5.0-1) in Debian results in two include directories being returned:
```
-I/usr/include/x86_64-linux-gnu -I/usr/include
```
2023-01-15 13:48:07 +01:00
Hugo van Kemenade
2ae55ccbda Improve exception traceback readability 2022-12-30 00:07:52 +02:00
Hugo van Kemenade
3ffd2b2b8f Double quotes for old CPython on Windows 2022-10-28 13:02:19 +03:00
Mark Mayo
69baeccf2e some pylint warnings
Fixed some pylint issues
2022-10-13 15:20:11 +13:00
Hugo van Kemenade
7d8b2fb19c Move some static config to setup.cfg 2022-09-12 10:25:18 +03:00
pre-commit-ci[bot]
aba0859db9 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2022-07-18 06:17:10 +00:00
Andrew Murray
08db23c61c Do not quote Pillow version for setuptools >= 60 2022-07-18 16:16:06 +10:00
Hugo van Kemenade
6801a255a3 Add support for Python 3.11 2022-07-15 13:42:36 +03:00
Andrew Murray
0c1720d358 Hide stderr from --keep-system-libs 2022-05-03 09:19:09 +10:00
Andrew Murray
6ec9dfb9c0 If an exception is raised, try again without system paths 2022-04-26 11:14:31 -06:00
James Hilliard
9ea4624704 Search pkg-config system libs/cflags.
We need to search the system paths as well from pkg-config for
some packages to be found properly.
2022-04-26 11:12:52 -06:00
Hugo van Kemenade
ee85e387ba Remove redundant parentheses 2022-04-10 23:39:54 +03:00
Andrew Murray
72b7ab54bd pre-commit autoupdate --freeze 2022-03-04 16:42:24 +11:00
Andrew Murray
4d1d2c9855
Merge pull request #5807 from DWesl/tkimaging-on-cygwin
Use the Windows method to get TCL functions on Cygwin
2021-12-30 00:08:31 +11:00
Andrew Murray
722126aa0a Use latin1 encoding to decode bytes 2021-12-05 15:59:27 +11:00
Andrew Murray
2ce7dd5ef6 Moved macOS SDK logic into a separate method 2021-11-11 20:51:13 +11:00
Andrew Murray
3b701dcc16 Only prefer command line tools SDK on macOS over the default 2021-11-11 20:47:46 +11:00
DWesl
29b92391bc Suggestion: use 'var in tuple' instead of chained comparisons. 2021-11-03 21:26:55 -04:00