Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#76 Le 17/09/2015, à 17:23

vv221

Re : ./play.it, installez facilement vos jeux sur Ubuntu

Le script d’aujourd’hui, pour Beneath a Steel Sky, va vous permettre de comparer l’intégration d’un paquet construit par un script ./play.it à celle d’un paquet Ubuntu officiel wink

Une fois de plus le fruit du travail de mortalius !

Dernière modification par vv221 (Le 17/09/2015, à 17:24)


Jouer sur Ubuntu ? Facile !

Hors ligne

#77 Le 18/09/2015, à 13:04

vv221

Re : ./play.it, installez facilement vos jeux sur Ubuntu

Le jeu du jour (écrit par mortalius, mais est-ce encore la peine de le préciser ?) s’inspire des jeux à la Metroid, mais y ajoute un système amusant d’hérédité.
Il s’agit de Rogue Legacy !


Jouer sur Ubuntu ? Facile !

Hors ligne

#78 Le 21/09/2015, à 12:19

vv221

Re : ./play.it, installez facilement vos jeux sur Ubuntu

Les plus acharnés d’entre vous on peut-être fini la saga Baldur’s Gate depuis que les scripts ./play.it les concernant ont été publiés… Comme je ne souhaite pas vous laisser le temps de vous ennuyer, c’est au tour de la saga Icewind Dale de rejoindre le projet :


Jouer sur Ubuntu ? Facile !

Hors ligne

#79 Le 26/09/2015, à 17:07

vv221

Re : ./play.it, installez facilement vos jeux sur Ubuntu

Après une petite pause je reprends le boulot avec un RPG atypique : avec son système de jeu fortement inspiré des RPG japonais à la Final Fantasy, et son univers une rencontre improbable entre celui de Blade Runner et de H2G2, Anachronox fait partie de ces perles qui avaient tout pour devenir un "classique" mais ont quasiment sombré dans l’oubli pour une raison que je ne m’explique pas…


Jouer sur Ubuntu ? Facile !

Hors ligne

#80 Le 01/10/2015, à 14:47

vv221

Re : ./play.it, installez facilement vos jeux sur Ubuntu

Ça fait maintenant quelques jours que je n’avais rien publié…
Pour me rattraper voici aujourd’hui les deux RPG les plus iconiques de l’univers Star Wars :

Faites chauffer les sabres laser !


Jouer sur Ubuntu ? Facile !

Hors ligne

#81 Le 07/10/2015, à 14:35

vv221

Re : ./play.it, installez facilement vos jeux sur Ubuntu

On reste dans le RPG avec la publication des deux premiers jeux d’une série dont il aurait été difficile de ne pas avoir entendu parler ces dernières années :


Jouer sur Ubuntu ? Facile !

Hors ligne

#82 Le 18/10/2015, à 12:57

vv221

Re : ./play.it, installez facilement vos jeux sur Ubuntu

Une série de Hack’n’Slash que les déçus de Diablo III connaissent très probablement, et gagneraient à connaître dans le cas contraire :


Jouer sur Ubuntu ? Facile !

Hors ligne

#83 Le 20/10/2015, à 18:46

Compte anonymisé

Re : ./play.it, installez facilement vos jeux sur Ubuntu

Bonjour,

je voulais tout d'abord vous féliciter pour votre travail qui ne peut que simplifier la vie pour l'installation/désinstallation de jeux !

J'ai testé d'installer faster than light via votre script. J'ai quelques soucis quant aux librairies.

Lors du premier lancement du jeu j'ai eu cette erreur :

./FTL: error while loading shared libraries: libIL.so.1: cannot open shared object file: No such file or directory

que j'ai pu corriger grâce à l'installation de libdevil1c2

j'ai ensuite eu :

./FTL: error while loading shared libraries: libbass.so: cannot open shared object file: No such file or directory

je précise que les deux librairies sont bien dans le dossier /usr/local/share/games/faster-than-light/amd64/lib, je pense que le dossier est ignoré par le jeu.

#84 Le 20/10/2015, à 19:08

Compte anonymisé

Re : ./play.it, installez facilement vos jeux sur Ubuntu

j'ai également un souci avec Beatbuddy: Tale of the Guardians.

Je ne peux que télécharger le fichier "BeatbuddyLinux1439603370.zip" et le script demande "BeatbuddyLinuxdec22.zip"

Cordialement

Dernière modification par Compte anonymisé (Le 20/10/2015, à 19:08)

#85 Le 21/10/2015, à 21:06

vv221

Re : ./play.it, installez facilement vos jeux sur Ubuntu

Merci pour les rapports, je vais corriger le script pour Faster Than Light et mettre à jour celui pour Beatbuddy.


Jouer sur Ubuntu ? Facile !

Hors ligne

#86 Le 22/10/2015, à 18:21

vv221

Re : ./play.it, installez facilement vos jeux sur Ubuntu

Anonyme68 a écrit :

(…)

La dernière archive fournie par Humble Bundle pour Beatbuddy (BeatbuddyLinux1439603370.zip) est maintenant supportée.


Jouer sur Ubuntu ? Facile !

Hors ligne

#87 Le 24/10/2015, à 23:30

Compte anonymisé

Re : ./play.it, installez facilement vos jeux sur Ubuntu

Merci pour le travail.

2 bugs que j'ai pu constatés :

- le script ne marche pas sur une partition ntfs
- le script ne marche pas si le dossier où il se trouve contient un espace

#88 Le 25/10/2015, à 11:15

vv221

Re : ./play.it, installez facilement vos jeux sur Ubuntu

Anonyme68 a écrit :

- le script ne marche pas sur une partition ntfs

Celui ci n’est pas lié à mes scripts : le système de fichiers NTFS ne gérant pas les droits UNIX on ne peut pas l’utiliser pour construire des paquets .deb.

Anonyme68 a écrit :

- le script ne marche pas si le dossier où il se trouve contient un espace

Ça par contre c’est un problème que je devrais pouvoir corriger.
Tu peux me donner les retours consoles d’une tentative de construction de paquet avortée à cause d’une espace dans le chemin ?


Jouer sur Ubuntu ? Facile !

Hors ligne

#89 Le 25/10/2015, à 12:06

Compte anonymisé

Re : ./play.it, installez facilement vos jeux sur Ubuntu

Bonjour,

en ressayant aujourd'hui, ça à marché dans un dossier avec un espace.

Autant pour moi hmm

Cordialement

#90 Le 25/10/2015, à 12:33

vv221

Re : ./play.it, installez facilement vos jeux sur Ubuntu

Anonyme68 a écrit :

