diff options
Diffstat (limited to 'main')
-rw-r--r-- | main/freerdp/APKBUILD | 64 | ||||
-rw-r--r-- | main/freerdp/ffmpeg.patch | 39 | ||||
-rw-r--r-- | main/freerdp/ffmpeg2.0.patch | 76 | ||||
-rw-r--r-- | main/freerdp/fix-headers.patch | 10 | ||||
-rw-r--r-- | main/freerdp/futimens.patch | 25 | ||||
-rw-r--r-- | main/freerdp/pluginpath.patch | 11 |
6 files changed, 93 insertions, 132 deletions
diff --git a/main/freerdp/APKBUILD b/main/freerdp/APKBUILD index 63d906e614..bdd2076c68 100644 --- a/main/freerdp/APKBUILD +++ b/main/freerdp/APKBUILD @@ -1,7 +1,8 @@ # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=freerdp -pkgver=1.0.2 -pkgrel=3 +pkgver=1.1.0_beta2013071101 +_ver=${pkgver/_beta/-beta+} +pkgrel=0 pkgdesc="Free RDP client" url="http://freerdp.sourceforge.net" arch="all" @@ -10,14 +11,14 @@ depends="" subpackages="$pkgname-dev $pkgname-plugins $pkgname-libs" makedepends="openssl-dev libxcursor-dev cups-dev alsa-lib-dev ffmpeg-dev cups-dev libxkbfile-dev libxinerama-dev libxv-dev libxdamage-dev + libjpeg-turbo-dev libxi-dev cmake" -source="https://github.com/FreeRDP/FreeRDP/archive/$pkgver.tar.gz - pluginpath.patch - futimens.patch - ffmpeg2.0.patch +source="freerdp-$_ver.tar.gz::https://github.com/FreeRDP/FreeRDP/archive/$_ver.tar.gz + fix-headers.patch + ffmpeg.patch " -_builddir="$srcdir"/FreeRDP-$pkgver +_builddir="$srcdir"/FreeRDP-${_ver/+/-} prepare() { cd "$_builddir" for i in $source; do @@ -33,6 +34,27 @@ build() { cmake -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_INSTALL_LIBDIR=/usr/lib \ + -DWITH_ALSA=ON \ + -DWITH_CUPS=ON \ + -DWITH_CHANNELS=ON -DSTATIC_CHANNELS=OFF \ + -DWITH_DIRECTFB=OFF \ + -DWITH_FFMPEG=OFF \ + -DWITH_GSM=ON \ + -DWITH_GSTREAMER_1_0=ON \ + -DWITH_IPP=OFF \ + -DWITH_JPEG=ON \ + -DWITH_OPENSSL=ON \ + -DWITH_PCSC=OFF \ + -DWITH_PULSE=OFF \ + -DWITH_X11=ON \ + -DWITH_XCURSOR=ON \ + -DWITH_XEXT=ON \ + -DWITH_XKBFILE=ON \ + -DWITH_XI=ON \ + -DWITH_XINERAMA=ON \ + -DWITH_XRENDER=ON \ + -DWITH_XV=ON \ + -DWITH_ZLIB=ON \ || return 1 make } @@ -40,13 +62,18 @@ build() { package() { cd "$_builddir" make DESTDIR="$pkgdir" install || return 1 + # hack + mv "$pkgdir"/usr/lib/libfreerdp-common.so.1.1.0-beta1 \ + "$pkgdir"/usr/lib/libfreerdp-common.so.1.1.0 \ + && ln -s libfreerdp-common.so.1.1.0 \ + "$pkgdir"/usr/lib/libfreerdp-common.so.1.1.0-beta1 } libs() { pkgdesc="Free RDP client - Libraries" replaces="libfreerdp" mkdir -p "$subpkgdir"/usr - mv "$pkgdir"/usr/share "$pkgdir"/usr/lib "$subpkgdir"/usr/ + mv "$pkgdir"/usr/lib "$subpkgdir"/usr/ } plugins() { @@ -56,15 +83,12 @@ plugins() { mv "$pkgdir"/usr/lib/freerdp "$subpkgdir"/usr/lib/ } -md5sums="c260051a94caff590def5caa4fcf59d6 1.0.2.tar.gz -f18b6a675341d8e9755941afd4fc8d82 pluginpath.patch -b9673acd41c4205cd32e5412dcb07515 futimens.patch -1260eecf01ea5212e2db8ac9c5e7fa6d ffmpeg2.0.patch" -sha256sums="c0f137df7ab6fb76d7e7d316ae4e0ca6caf356e5bc0b5dadbdfadea5db992df1 1.0.2.tar.gz -765fc48fc6a044277a2091ec02b7051721374090e9c7c3da4b9b8b7db0f10349 pluginpath.patch -4035df44a9883197c832b6141e9e372db371a8148e5ba3a8c011e543e8d10d3f futimens.patch -d7dbe684404713fc3ec6479a91aa8215e6d28ebb18ea66456134edfa134e3750 ffmpeg2.0.patch" -sha512sums="370b30e05bc125c69fd06583ab747f885e1bf41b47a68c0e326208f22be06e48a4163f4632085767c76aaeabda95b6ab9d285784fd33a73f7d404c9517d54f3c 1.0.2.tar.gz -714d111a6407b0408e8b9cd6acf8df381fe1d2347339d16833980aff61fe0f273f4d506c15bd415174aabe644f56311c990d7d5dfb98f61d6f64e6925e37a11a pluginpath.patch -455e41b8237c01935f6c845f16065bd8667c5b6feba6c9c9ce63544203405686d5da8845fe35eb10a3f725d8f540e5fbafccb9d207f7deea2c17eb447daaaaff futimens.patch -fa67829b6be3703fb2ce38f814265b32331375c46c194fd0677165055ebb4bc53ccbe2011d9ab67be1ed31b29543e6f14f1b11e99268de557664864717d1378e ffmpeg2.0.patch" +md5sums="37259601bb43bb8f04d65f4ce1057582 freerdp-1.1.0-beta+2013071101.tar.gz +56376b2291649957d2c396f809a126a9 fix-headers.patch +cb7604510c737917a8bcb9b94ba29c10 ffmpeg.patch" +sha256sums="f21c8b2e4d9ff09bff392f37c85358d148f79318cdbf031092ed2517edd44c41 freerdp-1.1.0-beta+2013071101.tar.gz +28990b23acd3b0eb59e7e01a8d2a4800009acde1333db4f19898c40559e618c9 fix-headers.patch +5563da187472feb138d824a33d032af3030400a93fd3e38b455f8666cbc7be72 ffmpeg.patch" +sha512sums="d53b283ed4ced3c69a3644c4f1acc7d10c12ba14a2e890d8ad2c78b491bb457f3ca6b03ee7bc1df7019e05033eecf0c35afa5f8550b12caa5492ae6e19adac5f freerdp-1.1.0-beta+2013071101.tar.gz +264b11e5a4d055f53a9fb7cbeda6fd41e2fa6f3e1aaab267edbcedb588e9e9e38c34af2d372f35b0cc0cdffe9cea3bfd0423863856dff0af95cee4728431ee91 fix-headers.patch +981459c347f245b8f2e92c5593b2a5a8d38506196a637435a84e085d4892189127ab176b1ef3748da91b465e1368768bf6917f7da41b0882a7d655324506badb ffmpeg.patch" diff --git a/main/freerdp/ffmpeg.patch b/main/freerdp/ffmpeg.patch new file mode 100644 index 0000000000..5025771d26 --- /dev/null +++ b/main/freerdp/ffmpeg.patch @@ -0,0 +1,39 @@ +--- FreeRDP-1.1.0-beta-2013071101.orig/channels/tsmf/client/ffmpeg/tsmf_ffmpeg.c ++++ FreeRDP-1.1.0-beta-2013071101/channels/tsmf/client/ffmpeg/tsmf_ffmpeg.c +@@ -37,6 +37,10 @@ + #include "tsmf_constants.h" + #include "tsmf_decoder.h" + ++#ifndef AVCODEC_MAX_AUDIO_FRAME_SIZE ++#define AVCODEC_MAX_AUDIO_FRAME_SIZE 192000 ++#endif ++ + /* Compatibility with older FFmpeg */ + #if LIBAVUTIL_VERSION_MAJOR < 50 + #define AVMEDIA_TYPE_VIDEO 0 +@@ -48,7 +52,7 @@ + ITSMFDecoder iface; + + int media_type; +- enum CodecID codec_id; ++ enum AVCodecID codec_id; + AVCodecContext* codec_context; + AVCodec* codec; + AVFrame* frame; +@@ -97,16 +101,6 @@ + mdecoder->codec_context->bit_rate = media_type->BitRate; + mdecoder->codec_context->channels = media_type->Channels; + mdecoder->codec_context->block_align = media_type->BlockAlign; +- +-#ifdef AV_CPU_FLAG_SSE2 +- mdecoder->codec_context->dsp_mask = AV_CPU_FLAG_SSE2 | AV_CPU_FLAG_MMX2; +-#else +-#if LIBAVCODEC_VERSION_MAJOR < 53 +- mdecoder->codec_context->dsp_mask = FF_MM_SSE2 | FF_MM_MMXEXT; +-#else +- mdecoder->codec_context->dsp_mask = FF_MM_SSE2 | FF_MM_MMX2; +-#endif +-#endif + + return TRUE; + } diff --git a/main/freerdp/ffmpeg2.0.patch b/main/freerdp/ffmpeg2.0.patch deleted file mode 100644 index bc9022da47..0000000000 --- a/main/freerdp/ffmpeg2.0.patch +++ /dev/null @@ -1,76 +0,0 @@ -diff -rupN a/channels/drdynvc/tsmf/ffmpeg/tsmf_ffmpeg.c b/channels/drdynvc/tsmf/ffmpeg/tsmf_ffmpeg.c ---- a/channels/drdynvc/tsmf/ffmpeg/tsmf_ffmpeg.c 2013-01-02 22:46:59.000000000 +0100 -+++ b/channels/drdynvc/tsmf/ffmpeg/tsmf_ffmpeg.c 2013-07-22 18:12:18.001576713 +0200 -@@ -28,6 +28,8 @@ - #include "tsmf_constants.h" - #include "tsmf_decoder.h" - -+#define AVCODEC_MAX_AUDIO_FRAME_SIZE 192000 -+ - /* Compatibility with older FFmpeg */ - #if LIBAVUTIL_VERSION_MAJOR < 50 - #define AVMEDIA_TYPE_VIDEO 0 -@@ -39,7 +41,7 @@ typedef struct _TSMFFFmpegDecoder - ITSMFDecoder iface; - - int media_type; -- enum CodecID codec_id; -+ enum AVCodecID codec_id; - AVCodecContext* codec_context; - AVCodec* codec; - AVFrame* frame; -@@ -54,7 +56,7 @@ static boolean tsmf_ffmpeg_init_context( - { - TSMFFFmpegDecoder* mdecoder = (TSMFFFmpegDecoder*) decoder; - -- mdecoder->codec_context = avcodec_alloc_context(); -+ mdecoder->codec_context = avcodec_alloc_context3(NULL); - if (!mdecoder->codec_context) - { - DEBUG_WARN("avcodec_alloc_context failed."); -@@ -88,16 +90,6 @@ static boolean tsmf_ffmpeg_init_audio_st - mdecoder->codec_context->channels = media_type->Channels; - mdecoder->codec_context->block_align = media_type->BlockAlign; - --#ifdef AV_CPU_FLAG_SSE2 -- mdecoder->codec_context->dsp_mask = AV_CPU_FLAG_SSE2 | AV_CPU_FLAG_MMX2; --#else --#if LIBAVCODEC_VERSION_MAJOR < 53 -- mdecoder->codec_context->dsp_mask = FF_MM_SSE2 | FF_MM_MMXEXT; --#else -- mdecoder->codec_context->dsp_mask = FF_MM_SSE2 | FF_MM_MMX2; --#endif --#endif -- - return true; - } - -@@ -174,7 +166,7 @@ static boolean tsmf_ffmpeg_prepare(ITSMF - { - TSMFFFmpegDecoder* mdecoder = (TSMFFFmpegDecoder*) decoder; - -- if (avcodec_open(mdecoder->codec_context, mdecoder->codec) < 0) -+ if (avcodec_open2(mdecoder->codec_context, mdecoder->codec, NULL) < 0) - { - DEBUG_WARN("avcodec_open failed."); - return false; -@@ -372,8 +364,9 @@ static boolean tsmf_ffmpeg_decode_audio( - av_init_packet(&pkt); - pkt.data = (uint8*) src; - pkt.size = src_size; -- len = avcodec_decode_audio3(mdecoder->codec_context, -- (int16_t*) dst, &frame_size, &pkt); -+ AVFrame * frame = avcodec_alloc_frame (); -+ len = avcodec_decode_audio4(mdecoder->codec_context, -+ frame, &frame_size, &pkt); - } - #endif - if (len <= 0 || frame_size <= 0) -@@ -499,7 +492,6 @@ TSMFDecoderEntry(void) - - if (!initialized) - { -- avcodec_init(); - avcodec_register_all(); - initialized = true; - } diff --git a/main/freerdp/fix-headers.patch b/main/freerdp/fix-headers.patch new file mode 100644 index 0000000000..b3848b33ca --- /dev/null +++ b/main/freerdp/fix-headers.patch @@ -0,0 +1,10 @@ +--- ./winpr/libwinpr/synch/wait.c.orig ++++ ./winpr/libwinpr/synch/wait.c +@@ -24,6 +24,7 @@ + #ifdef HAVE_UNISTD_H + #include <unistd.h> + #endif ++#include <sys/select.h> + + #include <winpr/crt.h> + #include <winpr/synch.h> diff --git a/main/freerdp/futimens.patch b/main/freerdp/futimens.patch deleted file mode 100644 index ee538201ac..0000000000 --- a/main/freerdp/futimens.patch +++ /dev/null @@ -1,25 +0,0 @@ ---- ./channels/rdpdr/disk/disk_file.c.orig -+++ ./channels/rdpdr/disk/disk_file.c -@@ -414,7 +414,7 @@ - char* fullpath; - struct stat st; - UNICONV* uniconv; -- struct timeval tv[2]; -+ struct timespec tv[2]; - uint64 LastWriteTime; - uint32 FileAttributes; - uint32 FileNameLength; -@@ -433,10 +433,10 @@ - return false; - - tv[0].tv_sec = st.st_atime; -- tv[0].tv_usec = 0; -+ tv[0].tv_nsec = 0; - tv[1].tv_sec = (LastWriteTime > 0 ? FILE_TIME_RDP_TO_SYSTEM(LastWriteTime) : st.st_mtime); -- tv[1].tv_usec = 0; -- futimes(file->fd, tv); -+ tv[1].tv_nsec = 0; -+ futimens(file->fd, tv); - - if (FileAttributes > 0) - { diff --git a/main/freerdp/pluginpath.patch b/main/freerdp/pluginpath.patch deleted file mode 100644 index 4a9349b2c0..0000000000 --- a/main/freerdp/pluginpath.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- ./CMakeLists.txt.orig -+++ ./CMakeLists.txt -@@ -127,7 +127,7 @@ - set(FREERDP_KEYMAP_PATH "${CMAKE_INSTALL_PREFIX}/freerdp/keymaps") - - # Path to put plugins --set(FREERDP_PLUGIN_PATH "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/freerdp") -+set(FREERDP_PLUGIN_PATH "${CMAKE_INSTALL_LIBDIR}/freerdp") - - # Include directories - include_directories(${CMAKE_CURRENT_BINARY_DIR}) |