From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id ePNOBAQX9l/ETwAA0tVLHw (envelope-from ) for ; Wed, 06 Jan 2021 20:01:08 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0 with LMTPS id WFUgAAQX9l/WWQAA1q6Kng (envelope-from ) for ; Wed, 06 Jan 2021 20:01:08 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id D67C39404C8 for ; Wed, 6 Jan 2021 20:01:06 +0000 (UTC) Received: from localhost ([::1]:53820 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kxEzR-0000c5-K8 for larch@yhetil.org; Wed, 06 Jan 2021 15:01:05 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:43174) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kxEyR-0000at-K5 for guix-patches@gnu.org; Wed, 06 Jan 2021 15:00:03 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:34093) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kxEyQ-0004m7-2r for guix-patches@gnu.org; Wed, 06 Jan 2021 15:00:03 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1kxEyQ-0001jE-23 for guix-patches@gnu.org; Wed, 06 Jan 2021 15:00:02 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#45704] [PATCH] gnu: Remove QT 4. Resent-From: Leo Famulari Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 06 Jan 2021 20:00:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 45704 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 45704@debbugs.gnu.org X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.16099631466556 (code B ref -1); Wed, 06 Jan 2021 20:00:01 +0000 Received: (at submit) by debbugs.gnu.org; 6 Jan 2021 19:59:06 +0000 Received: from localhost ([127.0.0.1]:45640 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kxExW-0001hg-EO for submit@debbugs.gnu.org; Wed, 06 Jan 2021 14:59:06 -0500 Received: from lists.gnu.org ([209.51.188.17]:46930) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kxExU-0001hY-EF for submit@debbugs.gnu.org; Wed, 06 Jan 2021 14:59:04 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:43082) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kxExU-00006P-4k for guix-patches@gnu.org; Wed, 06 Jan 2021 14:59:04 -0500 Received: from out1-smtp.messagingengine.com ([66.111.4.25]:51821) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kxExM-0004Wo-Ll for guix-patches@gnu.org; Wed, 06 Jan 2021 14:59:00 -0500 Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.nyi.internal (Postfix) with ESMTP id CF46A5C00ED; Wed, 6 Jan 2021 14:58:55 -0500 (EST) Received: from mailfrontend2 ([10.202.2.163]) by compute3.internal (MEProxy); Wed, 06 Jan 2021 14:58:55 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=famulari.name; h=from:to:subject:date:message-id:mime-version:content-type :content-transfer-encoding; s=mesmtp; bh=mM2y9awmNVYKXXNvLx+wl47 VhJahCE/YlNePi7AcCBk=; b=omAG4aMSu6mSktVTcFraZLSmb12t4CU4hI9MAyR 9NNG6HGJ5826fv5lAOY+WjRrAP7MdmNESBVwgVc759twrBbFv7vbEXIbFk9k1eoU /rSt5GOCpyyPsPrBDWRcBf+ETabIoHbsFPrOTtwGOLPCoYsoTiC/G4B5y/Tc42oX bJGQ= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-transfer-encoding:content-type :date:from:message-id:mime-version:subject:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; bh=mM2y9a wmNVYKXXNvLx+wl47VhJahCE/YlNePi7AcCBk=; b=m/322amN2+M4Bb6jqfGywO WimpB7pptAnVtl6yp5HYI91QpmfLbqhtYZk9PQeZU0SjFCa1rdLzR4aiT5hYnriQ ObcCGuBPvCuHGoEvc62HWHWfj7dQ8T5Rn2twi/JmrNFybzJqZHlLo96zQ9oDCKEY izNfub4Lyneu9uvvVWkZ5QhzqHjT2zZk0YI4IR2AVV31mIPtImilHWucihk8JHho 8p+8dVQtWznrD/gktLZsgCW7L2f+mQCvpTdHiyhH1srobV9esqrzhchZIbyf725f bsjQT97VSdKR7wNPNob8M/F8G3k/RSrj4osz7GgiFoGgHScAJxkEjEyEfqJ+zt/A == X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedujedrvdegtddgfeeiucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucgoufhushhpvggtthffohhmrghinhculdegledmne gfrhhlucfvnfffucdlhedmnecujfgurhephffvufffkffogggtgfesthhqredtredtjeen ucfhrhhomhepnfgvohcuhfgrmhhulhgrrhhiuceolhgvohesfhgrmhhulhgrrhhirdhnrg hmvgeqnecuggftrfgrthhtvghrnhepieevtefgudetudfffeeigedukedugeehudefkedu hfffgfehvdekheelueehgeetnecuffhomhgrihhnpehgnhhurdhorhhgpdhgihhthhhusg drtghomhdprghvohhgrggurhhordgttgdpthhiphhpuddtrdgtohhmpdhsohhurhgtvghf ohhrghgvrdhnvghtpdhgihhthhhusgdrihhopdgsihhtmhgvshhsrghgvgdrohhrghdpkh gvvghprghsshigrdhorhhgpdguvggsihgrnhdrnhgvthdpqhhtqdhprhhojhgvtghtrdho rhhgpdhqthdrihhonecukfhppeejfedrudeguddruddvjedrudegieenucevlhhushhtvg hrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehlvghosehfrghmuhhlrghr ihdrnhgrmhgv X-ME-Proxy: Received: from jasmine.lan (c-73-141-127-146.hsd1.pa.comcast.net [73.141.127.146]) by mail.messagingengine.com (Postfix) with ESMTPA id 0D7E21080059 for ; Wed, 6 Jan 2021 14:58:55 -0500 (EST) From: Leo Famulari Date: Wed, 6 Jan 2021 14:58:37 -0500 Message-Id: X-Mailer: git-send-email 2.30.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=66.111.4.25; envelope-from=leo@famulari.name; helo=out1-smtp.messagingengine.com X-Spam_score_int: -7 X-Spam_score: -0.8 X-Spam_bar: / X-Spam_report: (-0.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, PDS_OTHER_BAD_TLD=1.999, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: "Guix-patches" X-Migadu-Flow: FLOW_IN X-Migadu-Spam-Score: -0.86 Authentication-Results: aspmx1.migadu.com; dkim=fail (headers rsa verify failed) header.d=famulari.name header.s=mesmtp header.b=omAG4aMS; dkim=fail (headers rsa verify failed) header.d=messagingengine.com header.s=fm1 header.b=m/322amN; dmarc=none; spf=pass (aspmx1.migadu.com: domain of guix-patches-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-patches-bounces@gnu.org X-Migadu-Queue-Id: D67C39404C8 X-Spam-Score: -0.86 X-Migadu-Scanner: scn0.migadu.com X-TUID: UnjyjJqz94kf This package has been unsupported upstream for several years: https://lists.gnu.org/archive/html/guix-devel/2016-02/msg00596.html I suggest we apply this patch as part of a major update =E2=80=94 either a = core-updates merge, or a new release. We should notify the people who contributed or maintained the affected pack= ages so that they have ample time to update the packages and avoid their removal. What do you think? * gnu/packages/qt.scm (qt-4, python2-pyqt-4): Remove variables. * gnu/packages/chemistry.scm (avogadro): Remove variable. * gnu/packages/education.scm (tipp10): Remove variable. * gnu/packages/engineering.scm (qucs, qucs-s): Remove variables. * gnu/packages/messaging.scm (pybitmessage): Remove variable. * gnu/packages/password-utils.scm (keepassx): Remove variable. * gnu/packages/pdf.scm (poppler-qt4): Remove variable. * gnu/packages/patches/avogadro-boost148.patch, gnu/packages/patches/avogadro-eigen3-update.patch, gnu/packages/patches/avogadro-python-eigen-lib.patch, gnu/packages/patches/tipp10-fix-compiling.patch, gnu/packages/patches/tipp10-remove-license-code.patch: Delete files. * gnu/local.mk (dist_patch_DATA): Remove them. --- gnu/local.mk | 5 - gnu/packages/chemistry.scm | 85 --- gnu/packages/education.scm | 53 -- gnu/packages/engineering.scm | 250 -------- gnu/packages/messaging.scm | 93 --- gnu/packages/password-utils.scm | 31 - gnu/packages/patches/avogadro-boost148.patch | 69 -- .../patches/avogadro-eigen3-update.patch | 603 ------------------ .../patches/avogadro-python-eigen-lib.patch | 161 ----- .../patches/tipp10-fix-compiling.patch | 212 ------ .../patches/tipp10-remove-license-code.patch | 332 ---------- gnu/packages/pdf.scm | 7 - gnu/packages/qt.scm | 251 -------- 13 files changed, 2152 deletions(-) delete mode 100644 gnu/packages/patches/avogadro-boost148.patch delete mode 100644 gnu/packages/patches/avogadro-eigen3-update.patch delete mode 100644 gnu/packages/patches/avogadro-python-eigen-lib.patch delete mode 100644 gnu/packages/patches/tipp10-fix-compiling.patch delete mode 100644 gnu/packages/patches/tipp10-remove-license-code.patch diff --git a/gnu/local.mk b/gnu/local.mk index 1151d4642e..0a03a4e3a7 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -820,9 +820,6 @@ dist_patch_DATA =3D \ %D%/packages/patches/audiofile-function-signature.patch \ %D%/packages/patches/automake-skip-amhello-tests.patch \ %D%/packages/patches/avahi-localstatedir.patch \ - %D%/packages/patches/avogadro-boost148.patch \ - %D%/packages/patches/avogadro-eigen3-update.patch \ - %D%/packages/patches/avogadro-python-eigen-lib.patch \ %D%/packages/patches/avidemux-install-to-lib.patch \ %D%/packages/patches/awesome-reproducible-png.patch \ %D%/packages/patches/aws-c-event-stream-cmake-prefix.patch \ @@ -1663,8 +1660,6 @@ dist_patch_DATA =3D \ %D%/packages/patches/thefuck-test-environ.patch \ %D%/packages/patches/tidy-CVE-2015-5522+5523.patch \ %D%/packages/patches/tinyxml-use-stl.patch \ - %D%/packages/patches/tipp10-fix-compiling.patch \ - %D%/packages/patches/tipp10-remove-license-code.patch \ %D%/packages/patches/tk-find-library.patch \ %D%/packages/patches/transcode-ffmpeg.patch \ %D%/packages/patches/transmission-honor-localedir.patch \ diff --git a/gnu/packages/chemistry.scm b/gnu/packages/chemistry.scm index ddbf5ca098..4f79ce29e6 100644 --- a/gnu/packages/chemistry.scm +++ b/gnu/packages/chemistry.scm @@ -49,91 +49,6 @@ #:use-module (guix build-system gnu) #:use-module (guix build-system python)) =20 -(define-public avogadro - (package - (name "avogadro") - (version "1.2.0") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/cryos/avogadro") - (commit version))) - (sha256 - (base32 "0258py3lkba85qhs5ynancinyym61vlp0zaq9yrfs3hhnhpzv9n2")) - (file-name (git-file-name name version)) - (patches - (search-patches "avogadro-eigen3-update.patch" - "avogadro-python-eigen-lib.patch" - "avogadro-boost148.patch")))) - (build-system cmake-build-system) - (arguments - `(#:tests? #f - #:configure-flags - (list "-DENABLE_GLSL=3DON" - (string-append "-DPYTHON_LIBRARIES=3D" - (assoc-ref %build-inputs "python") - "/lib") - (string-append "-DPYTHON_INCLUDE_DIRS=3D" - (assoc-ref %build-inputs "python") - "/include/python" - ,(version-major+minor - (package-version python)))) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-python-lib-path - (lambda* (#:key outputs #:allow-other-keys) - ;; This is necessary to install the Python module in the corr= ect - ;; directory. - (substitute* "libavogadro/src/python/CMakeLists.txt" - (("^EXECUTE_PROCESS.*$") "") - (("^.*from sys import stdout.*$") "") - (("^.*OUTPUT_VARIABLE.*") - (string-append "set(PYTHON_LIB_PATH \"" - (assoc-ref outputs "out") - "/lib/python" - ,(version-major+minor - (package-version python)) - "/site-packages\")"))) - #t)) - (add-after 'install 'wrap-program - (lambda* (#:key inputs outputs #:allow-other-keys) - ;; Make sure 'avogadro' runs with the correct PYTHONPATH. - (let* ((out (assoc-ref outputs "out"))) - (setenv "PYTHONPATH" - (string-append - (assoc-ref outputs "out") - "/lib/python" - ,(version-major+minor - (package-version python)) - "/site-packages:" - (getenv "PYTHONPATH"))) - (wrap-program (string-append out "/bin/avogadro") - `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH"))))) - #t))))) - (native-inputs - `(("doxygen" ,doxygen) - ("pkg-config" ,pkg-config))) - (inputs - `(("boost" ,boost) - ("eigen" ,eigen) - ("glew" ,glew) - ("openbabel" ,openbabel) - ("python" ,python-2) - ("python-numpy" ,python2-numpy) - ("python-pyqt" ,python2-pyqt-4) - ("python-sip" ,python2-sip) - ("qt" ,qt-4) - ("zlib" ,zlib))) - (home-page "https://avogadro.cc") - (synopsis "Advanced molecule editor") - (description - "Avogadro is an advanced molecule editor and visualizer designed for = use -in computational chemistry, molecular modeling, bioinformatics, materials -science, and related areas. It offers flexible high quality rendering and= a -powerful plugin architecture.") - (license license:gpl2+))) - (define-public domainfinder (package (name "domainfinder") diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm index 07862291a7..f212b22ba3 100644 --- a/gnu/packages/education.scm +++ b/gnu/packages/education.scm @@ -217,59 +217,6 @@ Currently available boards include: (license (list license:silofl1.1 ; bundled fonts license:gpl3+)))) =20 -(define-public tipp10 - (package - (name "tipp10") - (version "2.1.0") - (source (origin - (method url-fetch) - ;; guix download is not able to handle the download links on= the - ;; home-page, which use '' - (uri (string-append "mirror://debian/pool/main/" - "t/tipp10/tipp10_2.1.0.orig.tar.gz")) - (sha256 - (base32 - "0d387b404j88gsv6kv0rb7wxr23v5g5vl6s5l7602x8pxf7slbbx")) - (patches (search-patches "tipp10-fix-compiling.patch" - "tipp10-remove-license-code.patch")= ))) - (build-system cmake-build-system) - (arguments - `(#:tests? #f ; packages has no tests - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'disable-new-version-check - (lambda _ - ;; Make new version check to default to false. - ;; TODO: Remove the checkbox from the dialog and the check it= self - (substitute* '("widget/settingspages.cpp" "widget/mainwindow.= cpp") - (("settings.value(\"check_new_version\", true)") - "settings.value(\"check_new_version\", false)")) - #t)) - (replace 'configure - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - ;; Make program honor $PREFIX - (substitute* "tipp10.pro" - (("\\.path =3D /usr/") (string-append ".path =3D " out "/= "))) - (substitute* "def/defines.h" - (("\"/usr/") (string-append "\"" out "/"))) - ;; Recreate Makefile - (invoke "qmake"))))))) - (inputs - `(("qt4" ,qt-4) - ("sqlite" ,sqlite))) - (home-page "https://www.tipp10.com/") - (synopsis "Touch typing tutor") - (description "Tipp10 is a touch typing tutor. The ingenious thing abo= ut -the software is its intelligence feature: characters that are mistyped are -repeated more frequently. Beginners will find their way around right away= so -they can start practicing without a hitch. - -Useful support functions and an extensive progress tracker, topical lessons -and the ability to create your own practice lessons make learning to type -easy.") - (license license:gpl2))) - (define-public snap (package (name "snap") diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index 5166a4635c..b80a946bab 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -1986,256 +1986,6 @@ parallel computing platforms. It also supports ser= ial execution.") (license (list license:gpl2+ license:lgpl2.0+)))) ; freehdl's libraries =20 -(define-public qucs - ;; Qucs 0.0.19 segfaults when using glibc-2.26. Temporarily build from g= it. - ;; 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 "10bclay9xhkffmsh4j4l28kj1qpxx0pnxja5vx6305cllnq4= r3gb")) - (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/freehd= l-config")) - (("freehdl-v2cc") - (string-append (assoc-ref inputs "freehdl") "/bin/freehd= l-v2cc")) - (("cp ") - (string-append (assoc-ref inputs "coreutils") "/bin/cp "= )) - (("glibtool") - (string-append (assoc-ref inputs "libtool") "/bin/libtoo= l")) - (("sed") - (string-append (assoc-ref inputs "sed") "/bin/sed")) - (("iverilog") - (string-append (assoc-ref inputs "iverilog") "/bin/iveri= log")) - (("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/oc= tave"))))) - #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 so= ftware -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/archiv= e/" - 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/iverilo= g")) - (("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 =3D QucsSettings\= \.BinDir " - "\\+ \"qucsator\" \\+ executableSuffix")) - (string-append "}{ QucsSettings.Qucsator =3D \"" - (assoc-ref inputs "qucs") "/bin/qucsator\""= )) - (((string-append "QucsSettings\\.XyceExecutable =3D " - "\"/usr/local/Xyce-Release-6.8.0-OPENSOURC= E/bin/Xyce")) - (string-append "}{ QucsSettings.XyceExecutable =3D \"" - (assoc-ref inputs "xyce-serial") "/bin/Xyce= ")) - (((string-append "else QucsSettings\\.XyceParExecutable =3D= " - "\"mpirun -np %p /usr/local" - "/Xyce-Release-6.8.0-OPENMPI-OPENSOURCE/bi= n/Xyce")) - (string-append "QucsSettings.XyceParExecutable =3D \"" - (assoc-ref inputs "mpi") "/bin/mpirun -np %= p " - (assoc-ref inputs "xyce-parallel") "/bin/Xy= ce")) - (("else QucsSettings\\.NgspiceExecutable =3D \"ngspice\"") - (string-append "QucsSettings.NgspiceExecutable =3D " "\"" - (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/qucsattenua= tor")) - (("qucsrescodes") - (string-append (assoc-ref inputs "qucs") "/bin/qucsrescode= s"))) - #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/q= ucsconv"))) - `("ADMSXMLBINDIR" ":" prefix (,(string-append (assoc-ref = inputs "adms") - "/bin"))) - `("ASCOBINDIR" ":" prefix (,(string-append (assoc-ref inp= uts "asco") - "/bin"))) - `("QUCS_OCTAVE" ":" prefix (,(string-append (assoc-ref in= puts "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/messaging.scm b/gnu/packages/messaging.scm index 89d7b8ca83..54a953c741 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -1551,99 +1551,6 @@ guidelines. It provides an easy to use application = that allows you to connect with friends and family without anyone else listening in.") (license license:gpl3+))) =20 -(define-public pybitmessage - (package - (name "pybitmessage") - (version "0.6.3.2") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/Bitmessage/PyBitmessage") - (commit version))) - (file-name (string-append name "-" version "-checkout")) - (sha256 - (base32 - "1lmhbpwsqh1v93krlqqhafw2pc3y0qp8zby186yllbph6s8kdp35")))) - (propagated-inputs - ;; TODO: - ;; Package "pyopencl", required in addition to numpy for OpenCL suppo= rt. - ;; Package "gst123", required in addition to alsa-utils and - ;; mpg123 for sound support. - `(("python2-msgpack" ,python2-msgpack) - ("python2-pythondialog" ,python2-pythondialog) - ("python2-pyqt-4" ,python2-pyqt-4) - ("python2-sip" ,python2-sip) - ("python2-pysqlite" ,python2-pysqlite) - ("python2-pyopenssl" ,python2-pyopenssl))) - (native-inputs - `(("openssl" ,openssl))) - (build-system python-build-system) - (arguments - `(#:modules ((guix build python-build-system) - (guix build utils)) - #:tests? #f ;no test target - #:python ,python-2 - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-unmatched-python-shebangs - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "src/bitmessagemain.py" - (("#!/usr/bin/env python2.7") - (string-append "#!" (which "python")))) - (substitute* "src/bitmessagecli.py" - (("#!/usr/bin/env python2.7.x") - (string-append "#!" (which "python")))) - #t)) - (add-after 'unpack 'fix-depends - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "src/depends.py" - (("libcrypto.so") - (string-append (assoc-ref inputs "openssl") - "/lib/libcrypto.so"))) - #t)) - (add-after 'unpack 'fix-local-files-in-paths - (lambda* (#:key outputs #:allow-other-keys) - (substitute* "src/proofofwork.py" - (("bitmsghash.so") - (string-append (assoc-ref outputs "out") - "/lib/bitmsghash.so"))) - #t)) - (add-after 'unpack 'fix-pyelliptic - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "src/pyelliptic/openssl.py" - (("libcrypto.so") - (string-append (assoc-ref inputs "openssl") - "/lib/libcrypto.so")) - (("libssl.so") - (string-append (assoc-ref inputs "openssl") - "/lib/libssl.so"))) - #t)) - (add-after 'unpack 'noninteractive-build - ;; This applies upstream commit 4c597d3f7cf9f83a763472aa165a1a4= 292019f20 - (lambda _ - (substitute* "setup.py" - (("except NameError") - "except EOFError, NameError")) - #t)) - ;; XXX: python setup.py does not build and install bitmsghash, - ;; without it PyBitmessage tries to compile it at first run - ;; in the store, which due to obvious reasons fails. Do it - ;; and place it in /lib. - (add-after 'unpack 'build-and-install-bitmsghash - (lambda* (#:key outputs #:allow-other-keys) - (with-directory-excursion "src/bitmsghash" - (system* "make") - (install-file "bitmsghash.so" - (string-append (assoc-ref outputs "out") "/li= b"))) - #t))))) - (license license:expat) - (description - "Distributed and trustless peer-to-peer communications protocol -for sending encrypted messages to one person or many subscribers.") - (synopsis "Distributed peer-to-peer communication") - (home-page "https://bitmessage.org/"))) - (define-public ytalk (package (name "ytalk") diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.= scm index bd411f59d0..2324c1affc 100644 --- a/gnu/packages/password-utils.scm +++ b/gnu/packages/password-utils.scm @@ -177,37 +177,6 @@ algorithms AES or Twofish.") ;; the combined work falls under the GPLv3. (license license:gpl3))) =20 -(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 s= tored -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/patches/avogadro-boost148.patch b/gnu/packages/pa= tches/avogadro-boost148.patch deleted file mode 100644 index f244f14674..0000000000 --- a/gnu/packages/patches/avogadro-boost148.patch +++ /dev/null @@ -1,69 +0,0 @@ -Index: avogadro-1.2.0/libavogadro/src/pythonengine_p.h -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D ---- avogadro-1.2.0.orig/libavogadro/src/pythonengine_p.h -+++ avogadro-1.2.0/libavogadro/src/pythonengine_p.h -@@ -31,7 +31,9 @@ -=20 - #include - #include -+#ifndef Q_MOC_RUN - #include -+#endif -=20 - namespace Avogadro { -=20 -Index: avogadro-1.2.0/libavogadro/src/pythonextension_p.h -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D ---- avogadro-1.2.0.orig/libavogadro/src/pythonextension_p.h -+++ avogadro-1.2.0/libavogadro/src/pythonextension_p.h -@@ -33,7 +33,9 @@ - #include - #include - #include -+#ifndef Q_MOC_RUN - #include -+#endif -=20 - #include - #include -Index: avogadro-1.2.0/libavogadro/src/pythontool_p.h -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D ---- avogadro-1.2.0.orig/libavogadro/src/pythontool_p.h -+++ avogadro-1.2.0/libavogadro/src/pythontool_p.h -@@ -31,7 +31,9 @@ -=20 - #include - #include -+#ifndef Q_MOC_RUN - #include -+#endif -=20 - #include - #include -Index: avogadro-1.2.0/libavogadro/src/pythoninterpreter.h -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D ---- avogadro-1.2.0.orig/libavogadro/src/pythoninterpreter.h -+++ avogadro-1.2.0/libavogadro/src/pythoninterpreter.h -@@ -26,7 +26,9 @@ - #define PYTHONINTERPRETER_H -=20 - #include -+#ifndef Q_MOC_RUN - #include -+#endif - #include - #include -=20 -Index: avogadro-1.2.0/libavogadro/src/pythonscript.h -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D ---- avogadro-1.2.0.orig/libavogadro/src/pythonscript.h -+++ avogadro-1.2.0/libavogadro/src/pythonscript.h -@@ -27,6 +27,8 @@ - #define PYTHONSCRIPT_H -=20 - #include -+#ifndef Q_MOC_RUN - #include -+#endif -=20 - #include "pythonerror.h" diff --git a/gnu/packages/patches/avogadro-eigen3-update.patch b/gnu/packag= es/patches/avogadro-eigen3-update.patch deleted file mode 100644 index a5f669292f..0000000000 --- a/gnu/packages/patches/avogadro-eigen3-update.patch +++ /dev/null @@ -1,603 +0,0 @@ -From 43af3c117b0b3220b15c2fe2895b94bbd83d3a60 Mon Sep 17 00:00:00 2001 -From: Claudio Fernandes -Date: Sun, 15 Jan 2017 21:23:39 -0200 -Subject: [PATCH] Adapt Avogadro to Eigen 3.3 - ---- - CMakeLists.txt | 9 +------ - avogadro/src/mainwindow.cpp | 5 ++-- - libavogadro/src/camera.cpp | 10 ++++---- - libavogadro/src/camera.h | 14 +++++------ - libavogadro/src/engines/wireengine.cpp | 4 ++-- - .../crystallography/crystallographyextension.cpp | 2 +- - .../crystallography/ui/ceviewoptionswidget.cpp | 2 +- - .../src/extensions/orca/orcaanalysedialog.cpp | 1 - - .../src/extensions/orca/orcainputdialog.cpp | 1 - - .../src/extensions/qtaim/qtaimmathutilities.cpp | 1 + - .../qtaim/qtaimwavefunctionevaluator.cpp | 28 +++++++++++------= ----- - .../extensions/surfaces/openqube/gamessukout.cpp | 1 + - .../src/extensions/surfaces/openqube/slaterset.cpp | 6 +++-- - libavogadro/src/glpainter_p.cpp | 14 +++++------ - libavogadro/src/glwidget.cpp | 4 ++-- - libavogadro/src/molecule.cpp | 26 +++++++++++++++++= +-- - libavogadro/src/navigate.cpp | 2 +- - libavogadro/src/tools/bondcentrictool.cpp | 28 +++++++++++------= ----- - libavogadro/src/tools/manipulatetool.cpp | 17 +++++++------ - libavogadro/src/tools/navigatetool.cpp | 3 ++- - libavogadro/src/tools/skeletontree.cpp | 7 +++--- - libavogadro/src/tools/skeletontree.h | 2 +- - 22 files changed, 102 insertions(+), 85 deletions(-) - ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -231,14 +231,7 @@ if(NOT Linguist_FOUND) - message(WARNING " Qt4 Linguist not found, please install it if you want= Avogadro translations") - endif() -=20 --find_package(Eigen3) # find and setup Eigen3 if available --if(NOT EIGEN3_FOUND) -- message(STATUS "Cannot find Eigen3, trying Eigen2") -- find_package(Eigen2 REQUIRED) # Some version is required --else() --# Use Stage10 Eigen3 support -- set (EIGEN2_SUPPORT_STAGE10_FULL_EIGEN2_API TRUE) --endif() -+find_package(Eigen3 REQUIRED) # find and setup Eigen3 if available -=20 - find_package(ZLIB REQUIRED) - find_package(OpenBabel2 REQUIRED) # find and setup OpenBabel ---- a/avogadro/src/mainwindow.cpp -+++ b/avogadro/src/mainwindow.cpp -@@ -115,7 +115,6 @@ - #include -=20 - #include --#include - #define USEQUAT - // This is a "hidden" exported Qt function on the Mac for Qt-4.x. - #ifdef Q_WS_MAC -@@ -2775,7 +2774,7 @@ protected: - linearGoal.row(1) =3D linearGoal.row(2).cross(linearGoal.row(0)); -=20 - // calculate the translation matrix -- Transform3d goal(linearGoal); -+ Projective3d goal(linearGoal); -=20 - goal.pretranslate(- 3.0 * (d->glWidget->radius() + CAMERA_NEAR_DISTAN= CE) * Vector3d::UnitZ()); -=20 -@@ -2840,7 +2839,7 @@ protected: - Matrix3d linearGoal =3D Matrix3d::Identity(); -=20 - // calculate the translation matrix -- Transform3d goal(linearGoal); -+ Projective3d goal(linearGoal); -=20 - goal.pretranslate(- 3.0 * (d->glWidget->radius() + CAMERA_NEAR_DISTAN= CE) * Vector3d::UnitZ()); -=20 ---- a/libavogadro/src/camera.cpp -+++ b/libavogadro/src/camera.cpp -@@ -47,7 +47,7 @@ namespace Avogadro -=20 - CameraPrivate() {}; -=20 -- Eigen::Transform3d modelview, projection; -+ Eigen::Projective3d modelview, projection; - const GLWidget *parent; - double angleOfViewY; - double orthoScale; -@@ -169,20 +169,20 @@ namespace Avogadro -=20 - double Camera::distance(const Eigen::Vector3d & point) const - { -- return ( d->modelview * point ).norm(); -+ return ( d->modelview * point.homogeneous() ).head<3>().norm(); - } -=20 -- void Camera::setModelview(const Eigen::Transform3d &matrix) -+ void Camera::setModelview(const Eigen::Projective3d &matrix) - { - d->modelview =3D matrix; - } -=20 -- const Eigen::Transform3d & Camera::modelview() const -+ const Eigen::Projective3d & Camera::modelview() const - { - return d->modelview; - } -=20 -- Eigen::Transform3d & Camera::modelview() -+ Eigen::Projective3d & Camera::modelview() - { - return d->modelview; - } ---- a/libavogadro/src/camera.h -+++ b/libavogadro/src/camera.h -@@ -101,16 +101,16 @@ namespace Avogadro { - double angleOfViewY() const; - /** Sets 4x4 "modelview" matrix representing the camera orientation= and position. - * @param matrix the matrix to copy from -- * @sa Eigen::Transform3d & modelview(), applyModelview() */ -- void setModelview(const Eigen::Transform3d &matrix); -+ * @sa Eigen::Projective3d & modelview(), applyModelview() */ -+ void setModelview(const Eigen::Projective3d &matrix); - /** @return a constant reference to the 4x4 "modelview" matrix repr= esenting - * the camera orientation and position -- * @sa setModelview(), Eigen::Transform3d & modelview() */ -- const Eigen::Transform3d & modelview() const; -+ * @sa setModelview(), Eigen::Projective3d & modelview() */ -+ const Eigen::Projective3d & modelview() const; - /** @return a non-constant reference to the 4x4 "modelview" matrix = representing - * the camera orientation and position -- * @sa setModelview(), const Eigen::Transform3d & modelview() cons= t */ -- Eigen::Transform3d & modelview(); -+ * @sa setModelview(), const Eigen::Projective3d & modelview() con= st */ -+ Eigen::Projective3d & modelview(); - /** Calls gluPerspective() or glOrtho() with parameters automatical= ly chosen - * for rendering the GLWidget's molecule with this camera. Should = be called - * only in GL_PROJECTION matrix mode. Example code is given -@@ -342,7 +342,7 @@ namespace Avogadro { - * @return {x/w, y/w, z/w} vector - */ - Eigen::Vector3d V4toV3DivW(const Eigen::Vector4d & v4) { -- return v4.start<3>()/v4.w(); -+ return v4.head<3>()/v4.w(); - } - }; -=20 ---- a/libavogadro/src/engines/wireengine.cpp -+++ b/libavogadro/src/engines/wireengine.cpp -@@ -109,7 +109,7 @@ namespace Avogadro { - const Camera *camera =3D pd->camera(); -=20 - // perform a rough form of frustum culling -- Eigen::Vector3d transformedPos =3D pd->camera()->modelview() * v; -+ Eigen::Vector3d transformedPos =3D (pd->camera()->modelview() * v.hom= ogeneous()).head<3>(); - double dot =3D transformedPos.z() / transformedPos.norm(); - if(dot > -0.8) - return true; -@@ -167,7 +167,7 @@ namespace Avogadro { - map =3D pd->colorMap(); // fall back to global color map -=20 - // perform a rough form of frustum culling -- Eigen::Vector3d transformedEnd1 =3D pd->camera()->modelview() * v1; -+ Eigen::Vector3d transformedEnd1 =3D (pd->camera()->modelview() * v1.h= omogeneous()).head<3>(); - double dot =3D transformedEnd1.z() / transformedEnd1.norm(); - if(dot > -0.8) - return true; // i.e., don't bother rendering ---- a/libavogadro/src/extensions/crystallography/crystallographyextension.= cpp -+++ b/libavogadro/src/extensions/crystallography/crystallographyextension.= cpp -@@ -1989,7 +1989,7 @@ namespace Avogadro - // fix coordinates - // Apply COB matrix: - Eigen::Matrix3d invCob; -- cob.computeInverse(&invCob); -+ invCob =3D cob.inverse(); - for (QList::iterator - it =3D fcoords.begin(), - it_end =3D fcoords.end(); ---- a/libavogadro/src/extensions/crystallography/ui/ceviewoptionswidget.cpp -+++ b/libavogadro/src/extensions/crystallography/ui/ceviewoptionswidget.cpp -@@ -139,7 +139,7 @@ namespace Avogadro - { - // View into a Miller plane - Camera *camera =3D m_glWidget->camera(); -- Eigen::Transform3d modelView; -+ Eigen::Projective3d modelView; - modelView.setIdentity(); -=20 - // OK, so we want to rotate to look along the normal at the plane ---- a/libavogadro/src/extensions/orca/orcaanalysedialog.cpp -+++ b/libavogadro/src/extensions/orca/orcaanalysedialog.cpp -@@ -41,7 +41,6 @@ - #include -=20 - #include --#include -=20 - #include -=20 ---- a/libavogadro/src/extensions/orca/orcainputdialog.cpp -+++ b/libavogadro/src/extensions/orca/orcainputdialog.cpp -@@ -33,7 +33,6 @@ - #include -=20 - #include --#include -=20 - #include -=20 ---- a/libavogadro/src/extensions/qtaim/qtaimmathutilities.cpp -+++ b/libavogadro/src/extensions/qtaim/qtaimmathutilities.cpp -@@ -28,6 +28,7 @@ -=20 - #include - #include -+#include -=20 - namespace Avogadro { - namespace QTAIMMathUtilities { ---- a/libavogadro/src/extensions/qtaim/qtaimwavefunctionevaluator.cpp -+++ b/libavogadro/src/extensions/qtaim/qtaimwavefunctionevaluator.cpp -@@ -35,21 +35,21 @@ namespace Avogadro - m_nprim=3Dwfn.numberOfGaussianPrimitives(); - m_nnuc=3Dwfn.numberOfNuclei(); -=20 -- m_nucxcoord=3DMap >(wfn.xNuclearCoordinates()= ,m_nnuc); -- m_nucycoord=3DMap >(wfn.yNuclearCoordinates()= ,m_nnuc); -- m_nuczcoord=3DMap >(wfn.zNuclearCoordinates()= ,m_nnuc); -- m_nucz=3DMap >(wfn.nuclearCharges(),m_nnuc); -- m_X0=3DMap >(wfn.xGaussianPrimitiveCenterCoor= dinates(),m_nprim,1); -- m_Y0=3DMap >(wfn.yGaussianPrimitiveCenterCoor= dinates(),m_nprim,1); -- m_Z0=3DMap >(wfn.zGaussianPrimitiveCenterCoor= dinates(),m_nprim,1); -- m_xamom=3DMap >(wfn.xGaussianPrimitiveAngula= rMomenta(),m_nprim,1); -- m_yamom=3DMap >(wfn.yGaussianPrimitiveAngula= rMomenta(),m_nprim,1); -- m_zamom=3DMap >(wfn.zGaussianPrimitiveAngula= rMomenta(),m_nprim,1); -- m_alpha=3DMap >(wfn.gaussianPrimitiveExponent= Coefficients(),m_nprim,1); -+ m_nucxcoord=3DMap >(const_cast(wfn.xN= uclearCoordinates()),m_nnuc); -+ m_nucycoord=3DMap >(const_cast(wfn.yN= uclearCoordinates()),m_nnuc); -+ m_nuczcoord=3DMap >(const_cast(wfn.zN= uclearCoordinates()),m_nnuc); -+ m_nucz=3DMap >(const_cast(wfn.nucle= arCharges()),m_nnuc); -+ m_X0=3DMap >(const_cast(wfn.xGaussian= PrimitiveCenterCoordinates()),m_nprim,1); -+ m_Y0=3DMap >(const_cast(wfn.yGaussian= PrimitiveCenterCoordinates()),m_nprim,1); -+ m_Z0=3DMap >(const_cast(wfn.zGaussian= PrimitiveCenterCoordinates()),m_nprim,1); -+ m_xamom=3DMap >(const_cast(wfn.xGau= ssianPrimitiveAngularMomenta()),m_nprim,1); -+ m_yamom=3DMap >(const_cast(wfn.yGau= ssianPrimitiveAngularMomenta()),m_nprim,1); -+ m_zamom=3DMap >(const_cast(wfn.zGau= ssianPrimitiveAngularMomenta()),m_nprim,1); -+ m_alpha=3DMap >(const_cast(wfn.gaussi= anPrimitiveExponentCoefficients()),m_nprim,1); - // TODO Implement screening for unoccupied molecular orbitals. -- m_occno=3DMap >(wfn.molecularOrbitalOccupatio= nNumbers(),m_nmo,1); -- m_orbe=3DMap >(wfn.molecularOrbitalEigenvalue= s(),m_nmo,1); -- m_coef=3DMap >(wfn.molecularOr= bitalCoefficients(),m_nmo,m_nprim); -+ m_occno=3DMap >(const_cast(wfn.molecu= larOrbitalOccupationNumbers()),m_nmo,1); -+ m_orbe=3DMap >(const_cast(wfn.molecul= arOrbitalEigenvalues()),m_nmo,1); -+ m_coef=3DMap >(const_cast(wfn.molecularOrbitalCoefficients()),m_nmo,m_nprim); - m_totalEnergy=3Dwfn.totalEnergy(); - m_virialRatio=3Dwfn.virialRatio(); -=20 ---- a/libavogadro/src/extensions/surfaces/openqube/gamessukout.cpp -+++ b/libavogadro/src/extensions/surfaces/openqube/gamessukout.cpp -@@ -19,6 +19,7 @@ - using Eigen::Vector3d; - using std::vector; -=20 -+#include - #include -=20 - namespace OpenQube ---- a/libavogadro/src/extensions/surfaces/openqube/slaterset.cpp -+++ b/libavogadro/src/extensions/surfaces/openqube/slaterset.cpp -@@ -25,9 +25,9 @@ -=20 - #include "cube.h" -=20 --#include - #include - #include -+#include -=20 - #include -=20 -@@ -250,7 +250,9 @@ bool SlaterSet::initialize() -=20 - SelfAdjointEigenSolver s(m_overlap); - MatrixXd p =3D s.eigenvectors(); -- MatrixXd m =3D p * s.eigenvalues().cwise().inverse().cwise().sqrt().asD= iagonal() * p.inverse(); -+ // TODO check if this is correct -+ MatrixXd m1 =3D (s.eigenvalues().array().inverse().sqrt()); -+ MatrixXd m =3D p.array()*(m1.diagonal().array())*p.inverse().array(); - m_normalized =3D m * m_eigenVectors; -=20 - if (!(m_overlap*m*m).isIdentity()) ---- a/libavogadro/src/glpainter_p.cpp -+++ b/libavogadro/src/glpainter_p.cpp -@@ -789,13 +789,13 @@ namespace Avogadro - } else { - points[theta-1] =3D Eigen::AngleAxisd(theta * (M_PI / 180.0) / = 2, n) * u; - } -- points[theta-1] =3D d->widget->camera()->modelview() * (origin + = points[theta-1]); -+ points[theta-1] =3D (d->widget->camera()->modelview() * (origin += points[theta-1]).homogeneous()).head<3>(); - } -=20 - // Get vectors representing the points' positions in terms of the mod= el view. -- Eigen::Vector3d _origin =3D d->widget->camera()->modelview() * origin; -- Eigen::Vector3d _direction1 =3D d->widget->camera()->modelview() * (o= rigin+u); -- Eigen::Vector3d _direction2 =3D d->widget->camera()->modelview() * (o= rigin+v); -+ Eigen::Vector3d _origin =3D (d->widget->camera()->modelview() * origi= n.homogeneous()).head<3>(); -+ Eigen::Vector3d _direction1 =3D (d->widget->camera()->modelview() * (= origin+u).homogeneous()).head<3>(); -+ Eigen::Vector3d _direction2 =3D (d->widget->camera()->modelview() * (= origin+v).homogeneous()).head<3>(); -=20 - glPushAttrib(GL_ALL_ATTRIB_BITS); - glPushMatrix(); -@@ -880,12 +880,12 @@ namespace Avogadro - } else { - points[theta-1] =3D Eigen::AngleAxisd(theta * (M_PI / 180.0) / = 2, n) * u; - } -- points[theta-1] =3D d->widget->camera()->modelview() * (origin + = points[theta-1]); -+ points[theta-1] =3D (d->widget->camera()->modelview() * (origin += points[theta-1]).homogeneous()).head<3>(); - } -=20 - // Get vectors representing the points' positions in terms of the mod= el view. -- Eigen::Vector3d _direction1 =3D d->widget->camera()->modelview() * (o= rigin + u); -- Eigen::Vector3d _direction2 =3D d->widget->camera()->modelview() * (o= rigin + v); -+ Eigen::Vector3d _direction1 =3D (d->widget->camera()->modelview() * (= origin + u).homogeneous()).head<3>(); -+ Eigen::Vector3d _direction2 =3D (d->widget->camera()->modelview() * (= origin + v).homogeneous()).head<3>(); -=20 - glPushAttrib(GL_ALL_ATTRIB_BITS); - glPushMatrix(); ---- a/libavogadro/src/glwidget.cpp -+++ b/libavogadro/src/glwidget.cpp -@@ -765,7 +765,7 @@ namespace Avogadro { - GLfloat fogColor[4]=3D {static_cast(d->background.redF()),= static_cast(d->background.greenF()), - static_cast(d->background.blueF()), = static_cast(d->background.alphaF())}; - glFogfv(GL_FOG_COLOR, fogColor); -- Vector3d distance =3D camera()->modelview() * d->center; -+ Vector3d distance =3D (camera()->modelview() * d->center.homogeneou= s()).head<3>(); - double distanceToCenter =3D distance.norm(); - glFogf(GL_FOG_DENSITY, 1.0); - glHint(GL_FOG_HINT, GL_NICEST); -@@ -1711,7 +1711,7 @@ namespace Avogadro { -=20 - if (d->renderModelViewDebug) { - // Model view matrix: -- const Eigen::Transform3d &modelview =3D d->camera->modelview(); -+ const Eigen::Projective3d &modelview =3D d->camera->modelview(); - y +=3D d->pd->painter()->drawText - (x, y, tr("ModelView row 1: %L1 %L2 %L3 %L4") - .arg(modelview(0, 0), 6, 'f', 2, ' ') ---- a/libavogadro/src/molecule.cpp -+++ b/libavogadro/src/molecule.cpp -@@ -38,7 +38,7 @@ - #include "zmatrix.h" -=20 - #include --#include -+#include -=20 - #include -=20 -@@ -1907,7 +1907,29 @@ namespace Avogadro{ - } - d->center /=3D static_cast(nAtoms); - Eigen::Hyperplane planeCoeffs; -- Eigen::fitHyperplane(numAtoms(), atomPositions, &planeCoeffs); -+ //Eigen::fitHyperplane(numAtoms(), atomPositions, &planeCoeffs); -+ -+ // TODO check if this is OK -+ /************************/ -+ typedef Eigen::Matrix CovMatrixType; -+ typedef Eigen::Vector3d VectorType; -+=20=20=20=20=20=20=20=20 -+ VectorType mean =3D d->center; -+ int size=3D3; -+ int numPoints=3DnumAtoms(); -+ VectorType ** points=3DatomPositions; -+ CovMatrixType covMat =3D CovMatrixType::Zero(size, size); -+ VectorType remean =3D VectorType::Zero(size); -+ for(int i =3D 0; i < numPoints; ++i) -+ { -+ VectorType diff =3D (*(points[i]) - mean).conjugate(); -+ covMat +=3D diff * diff.adjoint(); -+ } -+ Eigen::SelfAdjointEigenSolver eig(covMat); -+ planeCoeffs.normal() =3D eig.eigenvectors().col(0); -+ /************************/ -+ -+ - delete[] atomPositions; - d->normalVector =3D planeCoeffs.normal(); - } ---- a/libavogadro/src/navigate.cpp -+++ b/libavogadro/src/navigate.cpp -@@ -40,7 +40,7 @@ namespace Avogadro { - void Navigate::zoom(GLWidget *widget, const Eigen::Vector3d &goal, - double delta) - { -- Vector3d transformedGoal =3D widget->camera()->modelview() * goal; -+ Vector3d transformedGoal =3D (widget->camera()->modelview() * goal.ho= mogeneous()).head<3>(); - double distanceToGoal =3D transformedGoal.norm(); -=20 - double t =3D ZOOM_SPEED * delta; ---- a/libavogadro/src/tools/bondcentrictool.cpp -+++ b/libavogadro/src/tools/bondcentrictool.cpp -@@ -578,8 +578,8 @@ namespace Avogadro { -=20 - Vector3d clicked =3D *m_clickedAtom->pos(); -=20 -- Vector3d axis =3D Vector3d(0, 0, ((widget->camera()->modelview(= ) * other).z() >=3D -- (widget->camera()->modelview() * center).z() ? -1 : 1)); -+ Vector3d axis =3D Vector3d(0, 0, ((widget->camera()->modelview(= ) * other.homogeneous()).z() >=3D -+ (widget->camera()->modelview() * center.homogeneous()).z(= ) ? -1 : 1)); -=20 - Vector3d centerProj =3D widget->camera()->project(center); - centerProj -=3D Vector3d(0,0,centerProj.z()); -@@ -673,8 +673,8 @@ namespace Avogadro { -=20 - Vector3d clicked =3D *m_clickedAtom->pos(); -=20 -- Vector3d axis =3D Vector3d(0, 0, ((widget->camera()->modelview(= ) * other).z() >=3D -- (widget->camera()->modelview() * center).z() ? -1 : 1)); -+ Vector3d axis =3D Vector3d(0, 0, ((widget->camera()->modelview(= ) * other.homogeneous()).z() >=3D -+ (widget->camera()->modelview() * center.homogeneous()).z(= ) ? -1 : 1)); -=20 - Vector3d centerProj =3D widget->camera()->project(center); - centerProj -=3D Vector3d(0,0,centerProj.z()); -@@ -1362,10 +1362,10 @@ namespace Avogadro { -=20 - planeVec =3D length * (planeVec / planeVec.norm()); -=20 -- Vector3d topLeft =3D widget->camera()->modelview() * (left + planeVec= ); -- Vector3d topRight =3D widget->camera()->modelview() * (right + planeV= ec); -- Vector3d botRight =3D widget->camera()->modelview() * (right - planeV= ec); -- Vector3d botLeft =3D widget->camera()->modelview() * (left - planeVec= ); -+ Vector3d topLeft =3D (widget->camera()->modelview() * (left + planeVe= c).homogeneous()).head<3>(); -+ Vector3d topRight =3D (widget->camera()->modelview() * (right + plane= Vec).homogeneous()).head<3>(); -+ Vector3d botRight =3D (widget->camera()->modelview() * (right - plane= Vec).homogeneous()).head<3>(); -+ Vector3d botLeft =3D (widget->camera()->modelview() * (left - planeVe= c).homogeneous()).head<3>(); -=20 - float alpha =3D 0.4; - double lineWidth =3D 1.5; -@@ -1444,10 +1444,10 @@ namespace Avogadro { - C =3D D + ((C-D).normalized() * minWidth); - } -=20 -- Vector3d topLeft =3D widget->camera()->modelview() * D; -- Vector3d topRight =3D widget->camera()->modelview() * C; -- Vector3d botRight =3D widget->camera()->modelview() * B; -- Vector3d botLeft =3D widget->camera()->modelview() * A; -+ Vector3d topLeft =3D (widget->camera()->modelview() * D.homogeneous()= ).head<3>(); -+ Vector3d topRight =3D (widget->camera()->modelview() * C.homogeneous(= )).head<3>(); -+ Vector3d botRight =3D (widget->camera()->modelview() * B.homogeneous(= )).head<3>(); -+ Vector3d botLeft =3D (widget->camera()->modelview() * A.homogeneous()= ).head<3>(); -=20 - float alpha =3D 0.4; - double lineWidth =3D 1.5; -@@ -1506,12 +1506,12 @@ namespace Avogadro { - Vector3d positionVector) - { - //Rotate skeleton around a particular axis and center point -- Eigen::Transform3d rotation; -+ Eigen::Projective3d rotation; - rotation =3D Eigen::AngleAxisd(angle, rotationVector); - rotation.pretranslate(centerVector); - rotation.translate(-centerVector); -=20 -- return rotation*positionVector; -+ return (rotation*positionVector.homogeneous()).head<3>(); - } -=20 - // ########## showAnglesChanged ########## ---- a/libavogadro/src/tools/manipulatetool.cpp -+++ b/libavogadro/src/tools/manipulatetool.cpp -@@ -40,7 +40,6 @@ - #include -=20 - using Eigen::Vector3d; --using Eigen::Transform3d; - using Eigen::AngleAxisd; -=20 - namespace Avogadro { -@@ -138,7 +137,7 @@ namespace Avogadro { - double yRotate =3D m_settingsWidget->yRotateSpinBox->value() * DEG_TO= _RAD; - double zRotate =3D m_settingsWidget->zRotateSpinBox->value() * DEG_TO= _RAD; -=20 -- Eigen::Transform3d rotation; -+ Eigen::Projective3d rotation; - rotation.matrix().setIdentity(); - rotation.translation() =3D center; - rotation.rotate(AngleAxisd(xRotate, Vector3d::UnitX()) -@@ -152,12 +151,12 @@ namespace Avogadro { - if (p->type() =3D=3D Primitive::AtomType) { - Atom *atom =3D static_cast(p); - tempPos =3D translate + *(atom->pos()); -- atom->setPos(rotation * tempPos); -+ atom->setPos((rotation * tempPos.homogeneous()).head<3>()); - } - } else { - foreach(Atom *atom, widget->molecule()->atoms()) { - tempPos =3D translate + *(atom->pos()); -- atom->setPos(rotation * tempPos); -+ atom->setPos((rotation * tempPos.homogeneous()).head<3>()); - } - } -=20 -@@ -199,7 +198,7 @@ namespace Avogadro { - widget->setCursor(Qt::SizeVerCursor); -=20 - // Move the selected atom(s) in to or out of the screen -- Vector3d transformedGoal =3D widget->camera()->modelview() * *goal; -+ Vector3d transformedGoal =3D (widget->camera()->modelview() * goal->h= omogeneous()).head<3>(); - double distanceToGoal =3D transformedGoal.norm(); -=20 - double t =3D ZOOM_SPEED * delta; -@@ -255,7 +254,7 @@ namespace Avogadro { -=20 - // Rotate the selected atoms about the center - // rotate only selected primitives -- Transform3d fragmentRotation; -+ Eigen::Projective3d fragmentRotation; - fragmentRotation.matrix().setIdentity(); - fragmentRotation.translation() =3D *center; - fragmentRotation.rotate( -@@ -266,7 +265,7 @@ namespace Avogadro { -=20 - foreach(Primitive *p, widget->selectedPrimitives()) - if (p->type() =3D=3D Primitive::AtomType) -- static_cast(p)->setPos(fragmentRotation * *static_cast(p)->pos()); -+ static_cast(p)->setPos((fragmentRotation * static_cast(p)->pos()->homogeneous()).head<3>()); - widget->molecule()->update(); - } -=20 -@@ -274,7 +273,7 @@ namespace Avogadro { - double delta) const - { - // Tilt the selected atoms about the center -- Transform3d fragmentRotation; -+ Eigen::Projective3d fragmentRotation; - fragmentRotation.matrix().setIdentity(); - fragmentRotation.translation() =3D *center; - fragmentRotation.rotate(AngleAxisd(delta * ROTATION_SPEED, widget->ca= mera()->backTransformedZAxis())); -@@ -282,7 +281,7 @@ namespace Avogadro { -=20 - foreach(Primitive *p, widget->selectedPrimitives()) - if (p->type() =3D=3D Primitive::AtomType) -- static_cast(p)->setPos(fragmentRotation * *static_cast(p)->pos()); -+ static_cast(p)->setPos((fragmentRotation * static_cast(p)->pos()->homogeneous()).head<3>()); - widget->molecule()->update(); - } -=20 ---- a/libavogadro/src/tools/navigatetool.cpp -+++ b/libavogadro/src/tools/navigatetool.cpp -@@ -92,7 +92,8 @@ namespace Avogadro { - double sumOfWeights =3D 0.; - QList atoms =3D widget->molecule()->atoms(); - foreach (Atom *atom, atoms) { -- Vector3d transformedAtomPos =3D widget->camera()->modelview() * *= atom->pos(); -+ Vector3d transformedAtomPos =3D (widget->camera()->modelview() * -+ atom->pos()->homogeneous()).head<3= >(); - double atomDistance =3D transformedAtomPos.norm(); - double dot =3D transformedAtomPos.z() / atomDistance; - double weight =3D exp(-30. * (1. + dot)); ---- a/libavogadro/src/tools/skeletontree.cpp -+++ b/libavogadro/src/tools/skeletontree.cpp -@@ -29,6 +29,7 @@ - #include - #include - #include -+#include -=20 - using namespace Eigen; - using namespace std; -@@ -221,7 +222,7 @@ namespace Avogadro { - { - if (m_rootNode) { - //Rotate skeleton around a particular axis and center point -- Eigen::Transform3d rotation; -+ Eigen::Projective3d rotation; - rotation =3D Eigen::AngleAxisd(angle, rotationAxis); - rotation.pretranslate(centerVector); - rotation.translate(-centerVector); -@@ -248,11 +249,11 @@ namespace Avogadro { - // ########## recursiveRotate ########## -=20 - void SkeletonTree::recursiveRotate(Node* n, -- const Eigen::Transform3d &rotationMa= trix) -+ const Eigen::Projective3d &rotationM= atrix) - { - // Update the root node with the new position - Atom* a =3D n->atom(); -- a->setPos(rotationMatrix * (*a->pos())); -+ a->setPos((rotationMatrix * (*a->pos()).homogeneous()).head<3>()); - a->update(); -=20 - // Now update the children ---- a/libavogadro/src/tools/skeletontree.h -+++ b/libavogadro/src/tools/skeletontree.h -@@ -230,6 +230,6 @@ namespace Avogadro { - * @param centerVector Center location to rotate around. - */ - void recursiveRotate(Node* n, -- const Eigen::Transform3d &rotationMatrix); -+ const Eigen::Projective3d &rotationMatrix); -=20 - }; - } // End namespace Avogadro \ No newline at end of file diff --git a/gnu/packages/patches/avogadro-python-eigen-lib.patch b/gnu/pac= kages/patches/avogadro-python-eigen-lib.patch deleted file mode 100644 index ac9f2e30af..0000000000 --- a/gnu/packages/patches/avogadro-python-eigen-lib.patch +++ /dev/null @@ -1,161 +0,0 @@ -From 2d4be7ede177a8df7340fe3b209698d591ee8a04 Mon Sep 17 00:00:00 2001 -From: Claudio Fernandes -Date: Mon, 16 Jan 2017 19:48:23 -0200 -Subject: [PATCH] Adapt libavogadro/python to Eigen 3.3 - ---- - libavogadro/src/python/camera.cpp | 2 +- - libavogadro/src/python/eigen.cpp | 60 +++++++++++++++++++---------------= ----- - 2 files changed, 31 insertions(+), 31 deletions(-) - -diff --git a/libavogadro/src/python/camera.cpp b/libavogadro/src/python/ca= mera.cpp -index 69ca87bf8..30b32af7d 100644 ---- a/libavogadro/src/python/camera.cpp -+++ b/libavogadro/src/python/camera.cpp -@@ -10,7 +10,7 @@ using namespace Avogadro; - void export_Camera() - { -=20 -- const Eigen::Transform3d& (Camera::*modelview_ptr)() const =3D &Camera:= :modelview; -+ const Eigen::Projective3d& (Camera::*modelview_ptr)() const =3D &Camera= ::modelview; - Eigen::Vector3d (Camera::*unProject_ptr1)(const Eigen::Vector3d&) const= =3D &Camera::unProject; - Eigen::Vector3d (Camera::*unProject_ptr2)(const QPoint&, const Eigen::V= ector3d&) const =3D &Camera::unProject; - Eigen::Vector3d (Camera::*unProject_ptr3)(const QPoint&) const =3D &Cam= era::unProject; -diff --git a/libavogadro/src/python/eigen.cpp b/libavogadro/src/python/eig= en.cpp -index c1faedbcc..20b4e719d 100644 ---- a/libavogadro/src/python/eigen.cpp -+++ b/libavogadro/src/python/eigen.cpp -@@ -305,9 +305,9 @@ template <> struct ScalarTraits - struct innerclass - { - // -- // Eigen::Transform3d --> python array (4x4) -+ // Eigen::Projective3d --> python array (4x4) - // -- static PyObject* convert(Eigen::Transform3d const &trans) -+ static PyObject* convert(Eigen::Projective3d const &trans) - { - npy_intp dims[2] =3D { 4, 4 }; - PyObject *result =3D PyArray_SimpleNew(2, dims, PyArray_DOUBLE); -@@ -321,9 +321,9 @@ template <> struct ScalarTraits - return incref(result); - } - // -- // Eigen::Transform3d* --> python array (4x4) -+ // Eigen::Projective3d* --> python array (4x4) - // -- static PyObject* convert(Eigen::Transform3d *trans) -+ static PyObject* convert(Eigen::Projective3d *trans) - { - npy_intp dims[2] =3D { 4, 4 }; - PyObject *result =3D PyArray_SimpleNew(2, dims, PyArray_DOUBLE); -@@ -337,9 +337,9 @@ template <> struct ScalarTraits - return incref(result); - } - // -- // const Eigen::Transform3d* --> python array (4x4) -+ // const Eigen::Projective3d* --> python array (4x4) - // -- static PyObject* convert(const Eigen::Transform3d *trans) -+ static PyObject* convert(const Eigen::Projective3d *trans) - { - npy_intp dims[2] =3D { 4, 4 }; - PyObject *result =3D PyArray_SimpleNew(2, dims, PyArray_DOUBLE); -@@ -358,10 +358,10 @@ template <> struct ScalarTraits - Transform3d_to_python_array() - { - #ifndef WIN32 -- to_python_converter(); -+ to_python_converter(); - #endif -- to_python_converter(); -- to_python_converter(); -+ to_python_converter(); -+ to_python_converter(); - } -=20 - }; -@@ -373,17 +373,17 @@ template <> struct ScalarTraits - // Insert an rvalue from_python converter at the tail of the - // chain. Used for implicit conversions - // -- // python array --> Eigen::Transform3d -+ // python array --> Eigen::Projective3d - // - // used for: - // -- // void function(Eigen::Transform3d vec) -- // void function(Eigen::Transform3d & vec) -- // void function(const Eigen::Transform3d & vec) -+ // void function(Eigen::Projective3d vec) -+ // void function(Eigen::Projective3d & vec) -+ // void function(const Eigen::Projective3d & vec) - // -- converter::registry::push_back( &convertible, &construct, type_id() ); -+ converter::registry::push_back( &convertible, &construct, type_id() ); -=20=20=20=20=20=20=20 -- converter::registry::insert( &convert, type_id(= ) ); -+ converter::registry::insert( &convert, type_id= () ); - } -=20 - static void* convert(PyObject *obj_ptr) -@@ -401,7 +401,7 @@ template <> struct ScalarTraits - throw_error_already_set(); // the 1D array does not have exactly = 3 elements -=20 - double *values =3D reinterpret_cast(array->data); -- Eigen::Transform3d *c_obj =3D new Eigen::Transform3d(); -+ Eigen::Projective3d *c_obj =3D new Eigen::Projective3d(); - double *dataPtr =3D c_obj->data(); -=20 - for (int i =3D 0; i < 16; ++i) -@@ -432,7 +432,7 @@ template <> struct ScalarTraits - // I think this is a better way to get at the double array, where i= s this - // deleted though? Does Boost::Python do it? - double *values =3D reinterpret_cast(array->data); -- Eigen::Transform3d *storage =3D new Eigen::Transform3d(); -+ Eigen::Projective3d *storage =3D new Eigen::Projective3d(); - double *dataPtr =3D storage->data(); -=20 - for (int i =3D 0; i < 16; ++i) -@@ -467,21 +467,21 @@ class EigenUnitTestHelper - void set_vector3d_ptr(Eigen::Vector3d* vec) { m_vecto= r3d =3D *vec; } - void set_const_vector3d_ptr(const Eigen::Vector3d* const vec) { m_vec= tor3d =3D *vec; } -=20 -- //Eigen::Transform3d transform3d() { return = m_transform3d; } -- //Eigen::Transform3d& transform3d_ref() { return = m_transform3d; } -- const Eigen::Transform3d& const_transform3d_ref() { return m_= transform3d; } -- Eigen::Transform3d* transform3d_ptr() { return &m= _transform3d; } -- const Eigen::Transform3d* const_transform3d_ptr() { return &m= _transform3d; } -- -- //void set_transform3d(Eigen::Transform3d vec) {= m_transform3d =3D vec; } -- //void set_transform3d_ref(Eigen::Transform3d& vec) {= m_transform3d =3D vec; } -- void set_const_transform3d_ref(const Eigen::Transform3d& vec) { m= _transform3d =3D vec; } -- void set_transform3d_ptr(Eigen::Transform3d* vec) { m= _transform3d =3D *vec; } -- void set_const_transform3d_ptr(const Eigen::Transform3d* const vec) {= m_transform3d =3D *vec; } -+ //Eigen::Projective3d transform3d() { return= m_transform3d; } -+ //Eigen::Projective3d& transform3d_ref() { return= m_transform3d; } -+ const Eigen::Projective3d& const_transform3d_ref() { return m= _transform3d; } -+ Eigen::Projective3d* transform3d_ptr() { return &= m_transform3d; } -+ const Eigen::Projective3d* const_transform3d_ptr() { return &= m_transform3d; } -+ -+ //void set_transform3d(Eigen::Projective3d vec) = { m_transform3d =3D vec; } -+ //void set_transform3d_ref(Eigen::Projective3d& vec) = { m_transform3d =3D vec; } -+ void set_const_transform3d_ref(const Eigen::Projective3d& vec) { = m_transform3d =3D vec; } -+ void set_transform3d_ptr(Eigen::Projective3d* vec) { = m_transform3d =3D *vec; } -+ void set_const_transform3d_ptr(const Eigen::Projective3d* const vec) = { m_transform3d =3D *vec; } -=20=20 - private: - Eigen::Vector3d m_vector3d; -- Eigen::Transform3d m_transform3d; -+ Eigen::Projective3d m_transform3d; -=20 - }; - #endif -@@ -529,6 +529,6 @@ void export_Eigen() - Vector3x_to_python_array(); - Vector3x_from_python_array(); -=20 -- // Eigen::Transform3d -+ // Eigen::Projective3d - Transform3d_to_python_array(); - Transform3d_from_python_array(); diff --git a/gnu/packages/patches/tipp10-fix-compiling.patch b/gnu/packages= /patches/tipp10-fix-compiling.patch deleted file mode 100644 index 3a34a98b22..0000000000 --- a/gnu/packages/patches/tipp10-fix-compiling.patch +++ /dev/null @@ -1,212 +0,0 @@ -Description: Debian patches to make tipp10 compile -Author: Christoph Martin -Last-Update: 2016-07-20 - -https://sources.debian.net/data/main/t/tipp10/2.1.0-2/debian/patches/0001-= FixCompiling - ---- a/widget/tickerboard.cpp -+++ b/widget/tickerboard.cpp -@@ -97,7 +97,8 @@ void TickerBoard::startTicker(bool wasPa - =0D - if (tickerSpeed =3D=3D 50) {=0D - scrollOffset =3D 290;=0D -- scroll(-290, 0, QRect::QRect(10, 15, 590, 35)); //contentsRect());=0D -+ const QRect qr =3D QRect(10, 15, 590, 35);=0D -+ scroll(-290, 0, qr); //contentsRect());=0D - }=0D - =0D - startFlag =3D true;=0D -@@ -153,7 +154,8 @@ void TickerBoard::changeChar() { - scrollOffset =3D 0;=0D - } else {=0D - scrollOffset =3D 290;=0D -- scroll(-290, 0, QRect::QRect(10, 15, 590, 35)); //contentsRect());=0D -+ const QRect qr =3D QRect(10, 15, 590, 35);=0D -+ scroll(-290, 0, qr); //contentsRect());=0D - }=0D - splitLesson();=0D - }=0D -@@ -242,7 +244,8 @@ void TickerBoard::progress() { - =0D - // Move ticker 1 pixel to left=0D - scrollOffset++;=0D -- scroll(-1, 0, QRect::QRect(10, 15, 590, 35)); //contentsRect());=0D -+ const QRect qr =3D QRect(10, 15, 590, 35);=0D -+ scroll(-1, 0, qr); //contentsRect());=0D - =0D - if ((lessonOffset - scrollOffset) <=3D 30) {=0D - setSpeed(tickerSpeed);=0D -@@ -265,14 +268,16 @@ void TickerBoard::progress() { - // 160 pixels overage (because the user must see at least the next wor= d)=0D - if ((lessonOffset - scrollOffset) > 200) {=0D - scrollOffset +=3D (lessonOffset - scrollOffset) - 200;=0D -- scroll(-((lessonOffset - scrollOffset) - 200), 0, QRect::QRect(10, 15= , 590, 35)); //contentsRect());=0D -+ const QRect qr =3D QRect(10, 15, 590, 35);=0D -+ scroll(-((lessonOffset - scrollOffset) - 200), 0, qr); //contentsRect= ());=0D - }=0D - } else {=0D - // If the user types faster than the ticker, move ticker faster after= =0D - // 160 pixels overage (because the user must see at least the next wor= d)=0D - if ((lessonOffset - scrollOffset) > 280) {=0D - scrollOffset +=3D 570;=0D -- scroll(-570, 0, QRect::QRect(10, 15, 590, 35)); //contentsRect());=0D -+ const QRect qr =3D QRect(10, 15, 590, 35);=0D -+ scroll(-570, 0, qr); //contentsRect());=0D - }=0D - =0D - }=0D ---- a/widget/settingspages.cpp -+++ b/widget/settingspages.cpp -@@ -501,7 +501,7 @@ void DatabasePage::writeSettings() { - QSettings settings;=0D - #endif=0D - settings.beginGroup("database");=0D -- settings.setValue("pathpro", lineDatabasePath->text() + "/" + QString::Q= String(APP_USER_DB));=0D -+ settings.setValue("pathpro", lineDatabasePath->text() + "/" + QString(AP= P_USER_DB));=0D - settings.endGroup();=0D - }=0D - =0D ---- a/widget/lessondialog.cpp -+++ b/widget/lessondialog.cpp -@@ -89,7 +89,7 @@ void LessonDialog::updateContent() { - *lessonData =3D lineLessonContent->toPlainText().split("\n", QString::= SkipEmptyParts);=0D - // Delete empty lines=0D - for (int i =3D 0; i < lessonData->size(); i++) {=0D -- if (QString::QString(lessonData->at(i).toLocal8Bit().constData()).sim= plified() =3D=3D "") {=0D -+ if (QString(lessonData->at(i).toLocal8Bit().constData()).simplified()= =3D=3D "") {=0D - lessonData->removeAt(i);=0D - }=0D - }=0D -@@ -259,7 +259,7 @@ void LessonDialog::clickSave() { - contentList =3D lineLessonContent->toPlainText().split("\n", QString::Sk= ipEmptyParts);=0D - // Delete empty lines=0D - for (i =3D 0; i < contentList.size(); i++) {=0D -- if (QString::QString(contentList.at(i).toLocal8Bit().constData()).simpl= ified() =3D=3D "") {=0D -+ if (QString(contentList.at(i).toLocal8Bit().constData()).simplified() = =3D=3D "") {=0D - contentList.removeAt(i);=0D - }=0D - }=0D ---- a/sql/chartablesql.cpp -+++ b/sql/chartablesql.cpp -@@ -57,7 +57,7 @@ QVariant CharSqlModel::data(const QModel - // Read the unicode value=0D - unicode =3D value.toInt();=0D - // Convert unicode to a char=0D -- unicodeToChar =3D QString::QString(QChar(unicode)); //"\'" + QString::= QString(QChar(unicode)) + "\'";=0D -+ unicodeToChar =3D QString(QChar(unicode)); //"\'" + QString::QString(Q= Char(unicode)) + "\'";=0D - return unicodeToChar;=0D - } else {=0D - // Last column (error weight)=0D ---- a/sql/startsql.cpp -+++ b/sql/startsql.cpp -@@ -344,7 +344,7 @@ bool StartSql::updateOwnLesson(QString l - for (i =3D 0; i < content.size(); i++) {=0D - //simplifiedContent =3D QString::QString(=0D - // content.at(i)).replace(QChar(0x27), "''", Qt::CaseSensitive).simpli= fied();=0D -- simplifiedContent =3D trim(QString::QString(=0D -+ simplifiedContent =3D trim(QString(=0D - content.at(i)).replace(QChar(0x27), "''", Qt::CaseSensitive));=0D - =0D - if (!query.exec("INSERT INTO own_content VALUES(NULL,'" +=0D ---- a/def/defines.h -+++ b/def/defines.h -@@ -27,9 +27,9 @@ Foundation, Inc., 51 Franklin Street, Fi - #define DEFINES_H=0D - =0D - // OS constants=0D --#define APP_WIN true=0D -+#define APP_WIN false=0D - #define APP_MAC false=0D --#define APP_X11 false=0D -+#define APP_X11 true=0D - #define APP_PORTABLE false //at least one of the 3 OS must be true too= !=0D - =0D - // Languages=0D -@@ -47,6 +47,7 @@ Foundation, Inc., 51 Franklin Street, Fi - #define APP_URL "http://www.tipp10.com"=0D - #define APP_DB "tipp10v2.template"=0D - #define APP_USER_DB "tipp10v2.db"=0D -+#define APP_SHARE_DIR "/usr/share/tipp10"=0D - =0D - // Update constants=0D - #define UPDATE_URL "www.tipp10.com"=0D ---- a/tipp10.pro -+++ b/tipp10.pro -@@ -88,3 +88,15 @@ SOURCES +=3D main.cpp \ - sql/startsql.cpp \=0D - games/abcrainwidget.cpp \=0D - games/charball.cpp=0D -+=0D -+target.path =3D /usr/bin/=0D -+INSTALLS +=3D target=0D -+share.path =3D /usr/share/tipp10/=0D -+share.files =3D release/* *wav=0D -+INSTALLS +=3D share=0D -+desktop.path =3D /usr/share/applications/=0D -+desktop.files =3D tipp10.desktop=0D -+INSTALLS +=3D desktop=0D -+pixmap.path =3D /usr/share/pixmaps/=0D -+pixmap.files =3D tipp10.png=0D -+INSTALLS +=3D pixmap=0D ---- a/sql/connection.h -+++ b/sql/connection.h -@@ -179,11 +179,13 @@ static bool createConnection() { - CANCEL_NO, "Betroffener Pfad:\n" + dbPath);*/=0D - // Try to create new databae in user path=0D - // Exist a database in the program dir?=0D -- if (QFile::exists(QCoreApplication::applicationDirPath() + "/" + dbNam= eTemplate)) {=0D -+ // if (QFile::exists(QCoreApplication::applicationDirPath() + "/" + db= NameTemplate)) {=0D -+ if (QFile::exists(QString(APP_SHARE_DIR) + "/" + dbNameTemplate)) {= =0D - //if (QFile::exists(":/" + dbNameTemplate)) {=0D - // A database exist in the program dir=0D - // -> copy database to user home dir=0D -- QFile file(QCoreApplication::applicationDirPath() + "/" + dbNameTempl= ate);=0D -+ // QFile file(QCoreApplication::applicationDirPath() + "/" + dbNameTe= mplate);=0D -+ QFile file(QString(APP_SHARE_DIR) + "/" + dbNameTemplate);=0D - //QFile file(":/" + dbNameTemplate);=0D - if (file.copy(dbPath)) {=0D - QFile::setPermissions(dbPath, QFile::permissions(dbPath) | QFile::Wr= iteUser);=0D -@@ -229,7 +231,8 @@ static bool createConnection() { - // Exist a database in user's home dir?=0D - if (!QFile::exists(dbPath)) {=0D - // Exist a database template in the program dir?=0D -- dbPath =3D QCoreApplication::applicationDirPath() + "/" + dbNameTempla= te;=0D -+ // dbPath =3D QCoreApplication::applicationDirPath() + "/" + dbNameTem= plate;=0D -+ dbPath =3D QString(APP_SHARE_DIR) + "/" + dbNameTemplate;=0D - //dbPath =3D ":/" + dbNameTemplate;=0D - if (QFile::exists(dbPath)) {=0D - // A database template exist in the program dir=0D ---- a/widget/helpbrowser.cpp -+++ b/widget/helpbrowser.cpp -@@ -52,13 +52,15 @@ HelpBrowser::HelpBrowser(QString link, Q - textBrowser->setOpenExternalLinks(true);=0D - =0D - textBrowser->setSource(QString("file:///") + =0D -- QCoreApplication::applicationDirPath() + =0D -+ // QCoreApplication::applicationDirPath() + =0D -+ APP_SHARE_DIR + =0D - QString("/help/") + language + QString("/index.html"));=0D - =0D - if (link !=3D "") {=0D - =0D - textBrowser->setSource(QString("file:///") + =0D -- QCoreApplication::applicationDirPath() + =0D -+ // QCoreApplication::applicationDirPath() + =0D -+ APP_SHARE_DIR + =0D - QString("/help/") + language + QString("/content/") + link);=0D - =0D - }=0D ---- a/tipp10.desktop -+++ b/tipp10.desktop -@@ -1,10 +1,10 @@ - [Desktop Entry] --Encoding=3DUTF-8 - Name=3DTIPP10 - Comment=3DTouch Typing Tutor - Comment[de]=3D10-Finger-Schreibtrainer - Exec=3Dtipp10 - Icon=3Dtipp10.png - Terminal=3Dfalse - Type=3DApplication - Categories=3DEducation; -+Keywords=3Dlearning;touchtyping diff --git a/gnu/packages/patches/tipp10-remove-license-code.patch b/gnu/pa= ckages/patches/tipp10-remove-license-code.patch deleted file mode 100644 index 4b7487e726..0000000000 --- a/gnu/packages/patches/tipp10-remove-license-code.patch +++ /dev/null @@ -1,332 +0,0 @@ -Description: Remove license dialog and license key checking - -https://sources.debian.net/data/main/t/tipp10/2.1.0-2/debian/patches/0002-= RemoveLicenseCode - ---- a/main.cpp -+++ b/main.cpp -@@ -33,7 +33,6 @@ Foundation, Inc., 51 Franklin Street, Fi - #include "def/defines.h"=0D - #include "sql/connection.h"=0D - #include "widget/mainwindow.h"=0D --#include "widget/licensedialog.h"=0D - #include "widget/illustrationdialog.h"=0D - =0D - int main(int argc, char *argv[]) {=0D -@@ -59,7 +58,7 @@ int main(int argc, char *argv[]) { - QSettings settings;=0D - #endif=0D - =0D -- // Read/write language, license key and show illustration flag=0D -+ // Read/write language and show illustration flag=0D - settings.beginGroup("general");=0D - QString languageGui =3D settings.value("language_gui",=0D - QLocale::system().name()).toString();=0D -@@ -101,7 +100,6 @@ int main(int argc, char *argv[]) { - QString languageLesson =3D settings.value("language_lesson",=0D - "").toString();=0D - =0D -- QString licenseKey =3D settings.value("licensekey", "").toString();=0D - bool showIllustration =3D settings.value("check_illustration", true).toB= ool();=0D - bool useNativeStyle =3D settings.value("check_native_style", false).toBo= ol();=0D - settings.endGroup();=0D ---- a/tipp10.pro -+++ b/tipp10.pro -@@ -43,7 +43,6 @@ HEADERS +=3D def/defines.h \ - widget/helpbrowser.h \=0D - widget/companylogo.h \=0D - widget/errormessage.h \=0D -- widget/licensedialog.h \=0D - widget/txtmessagedialog.h \=0D - widget/checkversion.h \=0D - sql/connection.h \=0D -@@ -78,7 +77,6 @@ SOURCES +=3D main.cpp \ - widget/helpbrowser.cpp \=0D - widget/companylogo.cpp \=0D - widget/errormessage.cpp \=0D -- widget/licensedialog.cpp \=0D - widget/txtmessagedialog.cpp \=0D - widget/checkversion.cpp \=0D - sql/lessontablesql.cpp \=0D ---- a/widget/licensedialog.cpp -+++ /dev/null -@@ -1,168 +0,0 @@ --/*=0D --Copyright (c) 2006-2009, Tom Thielicke IT Solutions=0D --=0D --This program is free software; you can redistribute it and/or=0D --modify it under the terms of the GNU General Public License=0D --as published by the Free Software Foundation; either version 2=0D --of the License.=0D --=0D --This program is distributed in the hope that it will be useful,=0D --but WITHOUT ANY WARRANTY; without even the implied warranty of=0D --MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the=0D --GNU General Public License for more details.=0D --=0D --You should have received a copy of the GNU General Public License=0D --along with this program; if not, write to the Free Software=0D --Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA=0D --02110-1301, USA.=0D --*/=0D --=0D --/****************************************************************=0D --**=0D --** Implementation of the LicenseDialog class=0D --** File name: licensedialog.cpp=0D --**=0D --****************************************************************/=0D --=0D --#include =0D --#include =0D --#include =0D --#include =0D --#include =0D --=0D --#include "licensedialog.h"=0D --#include "def/defines.h"=0D --=0D --LicenseDialog::LicenseDialog(QWidget *parent) : QDialog(parent) {=0D --=0D -- setWindowFlags(windowFlags() ^ Qt::WindowContextHelpButtonHint);=0D --=0D -- setWindowTitle(tr("Lizenznummer"));=0D -- setWindowIcon(QIcon(":/img/" + QString(ICON_FILENAME)));=0D --=0D -- // Create texbox=0D -- createLineEdit();=0D --=0D -- // Create buttons=0D -- createButtons();=0D --=0D -- // Set the layout of all widgets created above=0D -- createLayout();=0D --=0D -- lineLicensing->setFocus();=0D --}=0D --=0D --void LicenseDialog::createButtons() {=0D -- //Buttons=0D -- buttonOk =3D new QPushButton(this);=0D -- buttonDemo =3D new QPushButton(this);=0D --=0D -- buttonOk->setText(tr("&Ok"));=0D -- buttonDemo->setText(tr("&Demo starten"));=0D -- buttonDemo->setToolTip(tr("Im Demo-Modus koennen pro Lektion nur\n"=0D -- "10 Schriftzeichen eingegeben werden"));=0D --=0D -- buttonOk->setDefault(true);=0D -- // Widget connections=0D -- connect(buttonOk, SIGNAL(clicked()), this, SLOT(clickOk()));=0D -- connect(buttonDemo, SIGNAL(clicked()), this, SLOT(clickDemo()));=0D --}=0D --=0D --void LicenseDialog::createLineEdit() {=0D --=0D -- lineLicensing =3D new QLineEdit();=0D -- lineLicensing->setInputMask(">NNNNNNNNNNNNNN");=0D --=0D -- labelLicensing =3D new QLabel(tr("Bitte geben Sie Ihre Lizenznummer "=0D -- "(ohne Leerzeichen) ein, "=0D -- "die Sie im Arbeitsbuch (Schulbuch) auf Seite 3 finden:"));=0D --=0D -- labelLicensing->setWordWrap(true);=0D --}=0D --=0D --void LicenseDialog::createLayout() {=0D -- // Button layout horizontal=0D -- QHBoxLayout *buttonLayoutHorizontal =3D new QHBoxLayout;=0D -- buttonLayoutHorizontal->addStretch(1);=0D -- buttonLayoutHorizontal->addWidget(buttonDemo);=0D -- buttonLayoutHorizontal->addWidget(buttonOk);=0D -- // Full layout of all widgets vertical=0D -- QVBoxLayout *mainLayout =3D new QVBoxLayout;=0D -- mainLayout->addSpacing(1);=0D -- mainLayout->addWidget(labelLicensing);=0D -- mainLayout->addSpacing(1);=0D -- mainLayout->addWidget(lineLicensing);=0D -- mainLayout->addSpacing(1);=0D -- mainLayout->addLayout(buttonLayoutHorizontal);=0D -- mainLayout->setMargin(15);=0D -- mainLayout->setSpacing(15);=0D -- // Pass layout to parent widget (this)=0D -- this->setLayout(mainLayout);=0D --}=0D --=0D --void LicenseDialog::clickOk() {=0D --=0D -- // Check license key=0D -- if (!checkLicenseKey(lineLicensing->text())) {=0D --=0D -- // License key is wrong=0D --=0D -- // Message to the user=0D -- QMessageBox::information(0, APP_NAME,=0D -- tr("Die eingegebene Lizenznummer ist leider nicht "=0D -- "korrekt.\nBitte ueberpruefen Sie die Schreibweise."));=0D --=0D -- lineLicensing->setFocus();=0D --=0D -- } else {=0D --=0D -- // License key is ok=0D -- writeSettings();=0D -- accept();=0D -- }=0D --}=0D --=0D --void LicenseDialog::clickDemo() {=0D -- accept();=0D --}=0D --=0D --bool LicenseDialog::checkLicenseKey(QString licenseKey) {=0D -- if (licenseKey.size() =3D=3D 14 &&=0D -- licenseKey[0].isLetter() &&=0D -- licenseKey[1].isLetter() &&=0D -- (licenseKey.mid(2, 2) =3D=3D "39" ||=0D -- licenseKey.mid(2, 2) =3D=3D "41" ||=0D -- licenseKey.mid(2, 2) =3D=3D "43" ||=0D -- licenseKey.mid(2, 2) =3D=3D "49" ||=0D -- licenseKey.mid(2, 2) =3D=3D "99") &&=0D -- licenseKey[4].isDigit() &&=0D -- licenseKey[5].isDigit() &&=0D -- licenseKey[6].isDigit() &&=0D -- licenseKey[7].isLetter() &&=0D -- licenseKey[8].isDigit() &&=0D -- licenseKey[9].isDigit() &&=0D -- licenseKey[10].isDigit() &&=0D -- licenseKey[11].isDigit() &&=0D -- licenseKey[12].isLetter() &&=0D -- licenseKey[13].isLetter()) {=0D --=0D -- return true;=0D -- }=0D -- return false;=0D --}=0D --=0D --void LicenseDialog::writeSettings() {=0D -- // Saves settings of the startwiget=0D -- // (uses the default constructor of QSettings, passing=0D -- // the application and company name see main function)=0D -- #if APP_PORTABLE=0D -- QSettings settings(QCoreApplication::applicationDirPath() +=0D -- "/portable/settings.ini", QSettings::IniFormat);=0D -- #else=0D -- QSettings settings;=0D -- #endif=0D --=0D -- settings.beginGroup("general");=0D -- settings.setValue("licensekey", lineLicensing->text());=0D -- settings.endGroup();=0D --}=0D ---- a/widget/licensedialog.h -+++ /dev/null -@@ -1,85 +0,0 @@ --/*=0D --Copyright (c) 2006-2009, Tom Thielicke IT Solutions=0D --=0D --This program is free software; you can redistribute it and/or=0D --modify it under the terms of the GNU General Public License=0D --as published by the Free Software Foundation; either version 2=0D --of the License.=0D --=0D --This program is distributed in the hope that it will be useful,=0D --but WITHOUT ANY WARRANTY; without even the implied warranty of=0D --MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the=0D --GNU General Public License for more details.=0D --=0D --You should have received a copy of the GNU General Public License=0D --along with this program; if not, write to the Free Software=0D --Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA=0D --02110-1301, USA.=0D --*/=0D --=0D --/****************************************************************=0D --**=0D --** Definition of the LicenseDialog class=0D --** File name: licensedialog.h=0D --**=0D --****************************************************************/=0D --=0D --#ifndef LICENSEDIALOG_H=0D --#define LICENSEDIALOG_H=0D --=0D --#include =0D --#include =0D --#include =0D --#include =0D --#include =0D --#include =0D --=0D --//! The LicenseDialog class provides a license input widget.=0D --/*!=0D -- The LicenseDialog class shows a dialog to enter a license key.=0D --=0D -- @author Tom Thielicke, s712715=0D -- @version 0.0.1=0D -- @date 09.09.2008=0D --*/=0D --class LicenseDialog : public QDialog {=0D -- Q_OBJECT=0D --=0D -- public:=0D --=0D -- //! Constructor, creates two table objects and provide it in two tabs.= =0D -- LicenseDialog(QWidget *parent =3D 0);=0D --=0D -- bool checkLicenseKey(QString licenseKey);=0D --=0D -- public slots:=0D --=0D -- private slots:=0D --=0D -- //! Start button pressed=0D -- void clickOk();=0D --=0D -- //! Demo button pressed=0D -- void clickDemo();=0D --=0D -- private:=0D --=0D -- //! Creates a cancel and a ok button.=0D -- void createButtons();=0D --=0D -- //! Creates a textbox.=0D -- void createLineEdit();=0D --=0D -- //! Creates the layout of the complete class.=0D -- void createLayout();=0D --=0D -- //! Writes user settings=0D -- void writeSettings();=0D --=0D -- QPushButton *buttonOk;=0D -- QPushButton *buttonDemo;=0D -- QLabel *labelLicensing;=0D -- QLineEdit *lineLicensing;=0D --};=0D --=0D --#endif //LICENSEDIALOG_H=0D ---- a/widget/mainwindow.cpp -+++ b/widget/mainwindow.cpp -@@ -116,11 +116,6 @@ void MainWindow::closeEvent(QCloseEvent - }=0D - }=0D - =0D --bool MainWindow::checkLicenseKey(QString licenseKey) {=0D --=0D -- return false;=0D --}=0D --=0D - void MainWindow::createMenu() {=0D - //Mac-Version:=0D - //-----------=0D ---- a/widget/mainwindow.h -+++ b/widget/mainwindow.h -@@ -39,7 +39,6 @@ Foundation, Inc., 51 Franklin Street, Fi - #include "trainingwidget.h"=0D - #include "evaluationwidget.h"=0D - #include "illustrationdialog.h"=0D --#include "licensedialog.h"=0D - #include "games/abcrainwidget.h"=0D - #include "helpbrowser.h"=0D - =0D diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index 224bd792bd..cf601c4af1 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -251,13 +251,6 @@ When present, Poppler is able to correctly render CJK = and Cyrillic text.") (license (list license:bsd-3 license:gpl2)))) =20 -(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 79d41b3e73..d87dd63b76 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -139,210 +139,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+))) =20 -(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/q= t/" - (string-copy version 0 (string-rindex ver= sion #\.)) - "/" 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 sta= ndard. - ;; We could build it with -std=3Dgnu++98, but then we'll get in tro= uble 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 fl= ags, - ;; but we can't make them a separate output because "out" and "example= s" - ;; would refer to each other. - (outputs '("out" ;112MiB core + 37MiB exam= ples - "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 . - ;; Qt 5: assembler error; see . - (supported-systems (delete "mips64el-linux" %supported-systems)))) - (define-public qtbase (package (name "qtbase") @@ -2223,53 +2019,6 @@ itself.") ("qtwebchannel" ,qtwebchannel) ("qtwebengine" ,qtwebengine))))) =20 -(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") --=20 2.30.0