From d0a2b422e06aab0cab3a10a47ef378602992577f Mon Sep 17 00:00:00 2001 From: Sergio Pastor Pérez Date: Wed, 2 Aug 2023 16:38:49 +0200 Subject: gnu: Add ulauncher. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/xdisorg.scm (ulauncher): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/xdisorg.scm | 64 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index da5ca76e10..553fa8d5e2 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -132,6 +132,8 @@ #:use-module (gnu packages polkit) #:use-module (gnu packages python) #:use-module (gnu packages python-xyz) + #:use-module (gnu packages python-web) + #:use-module (gnu packages python-check) #:use-module (gnu packages qt) #:use-module (gnu packages sphinx) #:use-module (gnu packages syncthing) @@ -140,6 +142,8 @@ #:use-module (gnu packages tcl) #:use-module (gnu packages terminals) #:use-module (gnu packages xml) + #:use-module (gnu packages wm) + #:use-module (gnu packages webkit) #:use-module (gnu packages xorg) #:use-module (gnu packages) #:use-module (ice-9 match)) @@ -1816,6 +1820,66 @@ but can also follow a growing file, display contents, delete entries and more.") connectivity of the X server running on a particular @code{DISPLAY}.") (license license:gpl3+))) +(define-public ulauncher + (package + (name "ulauncher") + (version "6.0.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Ulauncher/Ulauncher") + (commit "1e68d47473f8e77d375cb4eca644c3cda68ed7e9"))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1c2czlrsf5aq8c88qliqbnqvf04q9cnjc1j6hivqa0w260mzjll1")))) + (build-system python-build-system) + (arguments + (list #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'fix-libX11 + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "ulauncher/utils/xinit.py" + (("libX11.so.6") + (search-input-file inputs "/lib/libX11.so"))))) + (add-after 'unpack 'fix-usr + (lambda _ + (substitute* "setup.py" + (("\\{sys.prefix\\}") + (string-append #$output))))) + (add-after 'unpack 'fix-os-release + (lambda _ + (define (touch file) + (call-with-output-file file + (const #t))) + (let* ((hard-path "/etc/os-release") + (fixed-path (string-append #$output + hard-path))) + ;; Make it relative + ;; Update hardcoded path to something + ;; within the build enviroment. + (substitute* "ulauncher/utils/environment.py" + ((hard-path) + fixed-path)) + ;; Create directory for the dummy file. + (mkdir-p (string-append #$output "/etc")) + (touch fixed-path)))) + (add-before 'check 'env-setup + ;; The test require access to home to put temporary files. + (lambda _ + (setenv "HOME" + (getcwd))))))) + (native-inputs (list intltool python-distutils-extra python-mock)) + (inputs (list libx11 python-levenshtein python-pycairo)) + (propagated-inputs (list keybinder libwnck gsettings-desktop-schemas + python-pygobject webkitgtk-with-libsoup2)) + (home-page "https://ulauncher.io") + (synopsis "Application launcher for Linux") + (description + "Ulauncher is a fast application launcher for Linux. It is written in +Python, using GTK+, and features: App Search (fuzzy matching), Calculator, +Extensions, Shortcuts, File browser mode and Custom Color Themes.") + (license license:gpl3+))) + (define-public rofi (package (name "rofi") -- cgit v1.2.3