Index: head/emulators/playonbsd/Makefile =================================================================== --- head/emulators/playonbsd/Makefile (revision 414946) +++ head/emulators/playonbsd/Makefile (revision 414947) @@ -1,58 +1,58 @@ # Created by: Stefan Esser # $FreeBSD$ PORTNAME= playonbsd -PORTVERSION= 4.2.8 +PORTVERSION= 4.2.10 CATEGORIES= emulators games MAINTAINER= se@FreeBSD.org COMMENT= Easily install and run Windows software for use with wine LICENSE= GPLv3 RUN_DEPENDS= 7z:archivers/p7zip \ bash:shells/bash \ glxinfo:graphics/mesa-demos \ gpg:security/gnupg \ gsed:textproc/gsed \ sudo:security/sudo \ xdg-open:devel/xdg-utils \ xterm:x11/xterm OPTIONS_DEFINE= GECKO MONO OPTIONS_DEFAULT= GECKO MONO GECKO_DESC= Wine-gecko HTML rendering support MONO_RUN_DEPENDS= wine-mono-devel>=4.5.6:emulators/wine-mono-devel GECKO_RUN_DEPENDS= wine-gecko>=2.21:emulators/wine-gecko ONLY_FOR_ARCHS= amd64 i386 USES= python:run USE_PERL= yes USE_WX= 2.8+ WX_COMPS= python:run USE_GITHUB= yes GH_ACCOUNT= PlayOnLinux GH_PROJECT= POL-POM-4 .include .if ${ARCH} == amd64 RUN_DEPENDS+= wine:emulators/i386-wine-devel .else RUN_DEPENDS+= wine:emulators/wine .endif NO_BUILD= true SUB_FILES= playonbsd.sh post-patch: @${REINPLACE_CMD} -e 's:/usr/local/:${LOCALBASE}/:' ${WRKSRC}/lib/wine.lib do-install: cd ${WRKSRC} && ${COPYTREE_BIN} . ${STAGEDIR}${PREFIX}/lib/playonbsd/ "-perm -0100 ! -name *.orig" cd ${WRKSRC} && ${COPYTREE_SHARE} . ${STAGEDIR}${PREFIX}/lib/playonbsd/ "! -perm 0100 ! -name *.orig" ${INSTALL_SCRIPT} ${WRKDIR}/playonbsd.sh ${STAGEDIR}${PREFIX}/bin/playonbsd .include Index: head/emulators/playonbsd/distinfo =================================================================== --- head/emulators/playonbsd/distinfo (revision 414946) +++ head/emulators/playonbsd/distinfo (revision 414947) @@ -1,2 +1,2 @@ -SHA256 (PlayOnLinux-POL-POM-4-4.2.8_GH0.tar.gz) = 746cd72267c42b9c910c2977c5de92ec3e591b72dec382c5a706e353238cd6a3 -SIZE (PlayOnLinux-POL-POM-4-4.2.8_GH0.tar.gz) = 3168626 +SHA256 (PlayOnLinux-POL-POM-4-4.2.10_GH0.tar.gz) = e4fca669624ad1926884bc42910b752979172bce3b89a4196c691791e8bff6f9 +SIZE (PlayOnLinux-POL-POM-4-4.2.10_GH0.tar.gz) = 3203954 Index: head/emulators/playonbsd/files/patch-lib_scripts.lib =================================================================== --- head/emulators/playonbsd/files/patch-lib_scripts.lib (revision 414946) +++ head/emulators/playonbsd/files/patch-lib_scripts.lib (revision 414947) @@ -1,39 +1,46 @@ ---- lib/scripts.lib.orig 2015-05-12 22:33:57 UTC +--- lib/scripts.lib.orig 2016-01-03 22:16:17 UTC +++ lib/scripts.lib -@@ -382,7 +382,7 @@ POL_Shortcut() +@@ -382,10 +382,14 @@ POL_Shortcut() # Menus if [ ! "$(POL_Config_Read NO_MENU_ICON)" = "TRUE" ]; then # Do nothing on Mac OS - if [ -n "$Categories" -a "$POL_OS" = "Linux" ] || [ -n "$Categories" -a "$POL_OS" = "BSD" ]; then -+ if [ -n "$Categories" -a "$POL_OS" = "Linux" ] || [ -n "$Categories" -a "$POL_OS" = "FreeBSD" ]; then ++ if [ -n "$Categories" -a "$POL_OS" = "Linux" ] LOCALAPPS="$HOME/.local/share/applications" make_desktop_shortcut "$iconPath" "$ICON_FILENAME" "$LOCALAPPS" "$PLAYONLINUX/playonlinux --run \"$ICON_FILENAME\"" "$binary_name" "$Categories" "playonlinux-" fi -@@ -992,9 +992,8 @@ POL_Shortcut_AddProfileLink() ++ if [ -n "$Categories" -a "$POL_OS" = "FreeBSD" ]; then ++ LOCALAPPS="$HOME/.local/share/applications" ++ make_desktop_shortcut "$iconPath" "$ICON_FILENAME" "$LOCALAPPS" "$PLAYONLINUX/playonbsd --run \"$ICON_FILENAME\"" "$binary_name" "$Categories" "playonlinux-" ++ fi + fi + + # Desktop +@@ -1002,9 +1006,8 @@ POL_Shortcut_AddProfileLink() } POL_LoadVar_Distro () { - if [ "$POL_OS" = "Linux" ] || [ "$POL_OS" == "FreeBSD" ]; then - export DISTRO="$(lsb_release -d | cut -d':' -f2 | tr -d \\t)" - else + case "$POL_OS" in + Mac) main_kernel="$(uname -r | cut -d '.' -f 1)" second_kernel="$(uname -r | cut -d '.' -f 2)" -@@ -1005,7 +1004,14 @@ POL_LoadVar_Distro () +@@ -1015,7 +1018,14 @@ POL_LoadVar_Distro () [ "$main_kernel" = "12" ] && MacOS="Mountain Lion" export DISTRO="$MacOS 10.$(( main_kernel - 4)).$second_kernel ($(uname -r))" - fi + ;; + Linux) + export DISTRO="$(lsb_release -d | cut -d':' -f2 | tr -d \\t)" + ;; + FreeBSD) + export DISTRO="$(uname -sr) ($(uname -p))" + ;; + esac } POL_Shortcut_MakeDesktopShortcut() { Index: head/emulators/playonbsd/files/patch-lib_setupwindow.lib =================================================================== --- head/emulators/playonbsd/files/patch-lib_setupwindow.lib (revision 414946) +++ head/emulators/playonbsd/files/patch-lib_setupwindow.lib (revision 414947) @@ -1,19 +1,19 @@ ---- lib/setupwindow.lib.orig 2015-05-12 22:33:57 UTC +--- lib/setupwindow.lib.orig 2016-01-03 22:16:17 UTC +++ lib/setupwindow.lib @@ -36,7 +36,7 @@ ncs() } ncns() { - if [ "$POL_OS" = "Mac" -o "$(POL_Config_Read FORCE_LEGACY_NETCAT)" = "TRUE" ]; then + if [ "$POL_OS" != "Linux" -o "$(POL_Config_Read FORCE_LEGACY_NETCAT)" = "TRUE" ]; then nc "$@" else nc -q -1 "$@" 2> /dev/null || nc "$@" @@ -178,6 +178,7 @@ POL_SetupWindow_download () # If provided, make sure the filename is absolute to avoid any misinterpretation from server [ -n "$4" ] && FILENAME="$4" || FILENAME="$PWD/" +echo "$POL_COOKIE POL_SetupWindow_download $$ $(POL_Untab "$1") $(POL_Untab "$2") $3 $(POL_Untab "$FILENAME")" \| ncns "$POL_HOST $POL_PORT" > /tmp/x.log 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 } Index: head/emulators/playonbsd/files/patch-lib_variables =================================================================== --- head/emulators/playonbsd/files/patch-lib_variables (revision 414946) +++ head/emulators/playonbsd/files/patch-lib_variables (revision 414947) @@ -1,16 +1,16 @@ ---- lib/variables.orig 2015-05-12 22:33:57 UTC +--- lib/variables.orig 2016-01-03 22:16:17 UTC +++ lib/variables -@@ -65,8 +65,11 @@ else +@@ -69,8 +69,11 @@ else eval_gettext() { printf "$@"; } fi -which shasum > /dev/null 2> /dev/null || shasum () { sha1sum "$@"; } - +which shasum > /dev/null 2> /dev/null || \ + which sha1sum > /dev/null 2> /dev/null && \ + shasum () { sha1sum "$@"; } || \ + shasum () { sha1 "$@"; } +which md5sum > /dev/null 2> /dev/null || md5sum () { md5 "$@"; } if [ "$POL_OS" == "Linux" ] then Index: head/emulators/playonbsd/files/patch-lib_wine.lib =================================================================== --- head/emulators/playonbsd/files/patch-lib_wine.lib (revision 414946) +++ head/emulators/playonbsd/files/patch-lib_wine.lib (revision 414947) @@ -1,100 +1,100 @@ ---- lib/wine.lib.orig 2015-05-12 22:33:57 UTC +--- lib/wine.lib.orig 2016-01-03 22:16:17 UTC +++ lib/wine.lib -@@ -31,7 +31,7 @@ POL_Wine_GetRegValue() - +@@ -32,7 +32,7 @@ POL_Wine_GetRegValue() [ -z "$WINEPREFIX" ] && POL_Debug_Fatal "WINEPREFIX not set" local value -- [ -e "$WINEPREFIX/user.reg" ] && value="$(grep "$1" "$WINEPREFIX/user.reg" | head -n 1 | tr -d '"' | cut -d= -f2)" -+ [ -e "$WINEPREFIX/user.reg" ] && value="$(grep "$1" "$WINEPREFIX/user.reg" | head -n 1 | tr -d \" | cut -d= -f2)" + # tr -d '\0' is a workaround for Wine bug #37575 +- [ -e "$WINEPREFIX/user.reg" ] && value="$(grep "^\"$1\"=" "$WINEPREFIX/user.reg" | head -n 1 | tr -d '"' | cut -d= -f2- | tr -d '\0')" ++ [ -e "$WINEPREFIX/user.reg" ] && value="$(grep "^\"$1\"=" "$WINEPREFIX/user.reg" | head -n 1 | tr -d \" | cut -d= -f2- | tr -d '\0')" POL_Debug_Message "Getting registry value $1. Return: $value" echo -n "${value:-default}" } @@ -409,12 +409,19 @@ POL_DetectVideoCards () { # Detect known videocards POL_Debug_Message "Gettings GPU informations" case "$POL_OS" in - Linux|FreeBSD) + Linux) [ -x /usr/sbin/lspci ] && LSPCI=/usr/sbin/lspci || LSPCI=lspci # Device Name|Vendor ID|Device ID\n... # [0300] = VGA compatible controller, [0302] = 3D controller VGA_DEVICES=`$LSPCI -nn | perl -ne 'if (/\[030[02]\]/) { s/.*\]: (.*) \[([0-9a-f]{4}):([0-9a-f]{4})\].*/\1|\2|\3/; print }'` ;; + FreeBSD) + # Device Name|Vendor ID|Device ID\n... + # [0300] = VGA compatible controller, [0302] = 3D controller + # Insert "unk" as dummy vendor name for now + VGA_DEVICES=`/usr/sbin/pciconf -l | \ + perl -ne 'if (/^vga/) { s/^.*chip=0x([0-9a-f]{4})([0-9a-f]{4}).*/unk|\2|\1/; print }'` + ;; Mac) # Device Name|Vendor ID|Device ID\n... VGA_DEVICES=`system_profiler SPDisplaysDataType | perl -ne 's/^\s+//; if(/Chipset Model:/) { chomp; s/^[^:]*: //; print "$_|" } elsif(/Vendor:/) { chomp; s/.*\(0x(.*)\)/\1/; print "$1|" } elsif (/Device ID:/) { s/^[^:]*: 0x//; print }'` @@ -559,7 +566,7 @@ POL_Wine () fi - if [ "$POL_OS" = "Linux" ] || [ "$POL_OS" = "Mac" ]; + if [ "$POL_OS" = "Linux" ] || [ "$POL_OS" = "Mac" ] || [ "POL_OS" = "FreeBSD" ]; then if [ "$LOGFILE" = "/dev/null" ]; then $BEFORE_WINE $(POL_Config_Read BEFORE_WINE) wine "$@" 2> >(grep -v menubuilder --line-buffered | tee -a "$WINEPREFIX/playonlinux.log" >&2) > >(tee -a "$WINEPREFIX/playonlinux.log") @@ -653,6 +660,22 @@ POL_Wine_VersionSignature() fi echo "$WINESIG" } +POL_Wine_LinkFreeBSD() +{ + WINEDIR=$1 + ARCH=$2 + WINEVERSION=$3 + mkdir -p "$WINEDIR/$WINEVERSION" + ln -s /usr/local/bin "$WINEDIR/$WINEVERSION/lib" + if [ -d /usr/local/lib32 ] ; then + ln -s /usr/local/lib32 "$WINEDIR/$WINEVERSION/lib" + else + ln -s /usr/local/lib "$WINEDIR/$WINEVERSION/lib" + fi + mkdir -p "$WINEDIR/$WINEVERSION/share" + ln -s /usr/local/share/wine/gecko/*.msi "$WINEDIR/$WINEVERSION/share/wine/gecko/" #wine_gecko-$WINEVERSION-$ARCH.msi" + ln -s /usr/local/share/wine/mono/*.msi "$WINEDIR/$WINEVERSION/share/wine/mono/" #wine_mono-$WINEVERSION-$ARCH.msi" +} POL_Wine_InstallVersion() { # Install a wineversion @@ -667,6 +690,10 @@ POL_Wine_InstallVersion() OLDPATH="$PWD" WINE_SECTION="$ARCH_PREFIX-$POL_ARCH" WINEDIR="$POL_USER_ROOT/wine/$WINE_SECTION" + if [ "$POL_OS" = "FreeBSD" ] ; then + POL_Wine_LinkFreeBSD $WINEDIR $POL_ARCH $POL_WINEVERSION + return + fi touch "$WINEDIR/installing" if [ ! -e "$WINEDIR/$POL_WINEVERSION" ] then @@ -676,6 +703,7 @@ POL_Wine_InstallVersion() POL_Debug_Warning "Wine $1 amd64 does not exist. Switching to x86" POL_System_SetArch "x86" POL_Wine_InstallVersion "$1" + return else if [ "$WINE_ADDRESS" = "" ] then @@ -706,7 +734,6 @@ POL_Wine_InstallVersion() fi fi rm "$WINEDIR/installing" - } POL_Wine_InstallCDROM() { @@ -743,6 +770,8 @@ POL_Wine_Install_resources() [ "$POL_OS" = "FreeBSD" ] && wos="freebsd" [ "$POL_OS" = "Mac" ] && wos="darwin" + [ "$POL_OS" = "FreeBSD" ] && return # mono and wine-gecko are automatically installed on FreeBSD + if [ ! -L "$POL_USER_ROOT/wine/$wos-$arch/$wine_version/share/wine/$resource" ] then POL_Debug_Message "Linking $resource" Index: head/emulators/playonbsd/files/patch-playonfreebsd =================================================================== --- head/emulators/playonbsd/files/patch-playonfreebsd (nonexistent) +++ head/emulators/playonbsd/files/patch-playonfreebsd (revision 414947) @@ -0,0 +1,11 @@ +--- playonfreebsd.orig 2016-01-03 22:16:17 UTC ++++ playonfreebsd +@@ -111,7 +111,7 @@ if [ "$1" = "--run" ]; then + # cp "$HOME/.PlayOnLinux/shortcuts/$NAME" "$POL_USER_ROOT/tmp/debug_$NAME" && \ + # sed -e 's/^export WINEDEBUG="\(.*\)"/export WINEDEBUG="-all"/' "$POL_USER_ROOT/tmp/debug_$NAME" > "$HOME/.PlayOnLinux/shortcuts/$NAME" + #fi +- exec bash playonlinux-bash "$HOME/.PlayOnLinux/shortcuts/$NAME" "$@" ++ exec bash playonlinux-bash "$HOME/.PlayOnBSD/shortcuts/$NAME" "$@" + fi + else + cd "$POLDIR/python" Property changes on: head/emulators/playonbsd/files/patch-playonfreebsd ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/emulators/playonbsd/files/patch-python_mainwindow.py =================================================================== --- head/emulators/playonbsd/files/patch-python_mainwindow.py (revision 414946) +++ head/emulators/playonbsd/files/patch-python_mainwindow.py (revision 414947) @@ -1,13 +1,13 @@ ---- python/mainwindow.py.orig 2015-05-12 22:33:57 UTC +--- python/mainwindow.py.orig 2016-01-03 22:16:17 UTC +++ python/mainwindow.py @@ -63,8 +63,8 @@ class POLWeb(threading.Thread): def LastVersion(self): if(os.environ["POL_OS"] == "Mac"): fichier_online="version_mac" - elif(os.environ["POL_OS"] == "FreeBSD"): - fichier_online="version_freebsd" +# elif(os.environ["POL_OS"] == "FreeBSD"): +# fichier_online="version_freebsd" else: fichier_online="version2" return os.popen(os.environ["POL_WGET"]+' "'+os.environ["SITE"]+'/'+fichier_online+'.php?v='+os.environ["VERSION"]+'" -T 30 -O-','r').read() Index: head/emulators/playonbsd/files/playonbsd.sh.in =================================================================== --- head/emulators/playonbsd/files/playonbsd.sh.in (revision 414946) +++ head/emulators/playonbsd/files/playonbsd.sh.in (revision 414947) Property changes on: head/emulators/playonbsd/files/playonbsd.sh.in ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +FreeBSD=%H \ No newline at end of property