From 3ff62fe45bf5d99afd25bdd3d70b6fb46e9e795e Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Mon, 30 Dec 2019 02:15:10 +0100 Subject: [PATCH] {opal,ptlib,ekiga,sipcmd}: remove unmaintained Were also removed from Debian and Arch and don't build on recent GCC versions anymore. Needed lots of patching anyway. Last release was 2013. --- .../instant-messengers/ekiga/default.nix | 73 --- .../networking/sipcmd/default.nix | 34 -- pkgs/development/libraries/opal/default.nix | 43 -- .../libraries/opal/disable-samples-ftbfs.diff | 14 - pkgs/development/libraries/opal/libav10.patch | 208 ------- pkgs/development/libraries/opal/libav9.patch | 543 ------------------ pkgs/development/libraries/ptlib/default.nix | 59 -- .../ptlib/ptlib-2.10.11-glibc-2.26.patch | 13 - pkgs/top-level/all-packages.nix | 11 - 9 files changed, 998 deletions(-) delete mode 100644 pkgs/applications/networking/instant-messengers/ekiga/default.nix delete mode 100644 pkgs/applications/networking/sipcmd/default.nix delete mode 100644 pkgs/development/libraries/opal/default.nix delete mode 100644 pkgs/development/libraries/opal/disable-samples-ftbfs.diff delete mode 100644 pkgs/development/libraries/opal/libav10.patch delete mode 100644 pkgs/development/libraries/opal/libav9.patch delete mode 100644 pkgs/development/libraries/ptlib/default.nix delete mode 100644 pkgs/development/libraries/ptlib/ptlib-2.10.11-glibc-2.26.patch diff --git a/pkgs/applications/networking/instant-messengers/ekiga/default.nix b/pkgs/applications/networking/instant-messengers/ekiga/default.nix deleted file mode 100644 index 9886c2fa2ed..00000000000 --- a/pkgs/applications/networking/instant-messengers/ekiga/default.nix +++ /dev/null @@ -1,73 +0,0 @@ -{ stdenv, glib, fetchurl, fetchpatch, cyrus_sasl, gettext, openldap, ptlib, opal, libXv, rarian, intltool -, perlPackages, evolution-data-server, gnome-doc-utils, avahi, autoreconfHook -, libsigcxx, gtk2, dbus-glib, libnotify, libXext, xorgproto, gnome3, boost, libsecret -, pkgconfig, libxml2, unixODBC, db, nspr, nss, zlib -, libXrandr, which, libxslt, libtasn1, gmp, nettle, sqlite, makeWrapper }: - -stdenv.mkDerivation rec { - pname = "ekiga"; - version = "4.0.1"; - - src = fetchurl { - url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "5f4f491c9496cf65ba057a9345d6bb0278f4eca07bcda5baeecf50bfcd9a4a3b"; - }; - - buildInputs = [ cyrus_sasl gettext openldap ptlib opal libXv rarian intltool - evolution-data-server gnome-doc-utils avahi - libsigcxx gtk2 dbus-glib libnotify libXext xorgproto sqlite - gnome3.libsoup glib gnome3.adwaita-icon-theme boost - autoreconfHook pkgconfig libxml2 unixODBC db nspr - nss zlib libsecret libXrandr which libxslt libtasn1 - gmp nettle makeWrapper ] - ++ (with perlPackages; [ perl XMLParser ]); - - preAutoreconf = '' - substituteInPlace configure.ac --replace AM_GCONF_SOURCE_2 "" - substituteInPlace configure.ac --replace gnome-icon-theme adwaita-icon-theme - ''; - - configureFlags = [ - "--with-ldap-dir=${openldap.dev}" - "--with-libsasl2-dir=${cyrus_sasl.dev}" - "--with-boost-libdir=${boost.out}/lib" - "--disable-gconf" - ]; - - enableParallelBuilding = true; - - patches = [ - (fetchpatch { url = https://sources.debian.net/data/main/e/ekiga/4.0.1-7/debian/patches/autofoo.patch; - sha256 = "1vyagslws4mm9yfz1m5p1kv9sxmk5lls9vxpm6j72q2ahsgydzx4"; - }) - (fetchpatch { url = https://sources.debian.net/data/main/e/ekiga/4.0.1-7/debian/patches/boost.patch; - sha256 = "01k0rw8ibrrf9zn9lx6dzbrgy58w089hqxqxqdv9whb65cldlj5s"; - }) - (fetchpatch { url = https://src.fedoraproject.org/rpms/ekiga/raw/dbf5f5ba449d22bd79f0394cddb7d4d8a88ec6ac/f/ekiga-4.0.1-libresolv.patch; - sha256 = "18wc68im8422ibpa0gkrkgjq41m7hikaha3xqmjs2km45i1cwcaz"; - }) - ]; - - postInstall = '' - wrapProgram "$out"/bin/ekiga \ - --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" - ''; - - passthru = { - updateInfo = { - downloadPage = "mirror://gnome/sources/ekiga"; - }; - updateScript = gnome3.updateScript { - packageName = pname; - }; - }; - - meta = with stdenv.lib; { - description = "VOIP/Videoconferencing app with full SIP and H.323 support"; - homepage = "https://www.ekiga.org/"; - maintainers = [ maintainers.raskin ]; - platforms = platforms.linux; - license = licenses.gpl2Plus; - }; -} - diff --git a/pkgs/applications/networking/sipcmd/default.nix b/pkgs/applications/networking/sipcmd/default.nix deleted file mode 100644 index a36c2286956..00000000000 --- a/pkgs/applications/networking/sipcmd/default.nix +++ /dev/null @@ -1,34 +0,0 @@ -{ stdenv, fetchFromGitHub, opal, ptlib }: - -stdenv.mkDerivation rec { - - rev = "3090e9f"; - - name = "sipcmd-${rev}"; - - src = fetchFromGitHub { - repo = "sipcmd"; - owner = "tmakkonen"; - inherit rev; - sha256 = "072h9qapmz46r8pxbzkfmc4ikd7dv9g8cgrfrw21q942icbrvq2c"; - }; - - buildInputs = [ opal ptlib ]; - - buildPhase = '' - make IFLAGS="-I${opal}/include/opal -I${ptlib}/include -Isrc/ -L${opal}/lib -L${ptlib}/lib" - ''; - - installPhase = '' - mkdir -pv $out/bin - cp sipcmd $out/bin/sipcmd - ''; - - meta = { - homepage = https://github.com/tmakkonen/sipcmd; - description = "The command line SIP/H.323/RTP softphone"; - platforms = with stdenv.lib.platforms; linux; - license = stdenv.lib.licenses.gpl2; - }; -} - diff --git a/pkgs/development/libraries/opal/default.nix b/pkgs/development/libraries/opal/default.nix deleted file mode 100644 index dd19fccd822..00000000000 --- a/pkgs/development/libraries/opal/default.nix +++ /dev/null @@ -1,43 +0,0 @@ -{ stdenv, fetchurl, pkgconfig, ptlib, srtp, libtheora, speex, gnome3 -, ffmpeg, x264, cyrus_sasl, openldap, openssl, expat, unixODBC }: - -stdenv.mkDerivation rec { - pname = "opal"; - version = "3.10.10"; - - src = fetchurl { - url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "f208985003461b2743575eccac13ad890b3e5baac35b68ddef17162460aff864"; - }; - - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ ptlib srtp libtheora speex - ffmpeg x264 cyrus_sasl openldap openssl expat unixODBC ]; - propagatedBuildInputs = [ speex ]; - - configureFlags = [ "--enable-h323" ]; - - enableParallelBuilding = true; - - NIX_CFLAGS_COMPILE = "-D__STDC_CONSTANT_MACROS=1 -std=gnu++98"; - - patches = [ ./disable-samples-ftbfs.diff ./libav9.patch ./libav10.patch ]; - - meta = with stdenv.lib; { - description = "VoIP library"; - maintainers = [ maintainers.raskin ]; - platforms = platforms.linux; - homepage = "http://www.opalvoip.org/"; - license = with licenses; [ bsdOriginal mpl10 gpl2Plus lgpl21 ]; - }; - - passthru = { - updateInfo = { - downloadPage = "http://ftp.gnome.org/pub/GNOME/sources/opal"; - }; - updateScript = gnome3.updateScript { - packageName = pname; - }; - }; -} - diff --git a/pkgs/development/libraries/opal/disable-samples-ftbfs.diff b/pkgs/development/libraries/opal/disable-samples-ftbfs.diff deleted file mode 100644 index 1b073821607..00000000000 --- a/pkgs/development/libraries/opal/disable-samples-ftbfs.diff +++ /dev/null @@ -1,14 +0,0 @@ -Index: opal-3.10.4~dfsg/Makefile.in -=================================================================== ---- opal-3.10.4~dfsg.orig/Makefile.in 2012-02-22 10:08:36.000000000 +1100 -+++ opal-3.10.4~dfsg/Makefile.in 2012-03-08 08:32:44.000000000 +1100 -@@ -45,8 +45,7 @@ - samples/codectest \ - samples/callgen \ - samples/opalecho \ -- samples/faxopal \ -- samples/c_api -+ samples/faxopal - ifeq ($(OPAL_IVR),yes) - SUBDIRS += samples/opalmcu \ - samples/ivropal \ diff --git a/pkgs/development/libraries/opal/libav10.patch b/pkgs/development/libraries/opal/libav10.patch deleted file mode 100644 index 3e02704f899..00000000000 --- a/pkgs/development/libraries/opal/libav10.patch +++ /dev/null @@ -1,208 +0,0 @@ -Description: Fix compilation against libav10 -Author: Reinhard Tartler -Bug-Debian: http://bugs.debian.org/739439 - ---- a/plugins/video/H.263-1998/h263-1998.cxx -+++ b/plugins/video/H.263-1998/h263-1998.cxx -@@ -94,7 +94,7 @@ static struct StdSizes { - { CIF16_WIDTH, CIF16_HEIGHT, PLUGINCODEC_CIF16_MPI }, - }; - --static FFMPEGLibrary FFMPEGLibraryInstance(CODEC_ID_H263P); -+static FFMPEGLibrary FFMPEGLibraryInstance(AV_CODEC_ID_H263P); - - - ///////////////////////////////////////////////////////////////////////////// -@@ -203,7 +203,7 @@ H263_Base_EncoderContext::~H263_Base_Enc - PTRACE(4, m_prefix, "Encoder closed"); - } - --bool H263_Base_EncoderContext::Init(CodecID codecId) -+bool H263_Base_EncoderContext::Init(AVCodecID codecId) - { - PTRACE(5, m_prefix, "Opening encoder"); - -@@ -589,7 +589,7 @@ void H263_RFC2190_EncoderContext::RTPCal - - bool H263_RFC2190_EncoderContext::Init() - { -- if (!H263_Base_EncoderContext::Init(CODEC_ID_H263)) -+ if (!H263_Base_EncoderContext::Init(AV_CODEC_ID_H263)) - return false; - - #if LIBAVCODEC_RTP_MODE -@@ -632,7 +632,7 @@ H263_RFC2429_EncoderContext::~H263_RFC24 - - bool H263_RFC2429_EncoderContext::Init() - { -- return H263_Base_EncoderContext::Init(CODEC_ID_H263P); -+ return H263_Base_EncoderContext::Init(AV_CODEC_ID_H263P); - } - - -@@ -656,7 +656,7 @@ H263_Base_DecoderContext::H263_Base_Deco - if (!FFMPEGLibraryInstance.Load()) - return; - -- if ((m_codec = FFMPEGLibraryInstance.AvcodecFindDecoder(CODEC_ID_H263)) == NULL) { -+ if ((m_codec = FFMPEGLibraryInstance.AvcodecFindDecoder(AV_CODEC_ID_H263)) == NULL) { - PTRACE(1, m_prefix, "Codec not found for decoder"); - return; - } ---- a/plugins/video/H.264/h264-x264.cxx -+++ b/plugins/video/H.264/h264-x264.cxx -@@ -105,7 +105,7 @@ static struct PluginCodec_information Li - - /////////////////////////////////////////////////////////////////////////////// - --FFMPEGLibrary FFMPEGLibraryInstance(CODEC_ID_H264); -+FFMPEGLibrary FFMPEGLibraryInstance(AV_CODEC_ID_H264); - - PLUGINCODEC_CONTROL_LOG_FUNCTION_DEF - -@@ -1065,17 +1065,17 @@ class MyDecoder : public PluginCodecworkaround_bugs = FF_BUG_AUTODETECT; -- m_context->idct_algo = FF_IDCT_H264; -+ m_context->idct_algo = FF_IDCT_AUTO; - m_context->error_concealment = FF_EC_GUESS_MVS | FF_EC_DEBLOCK; - m_context->flags = CODEC_FLAG_INPUT_PRESERVED | CODEC_FLAG_EMU_EDGE; -- m_context->flags2 = CODEC_FLAG2_SKIP_RD | -+ m_context->flags2 = - #ifdef CODEC_FLAG2_DROP_FRAME_TIMECODE - CODEC_FLAG2_DROP_FRAME_TIMECODE | - #endif ---- a/plugins/video/MPEG4-ffmpeg/mpeg4.cxx -+++ b/plugins/video/MPEG4-ffmpeg/mpeg4.cxx -@@ -205,7 +205,7 @@ const static struct mpeg4_resolution { - { 0 } - }; - --FFMPEGLibrary FFMPEGLibraryInstance(CODEC_ID_MPEG4); -+FFMPEGLibrary FFMPEGLibraryInstance(AV_CODEC_ID_MPEG4); - - - static bool mpeg4IsIframe (BYTE * frameBuffer, unsigned int frameLen ) -@@ -688,7 +688,7 @@ void MPEG4EncoderContext::ResizeEncoding - - bool MPEG4EncoderContext::OpenCodec() - { -- if((m_avcodec = FFMPEGLibraryInstance.AvcodecFindEncoder(CODEC_ID_MPEG4)) == NULL){ -+ if((m_avcodec = FFMPEGLibraryInstance.AvcodecFindEncoder(AV_CODEC_ID_MPEG4)) == NULL){ - PTRACE(1, "MPEG4", "Encoder not found"); - return false; - } -@@ -1390,7 +1390,7 @@ void MPEG4DecoderContext::ResizeDecoding - - bool MPEG4DecoderContext::OpenCodec() - { -- if ((m_avcodec = FFMPEGLibraryInstance.AvcodecFindDecoder(CODEC_ID_MPEG4)) == NULL) { -+ if ((m_avcodec = FFMPEGLibraryInstance.AvcodecFindDecoder(AV_CODEC_ID_MPEG4)) == NULL) { - PTRACE(1, "MPEG4", "Decoder not found for encoder"); - return false; - } ---- a/plugins/video/H.263-1998/h263-1998.h -+++ b/plugins/video/H.263-1998/h263-1998.h -@@ -115,7 +115,7 @@ class H263_Base_EncoderContext - virtual ~H263_Base_EncoderContext(); - - virtual bool Init() = 0; -- virtual bool Init(CodecID codecId); -+ virtual bool Init(AVCodecID codecId); - - virtual bool SetOptions(const char * const * options); - virtual void SetOption(const char * option, const char * value); ---- a/plugins/video/common/dyna.cxx -+++ b/plugins/video/common/dyna.cxx -@@ -217,14 +217,14 @@ static void logCallbackFFMPEG(void * avc - #endif - - --FFMPEGLibrary::FFMPEGLibrary(CodecID codec) -+FFMPEGLibrary::FFMPEGLibrary(AVCodecID codec) - { - m_codec = codec; -- if (m_codec==CODEC_ID_H264) -+ if (m_codec==AV_CODEC_ID_H264) - snprintf( m_codecString, sizeof(m_codecString), "H264"); -- if (m_codec==CODEC_ID_H263P) -+ if (m_codec==AV_CODEC_ID_H263P) - snprintf( m_codecString, sizeof(m_codecString), "H263+"); -- if (m_codec==CODEC_ID_MPEG4) -+ if (m_codec==AV_CODEC_ID_MPEG4) - snprintf( m_codecString, sizeof(m_codecString), "MPEG4"); - m_isLoadedOK = false; - } -@@ -268,12 +268,12 @@ bool FFMPEGLibrary::Load() - return true; - } - --AVCodec *FFMPEGLibrary::AvcodecFindEncoder(enum CodecID id) -+AVCodec *FFMPEGLibrary::AvcodecFindEncoder(enum AVCodecID id) - { - return avcodec_find_encoder(id); - } - --AVCodec *FFMPEGLibrary::AvcodecFindDecoder(enum CodecID id) -+AVCodec *FFMPEGLibrary::AvcodecFindDecoder(enum AVCodecID id) - { - WaitAndSignal m(processLock); - -@@ -308,13 +308,18 @@ int FFMPEGLibrary::AvcodecClose(AVCodecC - return avcodec_close(ctx); - } - -+#undef FFMAX -+#define FFMAX(a,b) ((a) > (b) ? (a) : (b)) - int FFMPEGLibrary::AvcodecEncodeVideo(AVCodecContext *ctx, BYTE *buf, int buf_size, const AVFrame *pict) - { -+ AVPacket pkt = { 0 }; -+ int ret, got_output; - int res; - -- res = avcodec_encode_video(ctx, buf, buf_size, pict); -+ ret = avcodec_encode_video2(ctx, &pkt, pict, &got_output); - -- PTRACE(6, m_codecString, "DYNA\tEncoded into " << res << " bytes, max " << buf_size); -+ PTRACE(6, m_codecString, "DYNA\tEncoded into " << ret << " bytes, max " << buf_size); -+ memcpy(buf, pkt.data, FFMAX(pkt.size, buf_size)); - return res; - } - ---- a/plugins/video/common/dyna.h -+++ b/plugins/video/common/dyna.h -@@ -88,13 +88,13 @@ class DynaLink - class FFMPEGLibrary - { - public: -- FFMPEGLibrary(CodecID codec); -+ FFMPEGLibrary(AVCodecID codec); - ~FFMPEGLibrary(); - - bool Load(); - -- AVCodec *AvcodecFindEncoder(enum CodecID id); -- AVCodec *AvcodecFindDecoder(enum CodecID id); -+ AVCodec *AvcodecFindEncoder(enum AVCodecID id); -+ AVCodec *AvcodecFindDecoder(enum AVCodecID id); - AVCodecContext *AvcodecAllocContext(AVCodec*); - AVFrame *AvcodecAllocFrame(void); - int AvcodecOpen(AVCodecContext *ctx, AVCodec *codec); -@@ -117,7 +117,7 @@ class FFMPEGLibrary - DynaLink m_libAvcodec; - DynaLink m_libAvutil; - -- CodecID m_codec; -+ AVCodecID m_codec; - char m_codecString[32]; - - bool m_isLoadedOK; diff --git a/pkgs/development/libraries/opal/libav9.patch b/pkgs/development/libraries/opal/libav9.patch deleted file mode 100644 index f91a8c033fe..00000000000 --- a/pkgs/development/libraries/opal/libav9.patch +++ /dev/null @@ -1,543 +0,0 @@ -Description: Backport changes for the libav 9 API - Also replace loading of libavcodec and libavutil via dlopen by linking against - it. -Author: Sebastian Ramacher -Bug-Debian: http://bugs.debian.org/720824 -Last-Update: 2013-09-12 - ---- a/plugins/video/H.263-1998/h263-1998.cxx -+++ b/plugins/video/H.263-1998/h263-1998.cxx -@@ -216,7 +216,7 @@ - return false; - } - -- m_context = FFMPEGLibraryInstance.AvcodecAllocContext(); -+ m_context = FFMPEGLibraryInstance.AvcodecAllocContext(m_codec); - if (m_context == NULL) { - PTRACE(1, m_prefix, "Failed to allocate context for encoder"); - return false; -@@ -312,6 +312,7 @@ - return; - } - -+#ifdef CODEC_FLAG_H263P_UMV - if (STRCMPI(option, H263_ANNEX_D) == 0) { - // Annex D: Unrestructed Motion Vectors - // Level 2+ -@@ -322,6 +323,7 @@ - m_context->flags &= ~CODEC_FLAG_H263P_UMV; - return; - } -+#endif - - #if 0 // DO NOT ENABLE THIS FLAG. FFMPEG IS NOT THREAD_SAFE WHEN THIS FLAG IS SET - if (STRCMPI(option, H263_ANNEX_F) == 0) { -@@ -356,6 +358,7 @@ - return; - } - -+#ifdef CODEC_FLAG_H263P_SLICE_STRUCT - if (STRCMPI(option, H263_ANNEX_K) == 0) { - // Annex K: Slice Structure - // does not work with eyeBeam -@@ -365,7 +368,9 @@ - m_context->flags &= ~CODEC_FLAG_H263P_SLICE_STRUCT; - return; - } -+#endif - -+#ifdef CODEC_FLAG_H263P_AIV - if (STRCMPI(option, H263_ANNEX_S) == 0) { - // Annex S: Alternative INTER VLC mode - // does not work with eyeBeam -@@ -375,6 +380,7 @@ - m_context->flags &= ~CODEC_FLAG_H263P_AIV; - return; - } -+#endif - - if (STRCMPI(option, PLUGINCODEC_MEDIA_PACKETIZATION) == 0 || - STRCMPI(option, PLUGINCODEC_MEDIA_PACKETIZATIONS) == 0) { -@@ -450,15 +456,6 @@ - PTRACE(5, m_prefix, "qmax set to " << m_context->qmax); - PTRACE(5, m_prefix, "payload size set to " << m_context->rtp_payload_size); - -- #define CODEC_TRACER_FLAG(tracer, flag) \ -- PTRACE(4, m_prefix, #flag " is " << ((m_context->flags & flag) ? "enabled" : "disabled")); -- CODEC_TRACER_FLAG(tracer, CODEC_FLAG_H263P_UMV); -- CODEC_TRACER_FLAG(tracer, CODEC_FLAG_OBMC); -- CODEC_TRACER_FLAG(tracer, CODEC_FLAG_AC_PRED); -- CODEC_TRACER_FLAG(tracer, CODEC_FLAG_H263P_SLICE_STRUCT) -- CODEC_TRACER_FLAG(tracer, CODEC_FLAG_LOOP_FILTER); -- CODEC_TRACER_FLAG(tracer, CODEC_FLAG_H263P_AIV); -- - return FFMPEGLibraryInstance.AvcodecOpen(m_context, m_codec) == 0; - } - -@@ -521,7 +518,7 @@ - - // Need to copy to local buffer to guarantee 16 byte alignment - memcpy(m_inputFrame->data[0], OPAL_VIDEO_FRAME_DATA_PTR(header), header->width*header->height*3/2); -- m_inputFrame->pict_type = (flags & PluginCodec_CoderForceIFrame) ? FF_I_TYPE : AV_PICTURE_TYPE_NONE; -+ m_inputFrame->pict_type = (flags & PluginCodec_CoderForceIFrame) ? AV_PICTURE_TYPE_I : AV_PICTURE_TYPE_NONE; - - /* - m_inputFrame->pts = (int64_t)srcRTP.GetTimestamp()*m_context->time_base.den/m_context->time_base.num/VIDEO_CLOCKRATE; -@@ -603,13 +600,19 @@ - m_context->rtp_callback = &H263_RFC2190_EncoderContext::RTPCallBack; - m_context->opaque = this; // used to separate out packets from different encode threads - -+#ifdef CODEC_FLAG_H263P_UMV - m_context->flags &= ~CODEC_FLAG_H263P_UMV; -+#endif - m_context->flags &= ~CODEC_FLAG_4MV; - #if LIBAVCODEC_RTP_MODE - m_context->flags &= ~CODEC_FLAG_H263P_AIC; - #endif -+#ifdef CODEC_FLAG_H263P_AIV - m_context->flags &= ~CODEC_FLAG_H263P_AIV; -+#endif -+#ifdef CODEC_FLAG_H263P_SLICE_STRUCT - m_context->flags &= ~CODEC_FLAG_H263P_SLICE_STRUCT; -+#endif - - return true; - } -@@ -658,7 +661,7 @@ - return; - } - -- m_context = FFMPEGLibraryInstance.AvcodecAllocContext(); -+ m_context = FFMPEGLibraryInstance.AvcodecAllocContext(m_codec); - if (m_context == NULL) { - PTRACE(1, m_prefix, "Failed to allocate context for decoder"); - return; ---- a/plugins/video/H.264/h264-x264.cxx -+++ b/plugins/video/H.264/h264-x264.cxx -@@ -48,6 +48,7 @@ - #include "shared/h264frame.h" - #include "shared/x264wrap.h" - -+#include - - #define MY_CODEC x264 // Name of codec (use C variable characters) - #define MY_CODEC_LOG "x264" -@@ -1067,18 +1068,17 @@ - if ((m_codec = FFMPEGLibraryInstance.AvcodecFindDecoder(CODEC_ID_H264)) == NULL) - return false; - -- if ((m_context = FFMPEGLibraryInstance.AvcodecAllocContext()) == NULL) -+ if ((m_context = FFMPEGLibraryInstance.AvcodecAllocContext(m_codec)) == NULL) - return false; - - m_context->workaround_bugs = FF_BUG_AUTODETECT; -- m_context->error_recognition = FF_ER_AGGRESSIVE; - m_context->idct_algo = FF_IDCT_H264; - m_context->error_concealment = FF_EC_GUESS_MVS | FF_EC_DEBLOCK; - m_context->flags = CODEC_FLAG_INPUT_PRESERVED | CODEC_FLAG_EMU_EDGE; -- m_context->flags2 = CODEC_FLAG2_BRDO | -- CODEC_FLAG2_MEMC_ONLY | -+ m_context->flags2 = CODEC_FLAG2_SKIP_RD | -+#ifdef CODEC_FLAG2_DROP_FRAME_TIMECODE - CODEC_FLAG2_DROP_FRAME_TIMECODE | -- CODEC_FLAG2_SKIP_RD | -+#endif - CODEC_FLAG2_CHUNKS; - - if ((m_picture = FFMPEGLibraryInstance.AvcodecAllocFrame()) == NULL) ---- a/plugins/video/MPEG4-ffmpeg/mpeg4.cxx -+++ b/plugins/video/MPEG4-ffmpeg/mpeg4.cxx -@@ -589,17 +589,14 @@ - m_avpicture->quality = m_videoQMin; - - #ifdef USE_ORIG -- m_avcontext->flags |= CODEC_FLAG_PART; // data partitioning - m_avcontext->flags |= CODEC_FLAG_4MV; // 4 motion vectors - #else - m_avcontext->max_b_frames=0; /*don't use b frames*/ - m_avcontext->flags|=CODEC_FLAG_AC_PRED; -- m_avcontext->flags|=CODEC_FLAG_H263P_UMV; - /*c->flags|=CODEC_FLAG_QPEL;*/ /*don't enable this one: this forces profile_level to advanced simple profile */ - m_avcontext->flags|=CODEC_FLAG_4MV; - m_avcontext->flags|=CODEC_FLAG_GMC; - m_avcontext->flags|=CODEC_FLAG_LOOP_FILTER; -- m_avcontext->flags|=CODEC_FLAG_H263P_SLICE_STRUCT; - #endif - m_avcontext->opaque = this; // for use in RTP callback - } -@@ -691,7 +688,12 @@ - - bool MPEG4EncoderContext::OpenCodec() - { -- m_avcontext = FFMPEGLibraryInstance.AvcodecAllocContext(); -+ if((m_avcodec = FFMPEGLibraryInstance.AvcodecFindEncoder(CODEC_ID_MPEG4)) == NULL){ -+ PTRACE(1, "MPEG4", "Encoder not found"); -+ return false; -+ } -+ -+ m_avcontext = FFMPEGLibraryInstance.AvcodecAllocContext(m_avcodec); - if (m_avcontext == NULL) { - PTRACE(1, "MPEG4", "Encoder failed to allocate context for encoder"); - return false; -@@ -703,11 +705,6 @@ - return false; - } - -- if((m_avcodec = FFMPEGLibraryInstance.AvcodecFindEncoder(CODEC_ID_MPEG4)) == NULL){ -- PTRACE(1, "MPEG4", "Encoder not found"); -- return false; -- } -- - #if PLUGINCODEC_TRACING - // debugging flags - if (PTRACE_CHECK(4)) { -@@ -804,7 +801,7 @@ - // Should the next frame be an I-Frame? - if ((flags & PluginCodec_CoderForceIFrame) || (m_frameNum == 0)) - { -- m_avpicture->pict_type = FF_I_TYPE; -+ m_avpicture->pict_type = AV_PICTURE_TYPE_I; - } - else // No IFrame requested, let avcodec decide what to do - { -@@ -1325,7 +1322,6 @@ - - void MPEG4DecoderContext::SetStaticDecodingParams() { - m_avcontext->flags |= CODEC_FLAG_4MV; -- m_avcontext->flags |= CODEC_FLAG_PART; - m_avcontext->workaround_bugs = 0; // no workaround for buggy implementations - } - -@@ -1399,7 +1395,7 @@ - return false; - } - -- m_avcontext = FFMPEGLibraryInstance.AvcodecAllocContext(); -+ m_avcontext = FFMPEGLibraryInstance.AvcodecAllocContext(m_avcodec); - if (m_avcontext == NULL) { - PTRACE(1, "MPEG4", "Decoder failed to allocate context"); - return false; ---- a/plugins/video/common/dyna.cxx -+++ b/plugins/video/common/dyna.cxx -@@ -38,6 +38,13 @@ - * Matthias Schneider (ma30002000@yahoo.de) - */ - #include "dyna.h" -+#include -+#include -+ -+extern "C" { -+#include -+#include -+} - - bool DynaLink::Open(const char *name) - { -@@ -228,101 +235,15 @@ - m_libAvutil.Close(); - } - --#define CHECK_AVUTIL(name, func) \ -- (seperateLibAvutil ? \ -- m_libAvutil.GetFunction(name, (DynaLink::Function &)func) : \ -- m_libAvcodec.GetFunction(name, (DynaLink::Function &)func) \ -- ) \ -- -- - bool FFMPEGLibrary::Load() - { - WaitAndSignal m(processLock); - if (IsLoaded()) - return true; - -- bool seperateLibAvutil = false; -- --#ifdef LIBAVCODEC_LIB_NAME -- if (m_libAvcodec.Open(LIBAVCODEC_LIB_NAME)) -- seperateLibAvutil = true; -- else --#endif -- if (m_libAvcodec.Open("libavcodec")) -- seperateLibAvutil = false; -- else if (m_libAvcodec.Open("avcodec-" AV_STRINGIFY(LIBAVCODEC_VERSION_MAJOR))) -- seperateLibAvutil = true; -- else { -- PTRACE(1, m_codecString, "Failed to load FFMPEG libavcodec library"); -- return false; -- } -- -- if (seperateLibAvutil && -- !( --#ifdef LIBAVUTIL_LIB_NAME -- m_libAvutil.Open(LIBAVUTIL_LIB_NAME) || --#endif -- m_libAvutil.Open("libavutil") || -- m_libAvutil.Open("avutil-" AV_STRINGIFY(LIBAVUTIL_VERSION_MAJOR)) -- ) ) { -- PTRACE(1, m_codecString, "Failed to load FFMPEG libavutil library"); -- return false; -- } -- -- strcpy(m_libAvcodec.m_codecString, m_codecString); -- strcpy(m_libAvutil.m_codecString, m_codecString); -- -- if (!m_libAvcodec.GetFunction("avcodec_init", (DynaLink::Function &)Favcodec_init)) -- return false; -- -- if (!m_libAvcodec.GetFunction("av_init_packet", (DynaLink::Function &)Fav_init_packet)) -- return false; -- -- if (!m_libAvcodec.GetFunction("avcodec_register_all", (DynaLink::Function &)Favcodec_register_all)) -- return false; -- -- if (!m_libAvcodec.GetFunction("avcodec_find_encoder", (DynaLink::Function &)Favcodec_find_encoder)) -- return false; -- -- if (!m_libAvcodec.GetFunction("avcodec_find_decoder", (DynaLink::Function &)Favcodec_find_decoder)) -- return false; -- -- if (!m_libAvcodec.GetFunction("avcodec_alloc_context", (DynaLink::Function &)Favcodec_alloc_context)) -- return false; -- -- if (!m_libAvcodec.GetFunction("avcodec_alloc_frame", (DynaLink::Function &)Favcodec_alloc_frame)) -- return false; -- -- if (!m_libAvcodec.GetFunction("avcodec_open", (DynaLink::Function &)Favcodec_open)) -- return false; -- -- if (!m_libAvcodec.GetFunction("avcodec_close", (DynaLink::Function &)Favcodec_close)) -- return false; -- -- if (!m_libAvcodec.GetFunction("avcodec_encode_video", (DynaLink::Function &)Favcodec_encode_video)) -- return false; -- -- if (!m_libAvcodec.GetFunction("avcodec_decode_video2", (DynaLink::Function &)Favcodec_decode_video)) -- return false; -- -- if (!m_libAvcodec.GetFunction("avcodec_set_dimensions", (DynaLink::Function &)Favcodec_set_dimensions)) -- return false; -- -- if (!CHECK_AVUTIL("av_free", Favcodec_free)) -- return false; -- -- if(!m_libAvcodec.GetFunction("avcodec_version", (DynaLink::Function &)Favcodec_version)) -- return false; -- -- if (!CHECK_AVUTIL("av_log_set_level", FAv_log_set_level)) -- return false; -- -- if (!CHECK_AVUTIL("av_log_set_callback", FAv_log_set_callback)) -- return false; -- - // must be called before using avcodec lib - -- unsigned libVer = Favcodec_version(); -+ unsigned libVer = avcodec_version(); - if (libVer != LIBAVCODEC_VERSION_INT) { - PTRACE(2, m_codecString, "Warning: compiled against libavcodec headers from version " - << LIBAVCODEC_VERSION_MAJOR << '.' << LIBAVCODEC_VERSION_MINOR << '.' << LIBAVCODEC_VERSION_MICRO -@@ -334,8 +255,7 @@ - << (libVer >> 16) << ((libVer>>8) & 0xff) << (libVer & 0xff)); - } - -- Favcodec_init(); -- Favcodec_register_all (); -+ avcodec_register_all(); - - #if PLUGINCODEC_TRACING - AvLogSetLevel(AV_LOG_DEBUG); -@@ -350,49 +270,49 @@ - - AVCodec *FFMPEGLibrary::AvcodecFindEncoder(enum CodecID id) - { -- return Favcodec_find_encoder(id); -+ return avcodec_find_encoder(id); - } - - AVCodec *FFMPEGLibrary::AvcodecFindDecoder(enum CodecID id) - { - WaitAndSignal m(processLock); - -- return Favcodec_find_decoder(id); -+ return avcodec_find_decoder(id); - } - --AVCodecContext *FFMPEGLibrary::AvcodecAllocContext(void) -+AVCodecContext *FFMPEGLibrary::AvcodecAllocContext(AVCodec *codec) - { - WaitAndSignal m(processLock); - -- return Favcodec_alloc_context(); -+ return avcodec_alloc_context3(codec); - } - - AVFrame *FFMPEGLibrary::AvcodecAllocFrame(void) - { - WaitAndSignal m(processLock); - -- return Favcodec_alloc_frame(); -+ return avcodec_alloc_frame(); - } - - int FFMPEGLibrary::AvcodecOpen(AVCodecContext *ctx, AVCodec *codec) - { - WaitAndSignal m(processLock); - -- return Favcodec_open(ctx, codec); -+ return avcodec_open2(ctx, codec, NULL); - } - - int FFMPEGLibrary::AvcodecClose(AVCodecContext *ctx) - { - WaitAndSignal m(processLock); - -- return Favcodec_close(ctx); -+ return avcodec_close(ctx); - } - - int FFMPEGLibrary::AvcodecEncodeVideo(AVCodecContext *ctx, BYTE *buf, int buf_size, const AVFrame *pict) - { - int res; - -- res = Favcodec_encode_video(ctx, buf, buf_size, pict); -+ res = avcodec_encode_video(ctx, buf, buf_size, pict); - - PTRACE(6, m_codecString, "DYNA\tEncoded into " << res << " bytes, max " << buf_size); - return res; -@@ -401,35 +321,35 @@ - int FFMPEGLibrary::AvcodecDecodeVideo(AVCodecContext *ctx, AVFrame *pict, int *got_picture_ptr, BYTE *buf, int buf_size) - { - AVPacket avpkt; -- Fav_init_packet(&avpkt); -+ av_init_packet(&avpkt); - avpkt.data = buf; - avpkt.size = buf_size; - -- return Favcodec_decode_video(ctx, pict, got_picture_ptr, &avpkt); -+ return avcodec_decode_video2(ctx, pict, got_picture_ptr, &avpkt); - } - - void FFMPEGLibrary::AvcodecFree(void * ptr) - { - WaitAndSignal m(processLock); - -- Favcodec_free(ptr); -+ av_free(ptr); - } - - void FFMPEGLibrary::AvSetDimensions(AVCodecContext *s, int width, int height) - { - WaitAndSignal m(processLock); - -- Favcodec_set_dimensions(s, width, height); -+ avcodec_set_dimensions(s, width, height); - } - - void FFMPEGLibrary::AvLogSetLevel(int level) - { -- FAv_log_set_level(level); -+ av_log_set_level(level); - } - - void FFMPEGLibrary::AvLogSetCallback(void (*callback)(void*, int, const char*, va_list)) - { -- FAv_log_set_callback(callback); -+ av_log_set_callback(callback); - } - - bool FFMPEGLibrary::IsLoaded() ---- a/plugins/video/common/dyna.h -+++ b/plugins/video/common/dyna.h -@@ -95,7 +95,7 @@ - - AVCodec *AvcodecFindEncoder(enum CodecID id); - AVCodec *AvcodecFindDecoder(enum CodecID id); -- AVCodecContext *AvcodecAllocContext(void); -+ AVCodecContext *AvcodecAllocContext(AVCodec*); - AVFrame *AvcodecAllocFrame(void); - int AvcodecOpen(AVCodecContext *ctx, AVCodec *codec); - int AvcodecClose(AVCodecContext *ctx); -@@ -120,26 +120,6 @@ - CodecID m_codec; - char m_codecString[32]; - -- void (*Favcodec_init)(void); -- void (*Fav_init_packet)(AVPacket *pkt); -- -- void (*Favcodec_register_all)(void); -- AVCodec *(*Favcodec_find_encoder)(enum CodecID id); -- AVCodec *(*Favcodec_find_decoder)(enum CodecID id); -- AVCodecContext *(*Favcodec_alloc_context)(void); -- AVFrame *(*Favcodec_alloc_frame)(void); -- int (*Favcodec_open)(AVCodecContext *ctx, AVCodec *codec); -- int (*Favcodec_close)(AVCodecContext *ctx); -- int (*Favcodec_encode_video)(AVCodecContext *ctx, BYTE *buf, int buf_size, const AVFrame *pict); -- int (*Favcodec_decode_video)(AVCodecContext *ctx, AVFrame *pict, int *got_picture_ptr, AVPacket *avpkt); -- unsigned (*Favcodec_version)(void); -- void (*Favcodec_set_dimensions)(AVCodecContext *ctx, int width, int height); -- -- void (*Favcodec_free)(void *); -- -- void (*FAv_log_set_level)(int level); -- void (*FAv_log_set_callback)(void (*callback)(void*, int, const char*, va_list)); -- - bool m_isLoadedOK; - }; - ---- a/plugins/video/common/ffmpeg.h -+++ b/plugins/video/common/ffmpeg.h -@@ -45,11 +45,13 @@ - - #include "platform.h" - --#include "libavcodec/avcodec.h" -+extern "C" { -+#include - // AVPacket was declared in avformat.h before April 2009 - #if LIBAVCODEC_VERSION_INT <= AV_VERSION_INT(52, 25, 0) --#include "libavformat/avformat.h" -+#include - #endif -+} - - #ifndef LIBAVCODEC_VERSION_INT - #error Libavcodec include is not correct ---- a/plugins/video/H.263-1998/Makefile.in -+++ b/plugins/video/H.263-1998/Makefile.in -@@ -34,8 +34,8 @@ - $(COMMONDIR)/mpi.cxx \ - $(COMMONDIR)/dyna.cxx - --CFLAGS += @LIBAVCODEC_CFLAGS@ -I$(COMMONDIR) --LIBS += @DL_LIBS@ -+CFLAGS += @LIBAVCODEC_CFLAGS@ @LIBAVUTIL_CFLAGS@ -I$(COMMONDIR) -+LIBS += @DL_LIBS@ @LIBAVCODEC_LIBS@ @LIBAVUTIL_LIBS@ - - HAVE_LIBAVCODEC_RTP_MODE=@HAVE_LIBAVCODEC_RTP_MODE@ - ifeq ($(HAVE_LIBAVCODEC_RTP_MODE),yes) ---- a/plugins/video/H.264/Makefile.in -+++ b/plugins/video/H.264/Makefile.in -@@ -34,8 +34,8 @@ - $(SHAREDDIR)/x264wrap.cxx \ - $(COMMONDIR)/dyna.cxx \ - --CFLAGS += @LIBAVCODEC_CFLAGS@ -I$(COMMONDIR) -DLIB_DIR='"$(libdir)"' -DVC_PLUGIN_DIR='"@VC_PLUGIN_DIR@"' --LIBS += @DL_LIBS@ -+CFLAGS += @LIBAVCODEC_CFLAGS@ @LIBAVUTIL_CFLAGS@ -I$(COMMONDIR) -DLIB_DIR='"$(libdir)"' -DVC_PLUGIN_DIR='"@VC_PLUGIN_DIR@"' -+LIBS += @DL_LIBS@ @LIBAVCODEC_LIBS@ @LIBAVUTIL_LIBS@ - - IS_H264_LICENSED:=@IS_H264_LICENSED@ - ifeq ($(IS_H264_LICENSED),yes) ---- a/plugins/video/MPEG4-ffmpeg/Makefile.in -+++ b/plugins/video/MPEG4-ffmpeg/Makefile.in -@@ -30,8 +30,8 @@ - SRCDIR := . - SRCS := mpeg4.cxx $(COMMONDIR)/dyna.cxx - --CFLAGS += @LIBAVCODEC_CFLAGS@ -I$(COMMONDIR) --LIBS += @DL_LIBS@ -+CFLAGS += @LIBAVCODEC_CFLAGS@ @LIBAVUTIL_CFLAGS@ -I$(COMMONDIR) -+LIBS += @DL_LIBS@ @LIBAVCODEC_LIBS@ @LIBAVUTIL_LIBS@ - - # Add LIBAVCODEC_SOURCE_DIR to the include path so we can #include - # Also add libavutil, so ffmpeg headers can #include "log.h". diff --git a/pkgs/development/libraries/ptlib/default.nix b/pkgs/development/libraries/ptlib/default.nix deleted file mode 100644 index e7abedf3121..00000000000 --- a/pkgs/development/libraries/ptlib/default.nix +++ /dev/null @@ -1,59 +0,0 @@ -{ stdenv, fetchurl, fetchpatch, pkgconfig, bison, flex, unixODBC, gnome3 -, openssl, openldap, cyrus_sasl, kerberos, expat, SDL, libdv, libv4l, alsaLib }: - -stdenv.mkDerivation rec { - pname = "ptlib"; - version = "2.10.11"; - - src = fetchurl { - url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "1jf27mjz8vqnclhrhrpn7niz4c177kcjbd1hc7vn65ihcqfz05rs"; - }; - - NIX_CFLAGS_COMPILE = "-std=gnu++98"; - - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ bison flex unixODBC openssl openldap - cyrus_sasl kerberos expat SDL libdv libv4l alsaLib ]; - - enableParallelBuilding = true; - - patches = [ - (fetchpatch { url = http://sources.debian.net/data/main/p/ptlib/2.10.11~dfsg-2.1/debian/patches/bison-fix; - sha256 = "0vzv9kyn9s628z8wy2gva380gi1rmhxilwlg5pikl5a0wn8p46nw"; - }) - (fetchpatch { url = http://sources.debian.net/data/main/p/ptlib/2.10.11~dfsg-2.1/debian/patches/no-sslv3; - sha256 = "172s1dnnrl54p9sf1nl7s475sm78rpw3p8jxi0pdx6izzl8hcdr0"; - }) - (fetchpatch { - name = "openssl-1.1.patch"; - url = "https://git.archlinux.org/svntogit/packages.git/plain/trunk/openssl-1.1.0.patch?h=packages/ptlib&id=1dfa9f55e7e030d261228fca27dda82979ca7f30"; - sha256 = "11hdgyyibycg0wf5ls0wk9hksa4jd434i86xqiccbyg17n4l6lc1"; - }) - ./ptlib-2.10.11-glibc-2.26.patch - ]; - - # fix typedef clashes with unixODBC>=2.3.5 - postPatch = '' - substituteInPlace include/ptlib/unix/ptlib/contain.h \ - --replace "typedef uintptr_t UINT" "typedef unsigned int UINT" \ - --replace "typedef wchar_t WCHAR" "typedef unsigned short WCHAR" - ''; - - meta = with stdenv.lib; { - description = "Portable Tools from OPAL VoIP"; - maintainers = [ maintainers.raskin ]; - homepage = "http://www.opalvoip.org/"; - platforms = platforms.linux; - license = with licenses; [ beerware bsdOriginal mpl10 ]; - }; - - passthru = { - updateInfo = { - downloadPage = "http://ftp.gnome.org/sources/ptlib/"; - }; - updateScript = gnome3.updateScript { - packageName = pname; - }; - }; -} diff --git a/pkgs/development/libraries/ptlib/ptlib-2.10.11-glibc-2.26.patch b/pkgs/development/libraries/ptlib/ptlib-2.10.11-glibc-2.26.patch deleted file mode 100644 index 300c3736abf..00000000000 --- a/pkgs/development/libraries/ptlib/ptlib-2.10.11-glibc-2.26.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/ptlib/unix/channel.cxx b/src/ptlib/unix/channel.cxx -index 3b17dda..2dcaa18 100644 ---- a/src/ptlib/unix/channel.cxx -+++ b/src/ptlib/unix/channel.cxx -@@ -36,7 +36,7 @@ - - #include - #include -- -+#include - - #include "../common/pchannel.cxx" - diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 2e7121c4b6a..54455e3607e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -13449,11 +13449,6 @@ in ois = callPackage ../development/libraries/ois {}; - opal = callPackage ../development/libraries/opal { - ffmpeg = ffmpeg_2; - stdenv = gcc6Stdenv; - }; - openh264 = callPackage ../development/libraries/openh264 { }; openjpeg_1 = callPackage ../development/libraries/openjpeg/1.x.nix { }; @@ -13629,8 +13624,6 @@ in pstreams = callPackage ../development/libraries/pstreams {}; - ptlib = callPackage ../development/libraries/ptlib {}; - pugixml = callPackage ../development/libraries/pugixml { }; pybind11 = pythonPackages.pybind11; @@ -15687,8 +15680,6 @@ in sickrage = callPackage ../servers/sickbeard/sickrage.nix { }; - sipcmd = callPackage ../applications/networking/sipcmd { }; - sipwitch = callPackage ../servers/sip/sipwitch { }; slimserver = callPackage ../servers/slimserver { }; @@ -24533,8 +24524,6 @@ in dpkg = callPackage ../tools/package-management/dpkg { }; - ekiga = callPackage ../applications/networking/instant-messengers/ekiga { }; - dumb = callPackage ../misc/dumb { }; emulationstation = callPackage ../misc/emulators/emulationstation {