
tis-wapt-python39-relocatable
Silent install package for tis-wapt-python39-relocatable
3.9.22-36
- package: tis-wapt-python39-relocatable
- version: 3.9.22-36
- maintainer: sfonteneau
- locale: all
- target_os: windows
- architecture: x64
- signature_date:
- size: 8.65 Mo
package : tis-wapt-python39-relocatable
version : 3.9.22-36
architecture : x64
section : base
priority : optional
name :
categories :
maintainer : sfonteneau
description : Package for tis-python-3.9-tranquilit
depends :
conflicts :
maturity : PROD
locale : all
target_os : windows
min_wapt_version : 2.0
sources :
installed_size :
impacted_process :
description_fr : Paquet pour tis-python-3.9-tranquilit
description_pl : Pakiet dla tis-python-3.9-tranquilit
description_de : Paket für tis-python-3.9-tranquilit
description_es : Paquete para tis-python-3.9-tranquilit
description_pt : Pacote para tis-python-3.9-tranquilit
description_it : Pacchetto per tis-python-3.9-tranquilit
description_nl : Pakket voor tis-python-3.9-tranquilit
description_ru : Пакет для tis-python-3.9-tranquilit
audit_schedule :
editor :
keywords :
licence :
homepage :
package_uuid : 574bd7b7-ee61-4cb8-aee7-c971f07510da
valid_from :
valid_until :
forced_install_on :
changelog :
min_os_version :
max_os_version :
icon_sha256sum : b55b23fa81945c6cd4c2f4f114188aa9f8f3d0c3cbb9fb353b2803ffbb67b43b
signer : Tranquil IT
signer_fingerprint: 8c5127a75392be9cc9afd0dbae1222a673072c308c14d88ab246e23832e8c6bb
signature_date : 2025-04-27T14:05:48.000000
signed_attributes : package,version,architecture,section,priority,name,categories,maintainer,description,depends,conflicts,maturity,locale,target_os,min_wapt_version,sources,installed_size,impacted_process,description_fr,description_pl,description_de,description_es,description_pt,description_it,description_nl,description_ru,audit_schedule,editor,keywords,licence,homepage,package_uuid,valid_from,valid_until,forced_install_on,changelog,min_os_version,max_os_version,icon_sha256sum,signer,signer_fingerprint,signature_date,signed_attributes
signature : QHNaMlRvn90x/EStJeZq7pkGBiWDZq3Zl1iEjifgMtNRDQLFLwJY6/7PHDH8mRTAveT4KdkNH0QwnNmOqV1QFTgYZaPIfkjWxdN5D8J+V+s7TYOvAg8NZ05ySpqBxjgic3NU+Wz33VbAM6Z59rCl8G11fVly7JumI440eCJe0/GnIPP6ytnM3lM1A4/3jR/CpFujm+gQMh7AnCFgG8qeIEUzUwU+RM3lKGpSylxS1szawTzKKueq0CUTxcKd/V5puoNJ7zmFJov6qo1N8FZ/DztWfpOumrKO+BSnv7EjX7gn/ODDlHlUd+5yDnhths0I2tZPRKlHxhtBrTgceb+g5w==
# -*- coding: utf-8 -*-
from setuphelpers import *
def install():
pass
def uninstall():
pass
# -*- coding: utf-8 -*-
from setupdevhelpers import *
import os
import shutil
import os
import glob
import distro
import platform
python_name_file = str(platform.system().lower() + '_' + platform.machine().lower() + '_' + '_'.join([u.split('.')[0] for u in distro.linux_distribution(False) if u][:2])).strip('_')
def update_package():
colum1 = bs_find_all('https://www.python.org/downloads/source/','div','class',"column")[0].findAll('li')
versionpython = None
for entry in colum1:
if versionpython:
continue
if not hasattr(entry,'contents'):
continue
for i in entry.contents :
if not hasattr(i,'contents'):
continue
v = [t for t in i.contents if str(t).startswith('Python 3.9')]
if v:
versionpython = v[0].split(' ')[1]
break
openssl_version = '3.5.0'
#Download and extract python source
wget(f'https://www.python.org/ftp/python/{versionpython}/Python-{versionpython}.tgz',f'Python-{versionpython}.tgz')
unzip_with_7zip(f'Python-{versionpython}.tgz',f'Python-{versionpython}-tar')
unzip_with_7zip(rf'Python-{versionpython}-tar\Python-{versionpython}.tar','.')
remove_tree(f'Python-{versionpython}-tar')
remove_file(f'Python-{versionpython}.tgz')
#Download and extract openssl source
wget(rf'https://github.com/openssl/openssl/releases/download/openssl-{openssl_version}/openssl-{openssl_version}.tar.gz',rf'openssl-{openssl_version}.tar.gz')
unzip_with_7zip(rf'openssl-{openssl_version}.tar.gz',rf'openssl-{openssl_version}-tar')
unzip_with_7zip(rf'openssl-{openssl_version}-tar\openssl-{openssl_version}.tar','.')
remove_tree(rf'openssl-{openssl_version}-tar')
remove_file(rf'openssl-{openssl_version}.tar.gz')
if not isfile(r'C:\Program Files\NASM\nasm.exe'):
error(r'C:\Program Files\NASM\nasm.exe not found')
run(rf'Python-{versionpython}\PCbuild\get_externals.bat',timeout=5000)
with open(rf'openssl-{openssl_version}\Configurations\60-custom.conf','w') as f:
f.write(data_custom)
add_to_system_path(r'C:\Program Files\NASM')
run(rf'cd openssl-{openssl_version} & set path=C:\Program Files\NASM;%path% &"C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Auxiliary\Build\vcvars32.bat" &"C:\Strawberry\perl\bin\perl.exe" configure VC-WIN32-rtt & nmake',timeout=1200)
name_openssl_folder = glob.glob(rf'Python-{versionpython}\externals\openssl-bin-*')[0].split('\\')[-1]
shutil.move(rf'Python-{versionpython}\externals\{name_openssl_folder}\win32',rf'Python-{versionpython}\externals\{name_openssl_folder}\win32old')
shutil.move(rf'openssl-{openssl_version}',rf'Python-{versionpython}\externals\{name_openssl_folder}\win32')
filecopyto(rf'Python-{versionpython}\externals\{name_openssl_folder}\win32old\include\applink.c',rf'Python-{versionpython}\externals\{name_openssl_folder}\win32\include\applink.c')
with open(makepath(f'Python-{versionpython}','PCbuild','openssl.props'), 'r') as f:
data=f.read()
data = data.replace(r"<_DLLSuffix>-1_1</_DLLSuffix>",r"<_DLLSuffix>-3</_DLLSuffix>")
with open(makepath(f'Python-{versionpython}','PCbuild','openssl.props'), 'w') as f:
f.write(data)
run(rf'Python-{versionpython}\PCbuild\build.bat -p Win32 -t Rebuild',timeout=5000)
run(rf'"C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Current\Bin\msbuild.exe" "%s\Python-{versionpython}\Tools\msi\make_zip.proj" /t:Build /p:OutputPath="%s"' % (basedir,basedir))
name_generate = glob.glob('*.zip')[0]
os.rename(name_generate,'Python-%s.zip' % python_name_file)
remove_tree(f'Python-{versionpython}')
control.version = "%s-%s" % (Version(versionpython), control.version.split("-", 1)[-1])
control.save_control_to_wapt()
data_custom = r"""## -*- mode: perl; -*-
## Personal configuration targets
my %targets = (
"VC-WIN32-rtt" => {
inherit_from => [ "VC-WIN32" ],
cflags => sub{my $v=pop; $v=~ s/\/MD/\/MT/ig; return $v},
lflags => "/nologo /release",
},
"VC-WIN64A-rtt" => {
inherit_from => [ "VC-WIN64A" ],
cflags => sub{my $v=pop; $v=~ s/\/MD/\/MT/ig; return $v},
lflags => "/nologo /release",
},
);"""
1a9f3e01e4f8bfa3af7af61bec269160e62ef8de0c0366f62d4862049d0f414e : Python-windows_amd64.zip
38d056ab130f7bf7c481c12636a4e9959de36561d3dfcbe54c6e3571bc0c1dc3 : WAPT/certificate.crt
7c1a97bb9999a4537a520b98a76b28586d3df3dfd477f07e529963fc65161d3f : WAPT/control
b55b23fa81945c6cd4c2f4f114188aa9f8f3d0c3cbb9fb353b2803ffbb67b43b : WAPT/icon.png
e09848ecd1a9b7f4698fe2360a90eb79adeed3ba4dcae865a341106b555c1d08 : luti.json
119c7fcf6fa446e849ffe55a269d3c28b0d9223a2d9640182d97fd0eeb1f717a : setup.py
e86620484a7ef1e7f7e55989376b0f11aaa3b3dda152ba968d621f86280fe3e0 : update_package.py