~ruther/guix-local

067541d3aaa9921548d1758017ca3ba065f7dc52 — Andreas Enge 8 months ago 20013ba
gnu: Remove linuxdcpp.

* gnu/packages/patches/linuxdcpp-openssl-1.1.patch,
gnu/packages/direct-connect.scm: Remove files.
* gnu/local.mk (dist_patch_DATA): Unregister patch.
(GNU_SYSTEM_MODULES): Unregister module.

Fixes: guix/guix#1573
Change-Id: I5bb0a894a5964576f0307264e23cade3b9532732
3 files changed, 0 insertions(+), 115 deletions(-)

M gnu/local.mk
D gnu/packages/direct-connect.scm
D gnu/packages/patches/linuxdcpp-openssl-1.1.patch
M gnu/local.mk => gnu/local.mk +0 -2
@@ 245,7 245,6 @@ GNU_SYSTEM_MODULES =				\
  %D%/packages/dictionaries.scm			\
  %D%/packages/diffoscope.scm			\
  %D%/packages/digest.scm			\
  %D%/packages/direct-connect.scm		\
  %D%/packages/disk.scm			\
  %D%/packages/distributed.scm			\
  %D%/packages/display-managers.scm		\


@@ 1815,7 1814,6 @@ dist_patch_DATA =						\
  %D%/packages/patches/linux-libre-arm64-mnt-reform-revert-vop2-display-modes.patch	\
  %D%/packages/patches/linux-pam-no-setfsuid.patch		\
  %D%/packages/patches/linux-pam-unix_chkpwd.patch		\
  %D%/packages/patches/linuxdcpp-openssl-1.1.patch		\
  %D%/packages/patches/lirc-localstatedir.patch			\
  %D%/packages/patches/lirc-reproducible-build.patch		\
  %D%/packages/patches/llvm-3.5-fix-clang-build-with-gcc5.patch	\

D gnu/packages/direct-connect.scm => gnu/packages/direct-connect.scm +0 -87
@@ 1,87 0,0 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2022 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.

(define-module (gnu packages direct-connect)
  #:use-module (guix build-system scons)
  #:use-module (guix deprecation)
  #:use-module (guix gexp)
  #:use-module ((guix licenses) #:prefix license:)
  #:use-module (guix packages)
  #:use-module (guix download)
  #:use-module (gnu packages)
  #:use-module (gnu packages boost)
  #:use-module (gnu packages build-tools)
  #:use-module (gnu packages compression)
  #:use-module (gnu packages gettext)
  #:use-module (gnu packages gnome)
  #:use-module (gnu packages gtk)
  #:use-module (gnu packages pkg-config)
  #:use-module (gnu packages tls)
  #:use-module (gnu packages version-control))

;; TODO Remove on the next python-team iteration.
;; Unmaintained for 14 years, tried updating it here:
;; https://lists.sr.ht/~ngraves/devel/patches/60080
;; but it's too hard for most likely no users.
;; If you use this package, let python-team know or try to fix it.
(define-deprecated/public linuxdcpp #f
  (package
    (name "linuxdcpp")
    (version "1.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (string-append
             "https://launchpad.net/linuxdcpp/1.1/1.1.0/+download/linuxdcpp-"
             version ".tar.bz2"))
       (sha256
        (base32 "12i92hirmwryl1qy0n3jfrpziwzb82f61xca9jcjwyilx502f0b6"))
       (patches (search-patches "linuxdcpp-openssl-1.1.patch"))
       (modules '((guix build utils)))
       (snippet
        #~(begin
            (substitute* "SConstruct"
              ;; This compares single char[]acters in the version string, and
              ;; broke when GCC went into double digits.
              (("conf.CheckCXXVersion\\([^\\)]*\\)")
               "True")
              ;; Not all valid C++98 code is valid C++14 (and higher) code.
              (("'-D_REENTRANT'" match)
               (string-append match ", '-std=gnu++98'")))))))
    (build-system scons-build-system)
    (arguments
     `(#:scons ,scons-python2
       #:scons-flags (list (string-append "PREFIX=" %output))
       #:tests? #f)) ; no tests
    (inputs
     (list boost
           bzip2
           gtk+-2
           libglade
           libnotify
           openssl))
    (native-inputs
     (list bazaar gettext-minimal pkg-config))
    (home-page "https://launchpad.net/linuxdcpp/")
    (synopsis "Direct Connect client")
    (description "LinuxDC++ is a Direct Connect (DC) client.  Direct Connect
is a peer-to-peer file-sharing protocol.  Clients connect to a central hub
where they can chat or share files with one another.  Users can view other
users' list of shared files or search the hub for files.")
    (license license:gpl2+)))

D gnu/packages/patches/linuxdcpp-openssl-1.1.patch => gnu/packages/patches/linuxdcpp-openssl-1.1.patch +0 -26
@@ 1,26 0,0 @@
--- a/dcpp/CryptoManager.cpp.orig	2011-04-17 17:57:09 UTC
+++ b/dcpp/CryptoManager.cpp
@@ -107,12 +107,20 @@ CryptoManager::CryptoManager()
                 };
 
 		if(dh) {
-			dh->p = BN_bin2bn(dh4096_p, sizeof(dh4096_p), 0);
-			dh->g = BN_bin2bn(dh4096_g, sizeof(dh4096_g), 0);
+			BIGNUM *p, *g;
 
-			if (!dh->p || !dh->g) {
+			p = BN_bin2bn(dh4096_p, sizeof(dh4096_p), 0);
+			g = BN_bin2bn(dh4096_g, sizeof(dh4096_g), 0);
+
+			if (!p || !g) {
 				dh.reset();
 			} else {
+#if OPENSSL_VERSION_NUMBER < 0x10100005L
+				dh->p = p;
+				dh->g = g;
+#else
+				DH_set0_pqg(dh, p, NULL, g);
+#endif
 				SSL_CTX_set_options(serverContext, SSL_OP_SINGLE_DH_USE);
 				SSL_CTX_set_options(serverVerContext, SSL_OP_SINGLE_DH_USE);
 				SSL_CTX_set_tmp_dh(serverContext, (DH*)dh);