aboutsummaryrefslogtreecommitdiff
path: root/network/museek-plus
diff options
context:
space:
mode:
authorIskar Enev <iskar.enev@gmail.com>2010-05-11 15:01:32 +0200
committerMichiel van Wessem <michiel@slackbuilds.org>2010-05-11 15:01:32 +0200
commit20376b50485fd16d83f6c5f566b4b9a78f54956a (patch)
tree0fa617552ed16c17b5f6b9216e5cadf3a1e3a8ad /network/museek-plus
parent9e8be9f5cb7af6d43345d3edcf5c90d212913109 (diff)
network/museek-plus: Initial import
Diffstat (limited to 'network/museek-plus')
-rw-r--r--network/museek-plus/README30
-rw-r--r--network/museek-plus/museek-plus.SlackBuild70
-rw-r--r--network/museek-plus/museek-plus.info8
-rw-r--r--network/museek-plus/museek-scons-current.patch73
-rw-r--r--network/museek-plus/museek-scons.patch71
-rw-r--r--network/museek-plus/rc.museekd105
-rw-r--r--network/museek-plus/slack-desc19
7 files changed, 376 insertions, 0 deletions
diff --git a/network/museek-plus/README b/network/museek-plus/README
new file mode 100644
index 000000000000..4a595bb32921
--- /dev/null
+++ b/network/museek-plus/README
@@ -0,0 +1,30 @@
+Museek+ is a file-sharing application for the Soulseek peer-to-peer network,
+written in C++. It's an enhanced version of Hyriand's original Museek
+(see http://museek.thegraveyard.org). It supports chat, transferring files,
+searching, user-management, shares browsing and more. The new features are:
+room searching, interests, buddy-only shares, banlists, icon themes and
+font/color selecting.
+
+Museek+ consists of museekd (daemon), muscan (shares scanning tool), muscand
+(automated shares scanning tool), musetup (command-line configuration script),
+musetup-gtk (PyGTK configuration app), museeq (QT GUI client), mucous (curses
+python client) and museekcontrol (command-line python client).
+
+After installing museek+ follow these steps:
+
+1) Configure your settings with musetup: server, username, password, interface
+ password, download directory, shared directories.
+2) Run museekd.
+3) Run museeq, mucous or museekcontrol.
+4) Login into museekd via the interface socket or host:port and the interface
+ password.
+
+Requires: scons, libsig++ and libxml++. Optional requirements are PyGTK
+(for musetup-gtk) and gamin (for muscand). Slackbuilds for all the requirements
+are available at slackbuilds.org.
+
+An example init script (rc.museekd) for the museekd daemon is provided. Feel
+free to modify it for your needs. Use it at your own risk.
+
+Note for compiling on -current: You will have to change the name of the CFLAGS
+variable to FLAGS and apply a second patch -museek-scons-current.patch.
diff --git a/network/museek-plus/museek-plus.SlackBuild b/network/museek-plus/museek-plus.SlackBuild
new file mode 100644
index 000000000000..7596ad991676
--- /dev/null
+++ b/network/museek-plus/museek-plus.SlackBuild
@@ -0,0 +1,70 @@
+#!/bin/sh
+
+# Slackware build script for museek+
+# Written by Iskar Enev <iskar.enev@gmail.com>
+
+# modified by the SlackBuilds project.
+
+PRGNAM=museek-plus
+PKGNAME=museek+
+VERSION=0.1.12
+ARCH=${ARCH:-i486}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PKGNAME
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+fi
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP || exit 1
+rm -rf $PKGNAME-$VERSION
+tar -xjvf $CWD/$PKGNAME-$VERSION.tar.bz2 || exit 1
+cd $PKGNAME-$VERSION || exit 1
+chown -R root:root .
+chmod -R u+w,go+r-w,a-s .
+
+# This patch fixes several SCons related compile problems
+cat $CWD/museek-scons.patch | patch -p0 || exit 1
+
+# All options and build targets can be found at http://www.museek-plus.org/wiki/MuseekFromSources
+scons CFLAGS="-fPIC -Wall -pipe $SLKCFLAGS" PREFIX=/usr DESTDIR=$PKG RELEASE=yes install || exit 1
+
+( cd $PKG
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+)
+
+mkdir -p $PKG/usr/share/pixmaps/museek
+cp -a icons/*.png $PKG/usr/share/pixmaps/museek
+
+mkdir -p $PKG/usr/share/applications
+cp -a museeq.desktop $PKG/usr/share/applications
+
+# Fix icon path in desktop file
+sed -i 's%Icon=/usr/share/pixmaps/museeq-circle2.png%Icon=/usr/share/pixmaps/museek/museeq-circle2.png%' \
+ $PKG/usr/share/applications/museeq.desktop || exit 1
+
+mkdir -p $PKG/usr/doc/$PKGNAME-$VERSION
+cp -a CHANGELOG COPYING CREDITS FILES INSTALL INSTRUCTIONS LICENSE README TODO doc/protocol.tmpl \
+ $PKG/usr/doc/$PKGNAME-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PKGNAME-$VERSION/$PRGNAM.SlackBuild
+cat $CWD/rc.museekd > $PKG/usr/doc/$PKGNAME-$VERSION/rc.museekd
+
+( cd $PKG/usr/man
+ find . -type f -exec gzip -9 {} \;
+ for i in `find . -type l` ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
+)
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PKGNAME-$VERSION-$ARCH-$BUILD$TAG.tgz
diff --git a/network/museek-plus/museek-plus.info b/network/museek-plus/museek-plus.info
new file mode 100644
index 000000000000..c9c4d279139a
--- /dev/null
+++ b/network/museek-plus/museek-plus.info
@@ -0,0 +1,8 @@
+PRGNAM="museek-plus"
+VERSION="0.1.12"
+HOMEPAGE="http://museek-plus.sourceforge.net/"
+DOWNLOAD="http://dl.sourceforge.net/museek-plus/museek+-0.1.12.tar.bz2"
+MD5SUM="5d871e40dc93c04e60688a06e0e143e8"
+MAINTAINER="Iskar Enev"
+EMAIL="iskar.enev@gmail.com"
+APPROVED="BP{k}"
diff --git a/network/museek-plus/museek-scons-current.patch b/network/museek-plus/museek-scons-current.patch
new file mode 100644
index 000000000000..53eb461fc61e
--- /dev/null
+++ b/network/museek-plus/museek-scons-current.patch
@@ -0,0 +1,73 @@
+Index: SConstruct
+===================================================================
+--- SConstruct
++++ SConstruct
+@@ -33,9 +33,9 @@
+ opts.Add(BoolOption('RELEASE', 'Build for release', ''))
+ opts.Add(ListOption('MULOG', 'Set debug output', '', ['debug', 'cycle', 'calltrace', 'traffictime']))
+ opts.Add(ListOption('MUSEEQTRANSLATIONS', 'Build translations for', '', ['fr','de','es','it','pl','ru','pt_BR','ja','zh','sk','he', 'ar', 'cs' ]))
+-print "Reading CFLAGS from defaults.py and Command Line arguments"
+-opts.Add(BoolOption('LOCKFLAGS', 'Don\'t modify CFLAGS, use only those selected', ''))
+-opts.Add('CFLAGS', 'Set your CCFLAGS here', '')
++print "Reading FLAGS from defaults.py and Command Line arguments"
++opts.Add(BoolOption('LOCKFLAGS', 'Don\'t modify FLAGS, use only those selected', ''))
++opts.Add('FLAGS', 'Set your CCFLAGS here', '')
+ # CFLAGS are now a string, if you have a mulocal.py from 0.1.11, please remove it.
+ opts.Add(BoolOption('EPOLL', 'Use epoll when available', ''))
+ opts.Add(BoolOption('MUCOUS', 'Install Mucous (when SWIG can be found', ''))
+@@ -102,13 +102,7 @@
+ # All warnings if compiler is gcc
+
+ if os.path.basename(env['CC']) in ['gcc', 'apgcc']:
+-# env['CFLAGS'] = ['-fPIC', '-Wall', '-pipe'] # allows x86_64 to compile
+-# ['-Wall', '-pipe']) # original
+- #flags = []
+- #for flag in str(env['CFLAGS']).split(','):
+- #flags.append("-"+flag)
+- #env.Append(CCFLAGS = flags)
+- env.Append(CCFLAGS = env['CFLAGS'].split(' '))
++ env.Append(CCFLAGS = env['FLAGS'].split(' '))
+ if not env['LOCKFLAGS']:
+ if env['RELEASE'] and "-fomit-frame-pointer" not in env["CCFLAGS"]:
+ env.Append(CCFLAGS = ['-fomit-frame-pointer'])
+@@ -121,7 +115,6 @@
+ flagstring += i + " "
+ print "BUILDING with CCFLAGS: "+ flagstring
+
+- #print "BUILDING with CFLAGS: "+ env['CFLAGS']
+
+
+ # Set up additional include and library paths
+@@ -190,7 +183,8 @@
+ print "Couldn't figure out how to use the dynamic run-time linker"
+ Exit(1)
+ env.Replace(LIBS = libs)
+- env.Append(CCFLAGS = ' -fPIC' )
++ if "-fPIC" not in env["CCFLAGS"]:
++ env.Append(CCFLAGS = ' -fPIC' )
+
+
+ if check_deps == 1:
+@@ -397,7 +391,12 @@
+ f.write('RELEASE = %s\n' % (`env['RELEASE']`))
+ f.write('MULOG = %s\n' % (`string.join(env['MULOG'], ',')`))
+ f.write('LOCKFLAGS = %s\n' % (`env['LOCKFLAGS']`))
+-f.write('CFLAGS = %s\n' % (`env['CFLAGS']`))
++if type(env['FLAGS']) == list:
++ CFLAGS = ""
++ for string in env['FLAGS']:
++ CFLAGS += " "+ string
++ env['FLAGS'] = CFLAGS.strip()
++f.write('FLAGS = %s\n' % (`env['FLAGS']`))
+ f.write('EPOLL = %s\n' % (`env['EPOLL']`))
+ f.write('RELAY = %s\n' % (`env['RELAY']`))
+ f.write('BINRELOC = %s\n' % (`env['BINRELOC']`))
+@@ -405,7 +404,7 @@
+ f.write('MUSETUPGTK = %s\n' % (`env['MUSETUPGTK']`))
+ f.write('MUSEEQ = %s\n' % (`env['MUSEEQ']`))
+ f.write('ONLYMUSEEQ = %s\n' % (`env['ONLYMUSEEQ']`))
+-f.write('MUSEEQTRANSLATIONS = %s\n' % (`string.join(env['MUSEEQTRANSLATIONS'], ',')`))
++f.write('MUSEEQTRANSLATIONS = %s\n' % (`env['MUSEEQTRANSLATIONS']`))
+ f.write('MUSEEQTRAYICON = %s\n' % (`env['MUSEEQTRAYICON']`))
+ f.write('QSA = %s\n' % (`env['QSA']`))
+ f.write('RELAY_QSA = %s\n' % (`env['RELAY_QSA']`))
diff --git a/network/museek-plus/museek-scons.patch b/network/museek-plus/museek-scons.patch
new file mode 100644
index 000000000000..b1118771ef4e
--- /dev/null
+++ b/network/museek-plus/museek-scons.patch
@@ -0,0 +1,71 @@
+Index: Tools/SConscript
+===================================================================
+--- Tools/SConscript
++++ Tools/SConscript
+@@ -16,7 +16,7 @@
+ if env['VORBIS']:
+ env_libmuscan.ParseConfig('pkg-config --libs --cflags vorbisfile')
+ if conf.CheckLibWithHeader('', 'vorbis/vorbisfile.h', 'C++', 'ov_clear(0);'):
+- env_libmuscan.Append(CPPDEFINES = {'HAVE_VORBIS': 1})
++ env_libmuscan.Append(CPPDEFINES = 'HAVE_VORBIS=1')
+ print "OGG Vorbis found, compiling into muscan."
+ else:
+ print "OGG Vorbis NOT found, not compiled into muscan."
+Index: Mucipher/SConscript
+===================================================================
+--- Mucipher/SConscript
++++ Micipher/SConscript
+@@ -1,5 +1,5 @@
+ Import('env')
+-
++import os
+ sources = Split("""
+ md5.c
+ sha.c
+@@ -10,7 +10,10 @@
+
+
+ env.StaticLibrary(target = 'ucipher', source = sources)
+-
++if not os.path.exists("mucipher.i"):
++ open(str("mucipher.i"), "w").write(open(os.path.abspath("../../Mucipher/mucipher.i")).read())
++if not os.path.exists("wraphelp.c"):
++ open(str("wraphelp.c"), "w").write(open(os.path.abspath("../../Mucipher/wraphelp.c")).read())
+
+ if 'swig' in env['TOOLS']:
+ import os
+
+Index: Mucipher/python/SConscript
+==================================================================
+--- Mucipher/python/SConscript
++++ Mucipher/python/SConscript
+@@ -23,16 +23,26 @@
+ env_swigpy.Append(LIBS = ['ucipher'])
+ env_swigpy.Replace(SHLIBPREFIX='')
+
++ if not os.path.exists("mucipher.py"):
++ open(str("mucipher.py"), "w").write( open(os.path.abspath("../../../Mucipher/python/mucipher.py")).read())
++ if not os.path.exists("mucipher.i"):
++ open(str("mucipher.i"), "w").write(open(os.path.abspath("../mucipher.i")).read())
++ if not os.path.exists("wraphelp.c"):
++ open(str("wraphelp.c"), "w").write(open(os.path.abspath("../wraphelp.c")).read())
+ env_swigpy.Command("mucipher.i", "../mucipher.i", file_copy)
+ env_swigpy.Command("wraphelp.c", "../wraphelp.c", file_copy)
+
+ mucipherc = env_swigpy.SharedLibrary('_mucipherc', sources, SWIGFLAGS='-python')
+-
++ if type(mucipherc) == type([]):
++ mucipherc = mucipherc[0]
+ py_dest = env['DESTDIR'] + os.path.join(sys.prefix, "lib", "python" + py_ver, "site-packages")
+
+- install = env.Install(py_dest, source = [ mucipherc, 'mucipherc.py', 'mucipher.py'])
++ dp1 = env_swigpy.Install(py_dest, 'mucipherc.py')
++ dp2 = env_swigpy.Install(py_dest, mucipherc)
++ dp3 = env_swigpy.Install(py_dest, "mucipher.py")
++ Depends(dp1, dp2)
+
+- env.Alias('install_mucipher', install)
++ env.Alias('install_mucipher', [dp1, dp2, dp3])
+ env.Alias('install', 'install_mucipher')
+ else:
+ print "WARNING: Python.h include not found, please install Python's development packages"
diff --git a/network/museek-plus/rc.museekd b/network/museek-plus/rc.museekd
new file mode 100644
index 000000000000..2aeb13b84a2d
--- /dev/null
+++ b/network/museek-plus/rc.museekd
@@ -0,0 +1,105 @@
+#!/bin/sh
+#
+# This shell script takes care of starting and stopping museekd.
+
+MUSEEKD=/usr/bin/museekd
+MUSETUP=/usr/bin/musetup
+MUSCAN=/usr/bin/muscan
+MUSOCKET=/tmp/museekd.root
+PIDFILE=/var/run/museekd.pid
+DBDIR=/var/museek
+CONFIG=$DBDIR/museekd.xml
+CHOWNSOCKET=YES
+
+case "$1" in
+ start)
+ if [ ! -d $DBDIR ]; then
+ mkdir $DBDIR
+ fi
+ if [ ! -f $CONFIG ]; then
+ echo -n "Starting Museek Setup"
+ echo
+ if [ ! -d $DBDIR ]; then
+ mkdir $DBDIR
+ fi
+ $MUSETUP $CONFIG
+ echo
+ fi
+ if [ -f $PIDFILE ]; then
+ echo -n "Museek Daemon already running (or zombie pid file in /var/run/)"
+ echo
+ exit
+ fi
+ echo -n "Starting Museek Daemon"
+ $MUSEEKD -c $CONFIG &>/dev/null &
+ PID="$!"
+ sleep 2
+ if kill -0 $PID # pid check
+ then
+ if [ $CHOWNSOCKET = YES ];
+ then
+ if [ -e $MUSOCKET ]; then chmod 666 $MUSOCKET
+ # access the museekd socket from other users, may be a security risk on multiuser systems
+ fi
+ fi
+ echo $PID > $PIDFILE
+ echo
+ else
+ echo -n "Museekd isn't starting up properly. Check your Config file, \nor run 'museekd -c /var/museek/museekd.xml' for verbose messages."
+ echo
+ fi
+ ;;
+ stop)
+ echo -n "Stopping Museek Daemon"
+ echo
+ if [ -f $PIDFILE ]; then
+ kill -15 `cat $PIDFILE` &>/dev/null
+ rm $PIDFILE
+ else
+ echo -n "Museek Daemon not running"
+ echo
+ exit
+ fi
+ ;;
+ reconnect)
+ if [ -f $PIDFILE ]; then
+ echo -n "Attempting to reconnect Museekd to the Server"
+ kill -ALRM `cat $PIDFILE` &>/dev/null
+ echo
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 3
+ $0 start
+ ;;
+ rescan)
+ echo -n "Starting Muscan, rescanning shared files"
+ echo
+ $MUSCAN -c $CONFIG -r -v
+ echo
+ $0 reload
+ ;;
+ setup)
+ echo -n "Starting Museek Setup"
+ echo
+ if [ ! -d $DBDIR ]; then
+ mkdir $DBDIR
+ fi
+ $MUSETUP $CONFIG
+ echo
+ ;;
+ reload)
+ if [ -f $PIDFILE ]; then
+ echo -n "Reloading Museek Daemon to update Shares"
+ kill -HUP `cat $PIDFILE`
+ echo
+ else
+ echo -n "Museek Daemon not running, can't reload shares"
+ echo
+ fi
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart|rescan|reconnect|setup|reload}"
+ echo -n
+esac \ No newline at end of file
diff --git a/network/museek-plus/slack-desc b/network/museek-plus/slack-desc
new file mode 100644
index 000000000000..0b5d79144293
--- /dev/null
+++ b/network/museek-plus/slack-desc
@@ -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---------------------------------------------------------|
+museek+: museek+
+museek+:
+museek+: Museek+ is a file-sharing application for the Soulseek p2p network,
+museek+: written in C++. It's an enhanced version of Hyriand's original Museek
+museek+: (http://museek.thegraveyard.org). It supports chat, transferring files,
+museek+: searching, user-management, sharing, banlists, interests and more.
+museek+: Museek+ consists of museekd (daemon), muscan (shares scanning tool),
+museek+: muscand (automated shares scanning tool), musetup (command-line
+museek+: configuration script), musetup-gtk (PyGTK configuration app), museeq
+museek+: (QT GUI client), mucous (curses python client) and museekcontrol
+museek+: (command-line python client).