summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorHengjian Jia2023-03-18 21:41:23 +0000
committerHengjian Jia2023-03-18 21:41:23 +0000
commitae5e665e30e6130667bf2de37d9fab58e99629a4 (patch)
tree9905e325452547d350aa236c23116f6bd3507578
parente4c129b0a7c061538d265135e487c0012a4288a9 (diff)
parent4ee00606d41e29963ae0771eff919485dd2443bc (diff)
downloadaur-ae5e665e30e6130667bf2de37d9fab58e99629a4.tar.gz
Update to 2.0.1
-rw-r--r--.SRCINFO26
-rw-r--r--PKGBUILD50
-rw-r--r--use-system-libs.diff165
3 files changed, 231 insertions, 10 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 1fe6cb07b7cf..b38868599dd5 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -3,17 +3,39 @@ pkgbase = python-torchaudio
pkgver = 2.0.1
pkgrel = 1
url = https://github.com/pytorch/audio
- arch = any
+ arch = x86_64
+ arch = i686
license = BSD
makedepends = git
makedepends = python-setuptools
makedepends = cmake
makedepends = ninja
+ makedepends = boost
depends = python
depends = python-pytorch
+ depends = bzip2
+ depends = xz
+ depends = opencore-amr
+ depends = lame
+ depends = libogg
+ depends = libFLAC.so
+ depends = libvorbis
+ depends = opus
+ depends = opusfile
+ depends = zlib
optdepends = python-kaldi-io
conflicts = python-torchaudio-git
source = git+https://github.com/pytorch/audio#tag=v2.0.1
- sha512sums = SKIP
+ source = git+https://github.com/kaldi-asr/kaldi.git
+ source = git+https://github.com/kpu/kenlm.git
+ source = flashlight-text::git+https://github.com/flashlight/text.git
+ source = https://downloads.sourceforge.net/project/sox/sox/14.4.2/sox-14.4.2.tar.bz2
+ source = use-system-libs.diff
+ sha256sums = SKIP
+ sha256sums = SKIP
+ sha256sums = SKIP
+ sha256sums = SKIP
+ sha256sums = 81a6956d4330e75b5827316e44ae381e6f1e8928003c6aa45896da9041ea149c
+ sha256sums = 1dcf13e8893d780ed730121fd607e9ccedfa47e380fd7e594f21b77aa7cd1720
pkgname = python-torchaudio
diff --git a/PKGBUILD b/PKGBUILD
index 6f2c636ee7dc..34cc9cf16626 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -4,27 +4,61 @@
pkgname=python-torchaudio
_pkgname=audio
pkgver=2.0.1
+_sox_ver=14.4.2
pkgrel=1
pkgdesc="Data manipulation and transformation for audio signal processing, powered by PyTorch"
-arch=('any')
+arch=('x86_64' 'i686')
url="https://github.com/pytorch/audio"
license=('BSD')
-depends=('python' 'python-pytorch')
+depends=('python' 'python-pytorch' 'bzip2' 'xz' 'opencore-amr' 'lame' 'libogg' 'libFLAC.so' 'libvorbis' 'opus' 'opusfile' 'zlib')
optdepends=('python-kaldi-io')
-makedepends=('git' 'python-setuptools' 'cmake' 'ninja')
+makedepends=('git' 'python-setuptools' 'cmake' 'ninja' 'boost')
conflicts=('python-torchaudio-git')
-source=("git+$url#tag=v${pkgver}")
-sha512sums=('SKIP')
+source=("git+$url#tag=v${pkgver}"
+ "git+https://github.com/kaldi-asr/kaldi.git"
+ "git+https://github.com/kpu/kenlm.git"
+ "flashlight-text::git+https://github.com/flashlight/text.git"
+ # Files downloaded by ExternalProject_Add
+ "https://downloads.sourceforge.net/project/sox/sox/$_sox_ver/sox-$_sox_ver.tar.bz2"
+ "use-system-libs.diff")
+sha256sums=('SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ '81a6956d4330e75b5827316e44ae381e6f1e8928003c6aa45896da9041ea149c'
+ '1dcf13e8893d780ed730121fd607e9ccedfa47e380fd7e594f21b77aa7cd1720')
prepare() {
cd "$srcdir/${_pkgname}"
- # Use sourceforge url to fetch zlib
- # See https://github.com/pytorch/audio/pull/2297
- # git cherry-pick -n e92a17c35fdff6b0622b0791b43e665c5d05c4b4
+
+ mkdir -p third_party/archives
+ ln -s "$srcdir"/sox-$_sox_ver.tar.bz2 third_party/archives/
+
+ patch -Np1 -i ../use-system-libs.diff
+
+ for dep in bzip2 lzma zlib; do
+ echo "add_library($dep INTERFACE)" > third_party/$dep/CMakeLists.txt
+ done
+
+ git submodule init
+ git config submodule.third_party/kaldi/submodule.url "$srcdir"/kaldi
+ git config submodule.third_party/kenlm/kenlm.url "$srcdir"/kenlm
+ git config submodule.third_party/flashlight-text/submodule.url "$srcdir"/flashlight-text
+ git -c protocol.file.allow=always submodule update third_party/kaldi/submodule
+ git -c protocol.file.allow=always submodule update third_party/kenlm/kenlm
+ git -c protocol.file.allow=always submodule update third_party/flashlight-text/submodule
}
build() {
cd "$srcdir/${_pkgname}"
+
+ # Allow this to build with CUDA, which is not compatible with GCC 12 yet
+ export CUDACXX=/opt/cuda/bin/nvcc
+ export CUDAHOSTCXX=$CXX
+ # Follow architectures used by pytorch
+ # https://github.com/archlinux/svntogit-community/blob/packages/python-pytorch/trunk/PKGBUILD
+ export TORCH_CUDA_ARCH_LIST="5.2;5.3;6.0;6.1;6.2;7.0;7.2;7.5;8.0;8.6;8.9;9.0;9.0+PTX"
+
CUDA_HOME=/opt/cuda/ BUILD_SOX=1 python setup.py build
}
diff --git a/use-system-libs.diff b/use-system-libs.diff
new file mode 100644
index 000000000000..1c83367799a0
--- /dev/null
+++ b/use-system-libs.diff
@@ -0,0 +1,165 @@
+diff --git a/third_party/sox/CMakeLists.txt b/third_party/sox/CMakeLists.txt
+index 50e5cc91..1e841ad4 100644
+--- a/third_party/sox/CMakeLists.txt
++++ b/third_party/sox/CMakeLists.txt
+@@ -17,129 +17,6 @@ set(envs
+ "CFLAGS=-I${INSTALL_DIR}/include -fvisibility=hidden $ENV{CFLAGS}"
+ )
+
+-ExternalProject_Add(amr
+- PREFIX ${CMAKE_CURRENT_BINARY_DIR}
+- DOWNLOAD_DIR ${ARCHIVE_DIR}
+- URL https://sourceforge.net/projects/opencore-amr/files/opencore-amr/opencore-amr-0.1.5.tar.gz
+- URL_HASH SHA256=2c006cb9d5f651bfb5e60156dbff6af3c9d35c7bbcc9015308c0aff1e14cd341
+- PATCH_COMMAND cp ${patch_dir}/config.guess ${patch_dir}/config.sub ${CMAKE_CURRENT_BINARY_DIR}/src/amr/
+- CONFIGURE_COMMAND ${CMAKE_COMMAND} -E env ${envs} ${CMAKE_CURRENT_BINARY_DIR}/src/amr/configure ${COMMON_ARGS}
+- DOWNLOAD_NO_PROGRESS ON
+- LOG_DOWNLOAD ON
+- LOG_UPDATE ON
+- LOG_CONFIGURE ON
+- LOG_BUILD ON
+- LOG_INSTALL ON
+- LOG_MERGED_STDOUTERR ON
+- LOG_OUTPUT_ON_FAILURE ON
+-)
+-
+-ExternalProject_Add(lame
+- PREFIX ${CMAKE_CURRENT_BINARY_DIR}
+- DOWNLOAD_DIR ${ARCHIVE_DIR}
+- URL https://downloads.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gz
+- URL_HASH SHA256=24346b4158e4af3bd9f2e194bb23eb473c75fb7377011523353196b19b9a23ff
+- PATCH_COMMAND cp ${patch_dir}/config.guess ${patch_dir}/config.sub ${CMAKE_CURRENT_BINARY_DIR}/src/lame/
+- CONFIGURE_COMMAND ${CMAKE_COMMAND} -E env ${envs} ${CMAKE_CURRENT_BINARY_DIR}/src/lame/configure ${COMMON_ARGS} --enable-nasm
+- DOWNLOAD_NO_PROGRESS ON
+- LOG_DOWNLOAD ON
+- LOG_UPDATE ON
+- LOG_CONFIGURE ON
+- LOG_BUILD ON
+- LOG_INSTALL ON
+- LOG_MERGED_STDOUTERR ON
+- LOG_OUTPUT_ON_FAILURE ON
+-)
+-
+-ExternalProject_Add(ogg
+- PREFIX ${CMAKE_CURRENT_BINARY_DIR}
+- DOWNLOAD_DIR ${ARCHIVE_DIR}
+- URL https://ftp.osuosl.org/pub/xiph/releases/ogg/libogg-1.3.3.tar.gz
+- URL_HASH SHA256=c2e8a485110b97550f453226ec644ebac6cb29d1caef2902c007edab4308d985
+- PATCH_COMMAND cp ${patch_dir}/config.guess ${patch_dir}/config.sub ${CMAKE_CURRENT_BINARY_DIR}/src/ogg/
+- CONFIGURE_COMMAND ${CMAKE_COMMAND} -E env ${envs} ${CMAKE_CURRENT_BINARY_DIR}/src/ogg/configure ${COMMON_ARGS}
+- DOWNLOAD_NO_PROGRESS ON
+- LOG_DOWNLOAD ON
+- LOG_UPDATE ON
+- LOG_CONFIGURE ON
+- LOG_BUILD ON
+- LOG_INSTALL ON
+- LOG_MERGED_STDOUTERR ON
+- LOG_OUTPUT_ON_FAILURE ON
+-)
+-
+-ExternalProject_Add(flac
+- PREFIX ${CMAKE_CURRENT_BINARY_DIR}
+- DEPENDS ogg
+- DOWNLOAD_DIR ${ARCHIVE_DIR}
+- URL https://ftp.osuosl.org/pub/xiph/releases/flac/flac-1.3.2.tar.xz
+- URL_HASH SHA256=91cfc3ed61dc40f47f050a109b08610667d73477af6ef36dcad31c31a4a8d53f
+- PATCH_COMMAND cp ${patch_dir}/config.guess ${patch_dir}/config.sub ${CMAKE_CURRENT_BINARY_DIR}/src/flac/
+- CONFIGURE_COMMAND ${CMAKE_COMMAND} -E env ${envs} ${CMAKE_CURRENT_BINARY_DIR}/src/flac/configure ${COMMON_ARGS} --with-ogg --disable-cpplibs
+- DOWNLOAD_NO_PROGRESS ON
+- LOG_DOWNLOAD ON
+- LOG_UPDATE ON
+- LOG_CONFIGURE ON
+- LOG_BUILD ON
+- LOG_INSTALL ON
+- LOG_MERGED_STDOUTERR ON
+- LOG_OUTPUT_ON_FAILURE ON
+-)
+-
+-ExternalProject_Add(vorbis
+- PREFIX ${CMAKE_CURRENT_BINARY_DIR}
+- DEPENDS ogg
+- DOWNLOAD_DIR ${ARCHIVE_DIR}
+- URL https://ftp.osuosl.org/pub/xiph/releases/vorbis/libvorbis-1.3.6.tar.gz
+- URL_HASH SHA256=6ed40e0241089a42c48604dc00e362beee00036af2d8b3f46338031c9e0351cb
+- PATCH_COMMAND cp ${patch_dir}/config.guess ${patch_dir}/config.sub ${CMAKE_CURRENT_BINARY_DIR}/src/vorbis/
+- CONFIGURE_COMMAND ${CMAKE_COMMAND} -E env ${envs} ${CMAKE_CURRENT_BINARY_DIR}/src/vorbis/configure ${COMMON_ARGS} --with-ogg
+- DOWNLOAD_NO_PROGRESS ON
+- LOG_DOWNLOAD ON
+- LOG_UPDATE ON
+- LOG_CONFIGURE ON
+- LOG_BUILD ON
+- LOG_INSTALL ON
+- LOG_MERGED_STDOUTERR ON
+- LOG_OUTPUT_ON_FAILURE ON
+-)
+-
+-ExternalProject_Add(opus
+- PREFIX ${CMAKE_CURRENT_BINARY_DIR}
+- DEPENDS ogg
+- DOWNLOAD_DIR ${ARCHIVE_DIR}
+- URL https://ftp.osuosl.org/pub/xiph/releases/opus/opus-1.3.1.tar.gz
+- URL_HASH SHA256=65b58e1e25b2a114157014736a3d9dfeaad8d41be1c8179866f144a2fb44ff9d
+- PATCH_COMMAND cp ${patch_dir}/config.guess ${patch_dir}/config.sub ${CMAKE_CURRENT_BINARY_DIR}/src/opus/
+- CONFIGURE_COMMAND ${CMAKE_COMMAND} -E env ${envs} ${CMAKE_CURRENT_BINARY_DIR}/src/opus/configure ${COMMON_ARGS} --with-ogg
+- DOWNLOAD_NO_PROGRESS ON
+- LOG_DOWNLOAD ON
+- LOG_UPDATE ON
+- LOG_CONFIGURE ON
+- LOG_BUILD ON
+- LOG_INSTALL ON
+- LOG_MERGED_STDOUTERR ON
+- LOG_OUTPUT_ON_FAILURE ON
+-)
+-
+-ExternalProject_Add(opusfile
+- PREFIX ${CMAKE_CURRENT_BINARY_DIR}
+- DEPENDS opus
+- DOWNLOAD_DIR ${ARCHIVE_DIR}
+- URL https://ftp.osuosl.org/pub/xiph/releases/opus/opusfile-0.12.tar.gz
+- URL_HASH SHA256=118d8601c12dd6a44f52423e68ca9083cc9f2bfe72da7a8c1acb22a80ae3550b
+- PATCH_COMMAND cp ${patch_dir}/config.guess ${patch_dir}/config.sub ${CMAKE_CURRENT_BINARY_DIR}/src/opusfile/
+- CONFIGURE_COMMAND ${CMAKE_COMMAND} -E env ${envs} ${CMAKE_CURRENT_BINARY_DIR}/src/opusfile/configure ${COMMON_ARGS} --disable-http
+- DOWNLOAD_NO_PROGRESS ON
+- LOG_DOWNLOAD ON
+- LOG_UPDATE ON
+- LOG_CONFIGURE ON
+- LOG_BUILD ON
+- LOG_INSTALL ON
+- LOG_MERGED_STDOUTERR ON
+- LOG_OUTPUT_ON_FAILURE ON
+-)
+-
+ # OpenMP is by default compiled against GNU OpenMP, which conflicts with the version of OpenMP that PyTorch uses.
+ # See https://github.com/pytorch/audio/pull/1026
+ # TODO: Add flags like https://github.com/suphoff/pytorch_parallel_extension_cpp/blob/master/setup.py
+@@ -171,20 +48,16 @@ set(SOX_OPTIONS
+
+ set(SOX_LIBRARIES
+ ${INSTALL_DIR}/lib/libsox.a
+- ${INSTALL_DIR}/lib/libopencore-amrnb.a
+- ${INSTALL_DIR}/lib/libopencore-amrwb.a
+- ${INSTALL_DIR}/lib/libmp3lame.a
+- ${INSTALL_DIR}/lib/libFLAC.a
+- ${INSTALL_DIR}/lib/libopusfile.a
+- ${INSTALL_DIR}/lib/libopus.a
+- ${INSTALL_DIR}/lib/libvorbisenc.a
+- ${INSTALL_DIR}/lib/libvorbisfile.a
+- ${INSTALL_DIR}/lib/libvorbis.a
+- ${INSTALL_DIR}/lib/libogg.a
+- )
+-
+-set(sox_depends
+- ogg flac vorbis opusfile lame amr
++ -lopencore-amrnb
++ -lopencore-amrwb
++ -lmp3lame
++ -lFLAC
++ -lopusfile
++ -lopus
++ -lvorbisenc
++ -lvorbisfile
++ -lvorbis
++ -logg
+ )
+
+ ExternalProject_Add(sox