Skip to content

Commit

Permalink
wheel building: Pile of small fixes to recent changes (#6409)
Browse files Browse the repository at this point in the history
* 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
th0ma7 and hgy59 authored Jan 26, 2025
1 parent 6100b65 commit d824dbe
Show file tree
Hide file tree
Showing 52 changed files with 773 additions and 319 deletions.
25 changes: 25 additions & 0 deletions cross/pendulum/Makefile
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
3 changes: 3 additions & 0 deletions cross/pendulum/digests
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
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)
}
33 changes: 33 additions & 0 deletions cross/pillow/Makefile
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
3 changes: 3 additions & 0 deletions cross/pillow/digests
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
15 changes: 15 additions & 0 deletions cross/pydantic-core/Makefile
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 added cross/pydantic-core/PLIST
Empty file.
3 changes: 3 additions & 0 deletions cross/pydantic-core/digests
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
4 changes: 2 additions & 2 deletions mk/spksrc.crossenv.mk
Original file line number Diff line number Diff line change
Expand Up @@ -115,8 +115,8 @@ post_crossenv_target: $(CROSSENV_TARGET)
###

crossenv-%:
@$(MSG) $(MAKE) ARCH=$(firstword $(subst -, ,$*)) TCVERSION=$(lastword $(subst -, ,$*)) WHEEL_NAME=$(WHEEL_NAME) WHEEL_VERSION=$(WHEEL_VERSION) crossenv
-@MAKEFLAGS= $(MAKE) ARCH=$(firstword $(subst -, ,$*)) TCVERSION=$(lastword $(subst -, ,$*)) WHEEL_NAME=$(WHEEL_NAME) WHEEL_VERSION=$(WHEEL_VERSION) crossenv --no-print-directory
@$(MSG) $(MAKE) ARCH=\"$(firstword $(subst -, ,$*))\" TCVERSION=\"$(lastword $(subst -, ,$*))\" WHEEL_NAME=\"$(WHEEL_NAME)\" WHEEL_VERSION=\"$(WHEEL_VERSION)\" crossenv
@MAKEFLAGS= $(MAKE) ARCH="$(firstword $(subst -, ,$*))" TCVERSION="$(lastword $(subst -, ,$*))" WHEEL_NAME="$(WHEEL_NAME)" WHEEL_VERSION="$(WHEEL_VERSION)" crossenv --no-print-directory

####

Expand Down
31 changes: 22 additions & 9 deletions mk/spksrc.python-module.mk
Original file line number Diff line number Diff line change
Expand Up @@ -20,23 +20,36 @@ include ../../mk/spksrc.cross-cc.mk
CROSSENV_MODULE_PATH = $(firstword $(wildcard $(WORK_DIR)/crossenv-$(PKG_NAME)-$(PKG_VERS) $(WORK_DIR)/crossenv-$(PKG_NAME) $(WORK_DIR)/crossenv-default))

### Prepare crossenv
build_crossenv_module:
@$(MSG) $(MAKE) WHEEL_NAME=\"$(PKG_VERS)\" WHEEL_VERSION=\"$(PKG_VERS)\" crossenv-$(ARCH)-$(TCVERSION)
-@MAKEFLAGS= $(MAKE) WHEEL_NAME="$(PKG_VERS)" WHEEL_VERSION="$(PKG_VERS)" crossenv-$(ARCH)-$(TCVERSION)
prepare_crossenv:
@$(MSG) $(MAKE) WHEEL_NAME=\"$(PKG_NAME)\" WHEEL_VERSION=\"$(PKG_VERS)\" crossenv-$(ARCH)-$(TCVERSION)
@MAKEFLAGS= $(MAKE) WHEEL_NAME="$(PKG_NAME)" WHEEL_VERSION="$(PKG_VERS)" crossenv-$(ARCH)-$(TCVERSION) --no-print-directory

