;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013 Andreas Enge ;;; Copyright © 2022 Andy Tai ;;; ;;; This file is part of GNU Guix. ;;; ;;; GNU Guix is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 3 of the License, or (at ;;; your option) any later version. ;;; ;;; GNU Guix is distributed in the hope that it will be useful, but ;;; WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see . (define-module (gnu packages lesstif) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) #:use-module (guix git-download) #:use-module (gnu packages autotools) #:use-module (gnu packages c) #:use-module (gnu packages flex) #:use-module (gnu packages fontutils) #:use-module (gnu packages pkg-config) #:use-module (gnu packages xorg)) (define-public lesstif (package (name "lesstif") (version "0.95.2") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/lesstif/lesstif/" version "/lesstif-" version ".tar.bz2")) (sha256 (base32 "1qzpxjjf7ri1jzv71mvq5m9g8hfaj5yzwp30rwxlm6n2b24a6jpb")))) (build-system gnu-build-system) (propagated-inputs (list printproto)) (inputs (list libxext libxt)) (home-page "https://lesstif.sourceforge.net/") (synopsis "Clone of the Motif toolkit for the X window system") (description "Clone of the Motif toolkit for the X window system.") (license license:gpl2+))) ; some files are lgpl2.1+ or x11 (define-public motif ;; This commit is from September 2021 and v2.3.8 from 2017. (let ((commit "59858b0811e8d9dfaeb142f2b5a96f55482be1ed") (revision "0")) (package (name "motif") (version (git-version "2.3.8" revision commit)) (source (origin (method git-fetch) (uri (git-reference (url "https://git.code.sf.net/p/motif/code") (commit commit))) (file-name (git-file-name name version)) (sha256 (base32 "0yycq0vzga9qmgbfzn2d02ilpwxixwdv2j1d8sddl4dripcrg21m")))) (build-system gnu-build-system) (inputs (list libx11 xorgproto)) (propagated-inputs (list fontconfig freetype libxext libxft libxpm libxt xbitmaps)) (native-inputs (list autoconf automake byacc flex libtool pkg-config)) (home-page "https://motif.ics.com/motif") (synopsis "Motif toolkit for the X window system") (description "Motif is a standard graphical user interface, (as defined by the IEEE 1295 specification), used on more than 200 hardware and software platforms. It provides application developers, end users, and system vendors with a widely used environment for standardizing application presentation on a wide range of platforms.") (license license:lgpl2.1+)))) rk', '--share', and '--expose'. (not-config?, user-shell, spawn-home-container): New procedures. (%default-system-profile): New variable. (perform-action): Add #:file-system-mappings, #:container-command, and #:network?; honor them. (process-action): Adjust accordingly. (guix-home)[parse-sub-command]: Add "container". [parse-args]: New procedure. Use it instead of 'parse-command-line'. * tests/guix-home.sh: Add tests. * doc/guix.texi (Declaring the Home Environment): Mention 'guix home container' as a way to test configuration. (Invoking guix home): Document it. Ludovic Courtès 2022-03-18guix home: Implement the 'extension-graph' and 'shepherd-graph' actions....Until now these two actions were silently ignored. * guix/scripts/home.scm (show-help, %options): Add "--graph-backend". (%default-options): Add 'graph-backend' key. (export-extension-graph, export-shepherd-graph): New procedures. (perform-action): Add #:graph-backend parameter. Add cases for the 'extension-graph' and 'shepherd-graph' actions. (process-action): Pass #:graph-backend to 'perform-action'. * guix/scripts/system.scm (service-node-type) (shepherd-service-node-type): Export * tests/guix-home.sh: Add tests. * doc/guix.texi (Invoking guix home): Document it. Ludovic Courtès 2022-03-10tests: Check 'guix home reconfigure' for a second generation....* tests/guix-home.sh: Invoke "guix home reconfigure" a second time with a modify config file and check the result. Ludovic Courtès 2022-03-10tests: Simplify use of 'local-file' in 'tests/guix-home.sh'....* tests/guix-home.sh: Remove 'current-filename' trickery since 'local-file' resolves file names relative to the containing file. Ludovic Courtès 2022-03-10tests: Make sure 'guix home reconfigure' backs up files....* tests/guix-home.sh: Create ~/.bashrc and ~/.config/test.conf prior to 'reconfigure' and check whether they were backed up. Ludovic Courtès 2021-10-09home: services: configuration: Support file-like objects....* gnu/home/services/configuration.scm (interpose): Operate only with file-like objects. (string-or-gexp?): Delete procedure. (serialize-string-or-gexp): Rename to 'serialize-file-like'. (text-config?): Call 'file-like' intead of 'string-or-gexp?'. * guix/scripts/home/import.scm: (generate-bash-module+configuration): Don't call slurp-file-gexp. * gnu/home/services/configuration.scm: Move content ... * gnu/services/configuration.scm: here. * gnu/home/services/shells.scm: Delete (gnu home services configuration). * gnu/home/services/xdg.scm: Same. * gnu/local.mk: Same. * tests/guix-home.sh: Test home-bash-service-type and extension with home-bash-extension. Oleg Pykhalov 2021-10-09tests: Add guix-home.sh....* tests/guix-home.sh: New file. * Makefile.am (SH_TESTS): Add this. Oleg Pykhalov