Name: linuxsampler Version: 2.4.1 Release: 4%{?dist} Summary: Modular, open-source audio sampler License: GPL-2.0-or-later URL: https://www.linuxsampler.org Source0: https://download.linuxsampler.org/packages/%{name}-%{version}.tar.bz2 BuildRequires: gcc-c++ BuildRequires: make BuildRequires: pkgconfig BuildRequires: libgig-devel BuildRequires: libsndfile-devel BuildRequires: alsa-lib-devel BuildRequires: pkgconfig(jack) BuildRequires: uuid-devel BuildRequires: sqlite-devel BuildRequires: readline-devel BuildRequires: ncurses-devel BuildRequires: doxygen BuildRequires: flex BuildRequires: bison BuildRequires: xsltproc BuildRequires: libxslt BuildRequires: libxslt-devel BuildRequires: libxml2 BuildRequires: libxml2-devel BuildRequires: perl-XML-Parser BuildRequires: perl-XML-SAX BuildRequires: perl-XML-NamespaceSupport BuildRequires: lv2-devel BuildRequires: lilv-devel BuildRequires: dssi-devel BuildRequires: ladspa-devel BuildRequires: jack-audio-connection-kit-devel BuildRequires: alsa-lib-devel # Recommends: pipewire-jack-audio-connection-kit Requires: libgig Requires: libsndfile %description LinuxSampler is a modular, open-source audio sampler designed for streaming large instrument libraries. It supports Gigasampler, DLS, and SoundFont2 formats via libgig, and provides ALSA and JACK drivers for low-latency playback. %prep %autosetup -n %{name}-%{version} %build export HAVE_UNIX98=1 export LDFLAGS="$LDFLAGS -L%{_libdir}" # Build in-tree — LinuxSampler does NOT support VPATH builds ./configure \ --prefix=%{_prefix} \ --libdir=%{_libdir} \ --disable-dependency-tracking make %{?_smp_mflags} %install %make_install # Rename lscp binary to avoid conflict with nilfs-utils if [ -f %{buildroot}%{_bindir}/lscp ]; then mv %{buildroot}%{_bindir}/lscp %{buildroot}%{_bindir}/linuxsampler-lscp fi # Rename the man page accordingly # Rename the lscp manpage to avoid conflict with nilfs-utils if ls %{buildroot}%{_mandir}/man1/lscp.1* >/dev/null 2>&1; then for f in %{buildroot}%{_mandir}/man1/lscp.1*; do # Get extension (.1, .1.gz, etc.) ext="${f##*.}" dir="$(dirname "$f")" mv "$f" "$dir/linuxsampler-lscp.$ext" done fi # Fedora guidelines: remove libtool archives find %{buildroot} -name "*.la" -delete %post # Create a top-level symlink to linuxsampler.so.8.0.0 for compatibility if [ -f /usr/lib64/linuxsampler/liblinuxsampler.so.8.0.0 ]; then ln -sf linuxsampler/liblinuxsampler.so.8.0.0 /usr/lib64/liblinuxsampler.so.8 echo "Created symlink: /usr/lib64/liblinuxsampler.so.8 -> linuxsampler/liblinuxsampler.so.8.0.0" else echo "liblinuxsampler.so.8.0.0 not found under /usr/lib64/linuxsampler/" fi %check # Runs make check if defined, otherwise skips %{?__make} check || : %files %license COPYING %doc AUTHORS ChangeLog README %{_bindir}/linuxsampler %{_bindir}/ls_instr_script %{_bindir}/linuxsampler-lscp %{_libdir}/linuxsampler/*.so* %{_libdir}/lv2/linuxsampler.lv2/* %{_libdir}/dssi/linuxsampler.so %{_libdir}/dssi/linuxsampler.a %dir %{_libdir}/linuxsampler %dir %{_libdir}/lv2 %dir %{_libdir}/lv2/linuxsampler.lv2 %{_mandir}/man1/linuxsampler-lscp.1* %{_mandir}/man1/linuxsampler.1* %dir /var/lib/linuxsampler /var/lib/linuxsampler/instruments.db %package devel Summary: Development files for %{name} Requires: %{name}%{?_isa} = %{version}-%{release} %description devel Development headers and pkg-config files for %{name}, required for applications such as QSampler or gigedit. %files devel %{_includedir}/linuxsampler/* %{_libdir}/pkgconfig/linuxsampler.pc %{_libdir}/linuxsampler/*.a %{_libdir}/lv2/linuxsampler.lv2/*.a %changelog * Fri Nov 07 2025 Jim Hines - 2.4.1-1 - Modernized for Fedora 41 (Autotools build) - Added devel subpackage for QSampler and gigedit builds - Renamed lscp binary and manpage to linuxsampler-lscp to avoid conflict with nilfs-utils