network/museek-plus: Updated for version 0.1.13

This commit is contained in:
Iskar Enev 2010-05-11 19:45:56 +02:00 committed by Robby Workman
parent bfcbe9eacf
commit 6ac329997c
9 changed files with 105 additions and 200 deletions

View file

@ -2,29 +2,27 @@ 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
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).
python client), murmur (PyGTK 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.
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++, libxml++ and Swig. PyGTK (for musetup-gtk)
and QSA are optional dependencies.
Slackbuilds for all the requirements (except QSA, which is optional)
are available at SlackBuilds.org.
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.
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.

View file

@ -0,0 +1,28 @@
#!/bin/sh
config() {
NEW="$1"
OLD="$(dirname $NEW)/$(basename $NEW .new)"
# If there's no config file by that name, mv it over:
if [ ! -r $OLD ]; then
mv $NEW $OLD
elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then
# toss the redundant copy
rm $NEW
fi
# Otherwise, we leave the .new copy for the admin to consider...
}
# Keep same perms on rc.museekd.new:
#if [ -e etc/rc.d/rc.museekd ]; then
# cp -a etc/rc.d/rc.museekd etc/rc.d/rc.museekd.new.incoming
# cat etc/rc.d/rc.museekd.new > etc/rc.d/rc.museekd.new.incoming
# mv etc/rc.d/rc.museekd.new.incoming etc/rc.d/rc.museekd.new
#fi
#
#config etc/rc.d/rc.museekd.new
if [ -x usr/bin/update-desktop-database ]; then
usr/bin/update-desktop-database usr/share/applications >/dev/null 2>&1
fi

View file

@ -1,13 +1,13 @@
#!/bin/sh
# Slackware build script for museek+
# Written by Iskar Enev <iskar.enev@gmail.com>
# Written by Iskar Enev <iskar.enev[@]gmail.com>
# modified by the SlackBuilds project.
set -e
PRGNAM=museek-plus
PKGNAME=museek+
VERSION=0.1.12
VERSION=0.1.13
ARCH=${ARCH:-i486}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@ -24,47 +24,54 @@ fi
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP || exit 1
cd $TMP
rm -rf $PKGNAME-$VERSION
tar -xjvf $CWD/$PKGNAME-$VERSION.tar.bz2 || exit 1
cd $PKGNAME-$VERSION || exit 1
tar xvf $CWD/$PKGNAME-$VERSION.tar.bz2
cd $PKGNAME-$VERSION
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
# Allow museeq to compile without QSA (which is optional)
cat $CWD/museek-qsa.patch | patch -p0
# 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
cmake -DPREFIX=/usr \
-DMANDIR=man \
-DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
-DSWIG_DIR:PATH=`swig -swiglib` \
-DEVERYTHING=1 \
-DTRAYICON=1 \
-DBINRELOC=0
make VERBOSE=1
make install VERBOSE=1 DESTDIR=$PKG
( 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
for i in $(find . -type l) ; do ln -s $(readlink $i).gz $i.gz ; rm $i ; done
)
rm -rf $PKG/usr/share/config.xml.tmpl
mkdir -p $PKG/usr/share/museek/museeq/icons
mv $PKG/usr/share/museek/museeq/{bluebox,default,mikelabo-silk,mikelabo-tri} \
$PKG/usr/share/museek/museeq/icons
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
chmod 644 $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.new
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PKGNAME-$VERSION-$ARCH-$BUILD$TAG.tgz

View file

@ -1,8 +1,8 @@
PRGNAM="museek-plus"
VERSION="0.1.12"
VERSION="0.1.13"
HOMEPAGE="http://museek-plus.sourceforge.net/"
DOWNLOAD="http://dl.sourceforge.net/museek-plus/museek+-0.1.12.tar.bz2"
MD5SUM="5d871e40dc93c04e60688a06e0e143e8"
DOWNLOAD="http://downloads.sourceforge.net/museek-plus/museek+-0.1.13.tar.bz2"
MD5SUM="7aada627839578ebe525c54a1cef7dc4"
MAINTAINER="Iskar Enev"
EMAIL="iskar.enev@gmail.com"
APPROVED="BP{k}"
APPROVED="rworkman"

View file

@ -0,0 +1,16 @@
--- museeq/CMakeLists.txt
+++ museeq/CMakeLists.txt
@@ -305,7 +305,12 @@
add_executable(museeq ${MUSEEQ_SOURCES} ${MUSEEQ_MOC_HEADERS})
-target_link_libraries(museeq Mucipher ${QT_LIBRARIES} ${QSA_LIBRARY})
+set(LINK_LIBRARIES Mucipher ${QT_LIBRARIES})
+if (QSA)
+ set(LINK_LIBRARIES ${LINK_LIBRARIES} ${QSA_LIBRARY})
+endif (QSA)
+
+target_link_libraries(museeq ${LINK_LIBRARIES})
install(
TARGETS museeq

View file

@ -1,73 +0,0 @@
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']`))

View file

@ -1,71 +0,0 @@
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"

View file

@ -53,7 +53,7 @@ case "$1" in
echo -n "Stopping Museek Daemon"
echo
if [ -f $PIDFILE ]; then
kill -15 `cat $PIDFILE` &>/dev/null
kill -15 $(cat $PIDFILE) &>/dev/null
rm $PIDFILE
else
echo -n "Museek Daemon not running"
@ -64,7 +64,7 @@ case "$1" in
reconnect)
if [ -f $PIDFILE ]; then
echo -n "Attempting to reconnect Museekd to the Server"
kill -ALRM `cat $PIDFILE` &>/dev/null
kill -ALRM $(cat $PIDFILE) &>/dev/null
echo
fi
;;
@ -92,7 +92,7 @@ case "$1" in
reload)
if [ -f $PIDFILE ]; then
echo -n "Reloading Museek Daemon to update Shares"
kill -HUP `cat $PIDFILE`
kill -HUP $(cat $PIDFILE)
echo
else
echo -n "Museek Daemon not running, can't reload shares"
@ -102,4 +102,4 @@ case "$1" in
*)
echo "usage: $0 {start|stop|restart|rescan|reconnect|setup|reload}"
echo -n
esac
esac

View file

@ -5,8 +5,8 @@
# exactly 11 lines for the formatting to be correct. It's also customary to
# leave one space after the ':'.
|-----handy-ruler---------------------------------------------------------|
museek+: museek+
|-----handy-ruler---------------------------------------------------------|
museek+: museek+ (file-sharing application)
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
@ -15,5 +15,5 @@ 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).
museek+: (QT GUI client), mucous (curses python client), museekcontrol
museek+: (command-line python client) and murmur (PyGTK client).