aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/nicotine.scm
blob: 08232c2756cbe00735102ffa0ed3e2cd7b4cdd2e (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2020 Martin Becze <mjbecze@riseup.net>
;;; Copyright © 2022 Fatima Toothpaste <fatimatoothpaste@disroot.org>
;;;
;;; 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 nicotine)
  #:use-module ((guix licenses) #:prefix license:)
  #:use-module (guix packages)
  #:use-module (guix git-download)
  #:use-module (guix build-system python)
  #:use-module (gnu packages bash)
  #:use-module (gnu packages freedesktop)
  #:use-module (gnu packages glib)
  #:use-module (gnu packages gnome)
  #:use-module (gnu packages gettext)
  #:use-module (gnu packages gtk)
  #:use-module (gnu packages mp3)
  #:use-module (gnu packages xorg))

(define-public nicotine+
  (package
    (name "nicotine+")
    (version "3.2.1")
    (source (origin
              (method git-fetch)
              (uri (git-reference
                    (url "https://github.com/Nicotine-Plus/nicotine-plus")
                    (commit version)))
              (file-name (git-file-name name version))
              (sha256 (base32 "1x08z5lvkdl62dkc11vrsackgzsh1vr9vp3vgsgfzjyrvlsybmfw"))
              (modules '((guix build utils)))
              ;; Remove test that relies on network access.
              (snippet '(delete-file-recursively "test/integration"))))
    (build-system python-build-system)
    (arguments
     `(#:imported-modules ((guix build glib-or-gtk-build-system)
                           ,@%python-build-system-modules)
       #:modules
       ((guix build utils)
        (guix build python-build-system)
        ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:))
       #:phases
       (modify-phases %standard-phases
         (add-after 'install 'wrap-program
           (lambda* (#:key outputs #:allow-other-keys)
             (let ((prog (string-append
                          (assoc-ref outputs "out")
                          "/bin/nicotine"))
                   (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
               (wrap-program prog
                 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))))
         (add-after 'wrap-program 'glib-or-gtk-wrap
           (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap))
         (add-after 'glib-or-gtk-wrap 'glib-or-gtk-compile-schemas
           (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas))
         (replace 'check
           (lambda* (#:key tests? #:allow-other-keys)
             (when tests?
               (invoke "xvfb-run" "python" "-m" "unittest")))))))
    (inputs
     (list bash-minimal gspell gtk+ python-pygobject libappindicator python-pytaglib))
    (native-inputs
     (list gettext-minimal xvfb-run))
    (home-page "https://nicotine-plus.org/")
    (synopsis "Graphical client for Soulseek")
    (description
     "Nicotine+ is a graphical client for the Soulseek peer-to-peer
file sharing network.  It is an attempt to keep Nicotine working with
the latest libraries, kill bugs, keep current with the Soulseek protocol,
and add some new features that users want and/or need.")
    (license license:gpl3+)))
atch-flags): Remove. Marius Bakke 2019-11-15gnu: icu4c: Fix cross-compilation....* gnu/packages/icu4c.scm (icu4c-build-root): New variable. (icu4c)[native-inputs]: Add it. [arguments]: Pass it as a configure-flag. Mathieu Othacehe 2019-07-31gnu: icu4c: Make 'libicudata.so' behave the same on all architectures....* gnu/packages/icu4c.scm (icu4c)[arguments]: Do not pass '--with-data-packaging=archive' in #:configure-flags. Add phase to enable use of standard libraries in libicudata.so. Marius Bakke 2019-07-31gnu: icu4c: Add upstream patches....This is necessary to fix a test failure in 'node' when built for i686-linux. * gnu/packages/icu4c.scm (%icu4c-patches): New variable. (icu4c)[source](patches, patch-flags): New fields. Marius Bakke 2019-07-07gnu: icu4c: Enable tests on i686....* gnu/packages/icu4c.scm (icu4c)[arguments]: Don't override <#:tests?>. Marius Bakke 2019-07-07gnu: icu4c: Use 'python-minimal' for tests....* gnu/packages/icu4c.scm (icu4c)[native-inputs]: Change PYTHON to PYTHON-MINIMAL. Marius Bakke 2019-07-02gnu: Remove redundant icu4c@64 package....* gnu/packages/icu4c.scm (icu4c-64): Remove variable. * gnu/packages/chromium.scm (ungoogled-chromium)[inputs]: Change ICU4C-64 to ICU4C. Marius Bakke 2019-07-02Merge branch 'staging' into core-updatesMarius Bakke 2019-06-30gnu: ungoogled-chromium: Build against ICU 64....* gnu/packages/icu4c.scm (icu4c-64): New public variable. * gnu/packages/chromium.scm (ungoogled-chromium)[inputs]: Change ICU4C to ICU4C-64. Marius Bakke 2019-05-04gnu: icu4c: Update to 64.2....* gnu/packages/icu4c.scm (icu4c): Update to 64.2. [native-inputs]: Add PYTHON. Marius Bakke 2018-12-12gnu: icu4c: Update to 63.1....* gnu/packages/icu4c.scm (icu4c): Update to 63.1. Marius Bakke 2018-10-05gnu: icu4c: Skip tests on i686....* gnu/packages/icu4c.scm (icu4c)[arguments]: On i686-linux, set #:tests? #f. Marius Bakke 2018-07-28gnu: icu4c: Don't keep a reference to coreutils....* gnu/packages/icu4c.scm (icu4c)[arguments]: Add phase 'avoid-coreutils-reference'. Marius Bakke 2018-07-24gnu: icu4c: Update to 62.1....* gnu/packages/icu4c.scm (icu4c): Update to 62.1. Marius Bakke 2018-03-29gnu: icu4c: Update to 61.1....* gnu/packages/icu4c.scm (icu4c): Update to 61.1. Marius Bakke 2017-12-19gnu: icu4c: Update to 60.2....* gnu/packages/icu4c.scm (icu4c): Update to 60.2. Marius Bakke 2017-11-02gnu: icu4c: Update to 60.1....* gnu/packages/icu4c.scm (icu4c): Update to 60.1. [source]: Remove patches. * gnu/packages/patches/icu4c-CVE-2017-14952.patch, gnu/packages/patches/icu4c-CVE-2017-7867-CVE-2017-7868.patch, icu4c-reset-keyword-list-iterator.patch: Remove files. * gnu/local.mk (dist_patch_DATA): Remove them. Efraim Flashner 2017-11-01gnu: icu4c: Incorporate grafted changes....* gnu/packages/icu4c.scm (icu4c)[source]: Add patch. [replacement]: Remove field. (icu4c/fixed): Remove variable. Efraim Flashner 2017-10-24gnu: icu4c: Fix CVE-2017-14952....* gnu/packages/patches/icu4c-CVE-2017-14952.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/icu4c.scm (icu4c)[replacement]: New field. (icu4c-fixed): New variable. Leo Famulari 2017-05-24Merge branch 'master' into core-updatesRicardo Wurmus 2017-05-15gnu: Add java-icu4j....* gnu/packages/icu4c.scm (java-icu4j): New variable. Ricardo Wurmus 2017-04-20gnu: icu4c: Fix CVE-2017-{7867,7868}....* gnu/packages/patches/icu4c-CVE-2017-7867-CVE-2017-7868.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/icu4c.scm (icu4c/fixed)[source]: Use it. Leo Famulari 2017-04-17gnu: icu4c: Fix crashes in programs using system ICU....Fixes <http://bugs.gnu.org/26462>. * gnu/packages/patches/icu4c-reset-keyword-list-iterator.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/icu4c.scm (icu4c)[replacement]: New field. (icu4c/fixed): New variable. Clément Lassieur