Subject: Re: [bug#45704] [PATCH] gnu: Remove QT 4.

From: Leo Famulari <[email-masked]>
Date: Sat, 6 Mar 2021 18:23:48 -0500

On Thu, Jan 28, 2021 at 08:04:05PM -0500, Leo Famulari wrote:
> I propose we remove Qt 4 in the next release (CC-ing the maintainers).

I've pushed an updated Qt 4 removal patch (attached) to the
wip-next-release branch.
From 2d977b43f333dec1e82703ceae4e692d46a5a2fb Mon Sep 17 00:00:00 2001
From: Leo Famulari <[email-masked]>
Date: Sat, 6 Mar 2021 18:06:21 -0500
Subject: [PATCH] gnu: Remove QT 4.

* gnu/packages/qt.scm (qt-4, python2-pyqt-4): Remove variables.
* gnu/packages/engineering.scm (qucs, qucs-s): Remove variables.
* gnu/packages/language.scm (nimf): Remove variable.
* gnu/packages/password-utils.scm (keepassx): Remove variable.
* gnu/packages/pdf.scm (poppler-qt4): Remove variable.
* gnu/packages/telegram.scm (telegram-desktop): Remove variable.
---
 gnu/packages/engineering.scm    | 250 --------------------------
 gnu/packages/language.scm       | 132 --------------
 gnu/packages/password-utils.scm |  31 ----
 gnu/packages/pdf.scm            |   7 -
 gnu/packages/qt.scm             | 251 --------------------------
 gnu/packages/telegram.scm       | 309 --------------------------------
 6 files changed, 980 deletions(-)

diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index f560a15aa9..52680f0b65 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -2015,256 +2015,6 @@ parallel computing platforms.  It also supports serial execution.")
     (license (list license:gpl2+
                    license:lgpl2.0+)))) ; freehdl's libraries
 
