Date: Monday, January 5, 2015 @ 11:09:07 Author: alucryd Revision: 125390
FS#43333: vbam 1.8.0.1229-1 Added: vbam/trunk/vbam-ffmpeg2.patch vbam/trunk/vbam-util.patch Modified: vbam/trunk/PKGBUILD --------------------+ PKGBUILD | 68 ++++++++++++++++++++++++++++++--------------------- vbam-ffmpeg2.patch | 34 +++++++++++++++++++++++++ vbam-util.patch | 11 ++++++++ 3 files changed, 85 insertions(+), 28 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2015-01-05 10:04:41 UTC (rev 125389) +++ PKGBUILD 2015-01-05 10:09:07 UTC (rev 125390) @@ -1,32 +1,41 @@ # $Id$ -# Maintainer: Maxime Gauduin <aluc...@gmail.com> +# Maintainer: Maxime Gauduin <aluc...@archlinux.org> # Contributor: Bartłomiej Piotrowski <nos...@bpiotrowski.pl> pkgbase=vbam pkgname=('vbam-cli' 'vbam-gtk' 'vbam-wx') -pkgver=1.8.0.1202 -pkgrel=4 +pkgver=1.8.0.1229 +pkgrel=1 arch=('i686' 'x86_64') url='http://vba-m.com' license=('GPL2') -makedepends=('cmake' 'desktop-file-utils' 'freetype2' 'gtkglextmm' +makedepends=('cmake' 'desktop-file-utils' 'ffmpeg' 'freetype2' 'gtkglextmm' 'imagemagick' 'glew' 'libjpeg' 'libpng' 'libsndfile' 'libxrandr' - 'openal' 'wxgtk2.8' 'zip') + 'openal' 'subversion' 'wxgtk2.8' 'zip') [[ $CARCH == i686 ]] && makedepends+=('nasm') -source=("http://downloads.sourceforge.net/project/vbam/vbam-src/vbam-r${pkgver##*.}-src.tar.bz2" - 'http://downloads.sourceforge.net/sfml/SFML-1.6-sdk-linux-64.tar.gz' +source=("vbam::svn+http://svn.code.sf.net/p/vbam/code/trunk#revision=${pkgver##*.}" + 'http://www.sfml-dev.org/files/SFML-1.6-sdk-linux-64.tar.gz' 'http://www.lonesock.net/files/soil.zip' 'sfml.patch' - 'soil.patch') -sha256sums=('148d866c08d7a810be5c845247d212f1d1d07395f2ccdecef10ad81a76072877' + 'soil.patch' + 'vbam-util.patch' + 'vbam-ffmpeg2.patch') +sha256sums=('SKIP' '05bdc32286ab2ec8cb1ccdafe53f31830284e09e11ebfc3ab3836c99a0d9654b' 'a2305b8d64f6d636e36d669bbdb0ca5445d1345c754b3d61d3f037dad2e5f701' 'c3c2fc48f4edc303ad24d91583a57aef9b7ca3b78de1d6734cb666745fff9bad' - '65705aeef90667bd4e28dd03ac0b43685470f2925b642637b7ff6e2f3acd34c7') + '65705aeef90667bd4e28dd03ac0b43685470f2925b642637b7ff6e2f3acd34c7' + '54515cd8207cc110940c748c9bef801cb160a51071fdedcbea681d9af04bd09e' + '91c468480ba5bfbe208a50dc6118a6229aabd3e9c7d41b0d59454b25014343b0') prepare() { patch -Np0 -i soil.patch patch -Np0 -i sfml.patch + + cd vbam + + patch -Np1 -i ../vbam-util.patch + patch -Np1 -i ../vbam-ffmpeg2.patch sed 's/wxrc/wxrc-2.8/g' -i {po/update_pot.sh,src/wx/CMakeLists.txt} } @@ -44,6 +53,8 @@ popd # Build VBA-M + cd vbam + if [[ -d build ]]; then rm -rf build fi @@ -50,24 +61,25 @@ mkdir build && cd build local _cmakeargs="-DCMAKE_BUILD_TYPE='Release' \ + -DCMAKE_CXX_FLAGS=-I${srcdir}/staging/usr/include \ + -DCMAKE_INSTALL_PREFIX='/usr' \ -DCMAKE_SKIP_RPATH='TRUE' \ - -DCMAKE_INSTALL_PREFIX='/usr' \ - -DCMAKE_CXX_FLAGS=-I${srcdir}/staging/usr/include \ - -DENABLE_GTK='ON' -DENABLE_WX='ON' \ + -DENABLE_GTK='TRUE' -DENABLE_WX='TRUE' \ + -DENABLE_FFMPEG='TRUE' -DENABLE_LINK='TRUE' \ + -DSFML_INCLUDE_DIR='../../staging/usr/include/SFML' \ + -DSFML_AUDIO_INCLUDE_DIR='../../staging/usr/include/SFML/Audio' \ + -DSFML_AUDIO_LIBRARY='../../staging/usr/lib/libsfml-audio-s.a' \ + -DSFML_GRAPHICS_INCLUDE_DIR='../../staging/usr/include/SFML/Graphics' \ + -DSFML_GRAPHICS_LIBRARY='../../staging/usr/lib/libsfml-graphics-s.a' \ + -DSFML_NETWORK_INCLUDE_DIR='../../staging/usr/include/SFML/Network' \ + -DSFML_NETWORK_LIBRARY='../../staging/usr/lib/libsfml-network-s.a' \ + -DSFML_SYSTEM_INCLUDE_DIR='../../staging/usr/include/SFML/System' \ + -DSFML_SYSTEM_LIBRARY='../../staging/usr/lib/libsfml-system-s.a' \ -DwxWidgets_CONFIG_EXECUTABLE='/usr/bin/wx-config-2.8' \ - -DwxWidgets_wxrc_EXECUTABLE='/usr/bin/wxrc-2.8' - -DSFML_INCLUDE_DIR='../staging/usr/include/SFML' \ - -DSFML_AUDIO_INCLUDE_DIR='../staging/usr/include/SFML/Audio' \ - -DSFML_AUDIO_LIBRARY='../staging/usr/lib/libsfml-audio-s.a' \ - -DSFML_GRAPHICS_INCLUDE_DIR='../staging/usr/include/SFML/Graphics' \ - -DSFML_GRAPHICS_LIBRARY='../staging/usr/lib/libsfml-graphics-s.a' \ - -DSFML_NETWORK_INCLUDE_DIR='../staging/usr/include/SFML/Network' \ - -DSFML_NETWORK_LIBRARY='../staging/usr/lib/libsfml-network-s.a' \ - -DSFML_SYSTEM_INCLUDE_DIR='../staging/usr/include/SFML/System' \ - -DSFML_SYSTEM_LIBRARY='../staging/usr/lib/libsfml-system-s.a'" + -DwxWidgets_wxrc_EXECUTABLE='/usr/bin/wxrc-2.8'" if [[ $CARCH == i686 ]]; then - cmake .. ${_cmakeargs} -DENABLE_ASM_{CORE,SCALERS}='ON' + cmake .. ${_cmakeargs} -DENABLE_ASM_{CORE,SCALERS}='TRUE' else cmake .. ${_cmakeargs} fi @@ -79,7 +91,7 @@ depends=('libgl' 'libpng' 'sdl') backup=('etc/vbam.cfg') - cd build + cd vbam/build make DESTDIR="${pkgdir}" install rm -rf "${pkgdir}"/usr/{bin/{g,wx}vbam,share} @@ -91,7 +103,7 @@ conflicts=('vbam-wx') install='vbam-gtk.install' - cd build + cd vbam/build make DESTDIR="${pkgdir}" install rm -rf "${pkgdir}"/{etc,usr/bin/vbam} @@ -100,12 +112,12 @@ package_vbam-wx() { pkgdesc='Nintendo GameBoy Advance emulator' -depends=('wxgtk2.8') +depends=('ffmpeg' 'wxgtk2.8') conflicts=('vbam-gtk') options=('!emptydirs') install='vbam-wx.install' - cd build + cd vbam/build make DESTDIR="${pkgdir}" install rm -rf "${pkgdir}"/{etc,usr/{bin,share}/vbam} Added: vbam-ffmpeg2.patch =================================================================== --- vbam-ffmpeg2.patch (rev 0) +++ vbam-ffmpeg2.patch 2015-01-05 10:09:07 UTC (rev 125390) @@ -0,0 +1,34 @@ +--- vbam/src/common/ffmpeg.cpp.orig 2015-01-05 10:25:47.729542646 +0100 ++++ vbam/src/common/ffmpeg.cpp 2015-01-05 10:34:18.034895901 +0100 +@@ -178,17 +178,31 @@ MediaRet MediaRecorder::setup_video_stre + // make sure RGB is supported (mostly not) + if(codec->pix_fmts) { + const enum PixelFormat *p; ++#if LIBAVCODEC_VERSION_MAJOR < 55 + int64_t mask = 0; ++#endif + for(p = codec->pix_fmts; *p != -1; p++) { + // may get complaints about 1LL; thus the cast ++#if LIBAVCODEC_VERSION_MAJOR < 55 + mask |= ((int64_t)1) << *p; ++#endif + if(*p == pixfmt) + break; + } + if(*p == -1) { + // if not supported, use a converter to the next best format + // this is swscale, the converter used by the output demo ++#if LIBAVCODEC_VERSION_MAJOR < 55 + enum PixelFormat dp = (PixelFormat)avcodec_find_best_pix_fmt(mask, pixfmt, 0, NULL); ++#else ++#if LIBAVCODEC_VERSION_MICRO >= 100 ++// FFmpeg ++ enum AVPixelFormat dp = avcodec_find_best_pix_fmt_of_list(codec->pix_fmts, pixfmt, 0, NULL); ++#else ++// Libav ++ enum AVPixelFormat dp = avcodec_find_best_pix_fmt2(codec->pix_fmts, pixfmt, 0, NULL); ++#endif ++#endif + if(dp == -1) + dp = codec->pix_fmts[0]; + if(!(convpic = avcodec_alloc_frame()) || Added: vbam-util.patch =================================================================== --- vbam-util.patch (rev 0) +++ vbam-util.patch 2015-01-05 10:09:07 UTC (rev 125390) @@ -0,0 +1,11 @@ +--- vbam-1.8.0.1228/src/Util.h ++++ vbam-1.8.0.1228/src/Util.h +@@ -23,6 +23,7 @@ + bool utilIsZipFile(const char *); + void utilStripDoubleExtension(const char *, char *); + IMAGE_TYPE utilFindType(const char *); ++IMAGE_TYPE utilFindType(const char *, char (&)[2048]); + uint8_t *utilLoad(const char *, bool (*)(const char*), uint8_t *, int &); + + void utilPutDword(uint8_t *, uint32_t); +