Commit Graph

411 Commits

Author SHA1 Message Date
Hugo
84e53e3757 Simplify using subprocess.DEVNULL
Co-Authored-By: Jon Dufresne <jon.dufresne@gmail.com>
2019-10-08 17:25:42 +03:00
Hugo
810b61e78f Reinstate and simplify parallel auto-detection 2019-10-07 14:30:59 +03:00
Hugo
538d9e2e5d Upgrade Python syntax with pyupgrade --py3-plus 2019-10-07 14:30:59 +03:00
Hugo
af770a6c55 Drop support for EOL Python 2.7 2019-10-07 14:30:59 +03:00
Hugo
cd99deff1e Fix for Python 3.10 2019-08-18 12:32:23 +03:00
Andrew Murray
3fbea03026 Added fallback for finding ld on MinGW Cygwin 2019-08-11 07:23:08 +10:00
Jon Dufresne
d50445ff30 Introduce isort to automate import ordering and formatting
Similar to the recent adoption of Black. isort is a Python utility to
sort imports alphabetically and automatically separate into sections. By
using isort, contributors can quickly and automatically conform to the
projects style without thinking. Just let the tool do it.

Uses the configuration recommended by the Black to avoid conflicts of
style.

Rewrite TestImageQt.test_deprecated to no rely on import order.
2019-07-06 16:11:35 -07:00
Alex Clark
2c041ac77e Lint fix 2019-07-03 05:32:39 -04:00
Alex Clark
c33ffca440 Add license to setup.py for #3938
Also update author name and email
2019-07-03 05:29:42 -04:00
James Le Cuirot
15cd8eda09
Respect the PKG_CONFIG environment variable when building
This variable is commonly used by other build systems and using it can
help with cross-compiling. Falls back to "pkg-config" as before.
2019-06-30 21:52:58 +01:00
Jeffery To
4119d3015b Include CPPFLAGS when searching for libraries
This adds CPPFLAGS to the list of environment variables (currently
CFLAGS and LDFLAGS) searched when looking for includes and library
directories, as CPPFLAGS may also include -I options.
2019-06-23 12:06:06 +10:00
Hugo
471220093b Format with Black 2019-06-13 18:54:57 +03:00
Andrew Murray
303465d38a Detect libimagequant when installed by pacman on MingW 2019-04-27 23:05:52 +10:00
hugovk
bab5d068bf Update licence to HPND 2019-03-26 22:02:55 +02:00
hugovk
7d2319129f Sort classifiers 2019-03-26 21:47:29 +02:00
Hugo
d6055440d5 Drop support for EOL Python 3.4 2019-01-24 23:33:14 +02:00
Jon Dufresne
eccef43837 Remove unused _tkinter var from setup.py
Unused since 659e294676.
2019-01-11 20:27:44 -08:00
Hugo van Kemenade
871db4e91a
Merge pull request #3529 from pslacerda/fix/3526
Fix build for Termux
2019-01-05 12:03:25 +02:00
Pedro Lacerda
e09ee7a5df
Fix build for Termux
`_find_library_dirs_ldconfig` can return an empty list when `ldconfig` is missing, then `setup.py` can continue guessing library directories.

