julia
Paquet d’installation silencieuse pour julia
1.12.3-5
Utilities
Utilities
Les paquets PREPROD sont des paquets construits via LUTI.
Ils restent généralement 5 jours en PREPROD, après quoi un scan VirusTotal est effectué.
Si le paquet réussit ce dernier contrôle, il est promu en PROD et publié sur le store.
- package: tis-julia
- name: julia
- version: 1.12.3-5
- categories: Utilities
- maintainer: WAPT Team,Tranquil IT,Pierre Cosson,Jimmy PELÉ
- licence: opensource_free,cpe:/a:mit:x11_license,wapt_public
- locale: all
- target_os: linux
- impacted_process: julia
- architecture: x64
- signature_date:
- size: 288.30 Mo
- installed_size: 702.73 Mo
- homepage : https://julialang.org/
package : tis-julia
version : 1.12.3-5
architecture : x64
section : base
priority : optional
name : julia
categories : Utilities
maintainer : WAPT Team,Tranquil IT,Pierre Cosson,Jimmy PELÉ
description : Julia is a high-level, high-performance dynamic language for technical computing
depends :
conflicts :
maturity : PREPROD
locale : all
target_os : linux
min_wapt_version : 2.3
sources : https://julialang.org/downloads/
installed_size : 702726003
impacted_process : julia
description_fr : Julia est un langage dynamique de haut niveau et de haute performance pour l'informatique technique
description_pl : Julia to wysokopoziomowy i wydajny dynamiczny język do obliczeń technicznych
description_de : Julia ist eine dynamische Hochsprache für technische Berechnungen mit hoher Leistung
description_es : Julia es un lenguaje dinámico de alto nivel y rendimiento para la informática técnica
description_pt : Julia é uma linguagem dinâmica de alto nível e elevado desempenho para computação técnica
description_it : Julia è un linguaggio dinamico di alto livello e ad alte prestazioni per il calcolo tecnico
description_nl : Julia is een dynamische taal op hoog niveau voor technisch computerwerk
description_ru : Julia - это высокоуровневый, высокопроизводительный динамический язык для технических вычислений
audit_schedule :
editor :
keywords :
licence : opensource_free,cpe:/a:mit:x11_license,wapt_public
homepage : https://julialang.org/
package_uuid : 0ff17810-64b6-49b7-941e-596b42bad55d
valid_from :
valid_until :
forced_install_on :
changelog : https://github.com/JuliaLang/julia/releases
min_os_version :
max_os_version :
icon_sha256sum : 19f3c2d374cc23797dfdaa2706b1ea4648283220a2f04630ca3396f36d6ea05f
signer : test
signer_fingerprint: b82fc8ef4a4475c0f69ac168176c2bfc58f572eb716c4eadd65e4785c155dd8e
signature_date : 2025-12-15T23:57:00.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 : Pjlj3f/mRarfhJjasiAXpy4moQzKVIt0KLEWioRT8WD0iXGgLMrlkziPFNQ/+WkOhtG7EVFu0YOmExA5vP5W5+7if9tjlZqDMQ0j7UD7/OUKlyx827y6PZBMsGRR/MDkdQayFZd7prSWXAVap7dPGEeiVFsZCmcZAKoWfpixwkB+bbA+mYGjjS4Z0pu2yF3wLmmIIzgQzactI5DdYwqQgGVL13a5qDOikuz47xD2vXImF4hkqX6U9tHeHZdBsWrqpLanjMZ6fOPwDceXaWpuVyhbVyZwNfQCDm16Tcf0BXhFsvt0tO6WNSHLWe7TwoBMioJ//A0StihknkaGdDSY/w==
# -*- coding: utf-8 -*-
from setuphelpers import *
import tarfile
from typing import List, Optional
bin_path = makepath("/","usr","local","bin")
app_path = "/opt/julia"
def install():
version = control.get_software_version()
extract_path = glob.glob("julia-*-linux-x86_64.tar.gz")[0]
mkdirs("/opt/julia")
extract_tar(extract_path, app_path)
if isfile(f"{bin_path}/julia"):
remove_file(f"{bin_path}/julia")
os.symlink(f"/opt/julia/julia-{version}/bin/julia", f"{bin_path}/julia")
def uninstall():
print("Removing julia")
if isfile(f"{bin_path}/julia"):
remove_file(f"{bin_path}/julia")
if isdir(f"{app_path}"):
remove_tree(f"{app_path}")
def extract_tar(
tar_path: str,
extract_path: str = ".",
exclude_list: Optional[List[str]] = None,
include_list: Optional[List[str]] = None
) -> None:
"""
Extracts a tar archive to the given directory, with optional inclusion or exclusion filtering.
:param tar_path: Path to the .tar (or .tar.gz, .tar.bz2, etc.) archive.
:param extract_path: Directory where files should be extracted.
:param exclude_list: List of path prefixes to exclude from extraction.
:param include_list: List of path prefixes to include exclusively. Overrides exclude_list if provided.
"""
with tarfile.open(tar_path, 'r:*') as tar:
all_members = tar.getmembers()
if include_list:
include_set = set(include_list)
members = [
m for m in all_members
if any(m.name.startswith(inc) for inc in include_set)
]
elif exclude_list:
exclude_set = set(exclude_list)
members = [
m for m in all_members
if not any(m.name.startswith(exc) for exc in exclude_set)
]
else:
members = all_members
tar.extractall(path=extract_path, members=members)
# -*- coding: utf-8 -*-
from setuphelpers import *
from setupdevhelpers import *
def update_package():
# Declaring local variables
package_updated = False
proxies = get_proxies()
if not proxies:
proxies = get_proxies_from_wapt_console()
update_dict = {
# "windows-x64": "-win64.zip",
"windows-x64": "-win64.exe",
"windows-x86": "-win32.exe",
"mac-x64": "-mac64.dmg",
"mac-arm64": "-macaarch64.dmg",
"linux" : "linux-x86_64.tar.gz"
}
url = "https://julialang.org/downloads/manual-downloads/"
# Getting latest version from official sources
print("URL used is: %s" % url)
for bs_search in bs_find_all(url, "a", proxies=proxies):
if update_dict[control.target_os] in bs_search.get("href", ""):
download_url = bs_search["href"]
latest_bin = bs_search["href"].split("/")[-1]
version = latest_bin.split("-")[1]
break
# Downloading latest binaries
print("Latest %s version is: %s" % (control.name, version))
print("Download URL is: %s" % download_url)
if not isfile(latest_bin):
print("Downloading: %s" % latest_bin)
wget(download_url, latest_bin, proxies=proxies)
else:
print("Binary is present: %s" % latest_bin)
# Deleting outdated binaries
for f in glob.glob('*.tar.gz'):
if f != latest_bin:
remove_file(f)
# arch_list = ensure_list(control.architecture)
# remove_outdated_binaries(version, filename_contains=("x64" if "x64" in arch_list else "x86" if "x86" in arch_list else []))
# Checking version from file
if get_os_name() == "Windows" and "windows" in control.target_os.lower():
version_from_file = get_version_from_binary(latest_bin)
if Version(version_from_file, 4) == Version(version, 4):
print(f"INFO: Binary file version ({version_from_file}) corresponds to online version ({version})")
else:
error(f"ERROR: Binary file version ({version_from_file}) do NOT corresponds to online version ({version})")
# Changing version of the package
if Version(version, 4) > Version(control.get_software_version(), 4):
print("Software version updated (from: %s to: %s)" % (control.get_software_version(), Version(version)))
package_updated = True
else:
print("Software version up-to-date (%s)" % Version(version))
control.set_software_version(version)
control.save_control_to_wapt()
# Validating or not update-package-sources
return package_updated
# # Changing version of the package and validating update-package-sources
# return complete_control_version(control, version)
01ca7fe94636e5a08fcb73849d3b5df25d51e2c82f4dd1a08f01798b25899819 : WAPT/certificate.crt
f7ecd5b811dab11edcceae41220de3e726d672f7b6c01d9cd1519ce6bc4d7bca : WAPT/control
19f3c2d374cc23797dfdaa2706b1ea4648283220a2f04630ca3396f36d6ea05f : WAPT/icon.png
8f7bd50f7472ae4eba8c5df6de31345d9ce2da17e22b94ffdfe603acaaf6b912 : julia-1.12.3-linux-x86_64.tar.gz
c128bb917bfeb363f56d3dc47892240b1e19077b2a8a80e40689a1c960f536fc : luti.json
7fae1050750b74c2010cd31f9c3d40c2fac606cacf53840bb6254038852ff649 : setup.py
a64cae862dd58bbbab8109d939ce3e92a9abb50b72b6d3f9187669f8fa3d42a3 : update_package.py