### Python extension module rules
compile_python_module: build_crossenv_module
compile_python_module: prepare_crossenv
$(foreach e,$(shell cat $(CROSSENV_MODULE_PATH)/build/python-cc.mk),$(eval $(e)))
$(eval PYTHONPATH = $(PYTHON_SITE_PACKAGES_NATIVE):$(PYTHON_LIB_NATIVE):$(INSTALL_DIR)$(INSTALL_PREFIX)/$(PYTHON_LIB_DIR)/site-packages/)
@$(MSG) "PYTHON MODULE: activate crossenv found: $(CROSSENV)"
@. $(CROSSENV) ; \
$(RUN) PYTHONPATH=$(PYTHONPATH) python setup.py build_ext \
@if [ -d "$(CROSSENV_PATH)" ] ; then \
PATH=$(call dedup, $(call merge, $(ENV), PATH, :), :):$(PYTHON_NATIVE_PATH):$(CROSSENV_PATH)/bin:$${PATH} ; \
$(MSG) "crossenv: [$(CROSSENV_PATH)]" ; \
$(MSG) "pip: [$$(which cross-pip)]" ; \
$(MSG) "maturin: [$$(which maturin)]" ; \
else \
echo "ERROR: crossenv not found!" ; \
exit 2 ; \
fi ; \
$(MSG) PYTHONPATH=$(PYTHONPATH) cross-python3 setup.py build_ext \
-I $(STAGING_INSTALL_PREFIX)/include \
-L $(STAGING_INSTALL_PREFIX)/lib $(BUILD_ARGS) ; \
$(RUN) PYTHONPATH=$(PYTHONPATH) cross-python3 setup.py build_ext \
-I $(STAGING_INSTALL_PREFIX)/include \
-L $(STAGING_INSTALL_PREFIX)/lib $(BUILD_ARGS)

install_python_module:
@. $(CROSSENV) ; \
$(RUN) PYTHONPATH=$(PYTHONPATH) python setup.py install \
@PATH=$(call dedup, $(call merge, $(ENV), PATH, :), :):$(PYTHON_NATIVE_PATH):$(CROSSENV_PATH)/bin:$${PATH} ; \
$(MSG) PYTHONPATH=$(PYTHONPATH) cross-python3 setup.py install \
--root $(INSTALL_DIR) \
--prefix $(INSTALL_PREFIX) $(INSTALL_ARGS) ; \
$(RUN) PYTHONPATH=$(PYTHONPATH) cross-python3 setup.py install \
--root $(INSTALL_DIR) \
--prefix $(INSTALL_PREFIX) $(INSTALL_ARGS)

Expand Down
74 changes: 57 additions & 17 deletions mk/spksrc.python-wheel.mk
Original file line number Diff line number Diff line change
Expand Up @@ -10,17 +10,17 @@ ifeq ($(strip $(COMPILE_TARGET)),)
COMPILE_TARGET = build_python_wheel_target
endif
ifeq ($(strip $(INSTALL_TARGET)),)
INSTALL_TARGET = nop
INSTALL_TARGET = install_python_wheel_target
endif
ifeq ($(strip $(POST_INSTALL_TARGET)),)
POST_INSTALL_TARGET = post_install_python_wheel_target
POST_INSTALL_TARGET = install_python_wheel
endif

# Resume with standard spksrc.cross-cc.mk
include ../../mk/spksrc.cross-cc.mk

# Define where is located the crossenv
CROSSENV_MODULE_PATH = $(firstword $(wildcard $(WORK_DIR)/crossenv-$(PKG_NAME)-$(PKG_VERS) $(WORK_DIR)/crossenv-$(PKG_NAME) $(WORK_DIR)/crossenv-default))
CROSSENV_WHEEL_PATH = $(firstword $(wildcard $(WORK_DIR)/crossenv-$(PKG_NAME)-$(PKG_VERS) $(WORK_DIR)/crossenv-$(PKG_NAME) $(WORK_DIR)/crossenv-default))

# If using spksrc.python.mk with PYTHON_STAGING_PREFIX defined
# then redirect STAGING_INSTALL_PREFIX so rust
Expand All @@ -30,22 +30,40 @@ STAGING_INSTALL_PREFIX := $(PYTHON_STAGING_PREFIX)
endif

### Prepare crossenv
build_crossenv_module:
@$(MSG) WHEEL="$(PKG_NAME)-$(PKG_VERS)" $(MAKE) crossenv-$(ARCH)-$(TCVERSION)
@WHEEL="$(PKG_NAME)-$(PKG_VERS)" $(MAKE) crossenv-$(ARCH)-$(TCVERSION)
prepare_crossenv:
@$(MSG) $(MAKE) WHEEL_NAME=\"$(PKG_NAME)\" WHEEL_VERSION=\"$(PKG_VERS)\" crossenv-$(ARCH)-$(TCVERSION)
@MAKEFLAGS= $(MAKE) WHEEL_NAME="$(PKG_NAME)" WHEEL_VERSION="$(PKG_VERS)" crossenv-$(ARCH)-$(TCVERSION) --no-print-directory