fixes #3526
2019-01-02 13:38:33 -03:00
Hugo
5ae6f160e1
Merge pull request #3245 from pslacerda/fix/3244
Lookup ld.so.cache instead of hardcoding search paths
2018-12-29 16:48:26 +02:00
Hugo
853453b934
Fix Flake8 2018-12-27 13:11:24 +02:00
Hugo
c5f066d3f6
Flake8 2018-12-26 14:05:01 +02:00
Hugo
c2b3bd5635
Merge pull request #3395 from diorcety/improve_configuration
Improve configuration
2018-12-26 13:54:16 +02:00
Hugo
ca691f232b
Remove XXX from comments 2018-12-26 13:09:12 +02:00
Andrew Murray
afb6ba5626 Added Python 3.5-3.7 AppVeyor builds 2018-10-08 19:43:11 +11:00
Yann Diorcet
ddb01ac67e Add environment variables for settings component prefixes 2018-10-04 10:32:10 +02:00
Yann Diorcet
9bdb9d8bef Fix pkg-config call 2018-09-28 10:58:03 +02:00
Andrew Murray
d4000a8f72
Merge pull request #3355 from radarhere/freetype_version
Removed unnecessary line
2018-09-26 06:36:05 +10:00
Andrew Murray
d8dfc6fc1c Removed unnecessary line 2018-09-15 07:29:21 +10:00
Andrew Murray
e94878c8a8 Simplified duplicate code 2018-09-15 06:26:40 +10:00
Virgil Dupras
64bce1a583 Fix builds with --parallel
Python 3.5's distutils added support for parallel builds, which means
that we don't need to monkeypatch it anymore. But more importantly, this
monkeypatch made build fail (hang in fact) whenever `--parallel` was
passed to `python setup.py build`.

