aboutsummaryrefslogtreecommitdiff
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2020 Martin Becze <mjbecze@riseup.net>
;;; Copyright © 2022 Fatima Toothpaste <fatimatoothpaste@disroot.org>
;;; Copyright © 2024 Juliana Sims <juli@incana.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 gexp)
  #: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.3.6")
    (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 "1sblhfsyf34lsarjv8b83k20jqfpgcxa1iqbvab05xy52v5y3vcd"))
       (modules '((guix build utils)))
       ;; Remove test that relies on network access.
       (snippet '(delete-file-recursively
                  "pynicotine/tests/unit/test_version.py"))))
    (build-system python-build-system)
    (arguments
     (list
      #: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 _
                       (wrap-program (string-append #$output "/bin/nicotine")
                         `("GI_TYPELIB_PATH" ":" prefix
                           (,(getenv "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+)))
rdware.scm, gnu/packages/haskell-apps.scm, gnu/packages/haskell-xyz.scm, gnu/packages/hexedit.scm, gnu/packages/i2p.scm, gnu/packages/ibus.scm, gnu/packages/image-processing.scm, gnu/packages/image-viewers.scm, gnu/packages/image.scm, gnu/packages/ipfs.scm, gnu/packages/java-graphics.scm, gnu/packages/java-maths.scm, gnu/packages/java.scm, gnu/packages/javascript.scm, gnu/packages/jrnl.scm, gnu/packages/julia.scm, gnu/packages/jupyter.scm, gnu/packages/kodi.scm, gnu/packages/language.scm, gnu/packages/lego.scm, gnu/packages/less.scm, gnu/packages/libusb.scm, gnu/packages/linux.scm, gnu/packages/lirc.scm, gnu/packages/lisp-xyz.scm, gnu/packages/llvm.scm, gnu/packages/logging.scm, gnu/packages/lolcode.scm, gnu/packages/lua.scm, gnu/packages/lxde.scm, gnu/packages/lxqt.scm, gnu/packages/machine-learning.scm, gnu/packages/mail.scm, gnu/packages/markup.scm, gnu/packages/maths.scm, gnu/packages/maven.scm, gnu/packages/mes.scm, gnu/packages/messaging.scm, gnu/packages/monitoring.scm, gnu/packages/mpd.scm, gnu/packages/music.scm, gnu/packages/networking.scm, gnu/packages/node-xyz.scm, gnu/packages/ocaml.scm, gnu/packages/ocr.scm, gnu/packages/onc-rpc.scm, gnu/packages/opencl.scm, gnu/packages/opencog.scm, gnu/packages/pantheon.scm, gnu/packages/password-utils.scm, gnu/packages/patchutils.scm, gnu/packages/pdf.scm, gnu/packages/perl6.scm, gnu/packages/phabricator.scm, gnu/packages/popt.scm, gnu/packages/printers.scm, gnu/packages/prolog.scm, gnu/packages/protobuf.scm, gnu/packages/pulseaudio.scm, gnu/packages/python-crypto.scm, gnu/packages/python-web.scm, gnu/packages/python-xyz.scm, gnu/packages/qt.scm, gnu/packages/radio.scm, gnu/packages/rails.scm, gnu/packages/rdf.scm, gnu/packages/rednotebook.scm, gnu/packages/rpc.scm, gnu/packages/rsync.scm, gnu/packages/ruby.scm, gnu/packages/rust.scm, gnu/packages/scheme.scm, gnu/packages/screen.scm, gnu/packages/security-token.scm, gnu/packages/selinux.scm, gnu/packages/serialization.scm, gnu/packages/shells.scm, gnu/packages/shellutils.scm, gnu/packages/simh.scm, gnu/packages/sml.scm, gnu/packages/ssh.scm, gnu/packages/statistics.scm, gnu/packages/stenography.scm, gnu/packages/sync.scm, gnu/packages/syncthing.scm, gnu/packages/synergy.scm, gnu/packages/telephony.scm, gnu/packages/terminals.scm, gnu/packages/tex.scm, gnu/packages/texinfo.scm, gnu/packages/text-editors.scm, gnu/packages/textutils.scm, gnu/packages/time.scm, gnu/packages/tmux.scm, gnu/packages/tor.scm, gnu/packages/toys.scm, gnu/packages/version-control.scm, gnu/packages/video.scm, gnu/packages/vim.scm, gnu/packages/virtualization.scm, gnu/packages/vlang.scm, gnu/packages/vnc.scm, gnu/packages/vpn.scm, gnu/packages/web-browsers.scm, gnu/packages/web.scm, gnu/packages/wireservice.scm, gnu/packages/wm.scm, gnu/packages/wxwidgets.scm, gnu/packages/xdisorg.scm, gnu/packages/xml.scm, gnu/packages/xorg.scm, tests/lint.scm: Remove trailing ".git" from 'git-reference' URL. Ludovic Courtès 2020-07-11gnu: Add kcov....* gnu/packages/code.scm (kcov): New variable. Julien Lepiller 2020-06-03gnu: global: Don't build static libraries....* gnu/packages/code.scm (global)[arguments]: Add configure-flag to disable static libraries. Efraim Flashner 2020-06-03gnu: global: Move vim plugins to correct directory....* gnu/packages/code.scm (global)[arguments]: Adjust 'post-install phase to install vim plugin files to the expected directory. Efraim Flashner 2020-05-30gnu: cloc: Update to 1.86....* gnu/packages/code.scm (cloc): Update to 1.86. Tobias Geerinckx-Rice 2020-05-27gnu: Add Universal Ctags....* gnu/packages/code.scm (universal-ctags): New public variable. Marius Bakke 2020-05-27gnu: code.scm: Sort module imports....* gnu/packages/code.scm (define-module): Sort imports. Marius Bakke 2020-05-11gnu: lcov: Update to commit 40580cd659....* gnu/packages/code.scm (lcov): Update to commit 40580cd659. (arguments): Enable tests and specify the test target. [phases]{patch-pwd, wrap}: Add phases. [inputs]: Add perl-json and perl-perlio-gzip. Maxim Cournoyer 2020-03-21Merge branch 'master' into core-updatesMarius Bakke 2020-03-21gnu: global: Add 'python-wrapper' as input....* gnu/packages/code.scm (global)[inputs]: Add 'python-wrapper' to fix tagging python code. wednesday 2020-03-14Merge branch 'master' into core-updatesMarius Bakke 2020-03-13gnu: trio: Use HTTPS home page....* gnu/packages/code.scm (trio)[home-page]: Use HTTPS. Tobias Geerinckx-Rice 2020-01-21Merge branch 'staging' into core-updatesMarius Bakke 2020-01-16gnu: global: Update to 6.6.4....* gnu/packages/code.scm (global): Update to 6.6.4. Tobias Geerinckx-Rice 2020-01-11Merge branch 'master' into core-updatesMarius Bakke 2020-01-08gnu: cloc: Update to 1.84....* gnu/packages/code.scm (cloc): Update to 1.84. Tobias Geerinckx-Rice 2019-12-05Merge branch 'master' into core-updatesMarius Bakke 2019-11-21gnu: astyle: Install header file, too....* gnu/packages/code.scm(astyle)[arguments]<phases>{install-libs}: Also install header file. Hartmut Goebel 2019-11-21gnu: astyle: Create symlinks for .so files, too....The Makefile only creates files with a versioned extension (.so.3.1.0), which are not picked up be cmake's `find_libarary()`. (Instead cmake picks up the static .a library.) Symlinks for .so.3 are required to avoid phase `verify-runpath` fails. * gnu/packages/code.scm(astyle)[argumements]<modules>: New element. <phases>{install-libs}: Add creating symlinks. Hartmut Goebel 2019-11-16Merge remote-tracking branch master into core-updatesMathieu Othacehe 2019-11-03gnu: colormake: Use HTTPS home page....* gnu/packages/code.scm (colormake)[home-page]: Use HTTPS. Tobias Geerinckx-Rice 2019-11-03gnu: colormake: Don't use unstable tarball....* gnu/packages/code.scm (colormake)[source]: Use GIT-FETCH and GIT-FILE-NAME. [native-inputs]: Remove gzip and tar. [arguments]: Copy the source checkout instead of extracting the source tarball. Tobias Geerinckx-Rice 2019-11-03gnu: makefile2graph: Don't use unstable tarball....* gnu/packages/code.scm (makefile2graph)[source]: Use GIT-FETCH and GIT-FILE-NAME. Tobias Geerinckx-Rice 2019-11-03gnu: withershins: Don't use unstable tarball....* gnu/packages/code.scm (withershins)[source]: Use GIT-FETCH and GIT-FILE-NAME. Tobias Geerinckx-Rice 2019-11-03gnu: withershins: Build....* gnu/packages/code.scm (withershins)[arguments]: Don't treat compiler warnings as errors. Tobias Geerinckx-Rice 2019-10-20gnu: Remove more GCC < 7 workarounds....* gnu/packages/abiword.scm (abiword)[arguments]: Do not pass "-std=c++11" to the GCC command line. * gnu/packages/aidc.scm (zbar)[arguments]: Likewise. * gnu/packages/android.scm (android-libbase, android-libcutils, android-libziparchive, fastboot)[arguments]: Likewise. * gnu/packages/audio.scm (azr3, guitarix, suil)[arguments]: Likewise. * gnu/packages/bioinformatics.scm (bless)[arguments]: Likewise. * gnu/packages/bittorrent.scm (libtorrent-rasterbar)[arguments]: Likewise. * gnu/packages/code.scm (rtags)[arguments]: Likewise. * gnu/packages/coq.scm (coq-gappa)[arguments]: Likewise. * gnu/packages/emulators.scm (dolphin-emu)[arguments]: Likewise. * gnu/packages/engineering.scm (xyce-serial, xyce-parallel)[arguments]: Likewise. * gnu/packages/gnupg.scm (pinentry-qt)[arguments]: Likewise. * gnu/packages/gobby.scm (libnet6, obby)[arguments]: Likewise. * gnu/packages/graph.scm (python-faiss)[arguments]: Likewise. * gnu/packages/graphics.scm (povray)[arguments]: Likewise. * gnu/packages/image-processing.scm (opencv, itk-snap)[arguments]: Likewise. * gnu/packages/image.scm (freeimage)[arguments]: Likewise. * gnu/packages/kodi.scm (crossguid)[arguments]: Likewise. * gnu/packages/music.scm (amsynth, qmidiarp, qmidiroute, seq24)[arguments]: Likewise. * gnu/packages/pdf.scm (python-poppler-qt5)[arguments]: Likewise. * gnu/packages/sagemath.scm (lcalc)[arguments]: Likewise. * gnu/packages/video.scm (vlc, mlt, v4l-utils)[arguments]: Likewise. Marius Bakke 2019-09-24gnu: indent: Fix aarch64 cross-compilation....The packaged config.sub and config.guess do not have aarch64 support. Replace them by the ones from automake. * gnu/packages/code.scm (indent)[arguments]: Replace outdated config.sub and config.guess, taken from ... [native-inputs]: ... here, by adding automake. (indent-2.2.12)[native-inputs]: Inherit from indent native-inputs to keep automake that is added above. Mathieu Othacehe 2019-07-09gnu: Remove indent@2.2.10....* gnu/packages/code.scm (indent): Update to 2.2.12. [native-inputs]: Add TEXINFO. (indent-2.2.12): Remove variable. Marius Bakke 2019-05-14gnu: uncrustify: Update to 0.69.0....* gnu/packages/code.scm (uncrustify): Update to 0.69.0. Pierre Neidhardt 2019-05-09gnu: cloc: Update to 1.82....* gnu/packages/code.scm (cloc): Update to 1.82. [source]: Use GIT-FETCH and GIT-FILE-NAME. Tobias Geerinckx-Rice 2019-03-06gnu: lcov: Update to 1.14....* gnu/packages/code.scm (lcov): Update to 1.14. Tobias Geerinckx-Rice 2019-02-27gnu: cflow: Update to 1.6....* gnu/packages/code.scm (cflow): Update to 1.6. Efraim Flashner