diff -Nru playonlinux-4.2.10/bash/check_gl playonlinux-4.2.12/bash/check_gl --- playonlinux-4.2.10/bash/check_gl 2016-01-03 22:16:17.000000000 +0000 +++ playonlinux-4.2.12/bash/check_gl 2017-06-19 19:03:38.000000000 +0000 @@ -41,19 +41,25 @@ chmod +x "$POL_USER_ROOT/tmp/check_dd_$1" message="$("$POL_USER_ROOT/tmp/check_dd_$1")" out="$?" - - if [ "$out" = "0" ] - then - $cmd "$message" - exit 0 - else - $cmdW "$message" - exit 2 - fi + # When bz2 version is not presented (was installed on specific platform) + # use on site compiled check_dd version + elif [ -e "/usr/libexec/playonlinux-check_dd" ] + then + message="$("/usr/libexec/playonlinux-check_dd")" + out="$?" else $cmdW "check_dd_$1 missing, test skipped" exit 0 fi + + if [ "$out" = "0" ] + then + $cmd "$message" + exit 0 + else + $cmdW "$message" + exit 2 + fi } cd /tmp diff -Nru playonlinux-4.2.10/CHANGELOG.md playonlinux-4.2.12/CHANGELOG.md --- playonlinux-4.2.10/CHANGELOG.md 2016-01-03 22:16:17.000000000 +0000 +++ playonlinux-4.2.12/CHANGELOG.md 2017-06-19 19:03:38.000000000 +0000 @@ -1,3 +1,7 @@ +# 4.2.11 +* Fix POL_SetupWindow_download clobbering $FILENAME +* Fix small typo in first use "send report" message + # 4.2.10 * Silence POL_Notice_IsAck when ack_notices file doesn't exist diff -Nru playonlinux-4.2.10/debian/changelog playonlinux-4.2.12/debian/changelog --- playonlinux-4.2.10/debian/changelog 2016-10-03 13:43:57.000000000 +0000 +++ playonlinux-4.2.12/debian/changelog 2017-07-26 09:14:57.000000000 +0000 @@ -1,9 +1,19 @@ -playonlinux (4.2.10-2ubuntu1) yakkety; urgency=medium +playonlinux (4.2.12-1) unstable; urgency=medium - * playonlinux.desktop: Add a Comment= field, so that playonlinux gets - appstream metadata generated. Thanks, AsciiWolf (LP: #1574805) + * Use my @debian.org address for the maintainer field and in debian/copyright. + * Moved the package to Git. + * New upstream version 4.2.12 (Closes: #863711, #849119). + * debian/rules: override dh_auto_install to disable upstream's Makefile. + * debian/rules: remove override_dh_install, not needed anymore. + * Use the manpages shipped upstream: + + remove debian/man. + + update debian/playonlinux.manpages. + + add a patch to fix a typo in playonlinux.1. + * Use the desktop file shipped upstream (Closes: #845548). + * Update years and Format: url in debian/copyright. + * Standards version: 4.0.0. - -- Iain Lane Mon, 03 Oct 2016 14:43:57 +0100 + -- Bertrand Marc Wed, 26 Jul 2017 11:14:57 +0200 playonlinux (4.2.10-2) unstable; urgency=medium diff -Nru playonlinux-4.2.10/debian/control playonlinux-4.2.12/debian/control --- playonlinux-4.2.10/debian/control 2016-10-03 13:44:07.000000000 +0000 +++ playonlinux-4.2.12/debian/control 2017-07-25 19:43:05.000000000 +0000 @@ -1,13 +1,12 @@ Source: playonlinux Section: contrib/otherosfs Priority: optional -Maintainer: Ubuntu Developers -XSBC-Original-Maintainer: Debian Games Team -Uploaders: Bertrand Marc +Maintainer: Debian Games Team +Uploaders: Bertrand Marc Build-Depends: debhelper (>= 9), dh-python, python, imagemagick -Standards-Version: 3.9.8 -Vcs-Svn: svn://anonscm.debian.org/pkg-games/packages/trunk/playonlinux/ -Vcs-Browser: https://anonscm.debian.org/viewvc/pkg-games/packages/trunk/playonlinux/ +Standards-Version: 4.0.0 +Vcs-Git: https://anonscm.debian.org/git/pkg-games/playonlinux.git +Vcs-Browser: https://anonscm.debian.org/git/pkg-games/playonlinux.git Homepage: http://www.playonlinux.com/ Package: playonlinux diff -Nru playonlinux-4.2.10/debian/copyright playonlinux-4.2.12/debian/copyright --- playonlinux-4.2.10/debian/copyright 2016-04-09 13:59:15.000000000 +0000 +++ playonlinux-4.2.12/debian/copyright 2017-07-25 19:43:05.000000000 +0000 @@ -1,4 +1,4 @@ -Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: PlayOnLinux Upstream-Contact: Quentin Pâris Source: http://www.playonlinux.com/ @@ -7,7 +7,7 @@ Therefore it is not part of Debian, and remains in contrib. Files: * -Copyright: 2007-2016 Quentin Pâris +Copyright: 2007-2017 Quentin Pâris License: GPL-3 Files: resources/images/emotes/* resources/images/install/* @@ -29,7 +29,7 @@ Public Domain". So no license is required for any purpose. Files: debian/* -Copyright: 2010-2016 Bertrand Marc +Copyright: 2010-2017 Bertrand Marc License: GPL-3 License: GPL-3 diff -Nru playonlinux-4.2.10/debian/man/playonlinux.1 playonlinux-4.2.12/debian/man/playonlinux.1 --- playonlinux-4.2.10/debian/man/playonlinux.1 2013-05-08 12:11:24.000000000 +0000 +++ playonlinux-4.2.12/debian/man/playonlinux.1 1970-01-01 00:00:00.000000000 +0000 @@ -1,33 +0,0 @@ -.TH PLAYONLINUX 1 "February 6, 2009" - -.SH NAME -PlayOnLinux \- front-end for Wine - -.SH SYNOPSIS -.B playonlinux -.RI [ options ] - -.SH DESCRIPTION -.B PlayOnLinux -is a front-end for Wine. It allows you to easily install and use numerous games and software designed to run with Microsoft®'s Windows®. -.br -Few games are compatible with GNU/Linux at the moment and it certainly is a factor preventing the migration to this system. -.P -.B PlayOnLinux -performs installations in -.I ~/.PlayOnLinux -and uses separate Wine prefixes to avoid conflicts between applications. - -.SH OPTIONS -.TP -.I --version - Show version number and exit. -.TP -.I "--run " - Run directly the specified program. - -.SH AUTHOR -playonlinux was written by Quentin Pâris . -.PP -This manual page was written by Bertrand Marc , -for the Debian project (but may be used by others). diff -Nru playonlinux-4.2.10/debian/man/playonlinux-pkg.1 playonlinux-4.2.12/debian/man/playonlinux-pkg.1 --- playonlinux-4.2.10/debian/man/playonlinux-pkg.1 2009-10-06 23:04:54.000000000 +0000 +++ playonlinux-4.2.12/debian/man/playonlinux-pkg.1 1970-01-01 00:00:00.000000000 +0000 @@ -1,33 +0,0 @@ -.TH PLAYONLINUX-PKG 1 "February 6, 2009" - -.SH NAME -playonlinux-pkg \- tool to manage playonlinux packages - -.SH SYNOPSIS -.B playonlinux-pkg -.RI [ options ] -.RI [ package ] - -.SH DESCRIPTION -.B playonlinux-pkg -is a tool to install or manage the playonlinux packages - -.SH OPTIONS -.TP -.I "-b, --browse" - Choose a file. -.TP -.I "-e, --extract" - Extract the package. -.TP -.I "-i, --install" - Install the package. -.TP -.I "-h, --help" - Show usage. - -.SH AUTHOR -playonlinux was written by Quentin Pâris . -.PP -This manual page was written by Bertrand Marc , -for the Debian project (but may be used by others). diff -Nru playonlinux-4.2.10/debian/patches/series playonlinux-4.2.12/debian/patches/series --- playonlinux-4.2.10/debian/patches/series 2016-10-03 13:41:19.000000000 +0000 +++ playonlinux-4.2.12/debian/patches/series 2017-07-25 17:46:22.000000000 +0000 @@ -1,3 +1,3 @@ set_debian_env.diff remove_binary_plugin.diff -desktopfile-add-comment +typo.diff diff -Nru playonlinux-4.2.10/debian/patches/typo.diff playonlinux-4.2.12/debian/patches/typo.diff --- playonlinux-4.2.10/debian/patches/typo.diff 1970-01-01 00:00:00.000000000 +0000 +++ playonlinux-4.2.12/debian/patches/typo.diff 2017-07-25 17:50:38.000000000 +0000 @@ -0,0 +1,13 @@ +Description: Fix a typo in playonlinux.1 manpage. +Author: Bertrand Marc +--- a/doc/playonlinux.1 ++++ b/doc/playonlinux.1 +@@ -9,7 +9,7 @@ + + .SH DESCRIPTION + .B PlayOnLinux +-is a front-end for Wine. It allows you to easily install and use numerous games and softwares designed to run with Microsoft®'s Windows®. ++is a front-end for Wine. It allows you to easily install and use numerous games and software designed to run with Microsoft®'s Windows®. + .br + Few games are compatible with GNU/Linux at the moment and it certainly is a factor preventing the migration to this system. + .P diff -Nru playonlinux-4.2.10/debian/PlayOnLinux.desktop playonlinux-4.2.12/debian/PlayOnLinux.desktop --- playonlinux-4.2.10/debian/PlayOnLinux.desktop 2016-10-03 13:43:11.000000000 +0000 +++ playonlinux-4.2.12/debian/PlayOnLinux.desktop 1970-01-01 00:00:00.000000000 +0000 @@ -1,9 +0,0 @@ -[Desktop Entry] -Version=1.0 -Name=PlayOnLinux -GenericName=Game -Comment=Graphical front-end for Wine -Type=Application -Exec=playonlinux -Icon=playonlinux -Categories=Game; diff -Nru playonlinux-4.2.10/debian/playonlinux.install playonlinux-4.2.12/debian/playonlinux.install --- playonlinux-4.2.10/debian/playonlinux.install 2016-04-07 17:22:22.000000000 +0000 +++ playonlinux-4.2.12/debian/playonlinux.install 2017-07-25 19:42:28.000000000 +0000 @@ -14,6 +14,6 @@ playonlinux-pkg usr/share/playonlinux/ playonlinux-shell usr/share/playonlinux/ etc/playonlinux*.png playonlinux.xpm usr/share/pixmaps/ -debian/PlayOnLinux.desktop usr/share/applications/ +etc/PlayOnLinux.desktop usr/share/applications/ debian/bin/playonlinux usr/bin/ debian/bin/playonlinux-pkg usr/bin/ diff -Nru playonlinux-4.2.10/debian/playonlinux.manpages playonlinux-4.2.12/debian/playonlinux.manpages --- playonlinux-4.2.10/debian/playonlinux.manpages 2011-04-24 17:42:18.000000000 +0000 +++ playonlinux-4.2.12/debian/playonlinux.manpages 2017-07-25 17:45:52.000000000 +0000 @@ -1,2 +1,2 @@ -debian/man/playonlinux.1 -debian/man/playonlinux-pkg.1 +doc/playonlinux.1 +doc/playonlinux-pkg.1 diff -Nru playonlinux-4.2.10/debian/rules playonlinux-4.2.12/debian/rules --- playonlinux-4.2.10/debian/rules 2014-01-25 12:24:12.000000000 +0000 +++ playonlinux-4.2.12/debian/rules 2017-07-25 17:42:22.000000000 +0000 @@ -15,8 +15,5 @@ override_dh_auto_build-indep: convert -monitor -resize 32x32 $(CURDIR)/etc/playonlinux.png $(CURDIR)/playonlinux.xpm -override_dh_install: - dh_install - chmod +x debian/playonlinux/usr/share/playonlinux/bash/startup_after_server - chmod +x debian/playonlinux/usr/share/playonlinux/bash/read_pc_cd - chmod +x debian/playonlinux/usr/share/playonlinux/bash/find_python +override_dh_auto_install: + diff -Nru playonlinux-4.2.10/doc/playonlinux-daemon.1 playonlinux-4.2.12/doc/playonlinux-daemon.1 --- playonlinux-4.2.10/doc/playonlinux-daemon.1 2016-01-03 22:16:17.000000000 +0000 +++ playonlinux-4.2.12/doc/playonlinux-daemon.1 1970-01-01 00:00:00.000000000 +0000 @@ -1,28 +0,0 @@ -.TH PLAYONLINUX-DAEMON 1 "February 6, 2009" - -.SH NAME -playonlinux-daemon \- daemon to handle disk insertion in PlayOnLinux - -.SH SYNOPSIS -.B playonlinux-daemon -.RI [ options ] - -.SH DESCRIPTION -.B playonlinux-daemon -is a daemon to handle disk insertion within PlayOnLinux. It still needs testing and may not work flawlessly. -.br -Users who want to handle autoruns with PlayOnLinux should launch this script at startup. - -.SH OPTIONS -.TP -.I "--version" - Show version number and exit. -.TP -.I "--kill" - Kill the daemon. - -.SH AUTHOR -playonlinux was written by Quentin Pâris . -.PP -This manual page was written by Bertrand Marc , -for the Debian project (but may be used by others). diff -Nru playonlinux-4.2.10/etc/PlayOnLinux.appdata.xml playonlinux-4.2.12/etc/PlayOnLinux.appdata.xml --- playonlinux-4.2.10/etc/PlayOnLinux.appdata.xml 1970-01-01 00:00:00.000000000 +0000 +++ playonlinux-4.2.12/etc/PlayOnLinux.appdata.xml 2017-06-19 19:03:38.000000000 +0000 @@ -0,0 +1,50 @@ + + + + PlayOnLinux.desktop + GPL-3.0 + CC0-1.0 + PlayOnLinux + Graphical front-end for Wine + +