This commit fixes the problem by not applying the monkeypatch on
python 3.5+ and preserve the old behavior (parallel build by default) by
injecting a `parallel` option when it's not specified.
2018-08-05 11:38:22 -04:00
Pedro Lacerda
9f6c708aa3 Simplify library dirs search with ldconfig 2018-07-13 13:16:29 -03:00
Andrew Murray
c2189235af Line too long 2018-07-02 19:26:02 +10:00
Daniel Plakhotich
1d20056234 TGA: Add support for writing RLE data 2018-06-15 23:01:06 +03:00
Hugo
0c438db926
Merge pull request #3076 from hugovk/add-3.7
Support Python 3.7
2018-04-25 11:20:31 +03:00
Alexander
6958ce1700 Rename PIL.version to PIL._version and remove it from module 2018-04-09 16:09:36 +03:00
Alexander Karpinsky
e24fad40ad
Merge pull request #3056 from uploadcare/color-LUT
3D Color lookup tables
2018-04-09 10:41:44 +03:00
Hugo
fe0b78b98d Support Python 3.7 2018-04-05 13:52:48 +03:00
Andrew Murray
7a4bfdc955 Updated URL 2018-04-05 06:29:14 +10:00
Alexander
853208c65f color 3D LUT, just start 2018-03-25 15:49:42 +03:00
Andrew Murray
c13ccf13a1 Added missing whitespace 2018-03-06 19:53:07 +11:00
wiredfool
7e4fdb1097
Merge pull request #2968 from nehaljwani/libdirs-ppc64le-armv7l
Add libdirs for ppc64le and armv7l
2018-01-24 10:52:27 +00:00
Nehal J Wani
788128e84f
Add libdirs for ppc64le and armv7l
This patch has been taken from:
http://pkgs.fedoraproject.org/cgit/rpms/python-pillow.git/tree/python-pillow_libdirs.patch
2018-01-21 21:03:35 +05:30
Hugo
8edbc79e7f Fix "TypeError: 'NoneType' object is not iterable" for PPC and CRUX 2018-01-11 12:45:52 +02:00
Hugo
e92e730597
Merge pull request #2935 from wiredfool/crc
Remove _imaging.crc32 in favor or builtin python crc32 implementation
2018-01-06 20:43:35 +02:00
Eric Soroos
4bc33d3e4a Remove _imaging.crc32 in favor or builtin python crc32 implementation 2018-01-05 15:53:50 +00:00
Hugo
3916563a1b Move Tk files to src 2018-01-04 09:33:10 +02:00
wiredfool
0bb3f4fee9 source layout reorg 2017-12-28 14:49:47 +00:00
hugovk
5592163564 pytest no longer supports EOL Python 3.3 2017-12-28 14:48:19 +00:00
Hugo
3515ae3d9e Test with coverage on Windows, update 'setup.py test' 2017-12-28 14:48:19 +00:00
wiredfool
e9a115ff46
Merge pull request #2753 from wiredfool/dynamic-raqm
Dynamically link libraqm
2017-12-28 14:24:32 +00:00
wiredfool
cbc78d7e2a
Merge pull request #2901 from wiredfool/remove-scripts
Removed scripts directory
2017-12-27 20:47:56 +00:00
wiredfool
097ebf7fb6 Removed scripts directory, added to it's own package
See https://github.com/python-pillow/pillow-scripts
2017-12-21 21:36:22 +00:00
Eric Soroos
a4b7a6d215 Dynamically load libraqm, now an optional runtime dependency 2017-12-20 15:37:37 +00:00
Eric Soroos
60e29e5e8d dropping tiff_lzw implementation 2017-12-20 14:40:58 +00:00
Hugo
a73b951f05 flake8 2017-12-04 15:36:12 +02:00
Hugo
1889b3f1f4 Specify compatible Python versions for pip 2017-12-04 15:36:12 +02:00
Hugo
308f3b4c39 Add licence classifier 2017-11-29 11:23:46 +02:00
wiredfool
753b61e4e3
Merge pull request #2855 from hugovk/warn-win-3.7
Warn if trying to install for Py3.7 on Windows
2017-11-25 13:28:21 +00:00
Eric Soroos
9f9dc9379d Replace deprecated platform.dist with file existence check 2017-11-22 09:08:49 +00:00
hugovk
e3da10ea5e Warn if trying to install for Py3.7 on Windows 2017-11-14 16:47:59 +02:00
Eric Soroos
3d4045ecfe refactored linux platform detection 2017-11-13 13:26:17 +00:00
Eric Soroos
8d9282dd01 promote self.add_multiarch_paths() 2017-11-13 13:26:17 +00:00
Jon Dufresne
9175706300 Allow the olefile dependency to be optional
Support for plugins requiring olefile will not be loaded if it is not
installed. Allows library consumers to avoid installing this dependency
if they choose. Some library consumers have little interest in the
format support and would like to keep dependencies to a minimum.
2017-10-04 06:54:34 -07:00
Mickael B
a90dc49100 add RLE decompression for SGI images 2017-09-29 09:12:03 +00:00
Eric Soroos
973787e240 flags to fix building on mingw 2017-09-19 21:19:03 +00:00
Eric Soroos
a1ebae255c basic support for termux (android) support (tested on chromeos/x86) 2017-08-09 13:22:58 +01:00
wiredfool
3f3eb99ff9 Fix version specification on pypy/windows 2017-07-03 23:05:25 +01:00
wiredfool
8feac899dd Merge pull request #2576 from wiredfool/pr_2284
Complex Text Support
2017-07-01 10:45:18 +01:00
wiredfool
dc04930699 Merge pull request #2517 from wiredfool/single_version
RFC: Specify Version in one place
2017-06-29 13:17:02 +01:00
Fahad Al-Saidi
538cec323b fix setup.py 2017-06-21 14:00:14 -07:00
shamsa
326e23d3e6 fallback code 2017-06-21 14:00:13 -07:00
shamsa
0b178edbc8 Add complex text support.
This pull request adds support for languages that require complex text layout.

We are using the Raqm library, that wraps FriBidi (for bidirectional
text support) and HarfBuzz (for text shaping), and does proper BiDi and script
itemization:
https://github.com/HOST-Oman/libraqm

This should fix #1089.
2017-06-21 14:00:13 -07:00
wiredfool
edc8d8627c Fix to ensure that define is interpreted as a string on windows 2017-06-21 05:44:24 -07:00
Melvyn Sopacua
5d7480a91b Add the FIXME and remove debug code 2017-05-26 13:48:38 +02:00
Melvyn Sopacua
092d97f829 Fix compilation on FreeBSD with 2 openjpegs
When openjpeg 1.5 is installed (Calligra 2.x, for example) and OpenJPEG
2.1 is installed, the subdirectory is added twice.

