Date: Thursday, February 18, 2016 @ 09:18:15 Author: arojas Revision: 162225
archrelease: copy trunk to community-staging-i686, community-staging-x86_64 Added: hedgewars/repos/community-staging-i686/ hedgewars/repos/community-staging-i686/PKGBUILD (from rev 162224, hedgewars/trunk/PKGBUILD) hedgewars/repos/community-staging-i686/hedgewars-ffmpeg3.patch (from rev 162224, hedgewars/trunk/hedgewars-ffmpeg3.patch) hedgewars/repos/community-staging-i686/hedgewars.install (from rev 162224, hedgewars/trunk/hedgewars.install) hedgewars/repos/community-staging-x86_64/ hedgewars/repos/community-staging-x86_64/PKGBUILD (from rev 162224, hedgewars/trunk/PKGBUILD) hedgewars/repos/community-staging-x86_64/hedgewars-ffmpeg3.patch (from rev 162224, hedgewars/trunk/hedgewars-ffmpeg3.patch) hedgewars/repos/community-staging-x86_64/hedgewars.install (from rev 162224, hedgewars/trunk/hedgewars.install) --------------------------------------------------+ community-staging-i686/PKGBUILD | 73 ++++++++++++++++++++ community-staging-i686/hedgewars-ffmpeg3.patch | 76 +++++++++++++++++++++ community-staging-i686/hedgewars.install | 12 +++ community-staging-x86_64/PKGBUILD | 73 ++++++++++++++++++++ community-staging-x86_64/hedgewars-ffmpeg3.patch | 76 +++++++++++++++++++++ community-staging-x86_64/hedgewars.install | 12 +++ 6 files changed, 322 insertions(+) Copied: hedgewars/repos/community-staging-i686/PKGBUILD (from rev 162224, hedgewars/trunk/PKGBUILD) =================================================================== --- community-staging-i686/PKGBUILD (rev 0) +++ community-staging-i686/PKGBUILD 2016-02-18 08:18:15 UTC (rev 162225) @@ -0,0 +1,73 @@ +# $Id$ +# Maintainer: Sergej Pupykin <pupykin.s+a...@gmail.com> +# Contributor: Tinxy <arch at tinx dot eu> + +pkgname=hedgewars +pkgver=0.9.22 +pkgrel=6 +pkgdesc="Turn-based strategy artillery game similiar to Worms" +arch=('i686' 'x86_64') +url="http://hedgewars.org" +license=('GPL' 'custom') +depends=('qt4' 'sdl' 'sdl_mixer' 'sdl_image' 'sdl_net' 'sdl_ttf' 'lua51' 'ffmpeg' 'glut' 'physfs') +makedepends=('fpc' 'cmake' + # haskell specific + 'ghc' + 'haskell-network' + 'haskell-bytestring-show' + 'haskell-utf8-string' + 'haskell-dataenc' + 'haskell-hslogger' + 'haskell-vector' + 'haskell-entropy' + 'haskell-sha' + 'haskell-zlib' + 'haskell-random' + # for scaling the icon + 'imagemagick') +install='hedgewars.install' +source=("http://download.gna.org/hedgewars/${pkgname}-src-${pkgver}.tar.bz2" hedgewars-ffmpeg3.patch) +sha256sums=('b699c8971ff420c3edd6533527ae2e99040f1e79207c9140826945bcf0e62192' + '8c77091440f0e9c6ca365e160f56b2195a573dca206ee29d762ff6a35af84604') + +prepare() { + cd ${pkgname}-src-${pkgver} + sed -i 's|instance NFData (Chan a)$|instance NFData (Chan a) where rnf x = seq x ()|' gameServer/CoreTypes.hs + +# Fix build with ffmpeg 3.0 (Debian) + patch -p1 -i ../hedgewars-ffmpeg3.patch +} + +build() { + cd ${pkgname}-src-${pkgver} + mkdir -p ${srcdir}/bin + ln -sf /usr/bin/lrelease-qt4 ${srcdir}/bin/Qt4::lrelease + export PATH=${srcdir}/bin:${PATH} + cmake \ + -DCMAKE_BUILD_TYPE="Release" \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DDATA_INSTALL_DIR=/usr/share/hedgewars \ + -DNOSERVER=0 \ + . + make + + # resize icon + for _size in 16 32 48 64 128 256; do + convert misc/hedgewars.png -resize ${_size}x${_size} hedgewars_${_size}.png + done +} + +package() { + cd ${pkgname}-src-${pkgver} + make DESTDIR="$pkgdir" install + install -D -m644 Fonts_LICENSE.txt ${pkgdir}/usr/share/licenses/${pkgname}/Fonts_LICENSE.txt + + # install icons + install -D -m644 misc/hedgewars.png ${pkgdir}/usr/share/icons/hicolor/512x512/apps/hedgewars.png + for _size in 16 32 48 64 128 256; do + install -D -m644 hedgewars_${_size}.png ${pkgdir}/usr/share/icons/hicolor/${_size}x${_size}/apps/hedgewars.png + done + rm -rf ${pkgdir}/usr/share/pixmaps + + install -D -m644 share/hedgewars/Data/misc/hedgewars.desktop ${pkgdir}/usr/share/applications/hedgewars.desktop +} Copied: hedgewars/repos/community-staging-i686/hedgewars-ffmpeg3.patch (from rev 162224, hedgewars/trunk/hedgewars-ffmpeg3.patch) =================================================================== --- community-staging-i686/hedgewars-ffmpeg3.patch (rev 0) +++ community-staging-i686/hedgewars-ffmpeg3.patch 2016-02-18 08:18:15 UTC (rev 162225) @@ -0,0 +1,76 @@ +Description: Replace deprecated FFmpeg API +Author: Andreas Cadhalpun <andreas.cadhal...@googlemail.com> +Last-Update: <2015-11-02> + +--- hedgewars-0.9.22-dfsg.orig/QTfrontend/util/LibavInteraction.cpp ++++ hedgewars-0.9.22-dfsg/QTfrontend/util/LibavInteraction.cpp +@@ -106,8 +106,8 @@ LibavInteraction::LibavInteraction() : Q + if (!pCodec->pix_fmts) + continue; + bool yuv420Supported = false; +- for (const PixelFormat* pfmt = pCodec->pix_fmts; *pfmt != -1; pfmt++) +- if (*pfmt == PIX_FMT_YUV420P) ++ for (const AVPixelFormat* pfmt = pCodec->pix_fmts; *pfmt != -1; pfmt++) ++ if (*pfmt == AV_PIX_FMT_YUV420P) + { + yuv420Supported = true; + break; +--- hedgewars-0.9.22-dfsg.orig/hedgewars/avwrapper/avwrapper.c ++++ hedgewars-0.9.22-dfsg/hedgewars/avwrapper/avwrapper.c +@@ -158,7 +158,7 @@ static void AddAudioStream() + else + g_NumSamples = g_pAudio->frame_size; + g_pSamples = (int16_t*)av_malloc(g_NumSamples*g_Channels*sizeof(int16_t)); +- g_pAFrame = avcodec_alloc_frame(); ++ g_pAFrame = av_frame_alloc(); + if (!g_pAFrame) + { + Log("Could not allocate frame\n"); +@@ -241,7 +241,7 @@ static int AddVideoStream() + g_pVideo->time_base.den = g_Framerate.num; + g_pVideo->time_base.num = g_Framerate.den; + //g_pVideo->gop_size = 12; /* emit one intra frame every twelve frames at most */ +- g_pVideo->pix_fmt = PIX_FMT_YUV420P; ++ g_pVideo->pix_fmt = AV_PIX_FMT_YUV420P; + + // set quality + if (g_VQuality > 100) +@@ -299,7 +299,7 @@ static int AddVideoStream() + #endif + return FatalError("Could not open video codec %s", g_pVCodec->long_name); + +- g_pVFrame = avcodec_alloc_frame(); ++ g_pVFrame = av_frame_alloc(); + if (!g_pVFrame) + return FatalError("Could not allocate frame"); + +@@ -317,10 +317,10 @@ static int WriteFrame(AVFrame* pFrame) + // write interleaved audio frame + if (g_pAStream) + { +- VideoTime = (double)g_pVStream->pts.val*g_pVStream->time_base.num/g_pVStream->time_base.den; ++ VideoTime = (double)av_stream_get_end_pts(g_pVStream)*g_pVStream->time_base.num/g_pVStream->time_base.den; + do + { +- AudioTime = (double)g_pAStream->pts.val*g_pAStream->time_base.num/g_pAStream->time_base.den; ++ AudioTime = (double)av_stream_get_end_pts(g_pAStream)*g_pAStream->time_base.num/g_pAStream->time_base.den; + ret = WriteAudioFrame(); + } + while (AudioTime < VideoTime && ret); +@@ -526,14 +526,14 @@ AVWRAP_DECL int AVWrapper_Close() + avcodec_close(g_pVideo); + av_free(g_pVideo); + av_free(g_pVStream); +- av_free(g_pVFrame); ++ av_frame_free(&g_pVFrame); + } + if (g_pAStream) + { + avcodec_close(g_pAudio); + av_free(g_pAudio); + av_free(g_pAStream); +- av_free(g_pAFrame); ++ av_frame_free(&g_pAFrame); + av_free(g_pSamples); + fclose(g_pSoundFile); + } Copied: hedgewars/repos/community-staging-i686/hedgewars.install (from rev 162224, hedgewars/trunk/hedgewars.install) =================================================================== --- community-staging-i686/hedgewars.install (rev 0) +++ community-staging-i686/hedgewars.install 2016-02-18 08:18:15 UTC (rev 162225) @@ -0,0 +1,12 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} Copied: hedgewars/repos/community-staging-x86_64/PKGBUILD (from rev 162224, hedgewars/trunk/PKGBUILD) =================================================================== --- community-staging-x86_64/PKGBUILD (rev 0) +++ community-staging-x86_64/PKGBUILD 2016-02-18 08:18:15 UTC (rev 162225) @@ -0,0 +1,73 @@ +# $Id$ +# Maintainer: Sergej Pupykin <pupykin.s+a...@gmail.com> +# Contributor: Tinxy <arch at tinx dot eu> + +pkgname=hedgewars +pkgver=0.9.22 +pkgrel=6 +pkgdesc="Turn-based strategy artillery game similiar to Worms" +arch=('i686' 'x86_64') +url="http://hedgewars.org" +license=('GPL' 'custom') +depends=('qt4' 'sdl' 'sdl_mixer' 'sdl_image' 'sdl_net' 'sdl_ttf' 'lua51' 'ffmpeg' 'glut' 'physfs') +makedepends=('fpc' 'cmake' + # haskell specific + 'ghc' + 'haskell-network' + 'haskell-bytestring-show' + 'haskell-utf8-string' + 'haskell-dataenc' + 'haskell-hslogger' + 'haskell-vector' + 'haskell-entropy' + 'haskell-sha' + 'haskell-zlib' + 'haskell-random' + # for scaling the icon + 'imagemagick') +install='hedgewars.install' +source=("http://download.gna.org/hedgewars/${pkgname}-src-${pkgver}.tar.bz2" hedgewars-ffmpeg3.patch) +sha256sums=('b699c8971ff420c3edd6533527ae2e99040f1e79207c9140826945bcf0e62192' + '8c77091440f0e9c6ca365e160f56b2195a573dca206ee29d762ff6a35af84604') + +prepare() { + cd ${pkgname}-src-${pkgver} + sed -i 's|instance NFData (Chan a)$|instance NFData (Chan a) where rnf x = seq x ()|' gameServer/CoreTypes.hs + +# Fix build with ffmpeg 3.0 (Debian) + patch -p1 -i ../hedgewars-ffmpeg3.patch +} + +build() { + cd ${pkgname}-src-${pkgver} + mkdir -p ${srcdir}/bin + ln -sf /usr/bin/lrelease-qt4 ${srcdir}/bin/Qt4::lrelease + export PATH=${srcdir}/bin:${PATH} + cmake \ + -DCMAKE_BUILD_TYPE="Release" \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DDATA_INSTALL_DIR=/usr/share/hedgewars \ + -DNOSERVER=0 \ + . + make + + # resize icon + for _size in 16 32 48 64 128 256; do + convert misc/hedgewars.png -resize ${_size}x${_size} hedgewars_${_size}.png + done +} + +package() { + cd ${pkgname}-src-${pkgver} + make DESTDIR="$pkgdir" install + install -D -m644 Fonts_LICENSE.txt ${pkgdir}/usr/share/licenses/${pkgname}/Fonts_LICENSE.txt + + # install icons + install -D -m644 misc/hedgewars.png ${pkgdir}/usr/share/icons/hicolor/512x512/apps/hedgewars.png + for _size in 16 32 48 64 128 256; do + install -D -m644 hedgewars_${_size}.png ${pkgdir}/usr/share/icons/hicolor/${_size}x${_size}/apps/hedgewars.png + done + rm -rf ${pkgdir}/usr/share/pixmaps + + install -D -m644 share/hedgewars/Data/misc/hedgewars.desktop ${pkgdir}/usr/share/applications/hedgewars.desktop +} Copied: hedgewars/repos/community-staging-x86_64/hedgewars-ffmpeg3.patch (from rev 162224, hedgewars/trunk/hedgewars-ffmpeg3.patch) =================================================================== --- community-staging-x86_64/hedgewars-ffmpeg3.patch (rev 0) +++ community-staging-x86_64/hedgewars-ffmpeg3.patch 2016-02-18 08:18:15 UTC (rev 162225) @@ -0,0 +1,76 @@ +Description: Replace deprecated FFmpeg API +Author: Andreas Cadhalpun <andreas.cadhal...@googlemail.com> +Last-Update: <2015-11-02> + +--- hedgewars-0.9.22-dfsg.orig/QTfrontend/util/LibavInteraction.cpp ++++ hedgewars-0.9.22-dfsg/QTfrontend/util/LibavInteraction.cpp +@@ -106,8 +106,8 @@ LibavInteraction::LibavInteraction() : Q + if (!pCodec->pix_fmts) + continue; + bool yuv420Supported = false; +- for (const PixelFormat* pfmt = pCodec->pix_fmts; *pfmt != -1; pfmt++) +- if (*pfmt == PIX_FMT_YUV420P) ++ for (const AVPixelFormat* pfmt = pCodec->pix_fmts; *pfmt != -1; pfmt++) ++ if (*pfmt == AV_PIX_FMT_YUV420P) + { + yuv420Supported = true; + break; +--- hedgewars-0.9.22-dfsg.orig/hedgewars/avwrapper/avwrapper.c ++++ hedgewars-0.9.22-dfsg/hedgewars/avwrapper/avwrapper.c +@@ -158,7 +158,7 @@ static void AddAudioStream() + else + g_NumSamples = g_pAudio->frame_size; + g_pSamples = (int16_t*)av_malloc(g_NumSamples*g_Channels*sizeof(int16_t)); +- g_pAFrame = avcodec_alloc_frame(); ++ g_pAFrame = av_frame_alloc(); + if (!g_pAFrame) + { + Log("Could not allocate frame\n"); +@@ -241,7 +241,7 @@ static int AddVideoStream() + g_pVideo->time_base.den = g_Framerate.num; + g_pVideo->time_base.num = g_Framerate.den; + //g_pVideo->gop_size = 12; /* emit one intra frame every twelve frames at most */ +- g_pVideo->pix_fmt = PIX_FMT_YUV420P; ++ g_pVideo->pix_fmt = AV_PIX_FMT_YUV420P; + + // set quality + if (g_VQuality > 100) +@@ -299,7 +299,7 @@ static int AddVideoStream() + #endif + return FatalError("Could not open video codec %s", g_pVCodec->long_name); + +- g_pVFrame = avcodec_alloc_frame(); ++ g_pVFrame = av_frame_alloc(); + if (!g_pVFrame) + return FatalError("Could not allocate frame"); + +@@ -317,10 +317,10 @@ static int WriteFrame(AVFrame* pFrame) + // write interleaved audio frame + if (g_pAStream) + { +- VideoTime = (double)g_pVStream->pts.val*g_pVStream->time_base.num/g_pVStream->time_base.den; ++ VideoTime = (double)av_stream_get_end_pts(g_pVStream)*g_pVStream->time_base.num/g_pVStream->time_base.den; + do + { +- AudioTime = (double)g_pAStream->pts.val*g_pAStream->time_base.num/g_pAStream->time_base.den; ++ AudioTime = (double)av_stream_get_end_pts(g_pAStream)*g_pAStream->time_base.num/g_pAStream->time_base.den; + ret = WriteAudioFrame(); + } + while (AudioTime < VideoTime && ret); +@@ -526,14 +526,14 @@ AVWRAP_DECL int AVWrapper_Close() + avcodec_close(g_pVideo); + av_free(g_pVideo); + av_free(g_pVStream); +- av_free(g_pVFrame); ++ av_frame_free(&g_pVFrame); + } + if (g_pAStream) + { + avcodec_close(g_pAudio); + av_free(g_pAudio); + av_free(g_pAStream); +- av_free(g_pAFrame); ++ av_frame_free(&g_pAFrame); + av_free(g_pSamples); + fclose(g_pSoundFile); + } Copied: hedgewars/repos/community-staging-x86_64/hedgewars.install (from rev 162224, hedgewars/trunk/hedgewars.install) =================================================================== --- community-staging-x86_64/hedgewars.install (rev 0) +++ community-staging-x86_64/hedgewars.install 2016-02-18 08:18:15 UTC (rev 162225) @@ -0,0 +1,12 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +}