From 1ec48fc75e5a6d877b835b35d7f5d8f4a5022c69 Mon Sep 17 00:00:00 2001 From: alex Date: Mon, 1 Dec 2025 08:25:02 -0800 Subject: [PATCH] packages: add slack --- infiniteadaptability/packages/slack.scm | 128 ++++++++++++++++++++++++ 1 file changed, 128 insertions(+) create mode 100644 infiniteadaptability/packages/slack.scm diff --git a/infiniteadaptability/packages/slack.scm b/infiniteadaptability/packages/slack.scm new file mode 100644 index 0000000..1ef1ad9 --- /dev/null +++ b/infiniteadaptability/packages/slack.scm @@ -0,0 +1,128 @@ +(define-module (infiniteadaptability packages slack) + #:use-module (gnu packages) + #:use-module (gnu packages base) + #:use-module (gnu packages commencement) + #:use-module (gnu packages cups) + #:use-module (gnu packages gcc) + #:use-module (gnu packages gl) + #:use-module (gnu packages glib) + #:use-module (gnu packages gtk) + #:use-module (gnu packages linux) + #:use-module (gnu packages nss) + #:use-module (gnu packages video) + #:use-module (gnu packages xdisorg) + #:use-module (gnu packages xorg) + #:use-module (gnu packages xml) + #:use-module (guix download) + #:use-module (guix gexp) + #:use-module ((guix licenses) + #:prefix license:) + #:use-module (guix packages) + #:use-module (nonguix build-system binary) + #:use-module (nonguix multiarch-container)) + +(define-public slack-client + (package + (name "slack") + (version "4.46.101") + (source + (origin + (method url-fetch) + (uri (string-append + "https://downloads.slack-edge.com/desktop-releases/linux/x64/" + version "/slack-desktop-" version "-amd64.deb")) + (sha256 + (base32 "0dbrf30lixw1c2c028krcb9199vqybpqipzphrc5rs1alpqh3bqw")))) + (supported-systems '("x86_64-linux")) + (build-system binary-build-system) + (arguments + (list + #:substitutable? #f + #:patchelf-plan `'(("usr/bin/slack" ("alsa-lib" "at-spi2-core" + "cairo" + "cups" + "dbus" + "eudev" + "expat" + "ffmpeg" + "gcc" + "gcc-toolchain" + "glib" + "gtk+" + "libc" + "libdrm" + "libx11" + "libxcb" + "libxcomposite" + "libxdamage" + "libxext" + "libxfixes" + "libxkbcommon" + "libxrandr" + "mesa" + "nspr" + ("nss" "/lib/nss") + "pango")) + ("usr/lib/slack/chrome_crashpad_handler" ("gcc" + "glibc")) + ("usr/lib/slack/libEGL.so" ("gcc"))) + #:install-plan + #~'(("usr" "usr")) + #:phases + #~(modify-phases %standard-phases + (add-after 'install 'symlink-binary-file + (lambda _ + (mkdir-p (string-append #$output "/bin")) + (symlink (string-append #$output "/usr/bin/slack") + (string-append #$output "/bin/slack")))) + (add-after 'symlink-binary-file 'wrap-binary + (lambda _ + (wrap-program (string-append #$output "/usr/bin/slack") + `("LD_LIBRARY_PATH" ":" prefix + (,(string-join (list (string-append #$output + "/usr/lib/slack") + (string-append #$gcc-toolchain "/lib/")) + ":"))))))))) + (inputs (list alsa-lib + at-spi2-core + cairo + cups + dbus + expat + eudev + ffmpeg + gcc + gcc-toolchain + glib + glibc + gtk+ + libdrm + libx11 + libxcomposite + libxcb + libxdamage + libxext + libxfixes + libxkbcommon + libxrandr + nss + nspr + pango + mesa)) + (synopsis "Slack") + (description "Slack") + (license license:unlicense) + (home-page "https://slack.com"))) + +(define-public slack-container + (nonguix-container (name "slack") + (wrap-package slack-client) + (ld.so.conf '()) + (ld.so.cache '()) + (run "/bin/slack") + (description "slack container..."))) + +(define-public slack + (nonguix-container->package slack-container)) + +slack-client -- 2.52.0