# Generated by go2rpm 1.19.0 %bcond check 1 # https://github.com/navidrome/navidrome %global goipath github.com/navidrome/navidrome Version: 0.60.2 %gometa -L -f Name: navidrome Release: %autorelease Summary: Modern Music Server and Streamer compatible with Subsonic/Airsonic # Generated by go-vendor-tools License: Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause AND GPL-3.0-only AND ISC AND LGPL-2.1-only AND MIT AND MIT-0 AND MPL-2.0 AND Zlib URL: %{gourl} Source0: %{gosource} # Generated by go-vendor-tools Source1: %{archivename}-vendor.tar.bz2 Source2: go-vendor-tools.toml Source3: navidrome.service Source4: navidrome.sysusers Source5: navidrome.toml Patch0: 0001-Fix-Makefile-for-packaging.patch Patch1: 0002-Fix-about-version-number-for-packaging.patch BuildRequires: go-vendor-tools BuildRequires: nodejs24, /usr/bin/node, /usr/bin/npm BuildRequires: taglib-devel, zlib-devel, zlib BuildRequires: make, gcc, gcc-c++ BuildRequires: systemd-units BuildRequires: systemd-rpm-macros Requires: systemd-units Requires: zlib Requires: ffmpeg Requires: taglib %{?sysusers_requires_compat} %description Navidrome is an open source web-based music collection server and streamer. It gives you freedom to listen to your music collection from any browser or mobile device. %prep %goprep -p1 tar -xf %{S:1} %generate_buildrequires %go_vendor_license_buildrequires -c %{S:2} %build export NODE_OPTIONS="--max-old-space-size=8192" make setup make buildjs %global gomodulesmode GO111MODULE=on # Allow pkg-config option '--define-prefix' # https://go.dev/wiki/InvalidFlag export CGO_CFLAGS_ALLOW='.*define-prefix.*' export GO_LDFLAGS="-X github.com/navidrome/navidrome/consts.gitSha=%{version}-%{release} -X github.com/navidrome/navidrome/consts.gitTag=%{version}-%{release}" export GO_BUILDTAGS="netgo" %gobuild -o %{gobuilddir}/bin/navidrome %{goipath} %install %go_vendor_license_install -c %{S:2} install -m 0755 -vd %{buildroot}%{_bindir} install -m 0755 -vp %{gobuilddir}/bin/* %{buildroot}%{_bindir}/ install -m 0755 -vd %{buildroot}%{_unitdir} install -m 0755 -vd %{buildroot}%{_sysconfdir}/%{name} install -m 0755 -vd %{buildroot}%{_sharedstatedir}/%{name}/{data,music} install -p -m 0644 %{SOURCE3} %{buildroot}%{_unitdir}/%{name}.service install -p -D -m 0644 %{SOURCE4} %{buildroot}%{_sysusersdir}/%{name}.conf install -p -m 0644 %{SOURCE5} %{buildroot}%{_sysconfdir}/%{name}/%{name}.toml %pre %sysusers_create_compat %{SOURCE2} %check %go_vendor_license_check -c %{S:2} %if %{with check} %gotest ./... %endif %files -f %{go_vendor_license_filelist} %doc CODE_OF_CONDUCT.md CONTRIBUTING.md README.md contrib/k8s/README.md %doc core/agents/README.md examples plugins/README.md %doc plugins/capabilities/README.md plugins/cmd/ndpgen/README.md %doc plugins/pdk/go/README.md plugins/pdk/rust/README.md %doc plugins/pdk/rust/nd-pdk-host/README.md resources/banner.txt %doc scanner/README.md ui/public/robots.txt ui/src/themes/README.md %license LICENSE %{_bindir}/%{name} %{_unitdir}/%{name}.service %{_sysusersdir}/%{name}.conf %config(noreplace) %{_sysconfdir}/%{name}/%{name}.toml %dir %{_sharedstatedir}/%{name} %changelog %autochangelog