Projects
home:gcomes.pmbs:dsnote
speechnote
speechnote.spec
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File speechnote.spec of Package speechnote
# # spec file for package speechnote # # Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # %define aname dsnote %define __provides_exclude ^(libRHVoice.*\\.so.*|libaprilasr\\.so.*|libbergamot_api.*\\.so.*|libclblast\\.so.*|libespeak-ng\\.so.*|libkenlm\\.so.*|libonnxruntime\\.so.*|libstt\\.so.*|libtensorflowlite\\.so.*|libtflitedelegates\\.so.*|libvosk\\.so.*|libwhisper-.*\\.so.*)$ %define __requires_exclude ^(libRHVoice.*\\.so.*|libaprilasr\\.so.*|libbergamot_api.*\\.so.*|libclblast\\.so.*|libespeak-ng\\.so.*|libkenlm\\.so.*|libonnxruntime\\.so.*|libstt\\.so.*|libtensorflowlite\\.so.*|libtflitedelegates\\.so.*|libvosk\\.so.*|libwhisper-.*\\.so.*|libamdhip64\\.so.*|libhipblas\\.so.*|librocblas\\.so.*)$ %if 0%{?suse_version} < 1600 %define pythons python311 %define isLeap15 %nil %else %define pythons python3 %undefine isLeap15 %endif %bcond_with amd %bcond_with nvidia1 %bcond_with mkl Name: speechnote Version: 4.6.1 Release: 0 Summary: App for note taking, reading and translating URL: https://github.com/mkiol/dsnote License: MPL-2.0 Group: Productivity/Office/Other Source: %aname-%version.tar.gz Source1: sources.tar.gz #Source2: opencl-v2024.05.08-20240921.tar.xz Source3: clblast-1.2.0_rc1-20240921.tar.xz Source4: rhvoice-1.14.0-20240923.tar.zst Source5: bergamot-v0.3.1-20240923.tar.zst Source6: pythonmodules.tar.gz Source7: CTranslate2-4.3.1.tar.xz Source8: pythonamd.tar.gz Source9: pythonnvidia.tar.gz Source10: %name.rpmlintrc Source11: README.SUSE Source12: openfst.patch Source13: cudnn-linux-x86_64-8.9.2.26_cuda12-archive.tar.xz Source14: nccl-2.21.5-1-x86_64.pkg.tar.zst Patch0: parallel-build.patch BuildRequires: cmake BuildRequires: gcc-c++ BuildRequires: cmake(Qt5LinguistTools) BuildRequires: cmake(Qt5Multimedia) BuildRequires: cmake(Qt5Xml) BuildRequires: cmake(Qt5Sql) BuildRequires: cmake(Qt5QuickControls2) BuildRequires: cmake(Qt5X11Extras) BuildRequires: extra-cmake-modules BuildRequires: pkgconfig(xkbcommon-x11) >= 1.6 BuildRequires: cmake(KF5DBusAddons) BuildRequires: git-core BuildRequires: %{python_module devel} BuildRequires: AppStream BuildRequires: libopenblas_pthreads-devel BuildRequires: libarchive-devel BuildRequires: fmt-devel BuildRequires: xz-devel BuildRequires: %{python_module pybind11-devel} BuildRequires: librubberband-devel BuildRequires: libtag-devel BuildRequires: libnumbertext-devel BuildRequires: libtool BuildRequires: ocl-icd-devel BuildRequires: openvino-devel %if %{defined isLeap15} BuildRequires: libboost_headers1_75_0-devel %else BuildRequires: libboost_headers-devel %endif BuildRequires: chrpath BuildRequires: dos2unix BuildRequires: fdupes BuildRequires: site-config BuildRequires: %{python_module pip} BuildRequires: %{python_module Cython0} BuildRequires: %{python_module wheel} BuildRequires: %{python_module six} BuildRequires: %{python_module Markdown} %if ! %{defined isLeap15} BuildRequires: %{python_module setuptools} BuildRequires: zstd %endif BuildRequires: onednn-devel %if %{with mkl} BuildRequires: intel-oneapi-mkl-devel %endif %if %{with amd} BuildRequires: hip-devel BuildRequires: hipblas-devel BuildRequires: rocblas-devel BuildRequires: rocm-device-libs BuildRequires: hsa-rocr-devel %endif %if %{with nvidia1} BuildRequires: cuda-toolkit-12-4 %endif Recommends: %{name}-python-modules = %{version} %description Speech Note let you take, read and translate notes in multiple languages. It uses Speech to Text, Text to Speech and Machine Translation to do so. Text and voice processing take place entirely offline, locally on your computer, without using a network connection. https://lwn.net/Articles/987315/ %package python-modules Summary: Extra python modules Requires: %{name} = %{version} AutoReqProv: no %description python-modules Python modules for %name %package amd Summary: AMD %{name} files Requires: %{name}-python-modules = %{version} Requires: hipblas Requires: rocblas Requires: hip-runtime-amd Conflicts: %{name}-nvidia AutoReqProv: no %description amd Extensions for AMD hardware acceleration %package nvidia Summary: NVIDIA %{name} files Requires: %{name}-python-modules = %{version} Conflicts: %{name}-amd Requires: cuda-cudart-12-4 Requires: libcublas-12-4 Requires: nvidia-compute-G06 AutoReqProv: no %description nvidia Extensions for NVIDIA hardware acceleration %prep %setup -q -n %{aname}-%{version} %patch -P0 -p1 #do not download libsst sed -i '/DOWNLOAD/d' cmake/libstt.cmake #fst not found sed -i '/set(kaldi_flags/s@$@\n& set(vosk_flags "-O3 -I${external_include_dir}")@' cmake/vosk.cmake sed -i 's@=-O3@=${vosk_flags}@' cmake/vosk.cmake mkdir build external external/pythonsrc tar fx %SOURCE1 -C build tar fx %SOURCE3 -C external ( cd external/clblast ; ./restore-src.sh ; git checkout e3ce21bb937f07b8282dccf4823e2acbdf286d17 ) sed -i '/GIT_REPOSITORY/d;/GIT_TAG/d;/GIT_SHALLOW/d' cmake/whispercpp.cmake #disable opencl sed -i '/Add(opencl/,/^[[:blank:]]*)/d;/configure opencl/d' cmake/whispercpp.cmake tar fx %SOURCE4 -C external ( cd external/rhvoice ; if [[ -f restore-src.sh ]]; then ./restore-src.sh ; git checkout 71a1a830d2d860688ffcbb0d27d4de260136d161 ; fi ) sed -i '/GIT_REPOSITORY/d;/GIT_TAG/d;/GIT_SHALLOW/d' cmake/rhvoice.cmake tar fx %SOURCE5 -C external ( cd external/bergamot ; if [[ -f restore-src.sh ]]; then ./restore-src.sh ; git checkout ada8c3922490cc6a507bcf81fa4882b435595323 ; fi ) mv external/bergamot external/bergamotfallback tar fx %SOURCE5 -C external ( cd external/bergamot ; if [[ -f restore-src.sh ]]; then ./restore-src.sh ; git checkout ada8c3922490cc6a507bcf81fa4882b435595323 ; fi ) sed -i '/GIT_REPOSITORY/d;/GIT_TAG/d;/GIT_SHALLOW/d' cmake/bergamot.cmake tar fx %SOURCE6 -C external/pythonsrc %if %{with amd} tar fx %SOURCE8 -C external/pythonsrc %endif %if %{with nvidia1} tar fx %SOURCE9 -C external/pythonsrc %endif #necessary to build on tumbleweed cp %SOURCE12 patches sed -i '/URL_MD5 .*openfst_checksum/s@$@\n PATCH_COMMAND patch --batch --unified -p1 --directory=<SOURCE_DIR>\n -i ${patches_dir}/openfst.patch ||\n echo "patch cmd failed, likely already patched"@' cmake/vosk.cmake cp %SOURCE11 . sed -i 's@ffmpeg_avcoodec_LIBRARIES@ffmpeg_avcodec_LIBRARIES@' CMakeLists.txt #rpath /usr/share/dsnote/lib sed -i '/-rpath/s@/lib@/share/%{aname}&@' CMakeLists.txt #with site-config installed sed -i '/--prefix=/s@$@ --libdir=<INSTALL_DIR>/lib@' cmake/rnnoise.cmake sed -i '/Add(openfst/,/^)/s@--prefix.*@& --libdir=<INSTALL_DIR>/lib@' cmake/vosk.cmake sed -i '/--prefix=/s@$@ --libdir=<INSTALL_DIR>/lib@' cmake/espeak.cmake sed -i '/--prefix=/s@$@ --libdir=<INSTALL_DIR>/lib@' cmake/xz.cmake sed -i '/--prefix=/s@$@ --libdir=<INSTALL_DIR>/lib@' cmake/libarchive.cmake sed -i '/--prefix=/s@$@ --libdir=<INSTALL_DIR>/lib@' cmake/libnumbertext.cmake #and ffmpeg build enabled sed -i '/Add(lame/,/^)/s@--prefix.*@& --libdir=<INSTALL_DIR>/lib@' cmake/ffmpeg.cmake sed -i '/Add(ogg/,/^)/s@--prefix.*@& --libdir=<INSTALL_DIR>/lib@' cmake/ffmpeg.cmake sed -i '/Add(vorbis/,/^)/s@--prefix.*@& --libdir=<INSTALL_DIR>/lib@' cmake/ffmpeg.cmake #keep executable permission for libs sed -i '/install(.*lib.*\.so/s@install(FILES@install(PROGRAMS@' cmake/install_desktop.cmake #use ccache for hipblas sed -i '/DWHISPER_HIPBLAS/s@^\([[:blank:]]*\).*@&\n\1-DCMAKE_CXX_COMPILER_LAUNCHER=ccache\n\1-DCMAKE_C_COMPILER_LAUNCHER=ccache@' cmake/whispercpp.cmake #use ccache for cublas sed -i '/DGGML_CUDA_ARCHITECTURES/s@^\([[:blank:]]*\).*@&\n\1-DCMAKE_CUDA_COMPILER=/usr/local/cuda/bin/nvcc\n\1-DCMAKE_CUDA_COMPILER_LAUNCHER=ccache@' cmake/whispercpp.cmake %build export PKG_CONFIG_PATH=%{python_sitelib}/pybind11/share/pkgconfig %cmake \ -DCMAKE_BUILD_TYPE=Release \ -DWITH_DESKTOP=ON \ %if %{without nvidia1} -DBUILD_WHISPERCPP_CUBLAS=OFF \ %endif %if %{without amd} -DBUILD_WHISPERCPP_HIPBLAS=OFF \ %endif -DBUILD_WHISPERCPP_OPENVINO=ON \ \ -DBUILD_OPENBLAS=OFF \ -DBUILD_LIBARCHIVE=OFF \ -DBUILD_XZ=OFF \ -DBUILD_FMT=OFF \ -DBUILD_RUBBERBAND=OFF \ -DBUILD_LIBNUMBERTEXT=OFF \ -DBUILD_PYBIND11=OFF \ -DBUILD_FFMPEG=ON \ -DBUILD_TAGLIB=OFF \ -DBUILD_ESPEAK=ON \ -DCMAKE_VERBOSE_MAKEFILE=OFF \ -Wno-dev %cmake_build mkdir aux tar fx %{SOURCE7} -C aux cd aux/CTranslate2-4.3.1 %cmake \ -DCMAKE_BUILD_TYPE=Release \ -DBUILD_CLI=OFF \ -DCUDA_DYNAMIC_LOADING=ON \ -DOPENMP_RUNTIME=COMP \ %if %{with mkl} -DWITH_MKL=ON \ %else -DWITH_MKL=OFF \ %endif -DWITH_DNNL=ON \ -DWITH_RUY=ON \ -DCMAKE_CXX_FLAGS=-msse4.1 \ -DCMAKE_INSTALL_PREFIX=%{_datadir}/%{aname}/python/extensions/cpu \ \ %cmake_build DESTDIR=$PWD/../tmpinst make install cd ../python sed -i '/^ldflags/s@=.*@= ["-Wl,-rpath,%_datadir/%{aname}/python/extensions/cpu/%{_lib}"]@' setup.py CTRANSLATE2_ROOT=$PWD/../tmpinst/%{_datadir}/%{aname}/python/extensions/cpu python%{python_version} setup.py bdist_wheel cd ../../.. %if %{with amd} mkdir auxamd tar fx %{SOURCE7} -C auxamd cd auxamd/CTranslate2-4.3.1 %cmake \ -DCMAKE_BUILD_TYPE=Release \ -DBUILD_CLI=OFF \ -DCUDA_DYNAMIC_LOADING=ON \ -DOPENMP_RUNTIME=COMP \ %if %{with mkl} -DWITH_MKL=ON \ %else -DWITH_MKL=OFF \ %endif -DWITH_DNNL=ON \ -DWITH_RUY=ON \ -DCMAKE_CXX_FLAGS=-msse4.1 \ -DCMAKE_INSTALL_PREFIX=%{_datadir}/%{aname}/python/extensions/amd \ \ %cmake_build DESTDIR=$PWD/../tmpinst make install cd ../python sed -i '/^ldflags/s@=.*@= ["-Wl,-rpath,%_datadir/%{aname}/python/extensions/amd/%{_lib}"]@' setup.py CTRANSLATE2_ROOT=$PWD/../tmpinst/%{_datadir}/%{aname}/python/extensions/amd python%{python_version} setup.py bdist_wheel cd ../../.. %endif %if %{with nvidia1} mkdir auxnvidia tar fx %{SOURCE7} -C auxnvidia cd auxnvidia/CTranslate2-4.3.1 tar fx %SOURCE13 mv cudnn-* cudnn mkdir nccl tar fx %SOURCE14 -C nccl usr/lib %cmake \ -DCMAKE_BUILD_TYPE=Release \ -DBUILD_CLI=OFF \ -DCUDA_DYNAMIC_LOADING=ON \ -DWITH_CUDA=ON \ -DWITH_CUDNN=ON \ -DOPENMP_RUNTIME=COMP \ -DCUDA_ARCH_LIST=5.0 5.2 5.3 6.0 6.1 6.2 7.0 7.2 7.5 8.0 8.6 8.7 8.9 9.0 9.0 \ -DCUDA_NVCC_FLAGS="-Xfatbin=-compress-all -allow-unsupported-compiler" \ %if %{with mkl} -DWITH_MKL=ON \ %else -DWITH_MKL=OFF \ %endif -DWITH_DNNL=ON \ -DWITH_RUY=ON \ -DCMAKE_CXX_FLAGS=-msse4.1 -DTHRUST_IGNORE_CUB_VERSION_CHECK=1 \ -DCMAKE_CUDA_COMPILER_LAUNCHER=ccache \ -DCMAKE_INSTALL_PREFIX=%{_datadir}/%{aname}/python/extensions/nvidia \ \ -DCUDNN_INCLUDE_DIR=$PWD/../cudnn/include \ -DCUDNN_LIBRARIES=$PWD/../cudnn/lib \ \ %cmake_build DESTDIR=$PWD/../tmpinst make install cd ../python sed -i '/^ldflags/s@=.*@= ["-Wl,-rpath,%_datadir/%{aname}/python/extensions/nvidia/%{_lib}"]@' setup.py CTRANSLATE2_ROOT=$PWD/../tmpinst/%{_datadir}/%{aname}/python/extensions/nvidia python%{python_version} setup.py bdist_wheel cd ../../.. %endif %install %cmake_install FLATPAK_DEST=%buildroot%{_datadir}/%{aname}/python export PYTHONPATH=$FLATPAK_DEST/extensions/cpu/%{_lib}/python%{python_version}/site-packages:$FLATPAK_DEST/lib/python%{python_version}/site-packages:$FLATPAK_DEST/%{_lib}/python%{python_version}/site-packages YAMLSRC=$PWD/flatpak/python3-modules-x86-64.yaml [[ -f $YAMLSRC ]] MODSRCDIR=$PWD/external/pythonsrc modules=$(grep -Fe '- name:' $YAMLSRC | awk '{print $3}' | tr '\012' ' ') for m in $modules ; do DSBUILDFLAGS= BUILDMOD=$PWD/python-modules mkdir $BUILDMOD pushd $MODSRCDIR >/dev/null modsrc=$(sed -n "/^ - name: $m\$/,/^ -/p" $YAMLSRC | sed -n "/^ sources:/,/^ [[:alpha:]]/p" | awk '$1=="url:"{print $2}' | sed 's@.*/@@;s@%2B@+@g' | tr '\012' ' ') for a in $modsrc ; do [[ -f $a ]] && ln $a $BUILDMOD done ref=$(sed -n "/^ - name: $m\$/,/^ -/p" $YAMLSRC | sed -n "/^ sources:/,/^ [[:alpha:]]/p" | grep "^ - \*" | sed 's@.*\*@@' | tr '\012' ' ') for n in $ref ; do a=$(sed -n "/\&$n/,/url:/p" $YAMLSRC | awk '$1=="url:"{print $2}' | sed 's@.*/@@;s@%2B@+@g') [[ -f $a ]] && ln $a $BUILDMOD done popd >/dev/null pushd $BUILDMOD >/dev/null #build %if ! %{defined isLeap15} [[ $m = python3-mycroft_mimic3_tts ]] && DSBUILDFLAGS="CFLAGS=-Wno-error=incompatible-pointer-types" %endif eval $(sed -n "/^ - name: $m\$/,/^ -/p" $YAMLSRC | sed -n "/^ build-commands:/,/^ [[:alpha:]]/p" | grep -v '^ [[:alpha:]]' | grep -A4 'pip3 ' | tr -d '\012' | sed "s@- pip3 @$DSBUILDFLAGS pip3 @") #cleanup eval "$(sed -n "/^ - name: $m\$/,/^ -/p" $YAMLSRC | sed -n "/^ cleanup:/,/^ [[:alpha:]]/p" | grep -v '^ [[:alpha:]]' | sed 's@^[[:blank:]]*- @rm -rf $FLATPAK_DEST@;s@/lib/@/lib*/@g')" popd >/dev/null rm -r $BUILDMOD done YAMLSRC=$(dirname $YAMLSRC)/net.mkiol.SpeechNote.yaml cd build/aux/CTranslate2-4.3.1 %cmake_install ( export PYTHONPATH=${FLATPAK_DEST}/extensions/cpu/%{_lib}/python%{python_version}/site-packages:$FLATPAK_DEST/lib/python%{python_version}/site-packages:$FLATPAK_DEST/%{_lib}/python%{python_version}/site-packages rm -rf ${FLATPAK_DEST}/%{_lib}/python%{python_version}/site-packages/ctranslate2* #install m=ctranslate2 eval $(sed -n "/^ - name: $m\$/,/^ -/p" $YAMLSRC | sed -n "/^ post-install:/,/^ [[:alpha:]]/p" | grep -v '^ [[:alpha:]]' | grep -v ' - [^p]' | grep -A4 'pip3 ' | tr -d '\012' | sed "s@- pip3 @pip3 @") #cleanup eval $(sed -n "/^ - name: $m\$/,/^ -/p" $YAMLSRC | sed -n "/^ cleanup:/,/^ [[:alpha:]]/p" | grep -v '^ [[:alpha:]]' | sed 's@^[[:blank:]]*- @rm -rf $FLATPAK_DEST@;s@/lib/@/lib*/@g') ) cd ../../.. %if %{with amd} YAMLSRC=$(dirname $YAMLSRC)/net.mkiol.SpeechNote.Addon.amd.yaml cd build/auxamd/CTranslate2-4.3.1 %cmake_install ( FLATPAK_DEST=$FLATPAK_DEST/extensions/amd export PYTHONPATH=${FLATPAK_DEST}/%{_lib}/python%{python_version}/site-packages:$FLATPAK_DEST/../../lib/python%{python_version}/site-packages:$FLATPAK_DEST/../../%{_lib}/python%{python_version}/site-packages #install m=ctranslate2-amd eval $(sed -n "/^ - name: $m\$/,/^ -/p" $YAMLSRC | sed -n "/^ post-install:/,/^ [[:alpha:]]/p" | grep -v '^ [[:alpha:]]' | grep -v ' - [^p]' | grep -A4 'pip3 ' | tr -d '\012' | sed "s@- pip3 @pip3 @") #cleanup eval $(sed -n "/^ - name: $m\$/,/^ -/p" $YAMLSRC | sed -n "/^ cleanup:/,/^ [[:alpha:]]/p" | grep -v '^ [[:alpha:]]' | sed 's@^[[:blank:]]*- @rm -rf $FLATPAK_DEST@;s@/lib/@/lib*/@g') ) cd ../../.. modules=python3-torch-rocm for m in $modules ; do BUILDMOD=$PWD/python-modules mkdir $BUILDMOD pushd $MODSRCDIR >/dev/null modsrc=$(sed -n "/^ - name: $m\$/,/^ -/p" $YAMLSRC | sed -n "/^ sources:/,/^ [[:alpha:]]/p" | awk '$1=="url:"{print $2}' | sed 's@.*/@@;s@%2B@+@g' | tr '\012' ' ') ln $modsrc $BUILDMOD popd >/dev/null pushd $BUILDMOD >/dev/null ( FLATPAK_DEST=$FLATPAK_DEST/extensions/amd export PYTHONPATH=$FLATPAK_DEST/%{_lib}/python%{python_version}/site-packages:$FLATPAK_DEST/../../lib/python%{python_version}/site-packages:$FLATPAK_DEST/../../%{_lib}/python%{python_version}/site-packages #install eval $(sed -n "/^ - name: $m\$/,/^ -/p" $YAMLSRC | sed -n "/^ build-commands:/,/^ [[:alpha:]]/p" | grep -v '^ [[:alpha:]]' | grep -A4 'pip3 ' | tr -d '\012' | sed "s@- pip3 @pip3 @") #cleanup eval "$(sed -n "/^ - name: $m\$/,/^ -/p" $YAMLSRC | sed -n "/^ cleanup:/,/^ [[:alpha:]]/p" | grep -v '^ [[:alpha:]]' | sed 's@^[[:blank:]]*- @rm -rf $FLATPAK_DEST@;s@/lib/@/lib*/@g')" ) popd >/dev/null rm -r $BUILDMOD done %endif %if %{with nvidia1} YAMLSRC=$(dirname $YAMLSRC)/net.mkiol.SpeechNote.Addon.nvidia.yaml cd build/auxnvidia/CTranslate2-4.3.1 %cmake_install ( FLATPAK_DEST=$FLATPAK_DEST/extensions/nvidia export PYTHONPATH=${FLATPAK_DEST}/%{_lib}/python%{python_version}/site-packages:$FLATPAK_DEST/../../lib/python%{python_version}/site-packages:$FLATPAK_DEST/../../%{_lib}/python%{python_version}/site-packages m=ctranslate2-cuda eval $(sed -n "/^ - name: $m\$/,/^ -/p" $YAMLSRC | sed -n "/^ post-install:/,/^ [[:alpha:]]/p" | grep -v '^ [[:alpha:]]' | grep -v ' - [^p]' | grep -A4 'pip3 ' | tr -d '\012' | sed "s@- pip3 @pip3 @") #cleanup eval $(sed -n "/^ - name: $m\$/,/^ -/p" $YAMLSRC | sed -n "/^ cleanup:/,/^ [[:alpha:]]/p" | grep -v '^ [[:alpha:]]' | sed 's@^[[:blank:]]*- @rm -rf $FLATPAK_DEST@;s@/lib/@/lib*/@g') ) cp -P cudnn/lib/*.so* $FLATPAK_DEST/extensions/nvidia/%{_lib} rm $FLATPAK_DEST/extensions/nvidia/%{_lib}/libcudnn_*train* cp -P nccl/usr/lib/*.so* $FLATPAK_DEST/extensions/nvidia/%{_lib} cd ../../.. modules=python3-torch-cuda for m in $modules ; do BUILDMOD=$PWD/python-modules mkdir $BUILDMOD pushd $MODSRCDIR >/dev/null modsrc=$(sed -n "/^ - name: $m\$/,/^ -/p" $YAMLSRC | sed -n "/^ sources:/,/^ [[:alpha:]]/p" | awk '$1=="url:"{print $2}' | sed 's@.*/@@;s@%2B@+@g' | tr '\012' ' ') ln $modsrc $BUILDMOD popd >/dev/null pushd $BUILDMOD >/dev/null ( FLATPAK_DEST=$FLATPAK_DEST/extensions/nvidia export PYTHONPATH=$FLATPAK_DEST/%{_lib}/python%{python_version}/site-packages:$FLATPAK_DEST/../../lib/python%{python_version}/site-packages:$FLATPAK_DEST/../../%{_lib}/python%{python_version}/site-packages #install eval $(sed -n "/^ - name: $m\$/,/^ -/p" $YAMLSRC | sed -n "/^ build-commands:/,/^ [[:alpha:]]/p" | grep -v '^ [[:alpha:]]' | grep -A4 'pip3 ' | tr -d '\012' | sed "s@- pip3 @pip3 @") #cleanup eval "$(sed -n "/^ - name: $m\$/,/^ -/p" $YAMLSRC | sed -n "/^ cleanup:/,/^ [[:alpha:]]/p" | grep -v '^ [[:alpha:]]' | sed 's@^[[:blank:]]*- @rm -rf $FLATPAK_DEST@;s@/lib/@/lib*/@g')" ) popd >/dev/null rm -r $BUILDMOD done %endif rm -r $FLATPAK_DEST/lib{,64}/python%{python_version}/site-packages/__pycache__ rm -r $FLATPAK_DEST/lib/python%{python_version}/site-packages/pypinyin/__pycache__ rm -r $FLATPAK_DEST/%{_lib}/python%{python_version}/site-packages/pandas/tests rm -r $FLATPAK_DEST/extensions/cpu/%{_lib}/python%{python_version}/site-packages/torch/{test,include} rm $FLATPAK_DEST/%{_lib}/python%{python_version}/site-packages/numpy/*/lib/lib*.a %if %{with amd} rmdir $FLATPAK_DEST/extensions/amd/bin chmod a-x $FLATPAK_DEST/extensions/amd/%{_lib}/python%{python_version}/site-packages/triton/third_party/cuda/include/cuda.h %endif %if %{with nvidia1} rmdir $FLATPAK_DEST/extensions/nvidia/bin rmdir $FLATPAK_DEST/extensions/nvidia/lib/python%{python_version}/site-packages rmdir $FLATPAK_DEST/extensions/nvidia/lib/python%{python_version} rmdir $FLATPAK_DEST/extensions/nvidia/lib chmod a-x $FLATPAK_DEST/extensions/nvidia/%{_lib}/python%{python_version}/site-packages/triton/third_party/cuda/include/cuda.h %endif find $FLATPAK_DEST -name "*.so" -exec strip --strip-unneeded {} \; find $FLATPAK_DEST -name "*.so.*" -exec strip --strip-unneeded {} \; find $FLATPAK_DEST/extensions/cpu/%{_lib}/python%{python_version}/site-packages/torch -type f -perm -a+x -a ! -name "*.so.*" -exec strip --strip-unneeded {} \; chmod a-x $FLATPAK_DEST/lib/python%{python_version}/site-packages/tensorboard/webfiles.zip rm $FLATPAK_DEST/%{_lib}/python%{python_version}/site-packages/.gitignore rm -r $FLATPAK_DEST/share %fdupes %buildroot%_datadir/%{aname}/python mv %buildroot%{_bindir}/%{aname} %buildroot%{_bindir}/%{aname}.exe #main program script SHPRE=%_datadir/%{aname}/python/extensions SHPOST=%{_lib}/python%{python_version}/site-packages echo -e "#!/bin/bash\n\nif [[ -d $SHPRE/amd ]]; then\n export LD_LIBRARY_PATH=\${LD_LIBRARY_PATH:+\$LD_LIBRARY_PATH:}$SHPRE/amd/%{_lib}\n export PYTHONPATH=\${PYTHONPATH:+\$PYTHONPATH:}$SHPRE/amd/$SHPOST\n" >%buildroot%{_bindir}/%{aname} echo -e "elif [[ -d $SHPRE/nvidia ]]; then\n export LD_LIBRARY_PATH=\${LD_LIBRARY_PATH:+\$LD_LIBRARY_PATH:}$SHPRE/nvidia/%{_lib}\n export PYTHONPATH=\${PYTHONPATH:+\$PYTHONPATH:}$SHPRE/nvidia/$SHPOST" >>%buildroot%{_bindir}/%{aname} echo -e "else\n export LD_LIBRARY_PATH=\${LD_LIBRARY_PATH:+\$LD_LIBRARY_PATH:}$SHPRE/cpu/%{_lib}\n export PYTHONPATH=\${PYTHONPATH:+\$PYTHONPATH:}$SHPRE/cpu/$SHPOST\nfi" >>%buildroot%{_bindir}/%{aname} echo -e '\nexport PYTHONPATH=$PYTHONPATH:%_datadir/%{aname}/python/lib/python%{python_version}/site-packages:%_datadir/%{aname}/python/'$SHPOST'\nexec %{aname}.exe "$@"' >>%buildroot%{_bindir}/%{aname} chmod a+x %buildroot%{_bindir}/%{aname} ln -s %aname %buildroot%{_bindir}/%{name} chrpath -r %_datadir/%{aname}/lib %buildroot%_datadir/%aname/bin/espeak-ng chrpath -r %_datadir/%{aname}/lib %buildroot%_datadir/%aname/lib/libstt.so dos2unix %buildroot%_datadir/%aname/share/uroman/bin/* chmod u+x %buildroot%_datadir/%aname/share/uroman/bin/*.pl export NO_BRP_CHECK_RPATH=true %files %doc README.md README.SUSE %license LICENSE %{_bindir}/%{name} %{_bindir}/%{aname} %{_bindir}/%{aname}.exe %{_datadir}/applications/%{aname}.desktop %{_datadir}/dbus-1/services/%{aname}.service %{_datadir}/icons/hicolor/* %{_datadir}/metainfo/%{aname}.metainfo.xml %{_datadir}/%{aname} %if %{with amd} %exclude %{_datadir}/%{aname}/lib/libwhisper-hipblas.so* %endif %if %{with nvidia1} %exclude %{_datadir}/%{aname}/lib/libwhisper-cublas.so* %endif %exclude %{_datadir}/%{aname}/python %files python-modules %{_datadir}/%{aname}/python %if %{with amd} %exclude %{_datadir}/%{aname}/python/extensions/amd %endif %if %{with nvidia1} %exclude %{_datadir}/%{aname}/python/extensions/nvidia %endif %if %{with amd} %files amd %{_datadir}/%{aname}/python/extensions/amd %{_datadir}/%{aname}/lib/libwhisper-hipblas.so* %endif %if %{with nvidia1} %files nvidia %{_datadir}/%{aname}/python/extensions/nvidia %{_datadir}/%{aname}/lib/libwhisper-cublas.so* %endif %changelog
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.