From: Jakub Bogusz Date: Fri, 18 Mar 2022 21:14:39 +0000 (+0100) Subject: - updated to 4.20.36; no more autotools, just plain makefiles needing patching X-Git-Tag: auto/th/hpklinux-4.20.36-1 X-Git-Url: http://git.pld-linux.org/gitweb.cgi?a=commitdiff_plain;h=ec6a9b9fea748ee6f1f8bd820484fd82095d13c1;p=packages%2Fhpklinux.git - updated to 4.20.36; no more autotools, just plain makefiles needing patching - added opt patch, removed outdated x32 patch - added python modules --- diff --git a/hpklinux-opt.patch b/hpklinux-opt.patch new file mode 100644 index 0000000..c4c11da --- /dev/null +++ b/hpklinux-opt.patch @@ -0,0 +1,54 @@ +--- hpklinux_4.20.36-g76c09bc/hpi-cli-apps/Makefile.orig 2021-10-19 20:33:01.000000000 +0200 ++++ hpklinux_4.20.36-g76c09bc/hpi-cli-apps/Makefile 2022-03-18 21:47:57.802049088 +0100 +@@ -33,14 +33,16 @@ AR = $(CROSS_COMPILE)ar + LD = $(CROSS_COMPILE)ld + + #WARNFULL_CFLAGS = -Wextra -pedantic -std=gnu99 -Wconversion +-CFLAGS = -pipe -g -O2 -Wall -DHPI_OS_LINUX -DHPI_BUILD_EXCLUDE_ALL_DEPRECATED \ ++CFLAGS += -pipe -Wall -DHPI_OS_LINUX -DHPI_BUILD_EXCLUDE_ALL_DEPRECATED \ + $(WARNFULL_CFLAGS) + + # Find out if this is a 64-bit build +-ar_gcc_arch=$(shell $(CC) -dumpmachine | awk -F- '{ print $$1 }') +-ifeq ($(ar_gcc_arch),x86_64) ++ar_gcc_machine=$(shell $(CC) -dumpmachine) ++ifneq ($(patsubst %gnux32,,$(ar_gcc_machine)),) ++ifeq ($(patsubst x86_64%,,$(ar_gcc_machine)),) + CFLAGS += -D HPI_BUILD_64BIT + endif ++endif + + bins = asihpitest asihpiassert asihpitune asihpirec asihpiplay \ + asi_firmware_updater asihpibl asihpirds asihpi_si4688 +--- hpklinux_4.20.36-g76c09bc/hpi-lib/Makefile.orig 2022-03-18 21:49:00.505042730 +0100 ++++ hpklinux_4.20.36-g76c09bc/hpi-lib/Makefile 2022-03-18 21:49:05.541682110 +0100 +@@ -37,7 +37,7 @@ LIB_VER_INC = 0 + lib-version-suffix = $(LIB_VER_MAJOR).$(LIB_VER_MINOR).$(LIB_VER_INC) + + #WARNFULL_CFLAGS = -Wextra -pedantic -std=gnu99 -Wconversion +-CFLAGS += -ggdb -fPIC -pipe -Wall $(WARNFULL_CFLAGS) \ ++CFLAGS += -fPIC -pipe -Wall $(WARNFULL_CFLAGS) \ + -DHPI_BUILD_DEBUG \ + -DHPI_BUILD_INCLUDE_INTERNAL \ + -DHPI_BUILD_EXCLUDE_ALL_DEPRECATED \ +@@ -51,13 +51,17 @@ dynamic-libs = libhpi.so libhpiudp.so li + libs = $(static-libs) $(dynamic-libs) + + # Find out if this is a 64-bit build +-ar_gcc_arch=$(shell $(CC) -dumpmachine | awk -F- '{ print $$1 }') +-ifeq ($(ar_gcc_arch),x86_64) ++ar_gcc_machine=$(shell $(CC) -dumpmachine) ++ifeq ($(patsubst %gnux32,,$(ar_gcc_machine)),) ++ lib-install-dir-candidates = $(install-prefix)/libx32 ++else ++ifeq ($(patsubst x86_64%,,$(ar_gcc_machine)),) + CFLAGS += -D HPI_BUILD_64BIT +- lib-install-dir-candidates = $(install-prefix)/lib64 $(install-prefix)/lib ++ lib-install-dir-candidates = $(install-prefix)/lib64 + else + lib-install-dir-candidates = $(install-prefix)/lib + endif ++endif + + #### Detect library destination directory + # Use ldconfig to get a list of directories searched for dynamic libraries diff --git a/hpklinux.spec b/hpklinux.spec index 0907cad..e48d15d 100644 --- a/hpklinux.spec +++ b/hpklinux.spec @@ -1,18 +1,34 @@ +# +# Conditional build: +%bcond_without python2 # CPython 2.x module +%bcond_without python3 # CPython 3.x module + Summary: Linux HPI driver for AudioScience audio adapters Summary(pl.UTF-8): Linuksowy sterownik HPI do kart dźwiękowych AudioScience Name: hpklinux -Version: 4.18.03 +Version: 4.20.36 +%define subver g76c09bc Release: 1 License: GPL v2 Group: Applications/Sound #Source0Download: http://www.audioscience.com/internet/download/linux_drivers.htm -Source0: http://audioscience.com/internet/download/drivers/released/v4/18/03/%{name}-%{version}-1.tar.bz2 -# Source0-md5: 41b1c7223c6300493f3f71be57c39133 -Patch0: x32.patch +Source0: http://www.audioscience.com/internet/download/drivers/released/v4/20/36/%{name}_%{version}-%{subver}.tar.gz +# Source0-md5: e99c79747f1e5505f930b159e16abc24 +Patch0: %{name}-opt.patch URL: http://www.audioscience.com/internet/download/linux_drivers.htm BuildRequires: autoconf >= 2.50 BuildRequires: automake BuildRequires: libtool >= 2:1.5 +BuildRequires: rpm-pythonprov +BuildRequires: rpmbuild(macros) >= 1.714 +%if %{with python2} +BuildRequires: python-modules >= 1:2.7 +BuildRequires: python-setuptools +%endif +%if %{with python3} +BuildRequires: python3-modules >= 1:3.4 +BuildRequires: python3-setuptools +%endif Requires: %{name}-libs = %{version}-%{release} BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) @@ -61,27 +77,81 @@ Static HPI library. %description static -l pl.UTF-8 Statyczna biblioteka HPI. +%package -n python-hpi +Summary: Python Linux HPI library +Summary(pl.UTF-8): Biblioteka Linux HPI dla Pythona +Group: Libraries/Python +Requires: %{name}-libs = %{version}-%{release} + +%description -n python-hpi +Python Linux HPI library. + +%description -n python-hpi -l pl.UTF-8 +Biblioteka Linux HPI dla Pythona. + +%package -n python3-hpi +Summary: Python Linux HPI library +Summary(pl.UTF-8): Biblioteka Linux HPI dla Pythona +Group: Libraries/Python +Requires: %{name}-libs = %{version}-%{release} + +%description -n python3-hpi +Python Linux HPI library. + +%description -n python3-hpi -l pl.UTF-8 +Biblioteka Linux HPI dla Pythona. + %prep -%setup -q -n %{name}-%{version}-1 +%setup -q -n %{name}_%{version}-%{subver} %patch0 -p1 %build -%{__libtoolize} -%{__aclocal} -%{__autoconf} -%{__automake} -%configure \ - --disable-kernel-compile \ - --disable-silent-rules \ - --with-firmware=/lib/firmware -%{__make} +CFLAGS="%{rpmcflags} %{rpmcppflags}" \ +%{__make} -C hpi-lib \ + CC="%{__cc}" + +CFLAGS="%{rpmcflags} %{rpmcppflags}" \ +%{__make} -C hpi-cli-apps \ + CC="%{__cc}" + +cd asi-python + +%if %{with python2} +%py_build +%endif + +%if %{with python3} +%py3_build +%endif %install rm -rf $RPM_BUILD_ROOT -%{__make} install \ +%{__make} -C hpi-lib install \ + DESTDIR=$RPM_BUILD_ROOT \ + include-install-dir=%{_includedir}/asihpi \ + lib-install-dir=%{_libdir} + +%{__make} -C hpi-cli-apps install \ DESTDIR=$RPM_BUILD_ROOT \ - INSTALLFIRMWAREPATH=$RPM_BUILD_ROOT/lib/firmware/asihpi + bin-install-dir=%{_bindir} + +%{__make} -C hpi-drv/firmware \ + bin-install-base-path=$RPM_BUILD_ROOT/lib/firmware + +cd asi-python + +%if %{with python2} +%py_install + +%py_postclean +# package only py3 variant +%{__rm} $RPM_BUILD_ROOT%{_bindir}/*.py +%endif + +%if %{with python3} +%py3_install +%endif %clean rm -rf $RPM_BUILD_ROOT @@ -91,7 +161,7 @@ rm -rf $RPM_BUILD_ROOT %files %defattr(644,root,root,755) -%doc README.hpi drvnotes.txt +%doc README.md %attr(755,root,root) %{_bindir}/asi_firmware_updater %attr(755,root,root) %{_bindir}/asihpi* /lib/firmware/asihpi @@ -110,9 +180,6 @@ rm -rf $RPM_BUILD_ROOT %attr(755,root,root) %{_libdir}/libhpi.so %attr(755,root,root) %{_libdir}/libhpimux.so %attr(755,root,root) %{_libdir}/libhpiudp.so -%{_libdir}/libhpi.la -%{_libdir}/libhpimux.la -%{_libdir}/libhpiudp.la %{_includedir}/asihpi %files static @@ -120,3 +187,22 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/libhpi.a %{_libdir}/libhpimux.a %{_libdir}/libhpiudp.a + +%if %{with python2} +%files -n python-hpi +%defattr(644,root,root,755) +%{py_sitescriptdir}/audioscience +%{py_sitescriptdir}/hpi-2.0-py*.egg-info +%endif + +%if %{with python3} +%files -n python3-hpi +%defattr(644,root,root,755) +%attr(755,root,root) %{_bindir}/dab_data.py +%attr(755,root,root) %{_bindir}/dabtest.py +%attr(755,root,root) %{_bindir}/hpicontrol.py +%attr(755,root,root) %{_bindir}/hpimixer.py +%attr(755,root,root) %{_bindir}/hpisave.py +%{py3_sitescriptdir}/audioscience +%{py3_sitescriptdir}/hpi-2.0-py*.egg-info +%endif diff --git a/x32.patch b/x32.patch deleted file mode 100644 index dcc7259..0000000 --- a/x32.patch +++ /dev/null @@ -1,27 +0,0 @@ ---- hpklinux-4.14.07/configure.ac~ -+++ hpklinux-4.14.07/configure.ac -@@ -751,6 +751,7 @@ dnl $ar_gcc_distro = Target Distribution (suse, slackware, etc) - - - AC_MSG_CHECKING(target architecture) -+ar_gcc_machine=`$CC -dumpmachine` - ar_gcc_arch=`$CC -dumpmachine | $AWK -F- "{ print \\$[1] }"` - ar_gcc_distro=`$CC -dumpmachine | $AWK -F- "{ print \\$[2] }"` - AC_MSG_RESULT("distro:$ar_gcc_distro arch:$ar_gcc_arch") -@@ -758,8 +759,16 @@ AC_MSG_RESULT("distro:$ar_gcc_distro arch:$ar_gcc_arch") - AC_SUBST(VENDOR,$ar_gcc_distro) - AC_SUBST(ARCH,$ar_gcc_arch) - if test "$ar_gcc_arch" = "x86_64" ; then -+ case "$ar_gcc_machine" in -+ *-gnux32) -+ AC_SUBST(HPI_64BIT) -+ AC_SUBST(LIB_PATH,libx32) -+ ;; -+ *) - AC_SUBST(HPI_64BIT,"-D HPI_BUILD_64BIT") - AC_SUBST(LIB_PATH,lib64) -+ ;; -+ esac - else - AC_SUBST(HPI_64BIT) - AC_SUBST(LIB_PATH,lib)