diff options
author | Darryl Pogue | 2022-11-05 01:10:31 -0700 |
---|---|---|
committer | Darryl Pogue | 2022-11-05 01:10:31 -0700 |
commit | 65ab0da56e8e00c08f7b8a512160ef9e7c8e95b8 (patch) | |
tree | 903008374f61fb2821b5aff33ead586ab813829a | |
download | aur-65ab0da56e8e00c08f7b8a512160ef9e7c8e95b8.tar.gz |
Initial commit of MinGW libwebm package
-rw-r--r-- | .SRCINFO | 19 | ||||
-rw-r--r-- | .gitignore | 6 | ||||
-rw-r--r-- | PKGBUILD | 62 | ||||
-rw-r--r-- | cmake_install.patch | 86 |
4 files changed, 173 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..62f698bb3720 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,19 @@ +pkgbase = mingw-w64-libwebm + pkgdesc = WebM video file parser + pkgver = 1.0.0.28 + pkgrel = 1 + url = https://www.webmproject.org/ + arch = any + license = BSD + makedepends = cmake + makedepends = mingw-w64-gcc + depends = mingw-w64-crt + options = !strip + options = !buildflags + options = staticlibs + source = https://github.com/webmproject/libwebm/archive/libwebm-1.0.0.28.tar.gz + source = cmake_install.patch + sha256sums = 4df11d93260d3cd9f17c3697b0828d38400a8f87082183368df6a1ae7a9fc635 + sha256sums = 8041827dc63d45c65af9870f2a7958a4be81db8da511f440f89aded8d29d8ca8 + +pkgname = mingw-w64-libwebm diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000000..b0a91a42bc44 --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +/src/ +/pkg/ +*.pkg.tar.xz +*.pkg.tar.zst +*.src.tar.gz +/libwebm-*.tar.gz diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..4e4215598dea --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,62 @@ +# Maintainer: Darryl Pogue <darryl at dpogue dot ca> +# Contributor: Michael Hansen <zrax0111 at gmail dot com> + +pkgname=mingw-w64-libwebm +pkgver=1.0.0.28 +pkgrel=1 +pkgdesc="WebM video file parser" +url="https://www.webmproject.org/" +arch=(any) +license=('BSD') +depends=(mingw-w64-crt) +makedepends=(cmake mingw-w64-gcc) +options=('!strip' '!buildflags' 'staticlibs') +source=("https://github.com/webmproject/libwebm/archive/libwebm-${pkgver}.tar.gz" + cmake_install.patch) +sha256sums=('4df11d93260d3cd9f17c3697b0828d38400a8f87082183368df6a1ae7a9fc635' + '8041827dc63d45c65af9870f2a7958a4be81db8da511f440f89aded8d29d8ca8') + +_architectures="i686-w64-mingw32:x86-mingw-gcc x86_64-w64-mingw32:x86_64-mingw-gcc" + +prepare() { + cd "$srcdir/libwebm-libwebm-$pkgver" + patch -p1 -i ../cmake_install.patch +} + +build() { + cd "$srcdir/libwebm-libwebm-$pkgver" + for _arch in ${_architectures}; do + IFS=':' read -ra ARCH <<< "${_arch}" + mkdir -p build-${ARCH[0]} && pushd build-${ARCH[0]} + cmake \ + -DCMAKE_TOOLCHAIN_FILE=build/${ARCH[1]}.cmake \ + -DCMAKE_INSTALL_PREFIX=/usr/${ARCH[0]} \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_POSITION_INDEPENDENT_CODE=ON \ + -DBUILD_SHARED_LIBS=ON \ + -DENABLE_WEBM_PARSER=ON \ + -DENABLE_WEBMTS=OFF \ + -DENABLE_WEBMINFO=OFF \ + -DENABLE_SAMPLES=OFF \ + -DENABLE_TOOLS=OFF \ + .. + make + popd + done +} + +package() { + for _arch in ${_architectures}; do + IFS=':' read -ra ARCH <<< "${_arch}" + cd "$srcdir/libwebm-libwebm-$pkgver/build-${ARCH[0]}" + make DESTDIR="$pkgdir" install + ${ARCH[0]}-strip --strip-unneeded "$pkgdir"/usr/${ARCH[0]}/bin/*.dll + ${ARCH[0]}-strip -g "$pkgdir"/usr/${ARCH[0]}/lib/*.a + if [[ $NO_EXECUTABLES ]]; then + find "${pkgdir}/usr/${ARCH[0]}" -name '*.exe' -delete + else + find "${pkgdir}/usr/${ARCH[0]}" -name '*.exe' -exec ${ARCH[0]}-strip --strip-all {} \; + fi + install -Dm644 ../LICENSE.TXT $pkgdir/usr/${ARCH[0]}/share/licenses/libwebm/LICENSE + done +} diff --git a/cmake_install.patch b/cmake_install.patch new file mode 100644 index 000000000000..e85e3a9ec1f1 --- /dev/null +++ b/cmake_install.patch @@ -0,0 +1,86 @@ +diff -rupN a/CMakeLists.txt b/CMakeLists.txt +--- a/CMakeLists.txt 2021-04-23 16:34:08.000000000 -0700 ++++ b/CMakeLists.txt 2021-12-27 15:34:25.764905166 -0800 +@@ -330,6 +330,50 @@ add_library(webm ${libwebm_common_source + $<TARGET_OBJECTS:mkvmuxer> + $<TARGET_OBJECTS:mkvparser>) + ++install( ++ TARGETS webm ++ RUNTIME DESTINATION bin ++ ARCHIVE DESTINATION lib ++ LIBRARY DESTINATION lib ++) ++ ++install( ++ FILES ++ mkvmuxer.hpp ++ mkvmuxertypes.hpp ++ mkvmuxerutil.hpp ++ mkvparser.hpp ++ mkvreader.hpp ++ mkvwriter.hpp ++ webmids.hpp ++ DESTINATION ++ include/libwebm ++) ++ ++install( ++ DIRECTORY mkvmuxer/ ++ DESTINATION include/libwebm/mkvmuxer ++ FILES_MATCHING PATTERN "*.h" ++) ++ ++install( ++ DIRECTORY mkvparser/ ++ DESTINATION include/libwebm/mkvparser ++ FILES_MATCHING PATTERN "*.h" ++) ++ ++install( ++ DIRECTORY webvtt/ ++ DESTINATION include/libwebm/webvtt ++ FILES_MATCHING PATTERN "*.h" ++) ++ ++install( ++ DIRECTORY common/ ++ DESTINATION include/libwebm/common ++ FILES_MATCHING PATTERN "*.h" ++) ++ + if (WIN32) + # Use libwebm and libwebm.lib for project and library name on Windows (instead + # webm and webm.lib). +@@ -337,18 +381,22 @@ if (WIN32) + set_target_properties(webm PROPERTIES PREFIX lib) + endif () + +-add_executable(mkvparser_sample ${mkvparser_sample_sources}) +-target_link_libraries(mkvparser_sample LINK_PUBLIC webm) ++if (ENABLE_SAMPLES) ++ add_executable(mkvparser_sample ${mkvparser_sample_sources}) ++ target_link_libraries(mkvparser_sample LINK_PUBLIC webm) + +-add_executable(mkvmuxer_sample ${mkvmuxer_sample_sources} +- $<TARGET_OBJECTS:webvtt_common>) +-target_link_libraries(mkvmuxer_sample LINK_PUBLIC webm) ++ add_executable(mkvmuxer_sample ${mkvmuxer_sample_sources} ++ $<TARGET_OBJECTS:webvtt_common>) ++ target_link_libraries(mkvmuxer_sample LINK_PUBLIC webm) ++endif() + +-add_executable(dumpvtt ${dumpvtt_sources} $<TARGET_OBJECTS:webvtt_common>) +-target_link_libraries(dumpvtt LINK_PUBLIC webm) ++if (ENABLE_TOOLS) ++ add_executable(dumpvtt ${dumpvtt_sources} $<TARGET_OBJECTS:webvtt_common>) ++ target_link_libraries(dumpvtt LINK_PUBLIC webm) + +-add_executable(vttdemux ${vttdemux_sources}) +-target_link_libraries(vttdemux LINK_PUBLIC webm) ++ add_executable(vttdemux ${vttdemux_sources}) ++ target_link_libraries(vttdemux LINK_PUBLIC webm) ++endif() + + if (ENABLE_WEBMINFO) + add_executable(webm_info ${webm_info_sources}) |