From a5bce15b5dc04e5e32abde659db79e4e1859d655 Mon Sep 17 00:00:00 2001 From: ajs124 Date: Fri, 30 Oct 2020 16:07:53 +0100 Subject: [PATCH] skype_call_recorder: drop hasn't worked since 2017: https://atdot.ch/scr/2017/06/important-information-regarding-skype-version-5/ the version packaged here is also from 2008, as far as I can tell the last upstream release was 2016 --- .../skype-call-recorder/conference.patch | 148 ------------------ .../skype-call-recorder/default.nix | 28 ---- pkgs/top-level/aliases.nix | 1 + pkgs/top-level/all-packages.nix | 2 - 4 files changed, 1 insertion(+), 178 deletions(-) delete mode 100644 pkgs/applications/networking/instant-messengers/skype-call-recorder/conference.patch delete mode 100644 pkgs/applications/networking/instant-messengers/skype-call-recorder/default.nix diff --git a/pkgs/applications/networking/instant-messengers/skype-call-recorder/conference.patch b/pkgs/applications/networking/instant-messengers/skype-call-recorder/conference.patch deleted file mode 100644 index 8b8ce8fd7bbf1a..00000000000000 --- a/pkgs/applications/networking/instant-messengers/skype-call-recorder/conference.patch +++ /dev/null @@ -1,148 +0,0 @@ -From abd67f1d44eef81baf2e9729f95e002c4ecc7350 Mon Sep 17 00:00:00 2001 -From: jlh -Date: Fri, 16 Oct 2009 17:40:54 +0200 -Subject: [PATCH] Rudimentary support for recording hosted conference calls - ---- - call.cpp | 37 +++++++++++++++++++++++++++++++++++-- - call.h | 11 ++++++++++- - 2 files changed, 45 insertions(+), 3 deletions(-) - -diff --git a/call.cpp b/call.cpp -index c2b02f2..663c1c1 100644 ---- a/call.cpp -+++ b/call.cpp -@@ -90,9 +90,10 @@ void AutoSync::reset() { - - // Call class - --Call::Call(QObject *p, Skype *sk, CallID i) : -- QObject(p), -+Call::Call(CallHandler *h, Skype *sk, CallID i) : -+ QObject(h), - skype(sk), -+ handler(h), - id(i), - status("UNKNOWN"), - writer(NULL), -@@ -119,6 +120,13 @@ Call::Call(QObject *p, Skype *sk, CallID i) : - debug(QString("Call %1: cannot get partner display name").arg(id)); - displayName = "Unnamed Caller"; - } -+ -+ // Skype does not properly send updates when the CONF_ID property -+ // changes. since we need this information, check it now on all calls -+ handler->updateConfIDs(); -+ // this call isn't yet in the list of calls, thus we need to -+ // explicitely check its CONF_ID -+ updateConfID(); - } - - Call::~Call() { -@@ -134,6 +142,10 @@ Call::~Call() { - // QT takes care of deleting servers and sockets - } - -+void Call::updateConfID() { -+ confID = skype->getObject(QString("CALL %1 CONF_ID").arg(id)).toLong(); -+} -+ - bool Call::okToDelete() const { - // this is used for checking whether past calls may now be deleted. - // when a past call hasn't been decided yet whether it should have been -@@ -270,6 +282,11 @@ void Call::startRecording(bool force) { - if (isRecording) - return; - -+ if (handler->isConferenceRecording(confID)) { -+ debug(QString("Call %1: call is part of a conference that is already being recorded").arg(id)); -+ return; -+ } -+ - if (force) { - emit showLegalInformation(); - } else { -@@ -589,6 +606,22 @@ CallHandler::~CallHandler() { - delete legalInformationDialog; - } - -+void CallHandler::updateConfIDs() { -+ QList list = calls.values(); -+ for (int i = 0; i < list.size(); i++) -+ list.at(i)->updateConfID(); -+} -+ -+bool CallHandler::isConferenceRecording(CallID id) const { -+ QList list = calls.values(); -+ for (int i = 0; i < list.size(); i++) { -+ Call *c = list.at(i); -+ if (c->getConfID() == id && c->getIsRecording()) -+ return true; -+ } -+ return false; -+} -+ - void CallHandler::callCmd(const QStringList &args) { - CallID id = args.at(0).toInt(); - -diff --git a/call.h b/call.h -index cb8396d..b746f46 100644 ---- a/call.h -+++ b/call.h -@@ -43,6 +43,8 @@ class QTcpServer; - class QTcpSocket; - class LegalInformationDialog; - -+class CallHandler; -+ - typedef int CallID; - - class AutoSync { -@@ -68,18 +70,21 @@ private: - class Call : public QObject { - Q_OBJECT - public: -- Call(QObject *, Skype *, CallID); -+ Call(CallHandler *, Skype *, CallID); - ~Call(); - void startRecording(bool = false); - void stopRecording(bool = true); -+ void updateConfID(); - bool okToDelete() const; - void setStatus(const QString &); - QString getStatus() const { return status; } - bool statusDone() const; - bool statusActive() const; - CallID getID() const { return id; } -+ CallID getConfID() const { return confID; } - void removeFile(); - void hideConfirmation(int); -+ bool getIsRecording() const { return isRecording; } - - signals: - void startedCall(int, const QString &); -@@ -99,10 +104,12 @@ private: - - private: - Skype *skype; -+ CallHandler *handler; - CallID id; - QString status; - QString skypeName; - QString displayName; -+ CallID confID; - AudioFileWriter *writer; - bool isRecording; - int stereo; -@@ -140,6 +147,8 @@ class CallHandler : public QObject { - public: - CallHandler(QObject *, Skype *); - ~CallHandler(); -+ void updateConfIDs(); -+ bool isConferenceRecording(CallID) const; - void callCmd(const QStringList &); - - signals: --- -1.6.5.GIT - diff --git a/pkgs/applications/networking/instant-messengers/skype-call-recorder/default.nix b/pkgs/applications/networking/instant-messengers/skype-call-recorder/default.nix deleted file mode 100644 index 57d1ffece71a29..00000000000000 --- a/pkgs/applications/networking/instant-messengers/skype-call-recorder/default.nix +++ /dev/null @@ -1,28 +0,0 @@ -{ stdenv, fetchurl, cmake, lame, id3lib, libvorbis, qt4, libogg }: - -stdenv.mkDerivation { - name = "skype-call-recorder-0.8"; - src = fetchurl { - url = "https://atdot.ch/scr/files/0.8/skype-call-recorder-0.8.tar.gz"; - sha256 = "1iijkhq3aj9gr3bx6zl8ryvzkqcdhsm9yisimakwq0lnw0lgf5di"; - }; - - # Keep an rpath reference to the used libogg - prePatch = '' - sed -i -e '/ADD_EXECUTABLE/aSET(LIBRARIES ''${LIBRARIES} ogg)' CMakeLists.txt - ''; - - # Better support for hosted conferences - patches = [ ./conference.patch ]; - - buildInputs = [ cmake lame id3lib libvorbis qt4 libogg ]; - NIX_LDFLAGS = "-lvorbis"; - - meta = { - homepage = "http://atdot.ch/scr/"; - description = "Open source tool to record your Skype calls on Linux"; - license = stdenv.lib.licenses.gpl2Plus; - platforms = with stdenv.lib.platforms; linux; - maintainers = with stdenv.lib.maintainers; [viric]; - }; -} diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index eeb5519233ceb6..7a498f69d7487f 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -527,6 +527,7 @@ mapAliases ({ skrooge2 = skrooge; # added 2017-02-18 sky = throw "sky has been removed from nixpkgs (2020-09-16)"; skype = skypeforlinux; # added 2017-07-27 + skype_call_recorder = throw "skype_call_recorder has been removed from nixpkgs, because it stopped working when classic Skype was retired."; # added 2020-10-31 skydive = throw "skydive has been removed from nixpkgs (2019-09-10)"; slack-dark = slack; # added 2020-03-27 slic3r-prusa3d = prusa-slicer; # added 2019-05-21 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 319d24d2e25da1..302ba3807827c9 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -23343,8 +23343,6 @@ in skype4pidgin = callPackage ../applications/networking/instant-messengers/pidgin-plugins/skype4pidgin { }; - skype_call_recorder = callPackage ../applications/networking/instant-messengers/skype-call-recorder { }; - SkypeExport = callPackage ../applications/networking/instant-messengers/SkypeExport { }; slmenu = callPackage ../applications/misc/slmenu {};