;; These are all the packages that are already sent in the Guix upstream tree and waiting approval. ;; It should take only the next 300 years to merge them all. (define-module (sigils packages upstream) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix gexp) #:use-module ((guix licenses) #:prefix license:) ;; lnav #:use-module (guix build-system gnu) #:use-module (gnu packages autotools) #:use-module (gnu packages base) #:use-module (gnu packages curl) #:use-module (gnu packages sqlite) #:use-module (gnu packages compression) #:use-module (gnu packages backup) #:use-module (gnu packages pcre) #:use-module (gnu packages readline) #:use-module (gnu packages ncurses) #:use-module (gnu packages networking) #:use-module (gnu packages rust) #:use-module (gnu packages perl) ;; ncpamixer #:use-module (guix build-system cmake) #:use-module (gnu packages pulseaudio) ;; mimeo #:use-module (guix build-system python) #:use-module (gnu packages file) #:use-module (gnu packages freedesktop) ;; sdbus #:use-module (gnu packages glib) ;; pyopengl #:use-module (gnu packages gl) #:use-module ((gnu packages python-xyz) #:hide (python-pyopengl python-pyopengl-accelerate)) ;; udis86 #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) ;; liquidprompt #:use-module (guix build-system copy) #:use-module (gnu packages admin) #:use-module (gnu packages base) #:use-module (gnu packages ncurses)) (define-public liquidprompt (package (name "liquidprompt") (version "2.1.2") (home-page "https://github.com/liquidprompt/liquidprompt") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/liquidprompt/liquidprompt") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "0ljlq97mh84d6g6r3abb254vrwrdan5v74b69fpd62d7p9ffnsgf")))) (build-system copy-build-system) (arguments (list #:install-plan #~'(("liquidpromptrc-dist" "etc/liquidpromptrc") ("example.bashrc" "share/liquidprompt/examples/") ("liquid.ps1" "share/liquidprompt/examples/") ("liquidprompt" "share/liquidprompt/") ("contrib" "share/liquidprompt/") ("themes" "share/liquidprompt/") ("liquidprompt.plugin.zsh" "share/zsh/plugins/liquidprompt/") ("docs" #$(string-append "share/doc/" name "-" version "/"))) #:phases #~(modify-phases %standard-phases (add-after 'unpack 'fix-plugin (lambda _ (substitute* "liquidprompt.plugin.zsh" (("source(.*)$") (string-append "source " #$output "/share/liquidprompt/liquidprompt"))))) (add-after 'fix-plugin 'fix-tput-path (lambda* (#:key inputs #:allow-other-keys) (substitute* "liquidprompt" (("([ (])\\\\?(tput|hostname|cksum|uname|tty|grep)([) ])" all beginning command ending) (string-append beginning (search-input-file inputs (string-append "bin/" command)) ending)))))))) (inputs (list ncurses coreutils inetutils)) (synopsis "Full-featured prompt for Bash & Zsh") (description "Liquidprompt is an adaptive prompt for Bash and Zsh that gives you a nicely displayed prompt with useful information when you need it. It does this with a powerful theming engine and a large array of data sources. In order to use liquidprompt with Zsh, you should use the following snippet with Guix Home: @example (service home-zsh-service-type (home-zsh-configuration (zshrc (list ;;... ;; This loads liquidprompt (mixed-text-file \"liquidprompt\" \"[[ $- = *i* ]] && source \" liquidprompt \"/share/liquidprompt/liquidprompt\") ;; This loads the powerline theme available in liquidprompt (mixed-text-file \"powerline-theme\" \"source \" liquidprompt \"/share/liquidprompt/themes/powerline/powerline.theme\")))))) @end example\n") (license license:agpl3+))) (define-public mimeo (package (name "mimeo") (version "2023") (source (origin (method url-fetch) (uri (string-append "https://xyne.dev/projects/mimeo/src/mimeo-" version ".tar.xz")) (sha256 (base32 "1459kvnf96bvxxf5r8lg2lldm5ymfbdpdlriaj3mcivh595nza09")))) (build-system python-build-system) (home-page "https://xyne.dev/projects/mimeo/") (synopsis "Open files by MIME-type or file name using regular expressions.") (description "Mimeo uses MIME-type file associations to determine which application should be used to open a file. It can launch files or print information such as the command that it would use, the detected MIME-type, etc.") (native-inputs (list file python-pyxdg)) (license license:gpl3))) (define-public ncpamixer (package (name "ncpamixer") (version "1.3.7") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/fulhax/ncpamixer/") (commit version))) (file-name (git-file-name name version)) (sha256 (base32 "1ix4cja3yka8ah5s1ygd0ghf53jllphnjxjnkivvx72jii4b778q")))) (build-system cmake-build-system) (inputs (list pulseaudio ncurses)) (arguments (list #:configure-flags #~'("-DBUILD_MANPAGES=OFF") #:tests? #f #:phases #~(modify-phases %standard-phases (add-before 'configure 'chdir-to-src (lambda _ (chdir "src")))))) (home-page "https://github.com/fulhax/ncpamixer") (synopsis "Ncurses PulseAudio Mixer") (description "An ncurses mixer for PulseAudio inspired by pavucontrol.") (license license:expat))) (define-public lnav (package (name "lnav") (version "0.12.3-beta2") ;0.12.2 hardcodes /usr/share/zoneinfo (source (origin (method url-fetch) (uri (string-append "https://github.com/tstack/lnav/archive/refs/tags/v" version ".tar.gz")) (sha256 (base32 "0gmzxxxjz71q7j01j99lnszgilcakwdirh2lb5m9x0f6fz7hb76g")))) (build-system gnu-build-system) (native-inputs (list autoconf automake pcre2 sqlite ncurses readline zlib lbzip2 curl libarchive wireshark rust tzdata perl-digest-sha)) (home-page "https://github.com/tstack/lnav") (synopsis "Log file navigator") (description "The Logfile Navigator is a log file viewer for the terminal.") (arguments '(#:tests? #f)) ;tests fail on the beta (license license:bsd-2))) (define-public sdbus-c++-next (package (inherit sdbus-c++) (name "sdbus-c++") (version "2.0.0") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/Kistler-Group/sdbus-cpp") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "1s6vhzln0rvac2r3v8nq08hsjhyz3y46fsy18i23ppjm30apkiav")))) (arguments (list ;; Avoid the integration test, which requires a system bus. #:test-target "sdbus-c++-unit-tests" #:configure-flags #~(list "-DSDBUSCPP_BUILD_CODE_GEN=ON" "-DSDBUSCPP_BUILD_TESTS=ON" ;; Do not install tests. "-DSDBUSCPP_TESTS_INSTALL_PATH=/tmp" "-DCMAKE_VERBOSE_MAKEFILE=ON") #:phases #~(modify-phases %standard-phases (add-after 'unpack 'do-not-install-tests (lambda _ (substitute* "tests/CMakeLists.txt" (("/etc/dbus-1/system.d") "/tmp"))))))))) (define-public udis86 (let ((commit "5336633af70f3917760a6d441ff02d93477b0c86") (revision "1")) (package (name "udis86") (version (git-version "1.7.2" revision commit)) (home-page "http://udis86.sourceforge.net/") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/canihavesomecoffee/udis86.git") (commit commit))) (file-name (git-file-name name version)) (sha256 (base32 "0y5z1169wff578jylpafsww4px4y6gickhcs885a9c660d8xs9qy")))) (build-system gnu-build-system) (native-inputs (list pkg-config autoconf automake libtool python)) (arguments (list #:configure-flags #~(list "--enable-shared" (string-append "--with-python=" #$(file-append python "/bin/python3"))))) (synopsis "Disassembler Library for x86 and x86-64") (description "Udis86 is a disassembler for the x86 and x86-64 class of instruction set architectures.") (license license:bsd-2)))) (define-public python-pyopengl (package (name "python-pyopengl") (version "3.1.6") (source (origin (method url-fetch) (uri (pypi-uri "PyOpenGL" version)) (sha256 (base32 "09syrsfrcknr1k2wmj05gfd5d0dyjfxzbipzbd0agv9775vwi9lf")))) (build-system python-build-system) (inputs (list mesa freeglut glu)) (arguments `(#:tests? #f #:phases (modify-phases %standard-phases (add-before 'build 'fix-paths (lambda* (#:key inputs outputs #:allow-other-keys) (substitute* '("OpenGL/platform/ctypesloader.py") (("filenames_to_try = \\[\\]") "filenames_to_try = [name]")) (substitute* '("OpenGL/platform/glx.py" "OpenGL/platform/egl.py" "OpenGL/platform/osmesa.py" "OpenGL/platform/darwin.py" "tests/check_glut_load.py") (("'OpenGL'") (format #f "'~a/lib/libOpenGL.so'" (assoc-ref inputs "libglvnd"))) (("'GLU'") (format #f "'~a/lib/libGLU.so'" (assoc-ref inputs "glu"))) (("'glut',") (format #f "'~a/lib/libglut.so'," (assoc-ref inputs "freeglut"))) (("'(GL|EGL|GLESv1_CM|GLESv2|OSMesa)'" all gl-library) (format #f "'~a/lib/lib~a.so'" (assoc-ref inputs "mesa") gl-library))) ;; Not providing libgle. It seems to be very old. #t))))) (home-page "https://pyopengl.sourceforge.net") (synopsis "Standard OpenGL bindings for Python") (description "PyOpenGL is the most common cross platform Python binding to OpenGL and related APIs. The binding is created using the standard @code{ctypes} library.") (license license:bsd-3))) (define-public python-pyopengl-accelerate (package (inherit python-pyopengl) (name "python-pyopengl-accelerate") (version "3.1.6") (source (origin (method url-fetch) (uri (pypi-uri "PyOpenGL-accelerate" version)) (sha256 (base32 "1hydrpdn4p4z6mlczcg1y4s0z8si3rs6zq8x4ql558pcaq1312md")))) (inputs (list libglvnd mesa python-numpy)) ; for cython module ; numpy_formathandler, thus not propagated (arguments `(#:tests? #f #:phases (modify-phases %standard-phases (delete 'fix-paths)))) (synopsis "Acceleration code for PyOpenGL") (description "This is the Cython-coded accelerator module for PyOpenGL.")))