Merge branch 'master' into 'master'
Add systemd and discord See merge request nonguix/nonguix!111
This commit is contained in:
commit
5f4de01209
171
nongnu/packages/discord.scm
Normal file
171
nongnu/packages/discord.scm
Normal file
|
@ -0,0 +1,171 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright @ 2021 bqv <bqv@fron.io>
|
||||
;;;
|
||||
;;; This file is not 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 (nongnu packages discord)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages bootstrap)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages cups)
|
||||
#:use-module (gnu packages elf)
|
||||
#:use-module (gnu packages fonts)
|
||||
#:use-module (gnu packages fontutils)
|
||||
#:use-module (gnu packages freedesktop)
|
||||
#:use-module (gnu packages gcc)
|
||||
#:use-module (gnu packages gl)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gnome)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages gnuzilla)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages llvm)
|
||||
#:use-module (gnu packages node)
|
||||
#:use-module (gnu packages nss)
|
||||
#:use-module (gnu packages pulseaudio)
|
||||
#:use-module (gnu packages video)
|
||||
#:use-module (gnu packages wget)
|
||||
#:use-module (gnu packages xdisorg)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module ((nonguix licenses) #:prefix license:)
|
||||
#:use-module (nongnu packages systemd))
|
||||
|
||||
(define-public discord
|
||||
(package
|
||||
(name "discord")
|
||||
(version "0.0.15")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://cdn.discordapp.com/apps/linux/"
|
||||
version "/" name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0pn2qczim79hqk2limgh88fsn93sa8wvana74mpdk5n6x5afkvdd"))))
|
||||
(build-system trivial-build-system)
|
||||
(inputs `(("alsa-lib" ,alsa-lib)
|
||||
("atk" ,atk)
|
||||
("at-spi2-atk" ,at-spi2-atk)
|
||||
("at-spi2-core" ,at-spi2-core)
|
||||
("cairo" ,cairo)
|
||||
("cups" ,cups)
|
||||
("dbus" ,dbus)
|
||||
("expat" ,expat)
|
||||
("fontconfig" ,fontconfig)
|
||||
("font-awesome" ,font-awesome)
|
||||
("font-dejavu" ,font-dejavu)
|
||||
("font-google-noto" ,font-google-noto)
|
||||
("freetype" ,freetype)
|
||||
("gdk-pixbuf" ,gdk-pixbuf)
|
||||
("glib" ,glib)
|
||||
("glibc" ,glibc)
|
||||
("gtk3" ,gtk+)
|
||||
("libappindicator" ,libappindicator)
|
||||
("libdbusmenu" ,libdbusmenu)
|
||||
("libdrm" ,libdrm)
|
||||
("libgcc" ,gcc "lib")
|
||||
("libcxx" ,clang-runtime)
|
||||
("libcxx" ,libcxx)
|
||||
("libffmpeg" ,ffmpeg)
|
||||
("libnotify" ,libnotify)
|
||||
("libpulseaudio" ,pulseaudio)
|
||||
("libsm" ,libsm)
|
||||
("libx11" ,libx11)
|
||||
("libxcomposite" ,libxcomposite)
|
||||
("libxcursor" ,libxcursor)
|
||||
("libxdamage" ,libxdamage)
|
||||
("libuuid" ,util-linux)
|
||||
("libxcb" ,libxcb)
|
||||
("libxext" ,libxext)
|
||||
("libxfixes" ,libxfixes)
|
||||
("libxi" ,libxi)
|
||||
("libxrandr" ,libxrandr)
|
||||
("libxrender" ,libxrender)
|
||||
("libxscrnsaver" ,libxscrnsaver)
|
||||
("libxtst" ,libxtst)
|
||||
("mesa" ,mesa)
|
||||
("node" ,node)
|
||||
("nspr" ,nspr)
|
||||
("nss" ,nss)
|
||||
("pango" ,pango)
|
||||
("systemd" ,systemd)
|
||||
("unzip" ,unzip)
|
||||
("wget" ,wget)))
|
||||
(native-inputs `(("gzip" ,gzip)
|
||||
("patchelf" ,patchelf)
|
||||
("tar" ,tar)))
|
||||
(arguments
|
||||
`(#:modules ((guix build utils))
|
||||
#:builder (begin
|
||||
(use-modules (guix build utils)
|
||||
(srfi srfi-26)
|
||||
(sxml simple))
|
||||
(let* ((patchelf (assoc-ref %build-inputs "patchelf"))
|
||||
(glibc (assoc-ref %build-inputs "glibc"))
|
||||
(source (assoc-ref %build-inputs "source"))
|
||||
(tar (assoc-ref %build-inputs "tar"))
|
||||
(gzip (assoc-ref %build-inputs "gzip"))
|
||||
(output (assoc-ref %outputs "out"))
|
||||
(fonts (list
|
||||
(assoc-ref %build-inputs "font-google-noto")
|
||||
(assoc-ref %build-inputs "font-dejavu")
|
||||
(assoc-ref %build-inputs "font-awesome")))
|
||||
(libs (cons
|
||||
(string-append (assoc-ref %build-inputs "nss") "/lib/nss")
|
||||
(map (lambda (i) (string-append (cdr i) "/lib"))
|
||||
%build-inputs)))
|
||||
(bins (map (lambda (i) (string-append (cdr i) "/bin"))
|
||||
%build-inputs))
|
||||
(libpath (string-join (filter file-exists? libs) ":"))
|
||||
(binpath (string-join (filter file-exists? bins) ":")))
|
||||
(setenv "PATH" (string-append gzip "/bin:" (getenv "PATH")))
|
||||
(mkdir-p (string-append output "/opt/discord"))
|
||||
(invoke (string-append tar "/bin/tar") "xpvf" source)
|
||||
(copy-recursively "./Discord" (string-append output "/opt/discord"))
|
||||
(mkdir-p (string-append output "/bin"))
|
||||
(mkdir-p (string-append output "/share/pixmaps"))
|
||||
(mkdir-p (string-append output "/etc"))
|
||||
(with-output-to-file
|
||||
(string-append output "/etc/fonts.conf")
|
||||
(lambda _
|
||||
(display "<?xml version='1.0'?>\n")
|
||||
(display "<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>\n")
|
||||
(sxml->xml `(fontconfig
|
||||
,@(map (lambda (f) `(dir ,f)) fonts)))))
|
||||
(chmod (string-append output "/opt/discord/Discord") #o755)
|
||||
(with-output-to-file
|
||||
(string-append output "/bin/discord")
|
||||
(lambda _
|
||||
(display "#!/bin/sh\n")
|
||||
(display (string-append "export LD_LIBRARY_PATH=" libpath "\n"))
|
||||
(display (string-append "export FONTCONFIG_FILE=" output "/etc/fonts.conf\n"))
|
||||
(display (string-append "export PATH=" binpath ":$PATH\n"))
|
||||
(display (string-append "exec -a discord " output "/opt/discord/Discord\n"))))
|
||||
(chmod (string-append output "/bin/discord") #o755)
|
||||
(invoke (string-append patchelf "/bin/patchelf")
|
||||
"--set-interpreter"
|
||||
(string-append glibc "/lib/ld-linux-x86-64.so.2")
|
||||
(string-append output "/opt/discord/Discord"))
|
||||
(link (string-append %output "/opt/discord/discord.png")
|
||||
(string-append %output "/share/pixmaps/discord.png"))
|
||||
#t))))
|
||||
(synopsis "Discord chat client")
|
||||
(description "All-in-one cross-platform voice and text chat for gamers")
|
||||
(license (license:nonfree "https://discord.com/licenses"))
|
||||
(home-page "https://discordapp.com")))
|
262
nongnu/packages/systemd.scm
Normal file
262
nongnu/packages/systemd.scm
Normal file
|
@ -0,0 +1,262 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright @ 2021 bqv <bqv@fron.io>
|
||||
;;;
|
||||
;;; This file is not 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 (nongnu packages systemd)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system meson)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (gnu packages acl)
|
||||
#:use-module (gnu packages admin)
|
||||
#:use-module (gnu packages aidc)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages cryptsetup)
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages docbook)
|
||||
#:use-module (gnu packages elf)
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gnunet)
|
||||
#:use-module (gnu packages gnupg)
|
||||
#:use-module (gnu packages gperf)
|
||||
#:use-module (gnu packages libidn)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages m4)
|
||||
#:use-module (gnu packages package-management)
|
||||
#:use-module (gnu packages pcre)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages xdisorg)
|
||||
#:use-module (gnu packages xml))
|
||||
|
||||
(define-public systemd
|
||||
(package
|
||||
(name "systemd")
|
||||
(version "247")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/systemd/systemd/archive/v"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0h66cq7ymm419cjyg0gla18ni4y8qf9fsav9ysgacjik4xxny53p"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ;FIXME: The disable-broken-tests phase is ineffective.
|
||||
#:configure-flags
|
||||
(let ((bash (assoc-ref %build-inputs "bash"))
|
||||
(coreutils (assoc-ref %build-inputs "coreutils"))
|
||||
(kbd (assoc-ref %build-inputs "kbd"))
|
||||
(kmod (assoc-ref %build-inputs "kmod"))
|
||||
(util-linux (assoc-ref %build-inputs "util-linux"))
|
||||
|
||||
(out (assoc-ref %outputs "out")))
|
||||
(list (string-append "-Dkill-path=" coreutils "/bin/kill")
|
||||
(string-append "-Dkmod-path=" kmod "/bin/kmod")
|
||||
(string-append "-Dsulogin-path=" util-linux "/bin/sulogin")
|
||||
(string-append "-Dmount-path=" util-linux "/bin/mount")
|
||||
(string-append "-Dumount-path=" util-linux "/bin/umount")
|
||||
(string-append "-Dloadkeys-path=" kbd "/bin/loadkeys")
|
||||
(string-append "-Dsetfont-path=" kbd "/bin/setfont")
|
||||
(string-append "-Ddebug-shell=" bash "/bin/sh")
|
||||
|
||||
;; XXX: Can we reuse %ntp-servers here?
|
||||
(string-append "-Dntp-servers="
|
||||
(string-join (map (lambda (n)
|
||||
(string-append (number->string n)
|
||||
".guix.pool.ntp.org"))
|
||||
'(0 1 2 3))
|
||||
","))
|
||||
|
||||
;; Use localhost for DNS with fallback to Quad9 (instead of Google).
|
||||
"-Ddns-servers=127.0.0.1,::1,9.9.9.10,2620:fe::10"
|
||||
|
||||
;; FIXME: "Attempt to load external entity http://docbook.sf.net".
|
||||
"-Dman=false"
|
||||
|
||||
;; Don't install SysV compatibility scripts.
|
||||
"-Dsysvinit-path="
|
||||
"-Dsysvrcnd-path="
|
||||
|
||||
(string-append "-Dbashcompletiondir=" out "/etc/bash_completion.d")
|
||||
(string-append "-Dsysconfdir=" out "/etc")
|
||||
(string-append "-Drootprefix=" out)
|
||||
(string-append "-Drootlibdir=" out "/lib")
|
||||
(string-append "-Ddbuspolicydir=" out "/etc/dbus-1/system.d")
|
||||
(string-append "-Dpamconfdir=" out "/etc/pam.d")))
|
||||
#:phases (modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-paths
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let ((bash (assoc-ref inputs "bash"))
|
||||
(coreutils (assoc-ref inputs "coreutils"))
|
||||
(glibc (assoc-ref inputs "glibc"))
|
||||
(util-linux (assoc-ref inputs "util-linux"))
|
||||
|
||||
(out (assoc-ref outputs "out")))
|
||||
|
||||
(substitute* '("src/core/swap.c"
|
||||
"src/fsck/fsck.c"
|
||||
"src/journal/cat.c"
|
||||
"src/nspawn/nspawn.c"
|
||||
"src/nspawn/nspawn-setuid.c")
|
||||
(("/bin/sh") (string-append bash "/bin/sh"))
|
||||
(("/bin/bash") (string-append bash "/bin/bash"))
|
||||
(("/bin/cat") (string-append coreutils "/bin/cat"))
|
||||
(("/bin/echo") (string-append coreutils "/bin/echo"))
|
||||
(("/bin/getent") (string-append glibc "/bin/getent"))
|
||||
(("/sbin/fsck") (string-append util-linux "/sbin/fsck"))
|
||||
(("/sbin/swapon") (string-append util-linux "/sbin/swapon"))
|
||||
(("/sbin/swapoff") (string-append util-linux "/sbin/swapoff")))
|
||||
(substitute* "src/journal/catalog.c"
|
||||
(("/usr/lib/systemd/catalog")
|
||||
(string-append out "/lib/systemd/catalog")))
|
||||
#t)))
|
||||
(add-after 'patch-paths 'fix-install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
;; Don't create /var/lib/systemd during install.
|
||||
(substitute* "meson.build"
|
||||
((".*mkdir_p\\.format\\(systemdstatedir\\)\\)") ""))
|
||||
;; Nor /var/lib/systemd/catalog.
|
||||
(substitute* "catalog/meson.build"
|
||||
(("journalctl --update-catalog") "journalctl --version"))
|
||||
;; Likewise for /var/log/journal.
|
||||
(substitute* '("src/journal/meson.build"
|
||||
"src/journal-remote/meson.build")
|
||||
(("/var/log/journal") "/tmp/journal"))
|
||||
;; Create the hwdb in out/etc/udev/hwdb.d, not /etc/udev.
|
||||
(substitute* "hwdb.d/meson.build"
|
||||
(("systemd-hwdb update")
|
||||
(string-append "systemd-hwdb -r " out
|
||||
"/etc/udev/hwdb.d update")))
|
||||
#t)))
|
||||
(add-before 'configure 'set-runpath
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
;; We need out/lib and out/lib/systemd in RUNPATH.
|
||||
(setenv "LDFLAGS" (string-append "-Wl,-rpath=" out "/lib,"
|
||||
"-rpath=" out "/lib/systemd"))
|
||||
#t)))
|
||||
(add-before 'check 'disable-broken-tests
|
||||
(lambda _
|
||||
(delete-file "test-network") ;requires loopback
|
||||
(delete-file "test-engine") ;requires cgroups
|
||||
(delete-file "test-unit-name") ;likewise
|
||||
(delete-file "test-unit-file") ;likewise
|
||||
(delete-file "test-copy") ;FIXME
|
||||
(delete-file "test-condition") ;requires containers
|
||||
(delete-file "test-mount-util") ;requires /sys
|
||||
(delete-file "test-exec-util") ;FIXME
|
||||
(delete-file "test-xattr-util") ;FIXME
|
||||
(delete-file "test-fs-util") ;requires /var/tmp
|
||||
(delete-file "test-stat-util") ;FIXME
|
||||
(delete-file "test-user-util") ;needs "root" user
|
||||
(delete-file "test-path-lookup") ;expects systemd paths
|
||||
(delete-file "test-namespace") ;requires containers
|
||||
;(delete-file "test-bpf") ;requires cgroups
|
||||
(delete-file "test-fileio") ;FIXME
|
||||
(delete-file "test-time-util") ;FIXME tzdata
|
||||
(delete-file "test-date") ;likewise
|
||||
(delete-file "test-calendarspec") ;likewise
|
||||
(delete-file "test-cgroup-util") ;requires cgroup (duh)
|
||||
(delete-file "test-strv") ;FIXME
|
||||
(delete-file "test-path-util") ;FIXME /bin/sh
|
||||
(delete-file "test-path") ;requires cgroup
|
||||
(delete-file "test-sched-prio") ;requires cgroup
|
||||
(delete-file "test-id128") ;FIXME
|
||||
(delete-file "test-journal-flush") ;FIXME
|
||||
(delete-file "test-bus-creds") ;requires cgroup
|
||||
(delete-file "test-login") ;FIXME
|
||||
(delete-file "test-dhcp-client") ;requires network
|
||||
(delete-file "test-dhcp6-client") ;likewise
|
||||
#t))
|
||||
(add-before 'install 'fix-install
|
||||
(lambda _
|
||||
(setenv "DESTDIR" "/")
|
||||
#t))
|
||||
(add-after 'install 'fix-environment-symlink
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
;; The install phase creates this dangling symlink:
|
||||
;; lib/environment.d/00-environment.conf -> ../../etc/environment
|
||||
;; ...which causes the 'fix-runpath' phase to error out.
|
||||
;; XXX: This should probably use /etc/environment instead.
|
||||
(mkdir-p (string-append (assoc-ref outputs "out")
|
||||
"/etc/environment"))
|
||||
#t))
|
||||
(add-before 'strip 'add-shared-lib
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(link (string-append (assoc-ref outputs "out")
|
||||
"/lib/systemd/libsystemd-shared-247.so")
|
||||
(string-append (assoc-ref outputs "out")
|
||||
"/lib/libsystemd-shared-247.so"))
|
||||
#t)))))
|
||||
(native-inputs
|
||||
`(("docbook-xml" ,docbook-xml)
|
||||
("docbook-xsl" ,docbook-xsl)
|
||||
("gettext" ,gettext-minimal)
|
||||
("gperf" ,gperf)
|
||||
("lxml" ,python-lxml)
|
||||
("m4" ,m4)
|
||||
("pkg-config" ,pkg-config)
|
||||
("xsltproc" ,libxslt)))
|
||||
(inputs
|
||||
`(("acl" ,acl)
|
||||
("audit" ,audit)
|
||||
("bash" ,bash)
|
||||
("bzip2" ,bzip2)
|
||||
("coreutils" ,coreutils)
|
||||
("cryptsetup" ,cryptsetup)
|
||||
("curl" ,curl)
|
||||
("dbus" ,dbus)
|
||||
;; TODO: Add gnu-efi for bootloader functionality.
|
||||
("elfutils" ,elfutils)
|
||||
("glib" ,glib)
|
||||
("glibc" ,glibc)
|
||||
("gnutls" ,gnutls)
|
||||
("kbd" ,kbd)
|
||||
("kmod" ,kmod)
|
||||
("libcap" ,libcap)
|
||||
("libgcrypt" ,libgcrypt)
|
||||
("libidn2" ,libidn2)
|
||||
("libmicrohttpd" ,libmicrohttpd)
|
||||
("libseccomp" ,libseccomp)
|
||||
("libxkbcommon" ,libxkbcommon)
|
||||
("linux-pam" ,linux-pam)
|
||||
("lz4" ,lz4)
|
||||
("pcre2" ,pcre2)
|
||||
("python" ,python)
|
||||
("qrencode" ,qrencode)
|
||||
("util-linux" ,util-linux)
|
||||
("xz" ,xz)
|
||||
("zlib" ,zlib)))
|
||||
(home-page "https://www.freedesktop.org/wiki/Software/systemd/")
|
||||
(synopsis "System and service manager")
|
||||
(description
|
||||
"@code{systemd} is a suite of basic building blocks for a Linux system.
|
||||
It provides a system and service manager that runs as PID 1 and starts the
|
||||
rest of the system. systemd provides aggressive parallelization capabilities,
|
||||
uses socket and D-Bus activation for starting services, offers on-demand
|
||||
starting of daemons, keeps track of processes using Linux control groups,
|
||||
maintains mount and automount points, and implements an elaborate transactional
|
||||
dependency-based service control logic.")
|
||||
(license license:lgpl2.1+)))
|
Loading…
Reference in New Issue
Block a user