Update to 1.7.6

Signed-off-by: Tom Rix <Tom.Rix@amd.com>
This commit is contained in:
Tom Rix 2025-08-09 12:58:30 -07:00
commit 0087eeebaa
4 changed files with 45 additions and 72 deletions

1
.gitignore vendored
View file

@ -1,3 +1,4 @@
/whisper.cpp-1.5.4.tar.gz
/whisper.cpp-1.6.2.tar.gz
/whisper.cpp-1.7.1.tar.gz
/whisper.cpp-1.7.6.tar.gz

View file

@ -1,62 +0,0 @@
From 62ce17eb08b838fd4ac78d7fc3ece57694aad32a Mon Sep 17 00:00:00 2001
From: Tom Rix <trix@redhat.com>
Date: Sat, 20 Jan 2024 08:00:46 -0500
Subject: [PATCH] Generalize install locations
On Fedora the install location is dependent on the arch
ex/ for x86_64 libraries install to /usr/lib64
So copy how llama-cpp does its install, replacing 'llama' with 'whisper'
in the cmake variables.
Signed-off-by: Tom Rix <trix@redhat.com>
---
CMakeLists.txt | 17 ++++++++++++-----
cmake/DefaultTargetOptions.cmake | 4 ++--
2 files changed, 14 insertions(+), 7 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 567a58d..01e64c4 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -549,12 +549,19 @@ set_target_properties(${TARGET} PROPERTIES PUBLIC_HEADER "ggml.h;whisper.h")
include(GNUInstallDirs)
+set(WHISPER_INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_INCLUDEDIR}
+ CACHE PATH "Location of header files")
+set(WHISPER_LIB_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR}
+ CACHE PATH "Location of library files")
+set(WHISPER_BIN_INSTALL_DIR ${CMAKE_INSTALL_BINDIR}
+ CACHE PATH "Location of binary files")
+
install(TARGETS ${TARGET}
- LIBRARY DESTINATION lib
- ARCHIVE DESTINATION lib/static
- RUNTIME DESTINATION bin
- RESOURCE DESTINATION bin
- PUBLIC_HEADER DESTINATION include
+ LIBRARY DESTINATION "${WHISPER_LIB_INSTALL_DIR}"
+ ARCHIVE DESTINATION "${WHISPER_LIB_INSTALL_DIR}/static"
+ RUNTIME DESTINATION "${WHISPER_BIN_INSTALL_DIR}"
+ RESOURCE DESTINATION "${WHISPER_BIN_INSTALL_DIR}"
+ PUBLIC_HEADER DESTINATION "${WHISPER_INCLUDE_INSTALL_DIR}"
)
#
diff --git a/cmake/DefaultTargetOptions.cmake b/cmake/DefaultTargetOptions.cmake
index b4e93e3..277b99e 100644
--- a/cmake/DefaultTargetOptions.cmake
+++ b/cmake/DefaultTargetOptions.cmake
@@ -12,6 +12,6 @@ target_compile_features(${TARGET}
set_target_properties(${TARGET}
PROPERTIES
EXPORT_COMPILE_COMMANDS ON
- RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin"
- INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib"
+ RUNTIME_OUTPUT_DIRECTORY "${WHISPER_BIN_INSTALL_DIR}"
+ INSTALL_RPATH "${WHISPER_LIB_INSTALL_DIR}"
)
--
2.43.0

View file

@ -1,3 +1 @@
SHA512 (whisper.cpp-1.5.4.tar.gz) = 0375c32bc5a590e6152e1a37059554371ceab99b3c93a733c084cec356c477ab2bc2d78fc0b661104153be0becb41f0edeff68ab762cb51c528309055c141455
SHA512 (whisper.cpp-1.6.2.tar.gz) = 17e0485fb93fdea1a89f584a64db35f05371e0b8710a539f0dffca30bd3a2fff44c72ea754556566ca3cc55415b1e8f2bb868665437f5c93b9ce666b4fe53fb3
SHA512 (whisper.cpp-1.7.1.tar.gz) = 944d8a6e4a770462e77139d918fd1d5b93efca377051d83a584d91164ec73fa50b5bfbc7d85014151b3b5c80fa59cfd386e456960401f8b3c66a9788585cac46
SHA512 (whisper.cpp-1.7.6.tar.gz) = 7e0ec9d6afe234afaaa83d7d69051504252c27ecdacbedf3d70992429801bcd1078794a0bb76cf4dafb74131dd0f506bd24c3f3100815c35b8ac2b12336492ef

View file

@ -8,13 +8,11 @@ License: MIT
# examples/whisper.android/gradlew*
# These are not distributed
Version: 1.7.1
Version: 1.7.6
Release: %autorelease
URL: https://github.com/ggerganov/whisper.cpp
Source0: %{url}/archive/refs/tags/v%{version}.tar.gz#/whisper.cpp-%{version}.tar.gz
# https://github.com/ggerganov/whisper.cpp/pull/1791
# Patch0: 0001-Generalize-install-locations.patch
ExclusiveArch: x86_64 aarch64 ppc64le
%global toolchain clang
@ -28,8 +26,18 @@ ExclusiveArch: x86_64 aarch64 ppc64le
%bcond_with openvino
%endif
%bcond_with test
%if %{with test}
%global build_test ON
%else
%global build_test OFF
%endif
%global sover %{version}
BuildRequires: cmake
BuildRequires: clang
BuildRequires: git
%if %{with openvino}
BuildRequires: openvino-devel
%endif
@ -77,25 +85,43 @@ recognition (ASR) model:
%prep
%autosetup -p1 -n whisper.cpp-%{version}
# verson the ggml *.so
sed -i -e 's@POSITION_INDEPENDENT_CODE ON@POSITION_INDEPENDENT_CODE ON SOVERSION ${SOVERSION}@' ggml/src/CMakeLists.txt
# Add SOVERSION to the shared libraries
sed -i -e 's@POSITION_INDEPENDENT_CODE ON@POSITION_INDEPENDENT_CODE ON SOVERSION %{sover}@' src/CMakeLists.txt
sed -i -e 's@POSITION_INDEPENDENT_CODE ON@POSITION_INDEPENDENT_CODE ON SOVERSION %{sover}@' ggml/src/CMakeLists.txt
sed -i -e 's@POSITION_INDEPENDENT_CODE ON@POSITION_INDEPENDENT_CODE ON SOVERSION %{sover}@' ggml/src/ggml-cpu/CMakeLists.txt
sed -i '/target_compile_definitions(${GGML_CPU_NAME} PRIVATE ${ARCH_DEFINITIONS})/a\
set_target_properties(${GGML_CPU_NAME} PROPERTIES POSITION_INDEPENDENT_CODE ON SOVERSION %{sover})' ggml/src/ggml-cpu/CMakeLists.txt
%build
%cmake \
-DWHISPER_BUILD_TESTS=ON \
-DWHISPER_BUILD_EXAMPLES=%{build_test} \
-DWHISPER_BUILD_SERVER=%{build_test} \
-DWHISPER_BUILD_TESTS=%{build_test} \
%if %{with openvino}
-DWHISPER_OPENVINO=1 \
%endif
-DGGML_NATIVE=OFF \
-DGGML_AMX_TILE=OFF \
-DGGML_AMX_INT8=OFF \
-DGGML_AMX_BF16=OFF \
-DGGML_AVX=OFF \
-DGGML_AVX_VNNI=OFF \
-DGGML_AVX2=OFF \
-DGGML_AVX512=OFF \
-DGGML_AVX512_VBMI=OFF \
-DGGML_AVX512_VNNI=OFF \
-DGGML_AVX512_BF16=OFF \
-DGGML_BMI2=OFF \
-DGGML_FMA=OFF \
-DGGML_F16C=OFF
-DGGML_F16C=OFF \
-DGGML_LASX=OFF \
-DGGML_LSX=OFF \
-DGGML_RVV=OFF \
-DGGML_RV_ZFH=OFF \
-DGGML_SSE42=OFF \
-DGGML_XTHEADVECTOR=OFF \
-DGGML_VXE=OFF
%cmake_build
@ -105,21 +131,31 @@ sed -i -e 's@POSITION_INDEPENDENT_CODE ON@POSITION_INDEPENDENT_CODE ON SOVERSION
find %{buildroot} -name 'whisper.pc' -delete
%check
%if %{with test}
# FIXME: Tests have been disabled in upstream sources since v1.7.0
%ctest
%endif
%files
%license LICENSE
%{_libdir}/libggml.so.*
%{_libdir}/libggml-base.so.*
%{_libdir}/libggml-cpu.so.*
%{_libdir}/libwhisper.so.*
%files devel
%doc README.md
%{_includedir}/ggml*.h
%{_includedir}/gguf.h
%{_includedir}/whisper.h
%{_libdir}/libggml.so
%{_libdir}/libggml-base.so
%{_libdir}/libggml-cpu.so
%{_libdir}/libwhisper.so
%dir %{_libdir}/cmake/whisper
%dir %{_libdir}/cmake/ggml
%{_libdir}/cmake/whisper/*.cmake
%{_libdir}/cmake/ggml/*.cmake
%changelog
%autochangelog