mirror of
https://github.com/SqrtMinusOne/channel-q.git
synced 2025-12-10 11:43:03 +03:00
156 lines
6.4 KiB
Scheme
156 lines
6.4 KiB
Scheme
(define-module (vk-messenger)
|
|
#:use-module (gnu packages compression)
|
|
#:use-module (gnu packages cpio)
|
|
#:use-module (gnu packages cups)
|
|
#:use-module (gnu packages elf)
|
|
#:use-module (gnu packages fontutils)
|
|
#:use-module (gnu packages gcc)
|
|
#:use-module (gnu packages glib)
|
|
#:use-module (gnu packages gnome)
|
|
#:use-module (gnu packages gtk)
|
|
#:use-module (gnu packages gtk)
|
|
#:use-module (gnu packages icu4c)
|
|
#:use-module (gnu packages linux)
|
|
#:use-module (gnu packages node)
|
|
#:use-module (gnu packages nss)
|
|
#:use-module (gnu packages video)
|
|
#:use-module (gnu packages xml)
|
|
#:use-module (gnu packages xorg)
|
|
#:use-module (gnu packages package-management)
|
|
#:use-module (ice-9 popen)
|
|
#:use-module (ice-9 rdelim)
|
|
#:use-module (guix download)
|
|
#:use-module (guix packages)
|
|
#:use-module ((guix licenses) #:prefix license:)
|
|
#:use-module (nonguix build-system binary)
|
|
#:use-module (nonguix licenses))
|
|
|
|
(define-public vk-messenger
|
|
(package
|
|
(name "vk-messenger")
|
|
(version "5.2.3")
|
|
(source (origin
|
|
(method url-fetch)
|
|
(uri (string-append "https://desktop.userapi.com/rpm/master/vk-" version ".x86_64.rpm"))
|
|
(sha256
|
|
(base32
|
|
"1m6saanpv1k5wc5s58jpf0wsgjsj7haabx8nycm1fjyhky1chirb"))))
|
|
(build-system binary-build-system)
|
|
(arguments
|
|
`(#:validate-runpath? #f ;; fails on the shipped .so files
|
|
#:patchelf-plan
|
|
`(("usr/share/vk/vk" ("alsa-lib"
|
|
"atk"
|
|
"at-spi2-atk"
|
|
"cairo"
|
|
"cups"
|
|
"dbus"
|
|
"fontconfig"
|
|
"gtk+"
|
|
"gdk-pixbuf"
|
|
"out"
|
|
"gcc:lib"
|
|
"glib"
|
|
"expat"
|
|
"libx11"
|
|
"libxcb"
|
|
"libxcomposite"
|
|
"libxcursor"
|
|
"libxdamage"
|
|
"libxext"
|
|
"libxfixes"
|
|
"libxi"
|
|
"libxkbfile"
|
|
"libxrandr"
|
|
"libxrender"
|
|
"libxscrnsaver"
|
|
"libxsts"
|
|
;; "nss"
|
|
"nspr"
|
|
"pango"))
|
|
("usr/share/vk/libffmpeg.so" ("gcc:lib"))
|
|
("usr/share/vk/libnode.so" ("gcc:lib" "icu4c"))
|
|
("usr/share/vk/resources/app/dist/libEGL.so" ("gcc:lib"))
|
|
("usr/share/vk/resources/app/dist/libGLESv2.so" ("libx11" "libxcb" "gcc:lib"))
|
|
("usr/share/vk/resources/app/dist/libppapi_voip_swiftshader_x86_64.so" ("gcc:lib" "out"))
|
|
("usr/share/vk/resources/app/dist/libppapi_voip_x86_64.so" ("gcc:lib")))
|
|
#:install-plan
|
|
`(("etc/" "etc")
|
|
("usr/" "usr")
|
|
("usr/share/vk/libffmpeg.so" "lib/")
|
|
("usr/share/vk/libnode.so" "lib/")
|
|
("usr/share/vk/resources/app/dist/libEGL.so" "lib/")
|
|
("usr/share/vk/resources/app/dist/libGLESv2.so" "lib/")
|
|
("usr/share/vk/resources/app/dist/libppapi_voip_swiftshader_x86_64.so" "lib/")
|
|
("usr/share/vk/resources/app/dist/libppapi_voip_x86_64.so" "lib/"))
|
|
#:phases
|
|
(modify-phases %standard-phases
|
|
(replace 'unpack
|
|
(lambda* (#:key inputs #:allow-other-keys)
|
|
(let ((source (assoc-ref inputs "source")))
|
|
(system (format #f "rpm2cpio ~a | cpio -idmv" source))
|
|
(mkdir "lib")
|
|
#t)))
|
|
;; because NSS stores its libraries in lib/nss
|
|
(add-after 'patchelf 'patchelf-nss
|
|
(lambda* (#:key inputs #:allow-other-keys)
|
|
(use-modules (ice-9 popen))
|
|
(use-modules (ice-9 rdelim))
|
|
(let* ((nss (assoc-ref inputs "nss"))
|
|
(rpath-pipe (open-input-pipe
|
|
"patchelf --print-rpath usr/share/vk/vk"))
|
|
(rpath (read-line rpath-pipe)))
|
|
(close-pipe rpath-pipe)
|
|
(invoke "patchelf" "--set-rpath"
|
|
(string-append rpath ":" nss "/lib/nss")
|
|
"usr/share/vk/vk"))))
|
|
(add-after 'install 'install-symlink
|
|
(lambda* (#:key outputs #:allow-other-keys)
|
|
(let ((out (string-append (assoc-ref outputs "out"))))
|
|
(mkdir (string-append out "/bin"))
|
|
(symlink (string-append out "/usr/share/vk/vk")
|
|
(string-append out "/bin/vk"))
|
|
#t))))))
|
|
(inputs
|
|
`(("alsa-lib" ,alsa-lib)
|
|
("atk" ,atk)
|
|
("at-spi2-atk" ,at-spi2-atk)
|
|
("cairo" ,cairo)
|
|
("cups" ,cups)
|
|
("dbus" ,dbus)
|
|
("expat" ,expat)
|
|
;; ("ffmpeg" ,ffmpeg)
|
|
("fontconfig" ,fontconfig)
|
|
("gtk+" ,gtk+)
|
|
("gcc:lib" ,gcc "lib")
|
|
("gdk-pixbuf" ,gdk-pixbuf)
|
|
("glib" ,glib)
|
|
("icu4c" ,icu4c)
|
|
;; ("libnode" ,libnode)
|
|
("libx11" ,libx11)
|
|
("libxcb" ,libxcb)
|
|
("libxcomposite" ,libxcomposite)
|
|
("libxcursor" ,libxcursor)
|
|
("libxdamage" ,libxdamage)
|
|
("libxext" ,libxext)
|
|
("libxfixes" ,libxfixes)
|
|
("libxi" ,libxi)
|
|
("libxkbfile" ,libxkbfile)
|
|
("libxrandr" ,libxrandr)
|
|
("libxrender" ,libxrender)
|
|
("libxscrnsaver" ,libxscrnsaver)
|
|
("libxsts" ,libxtst)
|
|
("nss" ,nss)
|
|
("nspr" ,nspr)
|
|
("pango" ,pango)))
|
|
(propagated-inputs
|
|
`(("libnotify" ,libnotify)))
|
|
(native-inputs
|
|
`(("cpio" ,cpio)
|
|
("rpm" ,rpm)
|
|
("patchelf" ,patchelf)))
|
|
(synopsis "Simple and Convenient Messaging App for VK")
|
|
(description "Simple and Convenient Messaging App for VK")
|
|
(home-page "https://vk.com/messenger")
|
|
(supported-systems '("x86_64-linux"))
|
|
(license (nonfree "They put MIT in the archive, but don't provide the full source"))))
|