-Summary: OpenAL - Open Audio Library
-Summary(pl): OpenAL - Otwarta Biblioteka D¼wiêku
+#
+# Conditional build:
+%bcond_without alsa # ALSA backend
+%bcond_without jack # JACK backend
+%bcond_without pipewire # PipeWire backend
+%bcond_without portaudio # PortAudio backend
+%bcond_without pulseaudio # PulseAudio backend
+%bcond_without rtkit # RTKit support
+%bcond_with sdl # SDL2 backend
+%bcond_with sse2 # force use of SSE2 instructions (x86)
+%bcond_without gui # alsoft-config GUI
+
+%ifarch pentium4 x32 %{x8664}
+%define with_sse2 1
+%endif
+Summary: Open Audio Library
+Summary(pl.UTF-8): Otwarta Biblioteka Dźwięku
Name: OpenAL
-Version: 0.0.6
+Version: 1.23.1
Release: 1
-License: LGPL
-Group: X11/Libraries
-Group(de): X11/Libraries
-Group(es): X11/Bibliotecas
-Group(fr): X11/Librairies
-Group(pl): X11/Biblioteki
-Group(pt_BR): X11/Bibliotecas
-Group(ru): X11/âÉÂÌÉÏÔÅËÉ
-Group(uk): X11/â¦Â̦ÏÔÅËÉ
-Vendor: Loki Entertainment Software - http://www.lokigames.com/
-Source0: ftp://ftp.openal.com/nie-wiem-co-tu-daæ.tar.bz2/%{name}-20011116.tar.bz2
-Source1: ftp://ftp.openal.com/nie-wiem-co-tu-daæ.tar.bz2/%{name}-headers-20011116.tar.bz2
-Patch0: %{name}-stdio.patch
-Patch1: %{name}-include_unconsequency.patch
-Patch2: %{name}-symlinks.patch
-URL: http://www.openal.com/
+License: LGPL v2+
+Group: Libraries
+Source0: https://openal-soft.org/openal-releases/openal-soft-%{version}.tar.bz2
+# Source0-md5: 58a73698288d2787451b61f8f4431513
+Patch0: %{name}-nosse.patch
+URL: http://www.openal.org/
+%{?with_sdl:BuildRequires: SDL2-devel >= 2}
+%{?with_alsa:BuildRequires: alsa-lib-devel}
+BuildRequires: cmake >= 3.0.2
+%{?with_rtkit:BuildRequires: dbus-devel}
+%{?with_jack:BuildRequires: jack-audio-connection-kit-devel}
+BuildRequires: libmysofa-devel
+BuildRequires: libstdc++-devel >= 6:5
+%{?with_pipewire:BuildRequires: pipewire-devel >= 0.3.23}
+BuildRequires: pkgconfig
+%{?with_portaudio:BuildRequires: portaudio-devel}
+%{?with_pulseaudio:BuildRequires: pulseaudio-devel}
+BuildRequires: rpmbuild(macros) >= 1.742
+%if %{with gui}
+BuildRequires: Qt5Core-devel >= 5
+BuildRequires: Qt5Gui-devel >= 5
+BuildRequires: Qt5Widgets-devel >= 5
+BuildRequires: qt5-build >= 5
+%endif
+%{?with_sse2:Requires: cpuinfo(sse2)}
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-%define _noautoreqdep libGL.so.1 libGLU.so.1
-%define _prefix /usr/X11R6
-%define _mandir %{_prefix}/man
-
%description
OpenAL, the Open Audio Library, is a joint effort to create an open,
vendor-neutral, cross-platform API for interactive, primarily
OpenGL, for games and other multimedia applications. OpenAL is already
supported by a number of hardware vendors and developers.
-%description -l pl
-OpenAL, otwarta bibliotela d¼wiêku, to po³±czony wysi³ek w celu
-stworzenia otwartego, niezale¿nego od producentów, miedzyplatformowego
-interfejsu projektowania aplikacji w czê¶ci obs³ugi d¼wiêku.
-Biblioteka adersowana jest do twórców aplikacji i urzytkowników,
-którzy wybieraj± przeno¶ne standardy, jak OpenGL, w grach i
-aplikacjach multimedialnych. OpenAL posiada ju¿ wsparcie wielu
-dostarczycieli sprzêtu i programistów.
-
+%description -l pl.UTF-8
+OpenAL, otwarta biblioteka dźwięku, to połączony wysiłek w celu
+stworzenia otwartego, niezależnego od producentów, międzyplatformowego
+interfejsu projektowania aplikacji w części obsługi dźwięku.
+Biblioteka adresowana jest do twórców aplikacji i użytkowników,
+którzy wybierają przenośne standardy, jak OpenGL, w grach i
+aplikacjach multimedialnych. OpenAL posiada już wsparcie wielu
+dostarczycieli sprzętu i programistów.
%package devel
-Summary: OpenAL development files
-Summary(pl): Pakiet dla Programistów OpenAL
-Group: Development/Building
-Group(de): Entwicklung/Bauen
-Group(pl): Programowanie/Budowanie
-Requires: %{name} = %{version}
+Summary: Headers for OpenAL
+Summary(pl.UTF-8): Pliki nagłówkowe do OpenAL
+Group: Development/Libraries
+Requires: %{name} = %{version}-%{release}
%description devel
-OpenAL header files.
-
-%description devel -l pl
-Pliki nag³ówkowe biblioteki OpenAL.
+Header files for OpenAL-based programs.
+%description devel -l pl.UTF-8
+Pliki nagłówkowe potrzebne przy budowaniu programów opartych na
+OpenAL.
-%package static
-Summary: OpenAL static library
-Summary(pl): Statyczna biblioteka OpenAL
-Group: Development/Building
-Group(de): Entwicklung/Bauen
-Group(pl): Programowanie/Budowanie
-Requires: %{name} = %{version}
+%package gui
+Summary: OpenAL configuration GUI
+Summary(pl.UTF-8): Graficzny interfejs do konfiguracji biblioteki OpenAL
+Group: X11/Applications/Sound
+Requires: %{name} = %{version}-%{release}
+Requires: Qt5Core >= 5
+Requires: Qt5Gui >= 5
+Requires: Qt5Widgets >= 5
-%description static
-OpenAL static library.
-
-%description static -l pl
-Biblioteka OpenAL do statycznego linkowania.
+%description gui
+OpenAL configuration GUI.
+%description gui -l pl.UTF-8
+Graficzny interfejs do konfiguracji biblioteki OpenAL.
%prep
-%setup -q -n %{name} -a 1
-cp -f AL/*.h include/AL/
+%setup -q -n openal-soft-%{version}
%patch0 -p1
-%patch1 -p1
-%patch2 -p1
%build
-CFLAGS="%{rpmcflags} -I%{_includedir} \
- -fexpensive-optimizations -funroll-all-loops \
- -funroll-loops -fomit-frame-pointer \
- -finline-functions -ffast-math "
-export CFLAGS
-
-LDFLAGS="-L%{_libdir}" ; export LDFLAGS
-
-sh ./autogen.sh
-
-./configure --enable-prefix=%{_prefix} \
- --enable-optimization --enable-alsa --enable-sdl \
- --enable-vorbis --enable-smpeg --enable-capture \
- --with-gcc=%{__cc}
+cd build
+%cmake .. \
+ %{!?with_alsa:-DALSOFT_BACKEND_ALSA=OFF} \
+ %{!?with_jack:-DALSOFT_BACKEND_JACK=OFF} \
+ %{cmake_on_off pipewire ALSOFT_BACKEND_PIPEWIRE} \
+ %{!?with_portaudio:-DALSOFT_BACKEND_PORTAUDIO=OFF} \
+ %{!?with_pulseaudio:-DALSOFT_BACKEND_PULSEAUDIO=OFF} \
+ %{cmake_on_off rtkit ALSOFT_RTKIT} \
+ %{?with_sdl:-DALSOFT_BACKEND_SDL2=ON} \
+ %{!?with_sse2:-DALSOFT_ENABLE_SSE2_CODEGEN=OFF} \
+ -DALSOFT_EXAMPLES=OFF \
+ %{!?with_gui:-DALSOFT_NO_CONFIG_UTIL=ON} \
%{__make}
%install
rm -rf $RPM_BUILD_ROOT
-%{__make} -e DESTDIR=$RPM_BUILD_ROOT/%{_prefix}/ install
+install -d $RPM_BUILD_ROOT%{_sysconfdir}/openal
-gzip -9nf TODO NOTES ChangeLog CREDITS COPYING
+%{__make} -C build install \
+ DESTDIR=$RPM_BUILD_ROOT
-cd $RPM_BUILD_ROOT/%{_libdir}
-ln -sf libopenal.so.0.0.6 libopenal.so.0
-ln -sf libopenal.so.0.0.6 libopenal.so
+install -p alsoftrc.sample $RPM_BUILD_ROOT%{_sysconfdir}/openal/alsoft.conf
%clean
rm -rf $RPM_BUILD_ROOT
%postun -p /sbin/ldconfig
%files
-%defattr(-,root,root,755)
-%doc TODO.gz ChangeLog.gz NOTES.gz CREDITS.gz COPYING.gz
-%{_libdir}/*so*
+%defattr(644,root,root,755)
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/openal
+%attr(755,root,root) %{_bindir}/makemhr
+%attr(755,root,root) %{_bindir}/openal-info
+%attr(755,root,root) %{_libdir}/libopenal.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libopenal.so.1
+%{_datadir}/openal
%files devel
%defattr(644,root,root,755)
-%{_includedir}/AL/*
+%attr(755,root,root) %{_libdir}/libopenal.so
+%{_includedir}/AL
+%{_pkgconfigdir}/openal.pc
+%{_libdir}/cmake/OpenAL
-%files static
-%defattr(-,root,root,755)
-%{_libdir}/*.a
+%if %{with gui}
+%files gui
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/alsoft-config
+%endif