Registrarse

[Decomp-GBA] Porymap en Linux de la forma más fácil

Jack Johnson

Hoenn Adventures Dev
Colaborador
Quiero compartir con vosotros una solución que he creado para simplificar la instalación de Porymap en sistemas Linux. Si usas Linux como yo y has encontrado que el proceso de instalación desde el repositorio oficial no es tan claro como quisieras, ¡este script de Bash podría ser justo lo que necesitas!

Debian y derivados (Ubuntu, Linux Mint...)
Bash:
#!/bin/bash

# Replace with the current version
tag="5.1.1"

qt6pkg="qt6-base-dev"
qt5pkg="qt5-default"

qt6declarativepkg="qt6-declarative-dev"
qt5declarativepkg="qtdeclarative5-dev"


# Check needed packages
checkpkg=$(dpkg-query -W -f='${Status}' build-essential 2>/dev/null | grep -c "ok installed")
if [ $checkpkg -eq 0 ];
then
    echo "Installing build-essential..."
    sudo apt-get install build-essential
else
    echo "build-essential already installed"
fi

checkpkg=$(dpkg-query -W -f='${Status}' git 2>/dev/null | grep -c "ok installed")
if [ $checkpkg -eq 0 ];
then
    echo "Installing git..."
    sudo apt-get install git
else
    echo "git already installed"
fi

# Check and select QT packages
qtversion=6
checkpkg=$(dpkg-query -W -f='${Status}' $qt6pkg 2>/dev/null | grep -c "ok installed")
if [ $checkpkg -eq 0 ];
then
    if ! sudo apt-get -s install $qt6pkg > /dev/null 2>&1
    then
        qtversion=5
        if ! sudo apt-get -s install $qt5pkg > /dev/null 2>&1
        then
            echo "Error: System not compatible."
            exit 1
        fi
        echo "Installing QT5..."
        sudo apt-get install $qt5pkg
        sudo apt-get install $qt5declarativepkg
    else
        echo "$qt5pkg already installed"
    fi
    echo "Installing QT6..."
    sudo apt-get install $qt6pkg
    sudo apt-get install $qt6declarativepkg
    else
        echo "$qt6pkg already installed"
fi

# Clone the source code
cd /usr/local
if [ ! -d "/usr/local/porymap" ]
then
    sudo git clone https://github.com/huderlem/porymap
fi

sudo git config --global --add safe.directory /usr/local/porymap
cd porymap

sudo git checkout "tags/$tag"

# Build the code
if [ $qtversion -eq 5 ];
then
    sudo qmake
else
    sudo qmake6
fi
sudo make

# Check the installation had succeeded
if [ -f "/usr/local/porymap/porymap" ]
then
    echo "porymap installation ended succesfully"
else
    echo "porymap installation failed"
    exit 1
fi

# Create a launcher shortcut
sudo su

cd "/usr/share/applications/"

output=porymap.desktop

sudo printf "[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Exec=/usr/local/porymap/porymap
Categories=Development
Name=porymap
Comment=Map editor for pokeemerald, pokefirered and pokeruby
Icon=/usr/local/porymap/resources/icons/porymap.icns" > $output
Basta con guardar el script como install-porymap.sh y ejecutarlo en tu terminal favorita, escribiendo la contraseña cuando se te pida (hay que instalar paquetes, así que te la pedirá al menos una vez).
Código:
user@debian:~$ ./install-porymap.sh
 
Última edición:

Omega

For endless fight
Miembro del equipo
Moderador/a
Una solución simple para un proceso líoso de instalar, ahora en Linux debe serlo más.

Se agradece para ayudar a los nuevos usuarios y que puedan hacer uso de Porymap sin tanto rollo <3
 
Arriba