en ressayant aujourd'hui, ça à marché dans un dossier avec un espace.

Ca me rassure un peu : je me rappelle avoir déjà observé ce problème et je pensais l'avoir déjà corrigé wink
N'hésite pas à me faire signe si tu trouves quoi que ce soit d'autre qui ne fonctionne pas comme prévu !

Je vais me charger du script pour FTL dans les jours qui viennent, et j'ai une publication de programmée pour compenser la faible fréquence de celles-ci ces dernières semaines.


Jouer sur Ubuntu ? Facile !

Hors ligne

#91 Le 25/10/2015, à 18:37

vv221

Re : ./play.it, installez facilement vos jeux sur Ubuntu

Pour aujourd’hui voici un RPG qui a fait du bruit lors de sa sortie, suite du père spirituel de la série des Fallout : Wasteland 2 !


Jouer sur Ubuntu ? Facile !

Hors ligne

#92 Le 31/10/2015, à 15:33

vv221

Re : ./play.it, installez facilement vos jeux sur Ubuntu

Pourquoi choisir entre pirates et zombies, quand on peut avoir droit aux deux *dans l’espace* ?!
Space Pirates And Zombies


Jouer sur Ubuntu ? Facile !

Hors ligne

#93 Le 15/11/2015, à 16:27

vv221

Re : ./play.it, installez facilement vos jeux sur Ubuntu

Que vous vous sentiez plutôt "président" d’une république bananière ou roi d’une île de pirates, j’ai ce qu’il vous faut :


Jouer sur Ubuntu ? Facile !

Hors ligne

#94 Le 19/11/2015, à 20:10

vv221

Re : ./play.it, installez facilement vos jeux sur Ubuntu


Jouer sur Ubuntu ? Facile !

Hors ligne

#95 Le 19/11/2015, à 22:24

Compte anonymisé

Re : ./play.it, installez facilement vos jeux sur Ubuntu

Salut,

Si ça t’intéresse, j'ai fait un script pour Metal Slug 3 de Humble Bundle.

En tout cas je suis impressionné par les possibilités de play-anything.sh smile

Il y a juste les dépendances et le numéro de version, dont je sais pas comment tu les définis.

#!/bin/sh -e

###
# Copyright (c) 2015, Antoine Le Gonidec
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# 1. Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright notice,
# this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
###

###
# conversion script for the Metal Slug 3 installer sold on HumbleBundle.com
# build a .deb package from the MojoSetup .sh installer
# tested on Debian, should work on any .deb-based distribution
#
# script version 20140609
#
# send your bug reports to vv221@dotslashplay.it
# start the e-mail subject by "./play.it" to avoid it being flagged as spam
###

# Set game-specific variables

GAME_ID='metalslug3'
GAME_ID_SHORT='ms3'
GENERIC_NAME='Metal Slug 3'
GENERIC_NAME_PKG='Metal Slug 3'

GAME_ARCHIVE1='MetalSlug3-Linux-2014-06-09.sh'
GAME_ARCHIVE1_MD5='a8a3aee4e3438d2d6d5bab23236e43a3'
GAME_ARCHIVE_FULLSIZE='82720'
PKG_ORIGIN='humble'
PKG_REVISION='140609'

APP1_ID="${GAME_ID}"
APP1_EXE_ARCH1='MetalSlug3.bin.x86'
APP1_EXE_ARCH2='MetalSlug3.bin.x86_64'
APP1_ICON='icon.png'
APP1_ICON_RES='256x256'
APP1_NAME="${GENERIC_NAME}"
APP1_NAME_FR="${GENERIC_NAME}"
APP1_CAT='Game'

PKG1_ID="${GAME_ID}"
PKG1_ARCH='i386'
PKG1_VERSION='1'
PKG1_DEPS=''
PKG1_RECS=''
PKG1_DESC="${GENERIC_NAME_PKG}"

PKG2_ID="${GAME_ID}"
PKG2_ARCH='amd64'
PKG2_VERSION='1'
PKG2_DEPS=''
PKG2_RECS=''
PKG2_DESC="${GENERIC_NAME_PKG}"

PKG1_CONFLICTS="${PKG2_ID}:${PKG2_ARCH}"
PKG2_CONFLICTS="${PKG1_ID}:${PKG1_ARCH}"

# Load common functions

TARGET_LIB_VERSION='1.13'
if [ -z "${PLAYIT_LIB}" ]; then
	PLAYIT_LIB='./play-anything.sh'
fi
if ! [ -e "${PLAYIT_LIB}" ]; then
	printf '\n\033[1;31mError:\033[0m\n'
	printf 'play-anything.sh not found.\n'
	printf 'It must be placed in the same directory than this script.\n\n'
	exit 1
