Git Repositories

First version of PlayOnLinux through Salix Docker 4.2.9
authorJRD <jrd@salixos.org>
Fri, 8 Jan 2016 23:18:53 +0000 (00:18 +0100)
committerJRD <jrd@salixos.org>
Fri, 8 Jan 2016 23:18:53 +0000 (00:18 +0100)
13 files changed:
Dockerfile [new file with mode: 0644]
Makefile [new file with mode: 0644]
README.md [new file with mode: 0644]
cabextract-1.4-i486-1_SBo.txz [new file with mode: 0644]
icoutils-0.31.0-i486-1_SBo.txz [new file with mode: 0644]
libasyncns-0.8-i486-2_SBo.txz [new file with mode: 0644]
playonlinux-4.2.9-noarch-1_SBo.txz [new file with mode: 0644]
pol [new file with mode: 0755]
pol.desktop [new file with mode: 0644]
pol.png [new file with mode: 0644]
pol.rc [new file with mode: 0644]
pulseaudio-7.0-i486-2_SBo.txz [new file with mode: 0644]
wxPython-2.8.12.1-i486-2_SBo.txz [new file with mode: 0644]

diff --git a/Dockerfile b/Dockerfile
new file mode 100644 (file)
index 0000000..19e0840
--- /dev/null
@@ -0,0 +1,155 @@
+# vim: set ft=Dockerfile et sw=2 ts=2 sts=2 tw=0:
+FROM jrdasm/salix32-minimal:14.1
+MAINTAINER JRD <jrd@salixos.org>
+RUN slapt-get --update && \
+    slapt-get --install --no-prompt --ignore-excludes \
+      alsa-lib \
+      cdparanoia \
+      fontconfig \
+      freeglut \
+      freetype \
+      gamin \
+      gd \
+      gettext-tools \
+      glew \
+      glib2 \
+      glu \
+      gst-plugins-base \
+      gstreamer \
+      harfbuzz \
+      kmod \
+      lcms2 \
+      libICE \
+      libSM \
+      libX11 \
+      libXau \
+      libXdamage \
+      libXdmcp \
+      libXext \
+      libXfixes \
+      libXi \
+      libXmu \
+      libXpm \
+      libXrandr \
+      libXrender \
+      libXt \
+      libXxf86vm \
+      libcroco \
+      libdrm \
+      libexif \
+      libffi \
+      libgphoto2 \
+      libjpeg \
+      libogg \
+      libpciaccess \
+      libpng \
+      libtheora \
+      libtiff \
+      libtool \
+      libvisual \
+      libvorbis \
+      libxcb \
+      libxml2 \
+      mesa \
+      mpg123 \
+      openal-soft \
+      udev \
+      wine
+RUN slapt-get --install --no-prompt --ignore-excludes \
+      hicolor-icon-theme \
+      compositeproto \
+      damageproto \
+      dmxproto \
+      dri2proto \
+      fixesproto \
+      fontcacheproto \
+      fontsproto \
+      glproto \
+      inputproto \
+      kbproto \
+      printproto \
+      randrproto \
+      recordproto \
+      renderproto \
+      resourceproto \
+      scrnsaverproto \
+      videoproto \
+      xcb-proto \
+      xcmiscproto \
+      xextproto \
+      xf86bigfontproto \
+      xf86dgaproto \
+      xf86driproto \
+      xf86miscproto \
+      xf86vidmodeproto \
+      xineramaproto \
+      xproto \
+      libpthread-stubs \
+      libXcomposite \
+      libXcursor \
+      libXinerama \
+      libXft \
+      atk \
+      lzo \
+      pixman \
+      cairo \
+      gdk-pixbuf2 \
+      icu4c \
+      harfbuzz \
+      pango \
+      gtk+2 \
+      p7zip
+RUN slapt-get --install --no-prompt --ignore-excludes \
+      font-alias \
+      dejavu-fonts-ttf \
+      font-util \
+      liberation-fonts-ttf \
+      terminus-font \
+      sudo \
+      xdg-user-dirs \
+      xdg-utils \
+      gettext \
+      nc \
+      imagemagick \
+      wget \
+      xterm \
+      links \
+      flac \
+      xdpyinfo \
+      sdl \
+      SDL_sound \
+      SDL_gfx \
+      SDL_perl \
+      SDL_Pango \
+      json-c \
+      dbus \
+      libsndfile \
+      perl \
+      pciutils \
+      glibc \
+      && \
+    slapt-get --clean
+COPY \
+    cabextract-1.4-i486-1_SBo.txz \
+    icoutils-0.31.0-i486-1_SBo.txz \
+    libasyncns-0.8-i486-2_SBo.txz \
+    pulseaudio-7.0-i486-2_SBo.txz \
+    wxPython-2.8.12.1-i486-2_SBo.txz \
+    playonlinux-4.2.9-noarch-1_SBo.txz \
+    /tmp/
+RUN for p in /tmp/*.txz; do spkg -i $p; done && \
+    rm /tmp/*.txz
+RUN mv /usr/bin/links /usr/bin/links.bin && \
+    echo '#!/bin/sh' > /usr/bin/links && \
+    echo 'exec xterm -e /usr/bin/links.bin "$@"' >> /usr/bin/links && \
+    chmod +x /usr/bin/links && \
+    (cd /usr/lib && ln -sf libvga.so libvga.so.1) && \
+    useradd -m -N -g games -G video,audio,cdrom pol && \
+    passwd -d pol && \
+    echo '%games ALL=(root) NOPASSWD: ALL' > /etc/sudoers.d/10-games && \
+    sed -i 's/self\.sendAlert(_(/pass #\0/' /usr/share/playonlinux/python/mainwindow.py
+WORKDIR /home/pol
+USER pol
+ENV USER pol
+ENV LANG en_US.utf8
+CMD ["playonlinux"]
diff --git a/Makefile b/Makefile
new file mode 100644 (file)
index 0000000..2b889d5
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,13 @@
+RELEASE=4.2.9
+
+.PHONY:
+image: Dockerfile
+       docker build -t jrdasm/salix-playonlinux:${RELEASE} .
+
+.PHONY:
+install:
+       @mkdir -p ~/.local/share/applications ~/.local/share/icons/hicolor/96x96/apps ~/.local/bin ~/.config
+       @cp -v pol.desktop ~/.local/share/applications/
+       @cp -v pol.png ~/.local/share/icons/hicolor/96x96/apps/
+       @cp -v pol ~/.local/bin/
+       @[ -n "$$XDG_CONFIG_DIR" ] || XDG_CONFIG_DIR=~/.config ; [ -e "$$XDG_CONFIG_DIR/pol.rc" ] || cp -v pol.rc $$XDG_CONFIG_DIR/
diff --git a/README.md b/README.md
new file mode 100644 (file)
index 0000000..a1ebce5
--- /dev/null
+++ b/README.md
@@ -0,0 +1,13 @@
+PlayOnLinux using Docker
+========================
+
+You can run [PlayOnLinux](https://www.playonlinux.com) through [Docker](https://docker.com).
+
+The docker needs to be run in a special way to access your *video* and *audio* devices. The easiest way to do this is by doing a `git clone` and then:
+
+    $ make install
+
+That will install you a script, an icon and a desktop file to launch PlayOnLinux.
+
+You can also *bind mount* a directory of your computer to `/home/pol` inside docker. In fact. I **advise you do so** or what you will install through PlayOnLinux will **not stand uppon exiting** the application.
+To configure this directory, edit and uncomment the `VOLUME_HOME_DIR` variable in the config file `~/.config/pol.rc`.
diff --git a/cabextract-1.4-i486-1_SBo.txz b/cabextract-1.4-i486-1_SBo.txz
new file mode 100644 (file)
index 0000000..7dae28e
Binary files /dev/null and b/cabextract-1.4-i486-1_SBo.txz differ
diff --git a/icoutils-0.31.0-i486-1_SBo.txz b/icoutils-0.31.0-i486-1_SBo.txz
new file mode 100644 (file)
index 0000000..e02ae3c
Binary files /dev/null and b/icoutils-0.31.0-i486-1_SBo.txz differ
diff --git a/libasyncns-0.8-i486-2_SBo.txz b/libasyncns-0.8-i486-2_SBo.txz
new file mode 100644 (file)
index 0000000..f52dde3
Binary files /dev/null and b/libasyncns-0.8-i486-2_SBo.txz differ
diff --git a/playonlinux-4.2.9-noarch-1_SBo.txz b/playonlinux-4.2.9-noarch-1_SBo.txz
new file mode 100644 (file)
index 0000000..c8f08e5
Binary files /dev/null and b/playonlinux-4.2.9-noarch-1_SBo.txz differ
diff --git a/pol b/pol
new file mode 100755 (executable)
index 0000000..a9415d0
--- /dev/null
+++ b/pol
@@ -0,0 +1,35 @@
+#!/bin/sh
+[ -n "$DISPLAY" ] && [ -n "$XAUTHORITY" ] || exit 1
+docker_xauth=$(mktemp)
+cp $XAUTHORITY $docker_xauth 
+xauth nlist $DISPLAY | sed -e 's/^..../ffff/' | xauth -f $docker_xauth nmerge -
+inter=
+exe="playonlinux"
+if [ "$1" = "--bash" ]; then
+  exe=/bin/bash
+  inter='-ti'
+  shift
+fi
+if [ "$1" = "--inter" ]; then
+  inter='-ti'
+  shift
+fi
+[ -n "$XDG_CONFIG" ] && config_dir="$XDG_CONFIG" || config_dir=$HOME/.config
+[ -r "$config_dir/pol.rc" ] && . "$config_dir/pol.rc"
+[ -n "$VOLUME_HOME_DIR" ] && home_binding="-v $VOLUME_HOME_DIR:/home/pol" || home_binding=
+docker run \
+  $inter \
+  --rm \
+  --privileged \
+  -e LANG \
+  -e DISPLAY \
+  -v /tmp/.X11-unix:/tmp/.X11-unix \
+  -e XAUTHORITY=/tmp/.docker.xauth \
+  -v $docker_xauth:/tmp/.docker.xauth:ro \
+  --device /dev/dri/card0:/dev/dri/card0 \
+  -v /dev/snd:/dev/snd \
+  $home_binding \
+  --name pol \
+  jrdasm/salix-playonlinux \
+  $exe "$@"
+rm $docker_xauth
diff --git a/pol.desktop b/pol.desktop
new file mode 100644 (file)
index 0000000..bd70ea2
--- /dev/null
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Name=PlayOnLinux (Docker)
+Comment=Wine GUI under Docker
+Exec=.local/bin/pol
+Icon=pol
+Terminal=false
+Type=Application
+Categories=Game;
diff --git a/pol.png b/pol.png
new file mode 100644 (file)
index 0000000..1a09c2b
Binary files /dev/null and b/pol.png differ
diff --git a/pol.rc b/pol.rc
new file mode 100644 (file)
index 0000000..f824ab4
--- /dev/null
+++ b/pol.rc
@@ -0,0 +1,2 @@
+# vim: syn=sh:
+#VOLUME_HOME_DIR=$HOME/pol-home
diff --git a/pulseaudio-7.0-i486-2_SBo.txz b/pulseaudio-7.0-i486-2_SBo.txz
new file mode 100644 (file)
index 0000000..3427d82
Binary files /dev/null and b/pulseaudio-7.0-i486-2_SBo.txz differ
diff --git a/wxPython-2.8.12.1-i486-2_SBo.txz b/wxPython-2.8.12.1-i486-2_SBo.txz
new file mode 100644 (file)
index 0000000..7a77518
Binary files /dev/null and b/wxPython-2.8.12.1-i486-2_SBo.txz differ