+ PlayOnLinux will allow you to run your favorite Windows games and + applications on Linux through Wine easily. +

+

+ New users can often find Wine to be intimidating and difficult to use. + PlayOnLinux simplifies much of this and makes installing and using + Windows programs easier. +

+

+ PlayOnLinux has the database of Windows applications from which the user + can install desired application with a few clicks. It will automatically + setup your Wine prefix and download any required Windows libraries. +

+
+ + + https://jkonecny.fedorapeople.org/images/playonlinux_screen_01.png + + + https://jkonecny.fedorapeople.org/images/playonlinux_screen_02.png + + + https://jkonecny.fedorapeople.org/images/playonlinux_screen_03.png + + + https://www.playonlinux.com/ + https://www.playonlinux.com/en/bugs.html + https://www.playonlinux.com/en/donate.html + http://wiki.playonlinux.com/index.php/Main_Page + http://wiki.playonlinux.com/index.php/Scripting_-_Chapter_10:_Script_Translation + + + wine + games + software + windows + + + dragonlichcz_at_gmail.com +
diff -Nru playonlinux-4.2.10/etc/PlayOnLinux.desktop playonlinux-4.2.12/etc/PlayOnLinux.desktop --- playonlinux-4.2.10/etc/PlayOnLinux.desktop 2016-01-03 22:16:17.000000000 +0000 +++ playonlinux-4.2.12/etc/PlayOnLinux.desktop 2017-06-19 19:03:38.000000000 +0000 @@ -1,9 +1,8 @@ [Desktop Entry] Version=1.0 -Encoding=UTF-8 Name=PlayOnLinux -Comment=PlayOnLinux -Type=Application %F -Exec=playonlinux -Icon=/usr/share/playonlinux/etc/playonlinux.png -Categories=Application;Game +Comment=Front-end application for the wine +Type=Application +Exec=playonlinux %F +Icon=playonlinux +Categories=Utility;Emulator; diff -Nru playonlinux-4.2.10/etc/playonlinux-Programmes.menu playonlinux-4.2.12/etc/playonlinux-Programmes.menu --- playonlinux-4.2.10/etc/playonlinux-Programmes.menu 2016-01-03 22:16:17.000000000 +0000 +++ playonlinux-4.2.12/etc/playonlinux-Programmes.menu 1970-01-01 00:00:00.000000000 +0000 @@ -1,14 +0,0 @@ - - - Applications - - PlayOnLinux - PlayOnLinux.directory - - - PlayOnLinux - - - - diff -Nru playonlinux-4.2.10/etc/playonlinux-Programs.menu playonlinux-4.2.12/etc/playonlinux-Programs.menu --- playonlinux-4.2.10/etc/playonlinux-Programs.menu 1970-01-01 00:00:00.000000000 +0000 +++ playonlinux-4.2.12/etc/playonlinux-Programs.menu 2017-06-19 19:03:38.000000000 +0000 @@ -0,0 +1,14 @@ + + + Applications + + PlayOnLinux + PlayOnLinux.directory + + + PlayOnLinux + + + + diff -Nru playonlinux-4.2.10/etc/pol_bash playonlinux-4.2.12/etc/pol_bash --- playonlinux-4.2.10/etc/pol_bash 2016-01-03 22:16:17.000000000 +0000 +++ playonlinux-4.2.12/etc/pol_bash 2017-06-19 19:03:38.000000000 +0000 @@ -6,7 +6,7 @@ echo "" if [ "$PLAYONLINUX" = "" ] then -echo "Ce script doit être executé dans PlayOnLinux." +echo "This script must be executed in PlayOnLinux." read ok exit 0 fi diff -Nru playonlinux-4.2.10/lib/scripts.lib playonlinux-4.2.12/lib/scripts.lib --- playonlinux-4.2.10/lib/scripts.lib 2016-01-03 22:16:17.000000000 +0000 +++ playonlinux-4.2.12/lib/scripts.lib 2017-06-19 19:03:38.000000000 +0000 @@ -315,6 +315,7 @@ BINARY="$1" SpecialArg="$4" Categories="$5" + BIN_PATH="$6" if [ "$2" = "" ] then ICON_FILENAME="$1" @@ -328,14 +329,20 @@ ICON_WEB_NAME="$3" ICON_OK=0 - local binary_path="$(POL_System_find_file "$BINARY")" - local binary_dir="$(dirname "$binary_path")" + if [ -z "$BIN_PATH" ]; then + local binary_path="$(POL_System_find_file "$BINARY")" + local binary_dir="$WINEPREFIX/drive_c/$(dirname "$binary_path")" + else + local binary_path="$BIN_PATH/$BINARY" + local binary_dir="$(dirname "$binary_path")" + fi + local binary_name="$(basename "$binary_path")" + local target="$binary_dir/$binary_name" - [ -z "$binary_dir" ] && POL_Debug_Fatal "Can't find $BINARY" + [ "$binary_dir" = "$WINEPREFIX/drive_c/" ] && POL_Debug_Fatal "Can't find $BINARY" POL_Debug_Message "Looking for <${BINARY}>, found <${binary_path}>" - local target="$WINEPREFIX/drive_c/$binary_dir/$binary_name" [[ "$target" =~ \.lnk$ ]] && target="$(winepath -u "$(strings "$target"|tail -n 1)")" if [ -n "$ICON_WEB_NAME" ]; then @@ -364,10 +371,10 @@ [ -n "$LOGTITLE" ] && echo "#POL_Log=$LOGTITLE" [ -n "$SCRIPTID" ] && echo "#ScriptID=$SCRIPTID" if [[ "$binary_name" =~ \.(lnk|bat|cmd)$ ]]; then - echo "cd \"$(dirname "$target")\"" - echo "POL_Wine start.exe /wait /unix \"\$WINEPREFIX/drive_c/$binary_dir/$binary_name\" $SpecialArg \"\$@\"" + echo "cd \"$binary_dir\"" + echo "POL_Wine start.exe /wait /unix \"\$target\" $SpecialArg \"\$@\"" else - echo "cd \"$WINEPREFIX/drive_c/$binary_dir\"" + echo "cd \"$binary_dir\"" echo "POL_Wine \"$binary_name\" $SpecialArg \"\$@\"" fi) > "$POL_USER_ROOT/shortcuts/$ICON_FILENAME" chmod +x "$POL_USER_ROOT/shortcuts/$ICON_FILENAME" diff -Nru playonlinux-4.2.10/lib/setupwindow.lib playonlinux-4.2.12/lib/setupwindow.lib --- playonlinux-4.2.10/lib/setupwindow.lib 2016-01-03 22:16:17.000000000 +0000 +++ playonlinux-4.2.12/lib/setupwindow.lib 2017-06-19 19:03:38.000000000 +0000 @@ -177,6 +177,7 @@ # /!\ Scriptors should directly use POL_Download # If provided, make sure the filename is absolute to avoid any misinterpretation from server + local FILENAME [ -n "$4" ] && FILENAME="$4" || FILENAME="$PWD/" Result="$(echo "$POL_COOKIE POL_SetupWindow_download $$ $(POL_Untab "$1") $(POL_Untab "$2") $3 $(POL_Untab "$FILENAME")" | ncns "$POL_HOST" "$POL_PORT")" # FIXME: Result should send 'fail' if the download has failed. Maybe we could catch it @@ -726,11 +727,13 @@ [ "$APP_ANSWER" = "$LNG_FINISH" ] && break local EXE_FILE + local EXE_PATH if [ "$APP_ANSWER" = "$LNG_BROWSE" ] then cd $WINEPREFIX/drive_c POL_SetupWindow_browse "$(eval_gettext "Please choose a file for $APPLICATION_TITLE to make a shortcut")" "$TITLE" EXE_FILE="$(basename "$APP_ANSWER")" + EXE_PATH="$(dirname "$APP_ANSWER")" else EXE_FILE="$APP_ANSWER" fi @@ -766,7 +769,7 @@ break fi done - POL_Shortcut "$EXE_FILE" "$SUGGEST" + POL_Shortcut "$EXE_FILE" "$SUGGEST" "" "" "" "$EXE_PATH" echo "POL_Shortcut \"$EXE_FILE\" \"$SUGGEST\"" >> "$POL_USER_ROOT/tmp/shortcuts" fi done diff -Nru playonlinux-4.2.10/Makefile playonlinux-4.2.12/Makefile --- playonlinux-4.2.10/Makefile 1970-01-01 00:00:00.000000000 +0000 +++ playonlinux-4.2.12/Makefile 2017-06-19 19:03:38.000000000 +0000 @@ -0,0 +1,82 @@ +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# +# Authors: Jiri Konecny + + +# Arguments: +# +# PREFIX -- Set prefix for the installation (/usr is default) +# DESTDIR -- Where you want to install +# + +CFLAGS ?= -O2 +CC = gcc $(CFLAGS) +PYTHON = python2 -m py_compile +GZIP = gzip + +PREFIX ?= /usr +DESTDIR ?= # root dir + +sharedir := $(DESTDIR)$(PREFIX)/share +bindir := $(DESTDIR)$(PREFIX)/bin +execdir := $(DESTDIR)$(PREFIX)/libexec + + +all: build + +clean: + $(RM) ./python/*.pyc + $(RM) ./python/lib/*.pyc + $(RM) ./bin/check_dd + $(RM) ./bin/playonlinux + $(RM) ./bin/playonlinux-pkg + $(RM) ./ChangeLog + +build: + $(CC) ./src/check_direct_rendering.c -o ./bin/playonlinux-check_dd -lGL -lX11 + $(PYTHON) ./python/*.py + $(PYTHON) ./python/lib/*.py + echo -e '#!/bin/bash\nGDK_BACKEND=x11 ${sharedir}/playonlinux/playonlinux "$$@"\nexit 0' > ./bin/playonlinux + echo -e '#!/bin/bash\n${sharedir}/playonlinux/playonlinux-pkg "$$@"\nexit 0' > ./bin/playonlinux-pkg + chmod +x ./bin/playonlinux + chmod +x ./bin/playonlinux-pkg + sed -i 's/\(\["DEBIAN_PACKAGE"\]\s*=\s*\)"FALSE"/\1"TRUE"/' \ + ./python/lib/Variables.py + +install: + install -d $(bindir) + install -d $(execdir) + install -d $(sharedir)/pixmaps + install -d $(sharedir)/applications + install -d $(sharedir)/appdata + install -d $(sharedir)/playonlinux/bin + install -d $(sharedir)/man/man1 + install -d $(sharedir)/locale + $(GZIP) -c ./doc/playonlinux-pkg.1 > $(sharedir)/man/man1/playonlinux-pkg.1.gz + $(GZIP) -c ./doc/playonlinux.1 > $(sharedir)/man/man1/playonlinux.1.gz + cp ./etc/PlayOnLinux.desktop $(sharedir)/applications/PlayOnLinux.desktop + cp ./etc/PlayOnLinux.appdata.xml $(sharedir)/appdata/PlayOnLinux.appdata.xml + cp ./etc/playonlinux.png $(sharedir)/pixmaps/playonlinux.png + cp ./etc/playonlinux16.png $(sharedir)/pixmaps/playonlinux16.png + cp ./etc/playonlinux32.png $(sharedir)/pixmaps/playonlinux32.png + cp ./bin/{playonlinux,playonlinux-pkg} $(bindir)/ + cp ./bin/playonlinux-check_dd $(execdir)/ + cp ./{playonlinux*,README.md,TRANSLATORS,CHANGELOG.md,LICENCE} $(sharedir)/playonlinux/ + cp -R ./{bash,etc,lib,plugins,python,resources,tests} $(sharedir)/playonlinux/ + cp -R ./lang/locale/* $(sharedir)/locale/ + +changelog: + (GIT_DIR=.git git log > .changelog.tmp && mv .changelog.tmp ChangeLog; rm -f .changelog.tmp) || (touch ChangeLog; echo 'git directory not found: installing possibly empty changelog.' >&2) + +.PHONY: all clean build install changelog diff -Nru playonlinux-4.2.10/python/configure.py playonlinux-4.2.12/python/configure.py --- playonlinux-4.2.10/python/configure.py 2016-01-03 22:16:17.000000000 +0000 +++ playonlinux-4.2.12/python/configure.py 2017-06-19 19:03:38.000000000 +0000 @@ -395,6 +395,11 @@ self.general_elements["arguments"].SetValue(playonlinux.getArgs(self.s_title)) self.display_elements["folder_button"].SetLabel(_("Open program's directory")) + if not playonlinux.GetSettings("OPEN_IN", self.s_prefix): + self.display_elements["open_in"].SetValue("xdg-open") + else: + self.display_elements["open_in"].SetValue(playonlinux.GetSettings("OPEN_IN", self.s_prefix)) + if(os.path.exists(Variables.playonlinux_rep+"configurations/configurators/"+self.s_title)): self.configurator_title.Show() self.configurator_button.Show() @@ -471,16 +476,16 @@ param = event.GetId() if(param == 402): if(self.s_isPrefix == False): - playonlinux.open_folder(self.s_title) + playonlinux.open_folder(self.s_title, self.display_elements["open_in"].GetValue().encode("utf-8","replace")) else: playonlinux.open_folder_prefix(self.s_prefix) - if(param == 403): + if(param == 404): if(self.s_isPrefix == False): subprocess.Popen(["bash", Variables.playonlinux_env+"/bash/POL_Command", self.s_title.encode('utf-8','replace'), "POL_OpenShell", self.s_title.encode('utf-8','replace')]) else: subprocess.Popen(["bash", Variables.playonlinux_env+"/bash/POL_Command", "--prefix", self.s_prefix.encode('utf-8','replace'), "POL_OpenShell"]) - if(param == 404): + if(param == 405): self.FileDialog = wx.FileDialog(self) self.FileDialog.SetDirectory("~") self.supported_files = "All|*.exe;*.EXE;*.msi;*.MSI\ @@ -531,6 +536,15 @@ wx.EVT_BUTTON(self, 400+num, self.misc_button) + def AddMiscChamp(self, title, shortname, value, num): + self.display_elements[shortname+"_text"] = wx.StaticText(self.panelMisc, -1, title,pos=(15,24+num*40)) + self.display_elements[shortname] = wx.TextCtrl(self.panelMisc, 400+num, value, pos=(245,19+num*40), size=(270,25)) + wx.EVT_TEXT(self, 400+num, self.set_open_in) + + def set_open_in(self, event): + new_open_in = self.display_elements["open_in"].GetValue() + playonlinux.SetSettings('OPEN_IN', new_open_in, self.s_prefix) + def AddMiscLongText(self, title, shortname, num): self.display_elements[shortname+"_text"] = wx.StaticText(self.panelMisc, -1, title,pos=(15,19+num*40)) self.display_elements[shortname+"_panel"] = wx.Panel(self.panelMisc, -1, size=wx.Size(450,70),pos=(20,44+num*40)) @@ -541,7 +555,7 @@ content = "" self.display_elements[shortname] = wx.TextCtrl(self.display_elements[shortname+"_panel"], 400+num, content, size=wx.Size(448,68), pos=(2,2), style=Variables.widget_borders|wx.TE_MULTILINE) - wx.EVT_TEXT(self, 405, self.edit_shortcut) + wx.EVT_TEXT(self, 400+num, self.edit_shortcut) def edit_shortcut(self, event): content = self.display_elements["pre_run"].GetValue().encode("utf-8","replace") @@ -579,9 +593,10 @@ self.AddMiscElement(_("Mouse warp override"),"MouseWarpOverride",["Enabled","Disabled","Force"],["enable","disable","force"],1) self.AddMiscButton("","folder",2) - self.AddMiscButton(_("Open a shell"),"shell",3) - self.AddMiscButton(_("Run a .exe file in this virtual drive"),"exerun",4) - self.AddMiscLongText(_("Command to exec before running the program"),"pre_run",5) + self.AddMiscChamp(_("Open directory using command"),"open_in","",3) + self.AddMiscButton(_("Open a shell"),"shell",4) + self.AddMiscButton(_("Run a .exe file in this virtual drive"),"exerun",5) + self.AddMiscLongText(_("Command to exec before running the program"),"pre_run",6) self.AddPage(self.panelMisc, nom) diff -Nru playonlinux-4.2.10/python/guiv3.py playonlinux-4.2.12/python/guiv3.py --- playonlinux-4.2.10/python/guiv3.py 2016-01-03 22:16:17.000000000 +0000 +++ playonlinux-4.2.12/python/guiv3.py 2017-06-19 19:03:38.000000000 +0000 @@ -54,7 +54,7 @@ class POL_SetupFrame(wx.Frame): #fenêtre principale def __init__(self, parent, titre, POL_SetupWindowID, Arg1, Arg2, Arg3): - wx.Frame.__init__(self, None, -1, title = titre, style = wx.CLOSE_BOX | wx.CAPTION | wx.MINIMIZE_BOX, size = (520, 398+Variables.windows_add_size)) + wx.Frame.__init__(self, None, -1, title = titre, style = wx.CLOSE_BOX | wx.CAPTION | wx.MINIMIZE_BOX | wx.RESIZE_BORDER, size = (520, 398+Variables.windows_add_size)) self.parent = parent self.bash_pid = int(POL_SetupWindowID) self.SetIcon(wx.Icon(Variables.playonlinux_env+"/etc/playonlinux.png", wx.BITMAP_TYPE_ANY)) diff -Nru playonlinux-4.2.10/python/lib/playonlinux.py playonlinux-4.2.12/python/lib/playonlinux.py --- playonlinux-4.2.10/python/lib/playonlinux.py 2016-01-03 22:16:17.000000000 +0000 +++ playonlinux-4.2.12/python/lib/playonlinux.py 2017-06-19 19:03:38.000000000 +0000 @@ -224,7 +224,7 @@ r.append(c.lower()) return r -def open_folder(software): +def open_folder(software, cmd="xdg-open"): read = open(Variables.playonlinux_rep+"shortcuts/"+software,"r").readlines() if not len(read): @@ -244,7 +244,7 @@ if(os.environ["POL_OS"] == "Mac"): subprocess.call(["open", AppDir]) else: - subprocess.call(["xdg-open", AppDir]) + subprocess.call([cmd, AppDir]) def open_folder_prefix(software): AppDir = os.environ["POL_USER_ROOT"]+"/wineprefix/"+software diff -Nru playonlinux-4.2.10/python/lib/Variables.py playonlinux-4.2.12/python/lib/Variables.py --- playonlinux-4.2.10/python/lib/Variables.py 2016-01-03 22:16:17.000000000 +0000 +++ playonlinux-4.2.12/python/lib/Variables.py 2017-06-19 19:03:38.000000000 +0000 @@ -16,7 +16,7 @@ os.environ["POL_PORT"] = "0" os.environ["PLAYONLINUX"] = os.path.realpath(os.path.realpath(__file__)+"/../../../") os.environ["SITE"] = "http://repository.playonlinux.com" -os.environ["VERSION"] = "4.2.10" +os.environ["VERSION"] = "4.2.12" os.environ["POL_ID"] = str(random.randint(1, 100000000)) os.environ["WINE_SITE"] = "http://wine.playonlinux.com/binaries" os.environ["GECKO_SITE"] = "http://wine.playonlinux.com/gecko" diff -Nru playonlinux-4.2.10/python/mainwindow.py playonlinux-4.2.12/python/mainwindow.py --- playonlinux-4.2.10/python/mainwindow.py 2016-01-03 22:16:17.000000000 +0000 +++ playonlinux-4.2.12/python/mainwindow.py 2017-06-19 19:03:38.000000000 +0000 @@ -122,7 +122,7 @@ name = self.SavePerspective().split("=") name = name[1].split(";") name = name[0] - return name + return name def getPerspective(self): return self.SavePerspective().replace(self._getPerspectiveName(),"PERSPECTIVE_NAME") @@ -222,8 +222,8 @@ ## List game self.list_game = wx.TreeCtrl(self, 105, style=wx.TR_HIDE_ROOT|wx.TR_FULL_ROW_HIGHLIGHT) - self.list_game.SetSpacing(0); - self.list_game.SetIndent(5); + self.list_game.SetSpacing(0) + self.list_game.SetIndent(5) self.list_game.SetImageList(self.images) self.menu_gauche = wx.Panel(self,-1) @@ -343,15 +343,15 @@ self.last_string = "" - self.sb = wx.StatusBar(self, -1 ) + self.sb = wx.StatusBar(self, -1) self.sb.SetFieldsCount(2) self.sb.SetStatusWidths([self.GetSize()[0], -1]) self.sb.SetStatusText("", 0) if(os.environ["POL_OS"] == "Mac"): - hauteur = 2; + hauteur = 2 else: - hauteur = 6; + hauteur = 6 self.jauge_update = wx.Gauge(self.sb, -1, 100, (self.GetSize()[0]-100, hauteur), size=(100,16)) self.jauge_update.Pulse() self.jauge_update.Hide() @@ -393,13 +393,13 @@ # wxpython 2.8 does not support AddStretchableSpace(). This is a dirty workaround for this. self.dirtyHack = wx.StaticText(self.toolbar) self.SpaceHack = True - self.toolbar.AddControl( self.dirtyHack ) + self.toolbar.AddControl(self.dirtyHack) self.UpdateSearchHackSize() try: - self.toolbar.AddControl( self.searchbox , _("Search")) + self.toolbar.AddControl(self.searchbox , _("Search")) except: - self.toolbar.AddControl( self.searchbox ) + self.toolbar.AddControl(self.searchbox) self.searchbox.SetDescriptiveText(_("Search")) @@ -447,11 +447,11 @@ wx.EVT_TREE_SEL_CHANGED(self, 105, self.Select) # Support - wx.EVT_MENU(self, 400, self.runSupport) - wx.EVT_MENU(self, 401, self.runSupport) - wx.EVT_MENU(self, 402, self.runSupport) - wx.EVT_MENU(self, 403, self.runSupport) - wx.EVT_MENU(self, 404, self.runSupport) + wx.EVT_MENU(self, 400, self.runSupport) + wx.EVT_MENU(self, 401, self.runSupport) + wx.EVT_MENU(self, 402, self.runSupport) + wx.EVT_MENU(self, 403, self.runSupport) + wx.EVT_MENU(self, 404, self.runSupport) # PlayOnLinux main timer self.timer = wx.Timer(self, 1) @@ -477,7 +477,7 @@ wx.EVT_MENU(self, 235, self.RKill) wx.EVT_MENU(self, 236, self.ReadMe) self.Bind(wx.EVT_SIZE, self.ResizeWindow) - self._mgr.restorePosition() + self._mgr.restorePosition() def ResizeWindow(self, e): self.UpdateGaugePos() @@ -490,9 +490,9 @@ def UpdateGaugePos(self): if(os.environ["POL_OS"] == "Mac"): - hauteur = 2; + hauteur = 2 else: - hauteur = 6; + hauteur = 6 self.jauge_update.SetPosition((self.GetSize()[0]-100, hauteur)) def SetupWindowTimer_SendToGui(self, recvData): @@ -513,10 +513,9 @@ else: self.SetupWindow_TimerRestart(10) - if(self.SetupWindowTimer_action != None): + if(self.SetupWindowTimer_action != None): return gui_server.readAction(self) - - + def TimerAction(self, event): self.StatusRead() @@ -635,7 +634,7 @@ subprocess.Popen(["bash", Variables.playonlinux_rep+"/plugins/"+plugin+"/scripts/menu", game_exec]) except : pass - + def runSupport(self, event): urlId = event.GetId()-400 urlPrefix = "http://www."+os.environ["POL_DNS"]+"/en" @@ -704,7 +703,10 @@ def GoToAppDir(self, event): self.game_exec = self.GetSelectedProgram() - playonlinux.open_folder(self.game_exec) + if not playonlinux.GetSettings("OPEN_IN", playonlinux.getPrefix(self.game_exec)): + playonlinux.open_folder(self.game_exec) + else: + playonlinux.open_folder(self.game_exec, playonlinux.GetSettings("OPEN_IN", playonlinux.getPrefix(self.game_exec))) def ChangeIcon(self, event): self.IconDir = Variables.homedir+"/.local/share/icons/" @@ -727,11 +729,11 @@ def Select(self, event): game_exec = self.GetSelectedProgram() self.read = open(Variables.playonlinux_rep+"shortcuts/"+game_exec,"r").readlines() - self.i = 0; - self.wine_present = False; + self.i = 0 + self.wine_present = False while(self.i < len(self.read)): if("wine " in self.read[self.i]): - self.wine_present = True; + self.wine_present = True self.i += 1 self.generate_menu(game_exec) @@ -753,7 +755,7 @@ self.menuElem = {} self.menuImage = {} - i = 0; + i = 0 self.menuGaucheAddTitle("pol_title", os.environ["APPLICATION_TITLE"], i) i+=1 self.menuGaucheAddLink("pol_prgm_install", _("Install a program"), i,Variables.playonlinux_env+"/resources/images/menu/add.png",self.InstallMenu) @@ -883,9 +885,9 @@ root = self.list_game.AddRoot("") self.i = 0 if(self.iconSize <= 32): - self.iconFolder = "32"; + self.iconFolder = "32" else: - self.iconFolder = "full_size"; + self.iconFolder = "full_size" for game in self.games: #METTRE EN 32x32 if(self.searchbox.GetValue().encode("utf-8","replace").lower() in game.lower()): if(not os.path.isdir(Variables.playonlinux_rep+"/shortcuts/"+game)): @@ -1100,8 +1102,8 @@ self.registeredPid = pids if(playonlinux.GetSettings("DONT_ASK_BEFORE_CLOSING") == "TRUE" or self.registeredPid == [] or wx.YES == wx.MessageBox(_('Are you sure you want to close all {0} windows?').format(os.environ["APPLICATION_TITLE"]).decode("utf-8","replace"),os.environ["APPLICATION_TITLE"], style=wx.YES_NO | wx.ICON_QUESTION)): - self.SizeToSave = self.GetSize(); - self.PositionToSave = self.GetPosition(); + self.SizeToSave = self.GetSize() + self.PositionToSave = self.GetPosition() # Save size and position playonlinux.SetSettings("MAINWINDOW_WIDTH",str(self.SizeToSave[0])) playonlinux.SetSettings("MAINWINDOW_HEIGHT",str(self.SizeToSave[1]-Variables.windows_add_playonmac*56)) @@ -1249,7 +1251,7 @@ if(os.environ["DEBIAN_PACKAGE"] == "FALSE"): if(playonlinux.GetSettings("SEND_REPORT") == ""): - if(wx.YES == wx.MessageBox(_('Do you want to help {0} to make a compatibility database?\n\nIf you click yes, the following things will be sent to us anonymously the first time you run a Windows program:\n\n- You graphic card model\n- Your OS version\n- If graphic drivers are installed or not.\n\n\nThese information will be very precious for us to help people.').format(os.environ["APPLICATION_TITLE"]).decode("utf-8","replace"), os.environ["APPLICATION_TITLE"],style=wx.YES_NO | wx.ICON_QUESTION)): + if(wx.YES == wx.MessageBox(_('Do you want to help {0} to make a compatibility database?\n\nIf you click yes, the following things will be sent to us anonymously the first time you run a Windows program:\n\n- Your graphic card model\n- Your OS version\n- If graphic drivers are installed or not.\n\n\nThese information will be very precious for us to help people.').format(os.environ["APPLICATION_TITLE"]).decode("utf-8","replace"), os.environ["APPLICATION_TITLE"],style=wx.YES_NO | wx.ICON_QUESTION)): playonlinux.SetSettings("SEND_REPORT","TRUE") else: playonlinux.SetSettings("SEND_REPORT","FALSE")