aboutsummaryrefslogtreecommitdiffstats
path: root/audio/slimserver
diff options
context:
space:
mode:
authorbrooks <brooks@FreeBSD.org>2005-04-21 13:17:02 +0800
committerbrooks <brooks@FreeBSD.org>2005-04-21 13:17:02 +0800
commitae21233b8e7e6cdb2e6bfed70a8e2b84ab2e3fea (patch)
tree0177b37d8c7334c855901366ac218b55798f88c5 /audio/slimserver
parentc3d05d5fcee6d1cb00dcbee9ac827f985990a81e (diff)
downloadfreebsd-ports-gnome-ae21233b8e7e6cdb2e6bfed70a8e2b84ab2e3fea.tar.gz
freebsd-ports-gnome-ae21233b8e7e6cdb2e6bfed70a8e2b84ab2e3fea.tar.zst
freebsd-ports-gnome-ae21233b8e7e6cdb2e6bfed70a8e2b84ab2e3fea.zip
Upgrade to 6.0.1.
Stop trying to use ports versions of all the CPAN bits and do things the way the vendor expects. It's less elegant, but much easier to maintain. Do build our own versions of binary modules so we have a chance on all platforms, but use a slightly modified version of their script to do so (mostly make it non interactive and fetch the files from DISTDIR/DIST_SUBDIR rather than direct from slimdevices each build). Mark RESTRICTED. The distfiles and the build contain non-restributable bits. Some of the people building packages for linux are working on a way around this (not distributing the firmware and using alternate images), but that's no here yet. Nagged by: many :-) Prodded by: my dying cd player
Diffstat (limited to 'audio/slimserver')
-rw-r--r--audio/slimserver/Makefile76
-rw-r--r--audio/slimserver/distinfo10
-rw-r--r--audio/slimserver/files/CPANfiles304
-rw-r--r--audio/slimserver/files/patch-Bin_build-perl-modules.pl164
-rw-r--r--audio/slimserver/files/patch-Slim_Music_Info.pm14
-rw-r--r--audio/slimserver/files/patch-Slim_Utils_Prefs.pm14
-rw-r--r--audio/slimserver/files/pkg-install.in (renamed from audio/slimserver/pkg-install)10
-rw-r--r--audio/slimserver/files/pm2port41
-rw-r--r--audio/slimserver/files/slimserver.sh.in29
9 files changed, 262 insertions, 400 deletions
diff --git a/audio/slimserver/Makefile b/audio/slimserver/Makefile
index 5e165f725e4a..682919b6f24a 100644
--- a/audio/slimserver/Makefile
+++ b/audio/slimserver/Makefile
@@ -6,23 +6,35 @@
#
PORTNAME= slimserver
-PORTVERSION?= 5.4.0
-PORTREVISION= 3
+PORTVERSION?= 6.0.1
CATEGORIES= audio
MASTER_SITES= http://www.slimdevices.com/downloads/${NIGHTLY}SlimServer_v${DISTVERSION}/
DISTNAME= SlimServer_v${DISTVERSION}
+DISTFILES= ${DISTNAME}.no-cpan-arch${EXTRACT_SUFX}
+DIST_SUBDIR= slimserver
MAINTAINER= brooks@FreeBSD.org
COMMENT= Slim Devices audio streaming server
+RESTRICTED= Contains non-redistributable firmware, documentation, and images
+
DISTVERSION?= ${PORTVERSION}
RUN_DEPENDS+= ${LOCALBASE}/bin/mDNSResponderPosix:${PORTSDIR}/net/mDNSResponder
+PKGINSTALL= ${WRKDIR}/pkg-install
+
.include <bsd.port.pre.mk>
-SLIM_CPAN_DEPS!= cut -f 2 -d, ${FILESDIR}/pm2port | ${GREP} -v ^_builtin | ${XARGS} echo
-RUN_DEPENDS+= ${SLIM_CPAN_DEPS:S|^|${SITE_PERL}/|:S|:|:${PORTSDIR}/|}
+SLIMCPANPKGS= Compress-Zlib-1.33.tar.gz \
+ DBI-1.46.tar.gz \
+ DBD-SQLite-1.08.tar.gz \
+ HTML-Parser-3.45.tar.gz \
+ Template-Toolkit-2.13.tar.gz \
+ Time-HiRes-1.66.tar.gz \
+ XML-Parser-2.34.tar.gz
+
+ALLFILES= ${DISTFILES} ${SLIMCPANPKGS}
.if ${PERL_LEVEL} < 500800
IGNORE= "Perl 5.8 or newer required. Install lang/perl5.8 and try again."
@@ -35,25 +47,26 @@ PGREPBASE= ${LOCALBASE}
PGREPBASE= /usr
.endif
-USE_RC_SUBR= yes
+USE_RC_SUBR= slimserver.sh
+USE_REINPLACE= yes
TMP_SLIMDIR= ${WRKDIR}/slimserver
TMP_DOCSDIR= ${WRKDIR}/doc
-DOCFILES= Changelog.html Installation.txt
-EXCEPTFILES= ${DOCFILES} \
- CPAN/File/.exists \
- CPAN/MP3/.exists
+CPANWRKDIR= ${WRKDIR}/cpantemp
+DOCFILES= Changelog.html Installation.txt License.txt
+CONFFILES= convert.conf types.conf
+EXCEPTFILES= ${DOCFILES} ${CONFFILES}
EXCEPTDIRS= Bin \
CPAN/arch
CPIOARGS= --quiet -pdum -R
PLIST= ${WRKDIR}/pkg-plist
PLIST_SUB= SLIMDIR=${SLIMDIR}
+PLIST_FILES= bin/softsqueeze
-SUB_FILES= slimserver.sh \
- softsqueeze.sh
+SUB_FILES= softsqueeze.sh pkg-install
SUB_LIST= PGREPBASE=${PGREPBASE} \
- RC_SUBR=${RC_SUBR} \
- SLIMDIR=${SLIMDIR}
+ SLIMDIR=${SLIMDIR} \
+ CONFFILES="${CONFFILES}"
pre-fetch:
.if !defined(SLIMDIR)
@@ -64,32 +77,37 @@ pre-fetch:
SLIMDIR?= slimserver
+post-fetch:
+.for _PKG in ${SLIMCPANPKGS}
+ @cd ${_DISTDIR}; test -e ${_PKG} || \
+ ${FETCH_CMD} -o ${_PKG} http://svn.slimdevices.com/vendor/src/${_PKG}?view=auto
+.endfor
+
+post-patch:
+ ${REINPLACE_CMD} \
+ -e 's|%%PERL%%|${PERL}|' \
+ -e 's|%%TMP_SLIMDIR%%|${TMP_SLIMDIR}|' \
+ -e 's|%%CPANWRKDIR%%|${CPANWRKDIR}|' \
+ -e 's|%%DISTDIR%%|${_DISTDIR}|' ${WRKSRC}/Bin/build-perl-modules.pl
+
do-build:
@${MKDIR} -m 0755 ${TMP_SLIMDIR}
@cd ${WRKSRC} && \
${FIND} . -name \*.orig ${EXCEPTFILES:S|^|-o -path ./|} \
${EXCEPTDIRS:S/$/\*/:S/^/-o -path .\//} -o -print | \
${CPIO} ${CPIOARGS} ${BINOWN}:${BINGRP} ${TMP_SLIMDIR}
- @cd ${TMP_SLIMDIR}/CPAN && \
- for pm in `${EGREP} -v ,$$ ${FILESDIR}/pm2port | cut -f 1 -d,`; do \
- ${GREP} "$${pm}:" ${FILESDIR}/CPANfiles | cut -f2 -d: | ${XARGS} rm; \
- done
- @${FIND} ${TMP_SLIMDIR}/CPAN -depth -type d -empty -delete
-.if defined(PORTDEV)
- @echo "Checking for unexpected files in CPAN"
- @cd ${TMP_SLIMDIR}/CPAN && \
- for _file in `${FIND} . -type f | ${SED} -e 's|^\./||'`; do \
- ${EGREP} -q ":$${_file}\$$" ${FILESDIR}/CPANfiles || \
- echo $${_file} ; \
- done
- @echo
-.endif
+.for _CONF in ${CONFFILES}
+ @cd ${WRKSRC} && ${INSTALL_DATA} ${_CONF} ${TMP_SLIMDIR}/${_CONF}.sample
+.endfor
.if !defined(NOPORTDOCS)
@${MKDIR} ${TMP_DOCSDIR}
@cd ${WRKSRC} && ${INSTALL_DATA} ${DOCFILES} ${TMP_DOCSDIR}
.endif
- @${ECHO} "etc/rc.d/slimserver${PKGNAMESUFFIX}.sh" > ${PLIST}
- @${ECHO} "bin/softsqueeze" >> ${PLIST}
+ ${MKDIR} ${CPANWRKDIR}
+ ${WRKSRC}/Bin/build-perl-modules.pl
+.for _CONF in ${CONFFILES}
+ @${ECHO} '@unexec if cmp -s %D/%%SLIMDIR%%/${_CONF} %D/%%SLIMDIR%%/${_CONF}.sample; then rm -f %D/%%SLIMDIR%%/${_CONF}; fi' >> ${PLIST}
+.endfor
.if !defined(NOPORTDOCS)
@${FIND} ${TMP_DOCSDIR} -type f | \
${SED} -e 's|${TMP_DOCSDIR}|%%DOCSDIR%%|' | \
diff --git a/audio/slimserver/distinfo b/audio/slimserver/distinfo
index 130a4b382a58..dab0bca12c38 100644
--- a/audio/slimserver/distinfo
+++ b/audio/slimserver/distinfo
@@ -1,2 +1,8 @@
-MD5 (SlimServer_v5.4.0.tar.gz) = 9aad99106636baf6b7fdb5225aa10a22
-SIZE (SlimServer_v5.4.0.tar.gz) = 9511288
+MD5 (slimserver/Compress-Zlib-1.33.tar.gz) = 724552bde7f380e8c8a9da00a9bbc3d2
+MD5 (slimserver/DBD-SQLite-1.08.tar.gz) = a4c44391cfa3452f782c403bd04b41a6
+MD5 (slimserver/DBI-1.46.tar.gz) = 863034a912ae56968e48d1c30d5954ef
+MD5 (slimserver/HTML-Parser-3.45.tar.gz) = b12d484853d96c4f045f49f91d50349f
+MD5 (slimserver/SlimServer_v6.0.1.no-cpan-arch.tar.gz) = f0b3627a59b9e68431b2a97fa4967e6b
+MD5 (slimserver/Template-Toolkit-2.13.tar.gz) = 64737793e053f0e684012918a6aa4701
+MD5 (slimserver/Time-HiRes-1.66.tar.gz) = 57c0da44b48854b90b33c22a65336886
+MD5 (slimserver/XML-Parser-2.34.tar.gz) = 2e44f9e6e6ed730e28b056d55e48413f
diff --git a/audio/slimserver/files/CPANfiles b/audio/slimserver/files/CPANfiles
deleted file mode 100644
index a902f8c8e743..000000000000
--- a/audio/slimserver/files/CPANfiles
+++ /dev/null
@@ -1,304 +0,0 @@
-Audio-Musepack:Audio/APETags.pm
-Audio-Musepack:Audio/Musepack.pm
-Audio-WMA:Audio/WMA.pm
-Audio-Wav:Audio/Wav.pm
-Audio-Wav:Audio/Wav/Changes
-Audio-Wav:Audio/Wav/MANIFEST
-Audio-Wav:Audio/Wav/Makefile.PL
-Audio-Wav:Audio/Wav/README
-Audio-Wav:Audio/Wav/Read.pm
-Audio-Wav:Audio/Wav/Tools.pm
-Audio-Wav:Audio/Wav/Write.pm
-Audio-Wav:Audio/Wav/Write/Header.pm
-Audio-Wav:Audio/Wav/test.pl
-Audio-Wav:Audio/Wav/test_tone.wav
-Class-Accessor-Chained:Class/Accessor/Chained.pm
-Class-Accessor-Chained:Class/Accessor/Chained/Fast.pm
-Class-Accessor:Class/Accessor.pm
-Class-Accessor:Class/Accessor/Fast.pm
-Class-DBI-AbstractSearch:Class/DBI/AbstractSearch.pm
-Class-DBI-Cacheable:Class/DBI/Cacheable.pm
-Class-DBI-Cacheable:Class/DBI/ObjectCache.pm
-Class-DBI-Pager:Class/DBI/Pager.pm
-Class-DBI-Plugin-AbstractCount:Class/DBI/Plugin/AbstractCount.pm
-Class-DBI-Plugin-CountSearch:Class/DBI/Plugin/CountSearch.pm
-Class-DBI-Plugin-RetrieveAll:Class/DBI/Plugin/RetrieveAll.pm
-Class-DBI-Plugin:Class/DBI/Plugin.pm
-Class-DBI:Class/DBI.pm
-Class-DBI:Class/DBI/Column.pm
-Class-DBI:Class/DBI/ColumnGrouper.pm
-Class-DBI:Class/DBI/Iterator.pm
-Class-DBI:Class/DBI/Query.pm
-Class-Data-Inheritable:Class/Data/Inheritable.pm
-Class-Trigger:Class/Trigger.pm
-Class-WhiteHole:Class/WhiteHole.pm
-DBIx-ContextualFetch:DBIx/ContextualFetch.pm
-Date-Page:Data/Page.pm
-File-Spec:File/Spec.pm
-File-Spec:File/Spec/Functions.pm
-File-Spec:File/Spec/Mac.pm
-File-Spec:File/Spec/OS2.pm
-File-Spec:File/Spec/Unix.pm
-File-Spec:File/Spec/VMS.pm
-File-Spec:File/Spec/Win32.pm
-File-Temp:File/Temp.pm
-File-Which:File/Which.pm
-HTML-Parser:HTML/Entities.pm
-IO-String:IO/String.pm
-Ima-DBI:Ima/DBI.pm
-LWP:Bundle/LWP.pm
-LWP:File/Listing.pm
-LWP:HTML/Form.pm
-LWP:HTTP/Cookies.pm
-LWP:HTTP/Cookies/Microsoft.pm
-LWP:HTTP/Cookies/Netscape.pm
-LWP:HTTP/Daemon.pm
-LWP:HTTP/Date.pm
-LWP:HTTP/Headers.pm
-LWP:HTTP/Headers/Auth.pm
-LWP:HTTP/Headers/ETag.pm
-LWP:HTTP/Headers/Util.pm
-LWP:HTTP/Message.pm
-LWP:HTTP/Negotiate.pm
-LWP:HTTP/Request.pm
-LWP:HTTP/Request/Common.pm
-LWP:HTTP/Response.pm
-LWP:HTTP/Status.pm
-LWP:LWP.pm
-LWP:LWP/Authen/Basic.pm
-LWP:LWP/Authen/Digest.pm
-LWP:LWP/Authen/Ntlm.pm
-LWP:LWP/ConnCache.pm
-LWP:LWP/Debug.pm
-LWP:LWP/DebugFile.pm
-LWP:LWP/MediaTypes.pm
-LWP:LWP/MemberMixin.pm
-LWP:LWP/Protocol.pm
-LWP:LWP/Protocol/GHTTP.pm
-LWP:LWP/Protocol/cpan.pm
-LWP:LWP/Protocol/data.pm
-LWP:LWP/Protocol/file.pm
-LWP:LWP/Protocol/ftp.pm
-LWP:LWP/Protocol/gopher.pm
-LWP:LWP/Protocol/http.pm
-LWP:LWP/Protocol/http10.pm
-LWP:LWP/Protocol/https.pm
-LWP:LWP/Protocol/https10.pm
-LWP:LWP/Protocol/loopback.pm
-LWP:LWP/Protocol/mailto.pm
-LWP:LWP/Protocol/nntp.pm
-LWP:LWP/Protocol/nogo.pm
-LWP:LWP/RobotUA.pm
-LWP:LWP/Simple.pm
-LWP:LWP/UserAgent.pm
-LWP:LWP/media.types
-LWP:Net/HTTP.pm
-LWP:Net/HTTP/Methods.pm
-LWP:Net/HTTP/NB.pm
-LWP:Net/HTTPS.pm
-LWP:WWW/RobotRules.pm
-LWP:WWW/RobotRules/AnyDBM_File.pm
-MIME-Base64:MIME/Base64.pm
-MP3-Info:MP3/Info.pm
-MP4-Info:MP4/Info.pm
-Net-DNS:Net/DNS.pm
-Net-DNS:Net/DNS/FAQ.pod
-Net-DNS:Net/DNS/Header.pm
-Net-DNS:Net/DNS/Nameserver.pm
-Net-DNS:Net/DNS/Packet.pm
-Net-DNS:Net/DNS/Question.pm
-Net-DNS:Net/DNS/RR.pm
-Net-DNS:Net/DNS/RR/A.pm
-Net-DNS:Net/DNS/RR/AAAA.pm
-Net-DNS:Net/DNS/RR/AFSDB.pm
-Net-DNS:Net/DNS/RR/CERT.pm
-Net-DNS:Net/DNS/RR/CNAME.pm
-Net-DNS:Net/DNS/RR/DNAME.pm
-Net-DNS:Net/DNS/RR/EID.pm
-Net-DNS:Net/DNS/RR/HINFO.pm
-Net-DNS:Net/DNS/RR/ISDN.pm
-Net-DNS:Net/DNS/RR/LOC.pm
-Net-DNS:Net/DNS/RR/MB.pm
-Net-DNS:Net/DNS/RR/MG.pm
-Net-DNS:Net/DNS/RR/MINFO.pm
-Net-DNS:Net/DNS/RR/MR.pm
-Net-DNS:Net/DNS/RR/MX.pm
-Net-DNS:Net/DNS/RR/NAPTR.pm
-Net-DNS:Net/DNS/RR/NIMLOC.pm
-Net-DNS:Net/DNS/RR/NS.pm
-Net-DNS:Net/DNS/RR/NSAP.pm
-Net-DNS:Net/DNS/RR/NULL.pm
-Net-DNS:Net/DNS/RR/OPT.pm
-Net-DNS:Net/DNS/RR/PTR.pm
-Net-DNS:Net/DNS/RR/PX.pm
-Net-DNS:Net/DNS/RR/RP.pm
-Net-DNS:Net/DNS/RR/RT.pm
-Net-DNS:Net/DNS/RR/SOA.pm
-Net-DNS:Net/DNS/RR/SRV.pm
-Net-DNS:Net/DNS/RR/TKEY.pm
-Net-DNS:Net/DNS/RR/TSIG.pm
-Net-DNS:Net/DNS/RR/TXT.pm
-Net-DNS:Net/DNS/RR/Unknown.pm
-Net-DNS:Net/DNS/RR/X25.pm
-Net-DNS:Net/DNS/Resolver.pm
-Net-DNS:Net/DNS/Resolver/Base.pm
-Net-DNS:Net/DNS/Resolver/Cygwin.pm
-Net-DNS:Net/DNS/Resolver/Recurse.pm
-Net-DNS:Net/DNS/Resolver/UNIX.pm
-Net-DNS:Net/DNS/Resolver/Win32.pm
-Net-DNS:Net/DNS/Select.pm
-Net-DNS:Net/DNS/Update.pm
-Ogg-Vorbis-Header-PurePerl:Ogg/Vorbis/Header/PurePerl.pm
-SQL-Abstract:SQL/Abstract.pm
-SQL-Statement:SQL/Dialects/ANSI.pm
-SQL-Statement:SQL/Dialects/AnyData.pm
-SQL-Statement:SQL/Dialects/CSV.pm
-SQL-Statement:SQL/Eval.pm
-SQL-Statement:SQL/Parser.pm
-SQL-Statement:SQL/Statement.pm
-SQL-Statement:SQL/Statement/GetInfo.pm
-Template-Toolkit:Template.pm
-Template-Toolkit:Template/Base.pm
-Template-Toolkit:Template/Config.pm
-Template-Toolkit:Template/Constants.pm
-Template-Toolkit:Template/Context.pm
-Template-Toolkit:Template/Directive.pm
-Template-Toolkit:Template/Document.pm
-Template-Toolkit:Template/Exception.pm
-Template-Toolkit:Template/Filters.pm
-Template-Toolkit:Template/Grammar.pm
-Template-Toolkit:Template/Iterator.pm
-Template-Toolkit:Template/Namespace/Constants.pm
-Template-Toolkit:Template/Parser.pm
-Template-Toolkit:Template/Plugin.pm
-Template-Toolkit:Template/Plugin/Autoformat.pm
-Template-Toolkit:Template/Plugin/CGI.pm
-Template-Toolkit:Template/Plugin/DBI.pm
-Template-Toolkit:Template/Plugin/Datafile.pm
-Template-Toolkit:Template/Plugin/Date.pm
-Template-Toolkit:Template/Plugin/Directory.pm
-Template-Toolkit:Template/Plugin/Dumper.pm
-Template-Toolkit:Template/Plugin/File.pm
-Template-Toolkit:Template/Plugin/Filter.pm
-Template-Toolkit:Template/Plugin/Format.pm
-Template-Toolkit:Template/Plugin/GD/Constants.pm
-Template-Toolkit:Template/Plugin/GD/Graph/area.pm
-Template-Toolkit:Template/Plugin/GD/Graph/bars.pm
-Template-Toolkit:Template/Plugin/GD/Graph/bars3d.pm
-Template-Toolkit:Template/Plugin/GD/Graph/lines.pm
-Template-Toolkit:Template/Plugin/GD/Graph/lines3d.pm
-Template-Toolkit:Template/Plugin/GD/Graph/linespoints.pm
-Template-Toolkit:Template/Plugin/GD/Graph/mixed.pm
-Template-Toolkit:Template/Plugin/GD/Graph/pie.pm
-Template-Toolkit:Template/Plugin/GD/Graph/pie3d.pm
-Template-Toolkit:Template/Plugin/GD/Graph/points.pm
-Template-Toolkit:Template/Plugin/GD/Image.pm
-Template-Toolkit:Template/Plugin/GD/Polygon.pm
-Template-Toolkit:Template/Plugin/GD/Text.pm
-Template-Toolkit:Template/Plugin/GD/Text/Align.pm
-Template-Toolkit:Template/Plugin/GD/Text/Wrap.pm
-Template-Toolkit:Template/Plugin/HTML.pm
-Template-Toolkit:Template/Plugin/Image.pm
-Template-Toolkit:Template/Plugin/Iterator.pm
-Template-Toolkit:Template/Plugin/Pod.pm
-Template-Toolkit:Template/Plugin/Procedural.pm
-Template-Toolkit:Template/Plugin/String.pm
-Template-Toolkit:Template/Plugin/Table.pm
-Template-Toolkit:Template/Plugin/URL.pm
-Template-Toolkit:Template/Plugin/View.pm
-Template-Toolkit:Template/Plugin/Wrap.pm
-Template-Toolkit:Template/Plugin/XML/DOM.pm
-Template-Toolkit:Template/Plugin/XML/RSS.pm
-Template-Toolkit:Template/Plugin/XML/Simple.pm
-Template-Toolkit:Template/Plugin/XML/Style.pm
-Template-Toolkit:Template/Plugin/XML/XPath.pm
-Template-Toolkit:Template/Plugins.pm
-Template-Toolkit:Template/Provider.pm
-Template-Toolkit:Template/Service.pm
-Template-Toolkit:Template/Stash.pm
-Template-Toolkit:Template/Stash/Context.pm
-Template-Toolkit:Template/Stash/XS.pm
-Template-Toolkit:Template/Test.pm
-Template-Toolkit:Template/View.pm
-Tie-RegexpHash:Tie/RegexpHash.pm
-UNIVERSAL-moniker:Universal/moniker.pm
-URI:URI.pm
-URI:URI/Escape.pm
-URI:URI/Heuristic.pm
-URI:URI/QueryParam.pm
-URI:URI/Split.pm
-URI:URI/URL.pm
-URI:URI/WithBase.pm
-URI:URI/_foreign.pm
-URI:URI/_generic.pm
-URI:URI/_ldap.pm
-URI:URI/_login.pm
-URI:URI/_query.pm
-URI:URI/_segment.pm
-URI:URI/_server.pm
-URI:URI/_userpass.pm
-URI:URI/data.pm
-URI:URI/file.pm
-URI:URI/file/Base.pm
-URI:URI/file/FAT.pm
-URI:URI/file/Mac.pm
-URI:URI/file/OS2.pm
-URI:URI/file/QNX.pm
-URI:URI/file/Unix.pm
-URI:URI/file/Win32.pm
-URI:URI/ftp.pm
-URI:URI/gopher.pm
-URI:URI/http.pm
-URI:URI/https.pm
-URI:URI/ldap.pm
-URI:URI/ldapi.pm
-URI:URI/ldaps.pm
-URI:URI/mailto.pm
-URI:URI/mms.pm
-URI:URI/news.pm
-URI:URI/nntp.pm
-URI:URI/pop.pm
-URI:URI/rlogin.pm
-URI:URI/rsync.pm
-URI:URI/rtsp.pm
-URI:URI/rtspu.pm
-URI:URI/sip.pm
-URI:URI/sips.pm
-URI:URI/snews.pm
-URI:URI/ssh.pm
-URI:URI/telnet.pm
-URI:URI/tn3270.pm
-URI:URI/urn.pm
-URI:URI/urn/isbn.pm
-URI:URI/urn/oid.pm
-XML-NamespaceSupport:XML/NamespaceSupport.pm
-XML-SAX:XML/SAX.pm
-XML-SAX:XML/SAX/Base.pm
-XML-SAX:XML/SAX/DocumentLocator.pm
-XML-SAX:XML/SAX/Exception.pm
-XML-SAX:XML/SAX/Intro.pod
-XML-SAX:XML/SAX/ParserDetails.ini
-XML-SAX:XML/SAX/ParserFactory.pm
-XML-SAX:XML/SAX/PurePerl.pm
-XML-SAX:XML/SAX/PurePerl/DTDDecls.pm
-XML-SAX:XML/SAX/PurePerl/DebugHandler.pm
-XML-SAX:XML/SAX/PurePerl/DocType.pm
-XML-SAX:XML/SAX/PurePerl/EncodingDetect.pm
-XML-SAX:XML/SAX/PurePerl/Exception.pm
-XML-SAX:XML/SAX/PurePerl/NoUnicodeExt.pm
-XML-SAX:XML/SAX/PurePerl/Productions.pm
-XML-SAX:XML/SAX/PurePerl/Reader.pm
-XML-SAX:XML/SAX/PurePerl/Reader/NoUnicodeExt.pm
-XML-SAX:XML/SAX/PurePerl/Reader/Stream.pm
-XML-SAX:XML/SAX/PurePerl/Reader/String.pm
-XML-SAX:XML/SAX/PurePerl/Reader/URI.pm
-XML-SAX:XML/SAX/PurePerl/Reader/UnicodeExt.pm
-XML-SAX:XML/SAX/PurePerl/UnicodeExt.pm
-XML-SAX:XML/SAX/PurePerl/XMLDecl.pm
-XML-SAX:XML/SAX/placeholder.pl
-XML-Simple:XML/Simple.pm
-_slim:Audio/FLAC.pm
-_slim:QuickTime/Movie.pm
-_slim:URI/icy.pm
-_slim:URI/itunesplaylist.pm
-_slim:URI/moodlogicplaylist.pm
diff --git a/audio/slimserver/files/patch-Bin_build-perl-modules.pl b/audio/slimserver/files/patch-Bin_build-perl-modules.pl
new file mode 100644
index 000000000000..4e2fab43e13f
--- /dev/null
+++ b/audio/slimserver/files/patch-Bin_build-perl-modules.pl
@@ -0,0 +1,164 @@
+
+$FreeBSD$
+
+--- Bin/build-perl-modules.pl.orig
++++ Bin/build-perl-modules.pl
+@@ -74,28 +74,30 @@
+
+ print "*** Ignore any warnings about AppConfig. ***\n\n";
+
+- print "Please enter a perl binary to use (defaults to /usr/bin/perl)\n";
+- print "This must be the same perl binary that you ran this program with --> ";
+- chomp($perlBinary = <STDIN>);
+-
+- $perlBinary ||= '/usr/bin/perl';
++# print "Please enter a perl binary to use (defaults to /usr/bin/perl)\n";
++# print "This must be the same perl binary that you ran this program with --> ";
++# chomp($perlBinary = <STDIN>);
++#
++# $perlBinary ||= '/usr/bin/perl';
++ $perlBinary = '%%PERL%%';
+
+ unless (-x $perlBinary) {
+ die "Couldn't find a perl binary. Exiting.\n";
+ }
+
+- # Where does their slimserver live? Try to guess.
+- if (-f 'slimserver.pl' && -d 'CPAN/arch') {
+-
+- $slimServerPath = cwd();
+-
+- } else {
+-
+- print "Please enter the path to your SlimServer directory (ex: /usr/local/slimserver) --> ";
+- chomp($slimServerPath = <STDIN>);
+- }
+-
+- $slimServerPath ||= '/usr/local/slimserver';
++# # Where does their slimserver live? Try to guess.
++# if (-f 'slimserver.pl' && -d 'CPAN/arch') {
++#
++# $slimServerPath = cwd();
++#
++# } else {
++#
++# print "Please enter the path to your SlimServer directory (ex: /usr/local/slimserver) --> ";
++# chomp($slimServerPath = <STDIN>);
++# }
++#
++# $slimServerPath ||= '/usr/local/slimserver';
++ $slimServerPath = '%%TMP_SLIMDIR%%';
+
+ unless (-d $slimServerPath) {
+ die "Couldn't find a valid SlimServer path. Exiting.\n";
+@@ -104,12 +106,13 @@
+ # This is where the binaries will end up.
+ my $cpanDest = "$slimServerPath/CPAN/arch/$version/$archname/auto";
+
+- # Where do they want the downloads to go?
+- print "Please enter a directory to download files to --> ";
+- chomp($downloadPath = <STDIN>);
+-
+- # Default to the current directory.
+- $downloadPath ||= '.';
++# # Where do they want the downloads to go?
++# print "Please enter a directory to download files to --> ";
++# chomp($downloadPath = <STDIN>);
++#
++# # Default to the current directory.
++# $downloadPath ||= '.';
++ $downloadPath = '%%CPANWRKDIR%%';
+
+ # Remove trailing slash
+ $downloadPath =~ s|^(.+?)/$|$1|;
+@@ -122,32 +125,32 @@
+
+ my $pwd = cwd();
+
+- # What do we want to download with?
+- eval { require LWP::Simple };
+-
+- # No LWP - try a command line program.
+- if ($@) {
+-
+- for my $cmd (qw(curl wget)) {
+-
+- system("which $cmd >/dev/null 2>&1");
+-
+- unless ($? >> 8) {
+- $downloadUsing = $cmd;
+- last;
+- }
+- }
+-
+- } else {
+-
+- $downloadUsing = 'lwp';
+- }
+-
+- unless ($downloadUsing) {
+- die "Couldn't find any valid downloaders - install LWP, wget or curl.\n";
+- } else {
+- print "Downloads will use $downloadUsing to fetch tarballs.\n";
+- }
++# # What do we want to download with?
++# eval { require LWP::Simple };
++#
++# # No LWP - try a command line program.
++# if ($@) {
++#
++# for my $cmd (qw(curl wget)) {
++#
++# system("which $cmd >/dev/null 2>&1");
++#
++# unless ($? >> 8) {
++# $downloadUsing = $cmd;
++# last;
++# }
++# }
++#
++# } else {
++#
++# $downloadUsing = 'lwp';
++# }
++#
++# unless ($downloadUsing) {
++# die "Couldn't find any valid downloaders - install LWP, wget or curl.\n";
++# } else {
++# print "Downloads will use $downloadUsing to fetch tarballs.\n";
++# }
+
+ for my $package (@packages) {
+
+@@ -158,18 +161,19 @@
+ # Remove any previous version.
+ unlink $package;
+
+- if ($downloadUsing eq 'lwp') {
+-
+- LWP::Simple::getstore("$SOURCE/$package?view=auto", $package);
+-
+- } elsif ($downloadUsing eq 'curl') {
+-
+- `$downloadUsing --silent -o $package $SOURCE/$package?view=auto`;
+-
+- } else {
+-
+- `$downloadUsing -q -O $package $SOURCE/$package?view=auto`;
+- }
++# if ($downloadUsing eq 'lwp') {
++#
++# LWP::Simple::getstore("$SOURCE/$package?view=auto", $package);
++#
++# } elsif ($downloadUsing eq 'curl') {
++#
++# `$downloadUsing --silent -o $package $SOURCE/$package?view=auto`;
++#
++# } else {
++#
++# `$downloadUsing -q -O $package $SOURCE/$package?view=auto`;
++# }
++ `cp %%DISTDIR%%/$package .`;
+
+ unless (-r $package) {
+ print "Something looks wrong - I couldn't read $pwd/$package, which I just downloaded.\n";
diff --git a/audio/slimserver/files/patch-Slim_Music_Info.pm b/audio/slimserver/files/patch-Slim_Music_Info.pm
deleted file mode 100644
index 4e319721b072..000000000000
--- a/audio/slimserver/files/patch-Slim_Music_Info.pm
+++ /dev/null
@@ -1,14 +0,0 @@
-
-$FreeBSD$
-
---- Slim/Music/Info.pm.orig Fri Jul 2 18:46:03 2004
-+++ Slim/Music/Info.pm Sun Aug 15 15:06:37 2004
-@@ -312,7 +312,7 @@
- # Setup $dbname regardless of if we're caching as cache could be turned on later
-
- if (Slim::Utils::OSDetect::OS() eq 'unix') {
-- $dbname = '.slimserver.db';
-+ $dbname = 'slimserver.db';
- } else {
- $dbname ='slimserver.db';
- }
diff --git a/audio/slimserver/files/patch-Slim_Utils_Prefs.pm b/audio/slimserver/files/patch-Slim_Utils_Prefs.pm
index 866f1c52387a..679efe703b3a 100644
--- a/audio/slimserver/files/patch-Slim_Utils_Prefs.pm
+++ b/audio/slimserver/files/patch-Slim_Utils_Prefs.pm
@@ -3,16 +3,18 @@ $FreeBSD$
--- Slim/Utils/Prefs.pm.orig
+++ Slim/Utils/Prefs.pm
-@@ -59,6 +59,8 @@
- $path = $ENV{'HOME'} . '/Music/Playlists';
- } elsif (Slim::Utils::OSDetect::OS() eq 'win') {
+@@ -99,6 +99,10 @@
+
$path = $Bin . '/Playlists';
+
+ } elsif (Slim::Utils::OSDetect::OS() eq 'unix') {
++
+ $path = "/var/db/slimserver/playlists";
++
} else {
+
$path = '';
- }
-@@ -72,7 +74,7 @@
+@@ -126,7 +130,7 @@
if ($os eq 'mac') {
$CacheDir = catdir($ENV{'HOME'}, '/Library/Caches/SlimServer');
} elsif ($os eq 'unix') {
@@ -21,7 +23,7 @@ $FreeBSD$
}
my @CacheDirs = splitdir($CacheDir);
pop @CacheDirs;
-@@ -605,7 +607,7 @@
+@@ -702,7 +706,7 @@
} elsif (Slim::Utils::OSDetect::OS() eq 'win') {
$prefsPath = $Bin;
} else {
diff --git a/audio/slimserver/pkg-install b/audio/slimserver/files/pkg-install.in
index a4141e4262fa..9b720496981e 100644
--- a/audio/slimserver/pkg-install
+++ b/audio/slimserver/files/pkg-install.in
@@ -1,5 +1,5 @@
#!/bin/sh
-# $FreeBSD$
+# $FreeBSD: /tmp/pcvs/ports/audio/slimserver/files/Attic/pkg-install.in,v 1.1 2005-04-21 05:17:02 brooks Exp $
name=slimserver
u=slimserv
@@ -8,6 +8,7 @@ ugid=104
homedir=/nonexistent
shell=/sbin/nologin
comment="Slim Devices SlimServer pseudo-user"
+slimdir="%%PREFIX%%/%%SLIMDIR%%"
statedir=/var/db/slimserver
cachedir=${statedir}/cache
playlistdir=${statedir}/playlists
@@ -61,5 +62,12 @@ POST-INSTALL)
echo "$logcomment" >> ${newsyslogfile}
echo "$logline" >> ${newsyslogfile}
fi
+ for file in %%CONFFILES%%; do
+ path="${slimdir}/${file}"
+ if [ ! -e ${path} ]; then
+ cp ${path}.sample ${path}
+ chmod 644 ${path}
+ fi
+ done
;;
esac
diff --git a/audio/slimserver/files/pm2port b/audio/slimserver/files/pm2port
deleted file mode 100644
index ece1e6e648ac..000000000000
--- a/audio/slimserver/files/pm2port
+++ /dev/null
@@ -1,41 +0,0 @@
-Audio-Musepack,
-Audio-WMA,
-Audio-Wav,
-Class-Accessor,Class/Accessor.pm:devel/p5-Class-Accessor
-Class-Accessor-Chained,Class/Accessor/Chained.pm:devel/p5-Class-Accessor-Chained
-Class-DBI,Class/DBI.pm:databases/p5-Class-DBI
-Class-DBI-AbstractSearch,Class/DBI/AbstractSearch.pm:databases/p5-Class-DBI-AbstractSearch
-Class-DBI-Pager,Class/DBI/Pager.pm:databases/p5-Class-DBI-Pager
-Class-DBI-Plugin,
-Class-DBI-Plugin-AbstractCount,
-Class-DBI-Plugin-CountSearch,
-Class-DBI-Plugin-RetrieveAll,Class/DBI/Plugin/RetrieveAll.pm:databases/p5-Class-DBI-Plugin-RetrieveAll
-Class-DBI-Cacheable,
-Class-Data-Inheritable,Class/Data/Inheritable.pm:devel/p5-Class-Data-Inheritable
-Class-Trigger,Class/Trigger.pm:devel/p5-Class-Trigger
-Class-WhiteHole,Class/WhiteHole.pm:devel/p5-Class-WhiteHole
-DBIx-ContextualFetch,DBIx/ContextualFetch.pm:databases/p5-DBIx-ContextualFetch
-Date-Page,Data/Page.pm:databases/p5-Data-Page
-File-Spec,File/Spec.pm:devel/p5-File-Spec
-File-Temp,_builtin
-File-Which,File/Which.pm:sysutils/p5-File-Which
-HTML-Parser,${PERL_ARCH}/HTML/Parser.pm:www/p5-HTML-Parser
-IO-String,IO/String.pm:devel/p5-IO-String
-Ima-DBI,Ima/DBI.pm:databases/p5-Ima-DBI
-LWP,Bundle/LWP.pm:www/p5-libwww
-MIME-Base64,${PERL_ARCH}/MIME/Base64.pm:converters/p5-MIME-Base64
-MP3-Info,MP3/Info.pm:audio/p5-MP3-Info
-MP4-Info,
-Net-DNS,Net/DNS/ZoneFile/Fast.pm:dns/p5-Net-DNS-ZoneFile-Fast
-Ogg-Vorbis-Header-PurePerl,
-SQL-Abstract,SQL/Abstract.pm:databases/p5-SQL-Abstract
-SQL-Statement,SQL/Statement.pm:databases/p5-SQL-Statement
-Template-Toolkit,${PERL_ARCH}/Template.pm:www/p5-Template-Toolkit
-Tie-RegexpHash,
-Time-HiRes,${PERL_ARCH}/Time/HiRes.pm:devel/p5-Time-HiRes
-UNIVERSAL-moniker,UNIVERSAL/moniker.pm:devel/p5-UNIVERSAL-moniker
-URI,URI.pm:net/p5-URI
-XML-NamespaceSupport,XML/NamespaceSupport.pm:textproc/p5-XML-NamespaceSupport
-XML-SAX,XML/SAX.pm:textproc/p5-XML-SAX
-XML-Simple,XML/Simple.pm:textproc/p5-XML-Simple
-_slim,
diff --git a/audio/slimserver/files/slimserver.sh.in b/audio/slimserver/files/slimserver.sh.in
index 18f2381edf9f..91838a060462 100644
--- a/audio/slimserver/files/slimserver.sh.in
+++ b/audio/slimserver/files/slimserver.sh.in
@@ -21,9 +21,12 @@ stop_cmd="slimserver_stop"
rcvar=`set_rcvar`
command=%%PREFIX%%/%%SLIMDIR%%/slimserver.pl
-pidfile=/var/run/${name}.pid
-conffile=/var/db/slimserver/slimserver.conf
+pidfile=/var/run/slimserver/${name}.pid
logfile=/var/log/slimserver.log
+statedir=/var/db/slimserver
+cachedir=${statedir}/cache
+playlistdir=${statedir}/playlists
+conffile=${statedir}/slimserver.conf
u=slimserv
g=slimserv
command_args="--daemon --prefsfile=${conffile} --logfile=${logfile} --user=${u} --group=${g} --pidfile=${pidfile}"
@@ -32,9 +35,29 @@ PGREP=%%PGREPBASE%%/bin/pgrep
slimserver_start_precmd()
{
+ if [ ! -d ${statedir} ]; then
+ mkdir -p ${statedir}
+ chown -R ${u}:${g} ${statedir}
+ fi
+ if [ ! -d ${cachedir} ]; then
+ mkdir -p ${cachedir}
+ chown -R ${u}:${g} ${cachedir}
+ fi
+ if [ ! -d ${playlistdir} ]; then
+ mkdir -p ${playlistdir}
+ chown -R ${u}:${g} ${playlistdir}
+ fi
+ if [ ! -d /var/run/slimserver ]; then
+ mkdir -p /var/run/slimserver
+ chown -R ${u}:${g} /var/run/slimserver
+ fi
if [ ! -f ${conffile} ]; then
touch ${conffile}
- chown slimserv:slimserv ${conffile}
+ chown ${u}:${g} ${conffile}
+ fi
+ if [ ! -f ${logfile} ]; then
+ touch ${logfile}
+ chown ${u}:${g} ${logfile}
fi
}