diff options
-rw-r--r-- | network/museek-plus/README | 30 | ||||
-rw-r--r-- | network/museek-plus/museek-plus.SlackBuild | 70 | ||||
-rw-r--r-- | network/museek-plus/museek-plus.info | 8 | ||||
-rw-r--r-- | network/museek-plus/museek-scons-current.patch | 73 | ||||
-rw-r--r-- | network/museek-plus/museek-scons.patch | 71 | ||||
-rw-r--r-- | network/museek-plus/rc.museekd | 105 | ||||
-rw-r--r-- | network/museek-plus/slack-desc | 19 |
7 files changed, 376 insertions, 0 deletions
diff --git a/network/museek-plus/README b/network/museek-plus/README new file mode 100644 index 0000000000..4a595bb329 --- /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 0000000000..7596ad9916 --- /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 0000000000..c9c4d27913 --- /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 0000000000..53eb461fc6 --- /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 0000000000..b1118771ef --- /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 0000000000..2aeb13b84a --- /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 0000000000..0b5d791442 --- /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). |