fork
Configure Feed
Select the types of activity you want to include in your feed.
lol
fork
Configure Feed
Select the types of activity you want to include in your feed.
1{ stdenv, buildPerlPackage, fetchurl, fetchpatch, makeWrapper
2, perl, perlPackages, flac, faad2, sox, lame, monkeysAudio, wavpack }:
3
4buildPerlPackage rec {
5 name = "slimserver-${version}";
6 version = "7.9.1";
7
8 src = fetchurl {
9 url = "https://github.com/Logitech/slimserver/archive/${version}.tar.gz";
10 sha256 = "0szp5zkmx2b5lncsijf97asjnl73fyijkbgbwkl1i7p8qnqrb4mp";
11 };
12
13 patches = [ (fetchpatch {
14 url = "https://github.com/Logitech/slimserver/pull/204.patch";
15 sha256 = "0n1c8nsbvqkmwj5ivkcxh1wkqqm1lwymmfz9i47ih6ifj06hkpxk";
16 } ) ];
17
18 buildInputs = [
19 makeWrapper
20 perl
21 perlPackages.AnyEvent
22 perlPackages.AudioScan
23 perlPackages.CarpClan
24 perlPackages.CGI
25 perlPackages.ClassXSAccessor
26 perlPackages.DataDump
27 perlPackages.DataURIEncode
28 perlPackages.DBDSQLite
29 perlPackages.DBI
30 perlPackages.DBIxClass
31 perlPackages.DigestSHA1
32 perlPackages.EV
33 perlPackages.ExporterLite
34 perlPackages.FileBOM
35 perlPackages.FileCopyRecursive
36 perlPackages.FileNext
37 perlPackages.FileReadBackwards
38 perlPackages.FileSlurp
39 perlPackages.FileWhich
40 perlPackages.HTMLParser
41 perlPackages.HTTPCookies
42 perlPackages.HTTPDaemon
43 perlPackages.HTTPMessage
44 perlPackages.ImageScale
45 perlPackages.IOSocketSSL
46 perlPackages.IOString
47 perlPackages.JSONXSVersionOneAndTwo
48 perlPackages.LogLog4perl
49 perlPackages.LWP
50 perlPackages.NetHTTP
51 perlPackages.ProcBackground
52 perlPackages.SubName
53 perlPackages.TemplateToolkit
54 perlPackages.TextUnidecode
55 perlPackages.TieCacheLRU
56 perlPackages.TieCacheLRUExpires
57 perlPackages.TieRegexpHash
58 perlPackages.TimeDate
59 perlPackages.URI
60 perlPackages.URIFind
61 perlPackages.UUIDTiny
62 perlPackages.XMLParser
63 perlPackages.XMLSimple
64 perlPackages.YAMLLibYAML
65 ];
66
67
68 prePatch = ''
69 mkdir CPAN_used
70 # slimserver doesn't work with current DBIx/SQL versions, use bundled copies
71 mv CPAN/DBIx CPAN/SQL CPAN_used
72 rm -rf CPAN
73 rm -rf Bin
74 touch Makefile.PL
75 '';
76
77 preConfigurePhase = "";
78
79 buildPhase = ''
80 mv lib tmp
81 mkdir -p lib/perl5/site_perl
82 mv CPAN_used/* lib/perl5/site_perl
83 cp -rf tmp/* lib/perl5/site_perl
84 '';
85
86 doCheck = false;
87
88 installPhase = ''
89 cp -r . $out
90 wrapProgram $out/slimserver.pl \
91 --prefix PATH : "${stdenv.lib.makeBinPath [ lame flac faad2 sox monkeysAudio wavpack ]}"
92 '';
93
94 outputs = [ "out" ];
95
96 meta = with stdenv.lib; {
97 homepage = https://github.com/Logitech/slimserver;
98 description = "Server for Logitech Squeezebox players. This server is also called Logitech Media Server";
99 # the firmware is not under a free license!
100 # https://github.com/Logitech/slimserver/blob/public/7.9/License.txt
101 license = licenses.unfree;
102 maintainers = [ maintainers.phile314 ];
103 platforms = platforms.linux;
104 };
105}