-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
wheel building: Pile of small fixes to recent changes (#6409)
* python-wheel.mk: Test fix for maturin built based wheels * add pendulum-wheel - add cross/pendulum with patch for 32-bit archs - add cross/pendulum to python311-wheels * python-wheels.mk: Align method for wheel-compile and python-module * wheel.mk: Fix typo and disable main wheel cookie * python3*-wheels: pendulum reqquires atomic to build * wheel.mk: Fix type where CROSSENV_WHEEL_PATH needs using := * python311/numpy: Simplify crossenv definitions * wheel-compile.mk: Fix crossenv finding using wheel variables * cross/pendulum: synchronize between #6403 and #6409 * python312: Remove deprecated numpy crossenv definition files * python-wheel|module.mk: Fix typo in crossenv call and standardize * python312: Update all wheels to latest version * python311-wheels: Remove maturin PATH definition as no more needed * python312-wheels: Update all wheels to latest versions * wheel.mk: Numerous fixes for non-impactful warnings or errors * py311-312: Keep msgpack to 1.0.5 for it to build with gcc 4.9.x * borgbackup: Fix build of newer version * py312-wheels: Disable poetry as it fails to build * python312-wheels: Disable pydantic_core as it fails to build * pydantic-core: Migrate python-wheel.mk build as fails using pip * wheel.mk: Enforce exiting on error during while loop * python313: Update default wheels and crossenv definition * python311: Update default wheels and crossenv definitions * python313-wheels: Creation of initial package * python.mk: Only python-wheels.mk entries remove when symlinks * python-wheel.mk: Enable compile, install and plist status cookie * pillow: Migrate from pip build to cross/pillow * pillow: Handle older gcc versions * py312-313: Handle rpds-py and greenlet exceptions * py312-313: Extra requirement for rpds-py with newer gcc * Update cross/pillow/Makefile Co-authored-by: hgy59 <hpgy59@gmail.com> --------- Co-authored-by: hgy59 <hpgy59@gmail.com>
- Loading branch information
Showing
52 changed files
with
773 additions
and
319 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
PKG_NAME = pendulum | ||
PKG_VERS = 3.0.0 | ||
PKG_EXT = tar.gz | ||
PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT) | ||
PKG_DIST_SITE = https://files.pythonhosted.org/packages/b8/fe/27c7438c6ac8b8f8bef3c6e571855602ee784b85d072efddfff0ceb1cd77 | ||
PKG_DIR = $(PKG_NAME)-$(PKG_VERS) | ||
|
||
DEPENDS = | ||
|
||
HOMEPAGE = https://pendulum.eustace.io | ||
COMMENT = Python datetimes made easy. | ||
LICENSE = MIT | ||
|
||
# toolchains lacking atomic support | ||
UNSUPPORTED_ARCHS = $(OLD_PPC_ARCHS) $(ARMv5_ARCHS) $(ARMv7L_ARCHS) | ||
|
||
PATCHES_LEVEL = 1 | ||
|
||
include ../../mk/spksrc.common.mk | ||
|
||
ifeq ($(call version_le, $(TC_GCC), 5),1) | ||
ADDITIONAL_CFLAGS = -std=c99 | ||
endif | ||
|
||
include ../../mk/spksrc.python-wheel.mk |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
pendulum-3.0.0.tar.gz SHA1 ea64f64ccbe4ec6bc05c63c28da6910fb5ac0842 | ||
pendulum-3.0.0.tar.gz SHA256 5d034998dea404ec31fae27af6b22cff1708f830a1ed7353be4d1019bb9f584e | ||
pendulum-3.0.0.tar.gz MD5 3beb45818d19839157e57a2f81b40ebb |
123 changes: 123 additions & 0 deletions
123
cross/pendulum/patches/001-rust-Use-i64-for-internal-unix-timestamps.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,123 @@ | ||
https://sources.debian.org/patches/pendulum/3.0.0-2/rust-Use-i64-for-internal-unix-timestamps.patch | ||
|
||
From: Benjamin Drung <benjamin.drung@canonical.com> | ||
Date: Thu, 5 Sep 2024 14:03:44 +0200 | ||
Subject: rust: Use i64 for internal unix timestamps | ||
|
||
pendulum 3.0.0 fails to build on 32-bit armhf: | ||
|
||
``` | ||
error: this arithmetic operation will overflow | ||
--> src/helpers.rs:59:20 | ||
| | ||
59 | seconds += ((146_097 - 10957) * SECS_PER_DAY as usize) as isize; | ||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ attempt to compute `135140_usize * 86400_usize`, which would overflow | ||
| | ||
= note: `#[deny(arithmetic_overflow)]` on by default | ||
``` | ||
|
||
`(146_097 - 10957) * SECS_PER_DAY` equals 11,676,096,000 which does not | ||
fit into 32 bit integers. | ||
|
||
Use i64 for the seconds variable while handling with the timestamp. Only | ||
convert in to `usize` once the timestamp is split into its components. | ||
|
||
Fixes https://github.com/sdispater/pendulum/issues/784 | ||
Ubuntu-Bug: https://bugs.launchpad.net/ubuntu/+source/pendulum/+bug/2079029 | ||
Forwarded: https://github.com/sdispater/pendulum/pull/842 | ||
--- | ||
rust/src/helpers.rs | 38 +++++++++++++++++++------------------- | ||
1 file changed, 19 insertions(+), 19 deletions(-) | ||
|
||
diff --git a/rust/src/helpers.rs b/rust/src/helpers.rs | ||
index 364075a..7927413 100644 | ||
--- a/rust/src/helpers.rs | ||
+++ b/rust/src/helpers.rs | ||
@@ -49,57 +49,57 @@ pub fn local_time( | ||
microsecond: usize, | ||
) -> (usize, usize, usize, usize, usize, usize, usize) { | ||
let mut year: usize = EPOCH_YEAR as usize; | ||
- let mut seconds: isize = unix_time.floor() as isize; | ||
+ let mut seconds: i64 = unix_time.floor() as i64; | ||
|
||
// Shift to a base year that is 400-year aligned. | ||
if seconds >= 0 { | ||
- seconds -= (10957 * SECS_PER_DAY as usize) as isize; | ||
+ seconds -= 10957 * SECS_PER_DAY as i64; | ||
year += 30; // == 2000 | ||
} else { | ||
- seconds += ((146_097 - 10957) * SECS_PER_DAY as usize) as isize; | ||
+ seconds += (146_097 - 10957) * SECS_PER_DAY as i64; | ||
year -= 370; // == 1600 | ||
} | ||
|
||
- seconds += utc_offset; | ||
+ seconds += utc_offset as i64; | ||
|
||
// Handle years in chunks of 400/100/4/1 | ||
- year += 400 * (seconds / SECS_PER_400_YEARS as isize) as usize; | ||
- seconds %= SECS_PER_400_YEARS as isize; | ||
+ year += 400 * (seconds / SECS_PER_400_YEARS as i64) as usize; | ||
+ seconds %= SECS_PER_400_YEARS as i64; | ||
if seconds < 0 { | ||
- seconds += SECS_PER_400_YEARS as isize; | ||
+ seconds += SECS_PER_400_YEARS as i64; | ||
year -= 400; | ||
} | ||
|
||
let mut leap_year = 1; // 4-century aligned | ||
- let mut sec_per_100years = SECS_PER_100_YEARS[leap_year] as isize; | ||
+ let mut sec_per_100years = SECS_PER_100_YEARS[leap_year].try_into().unwrap(); | ||
|
||
while seconds >= sec_per_100years { | ||
seconds -= sec_per_100years; | ||
year += 100; | ||
leap_year = 0; // 1-century, non 4-century aligned | ||
- sec_per_100years = SECS_PER_100_YEARS[leap_year] as isize; | ||
+ sec_per_100years = SECS_PER_100_YEARS[leap_year].try_into().unwrap(); | ||
} | ||
|
||
- let mut sec_per_4years = SECS_PER_4_YEARS[leap_year] as isize; | ||
+ let mut sec_per_4years = SECS_PER_4_YEARS[leap_year].try_into().unwrap(); | ||
while seconds >= sec_per_4years { | ||
seconds -= sec_per_4years; | ||
year += 4; | ||
leap_year = 1; // 4-year, non century aligned | ||
- sec_per_4years = SECS_PER_4_YEARS[leap_year] as isize; | ||
+ sec_per_4years = SECS_PER_4_YEARS[leap_year].try_into().unwrap(); | ||
} | ||
|
||
- let mut sec_per_year = SECS_PER_YEAR[leap_year] as isize; | ||
+ let mut sec_per_year = SECS_PER_YEAR[leap_year].try_into().unwrap(); | ||
while seconds >= sec_per_year { | ||
seconds -= sec_per_year; | ||
year += 1; | ||
leap_year = 0; // non 4-year aligned | ||
- sec_per_year = SECS_PER_YEAR[leap_year] as isize; | ||
+ sec_per_year = SECS_PER_YEAR[leap_year].try_into().unwrap(); | ||
} | ||
|
||
// Handle months and days | ||
let mut month = TM_DECEMBER + 1; | ||
- let mut day: usize = (seconds / (SECS_PER_DAY as isize) + 1) as usize; | ||
- seconds %= SECS_PER_DAY as isize; | ||
+ let mut day: usize = (seconds / (SECS_PER_DAY as i64) + 1) as usize; | ||
+ seconds %= SECS_PER_DAY as i64; | ||
|
||
let mut month_offset: usize; | ||
while month != (TM_JANUARY + 1) { | ||
@@ -113,10 +113,10 @@ pub fn local_time( | ||
} | ||
|
||
// Handle hours, minutes and seconds | ||
- let hour: usize = (seconds / SECS_PER_HOUR as isize) as usize; | ||
- seconds %= SECS_PER_HOUR as isize; | ||
- let minute: usize = (seconds / SECS_PER_MIN as isize) as usize; | ||
- let second: usize = (seconds % SECS_PER_MIN as isize) as usize; | ||
+ let hour: usize = (seconds / SECS_PER_HOUR as i64) as usize; | ||
+ seconds %= SECS_PER_HOUR as i64; | ||
+ let minute: usize = (seconds / SECS_PER_MIN as i64) as usize; | ||
+ let second: usize = (seconds % SECS_PER_MIN as i64) as usize; | ||
|
||
(year, month, day, hour, minute, second, microsecond) | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
PKG_NAME = pillow | ||
PKG_VERS = 11.1.0 | ||
PKG_EXT = tar.gz | ||
PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT) | ||
PKG_DIST_SITE = https://files.pythonhosted.org/packages/source/p/pillow | ||
PKG_DIR = $(PKG_NAME)-$(PKG_VERS) | ||
|
||
DEPENDS = cross/freetype cross/libimagequant cross/libjpeg | ||
DEPENDS += cross/libtiff cross/libwebp cross/zlib | ||
|
||
HOMEPAGE = https://python-pillow.github.io/ | ||
COMMENT = Python Imaging Library (Fork). | ||
LICENSE = MIT-CMU | ||
WHEELS_BUILD_ARGS = -C platform-guessing=disable | ||
WHEELS_BUILD_ARGS += -C freetype=enable | ||
WHEELS_BUILD_ARGS += -C imagequant=enable | ||
WHEELS_BUILD_ARGS += -C jpeg=enable | ||
WHEELS_BUILD_ARGS += -C tiff=enable | ||
WHEELS_BUILD_ARGS += -C webp=enable | ||
WHEELS_BUILD_ARGS += -C zlib=enable | ||
|
||
#WHEELS_BUILD_ARGS += -C raqm=enable | ||
#WHEELS_BUILD_ARGS += -C lcms=enable | ||
#WHEELS_BUILD_ARGS += -C jpeg2000=enable | ||
#WHEELS_BUILD_ARGS += -C xcb=enable | ||
|
||
include ../../mk/spksrc.common.mk | ||
|
||
ifeq ($(call version_le, $(TC_GCC), 5),1) | ||
ADDITIONAL_CFLAGS = -std=c99 | ||
endif | ||
|
||
include ../../mk/spksrc.python-wheel.mk |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
pillow-11.1.0.tar.gz SHA1 e4df689bd850a01790d066accdb81ba1164a1cd1 | ||
pillow-11.1.0.tar.gz SHA256 368da70808b36d73b4b390a8ffac11069f8a5c85f29eff1f1b01bcf3ef5b2a20 | ||
pillow-11.1.0.tar.gz MD5 ede5dce0bbbeff02099e2e297919a82a |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
PKG_NAME = pydantic-core | ||
PKG_VERS = 2.27.2 | ||
PKG_EXT = tar.gz | ||
PKG_DIST_NAME = v$(PKG_VERS).$(PKG_EXT) | ||
PKG_DIST_FILE = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT) | ||
PKG_DIST_SITE = https://github.com/pydantic/pydantic-core/archive/refs/tags | ||
PKG_DIR = $(PKG_NAME)-$(PKG_VERS) | ||
|
||
DEPENDS = | ||
|
||
HOMEPAGE = https://github.com/pydantic/pydantic-core | ||
COMMENT = Provides the core functionality for pydantic validation and serialization. | ||
LICENSE = MIT license | ||
|
||
include ../../mk/spksrc.python-wheel.mk |
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
pydantic-core-2.27.2.tar.gz SHA1 dfac192b1210c8f4aa3609856ff323e034000a42 | ||
pydantic-core-2.27.2.tar.gz SHA256 0d54c3334f7bb0b29dbe1550e2e56798b2ee61a28a99d4f976c53fd75a88c58a | ||
pydantic-core-2.27.2.tar.gz MD5 45102e17b1c7dd8524717d2a00fde6a8 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.