You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

200 lines
7.5 KiB

gnu: Remove ".git" from "https://github/…/….git". Until now, 'lookup-origin' and thus 'lookup-origin-revision' in (guix swh) would sometimes return #f for these because the ".git" URLs are redirects to the non-".git" URLs. Consequently, 'guix lint -c archival' would keep saying "scheduled Software Heritage archival"; likewise, the fallback download code would fail. * gnu/packages/ada.scm, gnu/packages/admin.scm, gnu/packages/aidc.scm, gnu/packages/algebra.scm, gnu/packages/android.scm, gnu/packages/animation.scm, gnu/packages/arcan.scm, gnu/packages/assembly.scm, gnu/packages/audio.scm, gnu/packages/authentication.scm, gnu/packages/avr.scm, gnu/packages/axoloti.scm, gnu/packages/backup.scm, gnu/packages/bash.scm, gnu/packages/benchmark.scm, gnu/packages/bioconductor.scm, gnu/packages/bioinformatics.scm, gnu/packages/bittorrent.scm, gnu/packages/boost.scm, gnu/packages/build-tools.scm, gnu/packages/c.scm, gnu/packages/calendar.scm, gnu/packages/cdrom.scm, gnu/packages/check.scm, gnu/packages/chemistry.scm, gnu/packages/chez.scm, gnu/packages/clojure.scm, gnu/packages/code.scm, gnu/packages/compression.scm, gnu/packages/compton.scm, gnu/packages/coq.scm, gnu/packages/cpp.scm, gnu/packages/cran.scm, gnu/packages/crypto.scm, gnu/packages/curl.scm, gnu/packages/databases.scm, gnu/packages/datastructures.scm, gnu/packages/debug.scm, gnu/packages/disk.scm, gnu/packages/distributed.scm, gnu/packages/django.scm, gnu/packages/dlang.scm, gnu/packages/dns.scm, gnu/packages/docker.scm, gnu/packages/education.scm, gnu/packages/efi.scm, gnu/packages/elixir.scm, gnu/packages/emacs-xyz.scm, gnu/packages/embedded.scm, gnu/packages/emulators.scm, gnu/packages/engineering.scm, gnu/packages/erlang.scm, gnu/packages/fabric-management.scm, gnu/packages/file-systems.scm, gnu/packages/finance.scm, gnu/packages/firmware.scm, gnu/packages/flashing-tools.scm, gnu/packages/fonts.scm, gnu/packages/fontutils.scm, gnu/packages/fpga.scm, gnu/packages/game-development.scm, gnu/packages/games.scm, gnu/packages/genealogy.scm, gnu/packages/genimage.scm, gnu/packages/geo.scm, gnu/packages/gimp.scm, gnu/packages/gl.scm, gnu/packages/gnome-xyz.scm, gnu/packages/gnome.scm, gnu/packages/gnuzilla.scm, gnu/packages/golang.scm, gnu/packages/gpodder.scm, gnu/packages/graph.scm, gnu/packages/graphics.scm, gnu/packages/graphviz.scm, gnu/packages/groff.scm, gnu/packages/groovy.scm, gnu/packages/gtk.scm, gnu/packages/guile-xyz.scm, gnu/packages/guile.scm, gnu/packages/hardware.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.
1 year ago
  1. ;;; GNU Guix --- Functional package management for GNU
  2. ;;; Copyright © 2019, 2020 Pierre Langlois <pierre.langlois@gmx.com>
  3. ;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr>
  4. ;;;
  5. ;;; This file is part of GNU Guix.
  6. ;;;
  7. ;;; GNU Guix is free software; you can redistribute it and/or modify it
  8. ;;; under the terms of the GNU General Public License as published by
  9. ;;; the Free Software Foundation; either version 3 of the License, or (at
  10. ;;; your option) any later version.
  11. ;;;
  12. ;;; GNU Guix is distributed in the hope that it will be useful, but
  13. ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
  14. ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  15. ;;; GNU General Public License for more details.
  16. ;;;
  17. ;;; You should have received a copy of the GNU General Public License
  18. ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
  19. (define-module (gnu packages gpodder)
  20. #:use-module (guix download)
  21. #:use-module (guix git-download)
  22. #:use-module (guix packages)
  23. #:use-module ((guix licenses) #:prefix license:)
  24. #:use-module (guix build-system cmake)
  25. #:use-module (guix build-system python)
  26. #:use-module (gnu packages)
  27. #:use-module (gnu packages check)
  28. #:use-module (gnu packages freedesktop)
  29. #:use-module (gnu packages glib)
  30. #:use-module (gnu packages gtk)
  31. #:use-module (gnu packages pkg-config)
  32. #:use-module (gnu packages python-web)
  33. #:use-module (gnu packages python-xyz)
  34. #:use-module (gnu packages qt)
  35. #:use-module (gnu packages video))
  36. (define-public gpodder
  37. (package
  38. (name "gpodder")
  39. (version "3.10.15")
  40. (source
  41. (origin
  42. (method git-fetch)
  43. (uri (git-reference
  44. (url "https://github.com/gpodder/gpodder")
  45. (commit version)))
  46. (sha256
  47. (base32
  48. "0ghbanj142n0hgydzfjmnkdgri2kswsjal3mn10c723kih4ir4yr"))
  49. (file-name (git-file-name name version))))
  50. (build-system python-build-system)
  51. (native-inputs
  52. `(("intltool" ,intltool)
  53. ("python-coverage" ,python-coverage)
  54. ("python-minimock" ,python-minimock)))
  55. (inputs
  56. `(("gtk+" ,gtk+)
  57. ("python-pygobject" ,python-pygobject)
  58. ("python-pycairo" ,python-pycairo)
  59. ("python-dbus" ,python-dbus)
  60. ("python-html5lib" ,python-html5lib)
  61. ("python-mygpoclient" ,python-mygpoclient)
  62. ("python-podcastparser" ,python-podcastparser)
  63. ("youtube-dl" ,youtube-dl)
  64. ("xdg-utils" ,xdg-utils)))
  65. (arguments
  66. '(#:phases
  67. (modify-phases %standard-phases
  68. ;; Avoid needing xdg-utils as a propagated input.
  69. (add-after 'unpack 'patch-xdg-open
  70. (lambda* (#:key inputs #:allow-other-keys)
  71. (let ((xdg-utils (assoc-ref inputs "xdg-utils")))
  72. (substitute* "src/gpodder/util.py"
  73. (("xdg-open") (string-append xdg-utils "/bin/xdg-open")))
  74. #t)))
  75. (replace 'check
  76. (lambda _
  77. ; The `unittest' target overrides the PYTHONPATH variable.
  78. (substitute* "makefile"
  79. (("PYTHONPATH=src/") "PYTHONPATH=${PYTHONPATH}:src/"))
  80. (invoke "make" "unittest")))
  81. ;; 'msgmerge' introduces non-determinism by resetting the
  82. ;; POT-Creation-Date in .po files.
  83. (add-before 'install 'do-not-run-msgmerge
  84. (lambda _
  85. (substitute* "makefile"
  86. (("msgmerge") "true"))
  87. #t))
  88. (add-before 'install 'make-po-files-writable
  89. (lambda _
  90. (for-each
  91. (lambda (f)
  92. (chmod f #o664))
  93. (find-files "po"))
  94. #t))
  95. (replace 'install
  96. (lambda* (#:key outputs #:allow-other-keys)
  97. (setenv "PREFIX" (assoc-ref outputs "out"))
  98. (invoke "make" "install")))
  99. (add-after 'install 'wrap-gpodder
  100. (lambda* (#:key outputs #:allow-other-keys)
  101. (let ((out (assoc-ref outputs "out"))
  102. (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
  103. (wrap-program (string-append out "/bin/gpodder")
  104. `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)))
  105. #t))))))
  106. (home-page "https://gpodder.github.io")
  107. (synopsis "Simple podcast client")
  108. (description "gPodder is a podcatcher, i.e. an application that allows
  109. podcast feeds (RSS, Atom, Youtube, Soundcloud, Vimeo and XSPF) to be
  110. subscribed to, checks for new episodes and allows the podcast to be saved
  111. locally for later listening.")
  112. (license license:gpl3+)))
  113. (define-public libmygpo-qt
  114. (package
  115. (name "libmygpo-qt")
  116. (version "1.1.0")
  117. (source (origin
  118. (method url-fetch)
  119. (uri (string-append "http://stefan.derkits.at/files/"
  120. "libmygpo-qt/libmygpo-qt." version ".tar.gz"))
  121. (sha256
  122. (base32
  123. "1kg18qrq2rsswgzhl65r3mlyx7kpqg4wwnbp4yiv6svvmadmlxl2"))
  124. (patches (search-patches "libmygpo-qt-fix-qt-5.11.patch"
  125. "libmygpo-qt-missing-qt5-modules.patch"))))
  126. (build-system cmake-build-system)
  127. (native-inputs
  128. `(("pkg-config" ,pkg-config)))
  129. (inputs
  130. `(("qt" ,qtbase)))
  131. (arguments
  132. `(#:configure-flags '("-DMYGPO_BUILD_TESTS=ON")
  133. ;; TODO: Enable tests when https://github.com/gpodder/gpodder/issues/446
  134. ;; is fixed.
  135. #:tests? #f))
  136. (home-page "https://gpodder.github.io")
  137. (synopsis "Qt/C++ library wrapping the gpodder web service")
  138. (description "@code{libmygpo-qt} is a Qt/C++ library wrapping the
  139. @url{https://gpodder.net} APIs. It allows applications to discover, manage
  140. and track podcasts.")
  141. (license license:lgpl2.1+)))
  142. (define-public python-mygpoclient
  143. (package
  144. (name "python-mygpoclient")
  145. (version "1.8")
  146. (source
  147. (origin
  148. (method url-fetch)
  149. (uri (pypi-uri "mygpoclient" version))
  150. (sha256
  151. (base32
  152. "1fi5x6k1mngr0iviw2s4n1f3y2x7pwqy5ivkcrjdprzvwr37f0mh"))))
  153. (build-system python-build-system)
  154. (native-inputs
  155. `(("python-coverage" ,python-coverage)
  156. ("python-minimock" ,python-minimock)
  157. ("python-nose" ,python-nose)))
  158. (arguments
  159. `(#:phases
  160. (modify-phases %standard-phases
  161. (replace 'check
  162. (lambda _
  163. (invoke "make" "test"))))))
  164. (home-page "https://mygpoclient.readthedocs.io")
  165. (synopsis "Python library for the gPodder web service")
  166. (description "@code{mygpoclient} provides an easy and structured way to
  167. access the @url{https://gpodder.net} web services. In addition to
  168. subscription list synchronization and storage, the API supports uploading and
  169. downloading episode status changes.")
  170. (license license:gpl3+)))
  171. (define-public python-podcastparser
  172. (package
  173. (name "python-podcastparser")
  174. (version "0.6.5")
  175. (source
  176. (origin
  177. (method url-fetch)
  178. (uri (pypi-uri "podcastparser" version))
  179. (sha256
  180. (base32 "0k62ppg20i41gcc5x8ddjn7zbpy47hqpxzrq9257g2c71m4qw07b"))))
  181. (native-inputs
  182. `(("python-coverage" ,python-coverage)
  183. ("python-nose" ,python-nose)))
  184. (arguments
  185. '(#:phases
  186. (modify-phases %standard-phases
  187. (replace 'check
  188. (lambda _ (invoke "nosetests"))))))
  189. (build-system python-build-system)
  190. (home-page "http://gpodder.org/podcastparser")
  191. (synopsis "Simplified and fast RSS parser Python library")
  192. (description "@code{podcastparser} is a library for the gPodder project to
  193. provide an easy and reliable way of parsing RSS and Atom-based podcast feeds
  194. in Python.")
  195. (license license:isc)))