aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/orpheus.scm
blob: 7a69d9995476a89e63ea24d90107c13f46067c26 (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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2014, 2018 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; 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 orpheus)
  #:use-module (guix licenses)
  #:use-module (guix packages)
  #:use-module (guix download)
  #:use-module (guix build-system gnu)
  #:use-module (gnu packages)
  #:use-module (gnu packages ncurses)
  #:use-module (gnu packages mp3)
  #:use-module (gnu packages base)
  #:use-module (gnu packages xiph)
  #:use-module (gnu packages xml)
  #:use-module (ice-9 match))

(define-public orpheus
  (package
    (name "orpheus")
    (version "1.6")
    (source
     (origin
      (method url-fetch)
      (uri (string-append "http://thekonst.net/download/orpheus-"
                          version ".tar.gz"))
      (sha256
       (base32
        "1xbgxq8fybwhm51nw9hvvrgi873qzkc2qvmy15d2m2hw2yqa99hq"))
      (patches (search-patches "orpheus-cast-errors-and-includes.patch"))))
    (build-system gnu-build-system)
    (inputs
     (list ncurses
           libvorbis
           vorbis-tools
           mpg321
           ;; TODO: add ghttp
           libxml2
           which))
    (arguments
     `(#:phases
       (modify-phases %standard-phases
         (replace 'configure
           (lambda* (#:key outputs #:allow-other-keys)
             ;; This old `configure' script does not support variables passed as
             ;; arguments.
             (let ((out (assoc-ref outputs "out")))
               (setenv "CONFIG_SHELL" (which "bash"))
               (setenv "SHELL" (which "bash"))
               (setenv "LIBS" "-logg")     ;doesn't declare its use of libogg
               (invoke "./configure"
                       (string-append "--prefix=" out)
                       ,@(match (%current-system)
                                ("mips64el-linux"
                                 '("--host=mips64el-unknown-linux-gnu"))
                                ("aarch64-linux"
                                 '("--build=aarch64-unknown-linux-gnu"))
                                (_ `()))))))
         (add-after 'configure 'configure-players
           (lambda* (#:key inputs #:allow-other-keys)
             ;; To avoid propagating the mpg321 and vorbis-tools inputs, we can
             ;; make the orpheus application execute the needed players from the
             ;; store.
             (let ((ogg123 (search-input-file inputs "/bin/ogg123"))
                   (mpg321 (search-input-file inputs "/bin/mpg321"))
                   (which  (search-input-file inputs "/bin/which")))
               (substitute* "src/orpheusconf.cc"
                 (("ogg123") ogg123)
                 (("which")  which)
                 (("mpg321") mpg321))
               #t)))
         (add-before 'build 'patch-shells
           (lambda _
             (substitute* '("src/mp3track.cc"
                            "src/streamtrack.cc"
                            "src/oggtrack.cc")
               (("/bin/sh") (which "sh")))
             #t)))))
    (home-page "http://thekonst.net/en/orpheus")
    (synopsis "Text-mode audio player")
    (description
     "Orpheus is a light-weight text mode menu- and window-driven audio player
application for CDs, internet stream broadcasts, and files in MP3 and Vorbis
OGG format.")
    (license gpl2+)))
href='/guix/commit/gnu/packages/chromium.scm?id=ebf3960673fa5e655f10ba94aec7ae95c850b9fc'>gnu: ungoogled-chromium: Update to 84.0.4147.105-0.cc3e311....* gnu/packages/chromium.scm (%ungoogled-revision, %ungoogled-origin): Update to cc3e311f33519a5ba961ad1f1dc19507ce98b0d2. (ungoogled-chromium): Update to 84.0.4147.105-0. Marius Bakke 2020-07-26gnu: ungoogled-chromium: Use tcmalloc....* gnu/packages/chromium.scm (%preserved-third-party-files): Preserve the bundled fork of tcmalloc. (ungoogled-chromium)[arguments]: Remove "use_allocator" from #:configure-flags. Marius Bakke 2020-07-23gnu: ungoogled-chromium: Avoid top-level reference to LLD....* gnu/packages/chromium.scm (lld-as-ld, lld-wrapper, lld/wrapped): Move into ... (make-lld-wrapper): ... here. New procedure. Marius Bakke 2020-07-23gnu: ungoogled-chromium: Enable all release optimizations....* gnu/packages/chromium.scm (ungoogled-chromium-snippet): Add substitution to allow using unbundled dependencies in "official" builds. (lld-as-ld, lld-wrapper, lld/wrapped): New variables. (ungoogled-chromium)[arguments]: Add "is_official_build" to #:configure-flags. Remove redundant or unnecessary flags, disable system protobuf. Use llvm-ar and llvm-nm instead of their binutils equivalents. [native-inputs]: Add LLD/WRAPPED. [inputs]: Remove PROTOBUF. Marius Bakke 2020-07-23gnu: ungoogled-chromium: Add VA-API fix for some Intel systems....* gnu/packages/chromium.scm (%arch-patches): New variable. (ungoogled-chromium-snippet): Use it. Marius Bakke 2020-07-19gnu: ungoogled-chromium: Update to 84.0.4147.89-0.df199c0....* gnu/packages/patches/ungoogled-chromium-system-jsoncpp.patch, gnu/packages/patches/ungoogled-chromium-system-zlib.patch: Delete files. * gnu/packages/patches/ungoogled-chromium-system-nspr.patch: New file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/chromium.scm (%preserved-third-party-files): Adjust for 84. (%ungoogled-revision): Set to df199c04ff367da59ce52a23a3f3b305dd3b00c3. (%debian-revision): Set to debian/83.0.4103.116-3. (%gentoo-revision): Set to f3f649046d31ebdbc8c4a302b2384504eff78027. (chromium-gcc-patchset, %chromium-gcc-patches): New variables. (%gentoo-patches): Remove GCC patches, which have been moved to the above repo. Add ffmpeg compatibility patch. (%debian-patches): Add zlib and jsoncpp patch; remove nspr patch. (%ungoogled-origin): Update hash. (ungoogled-chromium-snippet): Add the new GCC patches. Remove obsolete local patches, add new. (xcb-proto/python2): New variable. (ungoogled-chromium): Update to 84.0.4147.89-0..df199c0. [arguments]: Add "is_unsafe_developer_build", "max_jobs_per_link", "exclude_unwind_tables", "xcbproto_path", "perfetto_use_system_protobuf" to #:configure-flags. Remove "linux_use_bundled_binutils". Adjust vulkan header substitutions. [native-inputs]: Remove YASM. [inputs]: Change from FFMPEG-4.2 to FFMPEG. Add PROTOBUF and XCB-PROTO/PYTHON2. Marius Bakke 2020-06-26gnu: ungoogled-chromium: Inline %PACKAGE-VERSION....* gnu/packages/chromium.scm (%chromium-version, package-revision, %package-version): Remove. (ungoogled-chromium)[version, source]: Adjust accordingly. Marius Bakke 2020-06-26gnu: ungoogled-chromium: Remove all Blink performance tests....* gnu/packages/chromium.scm (%blacklisted-files): New variable. (ungoogled-chromium-snippet): Adjust accordingly. Marius Bakke 2020-06-26gnu: ungoogled-chromium: Convert computed origin to source snippet....* gnu/packages/chromium.scm (computed-origin-method, %chromium-origin): Remove. (ungoogled-chromium-source): Rename to ... (ungoogled-chromium-snippet): ... this. Adjust for running as snippet. (ungoogled-chromium)[source]: Use URL-FETCH, with custom snippet. Marius Bakke 2020-06-23gnu: ungoogled-chromium: Update to 83.0.4103.116-0.f08ce8b [fixes CVE-2020-65......* gnu/packages/chromium.scm (%chromium-version): Set to 83.0.4103.116. (%ungoogled-origin): Update hash. Marius Bakke 2020-06-22gnu: ungoogled-chromium: Update to 83.0.4103.106-0.f08ce8b [security fixes]....This fixes CVE-2020-6465, CVE-2020-6466, CVE-2020-6467, CVE-2020-6468, CVE-2020-6469, CVE-2020-6470, CVE-2020-6471, CVE-2020-6472, CVE-2020-6473, CVE-2020-6474, CVE-2020-6475, CVE-2020-6476, CVE-2020-6477, CVE-2020-6478, CVE-2020-6479, CVE-2020-6480, CVE-2020-6481, CVE-2020-6482, CVE-2020-6483, CVE-2020-6484, CVE-2020-6485, CVE-2020-6486, CVE-2020-6487, CVE-2020-6488, CVE-2020-6489, CVE-2020-6490, CVE-2020-6491, CVE-2020-6493, CVE-2020-6494, CVE-2020-6495, CVE-2020-6496, CVE-2020-6497, and CVE-2020-6498. * gnu/packages/patches/ungoogled-chromium-system-jsoncpp.patch, gnu/packages/patches/ungoogled-chromium-system-zlib.patch: New files. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/chromium.scm (%preserved-third-party-files): Adjust for 83. (%chromium-version): Set to 83.0.4103.106. (%ungoogled-revision): Set to f08ce8b3f1300ef0750b5d6bf967b9cbbfd9a56d. (%gentoo-revision, %gentoo-patches, %debian-patches): New variables. (gentoo-patch, debian-patch): New procedures. (%chromium-origin, %ungoogled-origin): Update hashes. (ungoogled-chromium-source): Don't apply patches from %DEBIAN-ORIGIN, but take %GENTOO-PATCHES, %DEBIAN-PATCHES, and the local patch files. (ungoogled-chromium)[arguments]: Remove "enable_swiftshader=false" from #:configure-flags. Add "icu_use_data_file=false". Set CFLAGS in phase. Remove obsolete substitution. Adjust install phase to install .so files for ANGLE and Swiftshader. [native-inputs]: Change from CLANG-9 to CLANG-10. [inputs]: Replace ICU4C with ICU4C-67. (ungoogled-chromium/wayland): Remove obsolete substitution. Add "ozone_platform_x11=true" in #:configure-flags. Marius Bakke 2020-06-22gnu: ungoogled-chromium: Specify CPE name....* gnu/packages/chromium.scm (ungoogled-chromium)[properties]: Add CPE-NAME. Marius Bakke 2020-06-22gnu: ungoogled-chromium: Remove non-free file....* gnu/packages/chromium.scm (ungoogled-chromium-source): Remove (unused) SVG file that is licensed under a NoDerivatives license. Marius Bakke 2020-06-22gnu: ungoogled-chromium: Build with ffmpeg@4.2....Fixes <https://bugs.gnu.org/41987>. Reported by Jonathan Brielmaier <jonathan.brielmaier@web.de>. * gnu/packages/video.scm (ffmpeg-4.2): New public variable. * gnu/packages/chromium.scm (ungoogled-chromium)[inputs]: Change from FFMPEG to FFMPEG-4.2. Marius Bakke