multimedia/vitunes-mplayer: Added (mplayer frontend w. vi bindings).

Signed-off-by: Matteo Bernardini <ponce@slackbuilds.org>
This commit is contained in:
B. Watson 2012-12-16 17:43:08 +01:00 committed by Matteo Bernardini
parent 23d96cf658
commit ad7e92f4e1
5 changed files with 190 additions and 0 deletions

View file

@ -0,0 +1,12 @@
vitunes-mplayer (frontend for mplayer, with vi key bindings)
vitunes is a curses-based music player and playlist manager for *nix
whose goals are: 1. a minimalistic appearance, 2. strong vi-like bindings,
and 3. quick playlist creation/management. vitunes does not strive to be
a feature-rich media player, but rather a quick, vi-like media indexer
and playlist manager, that just happens to be able to play the music
it indexes.
Note about the package name: There exist 2 completely separate things
called "vitunes". If you're looking for the vim frontend for iTunes,
this isn't it.

View file

@ -0,0 +1,57 @@
diff -Naur vitunes-2.3/socket.c vitunes-2.3.patched/socket.c
--- vitunes-2.3/socket.c 2012-01-02 16:02:11.000000000 -0500
+++ vitunes-2.3.patched/socket.c 2012-11-25 12:12:05.000000000 -0500
@@ -19,13 +19,23 @@
#include <sys/socket.h>
#include <sys/un.h>
#include <unistd.h>
+#include <pwd.h>
#include "socket.h"
#include "commands.h"
-#define VITUNES_SOCK "/tmp/.vitunes"
+#define VITUNES_SOCK "/tmp/.vitunes-%s"
+static char *get_user_name(void) {
+ struct passwd *ent;
+ ent = getpwuid(getuid());
+ if(ent)
+ return ent->pw_name;
+ else
+ return "unknown-user"; /* just in case */
+}
+
int
sock_send_msg(const char *msg)
{
@@ -38,8 +48,8 @@
return -1;
addr.sun_family = AF_UNIX;
- strcpy(addr.sun_path, VITUNES_SOCK);
- addr_len = sizeof(addr.sun_family) + strlen(VITUNES_SOCK) + 1;
+ sprintf(addr.sun_path, VITUNES_SOCK, get_user_name());
+ addr_len = sizeof(addr.sun_family) + strlen(addr.sun_path) + 1;
if(sendto(ret, msg, strlen(msg), 0, (struct sockaddr *) &addr, addr_len) == -1) {
close(ret);
@@ -58,14 +68,14 @@
socklen_t addr_len;
int coe = 1;
- unlink(VITUNES_SOCK);
+ sprintf(addr.sun_path, VITUNES_SOCK, get_user_name());
+ unlink(addr.sun_path);
if((ret = socket(AF_UNIX, SOCK_DGRAM, 0)) == -1)
return -1;
addr.sun_family = AF_UNIX;
- strcpy(addr.sun_path, VITUNES_SOCK);
- addr_len = sizeof(addr.sun_family) + strlen(VITUNES_SOCK) + 1;
+ addr_len = sizeof(addr.sun_family) + strlen(addr.sun_path) + 1;
if(bind(ret, (struct sockaddr *) &addr, addr_len) == -1)
return -1;

View file

@ -0,0 +1,19 @@
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description. Line
# up the first '|' above the ':' following the base package name, and the '|'
# on the right side marks the last column you can put a character in. You must
# make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':'.
|-----handy-ruler------------------------------------------------------|
vitunes-mplayer: vitunes-mplayer (frontend for mplayer, with vi key bindings)
vitunes-mplayer:
vitunes-mplayer: vitunes is a curses-based music player and playlist manager for *nix
vitunes-mplayer: whose goals are: 1. a minimalistic appearance, 2. strong vi-like
vitunes-mplayer: bindings, and 3. quick playlist creation/management. vitunes does
vitunes-mplayer: not strive to be a feature-rich media player, but rather a quick,
vitunes-mplayer: vi-like media indexer and playlist manager, that just happens to be
vitunes-mplayer: able to play the music it indexes.
vitunes-mplayer:
vitunes-mplayer:
vitunes-mplayer:

View file

@ -0,0 +1,92 @@
#!/bin/bash
# Slackware build script for vitunes-mplayer
# Written by B. Watson (yalhcru@gmail.com)
# Licensed under the WTFPL. See http://sam.zoy.org/wtfpl/ for details.
PRGNAM=vitunes-mplayer
VERSION=${VERSION:-2.3}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i486 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
fi
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
fi
set -e
# This build is called vitunes-mplayer because there are 2 completely
# different projects called "vitunes". This one's a curses frontend
# for mplayer. The other one is a vim plugin that controls iTunes.
# Whoever wants to package the iTunes one, I recommend you call it
# vitunes-itunes.
TARNAME=vitunes
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $TARNAME-$VERSION
tar xvf $CWD/$TARNAME-$VERSION.tar.gz
cd $TARNAME-$VERSION
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
-exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
# Use /tmp/.vitunes-$USER for the socket, rather that /tmp/.vitunes for
# every single user. Allows multiple users to use vitunes. Without this,
# the first user to run vitunes would own /tmp/.vitunes, and everyone
# else would be outta luck, because vitunes never deletes the socket!
# This patch has been sent upstream.
patch -p1 < $CWD/multiuser.diff
# Support SLKCFLAGS. Also, taglib requires libstdc++ (which isn't mentioned
# in `taglib-config --libs` output, presumably because taglib's expecting
# to be linked by g++, not gcc).
sed -i \
-e "s,-Wextra,$SLKCFLAGS," \
-e "/^LDEPS/s,$, -lstdc++," \
Makefile.linux
make -f Makefile.linux PREFIX=/usr
mkdir -p $PKG/usr/bin $PKG/usr/man/man1
install -m0755 $TARNAME $PKG/usr/bin/$TARNAME
gzip -c < $TARNAME.1 > $PKG/usr/man/man1/$TARNAME.1.gz
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
install -m0644 *.txt LICENSE *.sh $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}

View file

@ -0,0 +1,10 @@
PRGNAM="vitunes-mplayer"
VERSION="2.3"
HOMEPAGE="http://vitunes.org/"
DOWNLOAD="http://vitunes.org/files/vitunes-2.3.tar.gz"
MD5SUM="9e78c60cee0f780c7c157933efbd9baa"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
MAINTAINER="B. Watson"
EMAIL="yalhcru@gmail.com"