]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blobdiff - lfs/python3
fireinfo: Update to 2.2.0
[people/pmueller/ipfire-2.x.git] / lfs / python3
index 68210623c8274aaf86476fcf947ace34d6964a78..673c77654049643c32ce6be8ed45f00e73b5d65e 100644 (file)
@@ -1,7 +1,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2016  IPFire Team  <info@ipfire.org>                     #
+# Copyright (C) 2007-2020  IPFire Team  <info@ipfire.org>                     #
 #                                                                             #
 # This program is free software: you can redistribute it and/or modify        #
 # it under the terms of the GNU General Public License as published by        #
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 3.6.0
+VER        = 3.8.7
 
 THISAPP    = Python-$(VER)
 DL_FILE    = $(THISAPP).tar.xz
@@ -32,9 +32,25 @@ DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 PROG       = python3
-PAK_VER    = 1
 
-DEPS       = ""
+DEPS       =
+
+# Normal build or $(TOOLS_DIR) build.
+#
+ifeq "$(ROOT)" ""
+  TARGET = $(DIR_INFO)/$(THISAPP)
+  CONFIGURE_ARGS = \
+       --prefix=/usr \
+       --enable-shared \
+       --with-system-expat \
+       --with-system-ffi \
+       --with-ensurepip
+else
+  TARGET = $(DIR_INFO)/$(THISAPP)-tools
+  CONFIGURE_ARGS = \
+       --prefix=$(TOOLS_DIR) \
+       --without-ensurepip
+endif
 
 ###############################################################################
 # Top-level Rules
@@ -44,7 +60,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 82b143ebbf4514d7e05876bed7a6b1f5
+$(DL_FILE)_MD5 = 60fe018fffc7f33818e6c340d29e2db9
 
 install : $(TARGET)
 
@@ -77,10 +93,23 @@ $(subst %,%_MD5,$(objects)) :
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar Jxf $(DIR_DL)/$(DL_FILE)
+
+ifeq "$(ROOT)" ""
        rm -rf $(DIR_APP)/Modules/_ctypes/{darwin,libffi,libffi_arm_wince,libffi_msvc,libffi_osx}
-       cd $(DIR_APP) && OPT="$(CFLAGS)" ./configure \
-               --prefix=/usr --enable-shared --with-system-ffi
+else
+       cd $(DIR_APP) && sed -i '/def add_multiarch_paths/a \        return' setup.py
+endif
+
+       cd $(DIR_APP) && OPT="$(CFLAGS)" ./configure $(CONFIGURE_ARGS)
        cd $(DIR_APP) && make $(MAKETUNING)
        cd $(DIR_APP) && make install
+
+       # Remove precompiled pycache at toolchain and tests
+ifneq "$(ROOT)" ""
+       cd $(TOOLS_DIR)/lib/python3.8 && find . | grep -E "(/__pycache__|/test/)" | xargs rm -rf
+else
+       cd /usr/lib/python3.8 && find . | grep -E "(/test/)" | xargs rm -rf
+endif
+
        @rm -rf $(DIR_APP)
        @$(POSTBUILD)