### Python wheel rules
build_python_wheel_target: build_crossenv_module
$(foreach e,$(shell cat $(CROSSENV_MODULE_PATH)/build/python-cc.mk),$(eval $(e)))
@. $(CROSSENV) ; \
$(MSG) _PYTHON_HOST_PLATFORM=$(TC_TARGET) cross-python3 -m build $(BUILD_ARGS) --wheel $(WHEELS_BUILD_ARGS) --outdir $(WHEELHOUSE) ; \
$(RUN) _PYTHON_HOST_PLATFORM=$(TC_TARGET) cross-python3 -m build $(BUILD_ARGS) --wheel $(WHEELS_BUILD_ARGS) --outdir $(WHEELHOUSE)
@$(MSG) $(MAKE) REQUIREMENT=\"$(PKG_NAME)==$(PKG_VERS)\" WHEEL_NAME=\"$(PKG_NAME)\" WHEEL_VERSION=\"$(PKG_VERS)\" WHEEL_TYPE=\"cross\" wheel_install
-@MAKEFLAGS= $(MAKE) REQUIREMENT="$(PKG_NAME)==$(PKG_VERS)" WHEEL_NAME="$(PKG_NAME)" WHEEL_VERSION="$(PKG_VERS)" WHEEL_TYPE="cross" --no-print-directory wheel_install

post_install_python_wheel_target: $(WHEEL_TARGET) install_python_wheel
build_python_wheel_target: prepare_crossenv
$(foreach e,$(shell cat $(CROSSENV_WHEEL_PATH)/build/python-cc.mk),$(eval $(e)))
@if [ -d "$(CROSSENV_PATH)" ] ; then \
PATH=$(call dedup, $(call merge, $(ENV), PATH, :), :):$(PYTHON_NATIVE_PATH):$(CROSSENV_PATH)/bin:$${PATH} ; \
$(MSG) "crossenv: [$(CROSSENV_PATH)]" ; \
$(MSG) "pip: [$$(which cross-pip)]" ; \
$(MSG) "maturin: [$$(which maturin)]" ; \
else \
echo "ERROR: crossenv not found!" ; \
exit 2 ; \
fi ; \
$(MSG) _PYTHON_HOST_PLATFORM=$(TC_TARGET) cross-python3 -m build $(BUILD_ARGS) \
--wheel $(WHEELS_BUILD_ARGS) \
--outdir $(WHEELHOUSE) ; \
$(RUN) _PYTHON_HOST_PLATFORM=$(TC_TARGET) cross-python3 -m build $(BUILD_ARGS) \
--wheel $(WHEELS_BUILD_ARGS) \
--outdir $(WHEELHOUSE)

all: install
install_python_wheel_target:
@$(MSG) $(MAKE) REQUIREMENT=\"$(PKG_NAME)==$(PKG_VERS)\" \
WHEEL_NAME=\"$(PKG_NAME)\" \
WHEEL_VERSION=\"$(PKG_VERS)\" \
WHEEL_TYPE=\"cross\" \
wheel_install
@MAKEFLAGS= $(MAKE) REQUIREMENT="$(PKG_NAME)==$(PKG_VERS)" \
WHEEL_NAME="$(PKG_NAME)" \
WHEEL_VERSION="$(PKG_VERS)" \
WHEEL_TYPE="cross" \
--no-print-directory \
wheel_install

###

Expand All @@ -57,3 +75,25 @@ include ../../mk/spksrc.wheel-env.mk

## install wheel specific routines
include ../../mk/spksrc.wheel-install.mk

###

post_compile_target: $(COMPILE_TARGET)

# Call spksrc.compile.mk cookie creation recipe
ifeq ($(wildcard $(COMPILE_COOKIE)),)
compile: $(COMPILE_COOKIE)
endif

###

post_install_target: $(INSTALL_TARGET)

# Call spksrc.install.mk cookie creation recipe
ifeq ($(wildcard $(INSTALL_COOKIE)),)
install: $(INSTALL_COOKIE)

$(INSTALL_COOKIE):
$(create_target_dir)
@touch -f $@
endif
3 changes: 1 addition & 2 deletions mk/spksrc.python.mk
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,6 @@ python_pre_depend:
if grep -q spksrc.python-wheel.mk $${makefile} ; then \
pkgstr=$$(grep ^PKG_NAME $${makefile}) ; \
pkgname=$$(echo $${pkgstr#*=} | xargs) ; \
echo "rm -fr work-$(ARCH)-$(TCVERSION)/$${pkgname}* work-$(ARCH)-$(TCVERSION)/.$${pkgname}-*" ; \
rm -fr work-$(ARCH)-$(TCVERSION)/$${pkgname}* work-$(ARCH)-$(TCVERSION)/.$${pkgname}-* ; \
find $(WORK_DIR)/$${pkgname}* $(WORK_DIR)/.$${pkgname}* -maxdepth 0 -type l -exec rm -fr {} \; 2>/dev/null || true ; \
fi ; \
done
Loading

0 comments on commit d824dbe

Please sign in to comment.