aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher R. Nelson <christopher.nelson@languidnights.com>2023-12-28 15:05:16 -0500
committerChristopher R. Nelson <christopher.nelson@languidnights.com>2023-12-28 15:26:22 -0500
commitda181b3fd4b62a5be5ea9d9968e2a2665dc401d4 (patch)
treec877b8b7051925b7dea43e9f03673fbe5dcf5052
parentc9899bf46b60a0b16ac27979450f4c9ba4ff7bd8 (diff)
remove extraneous go packages && fixup luastatus
-rw-r--r--crn/packages/cmake-language-server.scm74
-rw-r--r--crn/packages/go-xyz.scm148
-rw-r--r--crn/packages/lua-xyz.scm140
-rw-r--r--crn/packages/patches/typeguard-version.patch9
-rw-r--r--crn/packages/python-xyz.scm264
5 files changed, 201 insertions, 434 deletions
diff --git a/crn/packages/cmake-language-server.scm b/crn/packages/cmake-language-server.scm
deleted file mode 100644
index a7d644f..0000000
--- a/crn/packages/cmake-language-server.scm
+++ /dev/null
@@ -1,74 +0,0 @@
-(define-module (crn packages cmake-language-server))
-(use-modules (guix build utils)
- (guix download)
- (guix git-download)
- (guix packages)
- (guix licenses)
- (guix gexp)
- (guix build-system python)
- (guix build-system pyproject)
- (gnu packages python-check)
- (gnu packages python-crypto)
- (gnu packages python-build)
- (gnu packages check)
- (crn packages)
- ((crn packages python-xyz) #:prefix crn-python:)
- (gnu packages python-web)
- (gnu packages python-xyz)
- ((gnu packages) #:prefix gnu:))
-
-(define-public python-pdm-pep517
- (package
- (name "python-pdm-pep517")
- (version "1.1.3")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "pdm-pep517" version))
- (sha256
- (base32
- "00sxd3bfwqbl9rqcn9shgbsaq6jkj75s47fjdq9bsm4ylkl7f4bn"))))
- (build-system pyproject-build-system)
- (home-page "")
- (synopsis "A PEP 517 backend for PDM that supports PEP 621 metadata")
- (description
- "This package provides a PEP 517 backend for PDM that supports PEP 621 metadata")
- (license expat)
- (arguments (list
- #:phases
- #~(modify-phases %standard-phases
- (delete 'check))))))
-
-(define-public cmake-language-server
- (package
- (name "cmake-language-server")
- (version "0.1.7")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/regen100/cmake-language-server")
- (commit "v0.1.7")))
- (sha256
- (base32
- "1ip6savjyhwizwxqx70ifmznn0j754n19xw4g84i3iz1is5h048k"))))
- (build-system pyproject-build-system)
- (native-inputs (list python-pdm-pep517
- python-pytest
- python-pytest-datadir
- python-pytest-cov
- python-mypy
- python-flake8
- python-black
- python-isort
- crn-python:python-typeguard))
- (propagated-inputs (list crn-python:python-attrs
- crn-python:python-gls
- crn-python:python-lsprotocol))
- (home-page "https://github.com/regen100/cmake-language-server")
- (synopsis "An automated code formatter for Erlang.")
- (description "erlfmt is an opinionated Erlang code formatter. By automating the process of formatting the code, it frees your team up to focus on what the code does, instead of what it looks like.")
- (license asl2.0)
- (arguments
- (list #:phases
- #~(modify-phases %standard-phases
- (delete 'check))))))
diff --git a/crn/packages/go-xyz.scm b/crn/packages/go-xyz.scm
new file mode 100644
index 0000000..f40aee8
--- /dev/null
+++ b/crn/packages/go-xyz.scm
@@ -0,0 +1,148 @@
+(define-module (crn packages go-xyz)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix packages)
+ #:use-module (guix download)
+ #:use-module (guix gexp)
+ #:use-module (guix git-download)
+ #:use-module (guix utils)
+ #:use-module (gnu packages)
+ #:use-module (gnu packages golang)
+ #:use-module (gnu packages golang-check))
+
+(define-public go-1.21
+ (package
+ (inherit go-1.20)
+ (name "go")
+ (version "1.21.4")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/golang/go")
+ (commit (string-append "go" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0xp1mqjbbs53bjg00d4a37af5p1by28xnflj2xi5kchcpmlqn5nz"))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments go-1.20)
+ ;; Source patching phases are broken up into discrete steps to
+ ;; allow future versions to discard individual phases without
+ ;; having to discard all source patching.
+ ((#:phases phases)
+ #~(modify-phases #$phases
+ (delete 'skip-TestGoPathShlibGccgo-tests)
+ (delete 'patch-source)
+ (add-after 'unpack 'patch-os-tests
+ (lambda _
+ (substitute* "src/os/os_test.go"
+ (("/usr/bin") (getcwd))
+ (("/bin/sh") (which "sh")))))
+
+ (add-after 'unpack 'apply-patches
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; Having the patch in the 'patches' field of <origin>
+ ;; breaks the 'TestServeContent' test due to the fact
+ ;; that timestamps are reset. Thus, apply it from here.
+ (invoke "patch" "-p1" "--force" "-i"
+ (assoc-ref inputs "go-fix-script-tests.patch"))))
+
+ (add-after 'unpack 'patch-src/net
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((net-base (assoc-ref inputs "net-base")))
+ (substitute* "src/net/lookup_unix.go"
+ (("/etc/protocols")
+ (string-append net-base "/etc/protocols")))
+ (substitute* "src/net/port_unix.go"
+ (("/etc/services")
+ (string-append net-base "/etc/services"))))))
+
+ (add-after 'unpack 'patch-zoneinfo
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; Add the path to this specific version of tzdata's
+ ;; zoneinfo file to the top of the list to search. We
+ ;; don't want to replace any sources because it will
+ ;; affect how binaries compiled with this Go toolchain
+ ;; behave on non-guix platforms.
+ (substitute* "src/time/zoneinfo_unix.go"
+ (("var platformZoneSources.+" all)
+ (format #f "~a~%\"~a/share/zoneinfo\",~%"
+ all
+ (assoc-ref inputs "tzdata"))))))
+
+ (add-after 'unpack 'patch-cmd/go/testdata/script
+ (lambda _
+ (substitute* "src/cmd/go/testdata/script/cgo_path_space.txt"
+ (("/bin/sh") (which "sh")))))
+
+ (add-after 'enable-external-linking 'enable-external-linking-1.21
+ (lambda _
+ ;; Invoke GCC to link any archives created with GCC
+ ;; (that is, any packages built using 'cgo'), because Go
+ ;; doesn't know how to handle the runpaths but GCC does.
+ ;; Use substitute* rather than. a patch since these
+ ;; files are liable to change often
+ ;;
+ ;; XXX: Replace with GO_EXTLINK_ENABLED=1 or similar
+ ;; when <https://github.com/golang/go/issues/31544>
+ ;; and/or <https://github.com/golang/go/issues/43525>
+ ;; are resolved.
+ (substitute* "src/cmd/link/internal/ld/config.go"
+ (("\\(iscgo && \\(.+\\)") "iscgo"))
+ (substitute* "src/internal/testenv/testenv.go"
+ (("!CanInternalLink.+") "true {\n"))
+ (substitute* "src/syscall/exec_linux_test.go"
+ (("testenv.MustHaveExecPath\\(t, \"whoami\"\\)")
+ "t.Skipf(\"no passwd file present\")"))))
+
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; Notably, we do not install archives (180M), which Go
+ ;; will happily recompile quickly (and cache) if needed,
+ ;; almost surely faster than they could be substituted.
+ ;;
+ ;; The main motivation for pre-compiled archives is to
+ ;; use libc-linked `net' or `os' packages without a C
+ ;; compiler, but on Guix a C compiler is necessary to
+ ;; properly link the final binaries anyway. Many build
+ ;; flags also invalidate these pre-compiled archives, so
+ ;; in practice Go often recompiles them anyway.
+ ;;
+ ;; Upstream is also planning to no longer install these
+ ;; archives: <https://github.com/golang/go/issues/47257>
+ ;;
+ ;; When necessary, a custom pre-compiled library package
+ ;; can be created with `#:import-path "std"' and used
+ ;; with `-pkgdir'.
+ ;;
+ ;; When moving files into place, any files that come
+ ;; from GOROOT should remain in GOROOT to continue
+ ;; functioning. If they need to be referenced from some
+ ;; other directory, they need to be symlinked from
+ ;; GOROOT. For more information, please see
+ ;; https://github.com/golang/go/issues/61921
+ (let* ((out (assoc-ref outputs "out"))
+ (tests (assoc-ref outputs "tests")))
+ (for-each
+ (lambda (file)
+ (copy-recursively file (string-append out "/lib/go/" file)))
+ '("bin" "go.env" "lib" "VERSION" "pkg/include" "pkg/tool"))
+
+ (symlink "lib/go/bin" (string-append out "/bin"))
+
+ (for-each
+ (match-lambda
+ ((file dest output)
+ ;; Copy to output/dest and symlink from
+ ;; output/lib/go/file.
+ (let ((file* (string-append output "/lib/go/" file))
+ (dest* (string-append output "/" dest)))
+ (copy-recursively file dest*)
+ (mkdir-p (dirname file*))
+ (symlink (string-append "../../" dest) file*))))
+ `(("src" "share/go/src" ,out)
+ ("misc" "share/go/misc" ,out)
+ ("doc" "share/doc/go/doc" ,out)
+ ("api" "share/go/api" ,tests)
+ ("test" "share/go/test" ,tests))))))))))))
+
+(define-public go-std-1.21 (make-go-std go-1.21))
diff --git a/crn/packages/lua-xyz.scm b/crn/packages/lua-xyz.scm
index 9d5b2a3..286ecd3 100644
--- a/crn/packages/lua-xyz.scm
+++ b/crn/packages/lua-xyz.scm
@@ -1,94 +1,60 @@
(define-module (crn packages lua-xyz))
(use-modules (guix git)
- (guix git-download)
- (guix gexp)
- (guix download)
- (guix packages)
- (guix licenses)
- (guix build-system copy)
- (guix build-system cmake)
- (guix utils)
- (gnu packages)
- (gnu packages lua))
+ (guix git-download)
+ (guix gexp)
+ (guix download)
+ (guix packages)
+ (guix licenses)
+ (guix build-system cmake)
+ (guix utils)
+ (gnu packages)
+ (gnu packages bash)
+ (gnu packages glib)
+ (gnu packages linux)
+ (gnu packages lua)
+ (gnu packages pkg-config)
+ (gnu packages python-xyz)
+ (gnu packages valgrind)
+ (gnu packages xorg)
+ (gnu packages web))
(define-public luastatus
-(package
- (name "luastatus")
- (version "0.6.0")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/shdown/luastatus")
- (commit "8d01bdf")))
- (sha256
- (base32 "0bwmdwqwsvr4jalcm4hpdwy1wsrbrl414ig69lwai9h2ran6ni3h"))))
- (build-system cmake-build-system)
- (native-inputs (specifications->packages (list "lua" "pkg-config")))
- (inputs (specifications->packages
- (list "alsa-lib"
- "xcb-util"
- "yajl"
- "glib"
- "libnl"
- "eudev"
- "libx11"
- "libxcb"
- "xcb-util-wm"
- "python-docutils")))
- (home-page "https://github.com/shdown/luastatus")
- (synopsis "luastatus is a universal status bar content generator.")
- (description "luastatus is a universal status bar content generator. It allows you to configure the way the data from event sources is processed and shown, with Lua.")
- (license gpl3)
- (arguments
- (list #:phases
- #~(modify-phases %standard-phases
- (delete 'check))))))
-
-(define-public digestif
(package
- (name "digestif")
- (version "0.5.1")
+ (name "luastatus")
+ (version "0.6.0")
(source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/astoff/digestif")
- (commit "v0.5.1")))
- (sha256
- (base32 "1jb8h7yks8bp74jpq85sz69d2k69vhp6gliajz8ximl3hbhdq17i"))))
- (build-system copy-build-system)
- (inputs (specifications->packages
- (list "lua@5.3.5"
- "lua-filesystem"
- "lua-lpeg")))
- (home-page "https://github.com/astoff/digestif")
- (synopsis "A language server for TeX and friends")
- (description "Digestif is a code analyzer, and a language server, for LaTeX, ConTeXt et caterva. It provides context-sensitive completion, documentation, code navigation, and related functionality to any text editor that speaks the LSP protocol.")
- (license gpl3)
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/shdown/luastatus")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1xyh220par0f8l8ylh6jx0qzskafwy1hi0v1dw22qs0g6nkbj4y2"))))
+ (build-system cmake-build-system)
+ (native-inputs (list lua
+ pkg-config
+ python-docutils
+ valgrind))
+ (inputs (list alsa-lib
+ bash
+ xcb-util
+ yajl
+ glib
+ libnl
+ eudev
+ libx11
+ libxcb
+ xcb-util-wm))
(arguments
- `(
- #:install-plan
- `(("bin/digestif" "bin/")
- ("digestif/" ,(string-append "share/lua/" ,(version-major+minor (package-version lua)) "/digestif"))
- ("data/" "share/digestif"))
- #:phases
- (modify-phases %standard-phases
- (add-after 'install 'wrap
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let* ((digestif (assoc-ref outputs "out"))
- (lua (assoc-ref inputs "lua"))
- (lua-lpeg (assoc-ref inputs "lua-lpeg"))
- (lua-filesystem (assoc-ref inputs "lua-filesystem"))
- (lua-version ,(version-major+minor (package-version lua))))
- (wrap-program (string-append digestif "/bin/digestif")
- `("LUA_PATH" ";" suffix
- (,(format #f "~a/share/lua/~a/?.lua" digestif lua-version)))
- `("DIGESTIF_DATA" suffix (,(format #f "~a/share/digestif" digestif)))
- `("LUA_PATH" ";" suffix
- (,(format #f "~a/share/lua/~a/?.lua" lua-lpeg lua-version)))
- `("LUA_CPATH" ";" suffix
- (,(format #f "~a/lib/lua/~a/?.so" lua-lpeg lua-version)))
- `("LUA_PATH" ";" suffix
- (,(format #f "~a/share/lua/~a/?.lua" lua-filesystem lua-version)))
- `("LUA_CPATH" ";" suffix
- (,(format #f "~a/lib/lua/~a/?.so" lua-filesystem lua-version))))
- #t))))))))
+ `(#:phases (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "../source/tests/misc.sh" ".")
+ (invoke "../source/tests/torture.sh" ".")))))))
+ (home-page "https://github.com/shdown/luastatus")
+ (synopsis "Universal status bar content generator")
+ (description "Luastatus is a universal status bar content generator.
+It allows you to configure the way the data from event sources is
+processed and shown, with Lua.")
+ (license gpl3)))
diff --git a/crn/packages/patches/typeguard-version.patch b/crn/packages/patches/typeguard-version.patch
deleted file mode 100644
index adef1e5..0000000
--- a/crn/packages/patches/typeguard-version.patch
+++ /dev/null
@@ -1,9 +0,0 @@
---- a/setup.cfg 2023-03-25 12:48:39.885304905 -0400
-+++ b/setup.cfg 2023-03-25 12:49:00.593286388 -0400
-@@ -1,5 +1,6 @@
- [metadata]
- name = typeguard
-+version = 2.13.3
- description = Run-time type checker for Python
- long_description = file: README.rst
- author = Alex Grönholm
diff --git a/crn/packages/python-xyz.scm b/crn/packages/python-xyz.scm
deleted file mode 100644
index 85f66fa..0000000
--- a/crn/packages/python-xyz.scm
+++ /dev/null
@@ -1,264 +0,0 @@
-(define-module (crn packages python-xyz))
-(use-modules (crn packages)
- (guix build utils)
- (guix download)
- (guix git-download)
- (guix gexp)
- (guix packages)
- (guix licenses)
- (guix build-system copy)
- (guix build-system python)
- (guix build-system pyproject)
- ((gnu packages) #:prefix gnu:)
- (gnu packages check)
- (gnu packages python-build)
- (gnu packages python-check)
- (gnu packages python-xyz)
- (gnu packages python-web))
-
-(define-public python-typeguard
- (package
- (name "python-typeguard")
- (version "2.13.3")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "typeguard" version))
- (sha256
- (base32
- "1i5qzcyw2715h1g1hvj7fxykck2bkxyshpngjr3nfcx1lf6smv80"))
- (patches (crn/search-patches "typeguard-version.patch"))))
- (build-system python-build-system)
- (native-inputs (list python-mypy python-pytest python-typing-extensions))
- (home-page "")
- (synopsis "Run-time type checker for Python")
- (description "Run-time type checker for Python")
- (license expat)))
-
-(define-public python-lsprotocol
- (package
- (name "python-lsprotocol")
- (version "2022.0.0a10")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "lsprotocol" version))
- (sha256
- (base32
- "0l1wg3hp5agvy8dy5345bq7yll7xxxji4xp37sgrgv54nxq8gmrc"))))
- (build-system pyproject-build-system)
- (native-inputs (list python-flit-core))
- (inputs (list python-attrs))
- (propagated-inputs (list python-attrs python-cattrs))
- (home-page "")
- (synopsis "Python implementation of the Language Server Protocol.")
- (description "Python implementation of the Language Server Protocol.")
- (license expat)
- (arguments
- (list #:phases
- #~(modify-phases %standard-phases
- (delete 'check))))))
-
-(define-public python-gls
- (package
- (name "python-gls")
- (version "1.0.1")
- (source (origin
- (method url-fetch)
- (uri "https://files.pythonhosted.org/packages/8e/27/58ff0f76b379fc11a1d03e8d4b4e96fd0abb463d27709a7fb4193bcdbbc4/pygls-1.0.1.tar.gz")
- (sha256
- (base32
- "1clcnx1s9knh6dgmf4ykrca7yq19w6kjphsvfmffp426pgfrivpk"))))
- (build-system python-build-system)
- (native-inputs (list python-toml python-setuptools-scm python-wheel python-typeguard))
- (propagated-inputs (list python-lsprotocol))
- (home-page "https://github.com/openlawlibrary/pygls")
- (synopsis "A pythonic generic lanuage server.")
- (description "pygls (pronounced like \"pie glass\") is a pythonic generic implementation of the Language Server Protocol for use as a foundation for writing your own Language Servers in just a few lines of code.")
- (license asl2.0)
- (arguments
- (list
- #:phases
- #~(modify-phases %standard-phases
- (delete 'check))))))
-
-(define-public python-attrs
- (package
- (name "python-attrs")
- (version "22.2.0")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "attrs" version))
- (sha256
- (base32
- "16az31ccld8s3xj7q1iw6a402sf92lfpvcwdyq1kr6815zy7n8n9"))))
- (build-system python-build-system)
- (native-inputs (list
- python-cloudpickle
- python-hypothesis
- python-mypy
- python-pympler
- python-zope-interface))
- (home-page "https://www.attrs.org/")
- (synopsis "Classes Without Boilerplate")
- (description "Classes Without Boilerplate")
- (license expat)
- (arguments
- (list #:phases
- #~(modify-phases %standard-phases
- (delete 'check))))))
-
-(define-public python-cattrs
- (package
- (name "python-cattrs")
- (version "22.2.0")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "cattrs" version))
- (sha256
- (base32
- "0vfggbggsdni4hdis17xr8z9cnyw5klnrdp7avv3qhlr4djdbvph"))))
- (build-system python-build-system)
- (propagated-inputs (list python-attrs python-exceptiongroup
- python-typing-extensions))
- (home-page "https://github.com/python-attrs/cattrs")
- (synopsis "Composable complex class support for attrs and dataclasses.")
- (description "Composable complex class support for attrs and dataclasses.")
- (license expat)))
-
-(define-public sway-contrib
- (package
- (name "sway-contrib")
- (version "1.8")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/swaywm/sway")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "17dqr2lkmcv2ssp7vky27zw599i77whpb1aqh1s6kl8a8vkrz6mg"))))
-
- (build-system python-build-system)
- (native-inputs (list python-mypy python-pytest python-typing-extensions))
- (home-page "")
- (synopsis "Run-time type checker for Python")
- (description "Run-time type checker for Python")
- (license expat)))
-
-(define-public python-lsprotocol
- (package
- (name "python-lsprotocol")
- (version "2022.0.0a10")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "lsprotocol" version))
- (sha256
- (base32
- "0l1wg3hp5agvy8dy5345bq7yll7xxxji4xp37sgrgv54nxq8gmrc"))))
- (build-system pyproject-build-system)
- (native-inputs (list python-flit-core))
- (inputs (list python-attrs))
- (propagated-inputs (list python-attrs python-cattrs))
- (home-page "")
- (synopsis "Python implementation of the Language Server Protocol.")
- (description "Python implementation of the Language Server Protocol.")
- (license expat)
- (arguments
- (list #:phases
- #~(modify-phases %standard-phases
- (delete 'check))))))
-
-(define-public python-gls
- (package
- (name "python-gls")
- (version "1.0.1")
- (source (origin
- (method url-fetch)
- (uri "https://files.pythonhosted.org/packages/8e/27/58ff0f76b379fc11a1d03e8d4b4e96fd0abb463d27709a7fb4193bcdbbc4/pygls-1.0.1.tar.gz")
- (sha256
- (base32
- "1clcnx1s9knh6dgmf4ykrca7yq19w6kjphsvfmffp426pgfrivpk"))))
- (build-system python-build-system)
- (native-inputs (list python-toml python-setuptools-scm python-wheel python-typeguard))
- (propagated-inputs (list python-lsprotocol))
- (home-page "https://github.com/openlawlibrary/pygls")
- (synopsis "A pythonic generic lanuage server.")
- (description "pygls (pronounced like \"pie glass\") is a pythonic generic implementation of the Language Server Protocol for use as a foundation for writing your own Language Servers in just a few lines of code.")
- (license asl2.0)
- (arguments
- (list
- #:phases
- #~(modify-phases %standard-phases
- (delete 'check))))))
-
-(define-public python-attrs
- (package
- (name "python-attrs")
- (version "22.2.0")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "attrs" version))
- (sha256
- (base32
- "16az31ccld8s3xj7q1iw6a402sf92lfpvcwdyq1kr6815zy7n8n9"))))
- (build-system python-build-system)
- (native-inputs (list
- python-cloudpickle
- python-hypothesis
- python-mypy
- python-pympler
- python-zope-interface))
- (home-page "https://www.attrs.org/")
- (synopsis "Classes Without Boilerplate")
- (description "Classes Without Boilerplate")
- (license expat)
- (arguments
- (list #:phases
- #~(modify-phases %standard-phases
- (delete 'check))))))
-
-(define-public python-cattrs
- (package
- (name "python-cattrs")
- (version "22.2.0")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "cattrs" version))
- (sha256
- (base32
- "0vfggbggsdni4hdis17xr8z9cnyw5klnrdp7avv3qhlr4djdbvph"))))
- (build-system python-build-system)
- (propagated-inputs (list python-attrs python-exceptiongroup
- python-typing-extensions))
- (home-page "https://github.com/python-attrs/cattrs")
- (synopsis "Composable complex class support for attrs and dataclasses.")
- (description "Composable complex class support for attrs and dataclasses.")
- (license expat)))
-
-(define-public sway-contrib
- (package
- (name "sway-contrib")
- (version "1.8")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/swaywm/sway")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "17dqr2lkmcv2ssp7vky27zw599i77whpb1aqh1s6kl8a8vkrz6mg"))
- (patches (crn/search-patches "sway-contrib-python.patch"))))
- (build-system copy-build-system)
- (arguments
- '(#:install-plan
- '(("contrib" "bin"))))
- (inputs (gnu:specifications->packages (list "sway"
- "python")))
- (propagated-inputs (gnu:specifications->packages (list "python-i3ipc"
- "jq"
- "grim")))
- (home-page "https://github.com/swaywm/sway")
- (synopsis "transparency for inactive windows in sway")
- (description "transparency for inactive windows in sway")
- (license expat)))