tis-r-project icon

R Project

Silent install package for R Project

4.2.2-1

  • package: tis-r-project
  • name: R Project
  • version: 4.2.2-1
  • categories: Utilities
  • maintainer: WAPT Team,Tranquil IT,Pierre Cosson,Jimmy PELE
  • locale: all
  • target_os: darwin
  • impacted_process: R,Rscript,R,Rcmd,Rfe,Rgui,Rscript,RSetReg,Rterm
  • architecture: all
  • signature_date:
  • size: 92.44 Mo
  • installed_size: 172.45 Mo

package           : tis-r-project
version           : 4.2.2-1
architecture      : all
section           : base
priority          : optional
name              : R Project
categories        : Utilities
maintainer        : WAPT Team,Tranquil IT,Pierre Cosson,Jimmy PELE
description       : R is a free software environment for statistical computing and graphics
depends           : 
conflicts         : 
maturity          : PROD
locale            : all
target_os         : darwin
min_wapt_version  : 2.0
sources           : https://cloud.r-project.org/
installed_size    : 172450090
impacted_process  : R,Rscript,R,Rcmd,Rfe,Rgui,Rscript,RSetReg,Rterm
description_fr    : R est un environnement logiciel libre pour le calcul statistique et les graphiques
description_pl    : R to darmowe środowisko programistyczne do obliczeń statystycznych i grafiki
description_de    : R ist eine freie Softwareumgebung für statistische Berechnungen und Grafiken
description_es    : R es un entorno de software libre para el cálculo estadístico y los gráficos
description_pt    : R é um ambiente de software livre para computação estatística e gráfica
description_it    : R è un ambiente di software libero per il calcolo statistico e la grafica
description_nl    : R is een vrije softwareomgeving voor statistische berekeningen en grafieken
description_ru    : R - это свободная программная среда для статистических вычислений и графики
audit_schedule    : 
editor            : 
keywords          : 
licence           : 
homepage          : 
package_uuid      : e82b3bb9-df44-479e-bb36-1231a20051ca
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : 
min_os_version    : 
max_os_version    : 
icon_sha256sum    : 887962500a833b24cf37935a44f8a01589b66cf1e464e1d2b4909dd17c52ab8d
signer            : Tranquil IT
signer_fingerprint: 8c5127a75392be9cc9afd0dbae1222a673072c308c14d88ab246e23832e8c6bb
signature         : XuuBojPFV+Hu8Oi2P9/Fm3glr3e62UMRaF5iwNlbKsb8SFW0VnYd9orfM/Vx24EFdUsAezvq6pIkgqOVY9KbgKp2757wqdjtV7JsymzUSAG0sQACxqVPkh4WF85K5qnyzFfV3SeWeIdnHBoQZfi7OLhG+EbbJTymPQnJ0qne6zAsdXLn7rVQatxZC46WglWMIb/XvRzFnkxyVydoiPKSc4IaOOSufH603EzFnS45zA50eeWZVRQKZnyLD+bT4sUIxl8iFGytZHjPk8Zw8xTxW5Ri2EmXLxcToQ5jAKR/Kb99anDGf4rGuYWO6rJHXmFAAaCDylgao612LC/SAy1J6g==
signature_date    : 2022-12-07T20:58:45.772740
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

# -*- coding: utf-8 -*-
from setuphelpers import *

bin_contains = "R-"
app_path = "/Applications/R.app"


def install():
    # Declaring local variables
    package_version = control.get_software_version()
    bin_name = glob.glob("*%s*.pkg" % bin_contains)[0]

    # check if app is already installed
    if isdir(app_path):
        if is_local_app_installed(app_path, check_version=package_version):
            print("App already installed or newer version present")
        else:
            # remove previous version
            print("Removing old app")
            remove_tree(app_path)
            # Installing the package
            print("Installing: %s" % bin_name)
            install_pkg(bin_name, re)

    else:
        # Installing the package
        print("Installing: %s" % bin_name)
        install_pkg(bin_name)


def uninstall():
    # Uninstalling package
    print("Uninstalling: %s" % app_path)
    remove_tree(app_path)


def audit():
    package_version = control.get_software_version()
    if isdir(app_path):
        if is_local_app_installed(app_path, check_version=package_version):
            print("%s is present with proper version" % app_path)
            return "OK"
        else:
            print("%s version is outdated " % app_path)
            return "WARNING"
    else:
        print("%s is missing " % app_path)
        return "ERROR"

# -*- coding: utf-8 -*-
from setuphelpers import *


def update_package():
    # Declaring local variables
    package_updated = False
    proxies = get_proxies()
    if not proxies:
        proxies = get_proxies_from_wapt_console()
    url = "https://cloud.r-project.org/bin/macosx/"

    # Getting latest version from official sources
    print("URL used is: %s" % url)
    for bs_search in bs_find_all(url, "a", proxies=proxies):
        if not "arm64" in bs_search["href"] and ".pkg" in bs_search["href"]:
            version = bs_search["href"].split("-")[1].split(".pkg")[0]
            latest_bin = bs_search["href"].split("/")[1]
            download_url = url + bs_search["href"]
            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)

    # Changing version of the package
    if Version(version) > Version(control.get_software_version()):
        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()

    # Deleting outdated binaries
    remove_outdated_binaries(version)

    # Validating or not update-package-sources
    return package_updated

36e6b298c772e8f9a3844ed0db1618f803f7529bdb3f0b3dc183297d8054304a : setup.py
5c0122f66bf042f2c1356a0747b8e68d3fe05e8d568ba6eacf15d44382e6681a : update_package.py
df8db457fcc8aafbe1b084f87ec9fa8763fbcf909f9a252d05c28eb4c2aff0ff : R-4.2.2.pkg
887962500a833b24cf37935a44f8a01589b66cf1e464e1d2b4909dd17c52ab8d : WAPT/icon.png
a5a97261381e1d0ad46ee15916abec9c2631d0201f5cc50ceb0197a165a0bbbf : WAPT/certificate.crt
4e3ee205ae298e6e253eb2730a69e065c4d3692e054d7873f3e946f211aca50e : luti.json
0c94a6dab9fb669ed7a22a5a8b883751c036a4def4974b93f5a07257a8c69b83 : WAPT/control