mirror of
https://github.com/Ponce/slackbuilds
synced 2024-11-24 10:02:29 +01:00
network/museek-plus: Initial import
This commit is contained in:
parent
9e8be9f5cb
commit
20376b5048
7 changed files with 376 additions and 0 deletions
30
network/museek-plus/README
Normal file
30
network/museek-plus/README
Normal file
|
@ -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.
|
70
network/museek-plus/museek-plus.SlackBuild
Normal file
70
network/museek-plus/museek-plus.SlackBuild
Normal file
|
@ -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
|
8
network/museek-plus/museek-plus.info
Normal file
8
network/museek-plus/museek-plus.info
Normal file
|
@ -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}"
|
73
network/museek-plus/museek-scons-current.patch
Normal file
73
network/museek-plus/museek-scons-current.patch
Normal file
|
@ -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']`))
|
71
network/museek-plus/museek-scons.patch
Normal file
71
network/museek-plus/museek-scons.patch
Normal file
|
@ -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"
|
105
network/museek-plus/rc.museekd
Normal file
105
network/museek-plus/rc.museekd
Normal file
|
@ -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
|
19
network/museek-plus/slack-desc
Normal file
19
network/museek-plus/slack-desc
Normal 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---------------------------------------------------------|
|
||||
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).
|
Loading…
Reference in a new issue