fi
LIB_VERSION="$(grep '^# library version' "${PLAYIT_LIB}" | cut -d' ' -f4 | cut -d'.' -f1,2)"
if [ ${LIB_VERSION%.*} -ne ${TARGET_LIB_VERSION%.*} ] || [ ${LIB_VERSION#*.} -lt ${TARGET_LIB_VERSION#*.} ]; then
	printf '\n\033[1;31mError:\033[0m\n'
	printf 'Wrong version of play-anything.\n'
	printf 'It must be at least %s ' "${TARGET_LIB_VERSION}"
	printf 'but lower than %s.\n\n' "$((${TARGET_LIB_VERSION%.*}+1)).0"
	exit 1
fi
. "${PLAYIT_LIB}"

# Set extra variables

PKG_PREFIX_DEFAULT='/usr/local'
PKG_COMPRESSION_DEFAULT='none'
GAME_ARCHIVE_CHECKSUM_DEFAULT='md5sum'
GAME_LANG_DEFAULT=''
WITH_MOVIES_DEFAULT=''

printf '\n'
game_mkdir 'PKG_TMPDIR' "$(mktemp -u ${GAME_ID_SHORT}.XXXXX)" "$((${GAME_ARCHIVE_FULLSIZE}*2))"
game_mkdir 'PKG1_DIR' "${PKG1_ID}_${PKG1_VERSION}-${PKG_ORIGIN}${PKG_REVISION}_${PKG1_ARCH}" "$((${GAME_ARCHIVE_FULLSIZE}*2))"
game_mkdir 'PKG2_DIR' "${PKG2_ID}_${PKG2_VERSION}-${PKG_ORIGIN}${PKG_REVISION}_${PKG2_ARCH}" "$((${GAME_ARCHIVE_FULLSIZE}*2))"
fetch_args "$@"
check_deps 'unzip fakeroot'
printf '\n'
set_checksum
set_compression
set_prefix

PATH_BIN="${PKG_PREFIX}/games"
PATH_DESK='/usr/local/share/applications'
PATH_DOC="${PKG_PREFIX}/share/doc/${GAME_ID}"
PATH_GAME="${PKG_PREFIX}/share/games/${GAME_ID}"
PATH_ICON="/usr/local/share/icons/hicolor/${APP1_ICON_RES}/apps"

printf '\n'
set_target '1' 'humblebundle.com'
printf '\n'

# Check target files integrity

if [ "${GAME_ARCHIVE_CHECKSUM}" = 'md5sum' ]; then
	checksum "${GAME_ARCHIVE}" 'defaults' "${GAME_ARCHIVE1_MD5}"
fi

# Extract game data

build_pkg_dirs '2' "${PATH_BIN}" "${PATH_DESK}" "${PATH_DOC}" "${PATH_GAME}" "${PATH_ICON}"
print_wait
extract_data 'mojo' "${GAME_ARCHIVE}" "${PKG_TMPDIR}" 'quiet'
for file in 'ARPHICPL.TXT' 'LICENSES.txt'; do
	cp -rl "${PKG_TMPDIR}/data/noarch"/${file} "${PKG1_DIR}${PATH_DOC}"
	cp -rl "${PKG_TMPDIR}/data/noarch"/${file} "${PKG2_DIR}${PATH_DOC}"
	rm -r "${PKG_TMPDIR}/data/noarch"/${file}
done
mv "${PKG_TMPDIR}/data/x86"/* "${PKG1_DIR}${PATH_GAME}"
mv "${PKG_TMPDIR}/data/x86_64"/* "${PKG2_DIR}${PATH_GAME}"
cp -rl "${PKG_TMPDIR}/data/noarch"/* "${PKG1_DIR}${PATH_GAME}"
cp -rl "${PKG_TMPDIR}/data/noarch"/* "${PKG2_DIR}${PATH_GAME}"
ln -s "${PATH_GAME}/${APP1_ICON}" "${PKG1_DIR}${PATH_ICON}/${GAME_ID}.png"
ln -s "${PATH_GAME}/${APP1_ICON}" "${PKG2_DIR}${PATH_ICON}/${GAME_ID}.png"
rm -rf "${PKG_TMPDIR}"
print_done

# Write launchers

write_bin_native "${PKG1_DIR}${PATH_BIN}/${APP1_ID}" "${APP1_EXE_ARCH1}" '' '' '' "${APP1_NAME} (${PKG1_ARCH})"
write_bin_native "${PKG2_DIR}${PATH_BIN}/${APP1_ID}" "${APP1_EXE_ARCH2}" '' '' '' "${APP1_NAME} (${PKG2_ARCH})"
write_desktop "${APP1_ID}" "${APP1_NAME}" "${APP1_NAME_FR}" "${PKG1_DIR}${PATH_DESK}/${APP1_ID}.desktop" "${APP1_CAT}" ''
cp -l "${PKG1_DIR}${PATH_DESK}/${APP1_ID}.desktop" "${PKG2_DIR}${PATH_DESK}/${APP1_ID}.desktop"
printf '\n'

# Build packages

printf '%s…\n' "$(l10n 'build_pkgs')"
print_wait
write_pkg_debian "${PKG1_DIR}" "${PKG1_ID}" "${PKG1_VERSION}-${PKG_ORIGIN}${PKG_REVISION}" "${PKG1_ARCH}" "${PKG1_CONFLICTS}" "${PKG1_DEPS}" "${PKG1_RECS}" "${PKG1_DESC}" 'arch'
write_pkg_debian "${PKG2_DIR}" "${PKG2_ID}" "${PKG2_VERSION}-${PKG_ORIGIN}${PKG_REVISION}" "${PKG2_ARCH}" "${PKG2_CONFLICTS}" "${PKG2_DEPS}" "${PKG2_RECS}" "${PKG2_DESC}" 'arch'
build_pkg "${PKG1_DIR}" "${PKG1_DESC}" "${PKG_COMPRESSION}" 'quiet' "${PKG1_ARCH}"
build_pkg "${PKG2_DIR}" "${PKG2_DESC}" "${PKG_COMPRESSION}" 'quiet' "${PKG2_ARCH}"
print_done
print_instructions "${PKG1_DESC} (${PKG1_ARCH})" "${PKG1_DIR}"
printf '\n'
print_instructions "${PKG2_DESC} (${PKG2_ARCH})" "${PKG2_DIR}"
printf '\n%s ;)\n\n' "$(l10n 'have_fun')"

exit 0

#96 Le 20/11/2015, à 01:54

vv221

Re : ./play.it, installez facilement vos jeux sur Ubuntu

Anonyme68 a écrit :

Si ça t’intéresse, j'ai fait un script pour Metal Slug 3 de Humble Bundle.

Ça m’intéresse carrément wink

Pour le numéro de version ça dépend des jeux malheureusement, certains ne l’affichent pas clairement. On peut parfois le trouver dans les fichiers de doc du jeu (README ou équivalent).

Pour les dépendances, si tu peux me donner le résultat des deux commandes suivantes je t’expliquerai comment construire une liste de dépendances en partant de là :

ldd MetalSlug3.bin.x86
ldd MetalSlug3.bin.x86_64

Et si tu veux une assistance "en direct" pour la rédaction de scripts, tu es le bienvenu sur IRC :
serveur irc.freenode.net
salon #play.it

Dernière modification par vv221 (Le 20/11/2015, à 01:54)


Jouer sur Ubuntu ? Facile !

Hors ligne

#97 Le 20/11/2015, à 09:06

Compte anonymisé

Re : ./play.it, installez facilement vos jeux sur Ubuntu

$ ldd MetalSlug3.bin.x86
	linux-gate.so.1 =>  (0xf77d0000)
	libSDL2_mixer-2.0.so.0 => not found
	libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xf7783000)
	libSDL2-2.0.so.0 => /usr/lib/i386-linux-gnu/libSDL2-2.0.so.0 (0xf7660000)
	libz.so.1 => /lib/i386-linux-gnu/libz.so.1 (0xf7645000)
	libGL.so.1 => /usr/lib32/nvidia-352-updates/libGL.so.1 (0xf7541000)
	libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xf73ca000)
	libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xf737d000)
	libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xf735e000)
	libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf71a3000)
	/lib/ld-linux.so.2 (0x56556000)
	libasound.so.2 => /usr/lib/i386-linux-gnu/libasound.so.2 (0xf709b000)
	libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf7096000)
	libpulse-simple.so.0 => /usr/lib/i386-linux-gnu/libpulse-simple.so.0 (0xf7090000)
	libpulse.so.0 => /usr/lib/i386-linux-gnu/libpulse.so.0 (0xf7036000)
	libX11.so.6 => /usr/lib/i386-linux-gnu/libX11.so.6 (0xf6eeb000)
	libXext.so.6 => /usr/lib/i386-linux-gnu/libXext.so.6 (0xf6ed6000)
	libXcursor.so.1 => /usr/lib/i386-linux-gnu/libXcursor.so.1 (0xf6ecb000)
	libXinerama.so.1 => /usr/lib/i386-linux-gnu/libXinerama.so.1 (0xf6ec7000)
	libXi.so.6 => /usr/lib/i386-linux-gnu/libXi.so.6 (0xf6eb4000)
	libXrandr.so.2 => /usr/lib/i386-linux-gnu/libXrandr.so.2 (0xf6ea7000)
	libXss.so.1 => /usr/lib/i386-linux-gnu/libXss.so.1 (0xf6ea3000)
	libXxf86vm.so.1 => /usr/lib/i386-linux-gnu/libXxf86vm.so.1 (0xf6e9c000)
	libwayland-egl.so.1 => /usr/lib/i386-linux-gnu/libwayland-egl.so.1 (0xf6e99000)
	libwayland-client.so.0 => /usr/lib/i386-linux-gnu/libwayland-client.so.0 (0xf6e8c000)
	libwayland-cursor.so.0 => /usr/lib/i386-linux-gnu/libwayland-cursor.so.0 (0xf6e83000)
	libxkbcommon.so.0 => /usr/lib/i386-linux-gnu/libxkbcommon.so.0 (0xf6e3f000)
	librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0xf6e36000)
	libnvidia-tls.so.352.63 => /usr/lib32/nvidia-352-updates/tls/libnvidia-tls.so.352.63 (0xf6e31000)
	libnvidia-glcore.so.352.63 => /usr/lib32/nvidia-352-updates/libnvidia-glcore.so.352.63 (0xf4c60000)
	libpulsecommon-6.0.so => /usr/lib/i386-linux-gnu/pulseaudio/libpulsecommon-6.0.so (0xf4bdb000)
	libjson-c.so.2 => /lib/i386-linux-gnu/libjson-c.so.2 (0xf4bcf000)
	libdbus-1.so.3 => /lib/i386-linux-gnu/libdbus-1.so.3 (0xf4b75000)
	libxcb.so.1 => /usr/lib/i386-linux-gnu/libxcb.so.1 (0xf4b4f000)
	libXrender.so.1 => /usr/lib/i386-linux-gnu/libXrender.so.1 (0xf4b43000)
	libXfixes.so.3 => /usr/lib/i386-linux-gnu/libXfixes.so.3 (0xf4b3c000)
	libffi.so.6 => /usr/lib/i386-linux-gnu/libffi.so.6 (0xf4b32000)
	libsystemd.so.0 => /lib/i386-linux-gnu/libsystemd.so.0 (0xf4aa5000)
	libwrap.so.0 => /lib/i386-linux-gnu/libwrap.so.0 (0xf4a9b000)
	libsndfile.so.1 => /usr/lib/i386-linux-gnu/libsndfile.so.1 (0xf4a22000)
	libasyncns.so.0 => /usr/lib/i386-linux-gnu/libasyncns.so.0 (0xf4a1b000)
	libXau.so.6 => /usr/lib/i386-linux-gnu/libXau.so.6 (0xf4a17000)
	libXdmcp.so.6 => /usr/lib/i386-linux-gnu/libXdmcp.so.6 (0xf4a10000)
	liblzma.so.5 => /lib/i386-linux-gnu/liblzma.so.5 (0xf49e9000)
	libgcrypt.so.20 => /lib/i386-linux-gnu/libgcrypt.so.20 (0xf4938000)
	libnsl.so.1 => /lib/i386-linux-gnu/libnsl.so.1 (0xf491d000)
	libFLAC.so.8 => /usr/lib/i386-linux-gnu/libFLAC.so.8 (0xf48bd000)
	libvorbisenc.so.2 => /usr/lib/i386-linux-gnu/libvorbisenc.so.2 (0xf482e000)
	libresolv.so.2 => /lib/i386-linux-gnu/libresolv.so.2 (0xf4814000)
	libgpg-error.so.0 => /lib/i386-linux-gnu/libgpg-error.so.0 (0xf47ff000)
	libogg.so.0 => /usr/lib/i386-linux-gnu/libogg.so.0 (0xf47f6000)
	libvorbis.so.0 => /usr/lib/i386-linux-gnu/libvorbis.so.0 (0xf47c9000)
$ ldd MetalSlug3.bin.x86_64 
	linux-vdso.so.1 =>  (0x00007ffed179c000)
	libSDL2_mixer-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libSDL2_mixer-2.0.so.0 (0x00007f910cd03000)
	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f910cae5000)
	libSDL2-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libSDL2-2.0.so.0 (0x00007f910c7de000)
	libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f910c5c4000)
	libGL.so.1 => /usr/lib/nvidia-352-updates/libGL.so.1 (0x00007f910c294000)
	libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f910bf11000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f910bc09000)
	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f910b9f2000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f910b627000)
	libmodplug.so.1 => /usr/lib/x86_64-linux-gnu/libmodplug.so.1 (0x00007f910b29c000)
	libfluidsynth.so.1 => /usr/lib/x86_64-linux-gnu/libfluidsynth.so.1 (0x00007f910afd6000)
	libvorbisfile.so.3 => /usr/lib/x86_64-linux-gnu/libvorbisfile.so.3 (0x00007f910adcc000)
	libFLAC.so.8 => /usr/lib/x86_64-linux-gnu/libFLAC.so.8 (0x00007f910ab57000)
	libmad.so.0 => /usr/lib/x86_64-linux-gnu/libmad.so.0 (0x00007f910a938000)
	/lib64/ld-linux-x86-64.so.2 (0x0000562e091b5000)
	libasound.so.2 => /usr/lib/x86_64-linux-gnu/libasound.so.2 (0x00007f910a642000)
	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f910a43e000)
	libpulse-simple.so.0 => /usr/lib/x86_64-linux-gnu/libpulse-simple.so.0 (0x00007f910a239000)
	libpulse.so.0 => /usr/lib/x86_64-linux-gnu/libpulse.so.0 (0x00007f9109fe9000)
	libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007f9109caf000)
	libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6 (0x00007f9109a9d000)
	libXcursor.so.1 => /usr/lib/x86_64-linux-gnu/libXcursor.so.1 (0x00007f9109892000)
	libXinerama.so.1 => /usr/lib/x86_64-linux-gnu/libXinerama.so.1 (0x00007f910968f000)
	libXi.so.6 => /usr/lib/x86_64-linux-gnu/libXi.so.6 (0x00007f910947f000)
	libXrandr.so.2 => /usr/lib/x86_64-linux-gnu/libXrandr.so.2 (0x00007f9109273000)
	libXss.so.1 => /usr/lib/x86_64-linux-gnu/libXss.so.1 (0x00007f910906f000)
	libXxf86vm.so.1 => /usr/lib/x86_64-linux-gnu/libXxf86vm.so.1 (0x00007f9108e69000)
	libwayland-egl.so.1 => /usr/lib/x86_64-linux-gnu/libwayland-egl.so.1 (0x00007f9108c66000)
	libwayland-client.so.0 => /usr/lib/x86_64-linux-gnu/libwayland-client.so.0 (0x00007f9108a58000)
	libwayland-cursor.so.0 => /usr/lib/x86_64-linux-gnu/libwayland-cursor.so.0 (0x00007f9108850000)
	libxkbcommon.so.0 => /usr/lib/x86_64-linux-gnu/libxkbcommon.so.0 (0x00007f9108610000)
	librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f9108408000)
	libnvidia-tls.so.352.63 => /usr/lib/nvidia-352-updates/tls/libnvidia-tls.so.352.63 (0x00007f9108204000)
	libnvidia-glcore.so.352.63 => /usr/lib/nvidia-352-updates/libnvidia-glcore.so.352.63 (0x00007f9105771000)
	libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007f9105461000)
	libjack.so.0 => /usr/lib/x86_64-linux-gnu/libjack.so.0 (0x00007f9105219000)
	libsndfile.so.1 => /usr/lib/x86_64-linux-gnu/libsndfile.so.1 (0x00007f9104faf000)
	libdbus-1.so.3 => /lib/x86_64-linux-gnu/libdbus-1.so.3 (0x00007f9104d62000)
	libreadline.so.6 => /lib/x86_64-linux-gnu/libreadline.so.6 (0x00007f9104b1c000)
	libvorbis.so.0 => /usr/lib/x86_64-linux-gnu/libvorbis.so.0 (0x00007f91048f0000)
	libogg.so.0 => /usr/lib/x86_64-linux-gnu/libogg.so.0 (0x00007f91046e6000)
	libpulsecommon-6.0.so => /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-6.0.so (0x00007f910446d000)
	libjson-c.so.2 => /lib/x86_64-linux-gnu/libjson-c.so.2 (0x00007f9104261000)
	libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007f9104040000)
	libXrender.so.1 => /usr/lib/x86_64-linux-gnu/libXrender.so.1 (0x00007f9103e36000)
	libXfixes.so.3 => /usr/lib/x86_64-linux-gnu/libXfixes.so.3 (0x00007f9103c2f000)
	libffi.so.6 => /usr/lib/x86_64-linux-gnu/libffi.so.6 (0x00007f9103a27000)
	libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007f91037b9000)
	libvorbisenc.so.2 => /usr/lib/x86_64-linux-gnu/libvorbisenc.so.2 (0x00007f9103506000)
	libsystemd.so.0 => /lib/x86_64-linux-gnu/libsystemd.so.0 (0x00007f9103485000)
	libtinfo.so.5 => /lib/x86_64-linux-gnu/libtinfo.so.5 (0x00007f910325b000)
	libwrap.so.0 => /lib/x86_64-linux-gnu/libwrap.so.0 (0x00007f9103051000)
	libasyncns.so.0 => /usr/lib/x86_64-linux-gnu/libasyncns.so.0 (0x00007f9102e4b000)
	libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007f9102c46000)
	libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007f9102a40000)
	liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007f910281d000)
	libgcrypt.so.20 => /lib/x86_64-linux-gnu/libgcrypt.so.20 (0x00007f910253b000)
	libnsl.so.1 => /lib/x86_64-linux-gnu/libnsl.so.1 (0x00007f9102321000)
	libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007f9102104000)
	libgpg-error.so.0 => /lib/x86_64-linux-gnu/libgpg-error.so.0 (0x00007f9101ef1000)

en sachant que 2 librairies sont incluses avec le jeu : libSDL2-2.0.so.0 & libSDL2_mixer-2.0.so.0

ci-dessous la hiérarchisation des fichiers de la version amd64 (pour voir si ça te convient, notamment pour les docs)

.
└── usr
    └── local
        ├── games
        │   └── metalslug3
        └── share
            ├── applications
            │   └── metalslug3.desktop
            ├── doc
            │   └── metalslug3
            │       ├── ARPHICPL.TXT
            │       └── LICENSES.txt
            ├── games
            │   └── metalslug3
            │       ├── backgrounds
            │       │   ├── bg_empty.png
            │       │   ├── ea_ban.png
            │       │   ├── fond_blanc.png
            │       │   ├── ms_bg_gallery.jpg
            │       │   ├── ms_bg_leaderboards_new.png
            │       │   ├── ms_bg_select_mission_PC.png
            │       │   ├── ms_bg_select_mode_PC.png
            │       │   ├── ms_bg_settings_empty.png
            │       │   ├── ms_bg_taptostart.png
            │       │   ├── ms_confirm_bg.png
            │       │   ├── ms_menu_PC_drmfree.png
            │       │   └── ms_menu_ppal_PC_LB.png
            │       ├── fonts
            │       │   ├── dotum.ttf
            │       │   ├── Soopafresh.ttf
            │       │   ├── uming.ttc
            │       │   └── VL-Gothic-Regular.ttf
            │       ├── game
            │       │   ├── default.fsh
            │       │   ├── default.vsh
            │       │   ├── hud.fsh
            │       │   ├── hud.vsh
            │       │   ├── mslug3_adpcm
            │       │   ├── mslug3_bios_m68k
            │       │   ├── mslug3_bios_sfix
            │       │   ├── mslug3_game_m68k
            │       │   ├── mslug3_game_sfix
            │       │   ├── mslug3_game_z80
            │       │   ├── mslug3_gfix_usage
            │       │   ├── mslug3_multi_stage_1
            │       │   ├── mslug3_multi_stage_2
            │       │   ├── mslug3_multi_stage_3
            │       │   ├── mslug3_multi_stage_4
            │       │   ├── mslug3_multi_stage_5
            │       │   ├── mslug3_spr_usage
            │       │   ├── mslug3_stage_1
            │       │   ├── mslug3_stage_2
            │       │   ├── mslug3_stage_3
            │       │   ├── mslug3_stage_4
            │       │   ├── mslug3_stage_5
            │       │   ├── mslug3_tiles
            │       │   ├── mslug3_zoom_table
            │       │   ├── scale2x.fsh
            │       │   ├── scale2x.vsh
            │       │   ├── scanline.fsh
            │       │   └── scanline.vsh
            │       ├── icon.png
            │       ├── images
            │       │   ├── illustration_10.jpg
            │       │   ├── illustration_11.jpg
            │       │   ├── illustration_12.jpg
            │       │   ├── illustration_13.jpg
            │       │   ├── illustration_14.jpg
            │       │   ├── illustration_15.jpg
            │       │   ├── illustration_16.jpg
            │       │   ├── illustration_17.jpg
            │       │   ├── illustration_18.jpg
            │       │   ├── illustration_19.jpg
            │       │   ├── illustration_1.jpg
            │       │   ├── illustration_20.jpg
            │       │   ├── illustration_21.jpg
            │       │   ├── illustration_22.jpg
            │       │   ├── illustration_23.jpg
            │       │   ├── illustration_24.jpg
            │       │   ├── illustration_25.jpg
            │       │   ├── illustration_26.jpg
            │       │   ├── illustration_27.jpg
            │       │   ├── illustration_28.jpg
            │       │   ├── illustration_29.jpg
            │       │   ├── illustration_2.jpg
            │       │   ├── illustration_30.jpg
            │       │   ├── illustration_31.jpg
            │       │   ├── illustration_32.jpg
            │       │   ├── illustration_33.jpg
            │       │   ├── illustration_34.jpg
            │       │   ├── illustration_35.jpg
            │       │   ├── illustration_36.jpg
            │       │   ├── illustration_3.jpg
            │       │   ├── illustration_4.jpg
            │       │   ├── illustration_5.jpg
            │       │   ├── illustration_6.jpg
            │       │   ├── illustration_7.jpg
            │       │   ├── illustration_8.jpg
            │       │   ├── illustration_9.jpg
            │       │   ├── ms_bg_playerselect.png
            │       │   ├── ms_difficulty_bar.png
            │       │   ├── ms_gallery_boxNumPage.png
            │       │   ├── ms_gallery_boxPercentComplete.png
            │       │   ├── ms_online_blackboard.png
            │       │   ├── ms_p1_image.png
            │       │   ├── ms_p2_image.png
            │       │   ├── ms_slide_slot_perso1.png
            │       │   ├── ms_slide_slot_perso2.png
            │       │   ├── ms_slide_slot_perso3.png
            │       │   ├── ms_slide_slot_perso4.png
            │       │   └── ms_title_bar.png
            │       ├── lib64
            │       │   ├── libSDL2-2.0.so.0
            │       │   └── libSDL2_mixer-2.0.so.0
            │       ├── menus
            │       │   ├── box_back.png
            │       │   ├── box_title.png
            │       │   ├── ms_back.png
            │       │   ├── ms_barrelevels_selectmode.png
            │       │   ├── ms_barre_long.png
            │       │   ├── ms_barre_small.png
            │       │   ├── ms_barre_small_red.png
            │       │   ├── ms_cartouche_selectmode.png
            │       │   ├── ms_illustration_locked.png
            │       │   ├── ms_LB_button.png
            │       │   ├── ms_leaderboards_button.png
            │       │   ├── ms_left.png
            │       │   ├── ms_left_roll.png
            │       │   ├── ms_mission1_disabled.png
            │       │   ├── ms_mission1_normal.png
            │       │   ├── ms_mission1_selected.png
            │       │   ├── ms_mission2_disabled.png
            │       │   ├── ms_mission2_normal.png
            │       │   ├── ms_mission2_selected.png
            │       │   ├── ms_mission3_disabled.png
            │       │   ├── ms_mission3_normal.png
            │       │   ├── ms_mission3_selected.png
            │       │   ├── ms_mission4_disabled.png
            │       │   ├── ms_mission4_normal.png
            │       │   ├── ms_mission4_selected.png
            │       │   ├── ms_missionfinal_disabled.png
            │       │   ├── ms_missionfinal_normal.png
            │       │   ├── ms_missionfinal_selected.png
            │       │   ├── ms_RB_button.png
            │       │   ├── ms_right.png
            │       │   ├── ms_right_roll.png
            │       │   ├── ms_slot1.png
            │       │   ├── ms_slot2.png
            │       │   ├── ms_slot3.png
            │       │   ├── ms_slot4.png
            │       │   ├── thumb_10.jpg
            │       │   ├── thumb_11.jpg
            │       │   ├── thumb_12.jpg
            │       │   ├── thumb_13.jpg
            │       │   ├── thumb_14.jpg
            │       │   ├── thumb_15.jpg
            │       │   ├── thumb_16.jpg
            │       │   ├── thumb_17.jpg
            │       │   ├── thumb_18.jpg
            │       │   ├── thumb_19.jpg
            │       │   ├── thumb_1.jpg
            │       │   ├── thumb_20.jpg
            │       │   ├── thumb_21.jpg
            │       │   ├── thumb_22.jpg
            │       │   ├── thumb_23.jpg
            │       │   ├── thumb_24.jpg
            │       │   ├── thumb_25.jpg
            │       │   ├── thumb_26.jpg
            │       │   ├── thumb_27.jpg
            │       │   ├── thumb_28.jpg
            │       │   ├── thumb_29.jpg
            │       │   ├── thumb_2.jpg
            │       │   ├── thumb_30.jpg
            │       │   ├── thumb_31.jpg
            │       │   ├── thumb_32.jpg
            │       │   ├── thumb_33.jpg
            │       │   ├── thumb_34.jpg
            │       │   ├── thumb_35.jpg
            │       │   ├── thumb_36.jpg
            │       │   ├── thumb_3.jpg
            │       │   ├── thumb_4.jpg
            │       │   ├── thumb_5.jpg
            │       │   ├── thumb_6.jpg
            │       │   ├── thumb_7.jpg
            │       │   ├── thumb_8.jpg
            │       │   └── thumb_9.jpg
            │       ├── MetalSlug3.bin.x86_64
            │       ├── README.linux
            │       ├── sounds
            │       │   ├── cursor.wav
            │       │   ├── mslug3_character_select.wav
            │       │   ├── mslug3_difficulty.wav
            │       │   ├── mslug3_eri.wav
            │       │   ├── mslug3_fio.wav
            │       │   ├── mslug3_marco.wav
            │       │   ├── mslug3_menus.wav
            │       │   ├── mslug3_preselect.wav
            │       │   ├── mslug3_select.wav
            │       │   ├── mslug3_start.wav
            │       │   └── mslug3_tarma.wav
            │       ├── splashes
            │       │   ├── fond_blanc.png
            │       │   ├── splash_dot.png
            │       │   └── splash_snk.png
            │       └── translations
            │           ├── ms_strings_en.xml
            │           ├── ms_strings_fr.xml
            │           ├── ms_strings_it.xml
            │           ├── ms_strings_jp.xml
            │           ├── ms_strings_ko.xml
            │           ├── ms_strings_sp.xml
            │           └── ms_strings_zh.xml
            └── icons
                └── hicolor
                    └── 256x256
                        └── apps
                            └── metalslug3.png -> /usr/local/share/games/metalslug3/icon.png

EDIT : d’ailleurs il y a le fichier README.linux que j'aurai du mettre avec les docs aussi ou le supprimer (il dit simplement que la version humble bundle ne contient pas de multiplayer et qu'il faut appuyer sur next pour l'installer)

et je viens de voir que j'aurai du mettre un sous dossier licences pour les licenses.

Dernière modification par Compte anonymisé (Le 20/11/2015, à 09:33)

#98 Le 20/11/2015, à 09:56

vv221

Re : ./play.it, installez facilement vos jeux sur Ubuntu

Anonyme68 a écrit :

ci-dessous la hiérarchisation des fichiers de la version amd64 (pour voir si ça te convient, notamment pour les docs)

Le seul changement que je ferais c’est de déplacer le fichier README.linux vers le répertoire de documentation. Sinon tout me paraît nickel.

Pour revenir à la liste des dépendances, avec ldd tu as la liste des bibliothèques utilisées par l’exécutable, et dpkg va pouvoir nous donner les paquets qui les fournissent :

dpkg -S /lib/x86_64-linux-gnu/libpthread.so.0
libc6:amd64: /lib/x86_64-linux-gnu/libpthread.so.0

En faisant un peu de traitement de masse sur cette liste, puis en enlevant des résultats les paquets installés par dépendance d’autres de la même liste, j’obtiens ces dépendances :

PKG1_DEPS='libasound2-plugins, libglib2.0-0, libgl1-mesa-glx | libgl1, libsdl2-mixer-2.0-0, libxcursor1, libxrandr2'

Il se trouve que ce sont sans surprise des dépendances très fréquentes pour les jeux natifs Linux récents, que j’ai appris à reconnaître à mesure que la collection de scripts du projet s’est étendue. Si mes premières "traques" de dépendances pouvaient prendre une bonne heure, avec l’expérience de mes scripts précédents ça ne prend plus qu’une dizaine de minutes wink

Il est intéressant d’installer libsdl2-mixer-2.0-0 même s’il est fourni, pour s’assurer que ses dépendances sont elles aussi installées.


Jouer sur Ubuntu ? Facile !

Hors ligne

#99 Le 20/11/2015, à 11:10

Compte anonymisé

Re : ./play.it, installez facilement vos jeux sur Ubuntu

le script à jour avec README.linux dans le bon dossier et les dépendances :

#!/bin/sh -e

###
# Copyright (c) 2015, Antoine Le Gonidec
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# 1. Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright notice,
# this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
###

###
# conversion script for the Metal Slug 3 installer sold on HumbleBundle.com
# build a .deb package from the MojoSetup .sh installer
# tested on Debian, should work on any .deb-based distribution
#
# script version 20140609
#
# send your bug reports to vv221@dotslashplay.it
# start the e-mail subject by "./play.it" to avoid it being flagged as spam
###

# Set game-specific variables

GAME_ID='metalslug3'
GAME_ID_SHORT='ms3'
GENERIC_NAME='Metal Slug 3'
GENERIC_NAME_PKG='Metal Slug 3'

GAME_ARCHIVE1='MetalSlug3-Linux-2014-06-09.sh'
GAME_ARCHIVE1_MD5='a8a3aee4e3438d2d6d5bab23236e43a3'
GAME_ARCHIVE_FULLSIZE='82720'
PKG_ORIGIN='humble'
PKG_REVISION='140609'

APP1_ID="${GAME_ID}"
APP1_EXE_ARCH1='MetalSlug3.bin.x86'
APP1_EXE_ARCH2='MetalSlug3.bin.x86_64'
APP1_ICON='icon.png'
APP1_ICON_RES='256x256'
APP1_NAME="${GENERIC_NAME}"
APP1_NAME_FR="${GENERIC_NAME}"
APP1_CAT='Game'

PKG1_ID="${GAME_ID}"
PKG1_ARCH='i386'
PKG1_VERSION='1'
PKG1_DEPS='libasound2-plugins, libglib2.0-0, libgl1-mesa-glx | libgl1, libsdl2-mixer-2.0-0, libxcursor1, libxrandr2'
PKG1_RECS=''
PKG1_DESC="${GENERIC_NAME_PKG}"

PKG2_ID="${GAME_ID}"
PKG2_ARCH='amd64'
PKG2_VERSION='1'
PKG1_DEPS='libasound2-plugins, libglib2.0-0, libgl1-mesa-glx | libgl1, libsdl2-mixer-2.0-0, libxcursor1, libxrandr2'
PKG2_RECS=''
PKG2_DESC="${GENERIC_NAME_PKG}"

PKG1_CONFLICTS="${PKG2_ID}:${PKG2_ARCH}"
PKG2_CONFLICTS="${PKG1_ID}:${PKG1_ARCH}"

# Load common functions

TARGET_LIB_VERSION='1.13'
if [ -z "${PLAYIT_LIB}" ]; then
	PLAYIT_LIB='./play-anything.sh'
fi
if ! [ -e "${PLAYIT_LIB}" ]; then
	printf '\n\033[1;31mError:\033[0m\n'
	printf 'play-anything.sh not found.\n'
	printf 'It must be placed in the same directory than this script.\n\n'
	exit 1
fi
LIB_VERSION="$(grep '^# library version' "${PLAYIT_LIB}" | cut -d' ' -f4 | cut -d'.' -f1,2)"
if [ ${LIB_VERSION%.*} -ne ${TARGET_LIB_VERSION%.*} ] || [ ${LIB_VERSION#*.} -lt ${TARGET_LIB_VERSION#*.} ]; then
	printf '\n\033[1;31mError:\033[0m\n'
	printf 'Wrong version of play-anything.\n'
	printf 'It must be at least %s ' "${TARGET_LIB_VERSION}"
	printf 'but lower than %s.\n\n' "$((${TARGET_LIB_VERSION%.*}+1)).0"
	exit 1
fi
. "${PLAYIT_LIB}"

# Set extra variables

PKG_PREFIX_DEFAULT='/usr/local'
PKG_COMPRESSION_DEFAULT='none'
GAME_ARCHIVE_CHECKSUM_DEFAULT='md5sum'
GAME_LANG_DEFAULT=''
WITH_MOVIES_DEFAULT=''

printf '\n'
game_mkdir 'PKG_TMPDIR' "$(mktemp -u ${GAME_ID_SHORT}.XXXXX)" "$((${GAME_ARCHIVE_FULLSIZE}*2))"
game_mkdir 'PKG1_DIR' "${PKG1_ID}_${PKG1_VERSION}-${PKG_ORIGIN}${PKG_REVISION}_${PKG1_ARCH}" "$((${GAME_ARCHIVE_FULLSIZE}*2))"
game_mkdir 'PKG2_DIR' "${PKG2_ID}_${PKG2_VERSION}-${PKG_ORIGIN}${PKG_REVISION}_${PKG2_ARCH}" "$((${GAME_ARCHIVE_FULLSIZE}*2))"
fetch_args "$@"
check_deps 'unzip fakeroot'
printf '\n'
set_checksum
set_compression
set_prefix

PATH_BIN="${PKG_PREFIX}/games"
PATH_DESK='/usr/local/share/applications'
PATH_DOC="${PKG_PREFIX}/share/doc/${GAME_ID}"
PATH_GAME="${PKG_PREFIX}/share/games/${GAME_ID}"
PATH_ICON="/usr/local/share/icons/hicolor/${APP1_ICON_RES}/apps"

printf '\n'
set_target '1' 'humblebundle.com'
printf '\n'

# Check target files integrity

if [ "${GAME_ARCHIVE_CHECKSUM}" = 'md5sum' ]; then
	checksum "${GAME_ARCHIVE}" 'defaults' "${GAME_ARCHIVE1_MD5}"
fi

# Extract game data

build_pkg_dirs '2' "${PATH_BIN}" "${PATH_DESK}" "${PATH_DOC}" "${PATH_GAME}" "${PATH_ICON}"
print_wait
extract_data 'mojo' "${GAME_ARCHIVE}" "${PKG_TMPDIR}" 'quiet'
for file in 'ARPHICPL.TXT' 'LICENSES.txt' 'README.linux'; do
	cp -rl "${PKG_TMPDIR}/data/noarch"/${file} "${PKG1_DIR}${PATH_DOC}"
	cp -rl "${PKG_TMPDIR}/data/noarch"/${file} "${PKG2_DIR}${PATH_DOC}"
	rm -r "${PKG_TMPDIR}/data/noarch"/${file}
done
mv "${PKG_TMPDIR}/data/x86"/* "${PKG1_DIR}${PATH_GAME}"
mv "${PKG_TMPDIR}/data/x86_64"/* "${PKG2_DIR}${PATH_GAME}"
cp -rl "${PKG_TMPDIR}/data/noarch"/* "${PKG1_DIR}${PATH_GAME}"
cp -rl "${PKG_TMPDIR}/data/noarch"/* "${PKG2_DIR}${PATH_GAME}"
ln -s "${PATH_GAME}/${APP1_ICON}" "${PKG1_DIR}${PATH_ICON}/${GAME_ID}.png"
ln -s "${PATH_GAME}/${APP1_ICON}" "${PKG2_DIR}${PATH_ICON}/${GAME_ID}.png"
rm -rf "${PKG_TMPDIR}"
print_done

# Write launchers

write_bin_native "${PKG1_DIR}${PATH_BIN}/${APP1_ID}" "${APP1_EXE_ARCH1}" '' '' '' "${APP1_NAME} (${PKG1_ARCH})"
write_bin_native "${PKG2_DIR}${PATH_BIN}/${APP1_ID}" "${APP1_EXE_ARCH2}" '' '' '' "${APP1_NAME} (${PKG2_ARCH})"
write_desktop "${APP1_ID}" "${APP1_NAME}" "${APP1_NAME_FR}" "${PKG1_DIR}${PATH_DESK}/${APP1_ID}.desktop" "${APP1_CAT}" ''
cp -l "${PKG1_DIR}${PATH_DESK}/${APP1_ID}.desktop" "${PKG2_DIR}${PATH_DESK}/${APP1_ID}.desktop"
printf '\n'

# Build packages

printf '%s…\n' "$(l10n 'build_pkgs')"
print_wait
write_pkg_debian "${PKG1_DIR}" "${PKG1_ID}" "${PKG1_VERSION}-${PKG_ORIGIN}${PKG_REVISION}" "${PKG1_ARCH}" "${PKG1_CONFLICTS}" "${PKG1_DEPS}" "${PKG1_RECS}" "${PKG1_DESC}" 'arch'
write_pkg_debian "${PKG2_DIR}" "${PKG2_ID}" "${PKG2_VERSION}-${PKG_ORIGIN}${PKG_REVISION}" "${PKG2_ARCH}" "${PKG2_CONFLICTS}" "${PKG2_DEPS}" "${PKG2_RECS}" "${PKG2_DESC}" 'arch'
build_pkg "${PKG1_DIR}" "${PKG1_DESC}" "${PKG_COMPRESSION}" 'quiet' "${PKG1_ARCH}"
build_pkg "${PKG2_DIR}" "${PKG2_DESC}" "${PKG_COMPRESSION}" 'quiet' "${PKG2_ARCH}"
print_done
print_instructions "${PKG1_DESC} (${PKG1_ARCH})" "${PKG1_DIR}"
printf '\n'
print_instructions "${PKG2_DESC} (${PKG2_ARCH})" "${PKG2_DIR}"
printf '\n%s ;)\n\n' "$(l10n 'have_fun')"

exit 0

#100 Le 20/11/2015, à 12:26

vv221

Re : ./play.it, installez facilement vos jeux sur Ubuntu

Parfait, merci !
Je vais faire quelques petites retouches avant de le publier, j’ai fait évoluer un peu le modèle récemment et le script qui t’a servi de base ne comporte pas les dernières modifications. Je te décrirai les changement que j’ai fait au moment de le publier.

En tous cas ça fait très plaisir que ces scripts te soient utiles, et encore plus que tu aies eu la curiosité d’en écrire par toi-même wink


Jouer sur Ubuntu ? Facile !

Hors ligne