Changeset 5516569 in dotfiles


Ignore:
Timestamp:
Oct 6, 2022, 12:26:10 PM (2 years ago)
Author:
Mikhail Kirillov <w96k@…>
Branches:
master
Children:
2107e51
Parents:
a48604f
git-author:
Mikhail Kirillov <w96k@…> (10/06/22 12:24:57)
git-committer:
Mikhail Kirillov <w96k@…> (10/06/22 12:26:10)
Message:

Add changes to config

Files:
2 deleted
10 edited

Legend:

Unmodified
Added
Removed
  • X/.Xdefaults

    ra48604f r5516569  
    6363emacs.menuBar: 0
    6464emacs.verticalScrollBars: off
    65 emacs.pane.menubar.font: Unifont 12
     65! emacs.pane.menubar.font: Unifont 12
    6666
    6767! emacs.reverseVideo: true
  • guix/.bash_profile

    ra48604f r5516569  
    1 export PATH=$PATH:$HOME/.bin:~/.local/bin:/bin:$HOME/.nix-profile/bin
     1export PATH=$PATH:$HOME/.bin:~/.local/bin:/bin:$HOME/.nix-profile/bin:$HOME/.nodejs/bin
    22#:$HOME/.nix-profile/bin
    33
     
    1818export GUIX_PACKAGE_PATH=$HOME/.guix-packages
    1919GUIX_EXTRA_PROFILES=$HOME/.guix-extra-profiles
     20export GUILE_LOAD_PATH=$GUILE_LOAD_PATH:$HOME/projects/guix
     21export GUILE_LOAD_COMPILED_PATH=$GUILE_LOAD_COMPILED_PATH:$HOME/projects/guix
    2022
    2123for i in $GUIX_EXTRA_PROFILES/*; do
     
    2830done
    2931
    30 export PHPENV_ROOT="/home/w96k/.phpenv"
    31 if [ -d "${PHPENV_ROOT}" ]; then
    32   export PATH="${PHPENV_ROOT}/bin:${PATH}"
    33   eval "$(phpenv init -)"
    34 fi
     32# export PHPENV_ROOT="/home/w96k/.phpenv"
     33# if [ -d "${PHPENV_ROOT}" ]; then
     34#   export PATH="${PHPENV_ROOT}/bin:${PATH}"
     35#   eval "$(phpenv init -)"
     36# fi
    3537
    3638# Honor per-interactive-shell startup file
  • guix/.config/gtk-3.0/gtk.css

    ra48604f r5516569  
    7070}
    7171
    72 toolbar icon {
    73     width: 16px;
    74 }
    75 
    7672toolbar button {
    7773    border-radius: 0;
     
    8076    font-size: 10pt
    8177}
     78
     79@binding-set gtk-emacs-text-entry
     80{
     81  bind "<ctrl>b" { "move-cursor" (logical-positions, -1, 0) };
     82  bind "<shift><ctrl>b" { "move-cursor" (logical-positions, -1, 1) };
     83  bind "<ctrl>f" { "move-cursor" (logical-positions, 1, 0) };
     84  bind "<shift><ctrl>f" { "move-cursor" (logical-positions, 1, 1) };
     85
     86  bind "<alt>b" { "move-cursor" (words, -1, 0) };
     87  bind "<shift><alt>b" { "move-cursor" (words, -1, 1) };
     88  bind "<alt>f" { "move-cursor" (words, 1, 0) };
     89  bind "<shift><alt>f" { "move-cursor" (words, 1, 1) };
     90
     91  bind "<ctrl>a" { "move-cursor" (paragraph-ends, -1, 0) };
     92  bind "<shift><ctrl>a" { "move-cursor" (paragraph-ends, -1, 1) };
     93  bind "<ctrl>e" { "move-cursor" (paragraph-ends, 1, 0) };
     94  bind "<shift><ctrl>e" { "move-cursor" (paragraph-ends, 1, 1) };
     95
     96  bind "<ctrl>w" { "cut-clipboard" () };
     97  bind "<ctrl>y" { "paste-clipboard" () };
     98
     99  bind "<ctrl>d" { "delete-from-cursor" (chars, 1) };
     100  bind "<alt>d" { "delete-from-cursor" (word-ends, 1) };
     101  bind "<ctrl>k" { "delete-from-cursor" (paragraph-ends, 1) };
     102  bind "<alt>backslash" { "delete-from-cursor" (whitespace, 1) };
     103
     104  bind "<alt>space" { "delete-from-cursor" (whitespace, 1)
     105                      "insert-at-cursor" (" ") };
     106  bind "<alt>KP_Space" { "delete-from-cursor" (whitespace, 1)
     107                         "insert-at-cursor" (" ")  };
     108  /*
     109   * Some non-Emacs keybindings people are attached to
     110   */
     111  bind "<ctrl>u" { "move-cursor" (paragraph-ends, -1, 0)
     112                   "delete-from-cursor" (paragraph-ends, 1) };
     113
     114  bind "<ctrl>h" { "delete-from-cursor" (chars, -1) };
     115  bind "<ctrl>w" { "delete-from-cursor" (word-ends, -1) };
     116}
     117
     118/*
     119 * Bindings for GtkTextView
     120 */
     121@binding-set gtk-emacs-text-view
     122{
     123  bind "<ctrl>p" { "move-cursor" (display-lines, -1, 0) };
     124  bind "<shift><ctrl>p" { "move-cursor" (display-lines, -1, 1) };
     125  bind "<ctrl>n" { "move-cursor" (display-lines, 1, 0) };
     126  bind "<shift><ctrl>n" { "move-cursor" (display-lines, 1, 1) };
     127
     128  bind "<ctrl>space" { "set-anchor" () };
     129  bind "<ctrl>KP_Space" { "set-anchor" () };
     130}
     131
     132/*
     133 * Bindings for GtkTreeView
     134 */
     135@binding-set gtk-emacs-tree-view
     136{
     137  bind "<ctrl>s" { "start-interactive-search" () };
     138  bind "<ctrl>f" { "move-cursor" (logical-positions, 1) };
     139  bind "<ctrl>b" { "move-cursor" (logical-positions, -1) };
     140}
     141
     142/*
     143 * Bindings for menus
     144 */
     145@binding-set gtk-emacs-menu
     146{
     147  bind "<ctrl>n" { "move-current" (next) };
     148  bind "<ctrl>p" { "move-current" (prev) };
     149  bind "<ctrl>f" { "move-current" (child) };
     150  bind "<ctrl>b" { "move-current" (parent) };
     151}
     152
     153GtkEntry {
     154  -gtk-key-bindings: gtk-emacs-text-entry;
     155}
     156
     157GtkTextView {
     158  -gtk-key-bindings: gtk-emacs-text-entry, gtk-emacs-text-view;
     159}
     160
     161GtkTreeView {
     162  -gtk-key-bindings: gtk-emacs-tree-view;
     163}
     164
     165GtkMenuShell {
     166  -gtk-key-bindings: gtk-emacs-menu;
     167}
     168
     169class "GtkMenuShell" binding "gtk-emacs-menu"
  • guix/.config/gtk-3.0/settings.ini

    ra48604f r5516569  
    77gtk-xft-hintstyle=hintslight
    88gtk-toolbar-style=GTK_TOOLBAR_BOTH_HORIZ
     9gtk-icon-sizes = "panel-menu=12,12:panel=12,12:gtk-menu=12,12:gtk-large-toolbar=12,12:gtk-small-toolbar=12,12:gtk-button=12,12"
     10gtk-decoration-layout=menu:closes
     11# gtk-font-name=FreeFont Sans 14
     12# gtk-primary-button-warps-slider=false
     13gtk-menu-popup-delay = 0
     14#gtk-menu-images = 0
     15# gtk-button-images = 0
    916gtk-toolbar-icon-size=GTK_ICON_SIZE_SMALL_TOOLBAR
    10 gtk-icon-sizes = "panel-menu=12,12:panel=12,12:gtk-menu=12,12:gtk-large-toolbar=12,12\
    11 :gtk-small-toolbar=12,12:gtk-button=12,12"
    12 gtk-decoration-layout=menu:close
    13 gtk-font-name=FreeFont Sans 14
    14 # gtk-primary-button-warps-slider=false
    15 StartupMode=cwd
  • guix/.config/guix/channels.scm

    ra48604f r5516569  
    1 (cons* ;; (channel
    2        ;;  (name 'flat)
    3        ;;  (url "https://github.com/flatwhatson/guix-channel.git")
    4        ;;  (introduction
    5        ;;   (make-channel-introduction
    6        ;;    "33f86a4b48205c0dc19d7c036c85393f0766f806"
    7        ;;    (openpgp-fingerprint
    8        ;;     "736A C00E 1254 378B A982  7AF6 9DBE 8265 81B6 4490"))))
    9        ;; (channel
    10        ;;  (name 'nonguix)
    11        ;;  (url "https://gitlab.com/nonguix/nonguix")
    12        ;;  ;; Enable signature verification:
    13        ;;  (introduction
    14        ;;   (make-channel-introduction
    15        ;;    "897c1a470da759236cc11798f4e0a5f7d4d59fbc"
    16        ;;    (openpgp-fingerprint
    17        ;;     "2A39 3FFF 68F4 EF7A 3D29  12AF 6F51 20A0 22FB B2D5"))))
    18        %default-channels)
     1(list (channel
     2        (name 'guix)
     3        (url "https://git.savannah.gnu.org/git/guix.git")
     4        (branch "version-1.4.0")))
  • guix/.guix-packages/emacs.scm

    ra48604f r5516569  
    2626  #:use-module (ice-9 match))
    2727
    28 (define-public emacs
    29   (package
    30     (name "emacs")
    31     (version "28.1")
    32     (source (origin
    33               (method url-fetch)
    34               (uri (string-append "mirror://gnu/emacs/emacs-"
    35                                   version ".tar.xz"))
    36               (sha256
    37                (base32
    38                 "1qbmmmhnjhn4lvzsnyk7l5ganbi6wzbm38jc1a7hhyh3k78b7c98"))
    39               (patches (search-patches "emacs-exec-path.patch"
    40                                        "emacs-fix-scheme-indent-function.patch"
    41                                        "emacs-source-date-epoch.patch"))
    42               (modules '((guix build utils)))
    43               (snippet
    44                '(with-directory-excursion "lisp"
    45                   ;; Delete the bundled byte-compiled elisp files and generated
    46                   ;; autoloads.
    47                   (for-each delete-file
    48                             (append (find-files "." "\\.elc$")
    49                                     (find-files "." "loaddefs\\.el$")
    50                                     (find-files "eshell" "^esh-groups\\.el$")))
    51 
    52                   ;; Make sure Tramp looks for binaries in the right places on
    53                   ;; remote Guix System machines, where 'getconf PATH' returns
    54                   ;; something bogus.
    55                   (substitute* "net/tramp-sh.el"
    56                     ;; Patch the line after "(defcustom tramp-remote-path".
    57                     (("\\(tramp-default-remote-path")
    58                      (format #f "(tramp-default-remote-path ~s ~s ~s ~s "
    59                              "~/.guix-profile/bin" "~/.guix-profile/sbin"
    60                              "/run/current-system/profile/bin"
    61                              "/run/current-system/profile/sbin")))
    62 
    63                   ;; Make sure Man looks for C header files in the right
    64                   ;; places.
    65                   (substitute* "man.el"
    66                     (("\"/usr/local/include\"" line)
    67                      (string-join
    68                       (list line
    69                             "\"~/.guix-profile/include\""
    70                             "\"/var/guix/profiles/system/profile/include\"")
    71                       " ")))
    72                   #t))))
    73     (build-system glib-or-gtk-build-system)
    74     (arguments
    75      `(#:tests? #f                      ; no check target
    76        #:configure-flags (list "--with-modules"
    77                                "--with-cairo"
    78                                "--disable-build-details")
    79        #:phases
    80        (modify-phases %standard-phases
    81          (add-after 'unpack 'patch-program-file-names
    82            (lambda* (#:key inputs #:allow-other-keys)
    83              (substitute* '("src/callproc.c"
    84                             "lisp/term.el"
    85                             "lisp/htmlfontify.el"
    86                             "lisp/textmodes/artist.el"
    87                             "lisp/progmodes/sh-script.el")
    88                (("\"/bin/sh\"")
    89                 (format #f "~s" (which "sh"))))
    90              (substitute* "lisp/doc-view.el"
    91                (("\"(gs|dvipdf|ps2pdf)\"" all what)
    92                 (let ((ghostscript (assoc-ref inputs "ghostscript")))
    93                   (if ghostscript
    94                       (string-append "\"" ghostscript "/bin/" what "\"")
    95                       all)))
    96                (("\"(pdftotext)\"" all what)
    97                 (let ((poppler (assoc-ref inputs "poppler")))
    98                   (if poppler
    99                       (string-append "\"" poppler "/bin/" what "\"")
    100                       all))))
    101              ;; match ".gvfs-fuse-daemon-real" and ".gvfsd-fuse-real"
    102              ;; respectively when looking for GVFS processes.
    103              (substitute* "lisp/net/tramp-gvfs.el"
    104                (("\\(tramp-compat-process-running-p \"(.*)\"\\)" all process)
    105                 (format #f "(or ~a (tramp-compat-process-running-p ~s))"
    106                         all (string-append "." process "-real"))))
    107              #t))
    108          (add-before 'configure 'fix-/bin/pwd
    109            (lambda _
    110              ;; Use `pwd', not `/bin/pwd'.
    111              (substitute* (find-files "." "^Makefile\\.in$")
    112                (("/bin/pwd")
    113                 "pwd"))
    114              #t))
    115          (add-after 'install 'install-site-start
    116            ;; Use 'guix-emacs' in "site-start.el", which is used autoload the
    117            ;; Elisp packages found in EMACSLOADPATH.
    118            (lambda* (#:key inputs outputs #:allow-other-keys)
    119              (let* ((out      (assoc-ref outputs "out"))
    120                     (lisp-dir (string-append out "/share/emacs/site-lisp"))
    121                     (emacs    (string-append out "/bin/emacs")))
    122 
    123                ;; This is duplicated from emacs-utils to prevent coupling.
    124                (define* (emacs-byte-compile-directory dir)
    125                  (let ((expr `(progn
    126                                (setq byte-compile-debug t)
    127                                (byte-recompile-directory
    128                                 (file-name-as-directory ,dir) 0 1))))
    129                    (invoke emacs "--quick" "--batch"
    130                            (format #f "--eval=~s" expr))))
    131 
    132                (copy-file (assoc-ref inputs "guix-emacs.el")
    133                           (string-append lisp-dir "/guix-emacs.el"))
    134                (with-output-to-file (string-append lisp-dir "/site-start.el")
    135                  (lambda ()
    136                    (display
    137                     (string-append
    138                      "(when (require 'guix-emacs nil t)\n"
    139                      "  (guix-emacs-autoload-packages)\n"
    140                      "  (advice-add 'package-load-all-descriptors"
    141                      " :after #'guix-emacs-load-package-descriptors))"))))
    142                ;; Remove the extraneous subdirs.el file, as it causes Emacs to
    143                ;; add recursively all the the sub-directories of a profile's
    144                ;; share/emacs/site-lisp union when added to EMACSLOADPATH,
    145                ;; which leads to conflicts.
    146                (delete-file (string-append lisp-dir "/subdirs.el"))
    147                ;; Byte compile the site-start files.
    148                (emacs-byte-compile-directory lisp-dir))
    149              #t))
    150          (add-after 'glib-or-gtk-wrap 'restore-emacs-pdmp
    151            ;; restore the dump file that Emacs installs somewhere in
    152            ;; libexec/ to its original state
    153            (lambda* (#:key outputs target #:allow-other-keys)
    154              (let* ((libexec (string-append (assoc-ref outputs "out")
    155                                             "/libexec"))
    156                     ;; each of these ought to only match a single file,
    157                     ;; but even if not (find-files) sorts by string<,
    158                     ;; so the Nth element in one maps to the Nth element of
    159                     ;; the other
    160                     (pdmp (find-files libexec "\\.pdmp$"))
    161                     (pdmp-real (find-files libexec "\\.pdmp-real$")))
    162                (for-each rename-file pdmp-real pdmp))))
    163          (add-after 'glib-or-gtk-wrap 'strip-double-wrap
    164            (lambda* (#:key outputs #:allow-other-keys)
    165              ;; Directly copy emacs-X.Y to emacs, so that it is not wrapped
    166              ;; twice.  This also fixes a minor issue, where WMs would not be
    167              ;; able to track emacs back to emacs.desktop.
    168              (with-directory-excursion (assoc-ref outputs "out")
    169                (copy-file
    170                 (car (find-files "bin" "^emacs-([0-9]+\\.)+[0-9]+$"))
    171                 "bin/emacs")
    172                #t)))
    173          (add-after 'strip-double-wrap 'wrap-emacs-paths
    174            (lambda* (#:key inputs outputs #:allow-other-keys)
    175              (let* ((out (assoc-ref outputs "out"))
    176                     (lisp-dirs (find-files (string-append out "/share/emacs")
    177                                            "^lisp$"
    178                                            #:directories? #t)))
    179                (for-each
    180                 (lambda (prog)
    181                   (wrap-program prog
    182                     ;; emacs-next and variants rely on uname being in PATH for
    183                     ;; Tramp.  Tramp paths can't be hardcoded, because they
    184                     ;; need to be portable.
    185                     `("PATH" suffix
    186                       ,(map (lambda (in) (string-append in "/bin"))
    187                             (list (assoc-ref inputs "gzip")
    188                                   (assoc-ref inputs "coreutils"))))
    189                     `("EMACSLOADPATH" suffix ,lisp-dirs)))
    190                 (find-files (string-append out "/bin")
    191                             ;; Matches versioned and unversioned emacs binaries.
    192                             ;; We don't patch emacsclient, because it takes its
    193                             ;; environment variables from emacs.
    194                             ;; Likewise, we don't need to patch helper binaries
    195                             ;; like etags, ctags or ebrowse.
    196                             "^emacs(-[0-9]+(\\.[0-9]+)*)?$"))))))))
    197     (inputs
    198      `(("gnutls" ,gnutls)
    199        ("ncurses" ,ncurses)
    200 
    201        ;; Required for "core" functionality, such as dired and compression.
    202        ("coreutils" ,coreutils)
    203        ("gzip" ,gzip)
    204 
    205        ;; Avoid Emacs's limited movemail substitute that retrieves POP3 email
    206        ;; only via insecure channels.  This is not needed for (modern) IMAP.
    207        ("mailutils" ,mailutils)
    208 
    209        ;; TODO: Add the optional dependencies.
    210        ("gpm" ,gpm)
    211        ("libx11" ,libx11)
    212        ("gtk+" ,gtk+)
    213        ("cairo" ,cairo)
    214        ("pango" ,pango)
    215        ("harfbuzz" ,harfbuzz)
    216        ("libxft" ,libxft)
    217        ("libtiff" ,libtiff)
    218        ("giflib" ,giflib)
    219        ("libjpeg" ,libjpeg-turbo)
    220        ("acl" ,acl)
    221        ("jansson" ,jansson)
    222        ("gmp" ,gmp)
    223        ("ghostscript" ,ghostscript)
    224        ("poppler" ,poppler)
    225 
    226        ;; When looking for libpng `configure' links with `-lpng -lz', so we
    227        ;; must also provide zlib as an input.
    228        ("libpng" ,libpng)
    229        ("zlib" ,zlib)
    230        ("librsvg" ,@(if (target-x86-64?)
    231                          (list librsvg-bootstrap)
    232                          (list librsvg-2.40)))
    233        ("libxpm" ,libxpm)
    234        ("libxml2" ,libxml2)
    235        ("libice" ,libice)
    236        ("libsm" ,libsm)
    237        ("alsa-lib" ,alsa-lib)
    238        ("dbus" ,dbus)
    239 
    240        ;; multilingualization support
    241        ("libotf" ,libotf)
    242        ("m17n-lib" ,m17n-lib)))
    243     (native-inputs
    244      `(("guix-emacs.el" ,(search-auxiliary-file "emacs/guix-emacs.el"))
    245        ("pkg-config" ,pkg-config)
    246        ("texinfo" ,texinfo)))
    247 
    248     (native-search-paths
    249      (list (search-path-specification
    250             (variable "EMACSLOADPATH")
    251             (files '("share/emacs/site-lisp")))
    252            (search-path-specification
    253             (variable "INFOPATH")
    254             (files '("share/info")))))
    255 
    256     (home-page "https://www.gnu.org/software/emacs/")
    257     (synopsis "The extensible, customizable, self-documenting text editor")
    258     (description
    259      "GNU Emacs is an extensible and highly customizable text editor.  It is
    260 based on an Emacs Lisp interpreter with extensions for text editing.  Emacs
    261 has been extended in essentially all areas of computing, giving rise to a
    262 vast array of packages supporting, e.g., email, IRC and XMPP messaging,
    263 spreadsheets, remote server editing, and much more.  Emacs includes extensive
    264 documentation on all aspects of the system, from basic editing to writing
    265 large Lisp programs.  It has full Unicode support for nearly all human
    266 languages.")
    267     (license license:gpl3+)))
    268 
    269 (define-public libgccjit-for-gcc
    270   (mlambda (gcc)
    271     (package
    272       (inherit gcc)
    273       (name "libgccjit")
    274       (outputs (delete "lib" (package-outputs gcc)))
    275       (properties (alist-delete 'hidden? (package-properties gcc)))
    276       (arguments
    277        (substitute-keyword-arguments `(#:modules ((guix build gnu-build-system)
    278                                                   (guix build utils)
    279                                                   (ice-9 regex)
    280                                                   (srfi srfi-1)
    281                                                   (srfi srfi-26))
    282                                        ,@(package-arguments gcc))
    283          ((#:configure-flags flags)
    284           `(append '("--disable-bootstrap"
    285                      "--disable-libatomic"
    286                      "--disable-libgomp"
    287                      "--disable-libquadmath"
    288                      "--disable-libssp"
    289                      "--enable-host-shared"
    290                      "--enable-checking=release"
    291                      "--enable-languages=jit")
    292                    (remove (cut string-match "--enable-languages.*" <>)
    293                            ,flags)))
    294          ((#:phases phases)
    295           `(modify-phases ,phases
    296              (add-after 'install 'remove-broken-or-conflicting-files
    297                (lambda* (#:key outputs #:allow-other-keys)
    298                  (for-each delete-file
    299                            (find-files (string-append (assoc-ref outputs "out") "/bin")
    300                                        ".*(c\\+\\+|cpp|g\\+\\+|gcov|gcc|gcc-.*)"))
    301                  #t))))))
    302       (inputs
    303        (alist-delete "libstdc++"
    304                      (package-inputs gcc)))
    305       (native-inputs
    306        `(("gcc" ,gcc)
    307          ,@(package-native-inputs gcc))))))
    308 
    309 (define-public libgccjit-10
    310   (libgccjit-for-gcc gcc-10))
    311 
    312 (define-public libgccjit-11
    313   (libgccjit-for-gcc gcc-11))
    314 
    315 (define-public emacs
    316   (package
    317    (inherit emacs)
    318    (name "emacs")
    319    (version "28.1")
    320    (source
    321     (origin
    322      (method url-fetch)
    323      (uri (string-append "mirror://gnu/emacs/emacs-"
    324                          version ".tar.xz"))
    325      (sha256
    326       (base32
    327        "1qbmmmhnjhn4lvzsnyk7l5ganbi6wzbm38jc1a7hhyh3k78b7c98"))))
    328    (arguments
    329     (substitute-keyword-arguments
    330      (package-arguments emacs-next)
    331      ((#:configure-flags flags ''())
    332       `(list "--with-imagemagick"
    333              "--disable-silent-rules"
    334              "--with-x-toolkit=no"
    335              "--enable-link-time-optimization"
    336              "--with-json"
    337              "--with-jpeg"
    338              "--with-png"
    339              "--with-rsvg"
    340              "--without-xaw3d"
    341              "--with-threads"
    342              "--with-included-regex"
    343              "--with-modules"
    344              "--without-libotf"
    345              "--without-libsystemd"
    346              "--with-mailutils"
    347              "--without-toolkit-scroll-bars"
    348              "--without-selinux"
    349              ;; "--without-harfbuzz"
    350              ;; "--without-cairo"
    351              ;; "--with-libxft"
    352              ;; "--with-xdbe=no"
    353              "CFLAGS=-O3 -g -fcommon -pipe"
    354              ))))
    355    (inputs
    356     (modify-inputs (package-inputs emacs-next)
    357                    (prepend imagemagick libxaw)))
    358    (properties '((tunable? . #true)))))
    359 
    360 (define-public emacs-with-native-compilation
    361   (let ((libgccjit (libgccjit-for-gcc gcc-11)))
    362     (package
    363       (inherit emacs)
    364       (name "emacs-with-native-compilation")
    365       (version "28.1")
    366       (source
    367        (origin
    368          (method url-fetch)
    369          (uri (string-append "mirror://gnu/emacs/emacs-"
    370                              version ".tar.xz"))
    371          (sha256
    372           (base32
    373            "1qbmmmhnjhn4lvzsnyk7l5ganbi6wzbm38jc1a7hhyh3k78b7c98"))))
    374       (arguments
    375        (substitute-keyword-arguments
    376         (package-arguments emacs-28)
    377         ((#:make-flags flags ''())
    378                 `(cons* "NATIVE_FULL_AOT=1" ,flags))
    379          ((#:configure-flags flags ''())
    380           `(cons* "--with-native-compilation"
    381                   "CFLAGS=-O3 -g -fcommon -fcommon -pipe"
    382                   ,flags))
    383          ((#:phases phases ''())
    384           `(modify-phases ,phases
    385              ;; Required for configure to find libgccjit
    386              (add-before 'configure 'set-library-path
    387                (lambda* (#:key inputs #:allow-other-keys)
    388                  (let* ((libgccjit-version ,(package-version libgccjit))
    389                         (libgccjit-libdir
    390                          (string-append
    391                           (assoc-ref inputs "libgccjit") "/lib/gcc/"
    392                           %host-type "/" libgccjit-version "/")))
    393                    (setenv "LIBRARY_PATH"
    394                            (string-append libgccjit-libdir ":"
    395                                           (getenv "LIBRARY_PATH"))))))
    396              ;; Add runtime library paths for libgccjit.
    397              (add-after 'unpack 'patch-driver-options
    398                (lambda* (#:key inputs #:allow-other-keys)
    399                  (substitute* "lisp/emacs-lisp/comp.el"
    400                    (("\\(defcustom native-comp-driver-options nil")
    401                     (format
    402                      #f "(defcustom native-comp-driver-options '(~s ~s ~s ~s)"
    403                      (string-append
    404                       "-B" (assoc-ref inputs "binutils") "/bin/")
    405                      (string-append
    406                       "-B" (assoc-ref inputs "glibc") "/lib/")
    407                      (string-append
    408                       "-B" (assoc-ref inputs "libgccjit") "/lib/")
    409                      (string-append
    410                       "-B" (assoc-ref inputs "libgccjit") "/lib/gcc/"))))))))))
    411       (inputs
    412        (modify-inputs (package-inputs emacs-28)
    413                       (prepend libgccjit glibc bzip2)))
    414       (propagated-inputs
    415        (modify-inputs (package-inputs emacs-28)
    416                       (prepend)))
    417       (properties '((tunable? . #true))))))
    418 
    419 (define-public wkmacs
    420   (package
    421    (inherit emacs)
    422    (name "wkmacs")
    423    (version "28.1")
    424    (propagated-inputs
    425     (list emacs-flycheck
    426       emacs-pdf-tools
    427       emacs-debbugs
    428       emacs-vimrc-mode
    429       emacs-docker-compose-mode
    430       emacs-dockerfile-mode
    431       emacs-docker
    432       emacs-org-roam
    433       emacs-web-mode
    434       emacs-php-mode
    435       emacs-robe
    436       emacs-inf-ruby
    437       emacs-sudo-edit
    438       emacs-auto-complete
    439       emacs-visual-fill-column
    440       emacs-dumb-jump
    441       emacs-goto-chg
    442       emacs-gitpatch
    443       emacs-magit
    444       emacs-auctex
    445       emacs-anaconda-mode
    446       emacs-anzu
    447       emacs-all-the-icons
    448       emacs-telega
    449       emacs-geiser
    450       emacs-org-webring
    451       emacs-all-the-icons-dired
    452       emacs-avy
    453       emacs-browse-kill-ring
    454       emacs-haskell-mode
    455       emacs-idris-mode
    456       emacs-mwim
    457       emacs-diminish
    458       emacs-direnv
    459       emacs-elpher
    460       emacs-exec-path-from-shell
    461       emacs-expand-region
    462       emacs-geiser-guile
    463       emacs-guix
    464       emacs-org-ref
    465       emacs-git-gutter
    466       emacs-gnuplot
    467       emacs-nix-mode
    468       emacs-sml-mode
    469       emacs-slime
    470       emacs-simple-httpd
    471       emacs-undo-tree
    472       emacs-yasnippet
    473       emacs-yasnippet-snippets
    474       emacs-xref))
    475    (properties '((tunable? . #true)))))
    476 
    47728(define-public emacs-pythonic
    47829  (package
     
    666217    (list emacs-request))
    667218   (build-system emacs-build-system)))
     219
     220(define-public emacs-mini-modeline
     221  (package
     222    (name "emacs-mini-modeline")
     223    (version "20211130.604")
     224    (source (origin
     225              (method git-fetch)
     226              (uri (git-reference
     227                    (url "https://github.com/kiennq/emacs-mini-modeline.git")
     228                    (commit "434b98b22c69c8b3b08e9c267c935591c49a8301")))
     229              (sha256
     230               (base32
     231                "063bpi3gxzi6kkc3mb9h4m8lvbsvfw47z559960h912h2l3z6vhq"))))
     232    (build-system emacs-build-system)
     233    (propagated-inputs (list emacs-dash))
     234    (home-page "https://github.com/kiennq/emacs-mini-modeline")
     235    (synopsis "Display modeline in minibuffer")
     236    (description
     237     "Display modeline in minibuffer.  With this we save one display line and also
     238don't have to see redundant information.")
     239    (license #f)))
     240
     241(define-public emacs-isearch-mb
     242  (package
     243    (name "emacs-isearch-mb")
     244    (version "0.5")
     245    (source (origin
     246              (method url-fetch)
     247              (uri (string-append "https://elpa.gnu.org/packages/isearch-mb-"
     248                                  version ".tar"))
     249              (sha256
     250               (base32
     251                "0fah8dmh9jv05i93ccn9dvl7qmfy32vwxqdzkf1v8gr1plsyjyx7"))))
     252    (build-system emacs-build-system)
     253    (home-page "https://github.com/astoff/isearch-mb")
     254    (synopsis "Control isearch from the minibuffer")
     255    (description "")
     256    (license license:gpl3+)))
  • guix/.guix-packages/php.scm

    ra48604f r5516569  
    3636  #:use-module ((guix licenses) #:prefix license:))
    3737
    38 (define-public php-ampq
    39   (package
    40     (name "php-ampq")
    41     (version "7.4.26")
    42     (home-page "https://secure.php.net/")
    43     (source (origin
    44               (method url-fetch)
    45               (uri (string-append home-page "distributions/"
    46                                   "php-" version ".tar.xz"))
    47               (sha256
    48                (base32
    49                 "1y0f1xgfi8cks6npdhrycg8r9g3q0pikqgf5h4xafpy8znmb61g3"))
    50               (patches
    51                (search-patches "php-bug-74093-test.patch"
    52                                "php-openssl_x509_checkpurpose_basic.patch"))
    53               (modules '((guix build utils)))
    54               (snippet
    55                '(with-directory-excursion "ext"
    56                   (for-each delete-file-recursively
    57                             ;; Some of the bundled libraries have no proper upstream.
    58                             ;; Ideally we'd extract these out as separate packages:
    59                             ;;"mbstring/libmbfl"
    60                             ;;"date/lib"
    61                             ;;"bcmath/libbcmath"
    62                             ;;"fileinfo/libmagic" ; a patched version of libmagic
    63                             '("gd/libgd"
    64                               "pcre/pcre2lib"
    65                               "xmlrpc/libxmlrpc"))))))
    66     (build-system gnu-build-system)
    67     (arguments
    68      `(#:configure-flags
    69        (let-syntax ((with (syntax-rules ()
    70                             ((_ option input)
    71                              (string-append option "="
    72                                             (assoc-ref %build-inputs input))))))
    73          (list (with "--with-bz2" "bzip2")
    74                (with "--with-curl" "curl")
    75                (with "--with-gdbm" "gdbm")
    76                (with "--with-gettext" "libc")  ; libintl.h
    77                (with "--with-gmp" "gmp")
    78                (with "--with-ldap" "openldap")
    79                (with "--with-ldap-sasl" "cyrus-sasl")
    80                (with "--with-pdo-pgsql" "postgresql")
    81                (with "--with-pdo-sqlite" "sqlite")
    82                (with "--with-pgsql" "postgresql")
    83                ;; PHP’s Pspell extension, while retaining its current name,
    84                ;; now uses the Aspell library.
    85                (with "--with-pspell" "aspell")
    86                (with "--with-readline" "readline")
    87                (with "--with-sodium" "libsodium")
    88                (with "--with-sqlite3" "sqlite")
    89                (with "--with-tidy" "tidy")
    90                (with "--with-xsl" "libxslt")
    91                (with "--with-zlib-dir" "zlib")
    92                ;; We could add "--with-snmp", but it requires netsnmp that
    93                ;; we don't have a package for. It is used to build the snmp
    94                ;; extension of php.
    95                "--with-external-pcre"
    96                "--with-external-gd"
    97                "--with-ampq"
    98                "--with-iconv"
    99                "--with-openssl"
    100                "--with-mysqli"          ; Required for, e.g. wordpress
    101                "--with-pdo-mysql"
    102                "--with-zip"
    103                "--with-zlib"
    104                "--enable-bcmath"        ; Required for, e.g. Zabbix frontend
    105                "--enable-calendar"
    106                "--enable-debug"
    107                "--enable-dba=shared"
    108                "--enable-exif"
    109                "--enable-flatfile"
    110                "--enable-fpm"
    111                "--enable-ftp"
    112                "--enable-gd"
    113                "--enable-inifile"
    114                "--enable-intl"
    115                "--enable-mbstring"
    116                "--enable-pcntl"
    117                "--enable-sockets"))
    118        #:phases
    119        (modify-phases %standard-phases
    120          (add-after 'unpack 'do-not-record-build-flags
    121            (lambda _
    122              ;; Prevent configure flags from being stored and causing
    123              ;; unnecessary runtime dependencies.
    124              (substitute* "scripts/php-config.in"
    125                (("@CONFIGURE_OPTIONS@") "")
    126                (("@PHP_LDFLAGS@") ""))
    127              ;; This file has ISO-8859-1 encoding.
    128              (with-fluids ((%default-port-encoding "ISO-8859-1"))
    129                (substitute* "main/build-defs.h.in"
    130                  (("@CONFIGURE_COMMAND@") "(omitted)")))))
    131          (add-before 'build 'patch-/bin/sh
    132            (lambda _
    133              (substitute* '("run-tests.php" "ext/standard/proc_open.c")
    134                (("/bin/sh") (which "sh")))))
    135          (add-before 'check 'prepare-tests
    136            (lambda _
    137              ;; Some of these files have ISO-8859-1 encoding, whereas others
    138              ;; use ASCII, so we can't use a "catch-all" find-files here.
    139              (with-fluids ((%default-port-encoding "ISO-8859-1"))
    140                (substitute* '("ext/mbstring/tests/mb_send_mail02.phpt"
    141                               "ext/mbstring/tests/mb_send_mail04.phpt"
    142                               "ext/mbstring/tests/mb_send_mail05.phpt"
    143                               "ext/mbstring/tests/mb_send_mail06.phpt")
    144                  (("/bin/cat") (which "cat"))))
    145              (substitute* '("ext/mbstring/tests/mb_send_mail01.phpt"
    146                             "ext/mbstring/tests/mb_send_mail03.phpt"
    147                             "ext/mbstring/tests/bug52681.phpt"
    148                             "ext/standard/tests/general_functions/bug34794.phpt"
    149                             "ext/standard/tests/general_functions/bug44667.phpt"
    150                             "ext/standard/tests/general_functions/proc_open.phpt")
    151                (("/bin/cat") (which "cat")))
    152 
    153              ;; The encoding of this file is not recognized, so we simply drop it.
    154              (delete-file "ext/mbstring/tests/mb_send_mail07.phpt")
    155 
    156              (substitute* "ext/standard/tests/streams/bug60602.phpt"
    157                (("'ls'") (string-append "'" (which "ls") "'")))
    158 
    159              ,@(if (string-prefix? "arm" (or (%current-system)
    160                                              (%current-target-system)))
    161                    ;; Drop tests known to fail on armhf.
    162                    '((for-each delete-file
    163                               (list
    164                                 "ext/calendar/tests/unixtojd_error1.phpt"
    165                                 ;; arm can be a lot slower, so a time-related test fails
    166                                 "ext/fileinfo/tests/cve-2014-3538-nojit.phpt"
    167                                 "ext/pcntl/tests/pcntl_unshare_01.phpt"
    168                                 "ext/pcre/tests/bug76514.phpt"
    169                                 "ext/pcre/tests/preg_match_error3.phpt"
    170                                 "ext/pcre/tests/cache_limit.phpt"
    171                                 "ext/sockets/tests/socket_getopt.phpt"
    172                                 "ext/sockets/tests/socket_sendrecvmsg_error.phpt"
    173                                 "ext/standard/tests/general_functions/var_export-locale.phpt"
    174                                 "ext/standard/tests/general_functions/var_export_basic1.phpt"
    175                                 "ext/intl/tests/timezone_getErrorCodeMessage_basic.phpt"
    176                                 "ext/intl/tests/timezone_getOffset_error.phpt"
    177                                 "sapi/cli/tests/cli_process_title_unix.phpt"
    178                                 "sapi/cli/tests/upload_2G.phpt"
    179                                 "Zend/tests/concat_003.phpt")))
    180                    '())
    181 
    182              ,@(if (target-ppc64le?)
    183                    ;; Drop tests known to fail on powerpc64le.
    184                    '((for-each delete-file
    185                                (list
    186                                 ;; phpdbg watchpoints don't work.
    187                                 ;; Bug tracked upstream at:
    188                                 ;; https://bugs.php.net/bug.php?id=81408
    189                                 "sapi/phpdbg/tests/watch_001.phpt"
    190                                 "sapi/phpdbg/tests/watch_003.phpt"
    191                                 "sapi/phpdbg/tests/watch_004.phpt"
    192                                 "sapi/phpdbg/tests/watch_005.phpt"
    193                                 "sapi/phpdbg/tests/watch_006.phpt")))
    194                    '())
    195 
    196              ;; Drop tests that are known to fail.
    197              (for-each delete-file
    198                        '("ext/posix/tests/posix_getgrgid.phpt"    ; Requires /etc/group.
    199                          "ext/posix/tests/posix_getgrnam_basic.phpt" ; Requires /etc/group.
    200                          "ext/sockets/tests/bug63000.phpt"        ; Fails to detect OS.
    201                          "ext/sockets/tests/socket_shutdown.phpt" ; Requires DNS.
    202                          "ext/sockets/tests/socket_send.phpt"     ; Likewise.
    203                          "ext/sockets/tests/mcast_ipv4_recv.phpt" ; Requires multicast.
    204                          ;; These needs /etc/services.
    205                          "ext/standard/tests/general_functions/getservbyname_basic.phpt"
    206                          "ext/standard/tests/general_functions/getservbyport_basic.phpt"
    207                          "ext/standard/tests/general_functions/getservbyport_variation1.phpt"
    208                          ;; And /etc/protocols.
    209                          "ext/standard/tests/network/getprotobyname_basic.phpt"
    210                          "ext/standard/tests/network/getprotobynumber_basic.phpt"
    211                          ;; And exotic locales.
    212                          "ext/standard/tests/strings/setlocale_basic1.phpt"
    213                          "ext/standard/tests/strings/setlocale_basic2.phpt"
    214                          "ext/standard/tests/strings/setlocale_basic3.phpt"
    215                          "ext/standard/tests/strings/setlocale_variation1.phpt"
    216                          ;; This failing test is skipped on PHP's Travis CI as it is
    217                          ;; supposedly inaccurate.
    218                          "ext/standard/tests/file/disk_free_space_basic.phpt"
    219                          ;; The following test erroneously expect the link
    220                          ;; count of a sub-directory to increase compared to
    221                          ;; its parent.
    222                          "ext/standard/tests/file/lstat_stat_variation8.phpt"
    223                          ;; This tests whether microseconds ‘differ enough’ and
    224                          ;; fails inconsistently on ‘fast’ machines.
    225                          "ext/date/tests/bug73837.phpt"
    226 
    227                          ;; XXX: These gd tests fails.  Likely because our version
    228                          ;; is different from the (patched) bundled one.
    229                          ;; Here, gd quits immediately after "fatal libpng error"; while the
    230                          ;; test expects it to additionally return a "setjmp" error and warning.
    231                          "ext/gd/tests/bug39780_extern.phpt"
    232                          "ext/gd/tests/libgd00086_extern.phpt"
    233                          ;; Extra newline in gd-png output.
    234                          "ext/gd/tests/bug45799.phpt"
    235                          ;; Test expects generic "gd warning" but gets the actual function name.
    236                          "ext/gd/tests/createfromwbmp2_extern.phpt"
    237                          ;; This bug should have been fixed in gd 2.2.2.
    238                          ;; Is it a regression?
    239                          "ext/gd/tests/bug65148.phpt"
    240                          ;; This bug should have been fixed in the gd 2.2
    241                          ;; series.  Perhaps a regression introduced by gd
    242                          ;; 2.3.0?
    243                          "ext/gd/tests/bug66590.phpt"
    244                          ;; This bug should have been fixed in the php-5.5
    245                          ;; series.  Perhaps a regression introduced by gd
    246                          ;; 2.3.0?
    247                          "ext/gd/tests/bug70102.phpt"
    248                          ;; This bug should have been fixed in the php-5.6
    249                          ;; series.  Perhaps a regression introduced by gd
    250                          ;; 2.3.0?
    251                          "ext/gd/tests/bug73869.phpt"
    252                          ;; Some WebP related tests fail.
    253                          "ext/gd/tests/webp_basic.phpt"
    254                          "ext/gd/tests/imagecreatefromstring_webp.phpt"
    255                          ;; Expected error message, but from the wrong function
    256                          "ext/gd/tests/bug77269.phpt"
    257                          ;; TODO: Enable these when libgd is built with xpm support.
    258                          "ext/gd/tests/xpm2gd.phpt"
    259                          "ext/gd/tests/xpm2jpg.phpt"
    260                          "ext/gd/tests/xpm2png.phpt"
    261                          ;; Whitespace difference, probably caused by a very
    262                          ;; long store path
    263                          "ext/gd/tests/bug77479.phpt"
    264                          ;; Expected invalid XBM but got EOF before image was
    265                          ;; complete.  It's a warning in both cases and test
    266                          ;; result is the same.
    267                          "ext/gd/tests/bug77973.phpt"
    268                          ;; Test expects uninitialized value to be false, but
    269                          ;; instead gets "resource(5) of type (gd)".
    270                          "ext/gd/tests/bug79067.phpt"
    271                          ;; The following test fails with "The image size
    272                          ;; differs: expected 114x115, got 117x117".
    273                          "ext/gd/tests/bug79068.phpt"
    274 
    275                          ;; XXX: These iconv tests have the expected outcome,
    276                          ;; but with different error messages.
    277                          ;; Expects "illegal character", instead gets "unknown error (84)".
    278                          "ext/iconv/tests/bug52211.phpt"
    279                          "ext/iconv/tests/bug60494.phpt"
    280                          ;; Expects "wrong charset", gets unknown error (22).
    281                          "ext/iconv/tests/iconv_strlen_error2.phpt"
    282                          "ext/iconv/tests/iconv_substr_error2.phpt"
    283                          ;; Expects conversion error, gets "error condition Termsig=11".
    284                          "ext/iconv/tests/iconv_strpos_error2.phpt"
    285                          "ext/iconv/tests/iconv_strrpos_error2.phpt"
    286                          ;; Expects "invalid multibyte sequence" but got
    287                          ;; "unknown error".
    288                          "ext/iconv/tests/bug76249.phpt"
    289 
    290                          ;; XXX: These test failures appear legitimate, needs investigation.
    291                          ;; open_basedir() restriction failure.
    292                          "ext/curl/tests/bug61948-unix.phpt"
    293                          ;; Expects a false boolean, gets empty array from glob().
    294                          "ext/standard/tests/file/bug41655_1.phpt"
    295                          "ext/standard/tests/file/glob_variation5.phpt"
    296                          ;; The test expects an Array, but instead get the contents(?).
    297                          "ext/gd/tests/bug43073.phpt"
    298                          ;; imagettftext() returns wrong coordinates.
    299                          "ext/gd/tests/bug48732-mb.phpt"
    300                          "ext/gd/tests/bug48732.phpt"
    301                          ;; Similarly for imageftbbox().
    302                          "ext/gd/tests/bug48801-mb.phpt"
    303                          "ext/gd/tests/bug48801.phpt"
    304                          ;; Different expected output from imagecolorallocate().
    305                          "ext/gd/tests/bug53504.phpt"
    306                          ;; Wrong image size after scaling an image.
    307                          "ext/gd/tests/bug73272.phpt"
    308                          ;; Expects iconv to detect illegal characters, instead gets
    309                          ;; "unknown error (84)" and heap corruption(!).
    310                          "ext/iconv/tests/bug48147.phpt"
    311                          ;; Expects illegal character ".", gets "=?utf-8?Q?."
    312                          "ext/iconv/tests/bug51250.phpt"
    313                          ;; iconv throws "buffer length exceeded" on some string checks.
    314                          "ext/iconv/tests/iconv_mime_encode.phpt"
    315                          ;; file_get_contents(): iconv stream filter
    316                          ;; ("ISO-8859-1"=>"UTF-8") unknown error.
    317                          "ext/standard/tests/file/bug43008.phpt"
    318                          ;; Table data not created in sqlite(?).
    319                          "ext/pdo_sqlite/tests/bug_42589.phpt"
    320                          ;; Expects an Array with 3 preg_matches; gets 0.
    321                          "ext/pcre/tests/bug79846.phpt"
    322                          ;; Expects an empty Array; gets one with " " in it.
    323                          "ext/pcre/tests/bug80118.phpt"
    324                          ;; Renicing a process fails in the build environment.
    325                          "ext/standard/tests/general_functions/proc_nice_basic.phpt"
    326                          ;; Can fail on fast machines?
    327                          "Zend/tests/bug74093.phpt"))
    328 
    329              ;; Accomodate two extra openssl errors flanking the expected one:
    330              ;; random number generator:RAND_{load,write}_file:Cannot open file
    331              ;; This is due to an invalid $HOME, but changing it in the test
    332              ;; still prints the first one & changing it globally is overkill.
    333              (substitute* "ext/openssl/tests/bug80747.phpt"
    334                ((".*error:%s:key size too small.*" match)
    335                 (string-append "%s\n" match "%s\n")))
    336 
    337              ;; Skip tests requiring network access.
    338              (setenv "SKIP_ONLINE_TESTS" "1")
    339              ;; Without this variable, 'make test' passes regardless of failures.
    340              (setenv "REPORT_EXIT_STATUS" "1")
    341              ;; Skip tests requiring I/O facilities that are unavailable in the
    342              ;; build environment
    343              (setenv "SKIP_IO_CAPTURE_TESTS" "1"))))
    344        #:test-target "test"))
    345     (inputs
    346      `(("aspell" ,aspell)
    347        ("bzip2" ,bzip2)
    348        ("curl" ,curl)
    349        ("cyrus-sasl" ,cyrus-sasl)
    350        ("gd" ,gd)
    351        ("gdbm" ,gdbm)
    352        ("gmp" ,gmp)
    353        ("gnutls" ,gnutls)
    354        ("icu4c" ,icu4c)
    355        ("libgcrypt" ,libgcrypt)
    356        ("libpng" ,libpng)
    357        ("libsodium" ,libsodium)
    358        ("libxml2" ,libxml2)
    359        ("libxslt" ,libxslt)
    360        ("libx11" ,libx11)
    361        ("libzip" ,libzip)
    362        ("oniguruma" ,oniguruma)
    363        ("openldap" ,openldap)
    364        ("openssl" ,openssl)
    365        ("pcre" ,pcre2)
    366        ("postgresql" ,postgresql)
    367        ("readline" ,readline)
    368        ("sqlite" ,sqlite)
    369        ("tidy" ,tidy)
    370        ("zlib" ,zlib)))
    371     (native-inputs
    372      `(("pkg-config" ,pkg-config)
    373        ("bison" ,bison)
    374        ("gettext" ,gettext-minimal)
    375        ("procps" ,procps)))             ; for tests
    376     (synopsis "PHP programming language")
    377     (description
    378       "PHP (PHP Hypertext Processor) is a server-side (CGI) scripting
    379 language designed primarily for web development but is also used as
    380 a general-purpose programming language.  PHP code may be embedded into
    381 HTML code, or it can be used in combination with various web template
    382 systems, web content management systems and web frameworks." )
    383     (license (list
    384               (license:non-copyleft "file://LICENSE")       ; The PHP license.
    385               (license:non-copyleft "file://Zend/LICENSE")  ; The Zend license.
    386               license:lgpl2.1                               ; ext/mbstring/libmbfl
    387               license:lgpl2.1+                              ; ext/bcmath/libbcmath
    388               license:bsd-2                                 ; ext/fileinfo/libmagic
    389               license:expat))))                             ; ext/date/lib
     38;; (define-public php-8
     39;;   (package
     40;;     (name "php-8")
     41;;     (version "8.1.9")
     42;;     (home-page "https://secure.php.net/")
     43;;     (source (origin
     44;;               (method url-fetch)
     45;;               (uri (string-append home-page "distributions/"
     46;;                                   "php-" version ".tar.xz"))
     47;;               (sha256
     48;;                (base32
     49;;                 "1gr79i9dwm7qiqgimxms8rlvzzazh66sa4w9nr1cjk95wrrpwisk"))
     50;;               (modules '((guix build utils)))
     51;;               (snippet
     52;;                '(with-directory-excursion "ext"
     53;;                   (for-each delete-file-recursively
     54;;                             ;; Some of the bundled libraries have no proper upstream.
     55;;                             ;; Ideally we'd extract these out as separate packages:
     56;;                             ;;"mbstring/libmbfl"
     57;;                             ;;"date/lib"
     58;;                             ;;"bcmath/libbcmath"
     59;;                             ;;"fileinfo/libmagic" ; a patched version of libmagic
     60;;                             '("gd/libgd"
     61;;                               "pcre/pcre2lib"
     62;;                               "xmlrpc/libxmlrpc"))))))
     63;;     (build-system gnu-build-system)
     64;;     (arguments
     65;;      `(#:configure-flags
     66;;        (let-syntax ((with (syntax-rules ()
     67;;                             ((_ option input)
     68;;                              (string-append option "="
     69;;                                             (assoc-ref %build-inputs input))))))
     70;;          (list (with "--with-bz2" "bzip2")
     71;;                (with "--with-curl" "curl")
     72;;                (with "--with-gdbm" "gdbm")
     73;;                (with "--with-gettext" "libc")  ; libintl.h
     74;;                (with "--with-gmp" "gmp")
     75;;                (with "--with-ldap" "openldap")
     76;;                (with "--with-ldap-sasl" "cyrus-sasl")
     77;;                (with "--with-pdo-pgsql" "postgresql")
     78;;                (with "--with-pdo-sqlite" "sqlite")
     79;;                (with "--with-pgsql" "postgresql")
     80;;                ;; PHP’s Pspell extension, while retaining its current name,
     81;;                ;; now uses the Aspell library.
     82;;                (with "--with-pspell" "aspell")
     83;;                (with "--with-readline" "readline")
     84;;                (with "--with-sodium" "libsodium")
     85;;                (with "--with-sqlite3" "sqlite")
     86;;                (with "--with-tidy" "tidy")
     87;;                (with "--with-xsl" "libxslt")
     88;;                (with "--with-zlib-dir" "zlib")
     89;;                ;; We could add "--with-snmp", but it requires netsnmp that
     90;;                ;; we don't have a package for. It is used to build the snmp
     91;;                ;; extension of php.
     92;;                "--with-external-pcre"
     93;;                "--with-external-gd"
     94;;                "--with-iconv"
     95;;                "--with-openssl"
     96;;                "--with-mysqli"          ; Required for, e.g. wordpress
     97;;                "--with-pdo-mysql"
     98;;                "--with-zip"
     99;;                "--with-zlib"
     100;;                "--enable-bcmath"        ; Required for, e.g. Zabbix frontend
     101;;                "--enable-calendar"
     102;;                "--enable-dba=shared"
     103;;                "--enable-exif"
     104;;                "--enable-flatfile"
     105;;                "--enable-fpm"
     106;;                "--enable-ftp"
     107;;                "--enable-gd"
     108;;                "--enable-inifile"
     109;;                "--enable-intl"
     110;;                "--enable-mbstring"
     111;;                "--enable-pcntl"
     112;;                "--enable-sockets"))
     113;;        #:phases
     114;;        (modify-phases %standard-phases
     115;;          (add-after 'unpack 'do-not-record-build-flags
     116;;            (lambda _
     117;;              ;; Prevent configure flags from being stored and causing
     118;;              ;; unnecessary runtime dependencies.
     119;;              (substitute* "scripts/php-config.in"
     120;;                (("@CONFIGURE_OPTIONS@") "")
     121;;                (("@PHP_LDFLAGS@") ""))
     122;;              ;; This file has ISO-8859-1 encoding.
     123;;              (with-fluids ((%default-port-encoding "ISO-8859-1"))
     124;;                (substitute* "main/build-defs.h.in"
     125;;                  (("@CONFIGURE_COMMAND@") "(omitted)")))))
     126;;          (add-before 'build 'patch-/bin/sh
     127;;            (lambda _
     128;;              (substitute* '("run-tests.php" "ext/standard/proc_open.c")
     129;;                (("/bin/sh") (which "sh")))))
     130;;          (add-before 'check 'prepare-tests
     131;;            (lambda _
     132;;              ;; Some of these files have ISO-8859-1 encoding, whereas others
     133;;              ;; use ASCII, so we can't use a "catch-all" find-files here.
     134;;              (with-fluids ((%default-port-encoding "ISO-8859-1"))
     135;;                (substitute* '("ext/mbstring/tests/mb_send_mail02.phpt"
     136;;                               "ext/mbstring/tests/mb_send_mail04.phpt"
     137;;                               "ext/mbstring/tests/mb_send_mail05.phpt"
     138;;                               "ext/mbstring/tests/mb_send_mail06.phpt")
     139;;                  (("/bin/cat") (which "cat"))))
     140;;              (substitute* '("ext/mbstring/tests/mb_send_mail01.phpt"
     141;;                             "ext/mbstring/tests/mb_send_mail03.phpt"
     142;;                             "ext/mbstring/tests/bug52681.phpt"
     143;;                             "ext/standard/tests/general_functions/bug34794.phpt"
     144;;                             "ext/standard/tests/general_functions/bug44667.phpt"
     145;;                             "ext/standard/tests/general_functions/proc_open.phpt")
     146;;                (("/bin/cat") (which "cat")))
     147
     148;;              ;; The encoding of this file is not recognized, so we simply drop it.
     149;;              (delete-file "ext/mbstring/tests/mb_send_mail07.phpt")
     150
     151;;              (substitute* "ext/standard/tests/streams/bug60602.phpt"
     152;;                (("'ls'") (string-append "'" (which "ls") "'")))
     153
     154;;              ,@(if (string-prefix? "arm" (or (%current-system)
     155;;                                              (%current-target-system)))
     156;;                    ;; Drop tests known to fail on armhf.
     157;;                    '((for-each delete-file
     158;;                               (list
     159;;                                 "ext/calendar/tests/unixtojd_error1.phpt"
     160;;                                 ;; arm can be a lot slower, so a time-related test fails
     161;;                                 "ext/fileinfo/tests/cve-2014-3538-nojit.phpt"
     162;;                                 "ext/pcntl/tests/pcntl_unshare_01.phpt"
     163;;                                 "ext/pcre/tests/bug76514.phpt"
     164;;                                 "ext/pcre/tests/preg_match_error3.phpt"
     165;;                                 "ext/pcre/tests/cache_limit.phpt"
     166;;                                 "ext/sockets/tests/socket_getopt.phpt"
     167;;                                 "ext/sockets/tests/socket_sendrecvmsg_error.phpt"
     168;;                                 "ext/standard/tests/general_functions/var_export-locale.phpt"
     169;;                                 "ext/standard/tests/general_functions/var_export_basic1.phpt"
     170;;                                 "ext/intl/tests/timezone_getErrorCodeMessage_basic.phpt"
     171;;                                 "ext/intl/tests/timezone_getOffset_error.phpt"
     172;;                                 "sapi/cli/tests/cli_process_title_unix.phpt"
     173;;                                 "sapi/cli/tests/upload_2G.phpt"
     174;;                                 "Zend/tests/concat_003.phpt")))
     175;;                    '())
     176
     177;;              ,@(if (target-ppc64le?)
     178;;                    ;; Drop tests known to fail on powerpc64le.
     179;;                    '((for-each delete-file
     180;;                                (list
     181;;                                 ;; phpdbg watchpoints don't work.
     182;;                                 ;; Bug tracked upstream at:
     183;;                                 ;; https://bugs.php.net/bug.php?id=81408
     184;;                                 "sapi/phpdbg/tests/watch_001.phpt"
     185;;                                 "sapi/phpdbg/tests/watch_003.phpt"
     186;;                                 "sapi/phpdbg/tests/watch_004.phpt"
     187;;                                 "sapi/phpdbg/tests/watch_005.phpt"
     188;;                                 "sapi/phpdbg/tests/watch_006.phpt")))
     189;;                    '())
     190
     191;;              ;; Drop tests that are known to fail.
     192;;              (for-each delete-file
     193;;                        '("ext/posix/tests/posix_getgrgid.phpt"    ; Requires /etc/group.
     194;;                          "ext/posix/tests/posix_getgrnam_basic.phpt" ; Requires /etc/group.
     195;;                          "ext/sockets/tests/bug63000.phpt"        ; Fails to detect OS.
     196;;                          "ext/sockets/tests/socket_shutdown.phpt" ; Requires DNS.
     197;;                          "ext/sockets/tests/socket_send.phpt"     ; Likewise.
     198;;                          "ext/sockets/tests/mcast_ipv4_recv.phpt" ; Requires multicast.
     199;;                          ;; These needs /etc/services.
     200;;                          "ext/standard/tests/general_functions/getservbyname_basic.phpt"
     201;;                          "ext/standard/tests/general_functions/getservbyport_basic.phpt"
     202;;                          "ext/standard/tests/general_functions/getservbyport_variation1.phpt"
     203;;                          ;; And /etc/protocols.
     204;;                          "ext/standard/tests/network/getprotobyname_basic.phpt"
     205;;                          "ext/standard/tests/network/getprotobynumber_basic.phpt"
     206;;                          ;; And exotic locales.
     207;;                          "ext/standard/tests/strings/setlocale_basic1.phpt"
     208;;                          "ext/standard/tests/strings/setlocale_basic2.phpt"
     209;;                          "ext/standard/tests/strings/setlocale_basic3.phpt"
     210;;                          "ext/standard/tests/strings/setlocale_variation1.phpt"
     211;;                          ;; This failing test is skipped on PHP's Travis CI as it is
     212;;                          ;; supposedly inaccurate.
     213;;                          "ext/standard/tests/file/disk_free_space_basic.phpt"
     214;;                          ;; The following test erroneously expect the link
     215;;                          ;; count of a sub-directory to increase compared to
     216;;                          ;; its parent.
     217;;                          "ext/standard/tests/file/lstat_stat_variation8.phpt"
     218;;                          ;; This tests whether microseconds ‘differ enough’ and
     219;;                          ;; fails inconsistently on ‘fast’ machines.
     220;;                          "ext/date/tests/bug73837.phpt"
     221
     222;;                          ;; XXX: These gd tests fails.  Likely because our version
     223;;                          ;; is different from the (patched) bundled one.
     224;;                          ;; Here, gd quits immediately after "fatal libpng error"; while the
     225;;                          ;; test expects it to additionally return a "setjmp" error and warning.
     226;;                          "ext/gd/tests/bug39780_extern.phpt"
     227;;                          "ext/gd/tests/libgd00086_extern.phpt"
     228;;                          ;; Extra newline in gd-png output.
     229;;                          "ext/gd/tests/bug45799.phpt"
     230;;                          ;; Test expects generic "gd warning" but gets the actual function name.
     231;;                          "ext/gd/tests/createfromwbmp2_extern.phpt"
     232;;                          ;; This bug should have been fixed in gd 2.2.2.
     233;;                          ;; Is it a regression?
     234;;                          "ext/gd/tests/bug65148.phpt"
     235;;                          ;; This bug should have been fixed in the gd 2.2
     236;;                          ;; series.  Perhaps a regression introduced by gd
     237;;                          ;; 2.3.0?
     238;;                          "ext/gd/tests/bug66590.phpt"
     239;;                          ;; This bug should have been fixed in the php-5.5
     240;;                          ;; series.  Perhaps a regression introduced by gd
     241;;                          ;; 2.3.0?
     242;;                          "ext/gd/tests/bug70102.phpt"
     243;;                          ;; This bug should have been fixed in the php-5.6
     244;;                          ;; series.  Perhaps a regression introduced by gd
     245;;                          ;; 2.3.0?
     246;;                          "ext/gd/tests/bug73869.phpt"
     247;;                          ;; Some WebP related tests fail.
     248;;                          "ext/gd/tests/webp_basic.phpt"
     249;;                          "ext/gd/tests/imagecreatefromstring_webp.phpt"
     250;;                          ;; Expected error message, but from the wrong function
     251;;                          "ext/gd/tests/bug77269.phpt"
     252;;                          ;; TODO: Enable these when libgd is built with xpm support.
     253;;                          "ext/gd/tests/xpm2gd.phpt"
     254;;                          "ext/gd/tests/xpm2jpg.phpt"
     255;;                          "ext/gd/tests/xpm2png.phpt"
     256;;                          ;; Whitespace difference, probably caused by a very
     257;;                          ;; long store path
     258;;                          "ext/gd/tests/bug77479.phpt"
     259;;                          ;; Expected invalid XBM but got EOF before image was
     260;;                          ;; complete.  It's a warning in both cases and test
     261;;                          ;; result is the same.
     262;;                          "ext/gd/tests/bug77973.phpt"
     263;;                          ;; Test expects uninitialized value to be false, but
     264;;                          ;; instead gets "resource(5) of type (gd)".
     265;;                          "ext/gd/tests/bug79067.phpt"
     266;;                          ;; The following test fails with "The image size
     267;;                          ;; differs: expected 114x115, got 117x117".
     268;;                          "ext/gd/tests/bug79068.phpt"
     269
     270;;                          ;; XXX: These iconv tests have the expected outcome,
     271;;                          ;; but with different error messages.
     272;;                          ;; Expects "illegal character", instead gets "unknown error (84)".
     273;;                          "ext/iconv/tests/bug52211.phpt"
     274;;                          "ext/iconv/tests/bug60494.phpt"
     275;;                          ;; Expects "wrong charset", gets unknown error (22).
     276;;                          "ext/iconv/tests/iconv_strlen_error2.phpt"
     277;;                          "ext/iconv/tests/iconv_substr_error2.phpt"
     278;;                          ;; Expects conversion error, gets "error condition Termsig=11".
     279;;                          "ext/iconv/tests/iconv_strpos_error2.phpt"
     280;;                          "ext/iconv/tests/iconv_strrpos_error2.phpt"
     281;;                          ;; Expects "invalid multibyte sequence" but got
     282;;                          ;; "unknown error".
     283;;                          "ext/iconv/tests/bug76249.phpt"
     284
     285;;                          ;; XXX: These test failures appear legitimate, needs investigation.
     286;;                          ;; open_basedir() restriction failure.
     287;;                          "ext/curl/tests/bug61948-unix.phpt"
     288;;                          ;; Expects a false boolean, gets empty array from glob().
     289;;                          "ext/standard/tests/file/bug41655_1.phpt"
     290;;                          "ext/standard/tests/file/glob_variation5.phpt"
     291;;                          ;; The test expects an Array, but instead get the contents(?).
     292;;                          "ext/gd/tests/bug43073.phpt"
     293;;                          ;; imagettftext() returns wrong coordinates.
     294;;                          "ext/gd/tests/bug48732-mb.phpt"
     295;;                          "ext/gd/tests/bug48732.phpt"
     296;;                          ;; Similarly for imageftbbox().
     297;;                          "ext/gd/tests/bug48801-mb.phpt"
     298;;                          "ext/gd/tests/bug48801.phpt"
     299;;                          ;; Different expected output from imagecolorallocate().
     300;;                          "ext/gd/tests/bug53504.phpt"
     301;;                          ;; Wrong image size after scaling an image.
     302;;                          "ext/gd/tests/bug73272.phpt"
     303;;                          ;; Expects iconv to detect illegal characters, instead gets
     304;;                          ;; "unknown error (84)" and heap corruption(!).
     305;;                          "ext/iconv/tests/bug48147.phpt"
     306;;                          ;; Expects illegal character ".", gets "=?utf-8?Q?."
     307;;                          "ext/iconv/tests/bug51250.phpt"
     308;;                          ;; iconv throws "buffer length exceeded" on some string checks.
     309;;                          "ext/iconv/tests/iconv_mime_encode.phpt"
     310;;                          ;; file_get_contents(): iconv stream filter
     311;;                          ;; ("ISO-8859-1"=>"UTF-8") unknown error.
     312;;                          "ext/standard/tests/file/bug43008.phpt"
     313;;                          ;; Table data not created in sqlite(?).
     314;;                          "ext/pdo_sqlite/tests/bug_42589.phpt"
     315;;                          ;; Expects an Array with 3 preg_matches; gets 0.
     316;;                          "ext/pcre/tests/bug79846.phpt"
     317;;                          ;; Expects an empty Array; gets one with " " in it.
     318;;                          "ext/pcre/tests/bug80118.phpt"
     319;;                          ;; Renicing a process fails in the build environment.
     320;;                          "ext/standard/tests/general_functions/proc_nice_basic.phpt"
     321;;                          ;; Can fail on fast machines?
     322;;                          "Zend/tests/bug74093.phpt"))
     323
     324;;              ;; Accomodate two extra openssl errors flanking the expected one:
     325;;              ;; random number generator:RAND_{load,write}_file:Cannot open file
     326;;              ;; This is due to an invalid $HOME, but changing it in the test
     327;;              ;; still prints the first one & changing it globally is overkill.
     328;;              (substitute* "ext/openssl/tests/bug80747.phpt"
     329;;                ((".*error:%s:key size too small.*" match)
     330;;                 (string-append "%s\n" match "%s\n")))
     331
     332;;              ;; Skip tests requiring network access.
     333;;              (setenv "SKIP_ONLINE_TESTS" "1")
     334;;              ;; Without this variable, 'make test' passes regardless of failures.
     335;;              (setenv "REPORT_EXIT_STATUS" "1")
     336;;              ;; Skip tests requiring I/O facilities that are unavailable in the
     337;;              ;; build environment
     338;;              (setenv "SKIP_IO_CAPTURE_TESTS" "1"))))
     339;;        #:test-target "test"))
     340;;     (inputs
     341;;      `(("aspell" ,aspell)
     342;;        ("bzip2" ,bzip2)
     343;;        ("curl" ,curl)
     344;;        ("cyrus-sasl" ,cyrus-sasl)
     345;;        ("gd" ,gd)
     346;;        ("gdbm" ,gdbm)
     347;;        ("gmp" ,gmp)
     348;;        ("gnutls" ,gnutls)
     349;;        ("icu4c" ,icu4c)
     350;;        ("libgcrypt" ,libgcrypt)
     351;;        ("libpng" ,libpng)
     352;;        ("libsodium" ,libsodium)
     353;;        ("libxml2" ,libxml2)
     354;;        ("libxslt" ,libxslt)
     355;;        ("libx11" ,libx11)
     356;;        ("libzip" ,libzip)
     357;;        ("oniguruma" ,oniguruma)
     358;;        ("openldap" ,openldap)
     359;;        ("openssl" ,openssl)
     360;;        ("pcre" ,pcre2)
     361;;        ("postgresql" ,postgresql)
     362;;        ("readline" ,readline)
     363;;        ("sqlite" ,sqlite)
     364;;        ("tidy" ,tidy)
     365;;        ("zlib" ,zlib)))
     366;;     (native-inputs
     367;;      `(("pkg-config" ,pkg-config)
     368;;        ("bison" ,bison)
     369;;        ("gettext" ,gettext-minimal)
     370;;        ("procps" ,procps)))             ; for tests
     371;;     (synopsis "PHP programming language")
     372;;     (description
     373;;       "PHP (PHP Hypertext Processor) is a server-side (CGI) scripting
     374;; language designed primarily for web development but is also used as
     375;; a general-purpose programming language.  PHP code may be embedded into
     376;; HTML code, or it can be used in combination with various web template
     377;; systems, web content management systems and web frameworks." )
     378;;     (license (list
     379;;               (license:non-copyleft "file://LICENSE")       ; The PHP license.
     380;;               (license:non-copyleft "file://Zend/LICENSE")  ; The Zend license.
     381;;               license:lgpl2.1                               ; ext/mbstring/libmbfl
     382;;               license:lgpl2.1+                              ; ext/bcmath/libbcmath
     383;;               license:bsd-2                                 ; ext/fileinfo/libmagic
     384;;               license:expat))))
  • guix/config.scm

    ra48604f r5516569  
    122122   '("grp:shifts_toggle"
    123123     "caps:ctrl_modifier")))
    124  (kernel linux-libre-5.19)
    125  ;; (kernel-loadable-modules '())
     124 ;; (kernel linux-libre-5.19)
     125 ;; (kernel-loadable-modules '(acpi-call-linux-module))
    126126 (kernel-arguments
    127127   '("consoleblank=0"
     
    168168      "ratpoison"
    169169      "wmname"
    170       "fvwm"
    171       "cagebreak" ;; ratpoison for wayland that works very poorly
    172170      "windowmaker"
    173171      "nss-certs"
     
    213211  (cons*
    214212   (service docker-service-type)
     213   (service thermald-service-type)
    215214   (service virtlog-service-type)
    216215   (service libvirt-service-type
     
    236235                           ,thinkpad-acpi-config)))
    237236
    238    (simple-service 'fancontrol-config etc-service-type
    239                    (list `("fancontrol"
    240                            ,fancontrol-config)))
    241 
    242    (simple-service 'thinkfan-config etc-service-type
    243                    (list `("thinkfan.conf"
    244                            ,thinkfan-config)))
     237   ;; (simple-service 'fancontrol-config etc-service-type
     238   ;;              (list `("fancontrol"
     239   ;;                      ,fancontrol-config)))
     240
     241   ;; (simple-service 'thinkfan-config etc-service-type
     242   ;;              (list `("thinkfan.conf"
     243   ;;                      ,thinkfan-config)))
    245244
    246245   (simple-service 'i915-config etc-service-type
     
    291290   ;;         (keyboard-layout keyboard-layout)))
    292291
    293    (service hurd-vm-service-type
    294             (hurd-vm-configuration
    295              (disk-size (* 8 (expt 2 30))) ;12GiB
    296              (memory-size 1024)))
     292   ;; (service hurd-vm-service-type
     293   ;;          (hurd-vm-configuration
     294   ;;           (disk-size (* 8 (expt 2 30))) ;12GiB
     295   ;;           (memory-size 1024)))
    297296
    298297   (service slim-service-type
     
    305304   
    306305   (modify-services %desktop-services
    307                     (delete gdm-service-type)
    308                     ;; (network-manager-service-type config =>
    309                     ;;                    (network-manager-configuration
    310                     ;;                    (inherit config)
    311                     ;;                    (vpn-plugins (list network-manager-openvpn))))
    312                     ;; (guix-service-type
    313 ;;                   config =>
    314 ;;                   (guix-configuration
    315 ;;                    (inherit config)
    316 ;;                    (substitute-urls
    317 ;;                     (list "http://ci.guix.trop.in"
    318 ;;                                   ;; "https://4zwzi66wwdaalbhgnix55ea3ab4pvvw66ll2ow53kjub6se4q2bclcyd.onion"
    319 ;;                                   "https://bordeaux.guix.gnu.org"
    320 ;;                                   "https://substitutes.nonguix.org"))
    321 ;;                    (authorized-keys
    322 ;;                        (append (list
    323 ;;                              (plain-file "non-guix.pub"
    324 ;; "(public-key
    325 ;;  (ecc
    326 ;;   (curve Ed25519)
    327 ;;   (q #C1FD53E5D4CE971933EC50C9F307AE2171A2D3B52C804642A7A35F84F3A4EA98#)
    328 ;;   )
    329 ;;  )")
    330 ;;                              (plain-file "yunohost.pub"
    331 ;; "(public-key
    332 ;;  (ecc
    333 ;;   (curve Ed25519)
    334 ;;   (q #32F6DB936016E836C4A888F217C430C0F40A051864F59A47FC218F991233750D#)
    335 ;;   )
    336 ;;  )"))
    337 ;;                             %default-authorized-guix-keys))
    338 ;;                    ;; (http-proxy "http://localhost:9250")
    339 ;;                    ))
    340                     )))
     306                    (delete gdm-service-type))))
    341307
    342308 (bootloader
  • guix/user.scm

    ra48604f r5516569  
    158158          "emacs-yasnippet-snippets")
    159159        (specification->package "emacs-xref")
     160        (specification->package "emacs-on-screen")
     161        (specification->package "emacs-tablist")
     162        (specification->package "emacs-imenu-list")
    160163        (specification->package "openvpn")
    161164        (specification->package "tor-client")
  • wm/.ratpoisonrc

    ra48604f r5516569  
    3838bind W workrave
    3939
    40 # Shortcut for running commands
    41 bind semicolon exec colon
    42 
    43 alias cpu exec ratpoison -c "echo $(lscpu | grep 'CPU MHz')"
    44 
    45 # Show cpu info
    46 bind C cpu
    47 
    4840# Emacs-like switching windows
    4941bind o focus
Note: See TracChangeset for help on using the changeset viewer.