Since the 2nd time is ignored, it is ranked after the more general
/usr/local/include and openjpeg.h from the 1.5 version is picked up.

Fix this in a more general way:
- If a directory is added that already is in path
- But where is specified

Then remove the subdir from path and insert it at the spot requested.

A FIXME is added to the code bit explaining the real issue, but lack
investigative spirit / time to dive down the rabbit hole.
2017-05-26 13:44:26 +02:00
wiredfool
67d6e00751 py3x fixes 2017-05-10 04:59:37 -07:00
wiredfool
8999ccb570 single version for build 2017-05-10 03:47:02 -07:00
wiredfool
2ac4f79e8c 4.2.0.pre0 version bump 2017-04-19 03:02:45 -07:00
wiredfool
38eff74004 4.1.0 version bump 2017-04-04 11:10:22 -07:00
wiredfool
949932f45f Pure Python MSP Decoder 2017-03-11 13:50:19 +00:00
Andrew Murray
0f383d7c7e Removed unused private functions 2017-02-18 16:29:26 +11:00
Hugo
53e5702557 Update http to https 2017-02-14 11:27:02 +02:00
Hugo
8b2681e369 Merge pull request #2357 from radarhere/zlib
Updated zlib to 1.2.11
2017-01-19 20:51:58 +02:00
Andrew Murray
a46ce022e7 Removed warning about zlib 1.2.2 security vulnerability 2017-01-19 19:46:09 +11:00
wiredfool
c1b510c72c Merge pull request #2307 from radarhere/contextmanagers
Added context managers
2017-01-17 13:20:41 +00:00
wiredfool
296fb5fe1d 4.1.0.dev0 version bump 2017-01-02 04:06:48 -08:00
wiredfool
3f6db91ccc Fixed typo in version 2017-01-02 03:45:39 -08:00
wiredfool
a021d4978d 4.0.0 version bump 2017-01-01 20:20:06 +00:00
Andrew Murray
a06dd59df7 Added context managers 2016-12-28 09:54:10 +11:00
Andrew Murray
d4a6e07367 Added documentation for Python 3.6 support 2016-12-27 02:28:11 -08:00
wiredfool
80b78be21a Merge pull request #2199 from jdufresne/dep-olefile
Remove vendored version of olefile Python package in favor of upstream
2016-12-13 20:12:29 +00:00
Alexander
9c38253733 set executable flag on setup.py and add shebang 2016-12-04 18:59:53 +03:00
Jon Dufresne
52b1f46b12 Deprecate vendored version of olefile Python package in favor of upstream
Pillow now requires the olefile Python package through setup.py.

This removes Pillow's maintenance of this library by instead relying on
and reusing the upstream version. No longer need to regularly update the
vendored package and docs. olefile bug fixes and features can go
directly upstream.

During travis tests, now installs Pillow package before tests; this will
also install all dependencies (currently, only olefile).
2016-11-22 18:17:31 -08:00
Jon Dufresne
85cf6d3140 Drop support for Python 3.2 2016-11-22 04:24:40 -08:00
Jon Dufresne
dbe9f85c7d Drop support for Python 2.6
* Drop unittest2 requirement
* Use set literals
* Use dict/set comprehension
* Use str.format() automatic numbering
2016-11-22 04:23:55 -08:00
wiredfool
70c2df21ca Merge pull request #2213 from wiredfool/setup
Raise custom exceptions when required/requested items are not found
2016-11-22 12:14:57 +00:00
Jon Dufresne
ffa5bc2726 Use generator expressions instead of list comprehension
Avoids unnecessary temporary lists in memory.
2016-11-14 18:11:15 -08:00
wiredfool
8b596600af renamed Default->Required dependency exception 2016-11-11 09:12:07 -08:00
wiredfool
015e8cc266 raise custom exceptions when required/requested items are not found 2016-11-11 09:09:19 -08:00