-(define-public qucs
-  ;; Qucs 0.0.19 segfaults when using glibc-2.26. Temporarily build from git.
-  ;; TODO: When qucs-0.0.20 is released, revert the commit that introduced this
-  ;; comment and update the package.
-  (let ((commit "b4f27d9222568066cd59e4c387c51a35056c99d8")
-        (revision "0"))
-    (package
-      (name "qucs")
-      (version (git-version "0.0.19" revision commit))
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                      (url "https://github.com/Qucs/qucs")
-                      (commit commit)))
-                (sha256
-                 (base32 "10bclay9xhkffmsh4j4l28kj1qpxx0pnxja5vx6305cllnq4r3gb"))
-                (file-name (string-append name "-" version "-checkout"))))
-      (build-system gnu-build-system)
-      (arguments
-       `(#:phases
-         (modify-phases %standard-phases
-           (add-before 'bootstrap 'patch-bootstrap
-             (lambda _
-               (for-each patch-shebang
-                         '("bootstrap"
-                           "qucs/bootstrap"
-                           "qucs-doc/bootstrap"
-                           "qucs-core/bootstrap"))
-               #t))
-           (add-before 'configure 'patch-configure
-             (lambda* (#:key inputs #:allow-other-keys)
-               (substitute* "qucs/configure"
-                 (("\\$QTDIR") (assoc-ref inputs "qt4")))
-               #t))
-           (add-after 'patch-configure 'patch-scripts
-             (lambda* (#:key inputs outputs #:allow-other-keys)
-               (substitute* '("qucs/qucs/qucsdigi"
-                              "qucs/qucs/qucsdigilib"
-                              "qucs/qucs/qucsveri")
-                 (("\\$BINDIR")
-                  (string-append (assoc-ref outputs "out") "/bin"))
-                 (("freehdl-config")
-                  (string-append (assoc-ref inputs "freehdl") "/bin/freehdl-config"))
-                 (("freehdl-v2cc")
-                  (string-append (assoc-ref inputs "freehdl") "/bin/freehdl-v2cc"))
-                 (("cp ")
-                  (string-append (assoc-ref inputs "coreutils") "/bin/cp "))
-                 (("glibtool")
-                  (string-append (assoc-ref inputs "libtool") "/bin/libtool"))
-                 (("sed")
-                  (string-append (assoc-ref inputs "sed") "/bin/sed"))
-                 (("iverilog")
-                  (string-append (assoc-ref inputs "iverilog") "/bin/iverilog"))
-                 (("vvp")
-                  (string-append (assoc-ref inputs "iverilog") "/bin/vvp")))
-               #t))
-           (add-before 'check 'pre-check
-             (lambda _
-               ;; The test suite requires a running X server.
-               (system "Xvfb :1 &")
-               (setenv "DISPLAY" ":1")
-               #t))
-           (add-after 'install 'make-wrapper
-             (lambda* (#:key inputs outputs #:allow-other-keys)
-               (let ((out (assoc-ref outputs "out")))
-                 ;; 'qucs' directly invokes gcc, hence this wrapping.
-                 (wrap-program (string-append out "/bin/qucs")
-                   `("CPLUS_INCLUDE_PATH" ":" prefix
-                     (,(string-append (assoc-ref inputs "gcc-toolchain")
-                                      "/include")))
-                   `("PATH" ":" prefix
-                     (,(string-append (assoc-ref inputs "gcc-toolchain")
-                                      "/bin")))
-                   `("LIBRARY_PATH" ":" prefix
-                     (,(string-append (assoc-ref inputs "gcc-toolchain")
-                                      "/lib")))
-                   `("ADMSXMLBINDIR" ":" prefix
-                     (,(string-append (assoc-ref inputs "adms") "/bin")))
-                   `("ASCOBINDIR" ":" prefix
-                     (,(string-append (assoc-ref inputs "asco") "/bin")))
-                   `("QUCS_OCTAVE" ":" prefix
-                     (,(string-append (assoc-ref inputs "octave") "/bin/octave")))))
-               #t)))
-         #:parallel-build? #f ; race condition
-         #:configure-flags '("--disable-doc"))) ; we need octave-epstk
-      (native-inputs
-       `(("autoconf" ,autoconf)
-         ("automake" ,automake)
-         ("bison" ,bison)
-         ("flex" ,flex)
-         ("gperf" ,gperf)
-         ("libtool-native" ,libtool)
-         ("pkg-config" ,pkg-config)
-         ("python" ,python-2) ; for tests
-         ("matplotlib" ,python2-matplotlib) ; for tests
-         ("numpy" ,python2-numpy) ; for tests
-         ("xorg-server" ,xorg-server-for-tests))) ; for tests
-      (inputs
-       `(("adms" ,adms)
-         ("asco" ,asco)
-         ("coreutils" ,coreutils)
-         ("freehdl" ,freehdl)
-         ("gcc-toolchain" ,gcc-toolchain)
-         ("iverilog" ,iverilog)
-         ("libtool" ,libtool)
-         ("octave" ,octave-cli)
-         ("qt4" ,qt-4)
-         ("sed" ,sed)))
-      (home-page "http://qucs.sourceforge.net/")
-      (synopsis "Circuit simulator with graphical user interface")
-      (description
-       "Qucs is a circuit simulator with graphical user interface.  The software
-aims to support all kinds of circuit simulation types---e.g. DC, AC,
-S-parameter, transient, noise and harmonic balance analysis.  Pure digital
-simulations are also supported.")
-      (license license:gpl2+))))
-
-(define-public qucs-s
-  (package
-    (name "qucs-s")
-    (version "0.0.21")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "https://github.com/ra3xdh/qucs_s/archive/"
-                                  version ".tar.gz"))
-              (file-name (string-append name "-" version ".tar.gz"))
-              (sha256
-               (base32
-                "12m1jwhb9qwvb141qzyskbxnw3wn1x22d02z4b4862p7xvccl5h7"))))
-    (build-system cmake-build-system)
-    (arguments
-     `(#:tests? #f ; no tests
-       #:phases
-       (modify-phases %standard-phases
-         (add-before 'configure 'patch-scripts
-           (lambda* (#:key inputs #:allow-other-keys)
-             (substitute* '("qucs/qucsdigi"
-                            "qucs/qucsdigilib"
-                            "qucs/qucsveri")
-               (("\\$BINDIR")
-                (string-append (assoc-ref inputs "qucs") "/bin"))
-               (("freehdl-config")
-                (string-append (assoc-ref inputs "freehdl") "/bin/freehdl-config"))
-               (("freehdl-v2cc")
-                (string-append (assoc-ref inputs "freehdl") "/bin/freehdl-v2cc"))
-               (("cp ")
-                (string-append (assoc-ref inputs "coreutils") "/bin/cp "))
-               (("glibtool")
-                (string-append (assoc-ref inputs "libtool") "/bin/libtool"))
-               (("sed")
-                (string-append (assoc-ref inputs "sed") "/bin/sed"))
-               (("iverilog")
-                (string-append (assoc-ref inputs "iverilog") "/bin/iverilog"))
-               (("vvp")
-                (string-append (assoc-ref inputs "iverilog") "/bin/vvp")))
-             #t))
-         (add-after 'patch-scripts 'patch-paths
-           (lambda* (#:key inputs #:allow-other-keys)
-             (substitute* "qucs/main.cpp"
-               (((string-append "QucsSettings\\.Qucsator = QucsSettings\\.BinDir "
-                                "\\+ \"qucsator\" \\+ executableSuffix"))
-                (string-append "}{ QucsSettings.Qucsator = \""
-                               (assoc-ref inputs "qucs") "/bin/qucsator\""))
-               (((string-append "QucsSettings\\.XyceExecutable = "
-                                "\"/usr/local/Xyce-Release-6.8.0-OPENSOURCE/bin/Xyce"))
-                (string-append "}{ QucsSettings.XyceExecutable = \""
-                               (assoc-ref inputs "xyce-serial") "/bin/Xyce"))
-               (((string-append "else QucsSettings\\.XyceParExecutable = "
-                                "\"mpirun -np %p /usr/local"
-                                "/Xyce-Release-6.8.0-OPENMPI-OPENSOURCE/bin/Xyce"))
-                (string-append "QucsSettings.XyceParExecutable = \""
-                               (assoc-ref inputs "mpi") "/bin/mpirun -np %p "
-                               (assoc-ref inputs "xyce-parallel") "/bin/Xyce"))
-               (("else QucsSettings\\.NgspiceExecutable = \"ngspice\"")
-                (string-append "QucsSettings.NgspiceExecutable = " "\""
-                               (assoc-ref inputs "ngspice") "/bin/ngspice\"")))
-             (substitute* "qucs/extsimkernels/ngspice.cpp"
-               (("share/qucs/xspice_cmlib") "share/qucs-s/xspice_cmlib"))
-             (substitute* "qucs/qucs_actions.cpp"
-               (("qucstrans")
-                (string-append (assoc-ref inputs "qucs") "/bin/qucstrans"))
-               (("qucsattenuator")
-                (string-append (assoc-ref inputs "qucs") "/bin/qucsattenuator"))
-               (("qucsrescodes")
-                (string-append (assoc-ref inputs "qucs") "/bin/qucsrescodes")))
-             #t))
-         (add-after 'install 'install-scripts
-           (lambda* (#:key inputs outputs #:allow-other-keys)
-             (for-each
-              (lambda (script)
-                (let ((file (string-append "../qucs_s-" ,version
-                                           "/qucs/" script))
-                      (out (assoc-ref outputs "out")))
-                  (install-file file (string-append out "/bin"))
-                  (chmod (string-append out "/bin/" script) #o555)))
-              '("qucsdigi" "qucsdigilib" "qucsveri"))
-             #t))
-         (add-after 'install-scripts 'make-wrapper
-           (lambda* (#:key inputs outputs #:allow-other-keys)
-             (let* ((out (assoc-ref outputs "out"))
-                    (file (string-append out "/bin/qucs-s"))
-                    (qucs (assoc-ref inputs "qucs"))
-                    (qucsator (string-append qucs "/bin/qucsator")))
-               (wrap-program file
-                 `("CPLUS_INCLUDE_PATH" ":" prefix
-                   (,(string-append (assoc-ref inputs "gcc-toolchain")
-                                    "/include")))
-                 `("PATH" ":" prefix
-                   (,(string-append (assoc-ref inputs "gcc-toolchain")
-                                    "/bin")))
-                 `("LIBRARY_PATH" ":" prefix
-                   (,(string-append (assoc-ref inputs "gcc-toolchain")
-                                    "/lib")))
-                 `("QUCSATOR" ":" prefix (,qucsator))
-                 `("QUCSCONV" ":" prefix (,(string-append qucsator "/bin/qucsconv")))
-                 `("ADMSXMLBINDIR" ":" prefix (,(string-append (assoc-ref inputs "adms")
-                                                               "/bin")))
-                 `("ASCOBINDIR" ":" prefix (,(string-append (assoc-ref inputs "asco")
-                                                            "/bin")))
-                 `("QUCS_OCTAVE" ":" prefix (,(string-append (assoc-ref inputs "octave")
-                                                             "/bin/octave"))))
-               (symlink qucsator (string-append out "/bin/qucsator"))
-               #t))))))
-    (native-inputs
-     `(("libtool-native" ,libtool)))
-    (inputs
-     `(("adms" ,adms)
-       ("asco" ,asco)
-       ("coreutils" ,coreutils)
-       ("freehdl" ,freehdl)
-       ("gcc-toolchain" ,gcc-toolchain)
-       ("iverilog" ,iverilog)
-       ("libtool" ,libtool)
-       ("mpi" ,openmpi)
-       ("ngspice" ,ngspice)
-       ("octave" ,octave-cli)
-       ("qt4" ,qt-4)
-       ("qucs" ,qucs)
-       ("sed" ,sed)
-       ("xyce-serial" ,xyce-serial)
-       ("xyce-parallel" ,xyce-parallel)))
-    (home-page "https://ra3xdh.github.io/")
-    (synopsis "Circuit simulator with graphical user interface")
-    (description
-     "Qucs-S is a spin-off of the Qucs cross-platform circuit simulator.
-The S letter indicates SPICE.  The purpose of the Qucs-S subproject is to use
-free SPICE circuit simulation kernels with the Qucs GUI.  It provides the
-simulator backends @code{Qucsator}, @code{ngspice} and @code{Xyce}.")
-    (license license:gpl2+)))
-
 (define-public librepcb
   (package
     (name "librepcb")
diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm
index 576a1c14ab..7264cb4e73 100644
--- a/gnu/packages/language.scm
+++ b/gnu/packages/language.scm
@@ -66,138 +66,6 @@
   #:use-module (guix git-download)
   #:use-module (guix utils))
 
-(define-public nimf
-  (package
-    (name "nimf")
-    (version "1.2")
-    (source
-     (origin
-       (method git-fetch)
-       (uri
-        (git-reference
-         (url "https://github.com/hamonikr/nimf.git")
-         (commit
-          (string-append "nimf-" version))))
-       (file-name
-        (git-file-name name version))
-       (sha256
-        (base32 "01qi7flmaqrn2fk03sa42r0caks9d8lsv88s0bgxahhxwk1x76gc"))))
-    (build-system glib-or-gtk-build-system)
-    (outputs '("out" "doc"))
-    (arguments
-     `(#:imported-modules
-       (,@%glib-or-gtk-build-system-modules
-        (guix build cmake-build-system)
-        (guix build qt-build-system))
-       #:modules
-       ((guix build glib-or-gtk-build-system)
-        ((guix build qt-build-system)
-         #:prefix qt:)
-        (guix build utils))
-       #:configure-flags
-       (list
-        "--with-im-config-data"
-        "--with-imsettings-data"
-        (string-append "--with-html-dir="
-                       (assoc-ref %outputs "doc")
-                       "/share/gtk-doc/html"))
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'patch-flags
-           (lambda* (#:key inputs #:allow-other-keys)
-             (substitute* "configure.ac"
-               (("-Werror")
-                "-Wno-error"))
-             #t))
-         (add-after 'patch-flags 'patch-docbook-xml
-           (lambda* (#:key inputs #:allow-other-keys)
-             (with-directory-excursion "docs"
-               (substitute* "nimf-docs.xml"
-                 (("http://www.oasis-open.org/docbook/xml/4.3/")
-                  (string-append (assoc-ref inputs "docbook-xml-4.3")
-                                 "/xml/dtd/docbook/"))))
-             #t))
-         (add-after 'patch-docbook-xml 'patch-paths
-           (lambda* (#:key inputs outputs #:allow-other-keys)
-             (substitute* "configure.ac"
-               (("/usr/share/anthy/anthy.dic")
-                (string-append (assoc-ref inputs "anthy")
-                               "/share/anthy/anthy.dic")))
-             (substitute* "configure.ac"
-               (("/usr/bin:\\$GTK3_LIBDIR/libgtk-3-0")
-                (string-append (assoc-ref inputs "gtk+:bin")
-                               "/bin:$GTK3_LIBDIR/libgtk-3-0"))
-               (("/usr/bin:\\$GTK2_LIBDIR/libgtk2.0-0")
-                (string-append (assoc-ref inputs "gtk+-2:bin")
-                               "/bin:$GTK2_LIBDIR/libgtk2.0-0")))
-             (substitute* "modules/clients/gtk/Makefile.am"
-               (("\\$\\(GTK3_LIBDIR\\)")
-                (string-append (assoc-ref outputs "out")
-                               "/lib"))
-               (("\\$\\(GTK2_LIBDIR\\)")
-                (string-append (assoc-ref outputs "out")
-                               "/lib")))
-             (substitute* "modules/clients/qt4/Makefile.am"
-               (("\\$\\(QT4_LIB_DIR\\)")
-                (string-append (assoc-ref outputs "out")
-                               "/lib")))
-             (substitute* "modules/clients/qt5/Makefile.am"
-               (("\\$\\(QT5_IM_MODULE_DIR\\)")
-                (string-append (assoc-ref outputs "out")
-                               "/lib/qt5/plugins/inputmethods")))
-             (substitute* '("bin/nimf-settings/Makefile.am"
-                            "data/apparmor-abstractions/Makefile.am"
-                            "data/Makefile.am" "data/im-config/Makefile.am"
-                            "data/imsettings/Makefile.am")
-               (("/etc")
-                (string-append (assoc-ref outputs "out")
-                               "/etc"))
-               (("/usr/share")
-                (string-append (assoc-ref outputs "out")
-                               "/share")))
-             #t))
-         (add-after 'install 'qt-wrap
-           (assoc-ref qt:%standard-phases 'qt-wrap)))))
-    (native-inputs
-     `(("autoconf" ,autoconf)
-       ("automake" ,automake)
-       ("docbook-xml-4.3" ,docbook-xml-4.3)
-       ("gettext" ,gettext-minimal)
-       ("gobject-introspection" ,gobject-introspection)
-       ("gtk+-2:bin" ,gtk+-2 "bin")
-       ("gtk+:bin" ,gtk+ "bin")
-       ("gtk-doc" ,gtk-doc)
-       ("intltool" ,intltool)
-       ("libtool" ,libtool)
-       ("perl" ,perl)
-       ("pkg-config" ,pkg-config)
-       ("which" ,which)))
-    (inputs
-     `(("anthy" ,anthy)
-       ("appindicator" ,libappindicator)
-       ("gtk+-2" ,gtk+-2)
-       ("gtk+" ,gtk+)
-       ("hangul" ,libhangul)
-       ("m17n-db" ,m17n-db)
-       ("m17n-lib" ,m17n-lib)
-       ("qt-4" ,qt-4)
-       ("qtbase" ,qtbase)
-       ("rime" ,librime)
-       ("rsvg" ,librsvg)
-       ("wayland" ,wayland)
-       ("wayland-protocols" ,wayland-protocols)
-       ("x11" ,libx11)
-       ("xkbcommon" ,libxkbcommon)
-       ("xklavier" ,libxklavier)))
-    (propagated-inputs
-     `(("glib" ,glib)))
-    (synopsis "Lightweight input method framework")
-    (description "Nimf is a lightweight, fast and extensible input method
-framework.  This package provides a fork of the original nimf project, that
-focusses especially on Korean input (Hangul, Hanja, ...).")
-    (home-page "https://github.com/hamonikr/nimf/")
-    (license license:lgpl3+)))
-
 (define-public hime
   (package
     (name "hime")
diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm
index 92c483f14b..8febe176c3 100644
--- a/gnu/packages/password-utils.scm
+++ b/gnu/packages/password-utils.scm
@@ -179,37 +179,6 @@ algorithms AES or Twofish.")
     ;; the combined work falls under the GPLv3.
     (license license:gpl3)))
 
-(define-public keepassx
-  (package
-    (name "keepassx")
-    (version "2.0.3")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (string-append "https://www.keepassx.org/releases/" version
-                           "/keepassx-" version ".tar.gz"))
-       (sha256
-        (base32
-         "1ia7cqx9ias38mnffsl7da7g1f66bcbjsi23k49sln0c6spb9zr3"))))
-    (build-system cmake-build-system)
-    (inputs
-     `(("libgcrypt" ,libgcrypt)
-       ("libxi" ,libxi)
-       ("libxtst" ,libxtst)
-       ("qt" ,qt-4)))
-    (native-inputs
-     `(("zlib" ,zlib)))
-    (home-page "https://www.keepassx.org")
-    (synopsis "Password manager")
-    (description "KeePassX is a password manager or safe which helps you to
-manage your passwords in a secure way.  You can put all your passwords in one
-database, which is locked with one master key or a key-file which can be stored
-on an external storage device.  The databases are encrypted using the
-algorithms AES or Twofish.")
-    ;; Non functional parts use various licences.
-    (license license:gpl3)
-    (properties `((superseded . ,keepassxc)))))
-
 (define-public pwsafe
   (package
     (name "pwsafe")
diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index e81c3caf87..ecc6d4d845 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -299,13 +299,6 @@ When present, Poppler is able to correctly render CJK and Cyrillic text.")
     (license (list license:bsd-3
                    license:gpl2))))
 
-(define-public poppler-qt4
-  (package/inherit poppler
-   (name "poppler-qt4")
-   (inputs `(("qt-4" ,qt-4)
-             ,@(package-inputs poppler)))
-   (synopsis "Qt4 frontend for the Poppler PDF rendering library")))
-
 (define-public poppler-qt5
   (package/inherit poppler
    (name "poppler-qt5")
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 11e69ff5db..f609d77254 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -244,210 +244,6 @@ other text such as code.  The syntax uses the syntax of the Django template
 system, and the core design of Django is reused in Grantlee.")
     (license license:lgpl2.1+)))
 
-(define-public qt-4
-  (package
-    (name "qt")
-    (version "4.8.7")
-    (source (origin
-             (method url-fetch)
-             (uri (string-append "http://download.qt-project.org/archive/qt/"
-                                 (string-copy version 0 (string-rindex version #\.))
-                                 "/" version
-                                 "/qt-everywhere-opensource-src-"
-                                 version ".tar.gz"))
-             (sha256
-              (base32
-               "183fca7n7439nlhxyg1z7aky0izgbyll3iwakw4gwivy16aj5272"))
-             (patches (search-patches "qt4-ldflags.patch"))
-             (modules '((guix build utils)))
-             (snippet
-              ;; Remove webkit module, which is not built.
-              '(begin (delete-file-recursively "src/3rdparty/webkit")
-                      #t))))
-    (build-system gnu-build-system)
-    (propagated-inputs
-     `(("mesa" ,mesa)))
-    (inputs
-     `(("alsa-lib" ,alsa-lib)
-       ("bluez" ,bluez)
-       ("cups" ,cups)
-       ("dbus" ,dbus)
-       ("double-conversion" ,double-conversion)
-       ("expat" ,expat)
-       ("fontconfig" ,fontconfig)
-       ("freetype" ,freetype)
-       ("glib" ,glib)
-       ("gstreamer" ,gstreamer)
-       ("gst-plugins-base" ,gst-plugins-base)
-       ("icu4c" ,icu4c)
-       ("jasper" ,jasper)
-       ("libinput" ,libinput-minimal)
-       ("libmng" ,libmng)
-       ("libpci" ,pciutils)
-       ("libpng" ,libpng)
-       ("libtiff" ,libtiff)
-       ("libwebp" ,libwebp)
-       ("libx11" ,libx11)
-       ("libxcomposite" ,libxcomposite)
-       ("libxcursor" ,libxcursor)
-       ("libxext" ,libxext)
-       ("libxfixes" ,libxfixes)
-       ("libxi" ,libxi)
-       ("libxinerama" ,libxinerama)
-       ("libxkbcommon" ,libxkbcommon)
-       ("libxml2" ,libxml2)
-       ("libxrandr" ,libxrandr)
-       ("libxrender" ,libxrender)
-       ("libxslt" ,libxslt)
-       ("libxtst" ,libxtst)
-       ("mtdev" ,mtdev)
-       ("mariadb-dev" ,mariadb "dev")
-       ("nss" ,nss)
-       ("postgresql" ,postgresql)
-       ("pulseaudio" ,pulseaudio)
-       ("pcre2" ,pcre2)
-       ("sqlite" ,sqlite)
-       ("udev" ,eudev)
-       ("unixodbc" ,unixodbc)
-       ("wayland" ,wayland)
-       ("xcb-util" ,xcb-util)
-       ("xcb-util-image" ,xcb-util-image)
-       ("xcb-util-keysyms" ,xcb-util-keysyms)
-       ("xcb-util-renderutil" ,xcb-util-renderutil)
-       ("xcb-util-wm" ,xcb-util-wm)
-       ("zlib" ,zlib)
-       ("libjpeg" ,libjpeg-turbo)
-       ("libsm" ,libsm)
-       ("openssl" ,openssl-1.0)))
-    (native-inputs
-     `(;; XXX: The JavaScriptCore engine does not build with the C++11 standard.
-       ;; We could build it with -std=gnu++98, but then we'll get in trouble with
-       ;; ICU later.  Just keep using GCC 5 for now.
-       ("gcc@5" ,gcc-5)
-       ("bison" ,bison)
-       ("flex" ,flex)
-       ("gperf" ,gperf)
-       ("perl" ,perl)
-       ("pkg-config" ,pkg-config)
-       ("python" ,python-2)
-       ("ruby" ,ruby)
-       ("which" ,(@ (gnu packages base) which))))
-    ;; Note: there are 37 MiB of examples and a '-exampledir' configure flags,
-    ;; but we can't make them a separate output because "out" and "examples"
-    ;; would refer to each other.
-    (outputs '("out"                             ;112MiB core + 37MiB examples
-               "doc"))                           ;280MiB of HTML + code
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-after 'set-paths 'hide-default-gcc
-           (lambda* (#:key inputs #:allow-other-keys)
-             (let ((gcc (assoc-ref inputs "gcc")))
-               ;; Remove the default GCC from CPLUS_INCLUDE_PATH to prevent
-               ;; conflicts with the GCC 5 input.
-               (setenv "CPLUS_INCLUDE_PATH"
-                       (string-join
-                        (delete (string-append gcc "/include/c++")
-                                (string-split (getenv "CPLUS_INCLUDE_PATH") #\:))
-                        ":"))
-               #t)))
-         (replace
-          'configure
-          (lambda* (#:key outputs #:allow-other-keys)
-            (let ((out (assoc-ref outputs "out"))
-                  (doc (assoc-ref outputs "doc")))
-              (substitute* '("configure")
-                (("/bin/pwd") (which "pwd")))
-              (substitute* "src/corelib/global/global.pri"
-                (("/bin/ls") (which "ls")))
-
-              (invoke
-                "./configure"
-                "-verbose"
-                "-prefix" out
-                "-nomake" "examples demos"
-                ;; Note: Don't pass '-docdir' since 'qmake' and
-                ;; libQtCore would record its value, thereby defeating
-                ;; the whole point of having a separate output.
-                "-datadir" (string-append out "/share/qt-" ,version
-                                          "/data")
-                "-importdir" (string-append out "/lib/qt-4"
-                                            "/imports")
-                "-plugindir" (string-append out "/lib/qt-4"
-                                            "/plugins")
-                "-translationdir" (string-append out "/share/qt-" ,version
-                                                 "/translations")
-                "-demosdir"    (string-append out "/share/qt-" ,version
-                                              "/demos")
-                "-examplesdir" (string-append out "/share/qt-" ,version
-                                              "/examples")
-                "-opensource"
-                "-confirm-license"
-                ;; explicitly link with dbus instead of dlopening it
-                "-dbus-linked"
-                ;; Skip the webkit module; it fails to build on armhf
-                ;; and, apart from that, may pose security risks.
-                "-no-webkit"
-                ;; don't use the precompiled headers
-                "-no-pch"
-                ;; drop special machine instructions not supported
-                ;; on all instances of the target
-                ,@(if (string-prefix? "x86_64"
-                                      (or (%current-target-system)
-                                          (%current-system)))
-                      '()
-                      '("-no-mmx"
-                        "-no-3dnow"
-                        "-no-sse"
-                        "-no-sse2"))
-                "-no-sse3"
-                "-no-ssse3"
-                "-no-sse4.1"
-                "-no-sse4.2"
-                "-no-avx"))))
-         (add-after
-          'install 'move-doc
-          (lambda* (#:key outputs #:allow-other-keys)
-            ;; Because of qt4-documentation-path.patch, documentation ends up
-            ;; being installed in OUT.  Move it to the right place.
-            (let* ((out    (assoc-ref outputs "out"))
-                   (doc    (assoc-ref outputs "doc"))
-                   (olddoc (string-append out "/doc"))
-                   (docdir (string-append doc "/share/doc/qt-" ,version)))
-              (mkdir-p (dirname docdir))
-
-              ;; Note: We can't use 'rename-file' here because OUT and DOC are
-              ;; different "devices" due to bind-mounts.
-              (copy-recursively olddoc docdir)
-              (delete-file-recursively olddoc)
-              #t))))))
-    (native-search-paths
-     (list (search-path-specification
-            (variable "QMAKEPATH")
-            (files '("lib/qt5")))
-           (search-path-specification
-            (variable "QML2_IMPORT_PATH")
-            (files '("lib/qt5/qml")))
-           (search-path-specification
-            (variable "QT_PLUGIN_PATH")
-            (files '("lib/qt5/plugins")))
-           (search-path-specification
-            (variable "XDG_DATA_DIRS")
-            (files '("share")))
-           (search-path-specification
-            (variable "XDG_CONFIG_DIRS")
-            (files '("etc/xdg")))))
-    (home-page "https://www.qt.io/")
-    (synopsis "Cross-platform GUI library")
-    (description "Qt is a cross-platform application and UI framework for
-developers using C++ or QML, a CSS & JavaScript like language.")
-    (license (list license:lgpl2.1 license:lgpl3))
-
-    ;; Qt 4: 'QBasicAtomicPointer' leads to build failures on MIPS;
-    ;; see <http://hydra.gnu.org/build/112828>.
-    ;; Qt 5: assembler error; see <http://hydra.gnu.org/build/112526>.
-    (supported-systems (delete "mips64el-linux" %supported-systems))))
-
 (define (qt5-urls component version)
   "Return a list of URLs for VERSION of the Qt5 COMPONENT."
   ;; We can't use a mirror:// scheme because these URLs are not exact copies:
@@ -2253,53 +2049,6 @@ itself.")
       ("qtwebchannel" ,qtwebchannel)
       ("qtwebengine" ,qtwebengine)))))
 
-(define-public python2-pyqt-4
-  (package (inherit python-pyqt)
-    (name "python2-pyqt")
-    (version "4.12.3")
-    (source
-      (origin
-        (method url-fetch)
-        (uri
-          (string-append "mirror://sourceforge/pyqt/PyQt4/"
-                         "PyQt-" version "/PyQt4_gpl_x11-"
-                         version ".tar.gz"))
-        (sha256
-         (base32
-          "0wnlasg62rm5d39nq1yw4namcx2ivxgzl93r5f2vb9s0yaz5l3x0"))))
-    (native-inputs
-     `(("qt" ,qt-4)))
-    (inputs `(("python" ,python-2)))
-    (propagated-inputs
-     `(("python-sip" ,python2-sip)))
-    (arguments
-     `(#:tests? #f ; no check target
-       #:modules ((srfi srfi-1)
-                  ,@%gnu-build-system-modules)
-       #:phases
-       (modify-phases %standard-phases
-         (replace 'configure
-           (lambda* (#:key inputs outputs #:allow-other-keys)
-             (let* ((out (assoc-ref outputs "out"))
-                    (bin (string-append out "/bin"))
-                    (sip (string-append out "/share/sip"))
-                    (python (assoc-ref inputs "python"))
-                    (python-version
-                      (last (string-split python #\-)))
-                    (python-major+minor
-                      (string-join
-                        (take (string-split python-version #\.) 2)
-                        "."))
-                    (lib (string-append out "/lib/python"
-                                        python-major+minor
-                                        "/site-packages")))
-               (invoke "python" "configure.py"
-                       "--confirm-license"
-                       "--bindir" bin
-                       "--destdir" lib
-                       "--sipdir" sip)))))))
-    (license (list license:gpl2 license:gpl3)))) ; choice of either license
-
 (define-public python-qtpy
   (package
     (name "python-qtpy")
diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm
index 82d1dc463c..e0e5282f22 100644
--- a/gnu/packages/telegram.scm
+++ b/gnu/packages/telegram.scm
@@ -261,315 +261,6 @@ Telegram project, for its use in telegram desktop client.")
           ("libtool" ,libtool)
           ("pkg-config" ,pkg-config)))))))
 
-(define-public telegram-desktop
-  (package
-    (name "telegram-desktop")
-    (version "2.5.9")
-    (source
-     (origin
-       (method git-fetch)
-       (uri
-        (git-reference
-         (url "https://github.com/telegramdesktop/tdesktop.git")
-         (commit
-          (string-append "v" version))))
-       (file-name
-        (git-file-name name version))
-       (sha256
-        (base32 "1lqs06scqvzg37a2py8jk7nnlvk42jjifcpnhdd5rgd5biw70nyx"))
-       (modules '((guix build utils)
-                  (ice-9 ftw)
-                  (srfi srfi-1)))
-       (snippet
-        `(begin
-           (let ((keep
-                  '( ;; Not available in Guix.
-                    "SPMediaKeyTap" "statusnotifieritem" "tgcalls")))
-             (with-directory-excursion "Telegram/ThirdParty"
-               (for-each delete-file-recursively
-                         (lset-difference string=?
-                                          (scandir ".")
-                                          (cons* "." ".." keep))))
-             #t)))))
-    (build-system qt-build-system)
-    (arguments
-     `(#:tests? #f                      ; No target
-       #:imported-modules
-       (,@%qt-build-system-modules
-        (guix build glib-or-gtk-build-system))
-       #:modules
-       ((guix build qt-build-system)
-        ((guix build glib-or-gtk-build-system)
-         #:prefix glib-or-gtk:)
-        (guix build utils)
-        (ice-9 match))
-       #:configure-flags
-       (list
-        ;; Client applications must provide their own API-ID and API-HASH,
-        ;; see also <https://core.telegram.org/api/obtaining_api_id>.
-        ;; In case, that the credentials below fail to work, contact
-        ;;   Raghav Gururajan <[email-masked]>
-        "-DTDESKTOP_API_ID=2791056"
-        "-DTDESKTOP_API_HASH=582d6d0b44f7a2de949e99271fd8b3f2"
-        ;; Use bundled fonts as fallback.
-        "-DDESKTOP_APP_USE_PACKAGED_FONTS=OFF")
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'make-writable
-           (lambda _
-             (for-each make-file-writable (find-files "."))
-             #t))
-         (add-after 'make-writable 'copy-inputs
-           (lambda* (#:key inputs outputs #:allow-other-keys)
-             (for-each
-              (match-lambda
-                ((dst src)
-                 (copy-recursively src dst)
-                 (for-each make-file-writable (find-files dst))))
-              `(("cmake" ,(assoc-ref inputs "cmake-helpers"))
-                ("Telegram/codegen" ,(assoc-ref inputs "codegen-source"))
-                ("Telegram/lib_base" ,(assoc-ref inputs "lib-base-source"))
-                ("Telegram/lib_crl" ,(assoc-ref inputs "lib-crl-source"))
-                ("Telegram/lib_lottie"
-                 ,(assoc-ref inputs "lib-lottie-source"))
-                ("Telegram/lib_qr" ,(assoc-ref inputs "lib-qr-source"))
-                ("Telegram/lib_rlottie"
-                 ,(assoc-ref inputs "lib-rlottie-source"))
-                ("Telegram/lib_rpl" ,(assoc-ref inputs "lib-rpl-source"))
-                ("Telegram/lib_spellcheck"
-                 ,(assoc-ref inputs "lib-spellcheck-source"))
-                ("Telegram/lib_storage"
-                 ,(assoc-ref inputs "lib-storage-source"))
-                ("Telegram/lib_tl" ,(assoc-ref inputs "lib-tl-source"))
-                ("Telegram/lib_ui" ,(assoc-ref inputs "lib-ui-source"))
-                ("Telegram/lib_webrtc" ,(assoc-ref inputs "lib-webrtc-source"))
-                ("Telegram/ThirdParty/tgcalls"
-                 ,(assoc-ref inputs "tgcalls-source"))))
-             #t))
-         (add-before 'configure 'patch-cxx-flags
-           (lambda _
-             (substitute* "cmake/options_linux.cmake"
-               (("class-memaccess") "all"))
-             #t))
-         (add-after 'install 'glib-or-gtk-compile-schemas
-           (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas))
-         (add-after 'glib-or-gtk-compile-schemas 'glib-or-gtk-wrap
-           (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
-    (native-inputs
-     `(("cmake-helpers"
-        ,(origin
-           (method git-fetch)
-           (uri
-            (git-reference
-             (url "https://github.com/desktop-app/cmake_helpers.git")
-             (commit "695fabda6830b58bdc02d09db70531d5dececcd0")))
-           (file-name
-            (git-file-name "cmake-helpers-for-telegram-desktop" version))
-           (sha256
-            (base32 "1j3ppgfmihcjl22w5jk8jhwif10i9wbycq5zqnssn6pnhnj7di5i"))))
-       ("cmake-shared" ,cmake-shared)
-       ("extra-cmake-modules" ,extra-cmake-modules)
-       ("gcc" ,gcc-9)
-       ("glib:bin" ,glib "bin")
-       ("gobject-introspection" ,gobject-introspection)
-       ("gtk+:bin" ,gtk+ "bin")
-       ("pkg-config" ,pkg-config)
-       ("python" ,python-wrapper)
-       ("qttools" ,qttools)))
-    (inputs
-     `(("alsa" ,alsa-lib)
-       ("c++-gsl" ,c++-gsl)
-       ("catch" ,catch-framework2)
-       ("codegen-source"
-        ,(origin
-           (method git-fetch)
-           (uri
-            (git-reference
-             (url "https://github.com/desktop-app/codegen.git")
-             (commit "127968de8129e8ccfa6ac50721c70415a5a087c3")))
-           (file-name
-            (git-file-name "codegen" version))
-           (sha256
-            (base32 "036hzjrsk134ky62192nra43rsln5kh5gz20q1920s922661zky2"))))
-       ("expected" ,libexpected)
-       ("fcitx-qt5" ,fcitx-qt5)
-       ("fcitx5-qt" ,fcitx5-qt)
-       ("ffmpeg" ,ffmpeg)
-       ("glib" ,glib)
-       ("gtk+" ,gtk+)
-       ("hime" ,hime)
-       ("hunspell" ,hunspell)
-       ("iconv" ,libiconv)
-       ("kwayland" ,kwayland)
-       ("lib-base-source"
-        ,(origin
-           (method git-fetch)
-           (uri
-            (git-reference
-             (url "https://github.com/desktop-app/lib_base.git")
-             (commit "f1e4168081428fa451d2f50eee7b1c448268c43a")))
-           (file-name
-            (git-file-name "lib-base-for-telegram-desktop" version))
-           (sha256
-            (base32 "0piqp7llwi7sfy4c15g0p8ihr90rz1qps6q5fkl1iasrf5ysw8qc"))))
-       ("lib-crl-source"
-        ,(origin
-           (method git-fetch)
-           (uri
-            (git-reference
-             (url "https://github.com/desktop-app/lib_crl.git")
-             (commit "16150bf71d79382738114b913f137ec1a1a7630c")))
-           (file-name
-            (git-file-name "lib-crl-for-telegram-desktop" version))
-           (sha256
-            (base32 "0qhagdr26aqb9w7wnchcmk1j7ln28x3wbkkkm06b8h0mybksbj7q"))))
-       ("lib-lottie-source"
-        ,(origin
-           (method git-fetch)
-           (uri
-            (git-reference
-             (url "https://github.com/desktop-app/lib_lottie.git")
-             (commit "fb40f379d82ffa1fc7506e9a8dddcf48847715ae")))
-           (file-name
-            (git-file-name "lib-lottie-for-telegram-desktop" version))
-           (sha256
-            (base32 "1vq0mqxcrrv7akcqk9cl4mm61zw6dcfmy8adl0pcp49kynm64saw"))))
-       ("lib-qr-source"
-        ,(origin
-           (method git-fetch)
-           (uri
-            (git-reference
-             (url "https://github.com/desktop-app/lib_qr.git")
-             (commit "92ce41a690a463eb462089a4eb1e51e019308018")))
-           (file-name
-            (git-file-name "lib-qr-for-telegram-desktop" version))
-           (sha256
-            (base32 "182939nv7xs9b3bgah3gl5y9hx5r59mabd2jw3z6717vc96qi2pj"))))
-       ("lib-rlottie-source"
-        ,(origin
-           (method git-fetch)
-           (uri
-            (git-reference
-             (url "https://github.com/desktop-app/lib_rlottie.git")
-             (commit "0671bf70547381effcf442ec9618e04502a8adbc")))
-           (file-name
-            (git-file-name "lib-rlottie-for-telegram-desktop" version))
-           (sha256
-            (base32 "05qnza7j15356s8jq16pkbyp4zr586lssmd86lz5jq23lcb3raxv"))))
-       ("lib-rpl-source"
-        ,(origin
-           (method git-fetch)
-           (uri
-            (git-reference
-             (url "https://github.com/desktop-app/lib_rpl.git")
-             (commit "e1b96399d9031c4ef0354631e6bb375029d29d9f")))
-           (file-name
-            (git-file-name "lib-rpl-for-telegram-desktop" version))
-           (sha256
-            (base32 "1wvqazljd2kq1fxlj250jhjrig529499bym9p81dx33kh1l9dgss"))))
-       ("lib-spellcheck-source"
-        ,(origin
-           (method git-fetch)
-           (uri
-            (git-reference
-             (url "https://github.com/desktop-app/lib_spellcheck.git")
-             (commit "1b540b38ed78e9a3cba93e9ba4ce4525ab692277")))
-           (file-name
-            (git-file-name "lib-spellcheck-for-telegram-desktop" version))
-           (sha256
-            (base32 "0a7042h5zrdvgs7v153ral2dh1zj84di5yjcmgcry5k4s1im9di7"))))
-       ("lib-storage-source"
-        ,(origin
-           (method git-fetch)
-           (uri
-            (git-reference
-             (url "https://github.com/desktop-app/lib_storage.git")
-             (commit "cbe51722b73cfa9ff27bd59294b08aa5ee33c936")))
-           (file-name
-            (git-file-name "lib-storage-for-telegram-desktop" version))
-           (sha256
-            (base32 "045l5xsyagyz17gbhmmvl2miss4nb92p0dmza7yfs9pkg9gs0f87"))))
-       ("lib-tl-source"
-        ,(origin
-           (method git-fetch)
-           (uri
-            (git-reference
-             (url "https://github.com/desktop-app/lib_tl.git")
-             (commit "404c83d77e5edb8a39f8e9f56a6340960fe5070e")))
-           (file-name
-            (git-file-name "lib-tl-for-telegram-desktop" version))
-           (sha256
-            (base32 "1k34nkvvcjqw5q81n1qmklid60cvzjk4lmn9qjimk437m6wbii7f"))))
-       ("lib-ui-source"
-        ,(origin
-           (method git-fetch)
-           (uri
-            (git-reference
-             (url "https://github.com/desktop-app/lib_ui.git")
-             (commit "e14bc4681d69c1b538b8c5af51501077ae5a8a86")))
-           (file-name
-            (git-file-name "lib-ui-for-telegram-desktop" version))
-           (sha256
-            (base32 "04b1x4bswk3bxqrwpv5g7w4frkprrwf0px6aibh6z4drinv08wsv"))))
-       ("lib-webrtc-source"
-        ,(origin
-           (method git-fetch)
-           (uri
-            (git-reference
-             (url "https://github.com/desktop-app/lib_webrtc.git")
-             (commit "60d5c43daf882a6c03944a3e6198b5f35b654a0e")))
-           (file-name
-            (git-file-name "lib-webrtc-for-telegram-desktop" version))
-           (sha256
-            (base32 "0mxmbw8i37axllg9h976p6np2gcfyci6xwwl9hc9mhs49vwwsw5s"))))
-       ("libdbusmenu-qt" ,libdbusmenu-qt)
-       ("libjpeg" ,libjpeg-turbo)
-       ("libtgvoip" ,libtgvoip-for-telegram-desktop)
-       ("lz4" ,lz4)
-       ("materialdecoration" ,materialdecoration)
-       ("minizip" ,minizip)
-       ("nimf" ,nimf)
-       ("openal" ,openal)
-       ("openssl" ,openssl)
-       ("opus" ,opus)
-       ("pulseaudio" ,pulseaudio)
-       ("qrcodegen" ,qrcodegen-cpp)
-       ("qt" ,qtbase)
-       ("qt5ct" ,qt5ct)
-       ("qtimageformats" ,qtimageformats)
-       ("qtwayland" ,qtwayland)
-       ("range-v3" ,range-v3)
-       ("rlottie" ,rlottie-for-telegram-desktop)
-       ("tgcalls-source"
-        ,(origin
-           (method git-fetch)
-           (uri
-            (git-reference
-             (url "https://github.com/TelegramMessenger/tgcalls.git")
-             (commit "71addf5b41cb6bb6844f75e977edae0020938930")))
-           (file-name
-            (git-file-name "tgcalls-for-telegram-desktop" version))
-           (sha256
-            (base32 "1zrjxf03n3ad8b95gwjarmq4gj5i5cwhlg93qcjv2232kksh29iy"))))
-       ("webrtc" ,webrtc-for-telegram-desktop)
-       ("x11" ,libx11)
-       ("xcb" ,libxcb)
-       ("xcb-keysyms" ,xcb-util-keysyms)
-       ("xxhash" ,xxhash)
-       ("zlib" ,zlib)))
-    (propagated-inputs
-     `(("dconf" ,dconf)))
-    (synopsis "Telegram Desktop")
-    (description "Telegram desktop is the official desktop version of the
-Telegram instant messenger.")
-    (home-page "https://desktop.telegram.org/")
-    (license
-     (list
-      ;; ThirdParty
-      license:lgpl2.1+
-      ;; Others
-      license:gpl3+))))
-
 (define-public tl-parser
   (let ((commit "1933e76f8f4fb74311be723b432e4c56e3a5ec06")
         (revision "21"))
-- 
2.30.1