diff options
author | brooks <brooks@FreeBSD.org> | 2005-04-21 13:17:02 +0800 |
---|---|---|
committer | brooks <brooks@FreeBSD.org> | 2005-04-21 13:17:02 +0800 |
commit | ae21233b8e7e6cdb2e6bfed70a8e2b84ab2e3fea (patch) | |
tree | 0177b37d8c7334c855901366ac218b55798f88c5 /audio/slimserver | |
parent | c3d05d5fcee6d1cb00dcbee9ac827f985990a81e (diff) | |
download | freebsd-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/Makefile | 76 | ||||
-rw-r--r-- | audio/slimserver/distinfo | 10 | ||||
-rw-r--r-- | audio/slimserver/files/CPANfiles | 304 | ||||
-rw-r--r-- | audio/slimserver/files/patch-Bin_build-perl-modules.pl | 164 | ||||
-rw-r--r-- | audio/slimserver/files/patch-Slim_Music_Info.pm | 14 | ||||
-rw-r--r-- | audio/slimserver/files/patch-Slim_Utils_Prefs.pm | 14 | ||||
-rw-r--r-- | audio/slimserver/files/pkg-install.in (renamed from audio/slimserver/pkg-install) | 10 | ||||
-rw-r--r-- | audio/slimserver/files/pm2port | 41 | ||||
-rw-r--r-- | audio/slimserver/files/slimserver.sh.in | 29 |
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 } |