nixpkgs/pkgs/by-name/lm/lms/package.nix

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

91 lines
2.5 KiB
Nix
Raw Normal View History

2024-04-14 23:50:32 +01:00
{
lib,
stdenv,
fetchFromGitHub,
makeWrapper,
cmake,
pkg-config,
gtest,
boost,
wt,
taglib,
libconfig,
libarchive,
graphicsmagick,
ffmpeg,
zlib,
libSM,
libICE,
2024-07-03 17:30:14 +01:00
stb,
2024-09-07 22:53:18 +01:00
openssl,
2024-04-14 23:50:32 +01:00
}:
stdenv.mkDerivation rec {
pname = "lms";
2024-09-24 12:12:57 +01:00
version = "3.58.0";
2024-09-07 22:53:18 +01:00
2024-04-14 23:50:32 +01:00
src = fetchFromGitHub {
owner = "epoupon";
repo = "lms";
rev = "v${version}";
2024-09-24 12:12:57 +01:00
hash = "sha256-sWlD/n9Qjwiu/UfZrxRxwv2rc4XwRZN35fyjIriGZPY=";
2024-04-14 23:50:32 +01:00
};
strictDeps = true;
nativeBuildInputs = [
cmake
pkg-config
makeWrapper
];
buildInputs = [
gtest
boost
wt
taglib
libconfig
libarchive
graphicsmagick
ffmpeg
zlib
libSM
libICE
2024-07-03 17:30:14 +01:00
stb
2024-09-07 22:53:18 +01:00
openssl
2024-04-14 23:50:32 +01:00
];
postPatch = ''
substituteInPlace src/lms/main.cpp --replace-fail "/etc/lms.conf" "$out/share/lms/lms.conf"
substituteInPlace src/tools/recommendation/LmsRecommendation.cpp --replace-fail "/etc/lms.conf" "$out/share/lms/lms.conf"
substituteInPlace src/tools/db-generator/LmsDbGenerator.cpp --replace-fail "/etc/lms.conf" "$out/share/lms/lms.conf"
substituteInPlace src/tools/cover/LmsCover.cpp --replace-fail "/etc/lms.conf" "$out/share/lms/lms.conf"
'';
postInstall = ''
substituteInPlace $out/share/lms/lms.conf --replace-fail "/usr/bin/ffmpeg" "${ffmpeg}/bin/ffmpeg"
substituteInPlace $out/share/lms/lms.conf --replace-fail "/usr/share/Wt/resources" "${wt}/share/Wt/resources"
substituteInPlace $out/share/lms/lms.conf --replace-fail "/usr/share/lms/docroot" "$out/share/lms/docroot"
substituteInPlace $out/share/lms/lms.conf --replace-fail "/usr/share/lms/approot" "$out/share/lms/approot"
substituteInPlace $out/share/lms/default.service --replace-fail "/usr/bin/lms" "$out/bin/lms"
install -Dm444 $out/share/lms/default.service -T $out/lib/systemd/system/lmsd.service
'';
preFixup = ''
wrapProgram $out/bin/lms \
--prefix LD_LIBRARY_PATH : "${lib.strings.makeLibraryPath [libSM libICE]}"
wrapProgram $out/bin/lms-metadata \
--prefix LD_LIBRARY_PATH : "${lib.strings.makeLibraryPath [libSM libICE]}"
wrapProgram $out/bin/lms-recommendation \
--prefix LD_LIBRARY_PATH : "${lib.strings.makeLibraryPath [libSM libICE]}"
'';
2024-09-07 22:53:18 +01:00
meta = {
2024-04-14 23:50:32 +01:00
homepage = "https://github.com/epoupon/lms";
treewide: add meta.changelog (#346488) * guix: add meta.changelog * zile: add meta.changelog * zoom: add meta.changelog * zotify: add meta.changelog * zpaqfranz: add meta.changelog * zunit: add meta.changelog * zxwing-cpp: add meta.changelog * zxpy: add meta.changelog * zydis: add meta.changelog * zziplib: add meta.changelog * j: add meta.changelog * kyua: add meta.changelog * json2ts: add meta.changelog * igir: add meta.changelog * ios-webkit-debug-proxy: add meta.changelog * gpaste: add meta.changelog * polkit_gnome: add meta.changelog * papers: add meta.changelog * libmsgraph: add meta.changelog * quadrapassel: add meta.changelog * gnome-nibbles: add meta.changelog * decibels: add meta.changelog * libgedit-amtk: add meta.changelog * simple-scan: add meta.changelog * gnome-klotski: add meta.changelog * gnome-sound-recorder: add meta.changelog * gnome-remote-desktop: add meta.changelog * gnome-robots: add meta.changelog * gnome-shell-extensions: add meta.changelog * gnome-panel: add meta.changelog * gnome-session: add meta.changelog * gnome-keyring: add meta.changelog * devhelp: add meta.changelog * libgnome-keyring: add meta.changelog * ghex: add meta.changelog * gnome-connections: add meta.changelog * lightsoff: add meta.changelog * gnome-flashback: add meta.changelog * livi: add meta.changelog * mutter: add meta.changelog * hitori: add meta.changelog * gnome-initial-setup: add meta.changelog * gnome-bluetooth: add meta.changelog * gnome-shell: add meta.changelog * gnome-sudoku: add meta.changelog * ideamaker: add meta.changelog * i2p: add meta.changelog * lms: add meta.changelog * adwaita-icon-theme: add meta.changelog * gnome-applets: add meta.changelog * flac123: add meta.changelog * flaca: add meta.changelog * flameshot: add meta.changelog * flaresolverr: add meta.changelog * a52dec: add meta.changelog * hexbinhex: add meta.changelog * dwl: add meta.changelog * msolve: add meta.changelog * jcli: add meta.changelog * nmap: add meta.changelog * nmapsi4: add meta.changelog * labctl: add meta.changelog * _1oom: add meta.changelog * libipuz: add meta.changelog * metacity: add meta.changelog * sushi: add meta.changelog * rygel: add meta.changelog * zenity: add meta.changelog * crosswords: add meta.changelog * gnome-mahjongg: add meta.changelog * alacarte: add meta.changelog * loupe: add meta.changelog * cheese: add meta.changelog * atomix: add meta.changelog * swell-foop: add meta.changelog * alfis: add meta.changelog * aperture: add meta.changelog * atomic-swap: add meta.changelog * besu: add meta.changelog * bisq: add meta.changelog * bitcoin-abc: add meta.changelog * bitcoin-knots: add meta.changelog * bitcd: add meta.changelog * btcdeb: add meta.changelog * btcpayserver: add meta.changelog * 86box: add meta.changelog * darling: add meta.changelog * dosbox: add meta.changelog * firebird-emu: add meta.changelog * maiko: add meta.changelog * accerciser: add meta.changelog * adwaita-icon-theme-legacy: add meta.changelog * dconf-editor: add meta.changelog * eog: add meta.changelog * evolution-data-server: add meta.changelog * file-roller: add meta.changelog * four-in-a-row: add meta.changelog * gdm: add meta.changelog * geary: add meta.changelog * gitg: add meta.changelog * gnome2048: add meta.changelog * gnome-backgrounds: add meta.changelog * gnome-text-editor: add meta.changelog * gnome-tour: add meta.changelog * gnome-user-share: add meta.changelog * gxml: add meta.changelog * tali: add meta.changelog * totem: add meta.changelog * mobile-broadband-provider-info: add meta.changelog * avr: add meta.changelog * brev-cli: add meta.changelog * juce: add meta.changelog * loc: add meta.changelog * resholve: add meta.changelog * rpiboot: add meta.changelog * gerbera: add meta.changelog * kdocker: add meta.changelog * pmenu: add meta.changelog * advancecomp: add meta.changelog * adriconf: add meta.changelog * interception-tools: add meta.changelog * nabi: add meta.changelog * gorilla-cli: add meta.changelog * heygpt: add meta.changelog * 6tunnel: add meta.changelog * aria2: add meta.changelog * logmein-hamachi: add meta.changelog * maphosts: add meta.changelog * qcal: add meta.changelog * adreaper: add meta.changelog * aflplusplus: add meta.changelog * aide: add meta.changelog * cameradar: add meta.changelog * wpscan: add meta.changelog * aha: add meta.changelog * xcat: add meta.changelog
2024-10-04 20:35:12 +01:00
changelog = "https://github.com/epoupon/lms/releases/tag/${src.rev}";
2024-04-14 23:50:32 +01:00
description = "Lightweight Music Server - Access your self-hosted music using a web interface";
2024-09-07 22:53:18 +01:00
license = lib.licenses.gpl3Plus;
platforms = lib.platforms.linux;
2024-04-14 23:50:32 +01:00
mainProgram = "lms";
2024-09-07 22:53:18 +01:00
maintainers = with lib.maintainers; [ mksafavi ];
2024-04-14 23:50:32 +01:00
};
}