mirror of
https://codeberg.org/guix/guix.git
synced 2026-01-25 20:15:25 -06:00
Moved to <https://codeberg.org/guix/guix-rust-past-crates>. * gnu/packages/crates-apple.scm: Delete file. * gnu/packages/crates-audio.scm: Delete file. * gnu/packages/crates-check.scm: Delete file. * gnu/packages/crates-compression.scm: Delete file. * gnu/packages/crates-crypto.scm: Delete file. * gnu/packages/crates-database.scm: Delete file. * gnu/packages/crates-graphics.scm: Delete file. * gnu/packages/crates-gtk.scm: Delete file. * gnu/packages/crates-io.scm: Delete file. * gnu/packages/crates-shell.scm: Delete file. * gnu/packages/crates-tls.scm: Delete file. * gnu/packages/crates-vcs.scm: Delete file. * gnu/packages/crates-web.scm: Delete file. * gnu/packages/crates-windows.scm: Delete file. * gnu/packages/patches/rust-ndarray-0.13-remove-blas-src.patch: Delete file. * gnu/packages/patches/rust-ndarray-0.14-remove-blas-src.patch: Delete file. * gnu/packages/patches/rust-ndarray-remove-blas-src-dep.patch: Delete file. * gnu/packages/patches/rust-nettle-disable-vendor.patch: Delete file. * gnu/packages/patches/rust-onenote-parser-for-clamav-deps.patch: Delete file. * gnu/packages/patches/rust-onenote-parser-for-clamav-parse-in-memory-buffer.patch: Delete file. * gnu/packages/patches/rust-onenote-parser-for-clamav-property-type.patch: Delete file. * gnu/packages/patches/rust-poem-1-fewer-deps.patch: Delete file. * gnu/packages/patches/rust-rspec-1-remove-clippy.patch: Delete file. * gnu/packages/patches/rust-trash-2-update-windows.patch: Delete file. * gnu/packages/patches/rust-wl-clipboard-rs-newer-wl.patch: Delete file. * gnu/local.mk (GNU_SYSTEM_MODULES, dist_patch_DATA): Remove them. * gnu/packages/admin.scm: Remove their imports. * gnu/packages/antivirus.scm: Likewise. * gnu/packages/audio.scm: Likewise. * gnu/packages/bioinformatics.scm: Likewise. * gnu/packages/check.scm: Likewise. * gnu/packages/crypto.scm: Likewise. * gnu/packages/file-systems.scm: Likewise. * gnu/packages/gnome.scm: Likewise. * gnu/packages/language.scm: Likewise. * gnu/packages/librewolf.scm: Likewise. * gnu/packages/nss.scm: Likewise. * gnu/packages/nushell.scm: Likewise. * gnu/packages/python-compression.scm: Likewise. * gnu/packages/python-crypto.scm: Likewise. * gnu/packages/python-science.scm: Likewise. * gnu/packages/python-web.scm: Likewise. * gnu/packages/python-xyz.scm: Likewise. * gnu/packages/rust-apps.scm: Likewise. * gnu/packages/security-token.scm: Likewise. * gnu/packages/shellutils.scm: Likewise. * gnu/packages/suckless.scm: Likewise. * gnu/packages/syndication.scm: Likewise. * gnu/packages/terminals.scm: Likewise. * gnu/packages/text-editors.scm: Likewise. * gnu/packages/tmux.scm: Likewise. * gnu/packages/tree-sitter.scm: Likewise. * gnu/packages/version-control.scm: Likewise. * gnu/packages/video.scm: Likewise. * gnu/packages/virtualization.scm: Likewise. * gnu/packages/web.scm: Likewise. * gnu/packages/wm.scm: Likewise. Deleted variables: rust-block-0.1, rust-block-sys-0.2, rust-block-sys-0.1, rust-block2-0.5, rust-block2-0.3, rust-block2-0.2, rust-cargo-credential-macos-keychain-0.4, rust-cocoa-0.25, rust-cocoa-0.24, rust-cocoa-0.23, rust-cocoa-0.22, rust-cocoa-0.20, rust-cocoa-0.19, rust-cocoa-0.18, rust-cocoa-foundation-0.1, rust-commoncrypto-0.2, rust-commoncrypto-sys-0.2, rust-core-foundation-0.10, rust-core-foundation-0.9, rust-core-foundation-0.7, rust-core-foundation-0.6, rust-core-foundation-sys-0.8, rust-core-foundation-sys-0.7, rust-core-foundation-sys-0.6, rust-core-text-20, rust-core-text-19, rust-coreaudio-rs-0.10, rust-coreaudio-sys-0.2, rust-dispatch-0.2, rust-dispatch-0.1, rust-fat-macho-0.4, rust-fsevent-2, rust-fsevent-0.4, rust-fsevent-sys-4, rust-fsevent-sys-3, rust-fsevent-sys-2, rust-icrate-0.0.4, rust-mac-notification-sys-0.6, rust-mach-0.3, rust-mach-0.2, rust-mach-o-sys-0.1, rust-mach2-0.4, rust-metal-0.18, rust-objc-0.2, rust-objc-exception-0.1, rust-objc-foundation-0.1, rust-objc-id-0.1, rust-objc-sys-0.3, rust-objc-sys-0.2, rust-objc-test-utils-0.0.2, rust-objc2-0.5, rust-objc2-0.4, rust-objc2-0.3, rust-objc2-app-kit-0.2, rust-objc2-cloud-kit-0.2, rust-objc2-contacts-0.2, rust-objc2-core-data-0.2, rust-objc2-core-image-0.2, rust-objc2-core-location-0.2, rust-objc2-encode-4, rust-objc2-encode-3, rust-objc2-encode-2, rust-objc2-foundation-0.2, rust-objc2-link-presentation-0.2, rust-objc2-metal-0.2, rust-objc2-proc-macros-0.1, rust-objc2-quartz-core-0.2, rust-objc2-symbols-0.2, rust-objc2-ui-kit-0.2, rust-objc2-uniform-type-identifiers-0.2, rust-objc2-user-notifications-0.2, rust-security-framework-3, rust-security-framework-2, rust-security-framework-1, rust-security-framework-0.3, rust-security-framework-0.2.4-yanked, rust-security-framework-0.2, rust-security-framework-sys-2, rust-security-framework-sys-1, rust-security-framework-sys-0.3, rust-security-framework-sys-0.2.4-yanked, rust-security-framework-sys-0.2, rust-system-configuration-0.6, rust-system-configuration-0.5, rust-system-configuration-sys-0.6, rust-system-configuration-sys-0.5, rust-alsa-0.9, rust-alsa-0.8, rust-alsa-0.7, rust-alsa-0.6, rust-alsa-sys-0.3, rust-asio-sys-0.2, rust-cpal-0.13, rust-jack-0.10, rust-jack-0.8, rust-jack-sys-0.4, rust-jack-sys-0.2, rust-lewton-0.10, rust-libpulse-binding-2, rust-libpulse-simple-binding-2, rust-libpulse-simple-sys-1, rust-libpulse-sys-1, rust-librespot-audio-0.4, rust-librespot-connect-0.4, rust-librespot-core-0.4, rust-librespot-discovery-0.4, rust-librespot-metadata-0.4, rust-librespot-playback-0.4, rust-librespot-protocol-0.4, rust-lv2-0.6, rust-lv2-atom-2, rust-lv2-core-3, rust-lv2-core-derive-2, rust-lv2-midi-1, rust-lv2-state-2, rust-lv2-sys-2, rust-lv2-time-0.1, rust-lv2-units-0.1, rust-lv2-urid-2, rust-lv2-worker-0.1, rust-minimp3-0.5, rust-minimp3-sys-0.3, rust-oboe-0.4, rust-oboe-sys-0.4, rust-ogg-0.8, rust-pipewire-0.7, rust-pipewire-sys-0.7, rust-portaudio-rs-0.3, rust-portaudio-sys-0.1, rust-rodio-0.15, rust-symphonia-0.4, rust-symphonia-bundle-flac-0.4, rust-symphonia-bundle-mp3-0.4, rust-symphonia-codec-aac-0.4, rust-symphonia-codec-pcm-0.4, rust-symphonia-codec-vorbis-0.4, rust-symphonia-core-0.4, rust-symphonia-format-isomp4-0.4, rust-symphonia-format-ogg-0.4, rust-symphonia-format-wav-0.4, rust-symphonia-metadata-0.4, rust-symphonia-utils-xiph-0.4, rust-urid-0.1, rust-urid-derive-0.1, rust-wmidi-3, rust-criterion-0.5, rust-criterion-0.4, rust-criterion-0.3, rust-criterion-0.2, rust-criterion-cycles-per-byte-0.1, rust-criterion-plot-0.5, rust-criterion-plot-0.4, rust-criterion-plot-0.3, rust-mark-flaky-tests-1, rust-mark-flaky-tests-macro-1, rust-mock-instant-0.3, rust-mock-instant-0.2, rust-mockall-0.13, rust-mockall-0.11, rust-mockall-derive-0.13, rust-mockall-derive-0.11, rust-mockall-double-0.3, rust-nextest-filtering-0.12, rust-nextest-metadata-0.12, rust-nextest-runner-0.70, rust-nextest-workspace-hack-0.1, rust-quickcheck-1, rust-quickcheck-0.9, rust-quickcheck-0.8, rust-quickcheck-0.7, rust-quickcheck-0.6, rust-quickcheck-0.5, rust-quickcheck-0.4, rust-quickcheck-0.2, rust-quickcheck-macros-1, rust-quickcheck-macros-0.9, rust-quickcheck-macros-0.8, rust-tango-bench-0.6, rust-tiny-bench-0.3, rust-autocompress-0.2, rust-brotli-7, rust-brotli-6, rust-brotli-3, rust-brotli-decompressor-4, rust-brotli-decompressor-2, rust-brotli-sys-0.3, rust-brotli2-0.3, rust-bzip2-0.4, rust-bzip2-rs-0.1, rust-bzip2-sys-0.1, rust-cloudflare-zlib-sys-0.3, rust-deflate-1, rust-deflate-0.9, rust-deflate-0.8, rust-deflate-0.7, rust-deflate64-0.1, rust-delharc-0.6, rust-fdeflate-0.3, rust-flate2-1, rust-gzip-header-1, rust-gzip-header-0.3, rust-gzp-0.11, rust-inflate-0.4, rust-libdeflate-sys-1, rust-libdeflate-sys-0.12, rust-libdeflater-1, rust-libdeflater-0.12, rust-libflate-2, rust-libflate-1, rust-libflate-lz77-2, rust-libflate-lz77-1, rust-libz-ng-sys-1, rust-libz-rs-sys-0.3, rust-libz-sys-1, rust-lz4-1, rust-lz4-compress-0.1, rust-lz4-flex-0.11, rust-lz4-flex-0.9, rust-lz4-sys-1, rust-lzma-rs-0.3, rust-lzma-rust-0.1, rust-lzma-sys-0.1, rust-lzw-0.10, rust-lzzzz-1, rust-miniz-oxide-0.8, rust-miniz-oxide-0.7, rust-miniz-oxide-0.6, rust-miniz-oxide-0.5, rust-miniz-oxide-0.4, rust-miniz-oxide-0.3, rust-rust-lzma-0.5, rust-ruzstd-0.7, rust-ruzstd-0.6, rust-ruzstd-0.5, rust-ruzstd-0.4, rust-sevenz-rust-0.5, rust-tar-0.4, rust-unrar-0.5, rust-unrar-sys-0.5, rust-xz-0.1, rust-xz2-0.1, rust-zip-2, rust-zip-0.6, rust-zlib-rs-0.4, rust-zlib-rs-0.3, rust-zopfli-0.8, rust-zstd-0.13, rust-zstd-0.12, rust-zstd-0.11, rust-zstd-0.9, rust-zstd-safe-7, rust-zstd-safe-6, rust-zstd-safe-5, rust-zstd-safe-4, rust-zstd-seekable-0.1, rust-zstd-sys-2, rust-zstd-sys-1, rust-aead-0.5, rust-aead-0.4, rust-aead-0.3, rust-aes-0.8, rust-aes-0.7, rust-aes-0.6, rust-aes-0.4, rust-aes-0.3.2-yanked, rust-aes-0.3, rust-aes-ctr-0.6, rust-aes-gcm-0.10, rust-aes-gcm-0.9, rust-aes-gcm-0.8, rust-aes-soft-0.6, rust-aes-soft-0.4.0-yanked, rust-aes-soft-0.4, rust-aes-soft-0.3.3-yanked, rust-aes-soft-0.3, rust-aesni-0.10, rust-aesni-0.7.0-yanked, rust-aesni-0.7, rust-aesni-0.6.0-yanked, rust-aesni-0.6, rust-argon2-0.5, rust-base16ct-0.2, rust-base16ct-0.1, rust-base64ct-1, rust-bcrypt-pbkdf-0.10, rust-bcrypt-pbkdf-0.6, rust-blake2-0.10, rust-blake2-0.9, rust-blake2-0.8, rust-blake2b-simd-1, rust-blake2b-simd-0.5, rust-blakeout-0.3, rust-block-cipher-0.7, rust-block-cipher-trait-0.6.2-yanked, rust-block-cipher-trait-0.6, rust-block-cipher-trait-0.4.2-yanked, rust-block-cipher-trait-0.4, rust-block-modes-0.8, rust-blowfish-0.9, rust-blowfish-0.8, rust-botan-0.10, rust-botan-0.8, rust-botan-src-0.30101, rust-botan-src-0.21703, rust-botan-sys-0.10, rust-botan-sys-0.8, rust-c2-chacha-0.2, rust-camellia-0.1, rust-cast5-0.11, rust-cbc-0.1, rust-cfb-mode-0.8, rust-chacha20-0.9, rust-chacha20-0.8, rust-chacha20-0.7, rust-chacha20poly1305-0.10, rust-chacha20poly1305-0.9, rust-chacha20poly1305-0.8, rust-cipher-0.4, rust-cipher-0.3, rust-cipher-0.2, rust-cmac-0.7, rust-crypto-bigint-0.5, rust-crypto-bigint-0.4, rust-crypto-bigint-0.3, rust-crypto-bigint-0.2, rust-crypto-box-0.8, rust-crypto-common-0.1, rust-crypto-mac-0.11, rust-crypto-mac-0.10, rust-crypto-mac-0.8, rust-crypto-mac-0.7, rust-crypto-mac-0.4.0-yanked, rust-crypto-mac-0.4, rust-crypto-secretbox-0.1, rust-crypto-tests-0.5, rust-cryptovec-0.6, rust-csrf-0.4, rust-ctr-0.9, rust-ctr-0.8, rust-ctr-0.6, rust-curve25519-dalek-4, rust-curve25519-dalek-3, rust-curve25519-dalek-derive-0.1, rust-curve25519-dalek-ng-4, rust-des-0.8, rust-des-0.7, rust-digest-0.10, rust-digest-0.9, rust-digest-0.8, rust-digest-0.6, rust-dsa-0.6, rust-eax-0.5, rust-ecdsa-0.16, rust-ecies-ed25519-0.5, rust-ecies-ed25519-ng-0.5, rust-ed25519-2, rust-ed25519-1, rust-ed25519-compact-2, rust-ed25519-dalek-2, rust-ed25519-dalek-1, rust-ed25519-zebra-2, rust-ed25519-zebra-1, rust-elliptic-curve-0.13, rust-fiat-crypto-0.2, rust-fiat-crypto-0.1, rust-ghash-0.5, rust-ghash-0.4, rust-ghash-0.3, rust-hkdf-0.12, rust-hkdf-0.11, rust-hkdf-0.10, rust-hmac-0.12, rust-hmac-0.11, rust-hmac-0.10, rust-hmac-sha1-0.1, rust-k256-0.13, rust-kuznyechik-0.8, rust-libsodium-sys-0.2, rust-mas-jose-0.7, rust-md-5-0.10, rust-md-5-0.9, rust-md5-0.7, rust-md5-0.6, rust-md5-0.3, rust-md5-asm-0.5, rust-md5-asm-0.4, rust-nettle-7, rust-nettle-sys-2, rust-oo7-0.2, rust-orion-0.17, rust-p256-0.13, rust-p384-0.13, rust-p521-0.13, rust-pbkdf2-0.12, rust-pbkdf2-0.11, rust-pbkdf2-0.10, rust-pbkdf2-0.9, rust-pbkdf2-0.8, rust-pem-rfc7468-0.7, rust-pem-rfc7468-0.6, rust-pem-rfc7468-0.3, rust-pem-rfc7468-0.2, rust-pkcs1-0.7, rust-pkcs1-0.3, rust-pkcs1-0.2, rust-pkcs5-0.7, rust-pkcs5-0.5, rust-pkcs5-0.4, rust-pkcs5-0.3, rust-pkcs7-0.4, rust-pkcs8-0.10, rust-pkcs8-0.9, rust-pkcs8-0.8, rust-pkcs8-0.7, rust-poly1305-0.8, rust-poly1305-0.7, rust-polyval-0.6, rust-polyval-0.5, rust-polyval-0.4, rust-ppv-lite86-0.2, rust-primeorder-0.13, rust-rfc6979-0.4, rust-rfc6979-0.3, rust-ring-0.17, rust-ring-0.16, rust-ring-0.14, rust-ring-0.13, rust-ring-compat-0.8, rust-ripemd-0.1, rust-rsa-0.9, rust-rsa-0.6, rust-rsa-0.5, rust-rust-argon2-2, rust-rust-argon2-0.8, rust-salsa20-0.10, rust-salsa20-0.9, rust-scrypt-0.11, rust-scrypt-0.10, rust-scrypt-0.8, rust-sec1-0.7, rust-secp256k1-sys-0.4, rust-serdect-0.2, rust-serdect-0.1, rust-sha-1-0.10, rust-sha-1-0.9, rust-sha1-0.10, rust-sha1-0.6, rust-sha1-0.2, rust-sha1-asm-0.5, rust-sha1-smol-1, rust-sha1collisiondetection-0.3, rust-sha1collisiondetection-0.2, rust-sha2-0.10, rust-sha2-0.9, rust-sha2-0.8, rust-sha2-asm-0.6, rust-sha2-asm-0.5, rust-sha256-1, rust-sha3-0.10, rust-sha3-0.9, rust-signature-2, rust-signature-1, rust-signature-derive-2, rust-signature-derive-1, rust-simple-asn1-0.6, rust-simple-asn1-0.4, rust-sm3-0.4, rust-spki-0.7, rust-spki-0.6, rust-spki-0.5, rust-spki-0.4, rust-ssh-cipher-0.2, rust-ssh-encoding-0.2, rust-ssh-key-0.6, rust-stream-cipher-0.4, rust-stream-cipher-0.3.2-yanked, rust-stream-cipher-0.3, rust-streebog-0.10, rust-streebog-0.9, rust-subtle-2, rust-subtle-1, rust-subtle-ng-2, rust-tiger-0.1, rust-tls-codec-0.4, rust-tls-codec-derive-0.4, rust-totp-lite-2, rust-twofish-0.7, rust-universal-hash-0.5, rust-universal-hash-0.4, rust-x25519-dalek-2, rust-x25519-dalek-1, rust-x25519-dalek-ng-1, rust-xsalsa20poly1305-0.9, rust-z85-3, rust-zipsign-api-0.1, rust-diesel-2, rust-diesel-1, rust-diesel-derives-2, rust-diesel-derives-1, rust-diesel-migrations-2, rust-diesel-migrations-1, rust-diesel-table-macro-syntax-0.1, rust-liblmdb-sys-0.2, rust-libsqlite3-sys-0.30, rust-libsqlite3-sys-0.28, rust-libsqlite3-sys-0.27, rust-libsqlite3-sys-0.26, rust-libsqlite3-sys-0.23, rust-libsqlite3-sys-0.22, rust-libsqlite3-sys-0.20, rust-lmdb-rs-0.7, rust-mysqlclient-sys-0.2, rust-postgres-0.19, rust-postgres-derive-0.4, rust-postgres-protocol-0.6, rust-postgres-types-0.2, rust-pq-sys-0.4, rust-rusqlite-0.32, rust-rusqlite-0.31, rust-rusqlite-0.30, rust-rusqlite-0.29, rust-rusqlite-macros-0.3, rust-rusqlite-macros-0.2, rust-rusqlite-macros-0.1, rust-sled-0.34, rust-sqlformat-0.2, rust-sqlite-0.36, rust-sqlite-0.30, rust-sqlite-0.27, rust-sqlite3-parser-0.13, rust-sqlite3-parser-0.12, rust-sqlite3-src-0.6, rust-sqlite3-src-0.5, rust-sqlite3-src-0.4, rust-sqlite3-src-0.3, rust-sqlite3-sys-0.17, rust-sqlite3-sys-0.15, rust-sqlite3-sys-0.14, rust-sqlite3-sys-0.13, rust-sqlparser-0.43, rust-sqlparser-0.39, rust-sqlparser-derive-0.2, rust-sqlparser-derive-0.1, rust-sqlx-0.7, rust-sqlx-core-0.7, rust-sqlx-macros-0.7, rust-sqlx-macros-core-0.7, rust-sqlx-mysql-0.7, rust-sqlx-postgres-0.7, rust-sqlx-sqlite-0.7, rust-andrew-0.3, rust-andrew-0.2, rust-ansi-colours-1, rust-ansi-term-0.12, rust-ansi-term-0.11, rust-ansi-term-0.9, rust-ansi-to-tui-7, rust-ansiterm-0.12, rust-aom-sys-0.3, rust-ascii-canvas-3, rust-ascii-canvas-2, rust-ash-0.37, rust-ash-window-0.12, rust-av-data-0.4, rust-avif-parse-1, rust-avif-parse-0.13, rust-avif-serialize-0.8, rust-avif-serialize-0.7, rust-avif-serialize-0.6.5-yanked, rust-avif-serialize-0.6, rust-box-drawing-0.1, rust-cgl-0.3, rust-cgl-0.2, rust-cgmath-0.18, rust-cgmath-0.17, rust-cgmath-0.16, rust-colorous-1, rust-core-graphics-0.24, rust-core-graphics-0.23, rust-core-graphics-0.22, rust-core-graphics-0.21, rust-core-graphics-0.19, rust-core-graphics-0.17, rust-core-graphics-types-0.2, rust-core-graphics-types-0.1, rust-core-video-sys-0.1, rust-cursor-icon-1, rust-d3d12-0.7, rust-dark-light-1, rust-dav1d-0.10, rust-dav1d-sys-0.8, rust-dcv-color-primitives-0.6, rust-deltae-0.3, rust-dpi-0.1, rust-drm-0.12, rust-drm-0.11, rust-drm-ffi-0.9, rust-drm-ffi-0.8, rust-drm-ffi-0.7, rust-drm-ffi-0.6, rust-drm-fourcc-2, rust-drm-sys-0.8, rust-drm-sys-0.7, rust-drm-sys-0.6, rust-drm-sys-0.5, rust-enable-ansi-support-0.2, rust-enterpolation-0.2, rust-euclid-0.22, rust-eui48-0.4, rust-evdev-0.11, rust-exr-1, rust-fast-image-resize-5, rust-fast-image-resize-2, rust-fast-srgb8-1, rust-gfx-0.18, rust-gfx-core-0.9, rust-gif-0.13, rust-gif-0.12, rust-gif-0.11, rust-gif-0.10, rust-gl-0.14, rust-gl-generator-0.14, rust-gl-generator-0.13, rust-gl-generator-0.11, rust-gl-loader-0.1, rust-gleam-0.6, rust-glow-0.12, rust-glutin-0.32, rust-glutin-0.31, rust-glutin-0.30, rust-glutin-0.29, rust-glutin-0.28, rust-glutin-0.21, rust-glutin-egl-sys-0.7, rust-glutin-egl-sys-0.6, rust-glutin-egl-sys-0.5, rust-glutin-egl-sys-0.4, rust-glutin-egl-sys-0.1, rust-glutin-emscripten-sys-0.1, rust-glutin-gles2-sys-0.1, rust-glutin-glx-sys-0.6, rust-glutin-glx-sys-0.5, rust-glutin-glx-sys-0.4, rust-glutin-glx-sys-0.1, rust-glutin-wgl-sys-0.6, rust-glutin-wgl-sys-0.5, rust-glutin-wgl-sys-0.4, rust-glutin-wgl-sys-0.1, rust-gpu-alloc-0.6, rust-gpu-alloc-types-0.3, rust-image-0.25, rust-image-0.24, rust-image-0.23, rust-image-0.22, rust-image-0.21, rust-image-0.20, rust-image-webp-0.2, rust-imageproc-0.25, rust-imageproc-0.23, rust-imgref-1, rust-jpeg-decoder-0.3, rust-jpeg-decoder-0.1, rust-katexit-0.1, rust-keyframe-1, rust-khronos-egl-5, rust-kmeans-colors-0.6, rust-libdav1d-sys-0.6, rust-libvips-1, rust-libwebp-sys-0.9, rust-libwebp-sys-0.4, rust-line-drawing-0.7, rust-lyon-geom-1, rust-lyon-geom-0.17, rust-lyon-path-0.17, rust-lyon-svg-0.17, rust-mp4parse-0.17, rust-osmesa-sys-0.1, rust-palette-0.7, rust-palette-0.6, rust-palette-derive-0.7, rust-palette-derive-0.6, rust-pbr-1, rust-piston-float-1, rust-piston-gfx-texture-0.40, rust-piston-graphics-api-version-0.2, rust-piston-shaders-graphics2d-0.3, rust-piston-texture-0.8, rust-piston-viewport-1, rust-pistoncore-event-loop-0.49, rust-pistoncore-input-0.28, rust-pistoncore-window-0.44, rust-png-0.17, rust-png-0.16, rust-png-0.15, rust-png-0.14, rust-png-0.12, rust-qoi-0.4, rust-ravif-0.11, rust-ravif-0.8, rust-ravif-0.6.6-yanked, rust-ravif-0.6, rust-raw-window-handle-0.6, rust-raw-window-handle-0.5, rust-raw-window-handle-0.4, rust-raw-window-handle-0.3, rust-raw-window-metal-0.3, rust-resize-0.8, rust-resize-0.7, rust-resize-0.4, rust-rgb-0.8, rust-scad-1, rust-sdl2-0.36, rust-sdl2-0.35, rust-sdl2-sys-0.36, rust-sdl2-sys-0.35, rust-smithay-client-toolkit-0.19, rust-smithay-client-toolkit-0.18, rust-smithay-client-toolkit-0.16, rust-smithay-client-toolkit-0.15, rust-smithay-client-toolkit-0.12, rust-smithay-client-toolkit-0.4, rust-smithay-clipboard-0.7, rust-smithay-clipboard-0.6, rust-softbuffer-0.4, rust-softbuffer-0.3, rust-svg-metadata-0.4, rust-tiff-0.9, rust-tiff-0.8, rust-tiff-0.6, rust-tiff-0.5, rust-tiff-0.3, rust-tiff-0.2, rust-tiny-xlib-0.2, rust-wayland-backend-0.3, rust-wayland-backend-0.1, rust-wayland-client-0.31, rust-wayland-client-0.30, rust-wayland-client-0.29, rust-wayland-client-0.28, rust-wayland-client-0.23, rust-wayland-client-0.21, rust-wayland-commons-0.29, rust-wayland-commons-0.28, rust-wayland-commons-0.23, rust-wayland-commons-0.21, rust-wayland-csd-frame-0.3, rust-wayland-cursor-0.31, rust-wayland-cursor-0.29, rust-wayland-cursor-0.28, rust-wayland-egl-0.29, rust-wayland-egl-0.28, rust-wayland-protocols-0.32, rust-wayland-protocols-0.31, rust-wayland-protocols-0.30, rust-wayland-protocols-0.29, rust-wayland-protocols-0.28, rust-wayland-protocols-0.23, rust-wayland-protocols-0.21, rust-wayland-protocols-plasma-0.3, rust-wayland-protocols-plasma-0.2, rust-wayland-protocols-wlr-0.3, rust-wayland-protocols-wlr-0.2, rust-wayland-protocols-wlr-0.1, rust-wayland-scanner-0.31, rust-wayland-scanner-0.30, rust-wayland-scanner-0.29, rust-wayland-scanner-0.28, rust-wayland-scanner-0.23, rust-wayland-scanner-0.21, rust-wayland-server-0.31, rust-wayland-server-0.30, rust-wayland-server-0.29, rust-wayland-server-0.28, rust-wayland-server-0.23, rust-wayland-server-0.21, rust-wayland-sys-0.31, rust-wayland-sys-0.30, rust-wayland-sys-0.29, rust-wayland-sys-0.28, rust-wayland-sys-0.23, rust-wayland-sys-0.21, rust-wayrs-client-1, rust-wayrs-core-1, rust-wayrs-proto-parser-3, rust-wayrs-protocols-0.13, rust-wayrs-scanner-0.15, rust-webp-0.3, rust-webp-0.2, rust-winit-0.30, rust-winit-0.29, rust-winit-0.28, rust-winit-0.27, rust-winit-0.26, rust-winit-0.24, rust-winit-0.19, rust-winit-test-0.1, rust-x11-2, rust-x11-clipboard-0.9, rust-x11-clipboard-0.8, rust-x11-clipboard-0.7, rust-x11-clipboard-0.3, rust-x11-dl-2, rust-x11rb-0.13, rust-x11rb-0.12, rust-x11rb-0.11, rust-x11rb-0.10, rust-x11rb-protocol-0.13, rust-x11rb-protocol-0.12, rust-x11rb-protocol-0.11, rust-x11rb-protocol-0.10, rust-xkb-0.3, rust-xkbcommon-0.7, rust-xkbcommon-dl-0.4, rust-xkbcommon-sys-1, rust-xkeysym-0.2, rust-y4m-0.8, rust-aperture-0.3, rust-ashpd-0.6, rust-atk-0.14, rust-atk-0.8, rust-atk-sys-0.18, rust-atk-sys-0.14, rust-atk-sys-0.10, rust-atk-sys-0.9, rust-cairo-rs-0.20, rust-cairo-rs-0.19, rust-cairo-rs-0.18, rust-cairo-rs-0.17, rust-cairo-rs-0.15, rust-cairo-rs-0.14, rust-cairo-rs-0.9, rust-cairo-rs-0.8, rust-cairo-sys-rs-0.20, rust-cairo-sys-rs-0.19, rust-cairo-sys-rs-0.18, rust-cairo-sys-rs-0.17, rust-cairo-sys-rs-0.15, rust-cairo-sys-rs-0.14, rust-cairo-sys-rs-0.10, rust-cairo-sys-rs-0.9, rust-gdk-0.14, rust-gdk-0.13, rust-gdk-0.12, rust-gdk-pixbuf-0.20, rust-gdk-pixbuf-0.19, rust-gdk-pixbuf-0.18, rust-gdk-pixbuf-0.17, rust-gdk-pixbuf-0.15, rust-gdk-pixbuf-0.14, rust-gdk-pixbuf-0.9, rust-gdk-pixbuf-0.8, rust-gdk-pixbuf-sys-0.20, rust-gdk-pixbuf-sys-0.19, rust-gdk-pixbuf-sys-0.18, rust-gdk-pixbuf-sys-0.17, rust-gdk-pixbuf-sys-0.15, rust-gdk-pixbuf-sys-0.14, rust-gdk-pixbuf-sys-0.10, rust-gdk-pixbuf-sys-0.9, rust-gdk-sys-0.18, rust-gdk-sys-0.14, rust-gdk-sys-0.10, rust-gdk-sys-0.9, rust-gdk4-0.8, rust-gdk4-0.7, rust-gdk4-sys-0.8, rust-gdk4-sys-0.7, rust-gdk4-wayland-0.7, rust-gdk4-wayland-sys-0.7, rust-gdk4-win32-0.7, rust-gdk4-win32-sys-0.7, rust-gdk4-x11-0.7, rust-gdk4-x11-sys-0.7, rust-gio-0.20, rust-gio-0.19, rust-gio-0.18, rust-gio-0.17, rust-gio-0.15, rust-gio-0.14, rust-gio-0.9, rust-gio-0.8, rust-gio-sys-0.20, rust-gio-sys-0.19, rust-gio-sys-0.18, rust-gio-sys-0.17, rust-gio-sys-0.15, rust-gio-sys-0.14, rust-gio-sys-0.10, rust-gio-sys-0.9, rust-gir-format-check-0.1, rust-glib-0.20, rust-glib-0.19, rust-glib-0.18, rust-glib-0.17, rust-glib-0.15, rust-glib-0.14, rust-glib-0.10, rust-glib-0.9, rust-glib-macros-0.20, rust-glib-macros-0.19, rust-glib-macros-0.18, rust-glib-macros-0.17, rust-glib-macros-0.15, rust-glib-macros-0.14, rust-glib-macros-0.10, rust-glib-sys-0.20, rust-glib-sys-0.19, rust-glib-sys-0.18, rust-glib-sys-0.17, rust-glib-sys-0.15, rust-glib-sys-0.14, rust-glib-sys-0.10, rust-glib-sys-0.9, rust-gobject-sys-0.20, rust-gobject-sys-0.19, rust-gobject-sys-0.18, rust-gobject-sys-0.17, rust-gobject-sys-0.15, rust-gobject-sys-0.14, rust-gobject-sys-0.10, rust-gobject-sys-0.9, rust-graphene-rs-0.19, rust-graphene-rs-0.18, rust-graphene-sys-0.19, rust-graphene-sys-0.18, rust-gsk4-0.8, rust-gsk4-0.7, rust-gsk4-sys-0.8, rust-gsk4-sys-0.7, rust-gst-plugin-gtk4-0.11, rust-gst-plugin-version-helper-0.8, rust-gstreamer-0.21, rust-gstreamer-0.20, rust-gstreamer-0.18, rust-gstreamer-allocators-0.21, rust-gstreamer-allocators-sys-0.21, rust-gstreamer-app-0.18, rust-gstreamer-app-sys-0.18, rust-gstreamer-audio-0.21, rust-gstreamer-audio-0.18, rust-gstreamer-audio-sys-0.21, rust-gstreamer-audio-sys-0.18, rust-gstreamer-base-0.21, rust-gstreamer-base-0.18, rust-gstreamer-base-sys-0.21, rust-gstreamer-base-sys-0.18, rust-gstreamer-check-0.21, rust-gstreamer-check-sys-0.21, rust-gstreamer-gl-0.21, rust-gstreamer-gl-egl-0.21, rust-gstreamer-gl-egl-sys-0.21, rust-gstreamer-gl-sys-0.21, rust-gstreamer-gl-wayland-0.21, rust-gstreamer-gl-wayland-sys-0.21, rust-gstreamer-gl-x11-0.21, rust-gstreamer-gl-x11-sys-0.21, rust-gstreamer-pbutils-0.21, rust-gstreamer-pbutils-sys-0.21, rust-gstreamer-sys-0.21, rust-gstreamer-sys-0.20, rust-gstreamer-sys-0.18, rust-gstreamer-video-0.21, rust-gstreamer-video-sys-0.21, rust-gtk-0.14, rust-gtk-0.8, rust-gtk-rs-lgpl-docs-0.1, rust-gtk-sys-0.18, rust-gtk-sys-0.14, rust-gtk-sys-0.10, rust-gtk-sys-0.9, rust-gtk3-macros-0.14, rust-gtk4-0.8, rust-gtk4-0.7, rust-gtk4-macros-0.8, rust-gtk4-macros-0.7, rust-gtk4-sys-0.8, rust-gtk4-sys-0.7, rust-libadwaita-0.6, rust-libadwaita-0.5, rust-libadwaita-sys-0.6, rust-libadwaita-sys-0.5, rust-pango-0.20, rust-pango-0.19, rust-pango-0.18, rust-pango-0.17, rust-pango-0.15, rust-pango-0.14, rust-pango-0.9, rust-pango-0.8, rust-pango-sys-0.20, rust-pango-sys-0.19, rust-pango-sys-0.18, rust-pango-sys-0.17, rust-pango-sys-0.15, rust-pango-sys-0.14, rust-pango-sys-0.10, rust-pango-sys-0.9, rust-pangocairo-0.19, rust-pangocairo-0.18, rust-pangocairo-sys-0.19, rust-pangocairo-sys-0.18, rust-search-provider-0.8, rust-search-provider-0.6, rust-soup-sys-0.10, rust-webkit2gtk-sys-0.12, rust-ab-glyph-0.2, rust-ab-glyph-rasterizer-0.1, rust-abi-stable-0.11, rust-abi-stable-0.10, rust-abi-stable-derive-0.11, rust-abi-stable-derive-0.10, rust-abi-stable-shared-0.11, rust-abi-stable-shared-0.10, rust-abomonation-0.7, rust-adaptive-barrier-1, rust-adblock-0.7, rust-adblock-0.5, rust-addchain-0.2, rust-addr-0.14, rust-addr2line-0.24, rust-addr2line-0.22, rust-adler-1, rust-adler2-2, rust-adler32-1, rust-afl-0.15, rust-afl-0.12, rust-afl-0.11, rust-ahash-0.8, rust-ahash-0.7, rust-ahash-0.4, rust-ahash-0.3, rust-ahash-0.2, rust-aho-corasick-1, rust-aho-corasick-0.7, rust-aho-corasick-0.6, rust-aho-corasick-0.5, rust-al-sys-0.6, rust-alga-0.9, rust-alga-derive-0.9, rust-aliasable-0.1, rust-aliasable-deref-trait-0.2, rust-aligned-0.4, rust-aligned-vec-0.5, rust-alloc-no-stdlib-2, rust-alloc-stdlib-0.2, rust-alloc-traits-0.1, rust-alloca-0.4, rust-allocator-api2-0.2, rust-alphanumeric-sort-1, rust-alto-3, rust-ambient-authority-0.0.2, rust-amd-0.2, rust-android-activity-0.6, rust-android-activity-0.5, rust-android-activity-0.4, rust-android-glue-0.2, rust-android-log-sys-0.3, rust-android-log-sys-0.2, rust-android-log-sys-0.1, rust-android-logger-0.13, rust-android-logger-0.11, rust-android-logger-0.10, rust-android-logger-0.8, rust-android-properties-0.2, rust-android-system-properties-0.1, rust-android-tzdata-0.1, rust-anes-0.1, rust-annotate-snippets-0.11, rust-annotate-snippets-0.10, rust-annotate-snippets-0.9, rust-annotate-snippets-0.6, rust-ansi-parser-0.8, rust-ansi-parser-0.6, rust-ansi-str-0.8, rust-ansi-to-html-0.2, rust-ansi-to-html-0.1, rust-ansi-width-0.1, rust-ansitok-0.2, rust-anstream-0.6, rust-anstream-0.3, rust-anstyle-1, rust-anstyle-0.3, rust-anstyle-lossy-1, rust-anstyle-parse-0.2, rust-anstyle-parse-0.1, rust-anstyle-query-1, rust-anstyle-stream-0.2, rust-anstyle-svg-0.1, rust-antidote-1, rust-any-all-workaround-0.1, rust-anyhow-1, rust-anyinput-0.1, rust-anyinput-core-0.1, rust-anyinput-derive-0.1, rust-apache-avro-0.16, rust-apache-avro-derive-0.16, rust-apache-avro-test-helper-0.16, rust-app-dirs2-2, rust-approx-0.5, rust-approx-0.4, rust-approx-0.3, rust-approx-0.1, rust-arbitrary-1, rust-arbitrary-0.4, rust-arboard-3, rust-arc-swap-1, rust-archery-1, rust-arf-strings-0.7, rust-arg-enum-proc-macro-0.3, rust-argfile-0.1, rust-argh-0.1, rust-argh-derive-0.1, rust-argh-shared-0.1, rust-argmax-0.3, rust-argminmax-0.6, rust-ariadne-0.1, rust-arr-macro-0.1, rust-arr-macro-impl-0.1, rust-array-init-2, rust-array-init-cursor-0.2, rust-array-macro-1, rust-array-ops-0.1, rust-arraydeque-0.5, rust-arrayref-0.3, rust-arraystring-0.3, rust-arrayvec-0.7, rust-arrayvec-0.5, rust-arrayvec-0.4, rust-arrow-47, rust-arrow-5, rust-arrow-arith-47, rust-arrow-array-47, rust-arrow-array-43, rust-arrow-buffer-47, rust-arrow-buffer-43, rust-arrow-cast-47, rust-arrow-csv-47, rust-arrow-data-47, rust-arrow-data-43, rust-arrow-format-0.8, rust-arrow-format-0.3, rust-arrow-ipc-47, rust-arrow-json-47, rust-arrow-ord-47, rust-arrow-row-47, rust-arrow-schema-47, rust-arrow-schema-43, rust-arrow-select-47, rust-arrow-string-47, rust-arrow2-0.17, rust-arrow2-0.7, rust-article-scraper-1, rust-as-derive-utils-0.11, rust-as-derive-utils-0.10, rust-as-derive-utils-0.8, rust-as-raw-xcb-connection-1, rust-as-slice-0.2, rust-as-slice-0.1, rust-as-variant-1, rust-ascii-1, rust-ascii-0.9, rust-ascii-0.8, rust-ascii-utils-0.9, rust-assert-0.7, rust-assert-approx-eq-1, rust-assert-cli-0.6, rust-assert-cmd-2, rust-assert-cmd-1, rust-assert-float-eq-1, rust-assert-fs-1, rust-assert-impl-0.1, rust-assert-json-diff-2, rust-assert-matches-1, rust-assert-matches2-0.1, rust-assert2-0.3, rust-assert2-macros-0.3, rust-associative-cache-2, rust-associative-cache-1, rust-async-attributes-1, rust-async-broadcast-0.7, rust-async-broadcast-0.6, rust-async-broadcast-0.5, rust-async-channel-2, rust-async-channel-1, rust-async-compat-0.2, rust-async-compression-0.4, rust-async-compression-0.3, rust-async-datagram-3, rust-async-dup-1, rust-async-executor-1, rust-async-fs-2, rust-async-fs-1, rust-async-generic-1, rust-async-global-executor-2, rust-async-io-2, rust-async-io-1, rust-async-lock-3, rust-async-lock-2, rust-async-log-1, rust-async-log-attributes-1, rust-async-macros-1, rust-async-net-2, rust-async-net-1, rust-async-object-pool-0.1, rust-async-once-cell-0.5, rust-async-pidfd-0.1, rust-async-priority-channel-0.1, rust-async-process-2, rust-async-process-1, rust-async-ready-3, rust-async-recursion-1, rust-async-scoped-0.9, rust-async-session-3, rust-async-signal-0.2, rust-async-std-1, rust-async-std-0.99, rust-async-stream-0.3, rust-async-stream-impl-0.3, rust-async-task-4, rust-async-task-3, rust-async-task-1, rust-async-trait-0.1, rust-atoi-2, rust-atoi-1, rust-atoi-simd-0.15, rust-atom-0.3, rust-atomic-0.6, rust-atomic-0.5, rust-atomic-polyfill-1, rust-atomic-refcell-0.1, rust-atomic-take-1, rust-atomic-waker-1, rust-atomic-write-file-0.1, rust-atomicwrites-0.4, rust-atomig-0.4, rust-atomig-macro-0.3, rust-atty-0.2, rust-auto-enums-0.8, rust-auto-impl-0.5, rust-auto-impl-0.4, rust-autocfg-1, rust-autocfg-0.1, rust-automod-1, rust-av-metrics-0.9, rust-av1-grain-0.2, rust-average-0.13, rust-average-0.10, rust-average-0.9, rust-avro-rs-0.13, rust-avro-schema-0.3, rust-az-1, rust-backoff-0.4, rust-backon-0.4, rust-backtrace-0.3, rust-backtrace-ext-0.2, rust-barrel-0.6, rust-base-x-0.2, rust-base32-0.5, rust-base32-0.4, rust-base58-0.1, rust-base64-0.22, rust-base64-0.21, rust-base64-0.20, rust-base64-0.13, rust-base64-0.12, rust-base64-0.11, rust-base64-0.10, rust-base64-0.9, rust-base64-stream-1, rust-basic-toml-0.1, rust-bat-0.24, rust-battery-0.7, rust-beef-0.5, rust-bencher-0.1, rust-better-panic-0.3, rust-bigdecimal-0.4, rust-bigdecimal-0.3, rust-bigdecimal-0.2, rust-bigdecimal-0.1, rust-binascii-0.1, rust-bincode-1, rust-bindgen-0.71, rust-bindgen-0.70, rust-bindgen-0.69, rust-bindgen-0.68, rust-bindgen-0.66, rust-bindgen-0.65, rust-bindgen-0.64, rust-bindgen-0.63, rust-bindgen-0.61, rust-bindgen-0.59, rust-bindgen-0.58, rust-bindgen-0.57, rust-bindgen-0.56, rust-bindgen-0.55, rust-bindgen-0.53, rust-bindgen-0.37, rust-bio-1, rust-bio-0.33, rust-bio-0.39, rust-bio-0.41, rust-bio-types-1, rust-bio-types-0.12, rust-biquad-0.4, rust-bit-field-0.10, rust-bit-set-0.8, rust-bit-set-0.5, rust-bit-set-0.4, rust-bit-vec-0.8, rust-bit-vec-0.6, rust-bit-vec-0.5, rust-bit-vec-0.4, rust-bitfield-0.14, rust-bitflags-2, rust-bitflags-1, rust-bitflags-1.2, rust-bitflags-0.9, rust-bitflags-0.8, rust-bitflags-0.7, rust-bitmaps-3, rust-bitmaps-2, rust-bitpacking-0.8, rust-bitreader-0.3, rust-bitstream-io-2, rust-bitvec-1, rust-bitvec-0.22, rust-bitvec-0.20, rust-bitvec-0.19, rust-blanket-0.3, rust-blas-0.22, rust-blas-sys-0.7, rust-blobby-0.3, rust-blobby-0.1, rust-block-buffer-0.10, rust-block-buffer-0.9, rust-block-buffer-0.7, rust-block-padding-0.3, rust-block-padding-0.2, rust-block-padding-0.1, rust-blocking-1, rust-blocking-0.6, rust-blocking-0.4, rust-borsh-1, rust-borsh-0.10, rust-borsh-derive-1, rust-borsh-derive-0.10, rust-borsh-derive-internal-0.10, rust-borsh-schema-derive-internal-0.10, rust-boxfnonce-0.1, rust-boxxy-0.13, rust-bracoxide-0.1, rust-branches-0.1, rust-bresenham-0.1, rust-broadcaster-0.2, rust-browserslist-rs-0.6, rust-bs58-0.5, rust-bs58-0.4, rust-bsd-kvm-0.1, rust-bsd-kvm-sys-0.2, rust-bson-2, rust-bson-1, rust-bstr-1, rust-bstr-0.2, rust-btoi-0.4, rust-buf-min-0.7, rust-buf-redux-0.8, rust-buffer-redux-1, rust-buffered-reader-1, rust-buffering-0.4, rust-buffering-0.3, rust-buffering-nocopy-macro-0.2, rust-buffering-nocopy-macro-0.1, rust-bufstream-0.1, rust-bugreport-0.5, rust-build-const-0.2, rust-build-context-0.1, rust-build-fs-tree-0.6, rust-built-0.7, rust-bumpalo-3, rust-bv-0.11, rust-bwrap-1, rust-by-address-1, rust-byte-slice-cast-1, rust-byte-tools-0.3, rust-byte-unit-5, rust-byte-unit-4, rust-bytecheck-0.6, rust-bytecheck-0.5, rust-bytecheck-derive-0.6, rust-bytecheck-derive-0.5, rust-bytecount-0.6, rust-bytelines-2, rust-bytemuck-1, rust-bytemuck-derive-1, rust-byteorder-1, rust-byteorder-0.5, rust-byteorder-lite-0.1, rust-bytes-1, rust-bytes-0.6, rust-bytes-0.5, rust-bytes-0.4, rust-bytes-0.3, rust-bytesize-1, rust-bytestring-1, rust-bytestring-0.1, rust-byteyarn-0.2, rust-c-vec-2, rust-cache-padded-1, rust-cachedir-0.3, rust-calamine-0.26, rust-calibright-0.1, rust-calloop-0.13, rust-calloop-0.12, rust-calloop-0.10, rust-calloop-0.9, rust-calloop-0.6, rust-calloop-0.4, rust-calloop-wayland-source-0.3, rust-calloop-wayland-source-0.2, rust-camino-1, rust-camino-tempfile-1, rust-canonical-path-2, rust-cap-0.1, rust-cap-async-std-3, rust-cap-fs-ext-3, rust-cap-net-ext-3, rust-capnp-0.19, rust-capnp-futures-0.19, rust-capnp-rpc-0.19, rust-capnpc-0.19, rust-cap-primitives-3, rust-cap-rand-3, rust-cap-std-3, rust-cap-tempfile-3, rust-cap-time-ext-3, rust-caps-0.5, rust-caps-0.3, rust-capstone-0.12, rust-capstone-sys-0.16, rust-captur-0.1, rust-carapace-spec-clap-1, rust-carapace-spec-clap-0.1, rust-card-validate-2, rust-cargo-config2-0.1, rust-cargo-credential-0.4, rust-cargo-credential-0.3, rust-cargo-credential-libsecret-0.4, rust-cargo-husky-1, rust-cargo-lock-10, rust-cargo-manifest-0.13, rust-cargo-metadata-0.19.2, rust-cargo-metadata-0.19, rust-cargo-metadata-0.18, rust-cargo-metadata-0.17, rust-cargo-metadata-0.15, rust-cargo-metadata-0.14, rust-cargo-options-0.7, rust-cargo-platform-0.2, rust-cargo-platform-0.1, rust-current-platform-0.2, rust-cargo-test-macro-0.4, rust-cargo-test-macro-0.3, rust-cargo-test-support-0.7, rust-cargo-test-support-0.4, rust-cargo-test-support-0.3, rust-cargo-toml-0.20, rust-cargo-util-0.2, rust-cargo-util-schemas-0.7, rust-cargo-util-schemas-0.6, rust-caseless-0.2, rust-casey-0.4, rust-cassowary-0.3, rust-cast-0.3, rust-cast-0.2, rust-castaway-0.2, rust-castaway-0.1, rust-cblas-sys-0.1, rust-cc-1, rust-ar-0.9, rust-cdshealpix-0.7, rust-cesu8-1, rust-cexpr-0.6, rust-cexpr-0.4, rust-cexpr-0.2, rust-cfg-aliases-0.2, rust-cfg-aliases-0.1, rust-cfg-expr-0.18, rust-cfg-expr-0.17, rust-cfg-expr-0.15, rust-cfg-expr-0.10, rust-cfg-expr-0.8, rust-cfg-if-1, rust-cfg-if-0.1, rust-cfg-vis-0.3, rust-chan-0.1, rust-char-device-0.16, rust-charset-0.1, rust-checked-int-cast-1, rust-chic-1, rust-chrono-0.4, rust-chrono-humanize-0.2, rust-chrono-tz-0.10, rust-chrono-tz-0.9, rust-chrono-tz-0.8, rust-chrono-tz-0.6, rust-chrono-tz-0.5, rust-chrono-tz-build-0.4, rust-chrono-tz-build-0.3, rust-chrono-tz-build-0.2, rust-chrono-tz-build-0.0.3, rust-chumsky-0.9, rust-envmnt-0.10, rust-ci-info-0.14, rust-ci-info-0.3, rust-ciborium-0.2, rust-ciborium-io-0.2, rust-ciborium-ll-0.2, rust-cint-0.3, rust-circular-0.3, rust-claims-0.7, rust-clang-ast-0.1, rust-clang-ast-test-suite-0.0.0, rust-clang-sys-1, rust-clang-sys-0.23, rust-clang-sys-0.29, rust-clang-sys-0.28, rust-bpaf-derive-0.5, rust-bpaf-0.9, rust-clap-4.5.24, rust-clap-4, rust-clap-3, rust-clap-2, rust-clap-builder-4, rust-clap-cargo-0.15, rust-clap-cargo-0.14, rust-clap-cargo-0.12, rust-clap-cargo-0.9, rust-clap-complete-4, rust-clap-complete-3, rust-clap-complete-command-0.6, rust-clap-complete-command-0.5, rust-clap-complete-fig-4, rust-clap-complete-fig-3, rust-clap-complete-nushell-4, rust-clap-complete-nushell-0.1, rust-clap-derive-4, rust-clap-derive-3, rust-clap-lex-0.7, rust-clap-lex-0.6, rust-clap-lex-0.5, rust-clap-lex-0.3, rust-clap-lex-0.2, rust-clap-mangen-0.2, rust-clap-utilities-0.2, rust-clap-verbosity-flag-2, rust-claxon-0.4, rust-clearscreen-2, rust-clearscreen-1, rust-cli-clipboard-0.4, rust-clicolors-control-1, rust-clipboard-0.5, rust-clippy-0.0.302, rust-clircle-0.6, rust-clircle-0.4, rust-close-fds-0.3, rust-cloud-file-0.2, rust-cloudabi-0.1, rust-cloudabi-0.0.3, rust-clru-0.6, rust-cmake-0.1, rust-cobs-0.2, rust-codegenrs-3, rust-codegenrs-2, rust-codespan-reporting-0.11, rust-codspeed-2, rust-codspeed-bencher-compat-2, rust-codspeed-criterion-compat-2, rust-coitrees-0.2, rust-color-backtrace-0.6, rust-color-backtrace-0.5, rust-color-eyre-0.6, rust-color-eyre-0.5, rust-color-print-0.3, rust-color-print-proc-macro-0.3, rust-color-quant-1, rust-color-spantrace-0.2, rust-color-spantrace-0.1, rust-colorchoice-1, rust-colored-3, rust-colored-2, rust-colored-1, rust-colorsys-0.6, rust-colorz-1, rust-combine-4, rust-combine-3, rust-combine-regex-1-1, rust-comfy-table-7, rust-comfy-table-6, rust-comfy-table-4, rust-command-group-2, rust-command-group-1, rust-compact-str-0.8, rust-compact-str-0.7, rust-compiler-builtins-0.1, rust-compiler-error-0.1, rust-compiletest-rs-0.11, rust-compiletest-rs-0.10, rust-compiletest-rs-0.9, rust-compiletest-rs-0.3, rust-compiletest-rs-0.2, rust-completest-0.4, rust-completest-nu-0.4, rust-completest-pty-0.5, rust-compound-duration-1, rust-comrak-0.26, rust-comrak-0.18, rust-concat-idents-1, rust-concat-string-1, rust-concolor-0.0.11, rust-concolor-0.0.8, rust-concolor-control-0.0.7, rust-concolor-override-1, rust-concolor-query-0.3, rust-concolor-query-0.1, rust-concolor-query-0.0.5, rust-concolor-query-0.0.4, rust-concurrent-queue-2, rust-concurrent-queue-1, rust-condtype-1, rust-config-0.14, rust-config-0.13, rust-config-0.11, rust-config-0.10, rust-config-file-0.2, rust-configparser-3, rust-console-0.15, rust-console-0.14, rust-console-0.13, rust-console-0.11, rust-console-0.7, rust-console-api-0.8, rust-console-error-panic-hook-0.1, rust-console-log-1, rust-console-log-0.2, rust-console-subscriber-0.4, rust-const-cstr-0.3, rust-const-default-1, rust-const-default-derive-0.2, rust-const-fn-0.4, rust-const-format-0.2, rust-const-format-proc-macros-0.2, rust-const-oid-0.9, rust-const-oid-0.7, rust-const-oid-0.6, rust-const-panic-0.2, rust-const-panic-proc-macros-0.2, rust-const-random-0.1, rust-const-random-macro-0.1, rust-const-sha1-0.2, rust-const-str-0.5, rust-const-str-proc-macro-0.5, rust-constant-time-eq-0.3, rust-constant-time-eq-0.2, rust-constant-time-eq-0.1, rust-content-inspector-0.2, rust-conv-0.3, rust-convert-case-0.6, rust-convert-case-0.4, rust-coolor-0.8, rust-coolor-0.5, rust-copyless-0.1, rust-copypasta-0.10, rust-cordic-0.1, rust-core-affinity-0.8, rust-core-affinity-0.5, rust-core-arch-0.1, rust-core-error-0.0.0, rust-core-extensions-1, rust-core-extensions-0.1, rust-core-extensions-proc-macros-1, rust-core-maths-0.1, rust-core2-0.4, rust-core2-0.3, rust-count-instructions-0.1, rust-cov-mark-2, rust-cov-mark-1, rust-coverage-helper-0.2, rust-cpp-demangle-0.4, rust-cpp-demangle-0.3, rust-cpufeatures-0.2, rust-cpuid-bool-0.2, rust-crabgrind-0.1, rust-cranelift-bitset-0.112, rust-cranelift-bitset-0.111, rust-cranelift-bforest-0.112, rust-cranelift-bforest-0.111, rust-cranelift-codegen-0.112, rust-cranelift-codegen-0.111, rust-cranelift-codegen-meta-0.112, rust-cranelift-codegen-meta-0.111, rust-cranelift-codegen-shared-0.112, rust-cranelift-codegen-shared-0.111, rust-cranelift-control-0.112, rust-cranelift-control-0.111, rust-cranelift-entity-0.112, rust-cranelift-entity-0.111, rust-cranelift-frontend-0.112, rust-cranelift-frontend-0.111, rust-cranelift-isle-0.112, rust-cranelift-isle-0.111, rust-cranelift-native-0.112, rust-cranelift-native-0.111, rust-cranelift-wasm-0.112, rust-cranelift-wasm-0.111, rust-crates-index-0.19, rust-crates-index-0.18, rust-crates-index-0.17, rust-crates-index-0.13, rust-crates-io-0.40, rust-crc-3, rust-crc-2, rust-crc-1, rust-crc-any-2, rust-crc-catalog-2, rust-crc-catalog-1, rust-crc32fast-1, rust-crc64-2, rust-critical-section-1, rust-crossbeam-0.8, rust-crossbeam-0.7, rust-crossbeam-channel-0.5, rust-crossbeam-channel-0.4, rust-crossbeam-channel-0.3, rust-crossbeam-deque-0.8, rust-crossbeam-deque-0.7, rust-crossbeam-epoch-0.9, rust-crossbeam-epoch-0.8, rust-crossbeam-queue-0.3, rust-crossbeam-queue-0.2, rust-crossbeam-queue-0.1, rust-crossbeam-utils-0.8, rust-crossbeam-utils-0.7, rust-crossbeam-utils-0.6, rust-crossfont-0.8, rust-crossfont-0.7, rust-crossfont-0.5, rust-crossterm-0.28, rust-crossterm-0.27, rust-crossterm-0.26, rust-crossterm-0.25, rust-crossterm-0.23, rust-crossterm-0.20, rust-crossterm-0.19, rust-crossterm-winapi-0.9, rust-crossterm-winapi-0.8, rust-crossterm-winapi-0.7, rust-crosstermion-0.14, rust-crosstermion-0.13, rust-crosstermion-0.11, rust-crunchy-0.2, rust-csscolorparser-0.6, rust-cssparser-0.34, rust-cssparser-0.33, rust-cssparser-0.31, rust-cssparser-0.29, rust-cssparser-0.28, rust-cssparser-0.27, rust-cssparser-macros-0.6, rust-cstr-0.2, rust-cstr-core-0.2, rust-csv-1, rust-csv-0.14, rust-csv-async-1, rust-csv-core-0.1, rust-csv-index-0.1, rust-ct-codecs-1, rust-ct-logs-0.8, rust-asynchronous-codec-0.7, rust-slip-codec-0.4, rust-ctor-0.2, rust-ctor-0.1, rust-ctor-lite-0.1, rust-ctrlc-3, rust-cty-0.2, rust-cuda-std-0.2, rust-cuda-std-macros-0.2, rust-culpa-1, rust-culpa-macros-1, rust-curl-0.4, rust-curl-sys-0.4, rust-cust-0.2, rust-cust-core-0.1, rust-cust-derive-0.2, rust-cust-derive-0.1, rust-cust-raw-0.11, rust-custom-derive-0.1, rust-cvt-0.1, rust-cxx-1, rust-cxx-build-1, rust-cxx-gen-0.7, rust-cxx-test-suite-0.0.0, rust-cxxbridge-flags-1, rust-cxxbridge-macro-1, rust-daemonize-0.5, rust-darling-0.20, rust-darling-0.14, rust-darling-0.13, rust-darling-0.12, rust-darling-0.10, rust-darling-0.9, rust-darling-core-0.20, rust-darling-core-0.14, rust-darling-core-0.13, rust-darling-core-0.12, rust-darling-core-0.10, rust-darling-core-0.9, rust-darling-macro-0.20, rust-darling-macro-0.14, rust-darling-macro-0.13, rust-darling-macro-0.12, rust-darling-macro-0.10, rust-darling-macro-0.9, rust-dary-heap-0.3, rust-dashmap-6, rust-dashmap-5, rust-dashmap-4, rust-data-encoding-2, rust-data-encoding-macro-0.1, rust-data-encoding-macro-internal-0.1, rust-data-url-0.3, rust-databake-0.1, rust-databake-derive-0.1, rust-datatest-stable-0.3, rust-dateparser-0.1, rust-datetime-0.5, rust-dbl-0.3, rust-dbus-0.9, rust-dbus-crossroads-0.5, rust-dbus-tokio-0.7, rust-dbus-tree-0.9, rust-dconf-rs-0.3, rust-debug-helper-0.3, rust-debug-ignore-1, rust-debug-unreachable-0.1, rust-debugger-test-0.1, rust-debugger-test-parser-0.1, rust-debugid-0.8, rust-decimal-2, rust-defer-0.2, rust-defer-0.1, rust-defer-drop-1, rust-defmac-0.2, rust-defmac-0.1, rust-defmt-0.3, rust-defmt-macros-0.3, rust-defmt-parser-0.3, rust-defmt-json-schema-0.1, rust-defmt-decoder-0.3, rust-dejavu-2, rust-demo-hack-0.0.5, rust-demo-hack-0.0.4, rust-demo-hack-impl-0.0.5, rust-demo-hack-impl-0.0.4, rust-deranged-macros-0.2, rust-deranged-0.4, rust-deranged-0.3, rust-derivative-2, rust-derive-arbitrary-1, rust-derive-arbitrary-0.4, rust-derive-builder-0.20, rust-derive-builder-0.13, rust-derive-builder-0.12, rust-derive-builder-0.11, rust-derive-builder-0.10, rust-derive-builder-0.9, rust-derive-builder-core-0.20, rust-derive-builder-core-0.13, rust-derive-builder-core-0.12, rust-derive-builder-core-0.11, rust-derive-builder-core-0.10, rust-derive-builder-core-0.9, rust-derive-builder-macro-0.20, rust-derive-builder-macro-0.13, rust-derive-builder-macro-0.12, rust-derive-builder-macro-0.11, rust-derive-builder-macro-0.10, rust-derive-error-chain-0.10, rust-derive-more-0.99, rust-derive-more-0.15, rust-derive-more-0.14, rust-derive-new-0.7, rust-derive-new-0.6, rust-derive-new-0.5, rust-derive-utils-0.14, rust-derive-utils-0.11, rust-derive-visitor-0.4, rust-derive-visitor-macros-0.4, rust-derive-where-1, rust-descape-2, rust-deser-hjson-1, rust-detect-desktop-environment-1, rust-detect-desktop-environment-0.2, rust-detone-1, rust-deunicode-1, rust-deunicode-0.4, rust-devise-0.4, rust-devise-0.3, rust-devise-0.2, rust-devise-codegen-0.4, rust-devise-codegen-0.3, rust-devise-codegen-0.2, rust-devise-core-0.4, rust-devise-core-0.3, rust-devise-core-0.2, rust-dhcp4r-0.2, rust-dhcproto-0.9, rust-dhcproto-macros-0.1, rust-dialoguer-0.11, rust-dialoguer-0.10, rust-diff-0.1, rust-difference-2, rust-difference-1, rust-difflib-0.4, rust-diffs-0.5, rust-diffus-0.10, rust-diffus-derive-0.10, rust-dircpy-0.3, rust-directories-6, rust-directories-5, rust-directories-4, rust-directories-3, rust-directories-next-2, rust-dirs-6, rust-dirs-5, rust-dirs-4, rust-dirs-3, rust-dirs-2, rust-dirs-1, rust-dirs-next-2, rust-dirs-next-1, rust-dirs-sys-0.5, rust-dirs-sys-0.4, rust-dirs-sys-0.3, rust-dirs-sys-next-0.1, rust-discard-1, rust-displaydoc-0.2, rust-dissimilar-1, rust-divan-0.1, rust-divan-macros-0.1, rust-dlib-0.5, rust-dlib-0.4, rust-dlv-list-0.5, rust-dlv-list-0.3, rust-dlv-list-0.2, rust-dns-lookup-2, rust-dns-parser-0.8, rust-dns-sd-0.1, rust-doc-comment-0.3, rust-dockworker-0.5, rust-k8s-openapi-0.22, rust-compose-spec-macros-0.1, rust-compose-spec-0.2, rust-docmatic-0.1, rust-docopt-1, rust-docopt-0.7, rust-docopt-0.6, rust-doctest-file-1, rust-document-features-0.2, rust-documented-macros-0.9, rust-documented-0.9, rust-documented-0.6, rust-documented-macros-0.6, rust-dogged-0.2, rust-dot-writer-0.1, rust-dotenv-0.15, rust-dotenv-0.13, rust-dotenv-0.10, rust-dotenvy-0.15, rust-downcast-0.11, rust-downcast-rs-1, rust-dpc-pariter-0.4, rust-draw-state-0.8, rust-dtoa-1, rust-dtoa-0.4, rust-dtoa-short-0.3, rust-dtparse-2, rust-duct-0.13, rust-duplicate-1, rust-duplicate-macrotest-1, rust-dwrote-0.11, rust-dyn-clone-1, rust-easy-cast-0.5, rust-easy-cast-0.4, rust-easy-parallel-3, rust-ecb-0.1, rust-edit-0.1, rust-edit-distance-2, rust-editdistancek-1, rust-ego-tree-0.6, rust-either-1, rust-elain-0.3, rust-xmas-elf-0.9, rust-elf-0.0.10, rust-emacs-0.19, rust-emacs-0.18, rust-emacs-0.11, rust-emacs-macros-0.17, rust-emacs-macros-0.11, rust-emacs-module-0.18, rust-emacs-module-0.10, rust-emacs-org-link-parser-0.1, rust-email-0.0.20, rust-embedded-io-0.6, rust-embedded-io-0.4, rust-eml-parser-0.1, rust-emojis-0.6, rust-emojis-0.5, rust-empfindung-0.2, rust-ena-0.14, rust-ena-0.13, rust-encode-unicode-1, rust-encode-unicode-0.3, rust-encoding-0.2, rust-encoding-index-japanese-1.20141219, rust-encoding-index-korean-1.20141219, rust-encoding-index-simpchinese-1.20141219, rust-encoding-index-singlebyte-1.20141219, rust-encoding-index-tests-0.1, rust-encoding-index-tradchinese-1.20141219, rust-encoding-rs-0.8, rust-encoding-rs-io-0.1, rust-endi-1, rust-endian-type-0.1, rust-enquote-1, rust-entities-1, rust-enum-as-inner-0.6, rust-enum-as-inner-0.5, rust-enum-as-inner-0.3, rust-enum-as-inner-0.2, rust-enum-derive-0.1, rust-enum-dispatch-0.3, rust-enum-map-0.6, rust-enum-map-derive-0.4, rust-enum-primitive-0.1, rust-enum-primitive-derive-0.2, rust-enumber-0.3, rust-enumflags2-0.7, rust-enumflags2-0.6, rust-enumflags2-derive-0.7, rust-enumflags2-derive-0.6, rust-enum-ordinalize-4, rust-enum-ordinalize-derive-4, rust-enumset-1, rust-enumset-derive-0.10, rust-env-filter-0.1, rust-env-home-0.1, rust-env-logger-0.11, rust-env-logger-0.10, rust-env-logger-0.9, rust-env-logger-0.8, rust-env-logger-0.7, rust-env-logger-0.6, rust-env-logger-0.5, rust-env-logger-0.4, rust-env-logger-0.3, rust-env-proxy-0.4, rust-environment-0.1, rust-envy-0.4, rust-equivalent-1, rust-erased-serde-0.4, rust-erased-serde-0.3, rust-errno-0.3, rust-errno-0.2, rust-errno-dragonfly-0.1, rust-error-chain-0.12, rust-error-chain-0.11, rust-error-chain-0.10, rust-error-code-3, rust-error-code-2, rust-display-error-chain-0.2, rust-escape8259-0.5, rust-escaper-0.1, rust-escargot-0.5, rust-etcetera-0.8, rust-etherparse-0.13, rust-etherparse-0.9, rust-ethnum-1, rust-ethnum-intrinsics-1, rust-ethtool-0.2, rust-eui48-1, rust-evdev-0.12, rust-evdev-rs-0.6, rust-evdev-sys-0.2, rust-event-listener-5, rust-event-listener-4, rust-event-listener-3, rust-event-listener-2, rust-event-listener-strategy-0.5, rust-event-listener-strategy-0.4, rust-event-listener-strategy-0.1, rust-exacl-0.12, rust-exacl-0.11, rust-executable-path-1, rust-execute-command-tokens-0.1, rust-execute-command-macro-impl-0.1, rust-execute-command-macro-0.1, rust-execute-0.2, rust-executors-0.9, rust-exhaustigen-0.1, rust-exitcode-1, rust-expat-sys-2, rust-expect-test-1, rust-expectest-0.12, rust-expectrl-0.7, rust-extract-map-0.1, rust-extreme-666, rust-eyeball-0.8, rust-eyeball-im-0.4, rust-eyeball-im-util-0.5, rust-eyre-0.6, rust-faccess-0.2, rust-failure-0.1, rust-failure-derive-0.1, rust-fake-simd-0.1, rust-fakeit-1, rust-fallible-collections-0.5, rust-fallible-collections-0.4, rust-fallible-iterator-0.3, rust-fallible-iterator-0.2, rust-fallible-streaming-iterator-0.1, rust-fancy-regex-0.14, rust-fancy-regex-0.13, rust-fancy-regex-0.11, rust-fancy-regex-0.10, rust-fancy-regex-0.7, rust-fast-chemail-0.9, rust-fast-float-0.2, rust-faster-hex-0.10, rust-faster-hex-0.9, rust-faster-hex-0.8, rust-fasthash-0.4, rust-fasthash-sys-0.3, rust-fastq-0.6, rust-fastrand-2, rust-fastrand-1, rust-fd-lock-4, rust-fd-lock-3, rust-fdlimit-0.1, rust-feature-probe-0.1, rust-feed-rs-0.6, rust-feedbin-api-0.1, rust-feedly-api-0.4, rust-femme-2, rust-femme-1, rust-fern-0.7, rust-fern-0.6, rust-fetch-data-0.2, rust-fetch-unroll-0.3, rust-fever-api-0.2, rust-ff-0.13, rust-ff-0.12, rust-ff-derive-0.13, rust-ff-derive-0.12, rust-field-offset-0.3, rust-figment-0.10, rust-file-diff-1, rust-file-id-0.2, rust-filedescriptor-0.8, rust-filename-0.1, rust-filesize-0.2, rust-filetime-0.2, rust-filetime-0.1, rust-filetime-creation-0.1, rust-filetreelist-0.5, rust-find-crate-0.6, rust-find-cuda-helper-0.2, rust-findshlibs-0.10, rust-finl-unicode-1, rust-fixed-1, rust-fixedbitset-0.5, rust-fixedbitset-0.4, rust-fixedbitset-0.2, rust-fixedbitset-0.1, rust-flagset-0.4, rust-flaky-test-0.2, rust-flaky-test-impl-0.2, rust-flame-0.2, rust-flamer-0.4, rust-flatbuffers-23, rust-flatbuffers-2, rust-float-cmp-0.10, rust-float-cmp-0.9, rust-float-cmp-0.8, rust-float-cmp-0.6, rust-float-cmp-0.5, rust-float-cmp-0.4, rust-float-eq-1, rust-float-eq-derive-1, rust-float-ord-0.3, rust-float-ord-0.2, rust-fluid-0.4, rust-fluid-attributes-0.4, rust-flume-0.11, rust-flume-0.10, rust-flume-0.9, rust-fnv-1, rust-foldhash-0.1, rust-font-kit-0.11, rust-font8x8-0.3, rust-force-send-sync-1, rust-foreign-types-0.5, rust-foreign-types-0.3, rust-foreign-types-macros-0.2, rust-foreign-types-macros-0.1, rust-foreign-types-shared-0.3, rust-foreign-types-shared-0.2, rust-foreign-types-shared-0.1, rust-foreign-vec-0.1, rust-fork-0.2, rust-form-urlencoded-1, rust-fragile-2, rust-freetype-0.7, rust-freetype-rs-0.37, rust-freetype-rs-0.36, rust-freetype-rs-0.35, rust-freetype-rs-0.32, rust-freetype-rs-0.26, rust-freetype-sys-0.21, rust-freetype-sys-0.20, rust-freetype-sys-0.17, rust-freetype-sys-0.13, rust-from-variants-0.6, rust-from-variants-impl-0.6, rust-fs-err-3, rust-fs-err-2, rust-fs-extra-1, rust-fs-utils-1, rust-fs2-0.4, rust-fs2-0.2, rust-fs4-0.12, rust-fs4-0.8, rust-fsio-0.4, rust-fslock-0.2, rust-fst-0.4, rust-fuchsia-cprng-0.1, rust-fuchsia-zircon-0.3, rust-fuchsia-zircon-sys-0.3, rust-funty-2, rust-funty-1, rust-funty-1.2.0-yanked, rust-futf-0.1, rust-future-queue-0.3, rust-futures-0.3, rust-futures-0.1, rust-futures-channel-0.3, rust-futures-channel-preview-0.3, rust-futures-core-0.3, rust-futures-core-preview-0.3, rust-futures-cpupool-0.1, rust-futures-enum-0.1, rust-futures-executor-0.3, rust-futures-executor-preview-0.3, rust-futures-intrusive-0.5, rust-futures-io-0.3, rust-futures-io-preview-0.3, rust-futures-join-macro-preview-0.3, rust-futures-lite-2, rust-futures-lite-1, rust-futures-lite-0.1, rust-futures-macro-0.3, rust-futures-preview-0.3, rust-futures-select-macro-preview-0.3, rust-futures-sink-0.3, rust-futures-sink-preview-0.3, rust-futures-task-0.3, rust-futures-test-0.3, rust-futures-timer-3, rust-futures-timer-1, rust-futures-timer-0.3, rust-futures-timer-0.1, rust-futures-util-0.3, rust-futures-util-preview-0.3, rust-fuzzy-matcher-0.3, rust-fxhash-0.2, rust-fxprof-processed-profile-0.6, rust-galil-seiferas-0.1, rust-gat-lending-iterator-0.1, rust-gat-std-0.1, rust-gat-std-proc-0.1, rust-gcc-0.3, rust-generational-arena-0.2, rust-generator-0.8, rust-generator-0.7, rust-generator-0.6, rust-const-default-derive-0.2, rust-const-default-1, rust-generic-array-1, rust-generic-array-0.14, rust-generic-array-0.13, rust-generic-array-0.12, rust-generic-array-0.8, rust-genetlink-0.2, rust-genmesh-0.6, rust-geo-types-0.7, rust-geo-types-0.6, rust-getch-0.3, rust-gethostname-0.4, rust-gethostname-0.3, rust-gethostname-0.2, rust-getopts-0.2, rust-r-efi-5, rust-getrandom-0.3, rust-getrandom-0.2, rust-getrandom-0.1, rust-getset-0.1, rust-getset-0.0.9, rust-gettext-rs-0.7, rust-gettext-sys-0.21, rust-gfa-0.10, rust-gg-alloc-1, rust-gh-emoji-1, rust-ghost-0.1, rust-gimli-0.31, rust-gimli-0.29, rust-glam-0.24, rust-glam-0.23, rust-glam-0.22, rust-glam-0.21, rust-glam-0.20, rust-glam-0.19, rust-glam-0.18, rust-glam-0.17, rust-glam-0.16, rust-glam-0.15, rust-glam-0.14, rust-glam-0.13, rust-glium-0.32, rust-glium-0.31, rust-glium-0.25, rust-glob-0.3, rust-glob-0.2, rust-glob-match-0.2, rust-globset-0.4, rust-globwalk-0.9, rust-globwalk-0.8, rust-gloo-timers-0.3, rust-gloo-timers-0.2, rust-gmp-mpfr-sys-1, rust-binfarce-0.2, rust-goblin-0.9, rust-goblin-0.8, rust-goblin-0.7, rust-goldenfile-1, rust-graphql-client-0.14, rust-graphql-client-codegen-0.14, rust-graphql-introspection-query-0.2, rust-graphql-parser-0.4, rust-graphql-parser-0.3, rust-graphql-query-derive-0.14, rust-greetd-ipc-0.10, rust-grep-0.3, rust-grep-0.2, rust-grep-cli-0.1, rust-grep-matcher-0.1, rust-grep-pcre2-0.1, rust-grep-printer-0.2, rust-grep-printer-0.1, rust-grep-regex-0.1, rust-grep-searcher-0.1, rust-griddle-0.5, rust-group-0.13, rust-groupable-0.2, rust-guess-host-triple-0.1, rust-gumdrop-0.8, rust-gumdrop-derive-0.8, rust-guppy-0.17, rust-guppy-summaries-0.7, rust-guppy-workspace-hack-0.1, rust-half-2, rust-half-1, rust-halfbrown-0.2, rust-hamming-0.1, rust-handlebars-5, rust-handlebars-4, rust-hash-hasher-2, rust-hash32-0.3, rust-hash32-0.2, rust-hash32-0.1, rust-hash32-derive-0.1, rust-hashbag-0.1, rust-hashbrown-0.15, rust-hashbrown-0.14, rust-hashbrown-0.13, rust-hashbrown-0.12, rust-hashbrown-0.11, rust-hashbrown-0.9, rust-hashbrown-0.8, rust-hashbrown-0.6, rust-hashbrown-0.3, rust-hashlink-0.9, rust-hashlink-0.8, rust-hdrhistogram-7, rust-heapless-0.8, rust-heapless-0.7, rust-heapless-0.6, rust-heapless-0.5, rust-heapsize-0.4, rust-heapsize-0.3, rust-heapsize-plugin-0.1, rust-heck-0.5, rust-heck-0.4, rust-heck-0.3, rust-hermit-abi-0.4, rust-hermit-abi-0.3, rust-hermit-abi-0.2, rust-hermit-abi-0.1, rust-hex-0.4, rust-hex-0.3, rust-hex-0.2, rust-hex-literal-0.4, rust-hex-literal-0.3, rust-hex-literal-0.2, rust-hex-literal-0.1, rust-hex-literal-impl-0.2, rust-hex-literal-impl-0.1, rust-hex-slice-0.1, rust-hexf-parse-0.2, rust-hexf-parse-0.1, rust-hidapi-2, rust-hifitime-3, rust-histo-1, rust-home-0.5, rust-hostname-0.4, rust-hostname-0.3, rust-hostname-0.1, rust-hostname-validator-1, rust-hound-3, rust-html-escape-0.2, rust-html5ever-0.27, rust-html5ever-0.26, rust-html5ever-0.25, rust-html5ever-0.24, rust-html5ever-0.23, rust-htmlescape-0.3, rust-hts-sys-2, rust-human-date-parser-0.2, rust-human-date-parser-0.1, rust-human-format-1, rust-human-panic-1, rust-human-sort-0.2, rust-humansize-2, rust-humansize-1, rust-humantime-2, rust-humantime-1, rust-humantime-serde-1, rust-hxdmp-0.2, rust-hyphenation-0.8, rust-hyphenation-commons-0.8, rust-hyprland-0.3, rust-hyprland-macros-0.3, rust-iai-0.1, rust-iai-macro-0.1, rust-iana-time-zone-0.1, rust-iana-time-zone-haiku-0.1, rust-ical-0.11, rust-ical-0.10, rust-icu-collections-1, rust-icu-locid-1, rust-icu-locid-transform-1, rust-icu-locid-transform-data-1, rust-icu-normalizer-1, rust-icu-normalizer-data-1, rust-icu-properties-1, rust-icu-properties-data-1, rust-icu-provider-1, rust-icu-provider-macros-1, rust-id-arena-2, rust-idea-0.5, rust-ident-case-1, rust-idna-1, rust-idna-0.5, rust-idna-0.4, rust-idna-0.3, rust-idna-0.2, rust-idna-0.1, rust-idna-adapter-1, rust-ieee754-0.2, rust-if-addrs-0.10, rust-if-addrs-0.7, rust-if-addrs-0.6, rust-if-addrs-sys-0.3, rust-if-chain-1, rust-ignore-0.4, rust-ignore-files-1, rust-ihex-3, rust-im-rc-15, rust-imara-diff-0.1, rust-imbl-2, rust-imbl-sized-chunks-0.1, rust-impl-more-0.1, rust-impl-serde-0.3, rust-impl-trait-for-tuples-0.2, rust-impls-1, rust-include-dir-0.7, rust-include-dir-macros-0.7, rust-include-flate-0.3, rust-include-flate-0.2, rust-include-flate-0.1, rust-include-flate-codegen-0.2, rust-include-flate-codegen-0.1, rust-include-flate-codegen-exports-0.1, rust-indent-write-2, rust-indenter-0.3, rust-indexmap-2, rust-indexmap-1, rust-indexmap-1.7, rust-indextree-4, rust-indextree-macros-0.1, rust-indicatif-0.17, rust-indicatif-0.16, rust-indicatif-0.15, rust-indoc-2, rust-indoc-1, rust-indoc-0.3, rust-indoc-impl-0.3, rust-infer-0.15, rust-infer-0.2, rust-inferno-0.11, rust-inflections-1, rust-inflector-0.11, rust-inlinable-string-0.1, rust-inline-c-0.1, rust-inline-c-macro-0.1, rust-inotify-0.11, rust-inotify-0.10, rust-inotify-0.9, rust-inotify-0.8, rust-inotify-0.7, rust-inotify-sys-0.1, rust-inout-0.1, rust-input-buffer-0.5, rust-input-buffer-0.3, rust-inquire-0.7, rust-insta-1, rust-insta-0.16, rust-insta-0.8, rust-instability-0.3, rust-instant-0.1, rust-integer-encoding-3, rust-integer-encoding-1, rust-interception-sys-0.1, rust-interpolate-name-0.2, rust-interprocess-2, rust-interprocess-1, rust-intmap-0.7, rust-invalidstring-0.1, rust-inventory-0.3, rust-inventory-0.2, rust-inventory-0.1, rust-inventory-impl-0.1, rust-io-close-0.3, rust-ioctl-rs-0.1, rust-io-extras-0.18, rust-io-lifetimes-2, rust-io-lifetimes-1, rust-io-lifetimes-0.7, rust-io-uring-0.6, rust-io-uring-0.5, rust-ioslice-0.6, rust-iovec-0.1, rust-ipnet-2, rust-ipnetwork-0.20, rust-ipnetwork-0.18, rust-ipnetwork-0.17, rust-iptables-0.5, rust-iri-string-0.7, rust-irx-config-3, rust-is-ci-1, rust-is-debug-1, rust-is-docker-0.2, rust-is-executable-1, rust-is-macro-0.1, rust-is-terminal-0.4, rust-is-terminal-polyfill-1, rust-is-wsl-0.4, rust-iso7816-tlv-0.4, rust-iso8601-0.6, rust-iso8601-0.4, rust-iso8601-0.3, rust-isolang-2, rust-itertools-0.14, rust-itertools-0.13, rust-itertools-0.12, rust-itertools-0.11, rust-itertools-0.10, rust-itertools-0.9, rust-itertools-0.8, rust-itertools-0.7, rust-itertools-0.5, rust-itertools-num-0.1, rust-itoa-1, rust-itoa-0.4, rust-itoa-0.3, rust-itoap-1, rust-ittapi-0.4, rust-ittapi-sys-0.4, rust-ivf-0.1, rust-java-locator-0.1, rust-javascriptcore-rs-sys-0.2, rust-jemalloc-ctl-0.5, rust-jemalloc-sys-0.5, rust-jemalloc-sys-0.3, rust-jemalloc-sys-0.1, rust-jemallocator-0.5, rust-jemallocator-0.3, rust-jemallocator-0.1, rust-jetscii-0.5, rust-jetscii-0.3, rust-jiff-0.1, rust-jiff-tzdb-0.1, rust-jiff-tzdb-platform-0.1, rust-jiter-0.7, rust-jiter-0.5, rust-jiter-0.2, rust-jiter-0.0.6, rust-jiter-0.0.4, rust-jni-0.21, rust-jni-0.19, rust-jni-0.18, rust-jni-0.14, rust-jni-glue-0.0.10, rust-jni-sys-0.3, rust-jobserver-0.1, rust-joinery-2, rust-js-sys-0.3, rust-json-0.12, rust-json-deserializer-0.4, rust-jsonpath-lib-0.3, rust-jsonrpc-core-18, rust-jsonwebtoken-9, rust-juliex-0.3, rust-juniper-0.15, rust-juniper-0.14, rust-juniper-codegen-0.15, rust-juniper-codegen-0.14, rust-jwalk-0.8, rust-k9-0.12, rust-k9-0.11, rust-katex-doc-0.1, rust-keccak-0.1, rust-keyring-2, rust-khronos-api-3, rust-koibumi-base32-0.0.2, rust-konst-0.2, rust-konst-macro-rules-0.2, rust-konst-proc-macros-0.2, rust-kqueue-1, rust-kqueue-sys-1, rust-kstring-2, rust-kuchiki-0.8, rust-kv-log-macro-1, rust-lab-0.11, rust-lalrpop-0.20, rust-lalrpop-0.19, rust-lalrpop-0.17, rust-lalrpop-util-0.20, rust-lalrpop-util-0.19, rust-lalrpop-util-0.17, rust-language-tags-0.3, rust-language-tags-0.2, rust-lapack-0.19, rust-lapack-sys-0.14, rust-layout-rs-0.1, rust-lazy-bytes-cast-5, rust-lazy-regex-3, rust-lazy-regex-2, rust-lazy-regex-proc-macros-3, rust-lazy-regex-proc-macros-2, rust-lazy-static-1, rust-lazy-static-0.2, rust-lazy-static-0.1, rust-lazycell-1, rust-lddtree-0.3, rust-leb128-0.2, rust-leb128fmt-0.1, rust-lebe-0.5, rust-lenient-semver-0.4, rust-lenient-semver-parser-0.4, rust-lenient-semver-version-builder-0.4, rust-lenient-version-0.4, rust-lettre-0.9, rust-lettre-email-0.9, rust-levenshtein-1, rust-lexical-6, rust-lexical-5, rust-lexical-core-0.8, rust-lexical-core-0.7, rust-lexical-parse-float-0.8, rust-parse-int-0.6, rust-lexical-parse-integer-0.8, rust-lexical-util-0.8, rust-lexical-write-float-0.8, rust-lexical-write-integer-0.8, rust-lexiclean-0.0.1, rust-lexopt-0.3, rust-libc-0.2, rust-libc-print-0.1, rust-libc-stdhandle-0.1, rust-libcst-1, rust-libcst-derive-1, rust-libdbus-sys-0.2, rust-libfuzzer-sys-0.4, rust-libloading-0.8, rust-libloading-0.7, rust-libloading-0.6, rust-libloading-0.5, rust-libm-0.2, rust-libm-0.1, rust-libmacchina-8, rust-libmath-0.2, rust-libmdns-0.7, rust-libmimalloc-sys-0.1, rust-libnghttp2-sys-0.1, rust-libproc-0.14, rust-libradicl-0.4, rust-libredox-0.1, rust-libredox-0.0.2, rust-libsensors-sys-0.2, rust-libspa-0.7, rust-libspa-sys-0.7, rust-libssh2-sys-0.3, rust-libssh2-sys-0.2, rust-libtest-mimic-0.8, rust-libtest-mimic-0.7, rust-libtest-mimic-0.6, rust-libtest-mimic-0.5, rust-libtest-mimic-0.4, rust-libtest-mimic-0.3, rust-libudev-sys-0.1, rust-libudev-0.3, rust-libusb1-sys-0.7, rust-libxml-0.3, rust-libxml-0.2, rust-lifeguard-0.6, rust-line-span-0.1, rust-line-col-0.2, rust-line-numbers-0.3, rust-linear-map-1, rust-linecount-0.1, rust-link-cplusplus-1, rust-linked-hash-map-0.5, rust-linked-hash-map-0.4, rust-linked-hash-map-0.3, rust-linkify-0.7, rust-linux-keyutils-0.2, rust-linux-raw-sys-0.9, rust-linux-raw-sys-0.6, rust-linux-raw-sys-0.4, rust-linux-raw-sys-0.3, rust-linux-raw-sys-0.1, rust-linux-raw-sys-0.0.46, rust-listenfd-1, rust-litemap-0.7, rust-litrs-0.4, rust-llvm-bitcode-0.1, rust-local-channel-0.1, rust-local-ip-address-0.5, rust-local-waker-0.1, rust-locale-0.2, rust-locale-config-0.3, rust-lock-api-0.4, rust-lock-api-0.3, rust-lock-api-0.2, rust-lock-api-0.1, rust-lockfree-object-pool-0.1, rust-log-0.4, rust-log-0.3, rust-log-reroute-0.1, rust-logos-0.13, rust-logos-0.12, rust-logos-codegen-0.13, rust-logos-derive-0.13, rust-logos-derive-0.12, rust-loom-0.7, rust-loom-0.5, rust-loom-0.4, rust-loom-0.3, rust-loom-0.2, rust-loom-0.1, rust-loop9-0.1, rust-lopdf-0.32, rust-lru-0.12, rust-lru-0.10, rust-lru-0.9, rust-lru-0.7, rust-lru-cache-0.1, rust-lscolors-0.19, rust-lscolors-0.17, rust-lscolors-0.16, rust-lscolors-0.13, rust-lsp-server-0.7, rust-lsp-types-0.95, rust-lsp-types-0.94, rust-m-lexer-0.0.4, rust-mac-0.1, rust-mac-address-1, rust-macaddr-1, rust-macho-0.4, rust-macro-rules-attribute-proc-macro-0.2, rust-macro-rules-attribute-0.2, rust-macrotest-1, rust-magic-crypt-3, rust-magic-string-0.3, rust-magma-0.8, rust-maildir-0.6, rust-maildir-0.5, rust-mailparse-0.15, rust-mailparse-0.14, rust-mailparse-0.13, rust-malloc-buf-1, rust-malloc-buf-0.0, rust-manifest-dir-macros-0.1, rust-maplit-1, rust-mapproj-0.3, rust-marked-yaml-0.7, rust-markup-0.13, rust-markup-proc-macro-0.13, rust-markup5ever-0.12, rust-markup5ever-0.11, rust-markup5ever-0.10, rust-markup5ever-0.9, rust-markup5ever-0.8, rust-markup5ever-rcdom-0.3, rust-markup5ever-rcdom-0.2, rust-markup5ever-rcdom-0.1, rust-mas-iana-0.7, rust-match-cfg-0.1, rust-matchers-0.1, rust-matchers-0.0.1, rust-matches-0.1, rust-matchit-0.7, rust-material-colors-0.4, rust-matrixcompare-0.3, rust-matrixcompare-0.2, rust-matrixcompare-core-0.1, rust-matrixcompare-mock-0.1, rust-matrixmultiply-0.3, rust-matrixmultiply-0.2, rust-matrixmultiply-0.1, rust-maybe-async-0.2, rust-maybe-owned-0.3, rust-maybe-rayon-0.1, rust-maybe-uninit-2, rust-mbox-0.7, rust-memchr-2, rust-memchr-1, rust-memchr-0.1, rust-memfd-0.6, rust-memmap-0.7, rust-memmap-0.6, rust-memmap-0.2, rust-memmap2-0.9, rust-memmap2-0.8, rust-memmap2-0.7, rust-memmap2-0.6, rust-memmap2-0.5, rust-memmap2-0.3, rust-memmap2-0.1, rust-memmem-0.1, rust-memo-map-0.3, rust-memoffset-0.9, rust-memoffset-0.8, rust-memoffset-0.7, rust-memoffset-0.6, rust-memoffset-0.5, rust-memory-units-0.4, rust-memsec-0.6, rust-memsec-0.5, rust-memuse-0.2, rust-merge-0.1, rust-merge-derive-0.1, rust-merlin-3, rust-merlin-2, rust-metrics-0.14, rust-metrics-macros-0.2, rust-metrohash-1, rust-miette-7, rust-miette-5, rust-miette-derive-7, rust-miette-derive-5, rust-migrations-internals-2, rust-migrations-internals-1, rust-migrations-macros-2, rust-migrations-macros-1, rust-mimalloc-0.1, rust-mimalloc-rust-0.1, rust-mimalloc-rust-sys-1, rust-mime-0.3, rust-mime-0.2, rust-mime-guess-2, rust-mime-guess-1, rust-mini-internal-0.1, rust-mini-moka-0.10, rust-minicov-0.3, rust-miniflux-api-0.3, rust-minijinja-2, rust-minimad-0.13, rust-minimad-0.9, rust-minimal-lexical-0.2, rust-miniserde-0.1, rust-mint-0.5, rust-minus-5, rust-mio-1, rust-mio-0.8, rust-mio-0.7, rust-mio-0.6, rust-mio-aio-0.9, rust-mio-aio-0.8, rust-mio-extras-2, rust-mio-named-pipes-0.1, rust-mio-uds-0.6, rust-mirai-annotations-1, rust-mktemp-0.4, rust-mmap-fixed-0.1, rust-modifier-0.1, rust-monostate-0.1, rust-monostate-impl-0.1, rust-more-asserts-0.3, rust-more-asserts-0.2, rust-mozim-0.2, rust-mptcp-pm-0.1, rust-msvc-demangler-0.9, rust-muldiv-1, rust-muldiv-0.2, rust-multer-3, rust-multer-2, rust-multimap-0.10, rust-mukti-metadata-0.3, rust-multimap-0.8, rust-multipart-rs-0.1, rust-multiversion-0.7, rust-multiversion-0.6, rust-multiversion-macros-0.7, rust-multiversion-macros-0.6, rust-mustache-0.9, rust-nalgebra-0.32, rust-nalgebra-0.30, rust-nalgebra-0.29, rust-nalgebra-0.27, rust-nalgebra-0.26, rust-nalgebra-0.21, rust-nalgebra-0.19, rust-nalgebra-macros-0.2, rust-nalgebra-macros-0.1, rust-nanorand-0.7, rust-nanorand-0.5, rust-nanorand-0.4, rust-nanoserde-0.1, rust-nanoserde-derive-0.1, rust-napi-2, rust-napi-build-1, rust-napi-derive-2, rust-napi-derive-backend-1, rust-napi-sys-2, rust-nasm-rs-0.3, rust-nasm-rs-0.2, rust-natord-1, rust-nb-connect-1, rust-ndarray-0.16, rust-ndarray-0.15, rust-ndarray-0.14, rust-ndarray-0.13, rust-ndarray-0.12, rust-ndarray-npy-0.9, rust-ndarray-rand-0.15, rust-ndk-0.9, rust-ndk-0.8, rust-ndk-0.7, rust-ndk-0.6, rust-ndk-0.5, rust-ndk-0.2, rust-ndk-context-0.1, rust-ndk-glue-0.7, rust-ndk-glue-0.6, rust-ndk-glue-0.5, rust-ndk-glue-0.2, rust-ndk-macro-0.3, rust-ndk-macro-0.2, rust-ndk-sys-0.6, rust-ndk-sys-0.5, rust-ndk-sys-0.4, rust-ndk-sys-0.3, rust-ndk-sys-0.2, rust-needletail-0.4, rust-neli-0.6, rust-neli-0.5, rust-neli-0.4, rust-neli-proc-macros-0.1, rust-neli-wifi-0.6, rust-neso-0.5, rust-nested-0.1, rust-net2-0.2, rust-netlink-packet-audit-0.5, rust-netlink-packet-core-0.7, rust-netlink-packet-generic-0.3, rust-netlink-packet-route-0.21, rust-netlink-packet-route-0.19, rust-netlink-packet-route-0.18, rust-netlink-packet-utils-0.5, rust-netlink-proto-0.11, rust-netlink-sys-0.8, rust-netmap-sys-0.1, rust-new-debug-unreachable-1, rust-new-string-template-1, rust-news-flash-1, rust-newline-converter-0.3, rust-newline-converter-0.2, rust-newsblur-api-0.1, rust-newtype-derive-0.1, rust-newtype-uuid-1, rust-nftables-0.5, rust-nibble-vec-0.1, rust-nispor-1, rust-nitrokey-0.9, rust-nitrokey-sys-3, rust-nitrokey-test-0.5, rust-nitrokey-test-0.3, rust-nitrokey-test-state-0.1, rust-nix-0.29, rust-nix-0.28, rust-nix-0.27, rust-nix-0.26, rust-nix-0.25, rust-nix-0.24, rust-nix-0.23, rust-nix-0.22, rust-nix-0.21, rust-nix-0.20, rust-nix-0.19, rust-nix-0.18, rust-nix-0.15, rust-nix-0.14, rust-nl80211-0.0.2, rust-no-color-0.1, rust-no-panic-0.1, rust-no-std-compat-0.4, rust-no-std-net-0.6, rust-no-std-net-0.5, rust-nodrop-0.1, rust-nodrop-union-0.1, rust-nom-7, rust-nom-6, rust-nom-5, rust-nom-4, rust-nom-3, rust-nom-2, rust-nom-derive-0.10, rust-nom-derive-impl-0.10, rust-nom-locate-4, rust-nom8-0.2, rust-nonempty-0.7, rust-nonmax-0.5, rust-noop-proc-macro-0.3, rust-normalize-line-endings-0.3, rust-normalize-line-endings-0.2, rust-normalize-path-0.2, rust-normpath-1, rust-normpath-0.3, rust-normpath-0.2, rust-notify-7, rust-notify-6, rust-notify-5, rust-notify-4, rust-notify-debouncer-full-0.3, rust-notify-debouncer-mini-0.4, rust-notify-rust-4, rust-notify-types-1, rust-notmuch-0.8, rust-now-0.1, rust-ntapi-0.4, rust-ntapi-0.3, rust-ntest-0.9, rust-ntest-0.8, rust-ntest-0.7, rust-ntest-proc-macro-helper-0.8, rust-ntest-proc-macro-helper-0.7, rust-ntest-test-cases-0.9, rust-ntest-test-cases-0.8, rust-ntest-test-cases-0.7, rust-ntest-timeout-0.9, rust-ntest-timeout-0.8, rust-ntest-timeout-0.7, rust-ntex-bytes-0.1, rust-nucleo-0.5, rust-nucleo-0.2, rust-nucleo-matcher-0.3, rust-nucleo-matcher-0.2, rust-num-0.4, rust-num-0.3, rust-num-0.2, rust-num-0.1, rust-num-bigint-0.4, rust-num-bigint-0.3, rust-num-bigint-0.2, rust-num-bigint-0.1, rust-num-bigint-dig-0.8, rust-num-bigint-dig-0.7, rust-num-cmp-0.1, rust-num-complex-0.4, rust-num-complex-0.3, rust-num-complex-0.2, rust-num-complex-0.1, rust-num-conv-0.1, rust-num-cpus-1, rust-num-derive-0.4, rust-num-derive-0.3, rust-num-derive-0.2, rust-num-enum-0.7, rust-num-enum-0.6, rust-num-enum-0.5, rust-num-enum-0.4, rust-num-enum-derive-0.7, rust-num-enum-derive-0.6, rust-num-enum-derive-0.5, rust-num-enum-derive-0.4, rust-num-format-0.4, rust-num-format-windows-0.4, rust-num-integer-0.1, rust-num-iter-0.1, rust-num-rational-0.4, rust-num-rational-0.3, rust-num-rational-0.2, rust-num-rational-0.1, rust-num-threads-0.1, rust-num-traits-0.2, rust-num-traits-0.1, rust-number-prefix-0.4, rust-number-prefix-0.3, rust-numpy-0.22, rust-numpy-0.21, rust-numtoa-0.2, rust-numtoa-0.1, rust-nvml-wrapper-0.10, rust-nvml-wrapper-sys-0.8, rust-oauth2-types-0.7, rust-obfstr-0.3, rust-obj-0.10, rust-obj-0.9, rust-object-0.36, rust-ruzstd-0.6, rust-object-0.35, rust-object-0.32, rust-object-0.30, rust-object-0.29, rust-object-pool-0.5, rust-object-store-0.11, rust-object-store-0.9, rust-octocrab-0.41, rust-octocrab-0.39, rust-odbc-api-0.36, rust-odbc-sys-0.21, rust-odds-0.4, rust-odds-0.3, rust-odds-0.2, rust-oem-cp-2, rust-omnipath-0.1, rust-once-cell-1, rust-oncemutex-0.1, rust-onenote-parser-0.3, rust-onenote-parser-for-clamav, rust-onig-6, rust-onig-sys-69.6, rust-oorandom-11, rust-opaque-debug-0.3, rust-opaque-debug-0.2, rust-open-5, rust-open-4, rust-open-3, rust-open-2, rust-opener-0.6, rust-opener-0.7, rust-openssh-keys-0.6, rust-openssl-0.10, rust-openssl-0.7, rust-openssl-macros-0.1, rust-openssl-probe-0.1, rust-openssl-sys-0.9, rust-openssl-sys-0.7, rust-openssl-sys-extras-0.7, rust-opentelemetry-0.21, rust-opml-1, rust-optfield-0.3, rust-optick-1, rust-option-ext-0.2, rust-option-operations-0.5, rust-option-operations-0.4, rust-option-set-0.2, rust-option-set-0.1, rust-orbclient-0.3, rust-orc-format-0.3, rust-ord-subset-3, rust-ordered-float-4, rust-ordered-float-3, rust-ordered-float-2, rust-ordered-float-1, rust-ordered-multimap-0.7, rust-ordered-multimap-0.4, rust-ordered-multimap-0.3, rust-ordered-stream-0.2, rust-ordermap-0.3, rust-ordermap-0.2, rust-orgize-0.9, rust-os-display-0.1, rust-os-info-3, rust-os-pipe-1, rust-os-pipe-0.9, rust-os-release-0.1, rust-os-str-bytes-6, rust-os-str-bytes-4, rust-os-str-bytes-2, rust-ouroboros-0.18, rust-ouroboros-0.17, rust-ouroboros-0.15, rust-ouroboros-0.14, rust-ouroboros-macro-0.18, rust-ouroboros-macro-0.17, rust-ouroboros-macro-0.15, rust-ouroboros-macro-0.14, rust-overload-0.1, rust-owned-ttf-parser-0.25, rust-owned-ttf-parser-0.19, rust-owned-ttf-parser-0.6, rust-owning-ref-0.4, rust-owning-ref-0.3, rust-owo-colors-4, rust-owo-colors-3, rust-owo-colors-1, rust-packed-simd-0.3, rust-packed-simd-2-0.3, rust-pad-0.1, rust-page-size-0.6, rust-pager-0.16, rust-pam-sys-0.5, rust-pandoc-0.8, rust-papergrid-0.12, rust-papergrid-0.11, rust-parasail-sys-0.2, rust-parasailors-0.3, rust-paris-1, rust-paris-log-1, rust-parity-scale-codec-2, rust-parity-scale-codec-derive-2, rust-parity-wasm-0.41, rust-parking-2, rust-parking-1, rust-parking-lot-0.12, rust-parking-lot-0.11, rust-parking-lot-0.10, rust-parking-lot-0.9, rust-parking-lot-0.8, rust-parking-lot-0.7, rust-parking-lot-0.4, rust-parking-lot-core-0.9, rust-parking-lot-core-0.8, rust-parking-lot-core-0.7, rust-parking-lot-core-0.6, rust-parking-lot-core-0.5, rust-parking-lot-core-0.4, rust-parking-lot-core-0.2, rust-parquet-format-async-temp-0.2, rust-parquet-format-safe-0.2, rust-parquet2-0.17, rust-parquet2-0.6, rust-parse-datetime-0.6, rust-parse-display-0.8, rust-parse-display-derive-0.8, rust-parse-zoneinfo-0.3, rust-partial-io-0.5, rust-partial-io-0.3, rust-partial-ref-0.3, rust-partial-ref-derive-0.3, rust-partition-identity-0.3, rust-pasetors-0.7, rust-pasetors-0.6, rust-password-hash-0.5, rust-password-hash-0.4, rust-password-hash-0.3, rust-password-hash-0.2, rust-paste-1, rust-paste-0.1, rust-paste-impl-0.1, rust-paste-test-suite-0.0.0, rust-path-abs-0.5, rust-path-clean-1, rust-path-clean-0.1, rust-path-slash-0.2, rust-path-slash-0.1, rust-pathdiff-0.2, rust-pathfinder-geometry-0.5, rust-pathfinder-simd-0.5, rust-pathsearch-0.2, rust-patricia-tree-0.8, rust-paw-1, rust-paw-attributes-1, rust-paw-raw-1, rust-paw-structopt-1, rust-pcap-1, rust-pcap-0.7, rust-pcap-sys-0.1, rust-pcg-mwc-0.2, rust-pciid-parser-0.6, rust-pcre2-0.2, rust-pcre2-sys-0.2, rust-pcsc-2, rust-pcsc-sys-1, rust-pdqselect-0.1, rust-pear-0.2, rust-pear-0.1, rust-pear-codegen-0.2, rust-pear-codegen-0.1, rust-peeking-take-while-0.1, rust-peg-0.8, rust-peg-0.6, rust-peg-0.5, rust-peg-macros-0.8, rust-peg-macros-0.6, rust-peg-runtime-0.8, rust-peg-runtime-0.6, rust-pem-3, rust-pem-2, rust-pem-1, rust-pem-0.8, rust-pep440-rs-0.6, rust-pep440-rs-0.3, rust-pep508-rs-0.6, rust-pep508-rs-0.2, rust-percent-encoding-2, rust-percent-encoding-1, rust-peresil-0.3, rust-perf-event-0.4, rust-perf-event-open-sys-1, rust-permutohedron-0.2, rust-pest-2, rust-pest-derive-2, rust-pest-generator-2, rust-pest-meta-2, rust-petgraph-0.7, rust-petgraph-0.6, rust-petgraph-0.5, rust-petgraph-0.4, rust-phf-0.11, rust-phf-0.10, rust-phf-0.9, rust-phf-0.8, rust-phf-0.7, rust-phf-codegen-0.11, rust-phf-codegen-0.10, rust-phf-codegen-0.9, rust-phf-codegen-0.8, rust-phf-codegen-0.7, rust-phf-generator-0.11, rust-phf-generator-0.10, rust-phf-generator-0.9, rust-phf-generator-0.8, rust-phf-generator-0.7, rust-phf-macros-0.11, rust-phf-macros-0.10, rust-phf-macros-0.9, rust-phf-macros-0.8, rust-phf-macros-0.7, rust-phf-shared-0.11, rust-phf-shared-0.10, rust-phf-shared-0.9, rust-phf-shared-0.8, rust-phf-shared-0.7, rust-phonenumber-0.3, rust-pico-args-0.5, rust-pico-args-0.4, rust-pikchr-0.1, rust-pin-project-1, rust-pin-project-0.4, rust-pin-project-internal-1, rust-pin-project-internal-0.4, rust-pin-project-lite-0.2, rust-pin-project-lite-0.1, rust-pin-utils-0.1, rust-ping-0.4, rust-pinot-0.1, rust-pipe-trait-0.4, rust-piper-0.2, rust-piper-0.1, rust-pkg-config-0.3, rust-pktparse-0.7, rust-plain-0.2, rust-planus-0.3, rust-platform-info-2, rust-platforms-3, rust-pledge-0.4, rust-plist-1, rust-plotters-0.3, rust-plotters-backend-0.3, rust-plotters-bitmap-0.3, rust-plotters-svg-0.3, rust-plugin-0.2, rust-pmutil-0.5, rust-pnet-base-0.35, rust-pnet-base-0.34, rust-pnet-base-0.27, rust-pnet-datalink-0.35, rust-pnet-datalink-0.34, rust-pnet-datalink-0.27, rust-pnet-sys-0.35, rust-pnet-sys-0.34, rust-pnet-sys-0.27, rust-pocket-resources-0.3, rust-polars-0.37, rust-polars-arrow-0.37, rust-polars-arrow-format-0.1, rust-polars-compute-0.37, rust-polars-core-0.37, rust-polars-error-0.37, rust-polars-ffi-0.37, rust-polars-io-0.37, rust-polars-json-0.37, rust-polars-lazy-0.37, rust-polars-ops-0.37, rust-polars-parquet-0.37, rust-polars-pipe-0.37, rust-polars-plan-0.37, rust-polars-row-0.37, rust-polars-sql-0.37, rust-polars-time-0.37, rust-polars-utils-0.37, rust-polling-3, rust-polling-2, rust-pollster-0.3, rust-pollster-macro-0.1, rust-pom-3, rust-pori-0.0.0, rust-portable-atomic-1, rust-portable-atomic-util-0.2, rust-portable-atomic-util-0.1, rust-portable-pty-0.8, rust-postcard-1, rust-postcard-derive-0.1, rust-powerfmt-0.2, rust-powerfmt-macros-0.1, rust-pprof-0.13, rust-pprof-0.10, rust-precomputed-hash-0.1, rust-predicates-3, rust-predicates-2, rust-predicates-1, rust-predicates-core-1, rust-predicates-tree-1, rust-pretty-0.11, rust-pretty-assertions-1, rust-pretty-assertions-0.7, rust-pretty-assertions-0.6, rust-pretty-assertions-0.5, rust-pretty-assertions-0.4, rust-pretty-bytes-0.2, rust-pretty-env-logger-0.5, rust-pretty-env-logger-0.4, rust-pretty-env-logger-0.3, rust-pretty-hex-0.4, rust-pretty-hex-0.3, rust-prettyplease-0.2, rust-prettyplease-0.1, rust-prettytable-rs-0.10, rust-prettytable-rs-0.8, rust-primal-0.3, rust-primal-bit-0.3, rust-primal-check-0.3, rust-primal-estimate-0.3, rust-primal-sieve-0.3, rust-primal-slowsieve-0.3, rust-print-bytes-1, rust-print-bytes-0.7, rust-print-bytes-0.5, rust-print-bytes-0.4, rust-print-positions-0.6, rust-priority-queue-1, rust-proc-macro-crate-3, rust-proc-macro-crate-2, rust-proc-macro-crate-1, rust-proc-macro-crate-0.1, rust-proc-macro-error-1, rust-proc-macro-error-attr-1, rust-proc-macro-hack-0.5, rust-proc-macro-hack-0.4, rust-proc-macro-hack-impl-0.4, rust-proc-macro-nested-0.1, rust-proc-macro2-1, rust-proc-macro2-0.4, rust-proc-macro2-0.3, rust-proc-macro2-diagnostics-0.10, rust-proc-macro2-diagnostics-0.9, rust-proc-maps-0.4, rust-proc-mounts-0.3, rust-proc-quote-0.4, rust-proc-quote-impl-0.3, rust-process-control-5, rust-procfs-0.17, rust-procfs-0.16, rust-procfs-core-0.17, rust-procfs-core-0.16, rust-procinfo-0.4, rust-prodash-29, rust-prodash-28, rust-prodash-26, rust-prodash-25, rust-profiling-1, rust-profiling-procmacros-1, rust-progressing-3, rust-project-origins-1, rust-promptly-0.3, rust-propfuzz-0.0.1, rust-propfuzz-macro-0.0.1, rust-proptest-1, rust-proptest-0.10, rust-proptest-0.9, rust-proptest-0.3, rust-proptest-derive-0.5, rust-proptest-derive-0.4, rust-proptest-derive-0.3, rust-proptest-derive-0.1, rust-proptest-macro-0.1, rust-prost-0.13, rust-prost-0.12, rust-prost-0.11, rust-prost-0.10, rust-prost-0.9, rust-prost-build-0.13, rust-prost-build-0.12, rust-prost-build-0.10, rust-prost-derive-0.13, rust-prost-derive-0.12, rust-prost-derive-0.11, rust-prost-derive-0.10, rust-prost-derive-0.9, rust-prost-types-0.13, rust-prost-types-0.12, rust-prost-types-0.10, rust-protobuf-2, rust-protobuf-codegen-2, rust-protobuf-codegen-pure-2, rust-psl-2, rust-psl-types-2, rust-psm-0.1, rust-ptr-meta-0.1, rust-ptr-meta-derive-0.1, rust-ptree-0.4, rust-pty-process-0.4, rust-ptyprocess-0.4, rust-pubgrub-0.2, rust-public-api-0.33, rust-public-api-0.32, rust-publicsuffix-2, rust-publicsuffix-1, rust-puffin-0.18, rust-pulldown-cmark-0.12, rust-pulldown-cmark-0.11, rust-pulldown-cmark-0.9, rust-pulldown-cmark-0.8, rust-pulldown-cmark-0.4, rust-pulldown-cmark-0.1, rust-pulldown-cmark-escape-0.11, rust-pulldown-cmark-to-cmark-18, rust-pulldown-cmark-to-cmark-10, rust-pulley-interpreter-0.1, rust-pulse-0.5, rust-pure-rust-locales-0.8, rust-pwd-1, rust-py-literal-0.4, rust-pyo3-0.23, rust-pyo3-0.22, rust-pyo3-0.21, rust-pyo3-0.20, rust-pyo3-0.19, rust-pyo3-0.18, rust-pyo3-0.16, rust-pyo3-0.15, rust-pyo3-0.13, rust-pyo3-build-config-0.23, rust-pyo3-build-config-0.22, rust-pyo3-build-config-0.21, rust-pyo3-build-config-0.20, rust-pyo3-build-config-0.19, rust-pyo3-build-config-0.18, rust-pyo3-build-config-0.16, rust-pyo3-build-config-0.15, rust-pyo3-ffi-0.23, rust-pyo3-ffi-0.22, rust-pyo3-ffi-0.21, rust-pyo3-ffi-0.20, rust-pyo3-ffi-0.19, rust-pyo3-ffi-0.18, rust-pyo3-ffi-0.16, rust-pyo3-log-0.11, rust-pyo3-log-0.8, rust-pyo3-macros-0.23, rust-pyo3-macros-0.22, rust-pyo3-macros-0.21, rust-pyo3-macros-0.20, rust-pyo3-macros-0.19, rust-pyo3-macros-0.18, rust-pyo3-macros-0.16, rust-pyo3-macros-0.15, rust-pyo3-macros-0.13, rust-pyo3-macros-backend-0.23, rust-pyo3-macros-backend-0.22, rust-pyo3-macros-backend-0.21, rust-pyo3-macros-backend-0.20, rust-pyo3-macros-backend-0.19, rust-pyo3-macros-backend-0.18, rust-pyo3-macros-backend-0.16, rust-pyo3-macros-backend-0.15, rust-pyo3-macros-backend-0.13, rust-pyproject-toml-0.11, rust-pyproject-toml-0.8, rust-python-pkginfo-0.6, rust-qrcode-generator-4, rust-qrcodegen-1, rust-qrencode-0.14, rust-quad-rand-0.2, rust-quantiles-0.7, rust-quick-error-2, rust-quick-error-1, rust-quick-junit-0.5, rust-quick-xml-0.37, rust-quick-xml-0.36, rust-quick-xml-0.32, rust-quick-xml-0.31, rust-quick-xml-0.30, rust-quick-xml-0.28, rust-quick-xml-0.27, rust-quick-xml-0.26, rust-quick-xml-0.23, rust-quick-xml-0.22, rust-quick-xml-0.21, rust-quick-xml-0.20, rust-quickersort-3, rust-quinn-0.11, rust-quinn-0.10, rust-quinn-0.8, rust-quinn-proto-0.11, rust-quinn-proto-0.10, rust-quinn-proto-0.8, rust-quinn-udp-0.5, rust-quinn-udp-0.4, rust-quinn-udp-0.1, rust-quote-1, rust-quote-0.6, rust-quote-0.5, rust-quote-0.3, rust-quoted-printable-0.5, rust-quoted-printable-0.4, rust-r2d2-0.8, rust-radium-0.7, rust-radium-0.6, rust-radium-0.5, rust-radix-fmt-1, rust-radix-heap-0.4, rust-radix-trie-0.2, rust-railroad-0.2, rust-railroad-verification-0.1, rust-rand-0.9, rust-rand-0.8, rust-rand-0.7, rust-rand-0.6, rust-rand-0.5, rust-rand-0.4, rust-rand-0.3, rust-rand-chacha-0.9, rust-rand-chacha-0.3, rust-rand-chacha-0.2, rust-rand-chacha-0.1, rust-rand-core-0.9, rust-rand-core-0.6, rust-rand-core-0.5, rust-rand-core-0.4, rust-rand-core-0.3, rust-rand-core-0.2, rust-rand-distr-0.4, rust-rand-distr-0.3, rust-rand-distr-0.2, rust-rand-hc-0.3, rust-rand-hc-0.2, rust-rand-hc-0.1, rust-rand-isaac-0.3, rust-rand-isaac-0.2, rust-rand-isaac-0.1, rust-rand-jitter-0.1, rust-rand-mt-4, rust-rand-os-0.2, rust-rand-os-0.1, rust-rand-pcg-0.3, rust-rand-pcg-0.2, rust-rand-pcg-0.1, rust-rand-regex-0.15, rust-rand-xorshift-0.3, rust-rand-xorshift-0.2, rust-rand-xorshift-0.1, rust-rand-xoshiro-0.6, rust-rand-xoshiro-0.4, rust-rand-xoshiro-0.1, rust-random-0.12, rust-random-fast-rng-0.1, rust-random-trait-0.1, rust-randomize-4, rust-ratatui-0.29, rust-ratatui-0.28, rust-ratatui-0.27, rust-ratatui-0.26, rust-ratatui-0.25, rust-ratatui-0.24, rust-ratatui-0.20, rust-raw-cpuid-11, rust-raw-cpuid-10, rust-raw-cpuid-8, rust-rawpointer-0.2, rust-rawpointer-0.1, rust-rawslice-0.1, rust-rayon-1, rust-rayon-0.8, rust-rayon-cond-0.3, rust-rayon-core-1, rust-rclite-0.2, rust-rctree-0.6, rust-rdrand-0.4, rust-read-process-memory-0.1, rust-readlock-0.1, rust-readlock-tokio-0.1, rust-recursion-0.5, rust-recvmsg-1, rust-recycler-0.1, rust-redox-syscall-0.5, rust-redox-syscall-0.4, rust-redox-syscall-0.3, rust-redox-syscall-0.2, rust-redox-syscall-0.1, rust-redox-termios-0.1, rust-redox-users-0.5, rust-redox-users-0.4, rust-redox-users-0.3, rust-ref-cast-1, rust-ref-cast-0.2, rust-ref-cast-impl-1, rust-ref-cast-impl-0.2, rust-ref-cast-test-suite-0.0.0, rust-ref-thread-local-0.1, rust-reference-counted-singleton-0.1, rust-refpool-0.4, rust-regalloc2-0.10, rust-regalloc2-0.9, rust-regex-1, rust-regex-0.2, rust-regex-0.1, rust-regex-automata-0.4, rust-regex-automata-0.3, rust-regex-automata-0.1, rust-regex-cache-0.2, rust-regex-cursor-0.1, rust-regex-lite-0.1, rust-regex-syntax-0.8, rust-regex-syntax-0.7, rust-regex-syntax-0.6, rust-regex-syntax-0.5, rust-regex-syntax-0.4, rust-regex-syntax-0.3, rust-regex-test-0.1, rust-region-3, rust-relative-path-1, rust-remoteprocess-0.5, rust-rend-0.4, rust-rental-0.5, rust-rental-impl-0.5, rust-reopen-1, rust-reopen-0.3, rust-repr-offset-0.2, rust-repr-offset-derive-0.2, rust-resolv-conf-0.7, rust-resolv-conf-0.6, rust-resolve-path-0.1, rust-result-1, rust-retain-mut-0.1, rust-retain-mut-0.1.7, rust-rfc2047-decoder-1, rust-rhai-1, rust-rhai-codegen-2, rust-ringbuf-0.2, rust-rinja-0.3, rust-rinja-derive-0.3, rust-rinja-parser-0.3, rust-rio-0.9, rust-rkyv-0.7, rust-rkyv-0.6, rust-rkyv-derive-0.7, rust-rkyv-derive-0.6, rust-rle-decode-fast-1, rust-rlimit-0.9, rust-rlp-0.5, rust-rmp-0.8, rust-rmp-serde-1, rust-rmp-serde-0.15, rust-rmp-serde-0.13, rust-rmpv-1, rust-roadmap-0.7, rust-roaring-0.10, rust-roff-0.2, rust-romio-0.3, rust-ron-0.8, rust-ron-0.7, rust-ron-0.6, rust-ron-0.5, rust-ron-0.4, rust-ropey-1, rust-roxmltree-0.20, rust-roxmltree-0.19, rust-roxmltree-0.18, rust-rpassword-7, rust-rpassword-6, rust-rpassword-5, rust-rpds-1, rust-rpm-pkg-count-0.2, rust-rspec-1, rust-rspec-1.0.0-beta.3, rust-rspotify-0.11, rust-rspotify-http-0.11, rust-rspotify-macros-0.11, rust-rspotify-model-0.11, rust-rstar-0.9, rust-rstar-0.8, rust-rstest-0.23, rust-rstest-0.22, rust-rstest-0.21, rust-rstest-0.20, rust-rstest-0.19, rust-rstest-0.18, rust-rstest-0.17, rust-rstest-0.16, rust-rstest-0.15, rust-rstest-0.13, rust-rstest-0.12, rust-rstest-0.11, rust-rstest-macros-0.23, rust-rstest-macros-0.22, rust-rstest-macros-0.21, rust-rstest-macros-0.20, rust-rstest-macros-0.19, rust-rstest-macros-0.18, rust-rstest-macros-0.17, rust-rstest-macros-0.16, rust-rstest-macros-0.14, rust-rstest-macros-0.13, rust-rstest-reuse-0.7, rust-rstest-reuse-0.6, rust-rstest-reuse-0.4, rust-rstest-reuse-0.3, rust-rstest-test-0.11, rust-rstest-test-0.9, rust-rt-format-0.3, rust-rtnetlink-0.14, rust-rtoolbox-0.0.1, rust-rug-1, rust-run-script-0.11, rust-run-script-0.10, rust-runtime-0.3, rust-runtime-attributes-0.3, rust-runtime-native-0.3, rust-runtime-raw-0.3, rust-runtime-tokio-0.3, rust-rusb-0.9, rust-rust-base58-0.0.4, rust-rust-decimal-1, rust-rust-decimal-macros-1, rust-rust-embed-6, rust-rust-embed-8, rust-rust-embed-5, rust-rust-embed-impl-6, rust-rust-embed-impl-8, rust-rust-embed-impl-5, rust-rust-embed-utils-8, rust-rust-embed-utils-7, rust-rust-embed-utils-5, rust-rust-hawktracer-0.7, rust-rust-hawktracer-normal-macro-0.4, rust-rust-hawktracer-proc-macro-0.4, rust-rust-hawktracer-sys-0.4, rust-rust-htslib-0.38, rust-rust-ini-0.21, rust-rust-ini-0.20, rust-rust-ini-0.18, rust-rust-ini-0.17, rust-rust-ini-0.13, rust-rustc-demangle-0.1, rust-rustc-hash-2, rust-rustc-hash-1, rust-rustc-hex-2, rust-rustc-hex-1, rust-rustc-rayon-0.5, rust-rustc-rayon-0.4, rust-rustc-rayon-core-0.5, rust-rustc-rayon-core-0.4, rust-rustc-serialize-0.3, rust-rustc-std-workspace-alloc-1, rust-rustc-std-workspace-core-1, rust-rustc-std-workspace-std-1, rust-rustc-test-0.3, rust-rustc-version-0.4, rust-rustc-version-0.3, rust-rustc-version-0.2, rust-rustc-version-0.1, rust-rustdct-0.7, rust-rustdoc-json-0.8, rust-rustdoc-stripper-0.1, rust-rustdoc-types-0.23, rust-rustfft-6, rust-rustfix-0.9, rust-rustfix-0.8, rust-rustfix-0.7, rust-rustfix-0.6, rust-rustfix-0.5, rust-rustfix-0.4, rust-rusticata-macros-4, rust-rustix-1, rust-rustix-0.38, rust-rustix-0.37, rust-rustix-0.36, rust-rustix-0.35, rust-rustix-openpty-0.1, rust-rusttype-0.9, rust-rusttype-0.8, rust-rusttype-0.7, rust-rustup-toolchain-0.1, rust-rustversion-1, rust-rustversion-0.1, rust-rusty-fork-0.3, rust-rusty-fork-0.2, rust-rustyline-13, rust-rustyline-12, rust-rustyline-10, rust-rustyline-9, rust-rustyline-6, rust-rustyline-derive-0.10, rust-rustyline-derive-0.9, rust-rustyline-derive-0.7, rust-rustyline-derive-0.6, rust-rustyline-derive-0.3, rust-ryu-1, rust-s3handler-0.7, rust-safe-arch-0.7, rust-safe-arch-0.6, rust-safe-arch-0.5, rust-safe-lock-0.1, rust-safemem-0.3, rust-same-file-1, rust-same-file-0.1, rust-sample-arrow2-0.17, rust-sample-arrow2-0.1, rust-sample-std-0.2, rust-sample-std-0.1, rust-sample-test-0.2, rust-sample-test-0.1, rust-sample-test-macros-0.2, rust-sample-test-macros-0.1, rust-sanakirja-1, rust-sanakirja-core-1, rust-sc-0.2, rust-scale-info-1, rust-scale-info-derive-1, rust-scan-fmt-0.2, rust-scc-2, rust-sce-0.1, rust-scheduled-thread-pool-0.2, rust-schemars-0.8, rust-schemars-0.6, rust-schemars-derive-0.8, rust-schemars-derive-0.6, rust-scoped-env-2, rust-scoped-threadpool-0.1, rust-scoped-tls-1, rust-scoped-tls-0.1, rust-scopeguard-1, rust-scopeguard-0.3, rust-scopetime-0.1, rust-scraper-0.18, rust-scratch-1, rust-scroll-0.12, rust-scroll-0.11, rust-scroll-0.10, rust-scroll-0.9, rust-scroll-derive-0.12, rust-scroll-derive-0.11, rust-scroll-derive-0.10, rust-scroll-derive-0.9, rust-sct-0.7, rust-sct-0.6, rust-sct-0.5, rust-sct-0.4, rust-sctk-adwaita-0.10, rust-sctk-adwaita-0.8, rust-sctk-adwaita-0.5, rust-sctk-adwaita-0.4, rust-sd-notify-0.4, rust-sdd-3, rust-seahash-3, rust-seahash-4, rust-seccomp-sys-0.1, rust-secfmt-0.1, rust-secrecy-0.10, rust-secrecy-0.8, rust-secret-service-3, rust-section-testing-0.0.5, rust-selectors-0.25, rust-selectors-0.24, rust-selectors-0.23, rust-selectors-0.22, rust-self-cell-1, rust-self-replace-1, rust-self-update-0.41, rust-selinux-0.4, rust-selinux-sys-0.6, rust-semver-1, rust-semver-0.11, rust-semver-0.10, rust-semver-0.9, rust-semver-0.1, rust-semver-parser-0.10, rust-semver-parser-0.9, rust-semver-parser-0.7, rust-send-wrapper-0.6, rust-send-wrapper-0.5, rust-send-wrapper-0.4, rust-sensors-0.2, rust-seq-io-0.3, rust-seq-macro-0.3, rust-serde-1, rust-serde-0.9, rust-serde-0.8, rust-serde-aux-4, rust-serde-bencode-0.2, rust-serde-big-array-0.5, rust-serde-big-array-0.4, rust-serde-big-array-0.3, rust-serde-big-array-0.2, rust-serde-big-array-0.1, rust-serde-buf-0.1, rust-serde-bytes-0.11, rust-serde-bytes-0.10, rust-serde-cbor-0.11, rust-serde-codegen-internals-0.14, rust-serde-derive-1, rust-serde-derive-0.9, rust-serde-derive-internals-0.29, rust-serde-derive-internals-0.26, rust-serde-derive-internals-0.25, rust-serde-fmt-1, rust-serde-hjson-0.9, rust-serde-html-form-0.2, rust-serde-ignored-0.1, rust-serde-indextree-0.2, rust-serde-json-1, rust-serde-json-0.9, rust-serde-json-core-0.5, rust-serde-json-core-0.4, rust-serde-norway-0.9, rust-serde-path-to-error-0.1, rust-serde-qs-0.8, rust-serde-qs-0.7, rust-serde-regex-1, rust-serde-repr-0.1, rust-serde-spanned-0.6, rust-serde-stacker-0.1, rust-serde-test-1, rust-serde-test-0.9, rust-serde-test-0.8, rust-serde-transcode-1, rust-serde-untagged-0.1, rust-serde-urlencoded-0.7, rust-serde-urlencoded-0.6, rust-serde-value-0.7, rust-serde-wasm-bindgen-0.3, rust-serde-with-3, rust-serde-with-2, rust-serde-with-1, rust-serde-with-macros-3, rust-serde-with-macros-2, rust-serde-with-macros-1, rust-serde-xml-rs-0.6, rust-serde-xml-rs-0.5, rust-serde-xml-rs-0.4, rust-serde-yaml-0.9, rust-serde-yaml-0.8, rust-serde-yaml-ng-0.10, rust-serdeconv-0.4, rust-serial-0.4, rust-serial-core-0.4, rust-io-kit-sys-0.4, rust-serialport-4, rust-serial-test-3, rust-serial-test-2, rust-serial-test-1, rust-serial-test-0.10, rust-serial-test-0.7, rust-serial-test-0.6, rust-serial-test-0.5, rust-serial-test-0.4, rust-serial-test-0.1, rust-serial-test-derive-3, rust-serial-test-derive-2, rust-serial-test-derive-1, rust-serial-test-derive-0.10, rust-serial-test-derive-0.7, rust-serial-test-derive-0.6, rust-serial-test-derive-0.5, rust-serial-test-derive-0.4, rust-serial-test-derive-0.1, rust-serial-unix-0.4, rust-serial-windows-0.4, rust-servo-arc-0.3, rust-servo-arc-0.2, rust-servo-arc-0.1, rust-servo-fontconfig-0.5, rust-servo-fontconfig-sys-5, rust-shadow-rs-0.37, rust-shadow-rs-0.36, rust-shadow-rs-0.35, rust-shannon-0.2, rust-sharded-slab-0.1, rust-shared-child-1, rust-shared-library-0.1, rust-shell-escape-0.1, rust-shell-quote-0.7, rust-shell-words-1, rust-shell-words-0.1, rust-shellexpand-3, rust-shellexpand-2, rust-shlex-1, rust-shlex-0.1, rust-signal-hook-0.3, rust-signal-hook-0.1, rust-signal-hook-mio-0.2, rust-signal-hook-registry-1, rust-signal-hook-tokio-0.3, rust-simba-0.8, rust-simba-0.7, rust-simba-0.6, rust-simba-0.5, rust-simba-0.4, rust-simba-0.1, rust-simd-0.2, rust-simd-adler32-0.3, rust-simd-helpers-0.1, rust-simd-json-0.13, rust-simdutf8-0.1, rust-similar-2, rust-similar-asserts-1, rust-simple-logger-4, rust-simple-logger-2, rust-simple-logger-1, rust-simple-logging-2, rust-simplelog-0.12, rust-simplerand-1, rust-siphasher-0.3, rust-siphasher-0.2, rust-sized-chunks-0.6, rust-skeptic-0.13, rust-skim-0.10, rust-skim-0.9, rust-skim-0.7, rust-slab-0.4, rust-sleef-sys-0.1, rust-slice-deque-0.3, rust-slice-deque-0.2, rust-slice-group-by-0.3, rust-slice-ring-buffer-0.3, rust-slog-2, rust-slog-async-2, rust-slog-json-2, rust-slog-kvfilter-0.7, rust-slog-scope-4, rust-slog-stdlog-4, rust-slog-term-2, rust-sloggers-2, rust-slotmap-1, rust-slug-0.1, rust-slugify-0.1, rust-sluice-0.5, rust-smallbitvec-2, rust-smallstring-0.1, rust-smallvec-1, rust-smallvec-0.6, rust-smallvec-0.3, rust-smart-default-0.7, rust-smartstring-1, rust-smartstring-0.2, rust-smawk-0.3, rust-smol-2, rust-smol-1, rust-smol-0.1, rust-smol-potat-1, rust-smol-potat-macro-0.6, rust-smol-str-0.3, rust-smol-str-0.2, rust-smol-str-0.1, rust-snafu-0.8, rust-snafu-0.7, rust-snafu-derive-0.8, rust-snafu-derive-0.7, rust-snake-case-0.3, rust-snap-1, rust-snap-0.2, rust-snapbox-0.6, rust-snapbox-0.5, rust-snapbox-0.4, rust-snapbox-0.2, rust-snapbox-macros-0.3, rust-snapbox-macros-0.2, rust-snappy-cpp-0.1, rust-socket2-0.5, rust-socket2-0.4, rust-socket2-0.3, rust-socketpair-0.19, rust-socks-0.3, rust-soft-assert-0.1, rust-souper-ir-2, rust-sourcemap-6, rust-special-0.8, rust-speculate-0.1, rust-speedate-0.15, rust-speedate-0.14, rust-speedy-0.8, rust-speedy-derive-0.8, rust-abscissa-derive-0.8, rust-abscissa-core-0.8, rust-spin-0.9, rust-spin-0.7, rust-spin-0.5, rust-spin-0.4, rust-spin-on-0.1, rust-spin-sleep-1, rust-spinning-0.1, rust-spinning-top-0.2, rust-spirv-std-0.4, rust-spirv-std-macros-0.4, rust-spirv-types-0.4, rust-spmc-0.3, rust-sprs-0.11, rust-sprs-0.10, rust-sptr-0.3, rust-ssh2-0.9, rust-st-map-0.1, rust-stability-0.2, rust-stability-0.1, rust-stable-deref-trait-1, rust-stable-pattern-0.1, rust-stacker-0.1, rust-standback-0.2, rust-starship-battery-0.10, rust-starship-battery-0.9, rust-state-0.6, rust-state-0.5, rust-state-0.4, rust-static-alloc-0.2, rust-static-assertions-1, rust-static-map-macro-0.2, rust-statistical-1, rust-statrs-0.14, rust-statrs-0.15, rust-statrs-0.17, rust-statrs-0.13, rust-stats-alloc-0.1, rust-stb-truetype-0.3, rust-stc-s-0.1, rust-std-prelude-0.2, rust-stderrlog-0.5, rust-stfu8-0.2, rust-str-buf-1, rust-str-indices-0.4, rust-str-stack-0.1, rust-stream-assert-0.1, rust-streaming-decompression-0.1, rust-streaming-iterator-0.1, rust-streaming-stats-0.2, rust-streaming-stats-0.1, rust-stretch-0.3, rust-strength-reduce-0.2, rust-strict-num-0.1, rust-string-0.2, rust-string-cache-0.8, rust-string-cache-0.7, rust-string-cache-codegen-0.5, rust-string-cache-codegen-0.4, rust-string-cache-shared-0.3, rust-string-interner-0.12, rust-stringprep-0.1, rust-strip-ansi-escapes-0.2, rust-strip-ansi-escapes-0.1, rust-strobe-rs-0.8, rust-strobe-rs-0.5, rust-strong-xml-0.6, rust-strong-xml-derive-0.6, rust-strsim-0.11, rust-strsim-0.10, rust-strsim-0.9, rust-strsim-0.8, rust-strsim-0.7, rust-strsim-0.6, rust-strsim-0.5, rust-struct-patch-0.4, rust-struct-patch-derive-0.4, rust-structmeta-0.3, rust-structmeta-0.2, rust-structmeta-0.1, rust-structmeta-derive-0.3, rust-structmeta-derive-0.2, rust-structmeta-derive-0.1, rust-structopt-0.3, rust-structopt-0.2, rust-structopt-derive-0.4, rust-structopt-derive-0.2, rust-strum-0.27, rust-strum-0.26, rust-strum-0.25, rust-strum-0.24, rust-strum-0.21, rust-strum-0.20, rust-strum-0.19, rust-strum-0.18, rust-strum-macros-0.27, rust-strum-macros-0.26, rust-strum-macros-0.25, rust-strum-macros-0.24, rust-strum-macros-0.21, rust-strum-macros-0.20, rust-strum-macros-0.19, rust-strum-macros-0.18, rust-subplot-0.12, rust-subplot-build-0.12, rust-subplotlib-0.12, rust-subplotlib-derive-0.12, rust-subprocess-0.2, rust-superluminal-perf-0.1, rust-superluminal-perf-sys-0.1, rust-supports-color-3, rust-supports-color-2, rust-supports-color-1, rust-supports-hyperlinks-3, rust-supports-hyperlinks-2, rust-supports-unicode-3, rust-supports-unicode-2, rust-suppositions-0.1, rust-sval-2, rust-sval-buffer-2, rust-sval-derive-2, rust-sval-derive-macros-2, rust-sval-dynamic-2, rust-sval-flatten-2, rust-sval-fmt-2, rust-sval-json-2, rust-sval-ref-2, rust-sval-serde-2, rust-sval-test-2, rust-svd-parser-0.14, rust-svd-rs-0.14, rust-svgtypes-0.5, rust-swaybar-types-3, rust-swayipc-3, rust-swayipc-2, rust-swayipc-async-2, rust-swayipc-command-builder-0.1, rust-swayipc-types-1, rust-swrite-0.1, rust-sxd-document-0.3, rust-sxd-xpath-0.4, rust-symbolic-common-12, rust-symbolic-common-9, rust-symbolic-demangle-12, rust-symbolic-demangle-9, rust-syn-2, rust-syn-1, rust-syn-0.15, rust-syn-0.14, rust-syn-0.11, rust-syn-derive-0.1, rust-syn-test-suite-0.0.0, rust-sync-wrapper-1, rust-sync-wrapper-0.1, rust-synchronoise-1, rust-synom-0.11, rust-synstructure-0.13, rust-synstructure-0.12, rust-synstructure-test-traits-0.1, rust-syntect-5, rust-syntect-4, rust-syntex-errors-0.58, rust-syntex-pos-0.58, rust-syntex-syntax-0.58, rust-sys-info-0.9, rust-sys-locale-0.3, rust-syscallz-0.17, rust-sysctl-0.6, rust-sysctl-0.5, rust-sysctl-0.4, rust-sysctl-0.1, rust-sysinfo-0.32, rust-sysinfo-0.31, rust-sysinfo-0.30, rust-sysinfo-0.29, rust-sysinfo-0.28, rust-sysinfo-0.27, rust-syslog-7, rust-syslog-6, rust-syslog-4, rust-syslog-3, rust-system-deps-7, rust-system-deps-6, rust-system-deps-3, rust-system-deps-1, rust-system-interface-0.27, rust-systemstat-0.2, rust-tabled-0.16, rust-tabled-0.15, rust-tabled-derive-0.8, rust-tabled-derive-0.7, rust-tabwriter-1, rust-tagptr-0.2, rust-take-mut-0.2, rust-takeable-option-0.5, rust-takeable-option-0.4, rust-rustc-stable-hash-0.1, rust-tame-index-0.18, rust-tame-index-0.13, rust-tap-1, rust-tardar-0.1, rust-target-2, rust-target-features-0.1, rust-target-lexicon-0.13, rust-target-lexicon-0.12, rust-target-lexicon-0.11, rust-target-spec-3, rust-target-spec-miette-0.4, rust-target-triple-0.1, rust-temp-dir-0.1, rust-temp-env-0.3, rust-temp-env-0.2, rust-temp-testdir-0.2, rust-tempdir-0.3, rust-tempfile-3, rust-temporary-0.6, rust-temptree-0.2, rust-tendril-0.4, rust-tera-1, rust-term-1, rust-term-0.7, rust-term-0.6, rust-term-0.5, rust-term-0.4, rust-term-0.2, rust-term-grid-0.1, rust-term-size-1, rust-term-size-0.3, rust-termbg-0.6, rust-termcolor-1, rust-termimad-0.25, rust-termimad-0.20, rust-terminal-colorsaurus-0.4, rust-terminal-prompt-0.2, rust-terminal-size-0.4, rust-terminal-size-0.3, rust-terminal-size-0.2, rust-terminal-size-0.1, rust-terminal-trx-0.2, rust-terminfo-0.8, rust-terminfo-0.7, rust-termini-1, rust-termion-4, rust-termion-3, rust-termion-2, rust-termion-1, rust-termios-0.3, rust-termios-0.2, rust-termsize-0.1, rust-termtree-0.5, rust-termtree-0.4, rust-termwiz-0.22, rust-termwiz-0.20, rust-termwiz-0.15, rust-test-assembler-0.1, rust-test-case-3, rust-test-case-2, rust-test-case-1, rust-test-case-core-3, rust-test-case-macros-3, rust-test-case-macros-2, rust-test-cert-gen-0.9, rust-test-generator-0.3, rust-test-log-0.2, rust-test-log-macros-0.2, rust-test-strategy-0.4, rust-test-strategy-0.3, rust-test-strategy-0.2, rust-test-with-0.8, rust-tester-0.9, rust-tester-0.6, rust-testing-logger-0.1, rust-testing-table-0.1, rust-text-block-macros-0.1, rust-text-size-1, rust-textnonce-1, rust-textwrap-0.16, rust-textwrap-0.15, rust-textwrap-0.14, rust-textwrap-0.12, rust-textwrap-0.11, rust-thin-slice-0.1, rust-thin-vec-0.2, rust-thiserror-2, rust-thiserror-1, rust-thiserror-core-1, rust-thiserror-core-impl-1, rust-thiserror-impl-2, rust-thiserror-impl-1, rust-thousands-0.2, rust-thread-id-4, rust-thread-id-3, rust-thread-id-2, rust-thread-local-1, rust-thread-local-0.3, rust-thread-local-0.2, rust-thread-priority-1, rust-thread-tree-0.3, rust-threadpool-1, rust-thrift-0.17, rust-thrift-0.13, rust-thrussh-0.34, rust-thrussh-0.33, rust-thrussh-config-0.6, rust-thrussh-config-0.5, rust-thrussh-keys-0.22, rust-thrussh-keys-0.21, rust-thrussh-libsodium-0.3, rust-thrussh-libsodium-0.2, rust-tikv-jemalloc-sys-0.6, rust-tikv-jemallocator-0.6, rust-time-0.3, rust-time-0.2, rust-time-0.1, rust-time-core-0.1, rust-time-macros-0.2, rust-time-macros-0.1, rust-time-macros-impl-0.1, rust-timeago-0.4, rust-timebomb-0.1, rust-timer-0.2, rust-timerfd-1, rust-tint-1, rust-tiny-keccak-2, rust-tiny-skia-0.11, rust-tiny-skia-0.8, rust-tiny-skia-0.7, rust-tiny-skia-path-0.11, rust-tiny-skia-path-0.8, rust-tiny-skia-path-0.7, rust-tinyfiledialogs-3, rust-tinystr-0.7, rust-tinytemplate-1, rust-tinyvec-1, rust-tinyvec-macros-0.1, rust-titlecase-3, rust-titlecase-2, rust-to-method-1, rust-to-shmem-0.0.0, rust-to-shmem-derive-0.0.0, rust-tobj-3, rust-tobj-2, rust-tokio-1, rust-tokio-0.3, rust-tokio-0.2, rust-tokio-0.1, rust-tokio-buf-0.1, rust-tokio-codec-0.1, rust-tokio-core-0.1, rust-tokio-current-thread-0.1, rust-tokio-executor-0.2, rust-tokio-executor-0.1, rust-tokio-fs-0.1, rust-tokio-io-0.1, rust-tokio-io-pool-0.1, rust-tokio-io-timeout-1, rust-tokio-macros-2, rust-tokio-macros-1, rust-tokio-macros-0.3, rust-tokio-macros-0.2, rust-tokio-metrics-0.3, rust-tokio-mock-task-0.1, rust-tokio-mockstream-1, rust-tokio-native-tls-0.3, rust-tokio-native-tls-0.1, rust-tokio-openssl-0.6, rust-tokio-openssl-0.4, rust-tokio-openssl-0.3, rust-tokio-postgres-0.7, rust-tokio-process-0.2, rust-tokio-reactor-0.1, rust-tokio-rustls-0.26, rust-tokio-rustls-0.25, rust-tokio-rustls-0.24, rust-tokio-rustls-0.23, rust-tokio-rustls-0.22, rust-tokio-rustls-0.14, rust-tokio-rustls-0.13, rust-tokio-rustls-0.12, rust-tokio-rustls-0.9, rust-tokio-signal-0.2, rust-tokio-socks-0.5, rust-tokio-stream-0.1, rust-tokio-sync-0.2, rust-tokio-sync-0.1, rust-tokio-tcp-0.1, rust-tokio-test-0.4, rust-tokio-test-0.3, rust-tokio-test-0.2, rust-tokio-threadpool-0.1, rust-tokio-timer-0.2, rust-tokio-tls-0.3, rust-tokio-tls-0.2, rust-tokio-tungstenite-0.24, rust-tokio-tungstenite-0.23, rust-tokio-tungstenite-0.21, rust-tokio-tungstenite-0.20, rust-tokio-tungstenite-0.19, rust-tokio-tungstenite-0.16, rust-tokio-tungstenite-0.11, rust-tokio-udp-0.1, rust-tokio-uds-0.2, rust-tokio-uring-0.5, rust-tokio-uring-0.4, rust-tokio-util-0.7, rust-tokio-util-0.6, rust-tokio-util-0.5, rust-tokio-util-0.4, rust-tokio-util-0.3, rust-tokio-util-0.2, rust-tokio-vsock-0.4, rust-tokio-vsock-0.3, rust-toml-0.8, rust-toml-0.7, rust-toml-0.6, rust-toml-0.5, rust-toml-0.4, rust-toml-datetime-0.6, rust-toml-datetime-0.5, rust-toml-edit-0.22, rust-toml-edit-0.21, rust-toml-edit-0.20, rust-toml-edit-0.19, rust-toml-edit-0.18, rust-toml-edit-0.15, rust-toml-edit-0.14, rust-toml-span-0.4, rust-toml-span-0.3, rust-toml-test-1, rust-toml-test-data-1, rust-toml-test-harness-0.4, rust-topology-traits-0.1, rust-topological-sort-0.2, rust-tracing-0.1, rust-tracing-appender-0.2, rust-tracing-attributes-0.1, rust-tracing-chrome-0.7, rust-tracing-core-0.1, rust-tracing-error-0.2, rust-tracing-error-0.1, rust-tracing-forest-0.1, rust-tracing-futures-0.2, rust-tracing-log-0.2, rust-tracing-log-0.1, rust-tracing-mock-0.1, rust-tracing-serde-0.2, rust-tracing-serde-0.1, rust-tracing-subscriber-0.3, rust-tracing-subscriber-0.2, rust-tracing-tracy-0.4, rust-tracing-tree-0.2, rust-tracing-web-0.1, rust-trackable-1, rust-trackable-derive-1, rust-tracy-client-0.16, rust-tracy-client-0.10, rust-tracy-client-sys-0.22, rust-tracy-client-sys-0.11, rust-traitobject-0.1, rust-transpose-0.2, rust-trash-5, rust-trash-3, rust-trash-2, rust-tree-magic-0.2, rust-tree-magic-db-3, rust-tree-magic-mini-3, rust-tree-sitter-0.24, rust-tree-sitter-0.23, rust-tree-sitter-0.20, rust-tree-sitter-language-0.1, rust-treeline-0.1, rust-trim-in-place-0.1, rust-triomphe-0.1, rust-triple-accel-0.4, rust-triple-accel-0.3, rust-try-lock-0.2, rust-trybuild-1, rust-trybuild2-1, rust-trycmd-0.15, rust-trycmd-0.14, rust-trycmd-0.13, rust-tryfn-0.2, rust-tss-esapi-7, rust-tss-esapi-sys-0.5, rust-tstr-0.2, rust-tstr-proc-macros-0.2, rust-ttf-parser-0.25, rust-ttf-parser-0.19, rust-ttf-parser-0.17, rust-ttf-parser-0.12, rust-ttf-parser-0.6, rust-tui-0.19, rust-tui-react-0.23, rust-tui-react-0.22, rust-tui-react-0.20, rust-tui-textarea-0.4, rust-tuikit-0.5, rust-tuikit-0.4, rust-tuikit-0.2, rust-tun-tap-0.1, rust-two-face-0.4, rust-twoway-0.2, rust-twoway-0.1, rust-twox-hash-2, rust-twox-hash-1, rust-typeable-0.1, rust-typed-arena-2, rust-typed-arena-1, rust-typed-builder-0.18, rust-typed-builder-0.16, rust-typed-builder-0.5, rust-typed-builder-macro-0.18, rust-typed-builder-macro-0.16, rust-typed-json-0.1, rust-typeid-1, rust-typemap-0.3, rust-typenum-1.17, rust-typenum-1, rust-typesize-0.1, rust-typesize-derive-0.1, rust-typetag-0.2, rust-typetag-impl-0.2, rust-typewit-1, rust-typewit-proc-macros-1, rust-tz-rs-0.6, rust-tzdb-0.6, rust-tzdb-data-0.1, rust-tzfile-0.1, rust-ubyte-0.10, rust-ucd-parse-0.1, rust-ucd-trie-0.1, rust-ucd-util-0.1, rust-udev-0.8, rust-udev-0.7, rust-udevrs-0.3, rust-ufmt-0.2, rust-ufmt-0.1, rust-ufmt-macros-0.3, rust-ufmt-macros-0.2, rust-ufmt-write-0.1, rust-ui-test-0.7, rust-uint-0.9, rust-uluru-3, rust-umask-2, rust-umask-1, rust-uname-0.1, rust-unarray-0.1, rust-uncased-0.9, rust-unchecked-index-0.2, rust-unescape-0.1, rust-unescaper-0.1, rust-ungrammar-1, rust-unic-char-property-0.9, rust-unic-char-range-0.9, rust-unic-common-0.9, rust-unic-emoji-char-0.9, rust-unic-normal-0.9, rust-unic-segment-0.9, rust-unic-ucd-category-0.9, rust-unic-ucd-common-0.9, rust-unic-ucd-hangul-0.9, rust-unic-ucd-normal-0.9, rust-unic-ucd-segment-0.9, rust-unic-ucd-version-0.9, rust-unicase-2, rust-unicase-1, rust-unicode-bidi-0.3, rust-unicode-bom-2, rust-unicode-categories-0.1, rust-unicode-ellipsis-0.2, rust-unicode-general-category-0.6, rust-unicode-id-0.3, rust-unicode-ident-1, rust-unicode-linebreak-0.1, rust-unicode-normalization-0.1, rust-unicode-normalization-alignments-0.1, rust-unicode-reverse-1, rust-unicode-segmentation-1, rust-unicode-truncate-1, rust-unicode-truncate-0.2, rust-unicode-width-0.2, rust-unicode-width-0.1, rust-unicode-xid-0.2, rust-unicode-xid-0.1, rust-unicode-xid-0.0.4, rust-unidecode-0.3, rust-unindent-0.2, rust-unindent-0.1, rust-uniquote-3, rust-unix-socket-0.5, rust-unreachable-1, rust-unreachable-0.1, rust-unsafe-any-0.4, rust-unsafe-libyaml-0.2, rust-unsafe-unwrap-0.1, rust-unscanny-0.1, rust-unsize-1, rust-untrusted-0.9, rust-untrusted-0.7, rust-untrusted-0.6, rust-uom-0.36, rust-uom-0.34, rust-uom-0.30, rust-update-informer-1, rust-upon-0.8, rust-ureq-2, rust-url-2, rust-url-1, rust-urlencoding-2, rust-urlencoding-1, rust-usb-ids-1, rust-users-0.11, rust-ustr-0.9, rust-utf-8-0.7, rust-utf16-iter-1, rust-utf8-iter-1, rust-utf8-ranges-1, rust-utf8-ranges-0.1, rust-utf8-width-0.1, rust-utf8parse-0.2, rust-utf8parse-0.1, rust-uu-cp-0.0.28, rust-uu-mkdir-0.0.28, rust-uu-mktemp-0.0.28, rust-uu-mv-0.0.28, rust-uu-touch-0.0.28, rust-uu-uname-0.0.28, rust-uu-whoami-0.0.28, rust-uucore-0.0.28, rust-uucore-procs-0.0.28, rust-uuhelp-parser-0.0.28, rust-uuid-1, rust-uuid-0.8, rust-uuid-0.7, rust-uuid-0.5, rust-uuid-macro-internal-1, rust-uutils-term-grid-0.6, rust-uzers-0.12, rust-uzers-0.11, rust-v-frame-0.3, rust-v-htmlescape-0.15, rust-validator-0.15, rust-validator-derive-0.15, rust-validator-types-0.15, rust-valuable-0.1, rust-valuable-derive-0.1, rust-valuable-serde-0.1, rust-value-bag-1, rust-value-bag-serde1-1, rust-value-bag-sval2-1, rust-value-trait-0.8, rust-varbincode-0.1, rust-varisat-0.2, rust-varisat-checker-0.2, rust-varisat-dimacs-0.2, rust-varisat-formula-0.2, rust-varisat-internal-macros-0.2, rust-varisat-internal-proof-0.2, rust-vcpkg-0.2, rust-vec-map-0.8, rust-vec-mut-scan-0.3, rust-vec1-1, rust-vek-0.15, rust-vergen-9, rust-vergen-8, rust-vergen-3, rust-vergen-git2-1, rust-vergen-lib-0.1, rust-version-check-0.9, rust-version-check-0.1, rust-version-compare-0.2, rust-version-compare-0.1, rust-version-compare-0.0.11, rust-version-sync-0.9, rust-update-informer-1, rust-version-sync-0.8, rust-version-sync-0.6, rust-version-track-0.1, rust-versions-6, rust-vlq-0.5, rust-void-1, rust-vsock-0.5, rust-vsock-0.3, rust-vsock-0.2, rust-vsort-0.2, rust-vswhom-0.1, rust-vswhom-sys-0.1, rust-vt100-0.15, rust-vte-0.14, rust-vte-0.13, rust-vte-0.11, rust-vte-0.10, rust-vte-0.9, rust-vte-0.3, rust-vte-generate-state-changes-0.1, rust-vtparse-0.6, rust-wait-timeout-0.2, rust-waker-fn-1, rust-walkdir-2, rust-walkdir-1, rust-want-0.3, rust-want-0.2, rust-wit-bindgen-rt-0.39, rust-wasi-0.14, rust-wasi-0.11, rust-wasi-0.10, rust-wasi-0.9, rust-wasite-0.1, rust-wasm-bindgen-0.2, rust-wasm-bindgen-backend-0.2, rust-wasm-bindgen-futures-0.4, rust-wasm-bindgen-futures-0.3, rust-wasm-bindgen-macro-0.2, rust-wasm-bindgen-macro-support-0.2, rust-wasm-bindgen-shared-0.2, rust-wasm-bindgen-test-0.3, rust-wasm-bindgen-test-0.2, rust-wasm-bindgen-test-macro-0.3, rust-wasm-bindgen-test-macro-0.2, rust-wasm-encoder-0.226, rust-wasm-encoder-0.217, rust-wasm-encoder-0.215, rust-wasm-encoder-0.38, rust-wasm-streams-0.4, rust-wasm-streams-0.3, rust-wasm-sync-0.1, rust-wasmparser-0.207, rust-wasmparser-0.202, rust-wasmparser-0.218, rust-wasmparser-0.217, rust-wasmparser-0.215, rust-wasmparser-0.202, rust-wasmparser-0.118, rust-wasmparser-0.99, rust-wasmparser-0.57, rust-wasmparser-dump-0.1, rust-wasmprinter-0.226, rust-wasmprinter-0.217, rust-wasmprinter-0.215, rust-wasmtime-asm-macros-25, rust-wasmtime-asm-macros-24, rust-wasmtime-25, rust-wasmtime-24, rust-wasmtime-c-api-impl-25, rust-wasmtime-c-api-impl-24, rust-wasmtime-c-api-macros-25, rust-wasmtime-c-api-macros-24, rust-wasmtime-cache-25, rust-wasmtime-cache-24, rust-wasmtime-component-macro-25, rust-wasmtime-component-macro-24, rust-wasmtime-component-util-25, rust-wasmtime-component-util-24, rust-wasmtime-cranelift-25, rust-wasmtime-cranelift-24, rust-wasmtime-environ-25, rust-wasmtime-environ-24, rust-wasmtime-fiber-25, rust-wasmtime-fiber-24, rust-wasmtime-jit-debug-25, rust-wasmtime-jit-debug-24, rust-wasmtime-jit-icache-coherence-25, rust-wasmtime-jit-icache-coherence-24, rust-wasmtime-slab-25, rust-wasmtime-slab-24, rust-wasmtime-types-25, rust-wasmtime-types-24, rust-wasmtime-versioned-export-macros-25, rust-wasmtime-versioned-export-macros-24, rust-wasmtime-wasi-25, rust-wasmtime-wasi-24, rust-wasmtime-winch-25, rust-wasmtime-winch-24, rust-wasmtime-wit-bindgen-25, rust-wasmtime-wit-bindgen-24, rust-wasmtime-wmemcheck-25, rust-wasmtime-wmemcheck-24, rust-wast-226, rust-wast-35, rust-wat-1, rust-watchexec-2, rust-watchexec-1, rust-watchexec-events-1, rust-watchexec-filterer-globset-1, rust-watchexec-filterer-ignore-1, rust-watchexec-signals-1, rust-wax-0.6, rust-web-sys-0.3, rust-web-time-1, rust-web-time-0.2, rust-webbrowser-1, rust-webbrowser-0.8, rust-wee-alloc-0.4, rust-weezl-0.1, rust-wepoll-sys-stjepang-1, rust-wezterm-bidi-0.2, rust-wezterm-blob-leases-0.1, rust-wezterm-color-types-0.3, rust-wezterm-color-types-0.2, rust-wezterm-dynamic-0.2, rust-wezterm-dynamic-0.1, rust-wezterm-dynamic-derive-0.1, rust-wezterm-input-types-0.1, rust-which-7, rust-which-6, rust-which-5, rust-which-4, rust-which-3, rust-which-2, rust-which-1, rust-whoami-1, rust-whoami-0.8, rust-wide-0.7, rust-wide-0.6, rust-wide-0.4, rust-widestring-1, rust-widestring-0.5, rust-widestring-0.4, rust-wiggle-25, rust-wiggle-24, rust-wiggle-generate-25, rust-wiggle-generate-24, rust-wiggle-macro-25, rust-wiggle-macro-24, rust-wild-2, rust-wildmatch-2, rust-winnow-0.7, rust-winch-codegen-0.22, rust-winnow-0.6, rust-winnow-0.5, rust-witx-0.9, rust-wit-bindgen-rt-0.33, rust-wit-parser-0.217, rust-wit-parser-0.215, rust-wl-clipboard-rs-0.8, rust-wl-clipboard-rs-0.7, rust-wl-nl80211-0.2, rust-wrapcenum-derive-0.4, rust-write16-1, rust-writeable-0.5, rust-wu-diff-0.1, rust-wycheproof-0.5, rust-wyhash-0.5, rust-wyz-0.5, rust-wyz-0.4, rust-wyz-0.2, rust-x86-0.52, rust-capstone-sys-0.17, rust-capstone-0.13, rust-x86-0.33, rust-xattr-1, rust-xcb-1, rust-xcb-0.8, rust-xcursor-0.3, rust-xdg-2, rust-xdg-home-1, rust-xenstore-rs-0.6, rust-xenstore-sys-0.2, rust-xi-unicode-0.3, rust-xml-rs-0.8, rust-xml-rs-0.7, rust-xml5ever-0.18, rust-xml5ever-0.17, rust-xml5ever-0.16, rust-xmlparser-0.13, rust-xmltree-0.10, rust-xmlwriter-0.1, rust-xoroshiro128-0.3, rust-xxhash-c-sys-0.8, rust-xxhash-rust-0.8, rust-yaml-rust-0.4, rust-yaml-rust-0.3, rust-yaml-rust2-0.9, rust-yaml-rust2-0.8, rust-yansi-1, rust-yansi-0.5, rust-yansi-term-0.1, rust-yasna-0.5, rust-yasna-0.4, rust-yeslogic-fontconfig-sys-5, rust-yeslogic-fontconfig-sys-4, rust-yeslogic-fontconfig-sys-3, rust-yoke-0.7, rust-yoke-derive-0.7, rust-z-base-32-0.1, rust-zbar-rust-0.0.23, rust-zbase32-0.1, rust-zbus-4, rust-zbus-3, rust-zbus-1, rust-zbus-macros-4, rust-zbus-macros-3, rust-zbus-macros-1, rust-zbus-names-3, rust-zbus-names-2, rust-zbus-polkit-1, rust-zbus-xml-4, rust-zero-0.1, rust-zerocopy-0.8, rust-zerocopy-0.7, rust-zerocopy-0.6, rust-zerocopy-0.3, rust-zerocopy-derive-0.8, rust-zerocopy-derive-0.7, rust-zerocopy-derive-0.6, rust-zerocopy-derive-0.3, rust-zerocopy-derive-0.2, rust-zerofrom-0.1, rust-zerofrom-derive-0.1, rust-zeroize-1, rust-zeroize-derive-1, rust-zerovec-0.10, rust-zerovec-derive-0.10, rust-zoneinfo-compiled-0.5, rust-zune-core-0.4, rust-zune-inflate-0.2, rust-zune-jpeg-0.4, rust-zvariant-4, rust-zvariant-3, rust-zvariant-2, rust-zvariant-derive-4, rust-zvariant-derive-3, rust-zvariant-derive-2, rust-zvariant-utils-2, rust-zvariant-utils-1, rust-serde-plain-1, rust-deku-derive-0.16, rust-deku-0.16, rust-esp-idf-part-0.5, rust-educe-0.6, rust-nu-ansi-term-0.50, rust-nu-ansi-term-0.49, rust-nu-ansi-term-0.46, rust-nu-cli-0.101, rust-nu-cmd-base-0.101, rust-nu-cmd-extra-0.101, rust-nu-cmd-lang-0.101, rust-nu-cmd-plugin-0.101, rust-nu-color-config-0.101, rust-nu-command-0.101, rust-nu-derive-value-0.101, rust-nu-engine-0.101, rust-nu-explore-0.101, rust-nu-glob-0.101, rust-nu-json-0.101, rust-nu-lsp-0.101, rust-nu-parser-0.101, rust-nu-path-0.101, rust-nu-plugin-0.101, rust-nu-plugin-core-0.101, rust-nu-plugin-engine-0.101, rust-nu-plugin-protocol-0.101, rust-nu-plugin-test-support-0.101, rust-nu-pretty-hex-0.101, rust-nu-protocol-0.101, rust-nu-std-0.101, rust-nu-system-0.101, rust-nu-table-0.101, rust-nu-term-grid-0.101, rust-nu-test-support-0.101, rust-nu-utils-0.101, rust-nuon-0.101, rust-reedline-0.38, rust-spinners-4, rust-asn1-0.20, rust-asn1-0.16, rust-asn1-derive-0.20, rust-asn1-derive-0.16, rust-asn1-rs-0.6, rust-asn1-rs-0.5, rust-asn1-rs-0.3, rust-asn1-rs-derive-0.5, rust-asn1-rs-derive-0.4, rust-asn1-rs-derive-0.1, rust-asn1-rs-impl-0.2, rust-asn1-rs-impl-0.1, rust-async-native-tls-0.5, rust-async-native-tls-0.3, rust-async-tls-0.10, rust-aws-lc-fips-sys-0.13, rust-aws-lc-fips-sys-0.12, rust-aws-lc-rs-1, rust-aws-lc-sys-0.29, rust-aws-lc-sys-0.23, rust-der-0.7, rust-der-0.6, rust-der-0.5, rust-der-0.4, rust-der-derive-0.7, rust-der-derive-0.6, rust-der-derive-0.5, rust-der-derive-0.4, rust-der-oid-macro-0.5, rust-der-parser-9, rust-der-parser-8, rust-der-parser-7, rust-der-parser-6, rust-native-tls-0.2, rust-oid-0.2, rust-oid-registry-0.7, rust-oid-registry-0.6, rust-oid-registry-0.4, rust-oid-registry-0.3, rust-oid-registry-0.2, rust-picky-asn1-0.8, rust-picky-asn1-der-0.4, rust-picky-asn1-x509-0.12, rust-rcgen-0.13, rust-rcgen-0.12, rust-rcgen-0.11, rust-rcgen-0.10, rust-rcgen-0.9, rust-rcgen-0.8, rust-rustls-0.23, rust-rustls-0.22, rust-rustls-0.21, rust-rustls-0.20, rust-rustls-0.19, rust-rustls-0.18, rust-rustls-0.17, rust-rustls-0.16, rust-rustls-0.15, rust-rustls-0.14, rust-rustls-ffi-0.14, rust-rustls-native-certs-0.8, rust-rustls-native-certs-0.7, rust-rustls-native-certs-0.6, rust-rustls-native-certs-0.5, rust-rustls-pemfile-2, rust-rustls-pemfile-1, rust-rustls-pemfile-0.2, rust-rustls-pki-types-1, rust-rustls-platform-verifier-0.5, rust-rustls-platform-verifier-0.4, rust-rustls-platform-verifier-0.3, rust-rustls-platform-verifier-android-0.1, rust-rustls-webpki-0.103, rust-rustls-webpki-0.102, rust-rustls-webpki-0.101, rust-rustls-webpki-0.100, rust-tls-parser-0.12, rust-tls-parser-0.11, rust-x509-cert-0.2, rust-x509-parser-0.16, rust-x509-parser-0.15, rust-x509-parser-0.14, rust-x509-parser-0.13, rust-x509-parser-0.12, rust-asyncgit-0.26, rust-asyncgit-0.25, rust-auth-git2-0.5, rust-forgejo-api-0.5, rust-forgejo-api-0.4, rust-git-testament-0.2, rust-git-testament-derive-0.2, rust-git-version-0.3, rust-git-version-macro-0.3, rust-git2-0.20, rust-git2-0.19, rust-git2-0.18, rust-git2-0.17, rust-git2-0.16, rust-git2-0.15, rust-git2-0.13, rust-git2-0.9, rust-git2-curl-0.20, rust-git2-curl-0.19, rust-git2-hooks-0.3, rust-git-conventional-0.12, rust-git-info-0.1, rust-gix-merge-0.3, rust-gix-shallow-0.2, rust-gix-blame-0.0.0, rust-gix-worktree-state-0.16, rust-gix-submodule-0.16, rust-gix-status-0.16, rust-gix-transport-0.44, rust-gix-shallow-0.1, rust-gix-refspec-0.27, rust-gix-protocol-0.47, rust-gix-pack-0.56, rust-gix-odb-0.66, rust-gix-negotiate-0.17, rust-gix-revision-0.31, rust-gix-merge-0.2, rust-gix-pathspec-0.8, rust-gix-discover-0.37, rust-gix-dir-0.11, rust-gix-index-0.37, rust-gix-ignore-0.12, rust-gix-worktree-0.38, rust-gix-diff-0.49, rust-gix-url-0.28, rust-gix-credentials-0.26, rust-gix-tempfile-15, rust-gix-lock-15, rust-gix-ref-0.49, rust-gix-config-0.42, rust-gix-revwalk-0.17, rust-gix-commitgraph-0.25, rust-gix-traverse-0.43, rust-gix-fs-0.12, rust-gix-filter-0.16, rust-gix-glob-0.17, rust-gix-attributes-0.23, rust-gix-worktree-stream-0.18, rust-gix-hashtable-0.6, rust-gix-hash-0.15, rust-gix-features-0.39, rust-gix-object-0.46, rust-gix-archive-0.18, rust-gix-0.69, rust-gix-0.70, rust-gix-0.66, rust-gix-0.64, rust-gix-0.63, rust-gix-0.57, rust-gix-0.56, rust-gix-0.55, rust-gix-0.54, rust-gix-actor-0.33, rust-gix-actor-0.32, rust-gix-actor-0.31, rust-gix-actor-0.29, rust-gix-actor-0.28, rust-gix-actor-0.27, rust-gix-actor-0.21, rust-gix-archive-0.19, rust-gix-archive-0.15, rust-gix-archive-0.13, rust-gix-archive-0.8, rust-gix-archive-0.7, rust-gix-archive-0.6, rust-gix-archive-0.5, rust-gix-attributes-0.24, rust-gix-attributes-0.22, rust-gix-attributes-0.21, rust-gix-attributes-0.20, rust-gix-attributes-0.19, rust-gix-bitmap-0.2, rust-gix-chunk-0.4, rust-gix-command-0.4, rust-gix-command-0.3, rust-gix-command-0.2, rust-gix-commitgraph-0.26, rust-gix-commitgraph-0.24, rust-gix-commitgraph-0.23, rust-gix-commitgraph-0.22, rust-gix-commitgraph-0.21, rust-gix-commitgraph-0.16, rust-gix-config-0.43, rust-gix-config-0.40, rust-gix-config-0.38, rust-gix-config-0.37, rust-gix-config-0.33, rust-gix-config-0.32, rust-gix-config-0.31, rust-gix-config-0.30, rust-gix-config-value-0.14, rust-gix-credentials-0.27, rust-gix-credentials-0.24, rust-gix-credentials-0.23, rust-gix-credentials-0.22, rust-gix-credentials-0.21, rust-gix-credentials-0.20, rust-gix-date-0.9, rust-gix-date-0.8, rust-gix-date-0.5, rust-gix-diff-0.50, rust-gix-diff-0.46, rust-gix-diff-0.44, rust-gix-diff-0.39, rust-gix-diff-0.38, rust-gix-diff-0.37, rust-gix-diff-0.36, rust-gix-dir-0.12, rust-gix-dir-0.8, rust-gix-dir-0.6, rust-gix-dir-0.5, rust-gix-discover-0.38, rust-gix-discover-0.35, rust-gix-discover-0.33, rust-gix-discover-0.32, rust-gix-discover-0.28, rust-gix-discover-0.27, rust-gix-discover-0.26, rust-gix-discover-0.25, rust-gix-features-0.40, rust-gix-features-0.38, rust-gix-features-0.37, rust-gix-features-0.36, rust-gix-features-0.35, rust-gix-features-0.30, rust-gix-filter-0.17, rust-gix-filter-0.13, rust-gix-filter-0.11, rust-gix-filter-0.8, rust-gix-filter-0.7, rust-gix-filter-0.6, rust-gix-filter-0.5, rust-gix-fs-0.13, rust-gix-fs-0.11, rust-gix-fs-0.9, rust-gix-fs-0.8, rust-gix-fs-0.7, rust-gix-fsck-0.7, rust-gix-fsck-0.4, rust-gix-glob-0.18, rust-gix-glob-0.16, rust-gix-glob-0.15, rust-gix-glob-0.14, rust-gix-glob-0.13, rust-gix-hash-0.16, rust-gix-hash-0.14, rust-gix-hash-0.13, rust-gix-hash-0.11, rust-gix-hashtable-0.7, rust-gix-hashtable-0.5, rust-gix-hashtable-0.4, rust-gix-hashtable-0.2, rust-gix-ignore-0.13, rust-gix-ignore-0.11, rust-gix-ignore-0.10, rust-gix-ignore-0.9, rust-gix-ignore-0.8, rust-gix-index-0.38, rust-gix-index-0.35, rust-gix-index-0.33, rust-gix-index-0.28, rust-gix-index-0.27, rust-gix-index-0.26, rust-gix-index-0.25, rust-gix-lock-16, rust-gix-lock-14, rust-gix-lock-12, rust-gix-lock-11, rust-gix-lock-10, rust-gix-macros-0.1, rust-gix-mailmap-0.25, rust-gix-mailmap-0.24, rust-gix-mailmap-0.23, rust-gix-mailmap-0.21, rust-gix-mailmap-0.20, rust-gix-mailmap-0.19, rust-gix-negotiate-0.18, rust-gix-negotiate-0.15, rust-gix-negotiate-0.13, rust-gix-negotiate-0.11, rust-gix-negotiate-0.10, rust-gix-negotiate-0.9, rust-gix-negotiate-0.8, rust-gix-object-0.47, rust-gix-object-0.44, rust-gix-object-0.42, rust-gix-object-0.40, rust-gix-object-0.39, rust-gix-object-0.38, rust-gix-object-0.37, rust-gix-object-0.30, rust-gix-odb-0.67, rust-gix-odb-0.63, rust-gix-odb-0.61, rust-gix-odb-0.56, rust-gix-odb-0.55, rust-gix-odb-0.54, rust-gix-odb-0.53, rust-gix-pack-0.57, rust-gix-pack-0.53, rust-gix-pack-0.51, rust-gix-pack-0.46, rust-gix-pack-0.45, rust-gix-pack-0.44, rust-gix-pack-0.43, rust-gix-packetline-0.18, rust-gix-packetline-0.17, rust-gix-packetline-0.16, rust-gix-packetline-blocking-0.18, rust-gix-packetline-blocking-0.17, rust-gix-packetline-blocking-0.16, rust-gix-path-0.10, rust-gix-pathspec-0.9, rust-gix-pathspec-0.7, rust-gix-pathspec-0.5, rust-gix-pathspec-0.4, rust-gix-pathspec-0.3, rust-gix-prompt-0.9, rust-gix-prompt-0.8, rust-gix-prompt-0.7, rust-gix-protocol-0.48, rust-gix-protocol-0.45, rust-gix-protocol-0.43, rust-gix-protocol-0.42, rust-gix-protocol-0.41, rust-gix-protocol-0.40, rust-gix-quote-0.4, rust-gix-ref-0.50, rust-gix-ref-0.47, rust-gix-ref-0.45, rust-gix-ref-0.44, rust-gix-ref-0.40, rust-gix-ref-0.39, rust-gix-ref-0.38, rust-gix-ref-0.37, rust-gix-refspec-0.28, rust-gix-refspec-0.25, rust-gix-refspec-0.23, rust-gix-refspec-0.21, rust-gix-refspec-0.20, rust-gix-refspec-0.19, rust-gix-refspec-0.18, rust-gix-revision-0.32, rust-gix-revision-0.29, rust-gix-revision-0.27, rust-gix-revision-0.25, rust-gix-revision-0.24, rust-gix-revision-0.23, rust-gix-revision-0.22, rust-gix-revwalk-0.18, rust-gix-revwalk-0.15, rust-gix-revwalk-0.13, rust-gix-revwalk-0.11, rust-gix-revwalk-0.10, rust-gix-revwalk-0.9, rust-gix-revwalk-0.8, rust-gix-revwalk-0.1, rust-gix-sec-0.10, rust-gix-status-0.17, rust-gix-status-0.13, rust-gix-status-0.11, rust-gix-status-0.10, rust-gix-status-0.4, rust-gix-status-0.3, rust-gix-status-0.2, rust-gix-status-0.1, rust-gix-submodule-0.17, rust-gix-submodule-0.14, rust-gix-submodule-0.12, rust-gix-submodule-0.11, rust-gix-submodule-0.7, rust-gix-submodule-0.6, rust-gix-submodule-0.5, rust-gix-submodule-0.4, rust-gix-tempfile-16, rust-gix-tempfile-14, rust-gix-tempfile-12, rust-gix-tempfile-11, rust-gix-tempfile-10, rust-gix-trace-0.1, rust-gix-transport-0.45, rust-gix-transport-0.42, rust-gix-transport-0.40, rust-gix-transport-0.39, rust-gix-transport-0.38, rust-gix-transport-0.37, rust-gix-traverse-0.44, rust-gix-traverse-0.41, rust-gix-traverse-0.39, rust-gix-traverse-0.36, rust-gix-traverse-0.35, rust-gix-traverse-0.34, rust-gix-traverse-0.33, rust-gix-url-0.29, rust-gix-url-0.27, rust-gix-url-0.26, rust-gix-url-0.25, rust-gix-url-0.24, rust-gix-utils-0.1, rust-gix-validate-0.10, rust-gix-validate-0.9, rust-gix-validate-0.8, rust-gix-validate-0.7, rust-gix-worktree-0.39, rust-gix-worktree-0.36, rust-gix-worktree-0.34, rust-gix-worktree-0.29, rust-gix-worktree-0.28, rust-gix-worktree-0.27, rust-gix-worktree-0.26, rust-gix-worktree-state-0.17, rust-gix-worktree-state-0.13, rust-gix-worktree-state-0.11, rust-gix-worktree-state-0.6, rust-gix-worktree-state-0.5, rust-gix-worktree-state-0.4, rust-gix-worktree-state-0.3, rust-gix-worktree-stream-0.19, rust-gix-worktree-stream-0.15, rust-gix-worktree-stream-0.13, rust-gix-worktree-stream-0.8, rust-gix-worktree-stream-0.7, rust-gix-worktree-stream-0.6, rust-gix-worktree-stream-0.5, rust-libgit2-sys-0.18, rust-libgit2-sys-0.17, rust-libgit2-sys-0.16, rust-libgit2-sys-0.15, rust-libgit2-sys-0.14, rust-libgit2-sys-0.13, rust-libgit2-sys-0.12, rust-libgit2-sys-0.8, rust-libpijul-1, rust-pijul-config-0.0.1, rust-pijul-identity-0.0.1, rust-pijul-interaction-0.0.1, rust-pijul-macros-0.5, rust-pijul-remote-1, rust-pijul-repository-0.0.1, rust-actix-0.10, rust-actix-0.8, rust-actix-codec-0.5, rust-actix-codec-0.3, rust-actix-codec-0.2, rust-actix-codec-0.1, rust-actix-connect-2, rust-actix-connect-1, rust-actix-connect-0.2, rust-actix-derive-0.5, rust-actix-derive-0.4, rust-actix-files-0.6, rust-actix-http-3, rust-actix-http-2, rust-actix-http-1, rust-actix-http-0.2, rust-actix-http-test-3, rust-actix-http-test-1, rust-actix-http-test-0.2, rust-actix-macros-0.2, rust-actix-macros-0.1, rust-actix-router-0.5, rust-actix-router-0.2, rust-actix-router-0.1, rust-actix-rt-2, rust-actix-rt-1, rust-actix-rt-0.2, rust-actix-server-2, rust-actix-server-1, rust-actix-server-0.6, rust-actix-server-0.5, rust-actix-server-config-0.1, rust-actix-service-2, rust-actix-service-1, rust-actix-service-0.4, rust-actix-test-0.1, rust-actix-test-server-0.2, rust-actix-testing-1, rust-actix-testing-0.1, rust-actix-threadpool-0.3, rust-actix-threadpool-0.1, rust-actix-tls-3, rust-actix-tls-2, rust-actix-tls-1, rust-actix-utils-3, rust-actix-utils-2, rust-actix-utils-1, rust-actix-utils-0.4, rust-actix-web-4, rust-actix-web-3, rust-actix-web-2, rust-actix-web-1, rust-actix-web-codegen-4, rust-actix-web-codegen-0.4, rust-actix-web-codegen-0.2, rust-actix-web-codegen-0.1, rust-ammonia-4, rust-async-h1-2, rust-awc-3, rust-awc-2, rust-awc-1, rust-awc-0.2, rust-axum-0.7, rust-axum-0.6, rust-axum-core-0.4, rust-axum-core-0.3, rust-axum-extra-0.9, rust-axum-extra-0.7, rust-axum-macros-0.4, rust-axum-macros-0.3, rust-basic-cookies-0.1, rust-chardetng-0.1, rust-chunked-transfer-1, rust-chunked-transfer-0.3, rust-cookie-0.18, rust-cookie-0.17, rust-cookie-0.16, rust-cookie-0.15, rust-cookie-0.14, rust-cookie-0.12, rust-cookie-0.11, rust-cookie-factory-0.3, rust-cookie-store-0.21, rust-cookie-store-0.20, rust-deadpool-0.10, rust-deadpool-0.9, rust-deadpool-0.7, rust-deadpool-runtime-0.1, rust-deadpool-sync-0.1, rust-h2-0.4, rust-h2-0.3, rust-h2-0.2, rust-h2-0.1, rust-h3-0.0.6, rust-h3-0.0.4, rust-h3-0.0.3, rust-h3-0.0.2, rust-h3-quinn-0.0.7, rust-h3-quinn-0.0.5, rust-h3-quinn-0.0.4, rust-h3-quinn-0.0.3, rust-headers-0.4, rust-headers-0.3, rust-headers-core-0.3, rust-headers-core-0.2, rust-hickory-client-0.24, rust-hickory-proto-0.24, rust-hickory-recursor-0.24, rust-hickory-resolver-0.24, rust-hickory-server-0.24, rust-hoot-0.1, rust-hootbin-0.1, rust-http-1, rust-http-0.2, rust-http-0.1, rust-http-auth-0.1, rust-http-body-1, rust-http-body-0.4, rust-http-body-0.3, rust-http-body-0.1, rust-http-body-util-0.1, rust-http-client-6, rust-http-range-0.1, rust-http-range-header-0.4, rust-http-range-header-0.3, rust-http-types-2, rust-httparse-1, rust-httpdate-1, rust-httpmock-0.7, rust-hyper-1, rust-hyper-0.14, rust-hyper-0.13, rust-hyper-0.12, rust-hyper-0.10, rust-hyper-native-tls-0.3, rust-hyper-proxy-0.9, rust-hyper-rustls-0.27, rust-hyper-rustls-0.26, rust-hyper-rustls-0.24, rust-hyper-rustls-0.23, rust-hyper-rustls-0.22, rust-hyper-sync-rustls-0.3, rust-hyper-timeout-0.5, rust-hyper-timeout-0.4, rust-hyper-tls-0.6, rust-hyper-tls-0.5, rust-hyper-tls-0.4, rust-hyper-util-0.1, rust-hyperlocal-0.8, rust-iron-0.6, rust-isahc-1, rust-isahc-0.9, rust-json5-0.4, rust-jsonwebtoken-7, rust-minreq-2, rust-mockito-1, rust-multipart-0.18, rust-multipart-0.17, rust-nickel-0.11, rust-opentelemetry-http-0.10, rust-poem-1, rust-poem-derive-1, rust-punycode-0.4, rust-reqwest-0.12, rust-reqwest-0.11, rust-rfc7239-0.1, rust-rocket-0.5, rust-rocket-0.4, rust-rocket-codegen-0.5, rust-rocket-codegen-0.4, rust-rocket-http-0.5, rust-rocket-http-0.4, rust-rusoto-credential-0.48, rust-salvo-0.16, rust-salvo-core-0.16, rust-salvo-extra-0.16, rust-salvo-macros-0.16, rust-stdweb-0.4, rust-stdweb-0.1, rust-stdweb-derive-0.5, rust-stdweb-internal-macros-0.2, rust-stdweb-internal-runtime-0.1, rust-stdweb-internal-test-macro-0.1, rust-surf-2, rust-tiny-http-0.12, rust-tiny-http-0.11, rust-tiny-http-0.6, rust-tonic-0.12, rust-tonic-0.10, rust-tonic-0.8, rust-tonic-0.6, rust-tonic-build-0.12, rust-tonic-web-0.12, rust-tower-0.5, rust-tower-0.4, rust-tower-http-0.6, rust-tower-http-0.5, rust-tower-http-0.4, rust-tower-layer-0.3, rust-tower-service-0.3, rust-tower-test-0.4, rust-tower-test-0.3, rust-tower-util-0.3, rust-trotter-1, rust-trust-dns-client-0.22, rust-trust-dns-https-0.20, rust-trust-dns-https-0.19, rust-trust-dns-https-0.18.0-alpha.2, rust-trust-dns-https-0.3, rust-trust-dns-native-tls-0.20, rust-trust-dns-native-tls-0.19, rust-trust-dns-native-tls-0.18.0-alpha.2, rust-trust-dns-native-tls-0.6, rust-trust-dns-openssl-0.20, rust-trust-dns-openssl-0.19, rust-trust-dns-openssl-0.18.0-alpha.2, rust-trust-dns-openssl-0.6, rust-trust-dns-proto-0.23, rust-trust-dns-proto-0.22, rust-trust-dns-proto-0.20, rust-trust-dns-proto-0.19, rust-trust-dns-proto-0.18.0-alpha.2, rust-trust-dns-proto-0.7, rust-trust-dns-resolver-0.23, rust-trust-dns-resolver-0.22, rust-trust-dns-resolver-0.20, rust-trust-dns-resolver-0.19, rust-trust-dns-resolver-0.18.0-alpha.2, rust-trust-dns-resolver-0.11, rust-trust-dns-rustls-0.20, rust-trust-dns-rustls-0.19, rust-trust-dns-rustls-0.18.0-alpha.2, rust-trust-dns-rustls-0.6, rust-tungstenite-0.24, rust-tungstenite-0.23, rust-tungstenite-0.21, rust-tungstenite-0.20, rust-tungstenite-0.19, rust-tungstenite-0.16, rust-tungstenite-0.11, rust-typed-headers-0.2, rust-typed-headers-0.1, rust-warp-0.3, rust-warp-0.2, rust-web-view-0.7, rust-webpki-0.22, rust-webpki-0.21, rust-webpki-0.19, rust-webpki-0.18, rust-webpki-root-certs-0.26, rust-webpki-roots-1, rust-webpki-roots-0.26, rust-webpki-roots-0.25, rust-webpki-roots-0.24, rust-webpki-roots-0.23, rust-webpki-roots-0.22, rust-webpki-roots-0.21, rust-webpki-roots-0.20, rust-webpki-roots-0.19, rust-webpki-roots-0.18, rust-webpki-roots-0.17, rust-webpki-roots-0.16, rust-webpki-roots-0.15, rust-webview-sys-0.6, rust-wiremock-0.6, rust-askama-escape-0.10, rust-askama-parser-0.2, rust-askama-derive-0.12, rust-askama-0.12, rust-anstyle-wincon-3, rust-anstyle-wincon-1, rust-anstyle-wincon-0.2, rust-cargo-credential-wincred-0.4, rust-cargo-credential-wincred-0.3, rust-cfb-0.7, rust-clipboard-win-5, rust-clipboard-win-4, rust-clipboard-win-3, rust-clipboard-win-2, rust-codepage-0.1, rust-conpty-0.5, rust-deelevate-0.2, rust-dunce-1, rust-embed-resource-2, rust-embed-resource-1, rust-fs-at-0.2, rust-fs-set-times-0.20, rust-gdi32-sys-0.2, rust-implib-0.3, rust-ipconfig-0.3, rust-ipconfig-0.2, rust-kernel32-sys-0.2, rust-known-folders-1, rust-miow-0.6, rust-miow-0.5, rust-miow-0.4, rust-miow-0.3, rust-miow-0.2, rust-named-pipe-0.4, rust-native-windows-gui-1, rust-nt-time-0.6, rust-output-vt100-0.1, rust-python3-dll-a-0.2, rust-remove-dir-all-1, rust-remove-dir-all-0.5, rust-schannel-0.1, rust-serde-ini-0.2, rust-tauri-winrt-notification-0.2, rust-uds-windows-1, rust-user32-sys-0.2, rust-win-crypto-ng-0.5, rust-win32job-2, rust-winapi-0.3, rust-winapi-0.2, rust-winapi-build-0.1, rust-winapi-i686-pc-windows-gnu-0.4, rust-winapi-util-0.1, rust-winapi-wsapoll-0.1, rust-winapi-x86-64-pc-windows-gnu-0.4, rust-wincolor-1, rust-wincolor-0.1, rust-windows-collections-0.2, rust-windows-0.61, rust-windows-0.58, rust-windows-0.57, rust-windows-0.56, rust-windows-0.52, rust-windows-0.48, rust-windows-0.46, rust-windows-0.44, rust-windows-0.43, rust-windows-0.39, rust-windows-0.9, rust-windows-aarch64-gnullvm-0.52, rust-windows-aarch64-gnullvm-0.48, rust-windows-aarch64-gnullvm-0.42, rust-windows-aarch64-msvc-0.52, rust-windows-aarch64-msvc-0.48, rust-windows-aarch64-msvc-0.42, rust-windows-aarch64-msvc-0.39, rust-windows-aarch64-msvc-0.36, rust-windows-aarch64-msvc-0.32, rust-windows-aarch64-msvc-0.28, rust-windows-acl-0.3, rust-windows-bindgen-0.58, rust-windows-bindgen-0.57, rust-windows-bindgen-0.56, rust-windows-bindgen-0.54, rust-windows-bindgen-0.52, rust-windows-bindgen-0.51, rust-windows-interface-0.59, rust-windows-implement-0.60, rust-windows-core-0.61, rust-windows-core-0.58, rust-windows-core-0.57, rust-windows-core-0.56, rust-windows-core-0.52, rust-windows-gen-0.9, rust-windows-i686-gnu-0.52, rust-windows-i686-gnu-0.48, rust-windows-i686-gnu-0.42, rust-windows-i686-gnu-0.39, rust-windows-i686-gnu-0.36, rust-windows-i686-gnu-0.32, rust-windows-i686-gnu-0.28, rust-windows-i686-gnullvm-0.52, rust-windows-i686-msvc-0.52, rust-windows-i686-msvc-0.48, rust-windows-i686-msvc-0.42, rust-windows-i686-msvc-0.39, rust-windows-i686-msvc-0.36, rust-windows-i686-msvc-0.32, rust-windows-i686-msvc-0.28, rust-windows-implement-0.58, rust-windows-implement-0.57, rust-windows-implement-0.56, rust-windows-implement-0.52, rust-windows-implement-0.48, rust-windows-implement-0.46, rust-windows-implement-0.44, rust-windows-implement-0.43, rust-windows-implement-0.39, rust-windows-interface-0.58, rust-windows-interface-0.57, rust-windows-interface-0.56, rust-windows-interface-0.52, rust-windows-interface-0.48, rust-windows-interface-0.46, rust-windows-interface-0.44, rust-windows-interface-0.43, rust-windows-interface-0.39, rust-windows-macros-0.9, rust-windows-metadata-0.58, rust-windows-metadata-0.57, rust-windows-metadata-0.56, rust-windows-metadata-0.54, rust-windows-metadata-0.52, rust-windows-metadata-0.51, rust-windows-registry-0.2, rust-windows-link-0.1, rust-windows-result-0.3, rust-windows-result-0.2, rust-windows-result-0.1, rust-windows-service-0.7, rust-windows-numerics-0.2, rust-windows-threading-0.1, rust-windows-future-0.2, rust-windows-strings-0.4, rust-windows-strings-0.1, rust-windows-sys-0.59, rust-windows-sys-0.52, rust-windows-sys-0.48, rust-windows-sys-0.45, rust-windows-sys-0.42, rust-windows-sys-0.36, rust-windows-sys-0.28, rust-windows-targets-0.52, rust-windows-targets-0.48, rust-windows-targets-0.42, rust-windows-tokens-0.39, rust-windows-version-0.1, rust-windows-win-3, rust-windows-x86-64-gnu-0.52, rust-windows-x86-64-gnu-0.48, rust-windows-x86-64-gnu-0.42, rust-windows-x86-64-gnu-0.39, rust-windows-x86-64-gnu-0.36, rust-windows-x86-64-gnu-0.32, rust-windows-x86-64-gnu-0.28, rust-windows-x86-64-gnullvm-0.52, rust-windows-x86-64-gnullvm-0.48, rust-windows-x86-64-gnullvm-0.42, rust-windows-x86-64-msvc-0.52, rust-windows-x86-64-msvc-0.48, rust-windows-x86-64-msvc-0.42, rust-windows-x86-64-msvc-0.39, rust-windows-x86-64-msvc-0.36, rust-windows-x86-64-msvc-0.32, rust-windows-x86-64-msvc-0.28, rust-winreg-0.55, rust-winreg-0.52, rust-winreg-0.51, rust-winreg-0.50, rust-winreg-0.10, rust-winreg-0.8, rust-winreg-0.7, rust-winreg-0.6, rust-winres-0.1, rust-winresource-0.1, rust-winsafe-0.0.19, rust-winutil-0.1, rust-winx-0.36, rust-wio-0.2, rust-wmi-0.12, rust-ws2-32-sys-0.2, rust-pdb-0.8, rust-blake3-0.3, rust-blake3-1, rust-cargo. Change-Id: I0bdf69a910793c28b6d997d677c112864c7960e0
4914 lines
204 KiB
Scheme
4914 lines
204 KiB
Scheme
;;; GNU Guix --- Functional package management for GNU
|
||
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
|
||
;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
|
||
;;; Copyright © 2013-2022, 2024-2025 Ludovic Courtès <ludo@gnu.org>
|
||
;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr>
|
||
;;; Copyright © 2015, 2016 Mathieu Lirzin <mthl@gnu.org>
|
||
;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
|
||
;;; Copyright © 2014, 2016, 2019, 2021 Eric Bavier <bavier@posteo.net>
|
||
;;; Copyright © 2015-2025 Flashner <efraim@flashner.co.il>
|
||
;;; Copyright © 2015, 2018, 2020, 2021, 2022 Kyle Meyer <kyle@kyleam.com>
|
||
;;; Copyright © 2015, 2017, 2018, 2020 Ricardo Wurmus <rekado@elephly.net>
|
||
;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
|
||
;;; Copyright © 2016, 2017, 2018 Nikita <nikita@n0.is>
|
||
;;; Copyright © 2017–2022 Tobias Geerinckx-Rice <me@tobias.gr>
|
||
;;; Copyright © 2017 Vasile Dumitrascu <va511e@yahoo.com>
|
||
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
|
||
;;; Copyright © 2017, 2020 EuAndreh <eu@euandre.org>
|
||
;;; Copyright © 2017, 2018, 2020, 2022 Marius Bakke <marius@gnu.org>
|
||
;;; Copyright © 2017 Stefan Reichör <stefan@xsteve.at>
|
||
;;; Copyright © 2017, 2020, 2024 Oleg Pykhalov <go.wigust@gmail.com>
|
||
;;; Copyright © 2018 Sou Bunnbu <iyzsong@member.fsf.org>
|
||
;;; Copyright © 2018 Christopher Baines <mail@cbaines.net>
|
||
;;; Copyright © 2018 Timothy Sample <samplet@ngyro.com>
|
||
;;; Copyright © 2018, 2025 Arun Isaac <arunisaac@systemreboot.net>
|
||
;;; Copyright © 2019 Jovany Leandro G.C <bit4bit@riseup.net>
|
||
;;; Copyright © 2019 Kei Kebreau <kkebreau@posteo.net>
|
||
;;; Copyright © 2019, 2020 Alex Griffin <a@ajgrf.com>
|
||
;;; Copyright © 2020 Roel Janssen <roel@gnu.org>
|
||
;;; Copyright © 2020, 2021 Brice Waegeneire <brice@waegenei.re>
|
||
;;; Copyright © 2020 John D. Boy <jboy@bius.moe>
|
||
;;; Copyright © 2020, 2023, 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
|
||
;;; Copyright © 2020, 2021, 2022, 2023 Vinicius Monego <monego@posteo.net>
|
||
;;; Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org>
|
||
;;; Copyright © 2020, 2021, 2022 Michael Rohleder <mike@rohleder.de>
|
||
;;; Copyright © 2021 Greg Hogan <code@greghogan.com>
|
||
;;; Copyright © 2021, 2022, 2023, 2024 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||
;;; Copyright © 2021 Chris Marusich <cmmarusich@gmail.com>
|
||
;;; Copyright © 2021 Léo Le Bouter <lle-bout@zaclys.net>
|
||
;;; Copyright © 2021 LibreMiami <packaging-guix@libremiami.org>
|
||
;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
|
||
;;; Copyright © 2021 François J. <francois-oss@avalenn.eu>
|
||
;;; Copyright © 2021 Julien Lepiller <julien@lepiller.eu>
|
||
;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
|
||
;;; Copyright © 2021, 2024 jgart <jgart@dismail.de>
|
||
;;; Copyright © 2021 Foo Chuan Wei <chuanwei.foo@hotmail.com>
|
||
;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com>
|
||
;;; Copyright © 2022 Maxime Devos <maximedevos@telenet.be>
|
||
;;; Copyright © 2022 Dhruvin Gandhi <contact@dhruvin.dev>
|
||
;;; Copyright © 2015, 2022 David Thompson <davet@gnu.org>
|
||
;;; Copyright © 2023, 2025 Nicolas Graves <ngraves@ngraves.fr>
|
||
;;; Copyright © 2023 Bruno Victal <mirai@makinata.eu>
|
||
;;; Copyright © 2023 Kjartan Oli Agustsson <kjartanoli@disroot.org>
|
||
;;; Copyright © 2023 Steve George <steve@futurile.net>
|
||
;;; Copyright © 2023 Josselin Poiret <dev@jpoiret.xyz>
|
||
;;; Copyright © 2024 Hilton Chain <hako@ultrarare.space>
|
||
;;; Copyright © 2023, 2024 Zheng Junjie <873216071@qq.com>
|
||
;;; Copyright © 2023 Ryan Desfosses <rdesfo@sdf.org>
|
||
;;; Copyright © 2024 Suhail Singh <suhail@bayesians.ca>
|
||
;;; Copyright © 2024 Simon Tournier <zimon.toutoune@gmail.com>
|
||
;;; Copyright © 2024 Javier Olaechea <pirata@gmail.com>
|
||
;;; Copyright © 2024, 2025 Ashish SHUKLA <ashish.is@lostca.se>
|
||
;;; Copyright © 2024 Wilko Meyer <w@wmeyer.eu>
|
||
;;; Copyright © 2024 Herman Rimm <herman@rimm.ee>
|
||
;;; Copyright © 2024 Sharlatan Hellseher <sharlatanus@gmail.com>
|
||
;;; Copyright © 2025 Artyom V. Poptsov <poptsov.artyom@gmail.com>
|
||
;;; Copyright © 2025 Dariqq <dariqq@posteo.net>
|
||
;;; Copyright © 2025 Tomas Volf <~@wolfsden.cz>
|
||
;;; Copyright © 2025 Matthew Elwin <elwin@northwestern.edu>
|
||
;;;
|
||
;;; 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 <http://www.gnu.org/licenses/>.
|
||
|
||
(define-module (gnu packages version-control)
|
||
#:use-module ((guix licenses) #:prefix license:)
|
||
#:use-module (guix utils)
|
||
#:use-module (guix packages)
|
||
#:use-module (guix deprecation)
|
||
#:use-module (guix gexp)
|
||
#:use-module (guix download)
|
||
#:use-module (guix git-download)
|
||
#:use-module (guix hg-download)
|
||
#:use-module (guix build-system cargo)
|
||
#:use-module (guix build-system cmake)
|
||
#:use-module (guix build-system copy)
|
||
#:use-module (guix build-system emacs)
|
||
#:use-module (guix build-system gnu)
|
||
#:use-module (guix build-system go)
|
||
#:use-module (guix build-system perl)
|
||
#:use-module (guix build-system pyproject)
|
||
#:use-module (guix build-system python)
|
||
#:use-module (guix build-system qt)
|
||
#:use-module (guix build-system trivial)
|
||
#:use-module (gnu packages apr)
|
||
#:use-module (gnu packages autotools)
|
||
#:use-module (gnu packages documentation)
|
||
#:use-module (gnu packages base)
|
||
#:use-module (gnu packages bash)
|
||
#:use-module (gnu packages bison)
|
||
#:use-module (gnu packages boost)
|
||
#:use-module (gnu packages check)
|
||
#:use-module (gnu packages cook)
|
||
#:use-module (gnu packages crypto)
|
||
#:use-module (gnu packages curl)
|
||
#:use-module (gnu packages databases)
|
||
#:use-module (gnu packages docbook)
|
||
#:use-module (gnu packages file)
|
||
#:use-module (gnu packages flex)
|
||
#:use-module (gnu packages freedesktop)
|
||
#:use-module (gnu packages gawk)
|
||
#:use-module (gnu packages gettext)
|
||
#:use-module (gnu packages gl)
|
||
#:use-module (gnu packages glib)
|
||
#:use-module (gnu packages gnome)
|
||
#:use-module (gnu packages gnupg)
|
||
#:use-module (gnu packages golang)
|
||
#:use-module (gnu packages golang-build)
|
||
#:use-module (gnu packages golang-check)
|
||
#:use-module (gnu packages golang-crypto)
|
||
#:use-module (gnu packages golang-vcs)
|
||
#:use-module (gnu packages golang-web)
|
||
#:use-module (gnu packages golang-xyz)
|
||
#:use-module (gnu packages groff)
|
||
#:use-module (gnu packages guile)
|
||
#:use-module (gnu packages guile-xyz)
|
||
#:use-module (gnu packages image)
|
||
#:use-module (gnu packages imagemagick)
|
||
#:use-module (gnu packages less)
|
||
#:use-module (gnu packages libbsd)
|
||
#:use-module (gnu packages libevent)
|
||
#:use-module (gnu packages linux)
|
||
#:use-module (gnu packages mail)
|
||
#:use-module (gnu packages man)
|
||
#:use-module (gnu packages maths)
|
||
#:use-module (gnu packages ncurses)
|
||
#:use-module (gnu packages ssh)
|
||
#:use-module (gnu packages web)
|
||
#:use-module (gnu packages patchutils)
|
||
#:use-module (gnu packages pcre)
|
||
#:use-module (gnu packages perl)
|
||
#:use-module (gnu packages perl-check)
|
||
#:use-module (gnu packages php)
|
||
#:use-module (gnu packages pkg-config)
|
||
#:use-module (gnu packages python)
|
||
#:use-module (gnu packages python-build)
|
||
#:use-module (gnu packages python-check)
|
||
#:use-module (gnu packages python-crypto)
|
||
#:use-module (gnu packages python-web)
|
||
#:use-module (gnu packages python-xyz)
|
||
#:use-module (gnu packages readline)
|
||
#:use-module (gnu packages rsync)
|
||
#:use-module (gnu packages ruby-check)
|
||
#:use-module (gnu packages sqlite)
|
||
#:use-module (gnu packages texinfo)
|
||
#:use-module (gnu packages text-editors)
|
||
#:use-module (gnu packages admin)
|
||
#:use-module (gnu packages xml)
|
||
#:use-module (gnu packages emacs)
|
||
#:use-module (gnu packages compression)
|
||
#:use-module (gnu packages qt)
|
||
#:use-module (gnu packages rust)
|
||
#:use-module (gnu packages sdl)
|
||
#:use-module (gnu packages swig)
|
||
#:use-module (gnu packages sync)
|
||
#:use-module (gnu packages tcl)
|
||
#:use-module (gnu packages textutils)
|
||
#:use-module (gnu packages time)
|
||
#:use-module (gnu packages tls)
|
||
#:use-module (gnu packages)
|
||
#:use-module (ice-9 match)
|
||
#:use-module (srfi srfi-1)
|
||
#:export (make-gitolite))
|
||
|
||
(define-public breezy
|
||
(package
|
||
(name "breezy")
|
||
(version "3.3.11")
|
||
(source
|
||
(origin
|
||
(method url-fetch)
|
||
(uri (string-append "https://launchpad.net/brz/"
|
||
(version-major+minor version) "/" version
|
||
"/+download/breezy-" version ".tar.gz"))
|
||
(modules '((guix build utils)))
|
||
;; Delete pre-generated Cython C files.
|
||
(snippet '(for-each delete-file (find-files "." "\\pyx.c$")))
|
||
(sha256
|
||
(base32
|
||
"0fxv7ca6qbrj6bvrbfgjrd9ldppa8zq8hc461rikh85c5xg9rjqi"))))
|
||
(build-system python-build-system)
|
||
(arguments
|
||
(list
|
||
#:modules
|
||
'(((guix build cargo-build-system) #:prefix cargo:)
|
||
(guix build python-build-system)
|
||
(guix build utils))
|
||
#:imported-modules
|
||
`(,@%cargo-build-system-modules
|
||
,@%python-build-system-modules)
|
||
#:phases
|
||
#~(modify-phases %standard-phases
|
||
(add-after 'unpack 'prepare-cargo-build-system
|
||
(lambda args
|
||
(for-each
|
||
(lambda (phase)
|
||
(format #t "Running cargo phase: ~a~%" phase)
|
||
(apply (assoc-ref cargo:%standard-phases phase)
|
||
#:cargo-target #$(cargo-triplet)
|
||
args))
|
||
'(unpack-rust-crates
|
||
configure
|
||
check-for-pregenerated-files
|
||
patch-cargo-checksums))))
|
||
(add-after 'unpack 'patch-test-shebangs
|
||
(lambda _
|
||
(substitute* (append (find-files "breezy/bzr/tests")
|
||
(find-files "breezy/tests"))
|
||
(("#!/bin/sh")
|
||
(format #f "#!~a" (which "sh"))))))
|
||
(add-before 'build 'adjust-for-python-3.10
|
||
(lambda _
|
||
(substitute* '("breezy/doc_generate/__init__.py"
|
||
"breezy/tests/test_selftest.py")
|
||
;; AttributeError: module 'datetime' has no attribute 'UTC'
|
||
;; This only works for python >= 3.11
|
||
(("datetime.UTC") "datetime.timezone.utc"))))
|
||
(replace 'check
|
||
(lambda* (#:key tests? #:allow-other-keys)
|
||
(when tests?
|
||
(setenv "BZR_EDITOR" "nano")
|
||
(invoke "brz" "selftest" "--verbose" "--parallel=fork"
|
||
;; This test hangs
|
||
"-x" "breezy.tests.blackbox.test_serve"
|
||
;; No GnuPG key results for pattern: bazaar@example.com
|
||
"-x" "breezy.tests.test_gpg"
|
||
;; compgen: command not found
|
||
"-x" "bash_completion"
|
||
;; No such file or directory: '/etc/mtab'
|
||
"-x" "breezy.tests.blackbox.test_diff.TestExternalDiff.test_external_diff"
|
||
;; Value "/etc/ssl/certs/ca-certificates.crt" is not valid for "ssl.ca_certs"
|
||
"-x" "breezy.tests.test_https_urllib.CaCertsConfigTests.test_default_exists"
|
||
;; Unknown Failure
|
||
"-x" "breezy.tests.test_plugins.TestLoadPluginAt.test_compiled_loaded"
|
||
"-x" "breezy.tests.test_plugins.TestPlugins.test_plugin_get_path_pyc_only"
|
||
"-x" "breezy.tests.test_selftest.TestActuallyStartBzrSubprocess.test_start_and_stop_bzr_subprocess_send_signal")))))))
|
||
(native-inputs
|
||
(append
|
||
(list gettext-minimal
|
||
python-cython
|
||
python-setuptools
|
||
python-setuptools-gettext
|
||
python-setuptools-rust
|
||
python-tomli
|
||
python-wheel
|
||
rust
|
||
`(,rust "cargo")
|
||
;; tests
|
||
nano
|
||
python-testtools
|
||
python-packaging
|
||
python-subunit)
|
||
(or (and=> (%current-target-system)
|
||
(compose list make-rust-sysroot))
|
||
'())))
|
||
(inputs (cons* python-configobj
|
||
python-dulwich
|
||
python-fastbencode
|
||
python-fastimport
|
||
python-launchpadlib
|
||
python-merge3
|
||
python-paramiko
|
||
python-gpg
|
||
python-patiencediff
|
||
python-pygithub
|
||
python-pyyaml
|
||
python-tzlocal
|
||
python-urllib3
|
||
(cargo-inputs 'breezy)))
|
||
(home-page "https://www.breezy-vcs.org/")
|
||
(synopsis "Decentralized revision control system")
|
||
(description
|
||
"Breezy (@command{brz}) is a decentralized revision control system. By
|
||
default, Breezy provides support for both the
|
||
@uref{https://bazaar.canonical.com/, Bazaar} and @uref{https://www.git-scm.com,
|
||
Git} file formats. Breezy is backwabrds compatible with Bazaar's disk format
|
||
and protocols. One of the key differences with Bazaar is that Breezy runs on
|
||
Python 3.3 and later, rather than on Python 2.")
|
||
(license license:gpl2+)))
|
||
|
||
(define-public bazaar
|
||
(deprecated-package "bazaar" breezy))
|
||
|
||
(define git-cross-configure-flags
|
||
#~(list "ac_cv_fread_reads_directories=yes"
|
||
"ac_cv_snprintf_returns_bogus=no"
|
||
"ac_cv_iconv_omits_bom=no"))
|
||
|
||
;; The size of the closure of 'git-minimal' is two thirds that of 'git'.
|
||
;; Its test suite runs slightly faster and most importantly it doesn't
|
||
;; depend on packages that are expensive to build such as Subversion.
|
||
(define-public git-minimal
|
||
(package
|
||
(name "git-minimal")
|
||
(version "2.50.1")
|
||
(source (origin
|
||
(method url-fetch)
|
||
(uri (string-append "mirror://kernel.org/software/scm/git/git-"
|
||
version ".tar.xz"))
|
||
(sha256
|
||
(base32
|
||
"1i4gbin7ah9azaz68j10q9qkdq2bcyv2vm0lvppg3n6bvqv6qgky"))))
|
||
(build-system gnu-build-system)
|
||
(arguments
|
||
(list
|
||
#:modules `((srfi srfi-1)
|
||
(srfi srfi-26)
|
||
(ice-9 format)
|
||
(ice-9 textual-ports)
|
||
((guix build gnu-build-system) #:prefix gnu:)
|
||
,@%default-gnu-modules)
|
||
;; Make sure the full bash does not end up in the final closure.
|
||
#:disallowed-references (list bash perl)
|
||
#:test-target "test"
|
||
#:configure-flags
|
||
(if (%current-target-system)
|
||
git-cross-configure-flags
|
||
#~(list))
|
||
#:make-flags
|
||
#~(list "V=1" ;more verbose compilation
|
||
(string-append "SHELL_PATH="
|
||
#+(this-package-native-input "bash-minimal")
|
||
"/bin/sh")
|
||
|
||
;; Tests require a bash with completion support.
|
||
(string-append "TEST_SHELL_PATH="
|
||
#+(this-package-native-input "bash")
|
||
"/bin/bash")
|
||
|
||
;; By default 'make install' creates hard links for
|
||
;; things in 'libexec/git-core', which leads to huge
|
||
;; nars; see <https://bugs.gnu.org/21949>.
|
||
"NO_INSTALL_HARDLINKS=indeed"
|
||
#$@(if (or (target-hurd64?) (%current-target-system))
|
||
#~("-Wno-error=implicit-function-declaration")
|
||
#~()))
|
||
#:phases
|
||
#~(modify-phases %standard-phases
|
||
#$@(if (%current-target-system)
|
||
;; The git build system assumes build == host
|
||
#~((add-after 'unpack 'use-host-uname_S
|
||
(lambda _
|
||
(substitute* "config.mak.uname"
|
||
(("uname_S := .*" all)
|
||
(if #$(target-hurd?)
|
||
"uname_S := GNU\n"
|
||
all))))))
|
||
;; We do not have a full bash when cross-compiling.
|
||
#~((add-after 'unpack 'modify-PATH
|
||
(lambda* (#:key inputs #:allow-other-keys)
|
||
(let ((path (string-split (getenv "PATH") #\:))
|
||
(bash-full #$(this-package-native-input "bash")))
|
||
;; Drop the test bash from PATH so that (which "sh")
|
||
;; and similar does the right thing.
|
||
(setenv "PATH"
|
||
(string-join
|
||
(remove (cut string-prefix? bash-full <>)
|
||
path)
|
||
":")))))))
|
||
#$@(if (system-hurd?)
|
||
#~((add-after 'unpack 'delete-tests/hurd
|
||
(lambda _
|
||
(delete-file "t/t0052-simple-ipc.sh")
|
||
(delete-file "t/t5562-http-backend-content-length.sh")
|
||
(delete-file "t/t9902-completion.sh"))))
|
||
#~())
|
||
;; Add cross curl-config script to PATH when cross-compiling.
|
||
#$@(if (%current-target-system)
|
||
#~((add-before 'configure 'add-cross-curl-config
|
||
(lambda* (#:key inputs #:allow-other-keys)
|
||
(setenv "PATH"
|
||
(string-append
|
||
(dirname (search-input-file
|
||
inputs "bin/curl-config"))
|
||
":" (getenv "PATH"))))))
|
||
#~())
|
||
(add-after 'unpack 'patch-commands
|
||
(lambda* (#:key inputs #:allow-other-keys)
|
||
(define (prepend-string-to-file text file)
|
||
"Prepend TEXT to FILE."
|
||
(let ((content (call-with-input-file file
|
||
(cut get-string-all <>))))
|
||
(call-with-output-file file
|
||
(lambda (port)
|
||
(display text port)
|
||
(display content port)))))
|
||
|
||
(define PATH-variable-definition
|
||
(format #f "PATH=~{~a~^:~}${PATH:+:}$PATH~%~%"
|
||
(map (compose dirname (cut search-input-file inputs <>))
|
||
'("bin/basename"
|
||
"bin/sed"))))
|
||
|
||
;; Ensure that coreutils (for basename) and sed are on PATH
|
||
;; for any script that sources the 'git-sh-setup.sh' file.
|
||
(prepend-string-to-file PATH-variable-definition
|
||
"git-sh-setup.sh")
|
||
|
||
;; Avoid depending on util-linux; it's only used to detect
|
||
;; whether the system is MinGW, which we can detect at build
|
||
;; time.
|
||
(substitute* "git-sh-setup.sh"
|
||
(("\\$\\(uname -s)")
|
||
(if #$(target-mingw?)
|
||
"MINGW"
|
||
"GNU"))) ;matched against '*'
|
||
|
||
;; git-submodule sources 'git-sh-setup.sh', but not before
|
||
;; invoking the basename and sed commands... patch them to their
|
||
;; absolute location.
|
||
(substitute* "git-submodule.sh"
|
||
(("\\$\\(basename")
|
||
(string-append "$(" (search-input-file inputs "bin/basename")))
|
||
(("sed -e")
|
||
(string-append (search-input-file inputs "bin/sed") " -e")))
|
||
|
||
;; git-send-email invokes the editor via 'sh'; patch it.
|
||
(substitute* "git-send-email.perl"
|
||
(("'sh'")
|
||
(format #f "'~a'" (search-input-file inputs "bin/sh"))))))
|
||
(add-after 'configure 'patch-makefiles
|
||
(lambda _
|
||
(substitute* "Makefile"
|
||
(("/usr/bin/perl") (which "perl")))))
|
||
(add-after 'configure 'add-PM.stamp
|
||
(lambda _
|
||
;; Add the "PM.stamp" to avoid "no rule to make target".
|
||
(call-with-output-file "perl/PM.stamp" (const #t))))
|
||
(add-before 'check 'patch-tests
|
||
(lambda _
|
||
(let ((store-directory (%store-directory)))
|
||
;; These files contain some funny bytes that Guile is unable
|
||
;; to decode for shebang patching. Just delete them.
|
||
(for-each delete-file '("t/t4201-shortlog.sh"
|
||
"t/t7813-grep-icase-iso.sh"))
|
||
;; Many tests contain inline shell scripts (hooks etc).
|
||
(substitute* (find-files "t" "\\.sh$")
|
||
(("#!/bin/sh") (string-append "#!" (which "sh"))))
|
||
;; Un-do shebang patching here to prevent checksum mismatch.
|
||
(substitute* '("t/t4034/perl/pre" "t/t4034/perl/post")
|
||
(("^#!.*/bin/perl") "#!/usr/bin/perl"))
|
||
(substitute* "t/t5003-archive-zip.sh"
|
||
(("cp /bin/sh") (string-append "cp " (which "sh"))))
|
||
(substitute* "t/t6030-bisect-porcelain.sh"
|
||
(("\"/bin/sh\"") (string-append "\"" (which "sh") "\"")))
|
||
;; FIXME: This test runs `git commit` with a bogus EDITOR
|
||
;; and empty commit message, but does not fail the way it's
|
||
;; expected to. The test passes when invoked interactively.
|
||
(substitute* "t/t7508-status.sh"
|
||
(("\tcommit_template_commented") "\ttrue"))
|
||
;; More checksum mismatches due to odd shebangs.
|
||
(substitute* "t/t9100-git-svn-basic.sh"
|
||
(((string-append "\"#!" store-directory ".*/bin/sh"))
|
||
"\"#!/bin/sh") )
|
||
(substitute* "t/t9300-fast-import.sh"
|
||
(((string-append "\t#!" store-directory ".*/bin/sh"))
|
||
"\t#!/bin/sh")
|
||
(((string-append "'#!" store-directory ".*/bin/sh"))
|
||
"'#!/bin/sh"))
|
||
;; FIXME: Some hooks fail with "basename: command not found".
|
||
;; See 't/trash directory.t9164.../svn-hook.log'.
|
||
(delete-file "t/t9164-git-svn-dcommit-concurrent.sh")
|
||
|
||
;; XXX: These tests fail intermittently for unknown reasons:
|
||
;; <https://bugs.gnu.org/29546>.
|
||
(for-each delete-file
|
||
'("t/t9128-git-svn-cmd-branch.sh"
|
||
"t/t9167-git-svn-cmd-branch-subproject.sh"
|
||
"t/t9141-git-svn-multiple-branches.sh"))
|
||
|
||
#$@(if (version>=? (package-version this-package)
|
||
"2.48.0")
|
||
;; Purge the purged tests in meson.build
|
||
#~((substitute
|
||
"t/meson.build"
|
||
(list (cons "^(.+')(t[^']+[.]sh)('.*)$"
|
||
(lambda (line matches)
|
||
(let* ((match-offset (vector-ref (car matches) 3))
|
||
(test-file (string-append "t/"
|
||
(substring line
|
||
(car match-offset)
|
||
(cdr match-offset)))))
|
||
(if (file-exists? test-file)
|
||
line
|
||
"")))))))
|
||
#~()))))
|
||
(add-after 'install 'install-shell-completion
|
||
(lambda _
|
||
(let ((bash (string-append #$output "/etc/bash_completion.d"))
|
||
(zsh (string-append #$output "/share/zsh/site-functions")))
|
||
;; TODO: Install the tcsh completions in the right place.
|
||
(for-each mkdir-p (list bash zsh))
|
||
(copy-file "contrib/completion/git-completion.bash"
|
||
(string-append bash "/git"))
|
||
(copy-file "contrib/completion/git-prompt.sh"
|
||
(string-append #$output "/bin/git-prompt"))
|
||
(copy-file "contrib/completion/git-completion.zsh"
|
||
(string-append zsh "/_git")))))
|
||
(add-after 'install 'remove-unusable-perl-commands
|
||
(lambda _
|
||
(let ((bin (string-append #$output "/bin"))
|
||
(libexec (string-append #$output "/libexec")))
|
||
(for-each (lambda (file)
|
||
(delete-file (string-append libexec
|
||
"/git-core/" file)))
|
||
'("git-svn" "git-cvsimport" "git-archimport"
|
||
"git-cvsserver" "git-request-pull"
|
||
|
||
;; git-add--interactive was removed in Git 2.40 but
|
||
;; this phase is inherited by older versions.
|
||
#$@(if (version>=? (package-version this-package)
|
||
"2.40.1")
|
||
#~()
|
||
#~("git-add--interactive"))
|
||
|
||
"git-cvsexportcommit"
|
||
"git-instaweb" "git-send-email"))
|
||
(delete-file (string-append bin "/git-cvsserver"))
|
||
|
||
;; These templates typically depend on Perl. Remove them.
|
||
(delete-file-recursively
|
||
(string-append #$output "/share/git-core/templates/hooks"))
|
||
|
||
;; Gitweb depends on Perl as well.
|
||
(delete-file-recursively
|
||
(string-append #$output "/share/gitweb")))))
|
||
(add-after 'install 'restore-sample-hooks-shebang
|
||
(lambda _
|
||
(let* ((dir (string-append #$output
|
||
"/share/git-core/templates/hooks")))
|
||
(for-each (lambda (file)
|
||
(format #t "restoring shebang on `~a'~%" file)
|
||
(substitute* file
|
||
(("^#!.*/bin/sh") "#!/bin/sh")))
|
||
(find-files dir ".*"))))))))
|
||
(native-inputs
|
||
;; Add bash-minimal explicitly to ensure it comes before bash-for-tests,
|
||
;; see <https://bugs.gnu.org/39513>.
|
||
(list bash-minimal
|
||
bash
|
||
gettext-minimal
|
||
perl))
|
||
(inputs
|
||
(list bash-minimal
|
||
coreutils-minimal
|
||
curl ;for HTTP(S) access
|
||
expat ;for 'git push' over HTTP(S)
|
||
openssl
|
||
perl
|
||
sed
|
||
zlib))
|
||
(native-search-paths
|
||
;; For HTTPS access, Git needs a single-file certificate bundle, specified
|
||
;; with $GIT_SSL_CAINFO.
|
||
(list (search-path-specification
|
||
(variable "GIT_SSL_CAINFO")
|
||
(file-type 'regular)
|
||
(separator #f) ;single entry
|
||
(files '("etc/ssl/certs/ca-certificates.crt")))
|
||
(search-path-specification
|
||
(variable "GIT_EXEC_PATH")
|
||
(separator #f) ;single entry
|
||
(files '("libexec/git-core")))))
|
||
(synopsis "Distributed version control system")
|
||
(description
|
||
"Git is a free distributed version control system designed to handle
|
||
everything from small to very large projects with speed and efficiency.")
|
||
(properties '((lint-hidden-cpe-vendors . ("jenkins"))
|
||
(upstream-name . "git")))
|
||
(license license:gpl2)
|
||
(home-page "https://git-scm.com/")))
|
||
|
||
(define-public git
|
||
(package/inherit git-minimal
|
||
(name "git")
|
||
(outputs '("out" ;the core
|
||
"send-email" ;for git-send-email
|
||
"svn" ;git-svn
|
||
"credential-netrc" ;git-credential-netrc
|
||
"credential-libsecret" ;git-credential-libsecret
|
||
"subtree" ;git-subtree
|
||
"gui")) ;gitk, git gui
|
||
(arguments
|
||
(substitute-keyword-arguments (package-arguments git-minimal)
|
||
((#:disallowed-references disallowed-refs ''())
|
||
(delete perl disallowed-refs))
|
||
((#:make-flags flags #~'())
|
||
#~(cons "USE_LIBPCRE2=yes" #$flags))
|
||
((#:configure-flags flags #~'())
|
||
;; The explicit --with-tcltk forces the build system to hardcode the
|
||
;; absolute file name to 'wish'.
|
||
#~(cons (string-append "--with-tcltk="
|
||
(search-input-file %build-inputs
|
||
"bin/wish8.6"))
|
||
#$flags))
|
||
((#:phases phases '%standard-phases)
|
||
#~(modify-phases #$phases
|
||
(delete 'remove-unusable-perl-commands)
|
||
(replace 'patch-makefiles
|
||
(lambda _
|
||
(substitute* (find-files "." "Makefile")
|
||
(("/bin/sh") (which "sh"))
|
||
(("/usr/bin/perl") (which "perl"))
|
||
(("/usr/bin/python") (which "python3")))))
|
||
(add-after 'build 'build-subtree
|
||
(lambda* (#:key native-inputs inputs #:allow-other-keys)
|
||
(invoke "make" "-C" "Documentation" "asciidoc.conf")
|
||
(with-directory-excursion "contrib/subtree"
|
||
(invoke "make")
|
||
(invoke "make" "install")
|
||
(invoke "make" "install-doc")
|
||
(substitute* "git-subtree"
|
||
(("/bin/sh") (which "sh"))))))
|
||
(add-after 'install 'install-doc
|
||
(lambda* (#:key parallel-build? #:allow-other-keys)
|
||
(define job-count (if parallel-build?
|
||
(number->string (parallel-job-count))
|
||
"1"))
|
||
(invoke "make" "-C" "Documentation"
|
||
"install-info" "install-man"
|
||
"-j" job-count
|
||
;; The Makefile refer to 'docbook2x-texi', but our
|
||
;; binary is named 'docbook2texi'.
|
||
"DOCBOOK2X_TEXI=docbook2texi" "PERL_PATH=perl")))
|
||
(add-after 'install 'install-credential-netrc
|
||
(lambda _
|
||
(install-file
|
||
"contrib/credential/netrc/git-credential-netrc.perl"
|
||
(string-append #$output:credential-netrc "/bin"))
|
||
(rename-file (string-append #$output:credential-netrc
|
||
"/bin/git-credential-netrc.perl")
|
||
(string-append #$output:credential-netrc
|
||
"/bin/git-credential-netrc"))
|
||
;; Previously, Git.pm was automatically found by netrc.
|
||
;; Perl 5.26 changed how it locates modules so that @INC no
|
||
;; longer includes the current working directory (the Perl
|
||
;; community calls this "dotless @INC").
|
||
(wrap-program (string-append #$output:credential-netrc
|
||
"/bin/git-credential-netrc")
|
||
`("PERL5LIB" ":" prefix
|
||
(,(string-append #$output "/share/perl5"))))))
|
||
(add-after 'install 'install-credential-libsecret
|
||
(lambda _
|
||
(with-directory-excursion "contrib/credential/libsecret"
|
||
((assoc-ref gnu:%standard-phases 'build))
|
||
(install-file "git-credential-libsecret"
|
||
(string-append #$output:credential-libsecret
|
||
"/bin")))))
|
||
(add-after 'install 'install-subtree
|
||
(lambda _
|
||
(install-file "contrib/subtree/git-subtree"
|
||
(string-append #$output:subtree "/bin"))
|
||
(install-file "contrib/subtree/git-subtree.1"
|
||
(string-append #$output:subtree
|
||
"/share/man/man1"))))
|
||
(add-after 'install 'split
|
||
(lambda* (#:key inputs #:allow-other-keys)
|
||
;; Split the binaries to the various outputs.
|
||
(let* ((out #$output)
|
||
(se #$output:send-email)
|
||
(svn #$output:svn)
|
||
(gui #$output:gui)
|
||
(gitk (string-append out "/bin/gitk"))
|
||
(gitk* (string-append gui "/bin/gitk"))
|
||
(git-gui (string-append
|
||
out "/libexec/git-core/git-gui"))
|
||
(git-gui* (string-append
|
||
gui "/libexec/git-core/git-gui"))
|
||
(git-cit (string-append
|
||
out "/libexec/git-core/git-citool"))
|
||
(git-cit* (string-append
|
||
gui "/libexec/git-core/git-citool"))
|
||
(git-se (string-append
|
||
out "/libexec/git-core/git-send-email"))
|
||
(git-se* (string-append
|
||
se "/libexec/git-core/git-send-email"))
|
||
(git-svn (string-append
|
||
out "/libexec/git-core/git-svn"))
|
||
(git-svn* (string-append
|
||
svn "/libexec/git-core/git-svn"))
|
||
(git-sm (string-append
|
||
out "/libexec/git-core/git-submodule")))
|
||
(mkdir-p (string-append gui "/bin"))
|
||
(mkdir-p (string-append gui "/libexec/git-core"))
|
||
(mkdir-p (string-append se "/libexec/git-core"))
|
||
(mkdir-p (string-append svn "/libexec/git-core"))
|
||
|
||
(for-each (lambda (old new)
|
||
(copy-file old new)
|
||
(delete-file old)
|
||
(chmod new #o555))
|
||
(list gitk git-gui git-cit git-se git-svn)
|
||
(list gitk* git-gui* git-cit* git-se* git-svn*))
|
||
|
||
;; Tell 'git-svn' where Subversion and perl-term-readkey are.
|
||
|
||
;; FIXME: Old school 'assoc-ref' is used to retrieve
|
||
;; subversion here, as #$(this-package-input "subversion")
|
||
;; causes a dependency cycle for unknown reasons.
|
||
(wrap-program git-svn*
|
||
`("PATH" ":" prefix
|
||
(,(dirname (search-input-file inputs "bin/perl"))))
|
||
`("PERL5LIB" ":" prefix
|
||
,(search-path-as-list
|
||
'("lib/perl5/site_perl")
|
||
(list (assoc-ref inputs "subversion")
|
||
#$(this-package-input "perl-term-readkey"))))
|
||
|
||
;; XXX: The .so for SVN/Core.pm lacks a RUNPATH, so
|
||
;; help it find 'libsvn_client-1.so'.
|
||
`("LD_LIBRARY_PATH" ":" prefix
|
||
(,(string-append (assoc-ref inputs "subversion")
|
||
"/lib"))))
|
||
|
||
;; Tell 'git-send-email' where perl modules are.
|
||
(wrap-program git-se*
|
||
`("PERL5LIB" ":" prefix
|
||
,(search-path-as-list
|
||
'("lib/perl5/site_perl")
|
||
'#$(delete-duplicates
|
||
(let ((perl-inputs
|
||
(list (this-package-input "perl-authen-sasl")
|
||
(this-package-input "perl-net-smtp-ssl")
|
||
(this-package-input "perl-io-socket-ssl"))))
|
||
(append perl-inputs
|
||
(map last
|
||
(append-map
|
||
package-transitive-propagated-inputs
|
||
perl-inputs))))))))
|
||
|
||
;; Tell 'gitweb.cgi' where perl modules are.
|
||
(wrap-program (string-append out "/share/gitweb/gitweb.cgi")
|
||
`("PERL5LIB" ":" prefix
|
||
,(search-path-as-list
|
||
'("lib/perl5/site_perl")
|
||
'#$(delete-duplicates
|
||
(let ((perl-inputs (list (this-package-input
|
||
"perl-cgi"))))
|
||
(append perl-inputs
|
||
(map last
|
||
(append-map
|
||
package-transitive-propagated-inputs
|
||
perl-inputs)))))))))))))))
|
||
(native-inputs
|
||
(modify-inputs (package-native-inputs git-minimal)
|
||
;; For documentation.
|
||
(append asciidoc
|
||
docbook2x
|
||
docbook-xml-4.5
|
||
docbook-xsl
|
||
libxslt
|
||
pkg-config
|
||
texinfo
|
||
xmlto)))
|
||
(inputs
|
||
(modify-inputs (package-inputs git-minimal)
|
||
(append bash-minimal ;for wrap-program
|
||
python ;for git-p4
|
||
|
||
;; For PCRE support in git grep (USE_LIBPCRE2).
|
||
pcre2
|
||
|
||
;; For 'gitweb.cgi'.
|
||
perl-cgi
|
||
|
||
;; For 'git-svn'.
|
||
subversion
|
||
perl-term-readkey
|
||
|
||
;; For 'git-send-email'.
|
||
perl-authen-sasl
|
||
perl-net-smtp-ssl
|
||
perl-io-socket-ssl
|
||
|
||
;; For 'git gui', 'gitk', and 'git citool'.
|
||
tcl
|
||
tk
|
||
|
||
;; For 'git-credential-libsecret'
|
||
glib
|
||
libsecret)))))
|
||
|
||
;;; The symbol git-minimal/fixed should be used when git-minimal needs fixes
|
||
;;; (security or else) and this deprecation could be removed.
|
||
(define-deprecated/public-alias git-minimal/fixed git-minimal/pinned)
|
||
|
||
(define-public git-minimal/pinned
|
||
;; Version that rarely changes, depended on by Graphene/GTK+.
|
||
(package/inherit git-minimal
|
||
(version "2.50.0")
|
||
(source (origin
|
||
(method url-fetch)
|
||
(uri (string-append "mirror://kernel.org/software/scm/git/git-"
|
||
version ".tar.xz"))
|
||
(sha256
|
||
(base32
|
||
"0if0vqn3fj22p95a0125zpgwz3mqfqxqnvwa7fkf7b00wh0c1wyz"))))))
|
||
|
||
(define-public python-klaus
|
||
(package
|
||
(name "python-klaus")
|
||
(version "3.0.1")
|
||
(source (origin
|
||
(method url-fetch)
|
||
(uri (pypi-uri "klaus" version))
|
||
(sha256
|
||
(base32
|
||
"1w6sl15llnkcg7kmnpn64awdiis061q2gijnhdx0ng7z4p1glapl"))))
|
||
(build-system pyproject-build-system)
|
||
(arguments
|
||
(list
|
||
#:tests? #f ; TODO: https://github.com/jonashaag/klaus/issues/322
|
||
#:phases
|
||
#~(modify-phases %standard-phases
|
||
(add-after 'unpack 'configure-git
|
||
(lambda* (#:key inputs #:allow-other-keys)
|
||
(for-each (lambda (file)
|
||
(substitute* file
|
||
(("\"git\"")
|
||
(string-append "\""
|
||
(search-input-file inputs "/bin/git") "\""))))
|
||
(list "klaus/ctagsutils.py"
|
||
"klaus/repo.py"
|
||
"klaus/utils.py"
|
||
"tests/test_contrib.py"
|
||
"tests/test_make_app.py")))))))
|
||
(inputs (list git-minimal))
|
||
(native-inputs
|
||
(list python-pytest python-setuptools python-wheel))
|
||
(propagated-inputs
|
||
(list python-dulwich python-flask python-httpauth
|
||
python-humanize python-pygments python-werkzeug))
|
||
(home-page "https://github.com/jonashaag/klaus")
|
||
(synopsis "Simple git web viewer")
|
||
(description
|
||
"@code{klaus} is a simple, easy-to-set-up git web viewer. It features
|
||
@itemize
|
||
@item Super easy to set up -- no configuration required
|
||
@item Syntax highlighting
|
||
@item Markdown + RestructuredText rendering support
|
||
@item Pull + push support (Git Smart HTTP)
|
||
@item Code navigation using Exuberant ctags
|
||
@end itemize")
|
||
(license license:isc)))
|
||
|
||
(define-public git2cl
|
||
(let ((commit "1d74d4c0d933fc69ed5cec838c73502584dead05"))
|
||
(package
|
||
(name "git2cl")
|
||
(version (string-append "20120919." (string-take commit 7)))
|
||
(source (origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://git.savannah.nongnu.org/git/git2cl.git")
|
||
(commit commit)))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32
|
||
"0wnnbm2sjvfj0qrksj89jlnl69miwl0vk3wrrvgvpclgys3na2g1"))))
|
||
(build-system copy-build-system)
|
||
(inputs
|
||
(list perl))
|
||
(arguments
|
||
`(#:install-plan '(("git2cl" "bin/git2cl"))))
|
||
(home-page "https://savannah.nongnu.org/projects/git2cl")
|
||
(synopsis "Convert Git logs to GNU ChangeLog format")
|
||
(description "@code{git2cl} is a command line tool for converting Git
|
||
logs to GNU ChangeLog format.")
|
||
(license license:gpl2+))))
|
||
|
||
(define-public gitless
|
||
;; XXX: The latest release uses deprecated packages.
|
||
(let ((commit "3ac28e39e170acdcd1590e0a25a06790ae0e6922")
|
||
(revision "0"))
|
||
(package
|
||
(name "gitless")
|
||
(version (git-version "0.8.8" revision commit))
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/gitless-vcs/gitless")
|
||
(commit commit)))
|
||
(sha256
|
||
(base32 "116hl4hb42qw7lza0w71m2i7dmfh0vfm5fi3x95nx463sjnk4ahv"))))
|
||
(build-system pyproject-build-system)
|
||
(arguments
|
||
(list
|
||
#:phases
|
||
#~(modify-phases %standard-phases
|
||
(add-before 'build 'loosen-requirements
|
||
(lambda _
|
||
(substitute* "setup.py"
|
||
;; Using Guix's python-pygit2 1.1.0 appears to work fine…
|
||
(("pygit2==") "pygit2>="))))
|
||
(add-before 'check 'prepare-for-tests
|
||
(lambda _
|
||
;; Find the 'gl' command.
|
||
(rename-file "gl.py" "gl")
|
||
(setenv "PATH" (string-append (getcwd) ":" (getenv "PATH")))
|
||
|
||
;; The tests try to run git as if it were already set up.
|
||
(setenv "HOME" (getcwd))
|
||
(invoke "git" "config" "--global" "user.email" "git@example.com")
|
||
(invoke "git" "config" "--global" "user.name" "Guix")
|
||
(invoke "git" "config" "--global" "color.ui" "true")))
|
||
(replace 'wrap
|
||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||
(let ((git (search-input-file inputs "bin/git")))
|
||
(wrap-program (string-append #$output "/bin/gl")
|
||
`("PATH" ":" prefix (,(dirname git)))
|
||
`("GUIX_PYTHONPATH" ":" =
|
||
(,(string-append (site-packages inputs outputs) ":")
|
||
,(getenv "GUIX_PYTHONPATH"))))))))))
|
||
(native-inputs
|
||
(list git-minimal
|
||
python-pytest
|
||
python-setuptools
|
||
python-wheel))
|
||
(inputs
|
||
(list bash-minimal
|
||
git-minimal
|
||
python-argcomplete
|
||
python-pygit2
|
||
python-sh))
|
||
(home-page "https://gitless.com")
|
||
(synopsis "Simple version control system built on top of Git")
|
||
(description
|
||
"Gitless is a Git-compatible version control system that aims to be easy to
|
||
learn and use. It simplifies the common workflow by committing changes to
|
||
tracked files by default and saving any uncommitted changes as part of a branch.
|
||
|
||
The friendly @command{gl} command-line interface gives feedback and helps you
|
||
figure out what to do next.
|
||
|
||
Gitless is implemented on top of Git and its commits and repositories are
|
||
indistinguishable from Git's. You (or other contributors) can always fall back
|
||
on @command{git}, and use any regular Git hosting service.")
|
||
(license license:expat))))
|
||
|
||
(define-public git-cal
|
||
(package
|
||
(name "git-cal")
|
||
(version "0.9.1")
|
||
(source (origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/k4rthik/git-cal")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32
|
||
"08s9sif3qlk5n2dqpzq5yjczggnqlnxldljspjdqgpfydb2dqg3z"))))
|
||
(build-system perl-build-system)
|
||
(home-page "https://github.com/k4rthik/git-cal/")
|
||
(synopsis "GitHub like contributions calendar for terminal")
|
||
(description "@code{git-cal} is a script to view commits calendar similar
|
||
to GitHub contributions calendar.")
|
||
(license license:expat)))
|
||
|
||
(define-public git-tools
|
||
(package
|
||
(name "git-tools")
|
||
(version "2022.12")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/MestreLion/git-tools")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0s8x74ggcr6nqzplr0jfzp3cavq0nmdm35hqywzs2bbq75i1mijd"))))
|
||
(build-system copy-build-system)
|
||
(arguments
|
||
`(#:install-plan '(("git-branches-rename" "bin/git-branches-rename")
|
||
("git-clone-subset" "bin/git-clone-subset")
|
||
("git-find-uncommitted-repos"
|
||
"bin/git-find-uncommitted-repos")
|
||
("git-rebase-theirs" "bin/git-rebase-theirs")
|
||
("git-restore-mtime" "bin/git-restore-mtime")
|
||
("git-strip-merge" "bin/git-strip-merge")
|
||
("./man1/" "share/man/man1"
|
||
#:include-regexp (".*\\.1$")))))
|
||
(inputs (list bash-minimal git-minimal python-minimal))
|
||
(home-page "https://github.com/MestreLion/git-tools")
|
||
(synopsis "Assorted git-related scripts and tools")
|
||
(description
|
||
"@code{git-tools} is a collection of bash and python scripts.
|
||
Specifically, it includes the following tools:
|
||
|
||
@itemize
|
||
@item @code{git-branches-rename}: Batch rename branches with a matching prefix
|
||
to another prefix
|
||
@item @code{git-clone-subset}: Clone a subset of a git repository
|
||
@item @code{git-find-uncommitted-repos}: Recursively list repositories in the
|
||
given directory(ies) that have uncommitted changes
|
||
@item @code{git-rebase-theirs}: Resolve rebase conflicts and failed
|
||
cherry-picks by favoring \"theirs\" version
|
||
@item @code{git-restore-mtime}: Restore modification time of files based on
|
||
the date of the most recent commit that modified them
|
||
@item @code{git-strip-merge}: A git-merge wrapper that deletes files on a
|
||
\"foreign\" branch before merging
|
||
@end itemize")
|
||
(license license:gpl3+)))
|
||
|
||
(define-public git-spice
|
||
(package
|
||
(name "git-spice")
|
||
(version "0.11.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/abhinav/git-spice")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0fgdi0gmax808aazmzl75wny2klfcz5gbs8v82zhifgiza01xzqy"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "go.abhg.dev/gs"
|
||
#:install-source? #f
|
||
#:build-flags
|
||
#~(list (string-append "-ldflags=-X main._version=" #$version))
|
||
#:test-flags
|
||
#~(list "-skip"
|
||
(string-join
|
||
;; XXX: Tests failing with various reasons: requiring
|
||
;; networking config or write access, or outbound access, check
|
||
;; if some of them may be fixed.
|
||
(list "TestAuthenticationFlow_PAT/pat"
|
||
"TestDeviceFlowAuthenticator"
|
||
"TestScript/auth_detect_forge"
|
||
"TestScript/auth_explicit_forge"
|
||
"TestScript/auth_insecure_storage"
|
||
"TestScript/auth_prompt_forge"
|
||
"TestScript/branch_create_below_with_downstack_history"
|
||
"TestScript/branch_create_no_verify"
|
||
"TestScript/branch_onto_two_stacks_with_downstack_history"
|
||
"TestScript/branch_restack_conflict_no_edit"
|
||
"TestScript/branch_split_reassign_submitted"
|
||
"TestScript/branch_submit_.*"
|
||
"TestScript/commit_amend_no_verify"
|
||
"TestScript/commit_create_no_verify"
|
||
"TestScript/commit_split_no_verify"
|
||
"TestScript/downstack_submit"
|
||
"TestScript/issue369_branch_submit_pr_template_cache_.*"
|
||
"TestScript/issue398_repo_sync_many_merged"
|
||
"TestScript/repo_sync_.*"
|
||
"TestScript/stack_edit_inserted_at_bottom_with_.*"
|
||
"TestScript/stack_submit"
|
||
"TestScript/stack_submit_.*"
|
||
"TestScript/submit_update_only"
|
||
"TestScript/upstack_submit_main"
|
||
"TestSelectAuthenticator/oauth"
|
||
"TestSelectAuthenticator/oauth_public")
|
||
"|"))
|
||
#:phases
|
||
#~(modify-phases %standard-phases
|
||
(add-after 'install 'install-shell-completion
|
||
(lambda _
|
||
(let* ((out #$output)
|
||
(share (string-append out "/share"))
|
||
(gs (string-append out "/bin/gs"))
|
||
(bash-completions-dir
|
||
(string-append out "/etc/bash_completion.d/"))
|
||
(fish-completions-dir
|
||
(string-append share "/fish/vendor_completions.d"))
|
||
(zsh-completions-dir
|
||
(string-append share "/zsh/site-functions")))
|
||
(for-each mkdir-p
|
||
(list bash-completions-dir
|
||
fish-completions-dir
|
||
zsh-completions-dir))
|
||
(with-output-to-file
|
||
(string-append bash-completions-dir "/gs")
|
||
(lambda _ (invoke gs "shell" "completion" "bash")))
|
||
(with-output-to-file
|
||
(string-append fish-completions-dir "/gs.fish")
|
||
(lambda _ (invoke gs "shell" "completion" "fish")))
|
||
(with-output-to-file
|
||
(string-append zsh-completions-dir "/_gs")
|
||
(lambda _ (invoke gs "shell" "completion" "zsh")))))))))
|
||
(native-inputs
|
||
(list git-minimal ; for tests in testdata/scripts
|
||
go-github-com-alecthomas-kong
|
||
go-github-com-buildkite-shellwords
|
||
go-github-com-charmbracelet-bubbles
|
||
go-github-com-charmbracelet-bubbletea
|
||
go-github-com-charmbracelet-lipgloss
|
||
go-github-com-charmbracelet-log
|
||
go-github-com-cli-browser
|
||
go-github-com-creack-pty
|
||
go-github-com-dustin-go-humanize
|
||
go-github-com-mattn-go-isatty
|
||
go-github-com-rogpeppe-go-internal-1.14
|
||
go-github-com-sahilm-fuzzy
|
||
go-github-com-shurcool-githubv4
|
||
go-github-com-stretchr-testify
|
||
go-github-com-tidwall-gjson
|
||
go-github-com-vito-midterm
|
||
go-github-com-zalando-go-keyring
|
||
go-gitlab-com-gitlab-org-api-client-go
|
||
go-go-abhg-dev-io-ioutil
|
||
go-go-abhg-dev-komplete
|
||
go-go-abhg-dev-testing-stub
|
||
go-go-uber-org-mock
|
||
go-golang-org-x-oauth2
|
||
go-gopkg-in-dnaeon-go-vcr-v4
|
||
go-gopkg-in-yaml-v3
|
||
go-pgregory-net-rapid))
|
||
(home-page "https://go.abhg.dev/gs")
|
||
(synopsis "Manage stacks of Git branches")
|
||
(description
|
||
"git-spice (@code{gs}) is a command line tool for stacking Git branches,
|
||
a collection of branches expecting the trunk has a base branch. It manages
|
||
and navigates stacks of branches, conveniently modifies and rebases them also
|
||
provides an integration with GitHub and GitLab.")
|
||
(license license:gpl3)))
|
||
|
||
(define-public got
|
||
(package
|
||
(name "got")
|
||
(version "0.116")
|
||
(source (origin
|
||
(method url-fetch)
|
||
(uri
|
||
(string-append
|
||
"https://gameoftrees.org/releases/portable/got-portable-"
|
||
version ".tar.gz"))
|
||
(sha256
|
||
(base32
|
||
"1zsdisaqv1q612a7jws9qd8n1gm9ilz5mnprkpgvdhc27gblm9p8"))))
|
||
(inputs
|
||
(list libevent
|
||
`(,util-linux "lib")
|
||
zlib
|
||
libressl
|
||
libmd
|
||
libbsd
|
||
ncurses))
|
||
(native-inputs
|
||
(list pkg-config perl))
|
||
(arguments
|
||
`(;; disable runpath validation, courtesy: libbsd's special
|
||
;; treatment of libmd, as it embeds path to libmd.so
|
||
#:validate-runpath? #f
|
||
;; default values of GOT_*_PATH_* point to /usr/bin
|
||
#:make-flags
|
||
'("CFLAGS+=-DGOT_DIAL_PATH_SSH=\\\"ssh\\\""
|
||
"CFLAGS+=-DGOT_TAG_PATH_SSH_KEYGEN=\\\"ssh-keygen\\\""
|
||
"CFLAGS+=-DGOT_TAG_PATH_SIGNIFY=\\\"signify\\\"")
|
||
#:phases ,#~(modify-phases %standard-phases
|
||
(add-after 'unpack 'patch-execv-to-execvp
|
||
(lambda _
|
||
;; got sources has paths hardcoded to /usr/bin
|
||
(substitute* "lib/dial.c"
|
||
(("execv\\(GOT_DIAL_") "execvp(GOT_DIAL_")
|
||
(("execv %s\", GOT_DIAL") "execvp %s\", GOT_DIAL"))
|
||
(substitute* "lib/sigs.c"
|
||
(("execv\\(GOT_TAG") "execvp(GOT_TAG")
|
||
(("execv %s\", GOT_TAG") "execvp %s\", GOT_TAG")))))))
|
||
(build-system gnu-build-system)
|
||
(synopsis "Distributed version control system")
|
||
(description
|
||
"Game of Trees (Got) is a version control system which prioritizes ease of use
|
||
and simplicity over flexibility.")
|
||
(license license:isc)
|
||
(home-page "https://gameoftrees.org/")
|
||
(properties
|
||
;; Can lint for updates, but not update in place.
|
||
'((release-monitoring-url . "https://gameoftrees.org/releases/")
|
||
(lint-hidden-cpe-vendors . ("got_project"))))))
|
||
|
||
(define-public xdiff
|
||
(let ((revision "0")
|
||
(commit "a137bc7ee6c76618ed1737c257548eaa10ac0089"))
|
||
(package
|
||
(name "xdiff")
|
||
;; The base version is taken from the CMakeLists.txt file.
|
||
(version (git-version "0.1" revision commit))
|
||
(source (origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/libgit2/xdiff")
|
||
(commit commit)))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32
|
||
"1rxzpag2pih64qlgq40xg1z6mz0bzvps4baxw7bmykyhjhc2gx75"))))
|
||
(build-system cmake-build-system)
|
||
(arguments
|
||
(list
|
||
#:modules '((guix build cmake-build-system)
|
||
(guix build utils)
|
||
(srfi srfi-26))
|
||
#:tests? #f ;no test suite
|
||
#:phases
|
||
#~(modify-phases %standard-phases
|
||
(add-after 'unpack 'create-shared-library
|
||
(lambda _
|
||
(substitute* "CMakeLists.txt"
|
||
(("add_library\\(xdiff STATIC")
|
||
"add_library(xdiff SHARED"))))
|
||
(replace 'install ;no install target
|
||
(lambda _
|
||
(with-directory-excursion "../source"
|
||
(for-each (cute install-file <>
|
||
(string-append #$output "/include"))
|
||
(list "xdiff.h"
|
||
"git-xdiff.h"))) ;included by xdiff.h
|
||
(install-file "libxdiff.so"
|
||
(string-append #$output "/lib")))))))
|
||
(home-page "https://github.com/libgit2/xdiff")
|
||
(synopsis "File differential library used by git")
|
||
(description "@code{xdiff} is the file differential library used by git,
|
||
which has been extracted into a standalone library for compatibility with
|
||
other git-like projects such as @code{libgit2}.")
|
||
(license license:lgpl2.1+))))
|
||
|
||
(define-public libgit2-1.5
|
||
(package
|
||
(name "libgit2")
|
||
(version "1.5.2")
|
||
(source (origin
|
||
;; Since v1.1.1, release artifacts are no longer offered (see:
|
||
;; https://github.com/libgit2/libgit2/discussions/5932#discussioncomment-1682729).
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/libgit2/libgit2")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32
|
||
"0v9jdaxmqrzbs9v5vhh2xf5xv9h29q8qqn8vmns279ljx1zav5yd"))
|
||
(modules '((guix build utils)))
|
||
(snippet
|
||
'(begin
|
||
(delete-file-recursively "deps")))))
|
||
(build-system cmake-build-system)
|
||
(outputs '("out" "debug"))
|
||
(arguments
|
||
`(#:configure-flags
|
||
(list "-DUSE_NTLMCLIENT=OFF" ;TODO: package this
|
||
"-DREGEX_BACKEND=pcre2"
|
||
"-DUSE_HTTP_PARSER=system"
|
||
"-DUSE_SSH=ON" ; cmake fails to find libssh if this is missing
|
||
,@(if (%current-target-system)
|
||
`((string-append
|
||
"-DPKG_CONFIG_EXECUTABLE="
|
||
(search-input-file
|
||
%build-inputs
|
||
(string-append "/bin/" ,(%current-target-system)
|
||
"-pkg-config"))))
|
||
'()))
|
||
#:phases
|
||
(modify-phases %standard-phases
|
||
,@(if (or (target-arm32?) (target-hurd?))
|
||
;; Some tests are flaky on armhf.
|
||
;; On GNU/Hurd, the 'diff/workdir' test in libgit2 1.7.1 fails
|
||
;; while comparing st.st_size to zero.
|
||
'((add-before 'check 'pre-check
|
||
(lambda _
|
||
(setenv "GITTEST_FLAKY_STAT" "true"))))
|
||
'())
|
||
;; Run checks more verbosely, unless we are cross-compiling.
|
||
(replace 'check
|
||
(lambda* (#:key (tests? #t) #:allow-other-keys)
|
||
(if tests?
|
||
(invoke "./libgit2_tests" "-v" "-Q")
|
||
;; Tests may be disabled if cross-compiling.
|
||
(format #t "Test suite not run.~%")))))))
|
||
(inputs
|
||
(list libssh2 http-parser))
|
||
(native-inputs
|
||
(list pkg-config python))
|
||
(propagated-inputs
|
||
;; These libraries are in 'Requires.private' in libgit2.pc.
|
||
(list openssl pcre2 zlib))
|
||
(home-page "https://libgit2.org/")
|
||
(synopsis "Library providing Git core methods")
|
||
(description
|
||
"Libgit2 is a portable, pure C implementation of the Git core methods
|
||
provided as a re-entrant linkable library with a solid API, allowing you to
|
||
write native speed custom Git applications in any language with bindings.")
|
||
;; GPLv2 with linking exception
|
||
(license license:gpl2)))
|
||
|
||
(define-public libgit2
|
||
;; Default version of libgit2.
|
||
libgit2-1.5)
|
||
|
||
(define-public libgit2-1.7
|
||
(package
|
||
(inherit libgit2)
|
||
(version "1.7.2")
|
||
(source (origin
|
||
(inherit (package-source libgit2))
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/libgit2/libgit2")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name "libgit2" version))
|
||
(sha256
|
||
(base32
|
||
"0i95jwrwx4svh5l4dpa5r4a99f813hlm7nzzkbqzmnw4pkyxhlvx"))
|
||
;; We need to use the bundled xdiff until an option is given
|
||
;; to use the one from git.
|
||
(modules '((guix build utils)))
|
||
(snippet
|
||
'(begin
|
||
(for-each delete-file-recursively
|
||
'("deps/chromium-zlib"
|
||
"deps/http-parser"
|
||
"deps/ntlmclient"
|
||
"deps/pcre"
|
||
"deps/winhttp"
|
||
"deps/zlib"))))))))
|
||
|
||
(define-public libgit2-1.8
|
||
(package
|
||
(inherit libgit2-1.7)
|
||
(version "1.8.4")
|
||
(source (origin
|
||
(inherit (package-source libgit2-1.7))
|
||
(uri (git-reference
|
||
(url "https://github.com/libgit2/libgit2")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name "libgit2" version))
|
||
(sha256
|
||
(base32
|
||
"0jydckwn0bbrp2kbcr1ih1bz4sc6yhx7lrl22lqcgnf2v6ml6n01"))
|
||
(patches
|
||
(search-patches "libgit2-uninitialized-proxy-settings.patch"))
|
||
(snippet
|
||
'(begin
|
||
(for-each delete-file-recursively
|
||
'("deps/chromium-zlib"
|
||
"deps/llhttp"
|
||
"deps/ntlmclient"
|
||
"deps/pcre"
|
||
"deps/winhttp"
|
||
"deps/zlib"))))))
|
||
(arguments (substitute-keyword-arguments (package-arguments libgit2-1.7)
|
||
((#:configure-flags flags #~(list))
|
||
#~(map (lambda (arg)
|
||
(if (string= "-DUSE_HTTP_PARSER=system" arg)
|
||
"-DUSE_HTTP_PARSER=http-parser"
|
||
arg))
|
||
#$flags))))))
|
||
|
||
(define-public libgit2-1.9
|
||
(package
|
||
(inherit libgit2-1.8)
|
||
(version "1.9.1")
|
||
(source (origin
|
||
(inherit (package-source libgit2-1.8))
|
||
(uri (git-reference
|
||
(url "https://github.com/libgit2/libgit2")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name "libgit2" version))
|
||
(patches
|
||
(search-patches "libgit2-uninitialized-proxy-settings.patch"
|
||
"libgit2-proxy-reconnection.patch"
|
||
"libgit2-path-max.patch"))
|
||
(sha256
|
||
(base32
|
||
"1k7h0phxz1i8i8qhd4dsyii62f30f33gmrpziqgri1ndnazkf4pz"))))))
|
||
|
||
(define-public libgit2-1.6
|
||
(package
|
||
(inherit libgit2)
|
||
(version "1.6.5")
|
||
(source (origin
|
||
(inherit (package-source libgit2))
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/libgit2/libgit2")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name "libgit2" version))
|
||
(sha256
|
||
(base32
|
||
"1v8sndvknsknf0i967qidmz73q9jx928iq7fqqgx3rbwn2g1gn6s"))))))
|
||
|
||
(define-public libgit2-1.4
|
||
(package
|
||
(inherit libgit2)
|
||
(version "1.4.6")
|
||
(source (origin
|
||
(inherit (package-source libgit2))
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/libgit2/libgit2")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name "libgit2" version))
|
||
(sha256
|
||
(base32
|
||
"0iv7h2fdnlv5vj4dx09w71xbj004hidbpsbgv02gbvlpvsz3jpcf"))))))
|
||
|
||
(define-public libgit2-1.3
|
||
(package
|
||
(inherit libgit2-1.4)
|
||
(version "1.3.2")
|
||
(source (origin
|
||
(inherit (package-source libgit2-1.4))
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/libgit2/libgit2")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name "libgit2" version))
|
||
(sha256
|
||
(base32
|
||
"1dngga8jq419z6ps65wpmh2jihcf70k6r98pb1m1yiwj7qqh9792"))))
|
||
(arguments
|
||
(substitute-keyword-arguments (package-arguments libgit2)
|
||
((#:phases _ '%standard-phases)
|
||
`(modify-phases %standard-phases
|
||
;; Run checks more verbosely, unless we are cross-compiling.
|
||
(replace 'check
|
||
(lambda* (#:key (tests? #t) #:allow-other-keys)
|
||
(if tests?
|
||
(invoke "./libgit2_clar" "-v" "-Q")
|
||
;; Tests may be disabled if cross-compiling.
|
||
(format #t "Test suite not run.~%"))))))))))
|
||
|
||
(define-public git-issue
|
||
(let ((commit "d056998566d30235072b97982756ff607e9ecce9")
|
||
(revision "0"))
|
||
(package
|
||
(name "git-issue")
|
||
(version (git-version "0" revision commit))
|
||
(source (origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/dspinellis/git-issue")
|
||
(commit commit)))
|
||
(sha256
|
||
(base32
|
||
"0002bjzv6rgpxbbsjiswg73prl7iq217qvafbxhsjp2wjj00i0sm"))))
|
||
(build-system gnu-build-system)
|
||
(arguments
|
||
(list #:make-flags #~(list (string-append "PREFIX=" #$output))
|
||
#:test-target "test"
|
||
#:phases
|
||
#~(modify-phases %standard-phases
|
||
(delete 'configure) ;no configure script
|
||
(add-before 'build 'generate-docs
|
||
(lambda _
|
||
(invoke "make" "sync-docs")))
|
||
(add-before 'check 'fix-tests
|
||
(lambda _
|
||
(substitute* "test.sh"
|
||
;; Skip 3 failing tests.
|
||
(("fail \"Uncommitted files sync-docs.*")
|
||
"ok \"ignored\"\n")
|
||
(("try_grep '\\^Tags:\\.\\*cloned'")
|
||
"ok \"ignored\"")
|
||
(("try \"\\$gi\" tag \"\\$issue\" cloned")
|
||
"ok \"ignored\"")
|
||
;; Fix a test.
|
||
(("#!/bin/sh") (string-append "#!" (which "sh")))))))))
|
||
(native-inputs (list git-minimal util-linux))
|
||
(inputs (list jq curl))
|
||
(synopsis "Git-based decentralized issue management")
|
||
(description
|
||
"This is a minimalist decentralized issue management system based on
|
||
Git, offering (optional) bidirectional integration with GitHub and GitLab
|
||
issue management.")
|
||
(home-page "https://github.com/dspinellis/git-issue")
|
||
(license license:gpl3+))))
|
||
|
||
(define-public git-credential-oauth
|
||
(package
|
||
(name "git-credential-oauth")
|
||
(version "0.15.1")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/hickford/git-credential-oauth")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1fid6dl82val6miq61dm203y7k2kzccpmra43fngnqrr1p4hh2pl"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:install-source? #f
|
||
#:build-flags #~(list (string-append "-ldflags=-X main.version="
|
||
#$version))
|
||
#:import-path "github.com/hickford/git-credential-oauth"
|
||
#:phases
|
||
#~(modify-phases %standard-phases
|
||
(add-after 'install 'install-manpages
|
||
(lambda* (#:key import-path #:allow-other-keys)
|
||
(let ((man (string-append "src/" import-path
|
||
"/git-credential-oauth.1")))
|
||
(install-file man (string-append #$output "/share/man/man1"))))))))
|
||
(native-inputs
|
||
(list go-golang-org-x-oauth2))
|
||
(home-page "https://github.com/hickford/git-credential-oauth")
|
||
(synopsis "Git credential helper that securely authenticates using OAuth")
|
||
(description
|
||
"git-credential-oauth is a Git credential helper that securely
|
||
authenticates to GitHub, GitLab, BitBucket, Gerrit, Gitea, and Forgejo using
|
||
OAuth. The first time you authenticate, the helper opens a browser window to
|
||
the host. Subsequent authentication within storage lifetime is
|
||
non-interactive.")
|
||
(license license:asl2.0)))
|
||
|
||
(define-public git-crypt
|
||
(package
|
||
(name "git-crypt")
|
||
(version "0.7.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/AGWA/git-crypt")
|
||
(commit version)))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0ymk2z0jfyhycia8hg6wbj2g06m163yzqzanfk172cxb13fa8c26"))))
|
||
(build-system gnu-build-system)
|
||
(inputs
|
||
(list git openssl))
|
||
(native-inputs
|
||
(list docbook-xml-4.2 docbook-xsl libxslt))
|
||
(arguments
|
||
(list
|
||
#:tests? #f ; No tests.
|
||
#:make-flags
|
||
#~(list
|
||
"ENABLE_MAN=yes"
|
||
;; Add flag to work around OpenSSL 3 incompatibility.
|
||
;; See <https://github.com/AGWA/git-crypt/issues/232>.
|
||
"CXXFLAGS+=-DOPENSSL_API_COMPAT=0x30000000L"
|
||
(string-append "PREFIX=" #$output))
|
||
#:phases
|
||
#~(modify-phases %standard-phases
|
||
(delete 'configure))))
|
||
(home-page "https://www.agwa.name/projects/git-crypt/")
|
||
(synopsis "Transparent encryption of files in a git repository")
|
||
(description "git-crypt enables transparent encryption and decryption of
|
||
files in a git repository. Files which you choose to protect are encrypted when
|
||
committed, and decrypted when checked out. git-crypt lets you freely share a
|
||
repository containing a mix of public and private content. git-crypt gracefully
|
||
degrades, so developers without the secret key can still clone and commit to a
|
||
repository with encrypted files. This lets you store your secret material (such
|
||
as keys or passwords) in the same repository as your code, without requiring you
|
||
to lock down your entire repository.")
|
||
(license license:gpl3+)))
|
||
|
||
(define-public git-remote-gcrypt
|
||
(package
|
||
(name "git-remote-gcrypt")
|
||
(version "1.5")
|
||
(source (origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://git.spwhitton.name/git-remote-gcrypt")
|
||
(commit version)))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32
|
||
"1m1wlbqpqyhh2z0ka3gjs5yabd32nnkzw5hak6czcqrhhkfsqbmv"))))
|
||
(build-system trivial-build-system)
|
||
(arguments
|
||
`(#:modules ((guix build utils))
|
||
#:builder (begin
|
||
(use-modules (guix build utils))
|
||
(let* ((source (assoc-ref %build-inputs "source"))
|
||
(output (assoc-ref %outputs "out"))
|
||
(bindir (string-append output "/bin")))
|
||
(install-file (string-append source "/git-remote-gcrypt")
|
||
bindir)))))
|
||
(home-page "https://spwhitton.name/tech/code/git-remote-gcrypt/")
|
||
(synopsis "Whole remote repository encryption")
|
||
(description "git-remote-gcrypt is a Git remote helper to push and pull from
|
||
repositories encrypted with GnuPG. It works with the standard Git transports,
|
||
including repository hosting services like GitLab.
|
||
|
||
Remote helper programs are invoked by Git to handle network transport. This
|
||
helper handles @code{gcrypt:} URLs that access a remote repository encrypted
|
||
with GPG, using our custom format.
|
||
|
||
Supported locations are local, @code{rsync://} and @code{sftp://}, where the
|
||
repository is stored as a set of files, or instead any Git URL where gcrypt
|
||
will store the same representation in a Git repository, bridged over arbitrary
|
||
Git transport.
|
||
|
||
The aim is to provide confidential, authenticated Git storage and
|
||
collaboration using typical untrusted file hosts or services.")
|
||
(license license:gpl3+)))
|
||
|
||
(define-public git-repo-go
|
||
(package
|
||
(name "git-repo-go")
|
||
(version "1.0.0")
|
||
(source (origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/Apteryks/git-repo-go")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32
|
||
"1y310dmpiaii6d84d9pvdv4wz4mx7snbpm7v9n400q0j8qnjal32"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:import-path "github.com/Apteryks/git-repo-go"
|
||
#:build-flags
|
||
#~(list "-ldflags" (string-append
|
||
"-s -w " ;default ldflags
|
||
"-X github.com/Apteryks/git-repo-go/version.Version="
|
||
#$version))
|
||
#:install-source? #f
|
||
#:phases
|
||
#~(modify-phases %standard-phases
|
||
(add-after 'unpack 'patch-commands
|
||
(lambda* (#:key inputs #:allow-other-keys)
|
||
(with-directory-excursion "src/github.com/Apteryks/git-repo-go"
|
||
(substitute* "config/hooks.go"
|
||
;; The commit-msg hook script is executed by Git during the
|
||
;; tests, so must have a fully referenced /bin/sh shebang.
|
||
(("#!/bin/sh")
|
||
(format #f "#!~a"
|
||
(search-input-file inputs "bin/sh"))))
|
||
(substitute* "test/t1302-helper-remote-unknown.sh"
|
||
;; This test creates some helper scripts.
|
||
(("#!/bin/sh")
|
||
(format #f "#!~a" (which "sh")))))))
|
||
(add-before 'check 'make-HOME-writable
|
||
(lambda _
|
||
(setenv "HOME" "/tmp")))
|
||
(add-after 'install 'functional-check
|
||
(lambda* (#:key tests? #:allow-other-keys)
|
||
(when tests?
|
||
(setenv "PATH" (string-append #$output "/bin:"
|
||
(getenv "PATH")))
|
||
;; Run the integration test suite. Parallelism
|
||
;; doesn't currently work (see:
|
||
;; https://github.com/Apteryks/git-repo-go/issues/1)
|
||
(setenv "GIT_TEST_OPTS" "--verbose")
|
||
(invoke "make" "-C"
|
||
"src/github.com/Apteryks/git-repo-go/test")))))))
|
||
(native-inputs
|
||
(list git-minimal
|
||
go-github-com-go-git-go-git-v5
|
||
go-github-com-h2non-gock
|
||
go-github-com-jiangxin-goconfig
|
||
go-github-com-jiangxin-multi-log
|
||
go-github-com-jiu2015-gotestspace
|
||
go-github-com-mattn-go-isatty
|
||
go-github-com-mattn-go-shellwords
|
||
go-github-com-mitchellh-go-homedir
|
||
go-github-com-spf13-cobra
|
||
go-github-com-spf13-pflag
|
||
go-github-com-spf13-viper
|
||
go-github-com-stretchr-testify
|
||
go-golang-org-x-crypto
|
||
go-gopkg-in-yaml-v2
|
||
perl
|
||
python-minimal))
|
||
(inputs
|
||
(list bash-minimal))
|
||
(home-page "https://git-repo.info/en/docs/")
|
||
(synopsis "Git extensions for AGit-Flow and Gerrit servers")
|
||
(description
|
||
"@command{git-repo} provides Git extensions for interacting conveniently
|
||
with AGit-Flow or Gerrit servers. It makes it possible to create, update or
|
||
fetch @acronym{PR, pull requests}, and more. It is based on the
|
||
@command{repo} tool that was developed for the Gerrit project, but also
|
||
supports AGit-Flow and lifts the requirement to use a manifest file.")
|
||
(license license:asl2.0)))
|
||
|
||
(define-public cgit
|
||
;; Use the latest commit, as the latest tagged release is 5 years old.
|
||
(let ((commit "20ac8f55d43bcc789e8ecca1a5c878087394b5e3")
|
||
(rev "10"))
|
||
(package
|
||
(name "cgit")
|
||
;; Update the ‘git-source’ input as well.
|
||
(version (git-version "1.2.3" rev commit))
|
||
(source (origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://git.zx2c4.com/cgit")
|
||
(commit commit)))
|
||
(sha256
|
||
(base32
|
||
"0jzik8prgv3cmpliqk6amq5vkp465592p3xibac49c4lhim27ckp"))
|
||
(file-name (git-file-name name version))))
|
||
(build-system gnu-build-system)
|
||
(arguments
|
||
(list
|
||
#:tests? #f ; XXX: fail to build the in-source git.
|
||
#:test-target "test"
|
||
#:make-flags #~(list (string-append "CC=" #$(cc-for-target))
|
||
"SHELL_PATH=sh")
|
||
#:phases
|
||
#~(modify-phases %standard-phases
|
||
(add-after 'unpack 'unpack-git
|
||
(lambda* (#:key inputs #:allow-other-keys)
|
||
;; Unpack the source of git into the 'git' directory.
|
||
(invoke "tar" "--strip-components=1" "-C" "git" "-xf"
|
||
#$(this-package-input "git-source.tar.xz"))))
|
||
(add-after 'unpack 'patch-absolute-file-names
|
||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||
(define (quoted-file-name input path)
|
||
(string-append "\"" input path "\""))
|
||
(substitute* "ui-snapshot.c"
|
||
(("\"gzip\"")
|
||
(quoted-file-name (assoc-ref inputs "gzip") "/bin/gzip"))
|
||
(("\"bzip2\"")
|
||
(quoted-file-name (assoc-ref inputs "bzip2") "/bin/bzip2"))
|
||
(("\"xz\"")
|
||
(quoted-file-name (assoc-ref inputs "xz") "/bin/xz")))
|
||
|
||
(substitute* "filters/about-formatting.sh"
|
||
(("\\$\\(dirname \\$0\\)") (string-append (assoc-ref outputs "out")
|
||
"/lib/cgit/filters"))
|
||
(("\\| tr") (string-append "| " (which "tr"))))
|
||
|
||
(substitute* "filters/html-converters/txt2html"
|
||
(("sed") (which "sed")))
|
||
|
||
(substitute* "filters/html-converters/man2html"
|
||
(("groff") (which "groff")))
|
||
|
||
(substitute* "filters/html-converters/rst2html"
|
||
(("rst2html\\.py") (which "rst2html.py")))))
|
||
(delete 'configure) ; no configure script
|
||
(add-after 'build 'build-man
|
||
(lambda* (#:key make-flags #:allow-other-keys)
|
||
(apply invoke "make" "doc-man" make-flags)))
|
||
(replace 'install
|
||
(lambda* (#:key make-flags outputs #:allow-other-keys)
|
||
(let ((out (assoc-ref outputs "out")))
|
||
(apply invoke
|
||
"make" "install" "install-man"
|
||
(string-append "prefix=" out)
|
||
(string-append "CGIT_SCRIPT_PATH=" out "/share/cgit")
|
||
make-flags)
|
||
;; Move the platform-dependent 'cgit.cgi' into lib to get it
|
||
;; stripped.
|
||
(rename-file (string-append out "/share/cgit/cgit.cgi")
|
||
(string-append out "/lib/cgit/cgit.cgi")))))
|
||
(add-after 'install 'wrap-python-scripts
|
||
(lambda* (#:key outputs #:allow-other-keys)
|
||
(for-each
|
||
(lambda (file)
|
||
(wrap-program (string-append (assoc-ref outputs "out")
|
||
"/lib/cgit/filters/" file)
|
||
`("GUIX_PYTHONPATH" ":" prefix (,(getenv "GUIX_PYTHONPATH")))))
|
||
'("syntax-highlighting.py"
|
||
"html-converters/md2html")))))))
|
||
(native-inputs
|
||
;; For building manpage.
|
||
(list asciidoc))
|
||
(inputs
|
||
(list (origin
|
||
(method url-fetch)
|
||
;; Building cgit requires a Git source tree.
|
||
;; cgit is tightly bound to git. Use GIT_VER from the Makefile,
|
||
;; which may not match the current (package-version git).
|
||
(uri "mirror://kernel.org/software/scm/git/git-2.50.1.tar.xz")
|
||
(sha256
|
||
(base32
|
||
"1i4gbin7ah9azaz68j10q9qkdq2bcyv2vm0lvppg3n6bvqv6qgky"))
|
||
(file-name "git-source.tar.xz"))
|
||
bash-minimal
|
||
openssl
|
||
python
|
||
python-docutils
|
||
python-markdown
|
||
python-pygments
|
||
zlib
|
||
;; bzip2, groff, gzip and xz are inputs (not native inputs)
|
||
;; since they are actually substituted into cgit source and
|
||
;; referenced by the built package output.
|
||
bzip2
|
||
groff
|
||
gzip
|
||
xz))
|
||
(home-page "https://git.zx2c4.com/cgit/")
|
||
(synopsis "Web frontend for git repositories")
|
||
(description
|
||
"CGit is an attempt to create a fast web interface for the Git SCM, using
|
||
a built-in cache to decrease server I/O pressure.")
|
||
(license license:gpl2))))
|
||
|
||
(define-public cgit-pink
|
||
(package
|
||
(inherit cgit)
|
||
(name "cgit-pink")
|
||
(version "1.4.1")
|
||
(source (origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://git.causal.agency/cgit-pink")
|
||
(commit version)))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32
|
||
"0yp6rm60pz8pj8wrm1aglix51hhy00al86mm94ag2bifc92q23ar"))))
|
||
(arguments
|
||
(substitute-keyword-arguments (package-arguments cgit)
|
||
((#:tests? _ #f)
|
||
(not (%current-target-system)))
|
||
((#:make-flags _ '())
|
||
#~(list (string-append "CC=" #$(cc-for-target))
|
||
(string-append "PERL_PATH="
|
||
(search-input-file %build-inputs "/bin/perl"))
|
||
;; It is important to set an absolute path in SHELL_PATH
|
||
;; because it is used as the shebang of generated scripts that
|
||
;; are invoked during the test phase.
|
||
(string-append "SHELL_PATH="
|
||
(search-input-file %build-inputs "/bin/sh"))))
|
||
((#:phases phases #~%standard-phases)
|
||
#~(modify-phases #$phases
|
||
(replace 'unpack-git
|
||
(lambda _
|
||
;; Unpack the source of git into the 'git' directory.
|
||
(invoke "tar" "--strip-components=1" "-C" "git" "-xf"
|
||
#$(this-package-input "git-source.tar.xz"))))))))
|
||
(inputs
|
||
(modify-inputs (package-inputs cgit)
|
||
(replace "git-source.tar.xz"
|
||
;; cgit-pink is tightly bound to git. Use GIT_VER from the Makefile,
|
||
;; which may not match the current (package-version git).
|
||
(origin
|
||
(method url-fetch)
|
||
(uri "mirror://kernel.org/software/scm/git/git-2.36.1.tar.xz")
|
||
(sha256
|
||
(base32
|
||
"0w43a35mhc2qf2gjkxjlnkf2lq8g0snf34iy5gqx2678yq7llpa0"))))))
|
||
(native-inputs
|
||
(modify-inputs (package-native-inputs cgit)
|
||
(append gnu-gettext perl)))
|
||
(home-page "https://git.causal.agency/cgit-pink/about/")
|
||
(description "cgit-pink is a fast web interface for the Git SCM, using a
|
||
built-in cache to decrease server I/O pressure. cgit-pink is a fork of
|
||
cgit.")))
|
||
|
||
(define-public python-git-multimail
|
||
(package
|
||
(name "python-git-multimail")
|
||
(version "1.6.0")
|
||
(source
|
||
(origin
|
||
(method url-fetch)
|
||
(uri (pypi-uri "git-multimail" version))
|
||
(sha256
|
||
(base32
|
||
"0hwgf2p2dd4z397wj0y558s8xxbkzbsa6yb9n1iax624y7swjng1"))))
|
||
(build-system python-build-system)
|
||
(arguments
|
||
'(#:phases
|
||
(modify-phases %standard-phases
|
||
(add-after 'unpack 'patch
|
||
(lambda* (#:key inputs #:allow-other-keys)
|
||
(substitute* "setup.py"
|
||
(("'git-multimail', 'README.rst'")
|
||
"'README.rst'"))
|
||
(substitute* "git-multimail/git_multimail.py"
|
||
(("GIT_EXECUTABLE = 'git'")
|
||
(string-append "GIT_EXECUTABLE = '"
|
||
(assoc-ref inputs "git") "/bin/git"
|
||
"'"))
|
||
(("/usr/sbin/sendmail")
|
||
(search-input-file inputs
|
||
"/sbin/sendmail"))))))))
|
||
(inputs
|
||
(list git sendmail))
|
||
(home-page "https://github.com/git-multimail/git-multimail")
|
||
(synopsis "Send notification emails for Git pushes")
|
||
(description
|
||
"This hook sends emails describing changes introduced by pushes to a Git
|
||
repository. For each reference that was changed, it emits one ReferenceChange
|
||
email summarizing how the reference was changed, followed by one Revision
|
||
email for each new commit that was introduced by the reference change.
|
||
|
||
This script is designed to be used as a post-receive hook in a Git
|
||
repository")
|
||
(license license:gpl2)))
|
||
|
||
(define-public python-ghp-import
|
||
(package
|
||
(name "python-ghp-import")
|
||
(version "2.0.2")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/davisp/ghp-import")
|
||
(commit version)))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0i4lxsgqri1y8sw4k44bkwbzmdmk4vpmdi882mw148j8gk4i7vvj"))))
|
||
(build-system python-build-system)
|
||
(arguments
|
||
`(#:phases (modify-phases %standard-phases
|
||
(add-after 'install 'install-documentation
|
||
(lambda* (#:key outputs #:allow-other-keys)
|
||
(let* ((out (assoc-ref outputs "out"))
|
||
(doc (string-append out "/share/doc"))
|
||
(licenses (string-append out "/share/licenses")))
|
||
(install-file "README.md" doc)
|
||
(install-file "LICENSE" licenses)))))))
|
||
(propagated-inputs (list python-dateutil))
|
||
(home-page "https://github.com/davisp/ghp-import")
|
||
(synopsis "Copy directory to the gh-pages branch")
|
||
(description "Script that copies a directory to the gh-pages branch (by
|
||
default) of the repository.")
|
||
|
||
;; See <https://bugs.gnu.org/27913>.
|
||
(license (license:non-copyleft
|
||
"https://raw.githubusercontent.com/davisp/ghp-import/master/LICENSE"
|
||
"Tumbolia Public License"))))
|
||
|
||
(define-public python-gitdb
|
||
(package
|
||
(name "python-gitdb")
|
||
(version "4.0.2")
|
||
(source (origin
|
||
(method url-fetch)
|
||
(uri (pypi-uri "gitdb" version))
|
||
(sha256
|
||
(base32
|
||
"0l113fphn6msjl3cl3kyf332b6lal7daxdd0nfma0x9ipfb013jr"))))
|
||
(build-system python-build-system)
|
||
(arguments
|
||
`(#:phases (modify-phases %standard-phases
|
||
(add-before 'check 'create-test-repository
|
||
(lambda _
|
||
(mkdir "/tmp/testrepo")
|
||
;; Some tests require a git repository, so create one.
|
||
(with-directory-excursion "/tmp/testrepo"
|
||
(do ((filecount 1 (1+ filecount)))
|
||
((> filecount 1000))
|
||
(call-with-output-file (string-append
|
||
"file" (number->string filecount))
|
||
(lambda (port)
|
||
(format port "~a" filecount))))
|
||
(begin
|
||
(invoke "git" "init")
|
||
(invoke "git" "config" "user.name" "Total Git")
|
||
(invoke "git" "config" "user.email" "git@localhost")
|
||
(invoke "git" "add" "-A")
|
||
(invoke "git" "commit" "-q" "-m" "dummy commit")))
|
||
|
||
;; The repository checkout must be a "bare" clone.
|
||
(invoke "git" "clone" "--bare" "/tmp/testrepo"
|
||
"/tmp/testrepo.git")))
|
||
(replace 'check
|
||
(lambda _
|
||
(setenv "GITDB_TEST_GIT_REPO_BASE" "/tmp/testrepo.git")
|
||
;; Skip tests that must be run from the gitdb repository.
|
||
(setenv "TRAVIS" "1")
|
||
(invoke "nosetests" "-v"))))))
|
||
(propagated-inputs
|
||
(list python-smmap))
|
||
(native-inputs
|
||
(list git-minimal/pinned python-nose))
|
||
(home-page "https://github.com/gitpython-developers/gitdb")
|
||
(synopsis "Python implementation of the Git object database")
|
||
(description
|
||
"GitDB allows you to access @dfn{bare} Git repositories for reading and
|
||
writing. It aims at allowing full access to loose objects as well as packs
|
||
with performance and scalability in mind. It operates exclusively on streams,
|
||
allowing to handle large objects with a small memory footprint.")
|
||
(license license:bsd-3)))
|
||
|
||
(define-public python-gitpython
|
||
(package
|
||
(name "python-gitpython")
|
||
(version "3.1.24")
|
||
(source (origin
|
||
(method url-fetch)
|
||
(uri (pypi-uri "GitPython" version))
|
||
(sha256
|
||
(base32
|
||
"1rarp97cpjnhi106k2yhb7kygdyflmlgq0icxv3ggzl4wvszv0yz"))))
|
||
(build-system python-build-system)
|
||
(arguments
|
||
(list #:tests? #f ;XXX: tests can only be run within the GitPython repository
|
||
#:phases
|
||
#~(modify-phases %standard-phases
|
||
(add-after 'unpack 'embed-git-reference
|
||
(lambda* (#:key inputs #:allow-other-keys)
|
||
(substitute* "git/cmd.py"
|
||
(("git_exec_name = \"git\"")
|
||
(string-append "git_exec_name = \""
|
||
(search-input-file inputs "/bin/git")
|
||
"\""))))))))
|
||
(inputs
|
||
(list git-minimal/pinned))
|
||
(propagated-inputs
|
||
(list python-gitdb python-typing-extensions))
|
||
(native-inputs
|
||
(list python-ddt python-nose))
|
||
(home-page "https://github.com/gitpython-developers/GitPython")
|
||
(synopsis "Python library for interacting with Git repositories")
|
||
(description
|
||
"GitPython is a python library used to interact with Git repositories,
|
||
high-level like git-porcelain, or low-level like git-plumbing.
|
||
|
||
It provides abstractions of Git objects for easy access of repository data,
|
||
and additionally allows you to access the Git repository more directly using
|
||
either a pure Python implementation, or the faster, but more resource intensive
|
||
@command{git} command implementation.")
|
||
(license license:bsd-3)))
|
||
|
||
(define-public savane
|
||
(package
|
||
(name "savane")
|
||
(version "3.10")
|
||
(source (origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://git.savannah.gnu.org/git/administration/savane")
|
||
(commit (string-append "release-" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32
|
||
"10jg264wqmkc87nz0d8d2pq4hvradwqrvrpvgpz3h409y6c6v78z"))))
|
||
(build-system gnu-build-system)
|
||
(native-inputs
|
||
(list autoconf
|
||
automake
|
||
gettext-minimal
|
||
imagemagick))
|
||
(inputs
|
||
(list exim
|
||
gnupg
|
||
httpd
|
||
mariadb
|
||
php))
|
||
(propagated-inputs
|
||
(list perl
|
||
perl-dbd-mysql
|
||
perl-dbi
|
||
perl-date-calc
|
||
perl-digest-md5
|
||
perl-mailtools
|
||
perl-file-find-rule
|
||
perl-xml-writer))
|
||
(synopsis "Web-based software hosting system")
|
||
(description
|
||
"Savane is a Web-based software hosting system. It includes issue
|
||
tracking (bugs, tasks, support, news and documentation), project member
|
||
management by roles and individual account maintenance.")
|
||
(home-page "https://savannah.nongnu.org/p/administration")
|
||
(license license:agpl3+)))
|
||
|
||
(define-public shflags
|
||
(package
|
||
(name "shflags")
|
||
(version "1.3.0")
|
||
(source (origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/kward/shflags")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32
|
||
"0jj0zkly8yg42b8jvih2cmmafv95vm8mv80n3dyalvr5i14lzqd8"))))
|
||
(build-system gnu-build-system)
|
||
(arguments
|
||
`(#:tests? #f ; no tests
|
||
#:phases
|
||
(modify-phases %standard-phases
|
||
(delete 'configure) ; nothing to configure
|
||
(delete 'build) ; nothing to build
|
||
(replace 'install
|
||
(lambda* (#:key outputs #:allow-other-keys)
|
||
(let* ((out (assoc-ref outputs "out"))
|
||
(src (string-append out "/src")))
|
||
(install-file "shflags" src)
|
||
#t))))))
|
||
(home-page "https://github.com/kward/shflags")
|
||
(synopsis "Command-line flags library for shell scripts")
|
||
(description
|
||
"Shell Flags (shFlags) is a library written to greatly simplify the
|
||
handling of command-line flags in Bourne based Unix shell scripts (bash, dash,
|
||
ksh, sh, zsh). Most shell scripts use getopt for flags processing, but the
|
||
different versions of getopt on various OSes make writing portable shell
|
||
scripts difficult. shFlags instead provides an API that doesn't change across
|
||
shell and OS versions so the script writer can be confident that the script
|
||
will work.")
|
||
(license license:lgpl2.1)))
|
||
|
||
(define-public trac
|
||
(package
|
||
(name "trac")
|
||
(version "1.6")
|
||
(source
|
||
(origin
|
||
(method url-fetch)
|
||
(uri (pypi-uri "Trac" version))
|
||
(sha256
|
||
(base32 "013kqa93kd1giswir9qsasm5080x5x5x4ab86ky8zmkhyrhkrmv1"))))
|
||
(build-system pyproject-build-system)
|
||
(arguments
|
||
(list #:test-flags #~(list "-k"
|
||
;; XXX: these two tests fail, check why.
|
||
(string-append
|
||
"not test_remove_composite_keys"
|
||
" and not test_remove_simple_keys"))))
|
||
(native-inputs (list python-psycopg2 python-pymysql python-pytest))
|
||
(propagated-inputs (list python-jinja2 python-multipart))
|
||
(home-page "https://trac.edgewall.org")
|
||
(synopsis "Integrated SCM, wiki, issue tracker and project environment")
|
||
(description "Trac is a minimalistic web-based software project management
|
||
and bug/issue tracking system. It provides an interface to the Git and
|
||
Subversion revision control systems, an integrated wiki, flexible issue
|
||
tracking and convenient report facilities.")
|
||
(license license:bsd-3)))
|
||
|
||
(define-public git-flow
|
||
(package
|
||
(name "git-flow")
|
||
;; This version has not be officially released yet, so we build it
|
||
;; directly from the git repository.
|
||
(version "1.12.3")
|
||
(source (origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/petervanderdoes/gitflow-avh/")
|
||
(commit version)))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32
|
||
"13q4mnrxr03wz2dkhzy73j384g299m4d545cnhxcaznvdwfany4h"))))
|
||
(build-system gnu-build-system)
|
||
(inputs (list shflags))
|
||
(arguments
|
||
'(#:tests? #f ; no tests
|
||
#:make-flags (list (string-append "prefix="
|
||
(assoc-ref %outputs "out")))
|
||
#:phases
|
||
(modify-phases %standard-phases
|
||
(add-after 'unpack 'reset-shFlags-link
|
||
(lambda* (#:key inputs #:allow-other-keys)
|
||
;; The link points to a file in the shFlags submodule.
|
||
;; Redirect it to point to our system shFlags.
|
||
(let ((shflags (assoc-ref inputs "shflags")))
|
||
(begin
|
||
(delete-file "gitflow-shFlags")
|
||
(symlink (string-append shflags "/src/shflags")
|
||
"gitflow-shFlags")))))
|
||
(delete 'configure)
|
||
(delete 'build))))
|
||
(home-page "https://nvie.com/posts/a-successful-git-branching-model/")
|
||
(synopsis "Git extensions for Vincent Driessen's branching model")
|
||
(description
|
||
"Vincent Driessen's branching model is a git branching and release
|
||
management strategy that helps developers keep track of features, hotfixes,
|
||
and releases in bigger software projects. The git-flow library of git
|
||
subcommands helps automate some parts of the flow to make working with it a
|
||
lot easier.")
|
||
(license license:bsd-2)))
|
||
|
||
(define-public stgit-2
|
||
(package
|
||
(name "stgit")
|
||
(version "2.5.3")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/stacked-git/stgit")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0pxhl7fnycs4bx46x9m8v33lsf5hwp0fhqyihlr4sf7ms4b7adsc"))))
|
||
(build-system cargo-build-system)
|
||
(arguments
|
||
`(#:install-source? #f
|
||
#:phases
|
||
(modify-phases %standard-phases
|
||
(add-after 'build 'build-extras
|
||
(lambda _
|
||
(substitute* "Documentation/Makefile"
|
||
(("docbook2x-texi") "docbook2texi"))
|
||
(setenv "PERL_PATH" "perl")
|
||
(invoke "make" "-C" "Documentation" "info")
|
||
(invoke "make" "-C" "completion" "stgit.bash")
|
||
(invoke "make" "-C" "completion" "stg.fish")))
|
||
(add-after 'install 'install-extras
|
||
(lambda* (#:key outputs #:allow-other-keys)
|
||
(let ((out (assoc-ref outputs "out")))
|
||
(invoke "make" "-C" "Documentation" "install-info"
|
||
(string-append "prefix=" out))
|
||
(invoke "make" "-C" "completion" "install"
|
||
(string-append "prefix=" out)
|
||
(string-append "bashdir=" out "/etc/bash_completion.d/"))))))))
|
||
(native-inputs
|
||
(list pkg-config
|
||
;; For the documentation
|
||
asciidoc
|
||
docbook2x
|
||
libxslt
|
||
perl
|
||
texinfo
|
||
xmlto))
|
||
(inputs (cons* openssl zlib curl (cargo-inputs 'stgit-2)))
|
||
(home-page "https://stacked-git.github.io/")
|
||
(synopsis "Stacked Git (StGit) manages Git commits as a stack of patches")
|
||
(description "StGit uses a patch stack workflow. Each individual patch
|
||
focuses on a single concern, while a stack of patches forms a series of commits.
|
||
Patches are stored as normal git commits, allowing easy merging of StGit
|
||
patches into other repositories using standard Git.
|
||
|
||
Features include:
|
||
@itemize
|
||
@item Import and export patches from Git with @command{stg commit} and
|
||
@command{stg uncommit}
|
||
@item Create new patches and add them to the stack with @command{stg new}
|
||
@item Update a patch from the working tree with @command{stg refresh} and
|
||
@command{stg edit}
|
||
@item See information about the stack or patch with @command{stg series} and
|
||
@command{stg show}
|
||
@item Export and send a series of patches by email using @command{stg email}
|
||
@end itemize")
|
||
(license license:gpl2)))
|
||
|
||
(define-public emacs-stgit
|
||
(package
|
||
(inherit stgit-2)
|
||
(name "emacs-stgit")
|
||
(build-system emacs-build-system)
|
||
(arguments
|
||
(list
|
||
#:tests? #f ; no tests
|
||
#:lisp-directory "contrib"
|
||
#:phases
|
||
#~(modify-phases %standard-phases
|
||
(add-before 'install-license-files 'leave-lisp-directory
|
||
(lambda _
|
||
(chdir ".."))))))
|
||
(synopsis "Emacs major mode for StGit interaction")
|
||
(description "This package a interactive tool to interact with git
|
||
branches using StGit.")
|
||
(license license:gpl3+)))
|
||
|
||
(define-public stgit
|
||
(package
|
||
(name "stgit")
|
||
(version "1.5")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/ctmarinas/stgit")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1igljjpdgl4na1a5hi0nmg36ph0hw6hw8hhq5436fgcl8yjimyz3"))))
|
||
(build-system python-build-system)
|
||
(native-inputs
|
||
(list perl))
|
||
(inputs
|
||
(list git))
|
||
(arguments
|
||
`(#:phases
|
||
(modify-phases %standard-phases
|
||
(add-after 'unpack 'hard-code-version
|
||
(lambda _
|
||
;; setup.py tries to cleverly extract the version number from the
|
||
;; git history, which the source checkout lacks. Hard-code one.
|
||
(substitute* "setup.py"
|
||
(("get_ver\\(\\)")
|
||
(format #f "'~a'" ,version)))
|
||
#t))
|
||
(add-before 'check 'patch-tests
|
||
(lambda _
|
||
(substitute* (list "t/t1900-mail.sh"
|
||
"t/t7504-commit-msg-hook.sh")
|
||
(("/bin/sh")
|
||
(which "bash")))
|
||
#t))
|
||
(replace 'check
|
||
(lambda _
|
||
(invoke "make"
|
||
"PERL_PATH=perl"
|
||
(string-append "SHELL_PATH=" (which "bash"))
|
||
"test"))))))
|
||
(home-page "https://stacked-git.github.io/")
|
||
(synopsis "Stacked Git")
|
||
(description
|
||
"StGit is a command-line application that provides functionality similar
|
||
to Quilt (i.e., pushing/popping patches to/from a stack), but using Git
|
||
instead of @command{diff} and @command{patch}. StGit stores its patches in a
|
||
Git repository as normal Git commits, and provides a number of commands to
|
||
manipulate them in various ways.")
|
||
(license license:gpl2)))
|
||
|
||
(define-public vcsh
|
||
(package
|
||
(name "vcsh")
|
||
(version "2.0.5")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/RichiH/vcsh")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "15lb09c2q261p1pp5r7j9k8389ybrd2q19xhnp1nnha6gs78i4wq"))))
|
||
(build-system gnu-build-system)
|
||
(native-inputs
|
||
(list autoconf
|
||
automake
|
||
;; for man page
|
||
ronn-ng
|
||
;; for tests
|
||
perl
|
||
perl-test-harness
|
||
perl-shell-command
|
||
perl-test-most
|
||
;; for bash-completion
|
||
pkg-config))
|
||
(inputs
|
||
(list git))
|
||
(arguments
|
||
'(#:phases
|
||
(modify-phases %standard-phases
|
||
(add-before 'bootstrap 'fix-version-gen
|
||
(lambda _
|
||
(call-with-output-file ".tarball-version"
|
||
(lambda (port)
|
||
(display version port))))))
|
||
#:make-flags (list (string-append "PREFIX="
|
||
(assoc-ref %outputs "out")))
|
||
#:test-target "test"))
|
||
(home-page "https://github.com/RichiH/vcsh")
|
||
(synopsis "Version control system for @code{$HOME}")
|
||
(description
|
||
"vcsh version-controls configuration files in several Git repositories,
|
||
all in one single directory. They all maintain their working trees without
|
||
clobbering each other or interfering otherwise. By default, all Git
|
||
repositories maintained via vcsh store the actual files in @code{$HOME},
|
||
though this can be overridden.")
|
||
(license license:gpl2+)))
|
||
|
||
(define-public vcstool
|
||
(package
|
||
(name "vcstool")
|
||
(version "0.3.0")
|
||
(source
|
||
(origin
|
||
(method url-fetch)
|
||
(uri (pypi-uri "vcstool" version))
|
||
(sha256
|
||
(base32 "0b7f68q25x9nxqa3xcg32js3qgp4jg99anwy2c7nd1jkw5iskcq4"))))
|
||
(build-system pyproject-build-system)
|
||
(arguments
|
||
(list
|
||
#:tests? #f ; network access is required
|
||
#:phases
|
||
#~(modify-phases %standard-phases
|
||
(add-after 'wrap 'wrap-script
|
||
(lambda _
|
||
(wrap-program (string-append #$output "/bin/vcs")
|
||
`("PATH" ":" prefix
|
||
,(list (string-append #$git "/bin")
|
||
(string-append #$breezy "/bin")
|
||
(string-append #$subversion "/bin")))))))))
|
||
(native-inputs
|
||
(list python-pyyaml
|
||
python-setuptools
|
||
python-wheel))
|
||
(inputs
|
||
(list bash-minimal
|
||
breezy
|
||
git
|
||
subversion))
|
||
(home-page "https://github.com/dirk-thomas/vcstool")
|
||
(synopsis "Multiple VCS repository managing tool")
|
||
(description
|
||
"This package enables manipulating multiple version control repositories
|
||
with one command.")
|
||
(license license:asl2.0)))
|
||
|
||
(define-public git-test-sequence
|
||
(let ((commit "48e5a2f5a13a5f30452647237e23362b459b9c76"))
|
||
(package
|
||
(name "git-test-sequence")
|
||
(version (string-append "20140312." (string-take commit 7)))
|
||
(source (origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
;; There are many other scripts in this directory; we
|
||
;; are interested in just one for this package.
|
||
(url "https://github.com/dustin/bindir")
|
||
(commit commit)))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32
|
||
"1dcq0y16yznbv4k9h8gg90kv1gkn8r8dbvl4m2rpfd7q5nqhn617"))))
|
||
(build-system trivial-build-system)
|
||
(arguments
|
||
`(#:modules ((guix build utils))
|
||
#:builder (begin
|
||
(use-modules (guix build utils))
|
||
(let* ((source (assoc-ref %build-inputs "source"))
|
||
(output (assoc-ref %outputs "out"))
|
||
(bindir (string-append output "/bin"))
|
||
(script "git-test-sequence"))
|
||
(install-file (string-append source "/" script)
|
||
bindir)
|
||
#t))))
|
||
(home-page "https://dustin.sallings.org/2010/03/28/git-test-sequence.html")
|
||
(synopsis "Run a command over a sequence of commits")
|
||
(description
|
||
"git-test-sequence is similar to an automated git bisect except it’s
|
||
linear. It will test every change between two points in the DAG. It will
|
||
also walk each side of a merge and test those changes individually.")
|
||
(license (license:x11-style "file://LICENSE")))))
|
||
|
||
(define* (make-gitolite #:optional (extra-inputs '()))
|
||
"Make a gitolite package object with EXTRA-INPUTS added to the binary
|
||
wrappers, to be used for optional gitolite extensions."
|
||
(package
|
||
(name "gitolite")
|
||
(version "3.6.13")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/sitaramc/gitolite")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0lp4hi8pfg7k0fk0l8wzs8hxp1aspzv78nkafdbbq8m9lzwnwl7x"))))
|
||
(build-system gnu-build-system)
|
||
(arguments
|
||
(list #:tests? #f ; no tests
|
||
#:phases
|
||
#~(modify-phases %standard-phases
|
||
(delete 'configure)
|
||
(delete 'build)
|
||
(add-before 'install 'patch-scripts
|
||
(lambda* (#:key inputs #:allow-other-keys)
|
||
;; This seems to take care of every shell script that
|
||
;; invokes Perl.
|
||
(substitute* (find-files ".")
|
||
((" perl -")
|
||
(string-append
|
||
" " (search-input-file inputs "bin/perl") " -")))
|
||
|
||
(substitute* (find-files "src/triggers" ".*")
|
||
((" sed ")
|
||
(string-append
|
||
" " (search-input-file inputs "bin/sed") " ")))
|
||
|
||
(substitute*
|
||
'("src/triggers/post-compile/update-gitweb-access-list"
|
||
"src/triggers/post-compile/ssh-authkeys-split"
|
||
"src/triggers/upstream")
|
||
((" grep ")
|
||
(string-append
|
||
" " (search-input-file inputs "bin/grep") " ")))
|
||
|
||
(substitute* "src/triggers/post-compile/ssh-authkeys"
|
||
(("\\$glshell \\$user")
|
||
(string-append
|
||
#$output "/bin/gitolite-shell $user")))))
|
||
(add-before 'install 'patch-source
|
||
(lambda* (#:key inputs #:allow-other-keys)
|
||
;; Gitolite uses cat to test the readability of the
|
||
;; pubkey
|
||
(substitute* "src/lib/Gitolite/Setup.pm"
|
||
(("\"cat ")
|
||
(string-append
|
||
"\"" (search-input-file inputs "bin/cat") " "))
|
||
(("\"ssh-keygen")
|
||
(string-append
|
||
"\"" (search-input-file inputs "bin/ssh-keygen"))))
|
||
|
||
(substitute* '("src/lib/Gitolite/Hooks/PostUpdate.pm"
|
||
"src/lib/Gitolite/Hooks/Update.pm")
|
||
(("/usr/bin/perl")
|
||
(search-input-file inputs "bin/perl")))
|
||
|
||
(substitute* "src/lib/Gitolite/Common.pm"
|
||
(("\"ssh-keygen")
|
||
(string-append
|
||
"\"" (search-input-file inputs "bin/ssh-keygen")))
|
||
(("\"logger\"")
|
||
(string-append
|
||
"\"" (search-input-file inputs "bin/logger") "\"")))
|
||
|
||
(substitute* "src/lib/Gitolite/Cache.pm"
|
||
(("/usr/sbin/redis-server") "redis-server"))
|
||
|
||
(substitute* "src/commands/svnserve"
|
||
(("/usr/bin/svnserve") "svnserve"))))
|
||
(replace 'install
|
||
(lambda* _
|
||
(let* ((sharedir (string-append #$output "/share/gitolite"))
|
||
(bindir (string-append #$output "/bin")))
|
||
(mkdir-p sharedir)
|
||
(mkdir-p bindir)
|
||
(invoke "./install" "-to" sharedir)
|
||
;; Create symlinks for executable scripts in /bin.
|
||
(for-each (lambda (script)
|
||
(symlink (string-append sharedir "/" script)
|
||
(string-append bindir "/" script)))
|
||
'("gitolite" "gitolite-shell")))))
|
||
(add-after 'install 'wrap-scripts
|
||
(lambda* (#:key inputs #:allow-other-keys)
|
||
(for-each (lambda (file-name)
|
||
(wrap-program (string-append #$output file-name)
|
||
`("PATH" ":" prefix
|
||
,(append
|
||
(map (lambda (command)
|
||
(dirname
|
||
(search-input-file
|
||
inputs
|
||
(string-append "bin/" command))))
|
||
'("chmod" ;coreutils
|
||
"find"
|
||
"git"))
|
||
(map (lambda (dir)
|
||
(string-append dir "/bin"))
|
||
(list #$output
|
||
#$@extra-inputs))))))
|
||
'("/bin/gitolite" "/bin/gitolite-shell")))))))
|
||
(inputs
|
||
(append (list bash-minimal coreutils findutils git inetutils openssh perl)
|
||
extra-inputs))
|
||
(home-page "https://gitolite.com")
|
||
(synopsis "Git access control layer")
|
||
(description
|
||
"Gitolite is an access control layer on top of Git, providing fine access
|
||
control to Git repositories.")
|
||
(license license:gpl2)))
|
||
|
||
(define-public gitolite (make-gitolite))
|
||
|
||
(define-public gitile
|
||
(package
|
||
(name "gitile")
|
||
(version "0.1.4")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://git.lepiller.eu/git/gitile")
|
||
(commit version)))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1wb1rajcrzdqjncv40s7hjsnvlh1gq4z9pn9gf210g1iy35vimmz"))))
|
||
(build-system gnu-build-system)
|
||
(arguments
|
||
`(#:imported-modules ((guix build guile-build-system)
|
||
,@%default-gnu-imported-modules)
|
||
#:make-flags (list "GUILE_AUTO_COMPILE=0")
|
||
#:phases
|
||
(modify-phases %standard-phases
|
||
(replace 'bootstrap
|
||
(lambda _
|
||
;; The 'bootstrap' script lacks a shebang, leading to "Exec
|
||
;; format error" with glibc 2.35.
|
||
(invoke "autoreconf" "-vfi")))
|
||
(add-after 'install 'wrap-program
|
||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||
(use-modules (guix build guile-build-system))
|
||
;; Wrap the 'gitile' command to refer to the right modules.
|
||
(let* ((out (assoc-ref outputs "out"))
|
||
(commonmark (assoc-ref inputs "guile-commonmark"))
|
||
(git (assoc-ref inputs "guile-git"))
|
||
(bytes (assoc-ref inputs "guile-bytestructures"))
|
||
(fibers (assoc-ref inputs "guile-fibers"))
|
||
(gcrypt (assoc-ref inputs "guile-gcrypt"))
|
||
(syntax-highlight (assoc-ref inputs "guile-syntax-highlight"))
|
||
(deps (list out commonmark git bytes fibers gcrypt
|
||
syntax-highlight))
|
||
(guile (assoc-ref inputs "guile"))
|
||
(effective (target-guile-effective-version))
|
||
(mods (string-drop-right ;drop trailing colon
|
||
(string-join deps
|
||
(string-append "/share/guile/site/"
|
||
effective ":")
|
||
'suffix)
|
||
1))
|
||
(objs (string-drop-right
|
||
(string-join deps
|
||
(string-append "/lib/guile/" effective
|
||
"/site-ccache:")
|
||
'suffix)
|
||
1)))
|
||
(wrap-program (string-append out "/bin/gitile")
|
||
`("GUILE_LOAD_PATH" ":" prefix (,mods))
|
||
`("GUILE_LOAD_COMPILED_PATH" ":" prefix (,objs)))))))))
|
||
(native-inputs
|
||
(list autoconf automake guile-3.0 pkg-config))
|
||
(inputs
|
||
(list bash-minimal ;for wrap-program
|
||
guile-3.0
|
||
guile-commonmark
|
||
guile-fibers
|
||
guile-gcrypt
|
||
guile-git
|
||
guile-syntax-highlight
|
||
guile-gnutls))
|
||
(home-page "https://git.lepiller.eu/gitile")
|
||
(synopsis "Simple Git forge written in Guile")
|
||
(description "Gitile is a Git forge written in Guile that lets you
|
||
visualize your public Git repositories on a web interface.")
|
||
(license license:agpl3+)))
|
||
|
||
(define-public pre-commit
|
||
(package
|
||
(name "pre-commit") ;formerly known as python-pre-commit
|
||
(version "3.7.1")
|
||
(source
|
||
(origin
|
||
(method git-fetch) ; no tests in PyPI release
|
||
(uri (git-reference
|
||
(url "https://github.com/pre-commit/pre-commit")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1m2cs21xq2j1x80s7bh47fm2nsbnfxgscxfijaqwdsi2rrf4vlzv"))
|
||
(modules '((guix build utils)))
|
||
(snippet '(substitute* "setup.cfg"
|
||
(("virtualenv>=20.10.0") ;our virtualenv (20.3.1) is fine
|
||
"virtualenv>=20.0.8")))))
|
||
(build-system pyproject-build-system)
|
||
(arguments
|
||
(list
|
||
;; Skip language-specific tests because they depennd on language tools.
|
||
#:test-flags
|
||
#~(list "--ignore" "tests/languages"
|
||
;; These fail with AssertionError.
|
||
"-k" (string-append
|
||
"not test_additional_dependencies_roll_forward"
|
||
" and not test_control_c_control_c_on_install"
|
||
" and not test_invalidated_virtualenv"
|
||
" and not test_local_python_repo"
|
||
" and not test_install_existing_hooks_no_overwrite"
|
||
" and not test_uninstall_restores_legacy_hooks"
|
||
" and not test_installed_from_venv"))
|
||
#:phases
|
||
#~(modify-phases %standard-phases
|
||
(add-before 'check 'prepare-check-env
|
||
(lambda _
|
||
;; Change from /homeless-shelter to /tmp for write permission.
|
||
(setenv "HOME" "/tmp")
|
||
;; Environment variables used in the tests.
|
||
(setenv "GIT_AUTHOR_NAME" "Your Name")
|
||
(setenv "GIT_COMMITTER_NAME" "Your Name")
|
||
(setenv "GIT_AUTHOR_EMAIL" "you@example.com")
|
||
(setenv "GIT_COMMITTER_EMAIL" "you@example.com")
|
||
;; Some tests still fail with PermissionError. Make the source
|
||
;; tree writable.
|
||
;; (for-each make-file-writable (find-files "."))
|
||
;; Some tests will need a working git repository.
|
||
(invoke "git" "init")
|
||
(invoke "git" "config" "--global" "user.name" "Your Name")
|
||
(invoke "git" "config" "--global" "user.email" "you@example.com"))))))
|
||
(native-inputs
|
||
(list git-minimal/pinned
|
||
python-covdefaults
|
||
python-coverage
|
||
python-distlib
|
||
python-pytest
|
||
python-pytest-env
|
||
python-re-assert
|
||
python-setuptools
|
||
python-wheel
|
||
which))
|
||
;; Propagate because pre-commit is also used as a module.
|
||
(propagated-inputs
|
||
(list python-cfgv
|
||
python-identify
|
||
python-nodeenv
|
||
python-pyyaml
|
||
python-virtualenv))
|
||
(home-page "https://pre-commit.com/")
|
||
(synopsis "Framework for managing and maintaining pre-commit hooks")
|
||
(description
|
||
"Pre-commit is a multi-language package manager for pre-commit hooks. You
|
||
specify a list of hooks you want and pre-commit manages the installation and
|
||
execution of any hook written in any language before every commit.")
|
||
(license license:expat)))
|
||
|
||
(define-public python-pre-commit
|
||
(deprecated-package "python-pre-commit" pre-commit))
|
||
|
||
(define-public mercurial
|
||
(package
|
||
(name "mercurial")
|
||
(version "6.9.5")
|
||
(source (origin
|
||
(method url-fetch)
|
||
(uri (string-append "https://www.mercurial-scm.org/"
|
||
"release/mercurial-" version ".tar.gz"))
|
||
(patches (search-patches "mercurial-hg-extension-path.patch"))
|
||
(sha256
|
||
(base32
|
||
"1zb5rjqs5z0y900hml0v4wsmv59cdhi50a8kcbjxdp79z7p2mwnk"))))
|
||
(build-system gnu-build-system)
|
||
(arguments
|
||
`(#:make-flags
|
||
(list (string-append "PREFIX=" (assoc-ref %outputs "out")))
|
||
#:phases
|
||
(modify-phases %standard-phases
|
||
(delete 'configure)
|
||
(add-after 'unpack 'patch-tests
|
||
(lambda _
|
||
(substitute* (find-files "tests" "\\.(t|py)$")
|
||
(("/bin/sh")
|
||
(which "sh"))
|
||
(("/usr/bin/env")
|
||
(which "env")))))
|
||
(replace 'check
|
||
(lambda* (#:key tests? #:allow-other-keys)
|
||
(with-directory-excursion "tests"
|
||
;; The following tests are known to fail.
|
||
(for-each delete-file
|
||
'(;; XXX: This test calls 'run-tests.py --with-hg=
|
||
;; `which hg`' and fails because there is no hg on
|
||
;; PATH from before (that's why we are building it!)?
|
||
"test-hghave.t"
|
||
|
||
;; This test is missing a debug line
|
||
;; mmapping $TESTTMP/a/.hg/store/00changelog.i (no-pure !)
|
||
;; but the relevant output is correct.
|
||
"test-revlog-mmapindex.t"
|
||
|
||
;; This test creates a shebang spanning multiple
|
||
;; lines which is difficult to substitute. It
|
||
;; only tests the test runner itself, which gets
|
||
;; thoroughly tested during the check phase anyway.
|
||
"test-run-tests.t"
|
||
|
||
;; These tests fail because the program is not
|
||
;; connected to a TTY in the build container.
|
||
"test-nointerrupt.t"
|
||
"test-transaction-rollback-on-sigpipe.t"
|
||
|
||
;; FIXME: This gets killed but does not receive an interrupt.
|
||
"test-commandserver.t"
|
||
|
||
;; These tests get unexpected warnings about using
|
||
;; deprecated functionality in Python, but otherwise
|
||
;; succeed; try enabling for later Mercurial versions.
|
||
"test-demandimport.py"
|
||
"test-patchbomb-tls.t"
|
||
;; Similarly, this gets a more informative error
|
||
;; message from Python 3.10 than it expects.
|
||
"test-http-bad-server.t"
|
||
|
||
;; Only works when run in a hg-repo, not in an
|
||
;; extracted tarball
|
||
"test-doctest.py"
|
||
|
||
;; TODO: the fqaddr() call fails in the build
|
||
;; container, causing these server tests to fail.
|
||
"test-hgwebdir.t"
|
||
"test-http-branchmap.t"
|
||
"test-pull-bundle.t"
|
||
"test-push-http.t"
|
||
"test-serve.t"
|
||
"test-subrepo-deep-nested-change.t"
|
||
"test-subrepo-recursion.t"
|
||
;; FIXME: Investigate why it failed.
|
||
"test-convert-darcs.t"))
|
||
(when tests?
|
||
(invoke "./run-tests.py"
|
||
;; ‘make check’ does not respect ‘-j’.
|
||
(string-append "-j" (number->string
|
||
(parallel-job-count)))
|
||
;; The default time-outs are too low for many systems.
|
||
;; Raise them generously: Guix enforces its own.
|
||
"--timeout" "86400"
|
||
"--slowtimeout" "86400"
|
||
;; The test suite takes a long time and produces little
|
||
;; output by default. Prevent timeouts due to silence.
|
||
"-v"))))))))
|
||
(native-inputs
|
||
(list python-docutils
|
||
;; The following inputs are only needed to run the tests.
|
||
python-nose unzip which))
|
||
(inputs
|
||
(list python-wrapper))
|
||
;; Find third-party extensions.
|
||
(native-search-paths
|
||
(list (search-path-specification
|
||
(variable "HGEXTENSIONPATH")
|
||
(files '("lib/python3.11/site-packages/hgext3rd")))))
|
||
(home-page "https://www.mercurial-scm.org/")
|
||
(synopsis "Decentralized version control system")
|
||
(description
|
||
"Mercurial is a free, distributed source control management tool. It
|
||
efficiently handles projects of any size and offers an easy and intuitive
|
||
interface.")
|
||
(license license:gpl2+)))
|
||
|
||
(define-public python-hg-evolve
|
||
(package
|
||
(name "python-hg-evolve")
|
||
(version "11.1.3")
|
||
(source
|
||
(origin
|
||
(method hg-fetch)
|
||
(uri (hg-reference
|
||
(url "https://www.mercurial-scm.org/repo/evolve")
|
||
(changeset version)))
|
||
(file-name (hg-file-name name version))
|
||
(sha256
|
||
(base32
|
||
"09rq3hgbb6qjws0kymnh8lbglsc5yjby3b2bc0savs2agf88j83z"))))
|
||
(build-system python-build-system)
|
||
(arguments
|
||
;; Tests need mercurial source code.
|
||
'(#:tests? #f))
|
||
(propagated-inputs
|
||
(list mercurial))
|
||
(home-page "https://www.mercurial-scm.org/doc/evolution/")
|
||
(synopsis "Flexible evolution of Mercurial history")
|
||
(description "Evolve is a Mercurial extension for faster and safer mutable
|
||
history. It implements the changeset evolution concept for Mercurial.")
|
||
(license license:gpl2)))
|
||
|
||
(define-public hg-commitsigs
|
||
;; Latest tag is 11 years old.
|
||
(let ((changeset "b53eb6862bff")
|
||
(revision "0"))
|
||
(package
|
||
(name "hg-commitsigs")
|
||
(version (git-version "0.1.0" revision changeset))
|
||
(source (origin
|
||
(method hg-fetch)
|
||
(uri (hg-reference
|
||
(url "https://foss.heptapod.net/mercurial/commitsigs")
|
||
(changeset changeset)))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32
|
||
"059gm66q06m6ayl4brsc517zkw3ahmz249b6xm1m32ac5y24wb9x"))))
|
||
(build-system copy-build-system)
|
||
(arguments
|
||
`(#:imported-modules ((guix build python-build-system)
|
||
,@%copy-build-system-modules)
|
||
#:modules ((srfi srfi-1)
|
||
(guix build python-build-system)
|
||
;; Don't use `%copy-build-system-modules' because
|
||
;; `standard-phases' from (guix build gnu-build-system)
|
||
;; shadows the one from (guix build copy-build-system),
|
||
;; which is the one we actually want.
|
||
(guix build copy-build-system)
|
||
((guix build gnu-build-system) #:prefix gnu)
|
||
(guix build utils)
|
||
(guix build gremlin)
|
||
(ice-9 ftw)
|
||
(guix elf))
|
||
#:phases
|
||
(modify-phases %standard-phases
|
||
(add-after 'unpack 'patch-paths
|
||
(lambda* (#:key inputs #:allow-other-keys)
|
||
(let ((gpg (search-input-file inputs "/bin/gpg"))
|
||
(openssl (search-input-file inputs "/bin/openssl")))
|
||
(substitute* "commitsigs.py"
|
||
(("b'gpg',") (string-append "b'" gpg "',"))
|
||
(("b'openssl',") (string-append "b'" openssl "',")))))))
|
||
#:install-plan
|
||
`(("commitsigs.py" ,(string-append "lib/python"
|
||
(python-version
|
||
(assoc-ref %build-inputs "python"))
|
||
"/site-packages/hgext3rd/commitsigs.py")))))
|
||
(native-inputs
|
||
(list python))
|
||
(inputs
|
||
(list gnupg openssl))
|
||
(home-page "https://foss.heptapod.net/mercurial/commitsigs")
|
||
(synopsis "Automatic signing of changeset hashes")
|
||
(description "This package provides a Mercurial extension for signing
|
||
the changeset hash of commits. The signure is embedded directly in the
|
||
changeset itself; there won't be any extra commits. Either GnuPG or OpenSSL
|
||
can be used for signing.")
|
||
(license license:gpl2)))) ;per commitsigs.py
|
||
|
||
(define-public heatwave
|
||
(package
|
||
(name "heatwave")
|
||
(version "1.2.1")
|
||
(source
|
||
(origin
|
||
(method url-fetch)
|
||
(uri (pypi-uri "heatwave" version))
|
||
(sha256
|
||
(base32 "1zzwmb9hvbyswzjgap02rrq8p44hb6xlzk1wd8w01mh2vva0xlx7"))))
|
||
(build-system pyproject-build-system)
|
||
(propagated-inputs
|
||
(list python-click
|
||
python-gitpython
|
||
python-monthdelta))
|
||
(home-page "https://github.com/james-stoup/heatwave")
|
||
(synopsis "Heat map visualization of a git repository")
|
||
(description
|
||
"This package provides a way of visualizing a heat map of a git repo.")
|
||
(license license:gpl3)))
|
||
|
||
(define-public neon
|
||
(package
|
||
(name "neon")
|
||
(version "0.32.2")
|
||
(source (origin
|
||
(method url-fetch)
|
||
(uri (string-append "https://notroj.github.io/neon/neon-"
|
||
version ".tar.gz"))
|
||
(sha256
|
||
(base32
|
||
"11mj5zpp317dmds874wfwcpgij9i3scaahdi1xfzr5b2ii36crcq"))))
|
||
(build-system gnu-build-system)
|
||
(native-inputs
|
||
(list perl pkg-config))
|
||
(inputs
|
||
(list libxml2 openssl zlib))
|
||
(arguments
|
||
`(;; FIXME: Add tests once reverse address lookup is fixed in glibc, see
|
||
;; https://sourceware.org/bugzilla/show_bug.cgi?id=16475
|
||
#:tests? #f
|
||
#:configure-flags '("--enable-shared"
|
||
"--disable-static"
|
||
;; requires libgnutils-config, deprecated
|
||
;; in gnutls 2.8.
|
||
; "--with-ssl=gnutls")))
|
||
"--with-ssl=openssl")))
|
||
(home-page "https://notroj.github.io/neon/")
|
||
(synopsis "HTTP and WebDAV client library")
|
||
(description
|
||
"Neon is an HTTP and WebDAV client library, with a C interface and the
|
||
following features:
|
||
@enumerate
|
||
@item High-level wrappers for common HTTP and WebDAV operations (GET, MOVE,
|
||
DELETE, etc.);
|
||
@item low-level interface to the HTTP request/response engine, allowing the use
|
||
of arbitrary HTTP methods, headers, etc.;
|
||
@item authentication support including Basic and Digest support, along with
|
||
GSSAPI-based Negotiate on Unix, and SSPI-based Negotiate/NTLM on Win32;
|
||
@item SSL/TLS support using OpenSSL or GnuTLS, exposing an abstraction layer for
|
||
verifying server certificates, handling client certificates, and examining
|
||
certificate properties, smartcard-based client certificates are also
|
||
supported via a PKCS#11 wrapper interface;
|
||
@item abstract interface to parsing XML using libxml2 or expat, and wrappers for
|
||
simplifying handling XML HTTP response bodies;
|
||
@item WebDAV metadata support, wrappers for PROPFIND and PROPPATCH to simplify
|
||
property manipulation.
|
||
@end enumerate\n")
|
||
(license license:gpl2+))) ; for documentation and tests; source under lgpl2.0+
|
||
|
||
(define-public subversion
|
||
(package
|
||
(name "subversion")
|
||
(version "1.14.3")
|
||
(source (origin
|
||
(method url-fetch)
|
||
(uri (string-append "mirror://apache/subversion/"
|
||
"subversion-" version ".tar.bz2"))
|
||
(sha256
|
||
(base32
|
||
"0h54l4p2dlk1rm4zm428hi6ij6xpqxqlqmvkhmz5yhq9392zv7ll"))))
|
||
(build-system gnu-build-system)
|
||
(arguments
|
||
(list
|
||
;; Running the tests in parallel causes test failures on i686-linux.
|
||
;; The issue was reported to users@subversion.apache.org, as suggested
|
||
;; at https://subversion.apache.org/reporting-issues.
|
||
#:parallel-tests? #f
|
||
#:configure-flags #~(list "--enable-static=no")
|
||
#:phases
|
||
#~(modify-phases %standard-phases
|
||
(add-after 'configure 'patch-libtool-wrapper-ls
|
||
(lambda* (#:key inputs #:allow-other-keys)
|
||
;; This substitution allows tests svnauthz_tests and svnlook_tests
|
||
;; to pass. These tests execute svnauthz and svnlook through
|
||
;; their libtool wrapper scripts from svn hooks, whose empty
|
||
;; environments cause "ls: command not found" errors. It would be
|
||
;; nice if this fix ultimately made its way into libtool.
|
||
(substitute* "libtool"
|
||
(("\\\\`ls")
|
||
(string-append "\\`" (search-input-file inputs "bin/ls"))))))
|
||
(add-before 'build 'patch-test-sh
|
||
(lambda _
|
||
(substitute* "subversion/tests/libsvn_repos/repos-test.c"
|
||
(("#!/bin/sh") (string-append "#!" (which "sh"))))))
|
||
(add-before 'check 'set-PARALLEL
|
||
(lambda* (#:key parallel-tests? #:allow-other-keys)
|
||
(if parallel-tests?
|
||
(setenv "PARALLEL" (number->string (parallel-job-count)))
|
||
(simple-format #t "parallel-tests? are disabled\n"))))
|
||
(add-after 'install 'install-perl-bindings
|
||
(lambda _
|
||
;; Follow the instructions from 'subversion/bindings/swig/INSTALL'.
|
||
(invoke "make" "swig-pl-lib")
|
||
;; FIXME: Test failures.
|
||
;; (invoke "make" "check-swig-pl")
|
||
(invoke "make" "install-swig-pl-lib")
|
||
|
||
;; Set the right installation prefix.
|
||
(with-directory-excursion "subversion/bindings/swig/perl/native"
|
||
(invoke "perl" "Makefile.PL" "NO_PERLLOCAL=1"
|
||
(string-append "PREFIX=" #$output))
|
||
(invoke "make" "install"
|
||
(string-append "OTHERLDFLAGS=-Wl,-rpath="
|
||
#$output "/lib"))))))))
|
||
(native-inputs
|
||
(list pkg-config
|
||
;; For the Perl bindings.
|
||
swig))
|
||
(inputs
|
||
(list apr
|
||
apr-util
|
||
lz4
|
||
perl
|
||
python-wrapper
|
||
serf
|
||
sqlite
|
||
utf8proc
|
||
zlib))
|
||
(home-page "https://subversion.apache.org/")
|
||
(synopsis "Revision control system")
|
||
(description
|
||
"@dfn{Subversion} (svn) exists to be recognized and adopted as a
|
||
centralized version control system characterized by its
|
||
reliability as a safe haven for valuable data; the simplicity of its model and
|
||
usage; and its ability to support the needs of a wide variety of users and
|
||
projects, from individuals to large-scale enterprise operations.")
|
||
(license license:asl2.0)))
|
||
|
||
(define-public rcs
|
||
(package
|
||
(name "rcs")
|
||
(version "5.10.1")
|
||
(source (origin
|
||
(method url-fetch)
|
||
(uri (string-append "mirror://gnu/rcs/rcs-"
|
||
version ".tar.lz"))
|
||
(sha256
|
||
(base32
|
||
"1iac4d1dhsfy5zb0n3p605pihdq702v06r4g8vi8b2saf88gxpa3"))))
|
||
(build-system gnu-build-system)
|
||
(arguments `(#:phases
|
||
(modify-phases %standard-phases
|
||
(add-after 'install 'install-rcsfreeze
|
||
(lambda* (#:key outputs #:allow-other-keys)
|
||
(let* ((out (assoc-ref outputs "out"))
|
||
(bin (string-append out "/bin"))
|
||
(man1 (string-append out "/share/man/man1")))
|
||
(chmod "src/rcsfreeze" #o755)
|
||
(install-file "src/rcsfreeze" bin)
|
||
(install-file "man/rcsfreeze.1" man1)))))))
|
||
(native-inputs (list ed lzip))
|
||
(home-page "https://www.gnu.org/software/rcs/")
|
||
(synopsis "Per-file local revision control system")
|
||
(description
|
||
"RCS is the original Revision Control System. It works on a
|
||
file-by-file basis, in contrast to subsequent version control systems such as
|
||
CVS, Subversion, and Git. This can make it suitable for system
|
||
administration files, for example, which are often inherently local to one
|
||
machine.")
|
||
(license license:gpl3+)))
|
||
|
||
(define-public rcs-blame
|
||
(package
|
||
(name "rcs-blame")
|
||
(version "1.3.1-20210207")
|
||
(source (origin
|
||
(method url-fetch)
|
||
(uri (string-append
|
||
"https://invisible-mirror.net/archives/rcs-blame/blame-"
|
||
version ".tgz"))
|
||
(sha256
|
||
(base32
|
||
"1j0brsvdx3hlbwchddafh8r2xmxv5vg4ahpd68v4bb9xhcq6pcih"))))
|
||
(build-system gnu-build-system)
|
||
(home-page "https://invisible-island.net/rcs-blame/rcs-blame.html")
|
||
(synopsis "Display the last modification for each line in an RCS file")
|
||
(description
|
||
"@code{blame} outputs an annotated revision from each RCS file. An
|
||
annotated RCS file describes the revision and date in which each line was
|
||
added to the file, and the author of each line.")
|
||
(license license:gpl2+)))
|
||
|
||
(define-public rcshist
|
||
(package
|
||
(name "rcshist")
|
||
(version "1.04-20190106")
|
||
(source (origin
|
||
(method url-fetch)
|
||
(uri (string-append
|
||
"https://invisible-mirror.net/archives/rcshist/rcshist-"
|
||
version ".tgz"))
|
||
(sha256
|
||
(base32
|
||
"01ab3xwgm934lxr8bm758am3vxwx4hxx7cc9prbgqj5nh30vdg1n"))))
|
||
(build-system gnu-build-system)
|
||
(home-page "https://invisible-island.net/rcshist/rcshist.html")
|
||
(synopsis "Display RCS change history")
|
||
(description
|
||
"The @code{rcshist} utility displays the complete revision history of a
|
||
set of RCS files including log messages and patches. It can also display the
|
||
patch associated with a particular revision of an RCS file.")
|
||
(license (list license:bsd-2
|
||
license:bsd-3)))) ; bsd_queue.h
|
||
|
||
(define-public cvs
|
||
(package
|
||
(name "cvs")
|
||
(version "1.12.13")
|
||
(source (origin
|
||
(method url-fetch)
|
||
(uri (string-append
|
||
"https://ftp.gnu.org/non-gnu/cvs/source/feature/"
|
||
version "/cvs-" version ".tar.bz2"))
|
||
(patches (search-patches "cvs-CVE-2017-12836.patch"))
|
||
(sha256
|
||
(base32
|
||
"0pjir8cwn0087mxszzbsi1gyfc6373vif96cw4q3m1x6p49kd1bq"))))
|
||
(build-system gnu-build-system)
|
||
(arguments
|
||
;; XXX: The test suite looks flawed, and the package is obsolete anyway.
|
||
(list
|
||
#:tests? #f
|
||
#:configure-flags
|
||
#~(list
|
||
"--with-external-zlib"
|
||
"CFLAGS=-g -O2 -Wno-error=implicit-function-declaration")
|
||
#:phases
|
||
#~(modify-phases %standard-phases
|
||
(add-after 'unpack 'fix-include
|
||
(lambda _
|
||
(substitute* "lib/sighandle.c"
|
||
(("#ifdef STDC_HEADERS" all)
|
||
(string-append "#define STDC_HEADERS 1\n" all))))))))
|
||
(inputs (list zlib nano)) ; the default editor
|
||
(home-page "https://cvs.nongnu.org")
|
||
(synopsis "Historical centralized version control system")
|
||
(description
|
||
"CVS is a version control system, an important component of Source
|
||
Configuration Management (SCM). Using it, you can record the history of
|
||
sources files, and documents. It fills a similar role to the free software
|
||
RCS, PRCS, and Aegis packages.")
|
||
(properties '((lint-hidden-cpe-vendors . ("jenkins"))))
|
||
(license license:gpl1+)))
|
||
|
||
(define-public cvs-fast-export
|
||
(package
|
||
(name "cvs-fast-export")
|
||
(version "1.56")
|
||
(source (origin
|
||
(method url-fetch)
|
||
(uri (string-append "http://www.catb.org/~esr/cvs-fast-export/"
|
||
"cvs-fast-export-" version ".tar.gz"))
|
||
(sha256
|
||
(base32
|
||
"058bzp3npng48ascls943m16kgvrl0h197a10brf7mvx8zpfc7sc"))))
|
||
(build-system gnu-build-system)
|
||
(arguments
|
||
'(#:phases
|
||
(modify-phases %standard-phases
|
||
(delete 'configure)) ; no configure script
|
||
#:parallel-build? #f ; parallel a2x commands fail spectacularly
|
||
#:make-flags
|
||
(list "CC=gcc" (string-append "prefix?=" (assoc-ref %outputs "out")))))
|
||
(inputs
|
||
`(("git" ,git)
|
||
("python" ,python-wrapper)))
|
||
(native-inputs
|
||
(list asciidoc
|
||
;; These are needed for the tests.
|
||
cvs rcs))
|
||
(home-page "http://www.catb.org/esr/cvs-fast-export/")
|
||
(synopsis "Export an RCS or CVS history as a fast-import stream")
|
||
(description "This program analyzes a collection of RCS files in a CVS
|
||
repository (or outside of one) and, when possible, emits an equivalent history
|
||
in the form of a fast-import stream. Not all possible histories can be
|
||
rendered this way; the program tries to emit useful warnings when it can't.
|
||
|
||
The program can also produce a visualization of the resulting commit directed
|
||
acyclic graph (DAG) in the input format of @uref{http://www.graphviz.org,
|
||
Graphviz}. The package also includes @command{cvssync}, a tool for mirroring
|
||
masters from remote CVS hosts.")
|
||
(license license:gpl2+)))
|
||
|
||
(define-public vc-dwim
|
||
(package
|
||
(name "vc-dwim")
|
||
(version "1.10")
|
||
(source (origin
|
||
(method url-fetch)
|
||
(uri (string-append "mirror://gnu/vc-dwim/vc-dwim-"
|
||
version ".tar.xz"))
|
||
(sha256
|
||
(base32
|
||
"0am6axxdvkm2vwgg0gjrd930yv4dlsdbf0rdv0zh5bhy1ir64rph"))))
|
||
(build-system gnu-build-system)
|
||
(inputs (list perl))
|
||
(native-inputs
|
||
(list emacs-minimal ; for `ctags'
|
||
inetutils)) ; for `hostname', used in the tests
|
||
(home-page "https://www.gnu.org/software/vc-dwim/")
|
||
(synopsis "Version-control-agnostic ChangeLog diff and commit tool")
|
||
(description
|
||
"The vc-dwim package contains two tools, \"vc-dwim\" and \"vc-chlog\".
|
||
vc-dwim is a tool that simplifies the task of maintaining a ChangeLog and
|
||
using version control at the same time, for example by printing a reminder
|
||
when a file change has been described in the ChangeLog but the file has not
|
||
been added to the VC. vc-chlog scans changed files and generates
|
||
standards-compliant ChangeLog entries based on the changes that it detects.")
|
||
(license license:gpl3+)))
|
||
|
||
(define-public diffstat
|
||
(package
|
||
(name "diffstat")
|
||
(version "1.65")
|
||
(source (origin
|
||
(method url-fetch)
|
||
(uri
|
||
(list
|
||
(string-append "ftp://invisible-island.net/diffstat/"
|
||
"diffstat-" version ".tgz")
|
||
(string-append "http://invisible-mirror.net/archives/diffstat/"
|
||
"diffstat-" version ".tgz")))
|
||
(sha256
|
||
(base32
|
||
"12m2aysq6syw83bn4gqhpm284a2ran8w6m8pja2wvsvdj8j79wlc"))))
|
||
(build-system gnu-build-system)
|
||
(home-page "https://invisible-island.net/diffstat/")
|
||
(synopsis "Make histograms from the output of @command{diff}")
|
||
(description
|
||
"Diffstat reads the output of @command{diff} and displays a histogram of
|
||
the insertions, deletions, and modifications per file. It is useful for
|
||
reviewing large, complex patch files.")
|
||
(license (license:x11-style "file://COPYING"))))
|
||
|
||
(define-public cssc
|
||
(package
|
||
(name "cssc")
|
||
(version "1.4.1")
|
||
(source (origin
|
||
(method url-fetch)
|
||
(uri (string-append "mirror://gnu/" name "/CSSC-"
|
||
version ".tar.gz"))
|
||
(sha256
|
||
(base32
|
||
"1vsisqq573xjr2qpn19iwmpqgl3mq03m790akpa4rvj60b4d1gni"))))
|
||
(build-system gnu-build-system)
|
||
(arguments
|
||
`(#:phases
|
||
(modify-phases %standard-phases
|
||
(add-before 'check 'precheck
|
||
(lambda _
|
||
(begin
|
||
(substitute* "tests/common/test-common"
|
||
(("/bin/pwd") (which "pwd")))
|
||
|
||
(substitute* "tests/prt/all-512.sh"
|
||
(("/bin/sh") (which "sh")))
|
||
|
||
(for-each
|
||
(lambda (file)
|
||
(substitute* file (("egrep") "grep -E")))
|
||
'("tests/common/test-common"
|
||
"tests/admin/comment.sh"
|
||
"tests/cdc/2comment.sh"
|
||
"tests/cdc/4order.sh"
|
||
"tests/get/subst.sh"))
|
||
|
||
;; XXX: This test has no hope of passing until there is a "nogroup"
|
||
;; entry (or at least some group to which the guix builder does
|
||
;; not belong) in the /etc/group file of the build environment.
|
||
;; Currently we do not have such a group. Disable this test for now.
|
||
(substitute* "tests/Makefile"
|
||
(("test-delta ") ""))))))))
|
||
;; These are needed for the tests
|
||
(native-inputs (list git cvs))
|
||
(home-page "https://www.gnu.org/software/cssc/")
|
||
(synopsis "File-based version control like SCCS")
|
||
(description "GNU CSSC provides a replacement for the legacy Unix source
|
||
code control system SCCS. This allows old code still under that system to be
|
||
accessed and migrated on modern systems.")
|
||
(license license:gpl3+)))
|
||
|
||
;; This package can unfortunately work only in -TEST mode, since Aegis
|
||
;; requires that it is installed setuid root.
|
||
(define-public aegis
|
||
(package
|
||
(name "aegis")
|
||
(version "4.24")
|
||
(source (origin
|
||
(method url-fetch)
|
||
(uri (string-append "mirror://sourceforge/aegis/aegis/" version
|
||
"/aegis-" version ".tar.gz"))
|
||
(sha256
|
||
(base32
|
||
"18s86ssarfmc4l17gbpzybca29m5wa37cbaimdji8czlcry3mcjl"))
|
||
(patches (search-patches "aegis-perl-tempdir1.patch"
|
||
"aegis-perl-tempdir2.patch"
|
||
"aegis-test-fixup-1.patch"
|
||
"aegis-test-fixup-2.patch"
|
||
"aegis-constness-error.patch"))))
|
||
(build-system gnu-build-system)
|
||
(inputs
|
||
`(("e2fsprogs" ,e2fsprogs)
|
||
("curl" ,curl)
|
||
("file" ,file)
|
||
("libxml2" ,libxml2)
|
||
("zlib" ,zlib)
|
||
("gettext" ,gettext-minimal)))
|
||
(native-inputs
|
||
(list bison
|
||
groff
|
||
perl
|
||
;; Various tests require the following:
|
||
cvs
|
||
flex
|
||
cook
|
||
subversion
|
||
rcs
|
||
ed))
|
||
(arguments
|
||
`(#:configure-flags (list "--with-no-aegis-configured"
|
||
"--sharedstatedir=/var/com/aegis"
|
||
;; Uses the old 'throw()' specifier with 'new'
|
||
;; which changed in C++11.
|
||
"CXXFLAGS=-std=c++03")
|
||
#:parallel-build? #f ; There are some nasty racy rules in the Makefile.
|
||
#:phases
|
||
(modify-phases %standard-phases
|
||
(add-before 'configure 'pre-conf
|
||
(lambda _
|
||
(substitute* (append '("configure"
|
||
"etc/check-tar-gz.sh"
|
||
"etc/patches.sh"
|
||
"etc/test.sh"
|
||
"script/aexver.in"
|
||
"script/aebisect.in"
|
||
"script/aeintegratq.in"
|
||
"script/tkaegis.in"
|
||
"script/test_funcs.in"
|
||
"web/eg_oss_templ.sh"
|
||
"web/webiface.html"
|
||
"libaegis/getpw_cache.cc")
|
||
(find-files "test" "\\.sh"))
|
||
(("/bin/sh") (which "sh")))
|
||
(setenv "SH" (which "sh"))
|
||
#t))
|
||
(replace 'check
|
||
(lambda _
|
||
(let ((home (string-append (getcwd) "/my-new-home")))
|
||
;; Some tests need to write to $HOME.
|
||
(mkdir home)
|
||
(setenv "HOME" home)
|
||
|
||
;; This test assumes that flex has been symlinked to "lex".
|
||
(substitute* "test/00/t0011a.sh"
|
||
(("type lex") "type flex"))
|
||
|
||
;; XXX Disable tests that fail, for unknown reasons, ‘for now’.
|
||
(for-each
|
||
(lambda (test) (substitute* "Makefile"
|
||
(((string-append "test/" test "\\.ES ")) "")))
|
||
(list "00/t0011a"
|
||
"00/t0049a"
|
||
"01/t0196a"))
|
||
|
||
;; The author decided to call the check rule "sure".
|
||
(invoke "make" "sure")))))))
|
||
(home-page "https://sourceforge.net/projects/aegis/")
|
||
(synopsis "Project change supervisor")
|
||
(description "Aegis is a project change supervisor, and performs some of
|
||
the Software Configuration Management needed in a CASE environment. Aegis
|
||
provides a framework within which a team of developers may work on many
|
||
changes to a program independently, and Aegis coordinates integrating these
|
||
changes back into the master source of the program, with as little disruption
|
||
as possible. Resolution of contention for source files, a major headache for
|
||
any project with more than one developer, is one of Aegis's major functions.")
|
||
(license license:gpl3+)))
|
||
|
||
(define-public tig
|
||
(package
|
||
(name "tig")
|
||
(version "2.5.12")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/jonas/tig")
|
||
(commit (string-append "tig-" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1ncrxvn7vbcyfvcczra6jx4mr5hv6p5xfa1wdvdfzwgfkj16hhys"))))
|
||
(build-system gnu-build-system)
|
||
(arguments
|
||
(list
|
||
#:phases
|
||
#~(modify-phases %standard-phases
|
||
(add-after 'install 'install-doc
|
||
(lambda _
|
||
(invoke "make" "install-doc")))
|
||
(add-after 'install 'install-completions
|
||
(lambda _
|
||
(let ((share (string-append #$output "/share")))
|
||
(mkdir-p (string-append #$output "/etc/bash_completion.d"))
|
||
(mkdir-p (string-append share "/zsh/site-functions"))
|
||
(copy-file "contrib/tig-completion.bash"
|
||
(string-append #$output "/etc/bash_completion.d/tig"))
|
||
(copy-file "contrib/tig-completion.zsh"
|
||
(string-append share "/zsh/site-functions/_tig"))))))
|
||
#:test-target "test"
|
||
#:tests? #f)) ; tests require access to /dev/tty
|
||
(native-inputs
|
||
(list asciidoc autoconf automake docbook-xsl libxml2 pkg-config xmlto))
|
||
(inputs
|
||
(list ncurses readline))
|
||
(home-page "https://jonas.github.io/tig/")
|
||
(synopsis "Ncurses-based text user interface for Git")
|
||
(description
|
||
"Tig is an ncurses text user interface for Git, primarily intended as
|
||
a history browser. It can also stage hunks for commit, or colorize the
|
||
output of the @code{git} command.")
|
||
(license license:gpl2+)))
|
||
|
||
(define-public findnewest
|
||
(package
|
||
(name "findnewest")
|
||
(version "0.3")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/0-wiz-0/findnewest")
|
||
(commit (string-append "findnewest-" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1x1cbn2b27h5r0ah5xc06fkalfdci2ngrgd4wibxjw0h88h0nvgq"))))
|
||
(build-system gnu-build-system)
|
||
(native-inputs (list autoconf automake))
|
||
(home-page "https://github.com/0-wiz-0/findnewest/releases")
|
||
(synopsis "Print the modification time of the latest file")
|
||
(description
|
||
"Recursively find the newest file in a file tree and print its
|
||
modification time.")
|
||
(license license:bsd-2)))
|
||
|
||
(define-public fnc
|
||
(package
|
||
(name "fnc")
|
||
(version "0.18")
|
||
(source (origin
|
||
(method url-fetch)
|
||
(uri
|
||
(string-append "https://fnc.bsdbox.org/uv/dl/fnc-"
|
||
version ".tar.gz"))
|
||
(sha256
|
||
(base32
|
||
"1067rr4nqngld1nqa8c7imp9n3w5fp7rpc7khh6l84q2w1klrya9"))))
|
||
(build-system gnu-build-system)
|
||
(arguments
|
||
(list
|
||
#:phases #~(modify-phases %standard-phases
|
||
(delete 'configure)
|
||
;; fix cross-compiling.
|
||
(add-after 'unpack 'don-t-use-install-s
|
||
(lambda _
|
||
(substitute* "fnc.bld.mk"
|
||
(("install -s")
|
||
"install")))))
|
||
#:tests? #f ; no tests
|
||
#:make-flags #~(list (string-append "CC=" #$(cc-for-target))
|
||
(string-append "PREFIX=" #$output))))
|
||
(inputs (list ncurses zlib sqlite-next))
|
||
(home-page "https://fnc.bsdbox.org")
|
||
(synopsis "Interactive text-based user interface for Fossil")
|
||
(description "fnc uses ncurses and libfossil to create a fossil user
|
||
interface in the terminal. It can view local changes at the hunk level to
|
||
prepare atomic commits.")
|
||
(license license:isc)))
|
||
|
||
(define-public myrepos
|
||
(package
|
||
(name "myrepos")
|
||
(version "1.20180726")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "git://myrepos.branchable.com/myrepos")
|
||
(commit version)))
|
||
(file-name (string-append name "-" version "-checkout"))
|
||
(sha256
|
||
(base32 "0jphw61plm8cgklja6hs639xhdvxgvjwbr6jpvjwpp7hc5gmhms5"))))
|
||
(build-system gnu-build-system)
|
||
(arguments
|
||
'(#:test-target "test"
|
||
#:make-flags (list (string-append "PREFIX=" %output))
|
||
#:phases
|
||
(modify-phases %standard-phases
|
||
(delete 'configure)
|
||
(add-after 'install 'wrap-webcheckout
|
||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||
(let ((out (assoc-ref outputs "out")))
|
||
(wrap-program (string-append out "/bin/webcheckout")
|
||
`("PERL5LIB" ":" prefix
|
||
,(map (lambda (i) (string-append (assoc-ref inputs i)
|
||
"/lib/perl5/site_perl"))
|
||
'("perl-encode-locale" "perl-http-date"
|
||
"perl-http-message" "perl-html-parser" "perl-libwww"
|
||
"perl-uri" "perl-try-tiny"))))))))))
|
||
(inputs
|
||
(list bash-minimal ;for wrap-program
|
||
perl
|
||
perl-encode-locale
|
||
perl-html-parser
|
||
perl-http-date
|
||
perl-http-message
|
||
perl-libwww
|
||
perl-try-tiny
|
||
perl-uri))
|
||
(home-page "https://myrepos.branchable.com/")
|
||
(synopsis "Multiple repository management tool")
|
||
(description
|
||
"Myrepos provides the @code{mr} command, which maps an operation (e.g.,
|
||
fetching updates) over a collection of version control repositories. It
|
||
supports a large number of version control systems: Git, Subversion,
|
||
Mercurial, Bazaar, Darcs, CVS, Fossil, and Veracity.")
|
||
(license license:gpl2+)))
|
||
|
||
(define-public grokmirror
|
||
(package
|
||
(name "grokmirror")
|
||
(version "2.0.11")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url (string-append "https://git.kernel.org/pub/scm/"
|
||
"utils/grokmirror/grokmirror.git"))
|
||
(commit (string-append "v" version))))
|
||
(file-name (string-append name "-" version "-checkout"))
|
||
(sha256
|
||
(base32 "0c6nnfzzyl247r1dcjnsyx16d34nyra9ikjjhi0xzlrbiwnb0w32"))))
|
||
(build-system python-build-system)
|
||
(arguments
|
||
`(#:tests? #f ; no test suite
|
||
#:phases
|
||
(modify-phases %standard-phases
|
||
(add-after 'install 'install-manpages
|
||
(lambda* (#:key outputs #:allow-other-keys)
|
||
(let* ((man (string-append (assoc-ref outputs "out")
|
||
"/man/man1/")))
|
||
(mkdir-p man)
|
||
(for-each (lambda (file) (install-file file man))
|
||
(find-files "." "\\.1$"))))))))
|
||
(propagated-inputs
|
||
(list python-packaging python-requests))
|
||
(home-page
|
||
"https://git.kernel.org/pub/scm/utils/grokmirror/grokmirror.git")
|
||
(synopsis "Framework to smartly mirror git repositories")
|
||
(description "Grokmirror enables replicating large git repository
|
||
collections efficiently. Mirrors decide to clone and update repositories
|
||
based on a manifest file published by servers.")
|
||
(license license:gpl3+)))
|
||
|
||
(define-public patatt
|
||
(package
|
||
(name "patatt")
|
||
(version "0.6.3")
|
||
(source
|
||
(origin
|
||
(method url-fetch)
|
||
(uri (pypi-uri "patatt" version))
|
||
(sha256
|
||
(base32 "0a0a5ndlnv7dk2smn8algss6q17gbd6mc7yacz17c9cxabv2c24q"))))
|
||
(build-system python-build-system)
|
||
(arguments '(#:tests? #f)) ; No tests.
|
||
(propagated-inputs
|
||
(list python-pynacl))
|
||
(home-page "https://git.kernel.org/pub/scm/utils/patatt/patatt.git")
|
||
(synopsis "Tool for cryptographic patch attestation")
|
||
(description "This utility provides end-to-end cryptographic attestation
|
||
of patches sent via mail. It does so by adapting the DKIM email signature
|
||
standard to include cryptographic signatures via the X-Developer-Signature
|
||
email header.")
|
||
(license license:expat-0)))
|
||
|
||
(define-public b4
|
||
(package
|
||
(name "b4")
|
||
(version "0.14.2")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://git.kernel.org/pub/scm/utils/b4/b4.git")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32
|
||
"18pacf7brvkmvxwkrsjigq9ymrr289a82wg4f1f1n4xr3k7vyr9i"))))
|
||
(build-system pyproject-build-system)
|
||
(arguments
|
||
(list #:tests? (not (%current-target-system)) ;git path hardcoded.
|
||
#:phases
|
||
#~(modify-phases %standard-phases
|
||
;; XXX: dnspython attempts to read /etc/resolv.conf when loading
|
||
;; resolver.py, which breaks the sanity check in dependent
|
||
;; packages. This should rather be fixed in dnspython.
|
||
(delete 'sanity-check)
|
||
;; This ensures git is present when called.
|
||
(add-after 'unpack 'hardcode-git-bin
|
||
(lambda* (#:key inputs #:allow-other-keys)
|
||
(substitute* (find-files "src/b4" "\\.py$")
|
||
(("\\['git'")
|
||
(string-append
|
||
"['" (search-input-file inputs "bin/git") "'"))))))))
|
||
(inputs
|
||
(list git-filter-repo
|
||
git-minimal
|
||
patatt
|
||
python-dkimpy
|
||
python-dnspython
|
||
python-requests))
|
||
(native-inputs
|
||
(list python-pytest python-setuptools python-wheel))
|
||
(home-page "https://git.kernel.org/pub/scm/utils/b4/b4.git")
|
||
(synopsis "Tool for working with patches in public-inbox archives")
|
||
(description
|
||
"The @code{b4} command is designed to make it easier to participate in
|
||
patch-based workflows for projects that have public-inbox archives.
|
||
|
||
Features include:
|
||
@itemize
|
||
@item downloading a thread's mbox given a message ID
|
||
@item processing an mbox so that is ready to be fed to @code{git-am}
|
||
@item creating templated replies for processed patches and pull requests
|
||
@item submitting cryptographic attestation for patches.
|
||
@end itemize")
|
||
(license license:gpl2+)))
|
||
|
||
(define-public git-annex-remote-rclone
|
||
(package
|
||
(name "git-annex-remote-rclone")
|
||
(version "0.8")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/DanielDent/git-annex-remote-rclone")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32
|
||
"03m95620fp891ki6rsqw5nkydwx84nag5nhyvzfi3q64fpnpmb07"))))
|
||
(build-system trivial-build-system)
|
||
(arguments
|
||
`(#:modules ((guix build utils))
|
||
#:builder
|
||
(begin
|
||
(use-modules (guix build utils))
|
||
(let ((bash (search-input-file %build-inputs "/bin/bash"))
|
||
(rclone (search-input-file %build-inputs "/bin/rclone")))
|
||
(copy-file (string-append (assoc-ref %build-inputs "source")
|
||
"/git-annex-remote-rclone")
|
||
"git-annex-remote-rclone")
|
||
(substitute* "git-annex-remote-rclone"
|
||
(("/bin/bash") bash)
|
||
(("runcmd rclone") (string-append "runcmd " rclone)))
|
||
(install-file "git-annex-remote-rclone"
|
||
(string-append %output "/bin"))
|
||
#t))))
|
||
(inputs
|
||
(list bash rclone))
|
||
(home-page "https://github.com/DanielDent/git-annex-remote-rclone")
|
||
(synopsis "Use rclone-supported cloud storage providers with git-annex")
|
||
(description "This wrapper around rclone makes any destination supported
|
||
by rclone usable with git-annex.")
|
||
(license license:gpl3+)))
|
||
|
||
(define-public fossil
|
||
(package
|
||
(name "fossil")
|
||
(version "2.25")
|
||
(source
|
||
(origin
|
||
(method url-fetch)
|
||
(uri (string-append
|
||
"https://fossil-scm.org/home/tarball/version-" version
|
||
"/fossil-" version ".tar.gz"))
|
||
(sha256
|
||
(base32 "18gws90by2q6a6rk7h3mx46pn79lz4zi3saxlyrdz5982mw9rvp4"))))
|
||
(build-system gnu-build-system)
|
||
(native-inputs
|
||
(list tcl ;for configuration only
|
||
which ;for tests only
|
||
ed)) ;ditto
|
||
(inputs
|
||
;; Need sqlite >= 3.43.0.
|
||
(list openssl zlib sqlite-next))
|
||
(arguments
|
||
`(#:configure-flags (list "--with-openssl=auto"
|
||
"--enable-json"
|
||
"--disable-internal-sqlite")
|
||
#:test-target "test"
|
||
#:phases (modify-phases %standard-phases
|
||
(add-after 'patch-source-shebangs 'patch-sh
|
||
(lambda _
|
||
(substitute* '("auto.def")
|
||
(("/bin/sh") (which "sh")))))
|
||
(replace 'configure
|
||
(lambda* (#:key outputs (configure-flags '())
|
||
#:allow-other-keys)
|
||
;; The 'configure' script is not an autoconf script and
|
||
;; chokes on unrecognized options.
|
||
(apply invoke
|
||
"./configure"
|
||
(string-append "--prefix="
|
||
(assoc-ref outputs "out"))
|
||
configure-flags)))
|
||
(add-before 'check 'test-setup
|
||
(lambda _
|
||
(setenv "USER" "guix")
|
||
(setenv "TZ" "UTC"))))))
|
||
(home-page "https://fossil-scm.org")
|
||
(synopsis "Software configuration management system")
|
||
(description
|
||
"Fossil is a distributed source control management system which supports
|
||
access and administration over HTTP CGI or via a built-in HTTP server. It has
|
||
a built-in wiki, built-in file browsing, built-in tickets system, etc.")
|
||
(properties
|
||
'((release-monitoring-url
|
||
. "https://fossil-scm.org/home/uv/latest-release.md")))
|
||
(license (list license:public-domain ;src/miniz.c, src/shell.c
|
||
license:bsd-2))))
|
||
|
||
(define-public pijul
|
||
(package
|
||
(name "pijul")
|
||
(version "1.0.0-beta.9")
|
||
(source
|
||
(origin
|
||
(method url-fetch)
|
||
(uri (crate-uri "pijul" version))
|
||
(file-name (string-append name "-" version ".tar.gz"))
|
||
(sha256
|
||
(base32 "1lk261rrk4xy60d4akfn8mrrqxls28kf9mzrjcrxdzbdysml66n5"))))
|
||
(build-system cargo-build-system)
|
||
(arguments
|
||
(list
|
||
#:install-source? #f
|
||
#:phases
|
||
#~(modify-phases %standard-phases
|
||
(add-after 'install 'install-extras
|
||
(lambda* (#:key native-inputs outputs #:allow-other-keys)
|
||
(let* ((out (assoc-ref outputs "out"))
|
||
(share (string-append out "/share"))
|
||
(bash-completions-dir
|
||
(string-append out "/etc/bash_completion.d/"))
|
||
(zsh-completions-dir
|
||
(string-append share "/zsh/site-functions"))
|
||
(fish-completions-dir
|
||
(string-append share "/fish/vendor_completions.d"))
|
||
(elvish-completions-dir
|
||
(string-append share "/elvish/lib"))
|
||
(pijul (if #$(%current-target-system)
|
||
(search-input-file native-inputs "/bin/pijul")
|
||
(string-append out "/bin/pijul"))))
|
||
(mkdir-p bash-completions-dir)
|
||
(with-output-to-file
|
||
(string-append bash-completions-dir "/pijul")
|
||
(lambda _ (invoke pijul "completion" "bash")))
|
||
(mkdir-p zsh-completions-dir)
|
||
(with-output-to-file
|
||
(string-append zsh-completions-dir "/_pijul")
|
||
(lambda _ (invoke pijul "completion" "zsh")))
|
||
(mkdir-p fish-completions-dir)
|
||
(with-output-to-file
|
||
(string-append fish-completions-dir "/pijul.fish")
|
||
(lambda _ (invoke pijul "completion" "fish")))
|
||
(mkdir-p elvish-completions-dir)
|
||
(with-output-to-file
|
||
(string-append elvish-completions-dir "/pijul")
|
||
(lambda _ (invoke pijul "completion" "elvish")))))))))
|
||
(native-inputs
|
||
(append (if (%current-target-system)
|
||
(list this-package)
|
||
'())
|
||
(list pkg-config)))
|
||
(inputs (cons* libsodium openssl (cargo-inputs 'pijul)))
|
||
(home-page "https://nest.pijul.com/pijul/pijul")
|
||
(synopsis "Distributed version control system")
|
||
(description "This package provides pijul, a sound and fast distributed
|
||
version control system based on a mathematical theory of asynchronous work.")
|
||
(license license:gpl2+)))
|
||
|
||
(define-public stagit
|
||
(package
|
||
(name "stagit")
|
||
(version "1.2")
|
||
(source (origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
;; NOTE: It can only be cloned using the git protocol
|
||
(url "git://git.codemadness.org/stagit")
|
||
(commit version)))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32
|
||
"17yggk3fbm731z98warvix332487s0k6knhxnf9zc6f667qi2mlr"))))
|
||
(build-system gnu-build-system)
|
||
(arguments
|
||
(list #:tests? #f ; No tests
|
||
#:make-flags #~(list (string-append "CC=" #$(cc-for-target))
|
||
(string-append "PREFIX=" #$output))
|
||
#:phases
|
||
#~(modify-phases %standard-phases
|
||
(delete 'configure)))) ; No configure script
|
||
(inputs
|
||
(list libgit2))
|
||
(home-page "https://git.codemadness.org/stagit/")
|
||
(synopsis "Static git page generator")
|
||
(description "Stagit creates static pages for git repositories, the results can
|
||
be served with a HTTP file server of your choice.")
|
||
(license license:expat)))
|
||
|
||
(define-public gource
|
||
(package
|
||
(name "gource")
|
||
(version "0.55")
|
||
(source (origin
|
||
(method url-fetch)
|
||
(uri (string-append
|
||
"https://github.com/acaudwell/Gource/releases/download"
|
||
"/gource-" version "/gource-" version ".tar.gz"))
|
||
(sha256
|
||
(base32
|
||
"0hh17h0pf4b7yq23xsr5zhl1cs02d2bijxj7ks6m01wbs89948y8"))))
|
||
(build-system gnu-build-system)
|
||
(arguments
|
||
`(#:configure-flags
|
||
(list (string-append "--with-boost-libdir="
|
||
(assoc-ref %build-inputs "boost")
|
||
"/lib")
|
||
"--with-tinyxml")
|
||
#:disallowed-references (,tzdata-for-tests)
|
||
#:phases (modify-phases %standard-phases
|
||
(add-after 'unpack 'unbundle
|
||
(lambda _
|
||
(delete-file-recursively "src/tinyxml")))
|
||
(add-before 'check 'check-setup
|
||
(lambda* (#:key inputs #:allow-other-keys)
|
||
(setenv "TZDIR" ; for src/test/datetime_tests.cpp
|
||
(search-input-directory inputs
|
||
"share/zoneinfo")))))))
|
||
(native-inputs
|
||
(list pkg-config tzdata-for-tests))
|
||
(inputs
|
||
(list boost
|
||
ftgl
|
||
glew
|
||
glm
|
||
glu
|
||
libpng
|
||
mesa
|
||
pcre2
|
||
(sdl-union (list sdl2 sdl2-image))
|
||
tinyxml))
|
||
(home-page "https://gource.io/")
|
||
(synopsis "3D visualisation tool for source control repositories")
|
||
(description "@code{gource} provides a software version control
|
||
visualization. The repository is displayed as a tree where the root of the
|
||
repository is the centre, directories are branches and files are leaves.
|
||
Contributors to the source code appear and disappear as they contribute to
|
||
specific files and directories.")
|
||
(license license:gpl3+)))
|
||
|
||
(define-public src
|
||
(package
|
||
(name "src")
|
||
(version "1.32")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://gitlab.com/esr/src.git/")
|
||
(commit version)))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0kxbmpjr98kfacjidizxcghl541fwnf8yzfvwfq5f9zbv42p8l41"))))
|
||
(build-system gnu-build-system)
|
||
(arguments
|
||
(list
|
||
#:make-flags
|
||
#~(list (string-append "prefix=" #$output))
|
||
#:phases
|
||
#~(modify-phases %standard-phases
|
||
(delete 'configure) ; no 'configure' script
|
||
(add-after 'install 'wrap-program
|
||
(lambda* (#:key inputs #:allow-other-keys)
|
||
(let* ((prog (string-append #$output "/bin/src"))
|
||
(rcs (search-input-file inputs "bin/rcs")))
|
||
(wrap-program prog
|
||
`("PATH" ":" prefix (,(dirname rcs)))))))
|
||
(replace 'check
|
||
(lambda* (#:key tests? #:allow-other-keys)
|
||
(when tests?
|
||
(setenv "HOME" (getenv "TMPDIR"))
|
||
(invoke "git" "config" "--global" "user.name" "guix")
|
||
(invoke "git" "config" "--global" "user.email" "guix")
|
||
(invoke "./srctest")))))))
|
||
(native-inputs
|
||
(list asciidoc
|
||
;; For testing.
|
||
git
|
||
perl))
|
||
(inputs
|
||
(list bash-minimal
|
||
cssc
|
||
python-wrapper
|
||
rcs))
|
||
(synopsis "Simple revision control")
|
||
(home-page "http://www.catb.org/~esr/src/")
|
||
(description
|
||
"SRC (or src) is simple revision control, a version-control system for
|
||
single-file projects by solo developers and authors. It modernizes the
|
||
venerable RCS, hence the anagrammatic acronym. The design is tuned for use
|
||
cases like all those little scripts in your @file{~/bin} directory, or a
|
||
directory full of HOWTOs.")
|
||
(license license:bsd-2)))
|
||
|
||
(define-public git-when-merged
|
||
;; Use an unreleased version to get a PY3 compatibility fix.
|
||
(let ((commit "ab6af7865a0ba55ba364a6c507e0be6f84f31c6d"))
|
||
(package
|
||
(name "git-when-merged")
|
||
(version (string-append "1.2.0-" (string-take commit 7)))
|
||
(source (origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/mhagger/git-when-merged/")
|
||
(commit commit)))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32
|
||
"0iyk2psf97bc9h43m89p3xjmm79fsx99i7px29g4lcnmdy5kmz0p"))))
|
||
(build-system gnu-build-system)
|
||
(arguments
|
||
`(#:tests? #f ; there are no tests
|
||
#:phases
|
||
(modify-phases %standard-phases
|
||
(delete 'configure)
|
||
(delete 'build)
|
||
(replace 'install
|
||
(lambda* (#:key outputs #:allow-other-keys)
|
||
(install-file "bin/git-when-merged"
|
||
(string-append (assoc-ref outputs "out")
|
||
"/bin"))))
|
||
(add-before 'install 'patch-git
|
||
(lambda* (#:key inputs #:allow-other-keys)
|
||
(let ((git (search-input-file inputs "/bin/git")))
|
||
(substitute* "bin/git-when-merged"
|
||
(("'git'") (string-append "'" git "'"))))))
|
||
(add-after 'install 'wrap-script
|
||
(lambda* (#:key outputs #:allow-other-keys)
|
||
(wrap-program (string-append (assoc-ref outputs "out")
|
||
"/bin/git-when-merged")
|
||
`("GUIX_PYTHONPATH" ":" prefix
|
||
(,(getenv "GUIX_PYTHONPATH")))))))))
|
||
(inputs (list bash-minimal git python-wrapper))
|
||
(home-page "https://github.com/mhagger/git-when-merged")
|
||
(synopsis "Determine when a commit was merged into a Git branch")
|
||
(description "This Git extension defines a subcommand,
|
||
@code{when-merged}, whose core operation is to find the merge that brought a
|
||
given commit into the specified ref(s). It has various options that control
|
||
how information about the merge is displayed.")
|
||
(license license:gpl2+))))
|
||
|
||
(define-public git-imerge
|
||
(package
|
||
(name "git-imerge")
|
||
(version "1.1.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/mhagger/git-imerge")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0vi1w3f0yk4gqhxj2hzqafqq28rihyhyfnp8x7xzib96j2si14a4"))))
|
||
(build-system gnu-build-system)
|
||
(arguments
|
||
`(#:tests? #f ; only manual test scripts
|
||
#:make-flags (list (string-append "DESTDIR=" %output)
|
||
"PREFIX=")
|
||
#:phases
|
||
(modify-phases %standard-phases
|
||
(delete 'configure)
|
||
(add-before 'install 'patch-git
|
||
(lambda* (#:key inputs #:allow-other-keys)
|
||
(let ((git (search-input-file inputs "/bin/git")))
|
||
(substitute* "git-imerge"
|
||
(("'git'") (string-append "'" git "'"))))))
|
||
(add-after 'install 'wrap-script
|
||
(lambda* (#:key outputs #:allow-other-keys)
|
||
(wrap-program (string-append (assoc-ref outputs "out")
|
||
"/bin/git-imerge")
|
||
`("GUIX_PYTHONPATH" ":" prefix
|
||
(,(getenv "GUIX_PYTHONPATH")))))))))
|
||
(inputs (list bash-minimal git python-wrapper))
|
||
(home-page "https://github.com/mhagger/git-imerge")
|
||
(synopsis "Incremental merge for Git")
|
||
(description "This Git extension defines a subcommand, @code{imerge},
|
||
which performs an incremental merge between two branches. Its two primary
|
||
design goals are to reduce the pain of resolving merge conflicts by finding
|
||
the smallest possible conflicts and to allow a merge to be saved, tested,
|
||
interrupted, published, and collaborated on while in progress.")
|
||
(license license:gpl2+)))
|
||
|
||
(define-public go-github-com-git-lfs-wildmatch-v2
|
||
(package
|
||
(name "go-github-com-git-lfs-wildmatch-v2")
|
||
(version "2.0.1")
|
||
(source (origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/git-lfs/wildmatch")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32
|
||
"0yg6d77d5l6v7cd8vr00y68z9aqb8qs4lidv0hkqh4fvz0ggvpln"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
'(#:import-path "github.com/git-lfs/wildmatch/v2"))
|
||
(home-page "https://github.com/git-lfs/wildmatch")
|
||
(synopsis "Go implementation of Git's wildmatch")
|
||
(description
|
||
"This package is an implementation of Git's wildmatch.c-style pattern
|
||
matching.")
|
||
(license license:expat)))
|
||
|
||
(define-public go-github-com-git-lfs-gitobj-v2
|
||
(package
|
||
(name "go-github-com-git-lfs-gitobj-v2")
|
||
(version "2.1.1")
|
||
(source (origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/git-lfs/gitobj")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32
|
||
"1sd7y4xbx00js1g2az4nq8g5lvsm4d7nqr3v4kxy8fxrfzdm63j9"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
'(#:import-path "github.com/git-lfs/gitobj/v2"))
|
||
(propagated-inputs (list go-github-com-stretchr-testify
|
||
go-github-com-pmezard-go-difflib
|
||
go-github-com-davecgh-go-spew))
|
||
(home-page "https://github.com/git-lfs/gitobj")
|
||
(synopsis "Read and write git objects")
|
||
(description
|
||
"This package reads and writes loose and packed (objects found in git
|
||
packfiles) Git objects. It uses the pack package to search pack index files
|
||
and locate the corresponding delta-base chain in the appropriate pack file.
|
||
If gitobj can't find a loose object with the appropriate SHA-1, it will search
|
||
the repository's packfile(s) instead. If it finds an object in a packfile, it
|
||
will reconstruct the object along its delta-base chain and return it.")
|
||
(license license:expat)))
|
||
|
||
(define-public git-lfs
|
||
(package
|
||
(name "git-lfs")
|
||
(version "3.7.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/git-lfs/git-lfs")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1wxx7i29n4gk8s78xq4hacc1ylwi6bq4b6y2bjx8fs9p7z4awnqh"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:embed-files #~(list "children" "nodes" "text")
|
||
#:import-path "github.com/git-lfs/git-lfs/v3"
|
||
#:install-source? #f
|
||
#:test-flags #~(list "-skip" "TestHistoryRewriterUpdatesRefs")
|
||
#:phases
|
||
#~(modify-phases %standard-phases
|
||
(add-after 'unpack 'patch-/bin/sh
|
||
(lambda* (#:key inputs #:allow-other-keys)
|
||
(substitute* "src/github.com/git-lfs/git-lfs/v3/lfs/hook.go"
|
||
(("/bin/sh")
|
||
(search-input-file inputs "bin/sh")))))
|
||
;; Only build the man pages if ruby-asciidoctor is available.
|
||
#$@(if (this-package-native-input "ruby-asciidoctor")
|
||
#~((add-before 'build 'man-gen
|
||
;; Without this, the binary generated in 'build
|
||
;; phase won't have any embedded usage-text.
|
||
(lambda _
|
||
(with-directory-excursion "src/github.com/git-lfs/git-lfs/v3"
|
||
(invoke "make" "mangen"))))
|
||
(add-after 'build 'build-man-pages
|
||
(lambda _
|
||
(with-directory-excursion "src/github.com/git-lfs/git-lfs/v3"
|
||
(invoke "make" "man"))))
|
||
(add-after 'install 'install-man-pages
|
||
(lambda* (#:key outputs #:allow-other-keys)
|
||
(with-directory-excursion "src/github.com/git-lfs/git-lfs/v3/man"
|
||
(for-each
|
||
(lambda (manpage)
|
||
(install-file manpage
|
||
(string-append #$output "/share/man/man1")))
|
||
(find-files "." "^git-lfs.*\\.1$"))))))
|
||
#~()))))
|
||
(native-inputs
|
||
(append (list git-minimal
|
||
go-github-com-avast-retry-go
|
||
go-github-com-dpotapov-go-spnego
|
||
go-github-com-git-lfs-gitobj-v2
|
||
go-github-com-git-lfs-go-netrc
|
||
go-github-com-git-lfs-pktline
|
||
go-github-com-git-lfs-wildmatch-v2
|
||
go-github-com-golang-groupcache
|
||
go-github-com-jmhodges-clock
|
||
go-github-com-leonelquinteros-gotext
|
||
go-github-com-mattn-go-isatty
|
||
go-github-com-olekukonko-ts
|
||
go-github-com-pkg-errors
|
||
go-github-com-rubyist-tracerx
|
||
go-github-com-spf13-cobra
|
||
go-github-com-ssgelm-cookiejarparser
|
||
go-github-com-stretchr-testify
|
||
go-github-com-xeipuuv-gojsonschema
|
||
go-golang-org-x-net
|
||
go-golang-org-x-sync
|
||
go-golang-org-x-sys)
|
||
;; make `ronn` available during build for man page generation
|
||
(if (supported-package? ruby-asciidoctor/minimal)
|
||
(list ronn-ng ruby-asciidoctor/minimal)
|
||
'())))
|
||
(home-page "https://git-lfs.github.com/")
|
||
(synopsis "Git extension for versioning large files")
|
||
(description
|
||
"Git Large File Storage (LFS) replaces large files such as audio samples,
|
||
videos, datasets, and graphics with text pointers inside Git, while storing the
|
||
file contents on a remote server.")
|
||
(license license:expat)))
|
||
|
||
(define-public lfs-s3
|
||
(package
|
||
(name "lfs-s3")
|
||
(version "0.1.5")
|
||
(source (origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://git.sr.ht/~ngraves/lfs-s3")
|
||
(commit version)))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32
|
||
"0yilbxpia2lh36s872hiji77hazy83h2zc0iyqldrf3r18szqniw"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:go go-1.23
|
||
#:import-path "git.sr.ht/~ngraves/lfs-s3"))
|
||
(inputs (list git-lfs))
|
||
(propagated-inputs
|
||
(list go-github-com-aws-aws-sdk-go-v2
|
||
go-github-com-aws-aws-sdk-go-v2-config
|
||
go-github-com-aws-aws-sdk-go-v2-feature-s3-manager
|
||
go-github-com-aws-aws-sdk-go-v2-service-s3))
|
||
(home-page "https://git.sr.ht/~ngraves/lfs-s3/")
|
||
(synopsis "Git extension for versioning large files in S3")
|
||
(description
|
||
"This package provides a custom transfer agent for Git LFS, allowing
|
||
plain S3 bucket usage as remote storage for media files. This package uses a
|
||
standalone agent instead of a server.")
|
||
(license license:expat)))
|
||
|
||
(define-public git-open
|
||
(package
|
||
(name "git-open")
|
||
(version "2.1.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/paulirish/git-open")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "11n46bngvca5wbdbfcxzjhjbfdbad7sgf7h9gf956cb1q8swsdm0"))))
|
||
(build-system copy-build-system)
|
||
(inputs
|
||
(list bash-minimal xdg-utils))
|
||
(arguments
|
||
`(#:phases
|
||
(modify-phases %standard-phases
|
||
(add-after 'install 'wrap-program
|
||
(lambda* (#:key outputs inputs #:allow-other-keys)
|
||
(let ((out (assoc-ref outputs "out"))
|
||
(xdg-utils (assoc-ref inputs "xdg-utils")))
|
||
(wrap-program (string-append out "/bin/git-open")
|
||
`("PATH" ":" prefix (,(string-append xdg-utils "/bin"))))))))
|
||
#:install-plan
|
||
'(("git-open" "bin/git-open"))))
|
||
(home-page "https://github.com/paulirish/git-open")
|
||
(synopsis "Open a Git repository's homepage from the command-line")
|
||
(description
|
||
"@code{git open} opens the repository's website from the command-line,
|
||
guessing the URL pattern from the @code{origin} remote.")
|
||
(license license:expat)))
|
||
|
||
(define-public tla
|
||
(package
|
||
(name "gnu-arch")
|
||
(version "1.3.5")
|
||
(source (origin
|
||
(method url-fetch)
|
||
(uri (string-append "https://ftp.gnu.org/old-gnu/gnu-arch/"
|
||
"tla-" version ".tar.gz"))
|
||
(sha256
|
||
(base32
|
||
"01mfzj1i6p4s8191cgd5850hds1zls88hkf9rb6qx1vqjv585aj0"))
|
||
(modules '((guix build utils)))
|
||
(snippet
|
||
'(begin
|
||
;; In tar 1.32, '--preserve' is ambiguous and leads to an
|
||
;; error, so address that.
|
||
(substitute* "src/tla/libarch/archive.c"
|
||
(("\"--preserve\"")
|
||
"\"--preserve-permissions\""))
|
||
#t))))
|
||
(build-system gnu-build-system)
|
||
(arguments
|
||
'(#:phases (modify-phases %standard-phases
|
||
(replace 'configure
|
||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||
(let ((out (assoc-ref outputs "out")))
|
||
(chdir "src")
|
||
|
||
(mkdir "=build")
|
||
(chdir "=build")
|
||
|
||
;; For libneon's 'configure' script.
|
||
;; XXX: There's a bundled copy of neon.
|
||
(setenv "CONFIG_SHELL" (which "sh"))
|
||
|
||
(invoke "../configure" "--prefix" out
|
||
"--config-shell" (which "sh")
|
||
"--with-posix-shell" (which "sh")
|
||
"--with-cc" "gcc")))))
|
||
|
||
|
||
;; There are build failures when building in parallel.
|
||
#:parallel-build? #f
|
||
#:parallel-tests? #f
|
||
|
||
#:test-target "test"))
|
||
(native-inputs
|
||
(list which))
|
||
(synopsis "Historical distributed version-control system")
|
||
(description
|
||
"GNU Arch, aka. @code{tla}, was one of the first free distributed
|
||
version-control systems (DVCS). It saw its last release in 2006. This
|
||
package is provided for users who need to recover @code{tla} repositories and
|
||
for historians.")
|
||
(home-page "https://www.gnu.org/software/gnu-arch/")
|
||
(license license:gpl2))) ;version 2 only
|
||
|
||
(define-public diff-so-fancy
|
||
(package
|
||
(name "diff-so-fancy")
|
||
(version "1.4.4")
|
||
(source (origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/so-fancy/diff-so-fancy")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32
|
||
"0ck9v9dc9zm3wr1vdq96zwvv9szsbimyxvnd76q5l4vcb4iqnpy8"))))
|
||
(inputs
|
||
(list bash-minimal perl ncurses))
|
||
(build-system copy-build-system)
|
||
(arguments
|
||
'(#:phases
|
||
(modify-phases %standard-phases
|
||
(add-after 'unpack 'patch-lib-path
|
||
(lambda* (#:key outputs #:allow-other-keys)
|
||
(let ((lib (string-append (assoc-ref outputs "out") "/lib")))
|
||
(substitute* "diff-so-fancy"
|
||
(("use lib.*$")
|
||
(string-append "use lib '" lib "';\n"))))))
|
||
(add-after 'install 'symlink-executable
|
||
(lambda* (#:key outputs inputs #:allow-other-keys)
|
||
(let ((out (assoc-ref outputs "out"))
|
||
(ncurses (assoc-ref inputs "ncurses"))
|
||
(perl (assoc-ref inputs "perl")))
|
||
(wrap-program (string-append out "/bin/diff-so-fancy")
|
||
`("PATH" ":" prefix (,(string-append ncurses "/bin")
|
||
,(string-append perl "/bin"))))))))
|
||
#:install-plan
|
||
'(("lib" "lib")
|
||
("diff-so-fancy" "bin/"))))
|
||
(home-page "https://github.com/so-fancy/diff-so-fancy")
|
||
(synopsis "Makes diffs more human friendly and readable")
|
||
(description
|
||
"@code{diff-so-fancy} strives to make your diffs human readable instead
|
||
of machine readable. This helps improve code quality and helps you spot
|
||
defects faster.")
|
||
(license license:expat)))
|
||
|
||
(define-public gita
|
||
(package
|
||
(name "gita")
|
||
(version "0.16.7.2")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/nosarthur/gita")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "118dzmjgml0c32yllr2178ash2hvgn201i463bv4y0qbywajm9ax"))))
|
||
(build-system pyproject-build-system)
|
||
(arguments
|
||
(list
|
||
#:test-flags #~(list "--ignore" "tests/test_main.py")
|
||
#:phases
|
||
#~(modify-phases %standard-phases
|
||
(add-before 'check 'pre-check
|
||
(lambda _
|
||
(invoke (string-append
|
||
#$(this-package-native-input "git-minimal") "/bin/git")
|
||
"init")))
|
||
(add-after 'install 'install-shell-completions
|
||
(lambda _
|
||
(let* ((out #$output)
|
||
(bash-completion (string-append out "/etc/bash_completion.d"))
|
||
(zsh-completion (string-append out "/etc/zsh/site-functions")))
|
||
(mkdir-p bash-completion)
|
||
(copy-file "auto-completion/bash/.gita-completion.bash"
|
||
(string-append bash-completion "/gita"))
|
||
(mkdir-p zsh-completion)
|
||
(copy-file "auto-completion/zsh/.gita-completion.zsh"
|
||
(string-append zsh-completion "/_gita"))))))))
|
||
(native-inputs
|
||
(list git-minimal/pinned ;for tests
|
||
python-pytest
|
||
python-setuptools
|
||
python-wheel))
|
||
(propagated-inputs
|
||
(list python-argcomplete))
|
||
(home-page "https://github.com/nosarthur/gita")
|
||
(synopsis "Command-line tool to manage multiple Git repos")
|
||
(description "This package provides a command-line tool to manage
|
||
multiple Git repos.
|
||
|
||
This tool does two things:
|
||
@itemize
|
||
@item display the status of multiple Git repos such as branch, modification,
|
||
commit message side by side
|
||
@item (batch) delegate Git commands/aliases from any working directory
|
||
@end itemize
|
||
|
||
If several repos are related, it helps to see their status together.")
|
||
(license license:expat)))
|
||
|
||
(define-public ghq
|
||
(package
|
||
(name "ghq")
|
||
(version "1.7.1")
|
||
(home-page "https://github.com/x-motemen/ghq")
|
||
(source (origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url home-page)
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32
|
||
"0ai3klp3fm5r0idnml5pm55wcvkav3w0s11snlmr0ab1ki8m9sg5"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:install-source? #f
|
||
#:import-path "github.com/x-motemen/ghq"
|
||
#:phases
|
||
#~(modify-phases %standard-phases
|
||
(add-after 'install 'install-completions
|
||
(lambda* (#:key outputs import-path #:allow-other-keys)
|
||
(let* ((out #$output)
|
||
(bash-completion (string-append out "/etc/bash_completion.d"))
|
||
(zsh-completion (string-append out "/share/zsh/site-functions")))
|
||
(with-directory-excursion (string-append "src/" import-path)
|
||
(mkdir-p bash-completion)
|
||
(copy-file "misc/bash/_ghq"
|
||
(string-append bash-completion "/ghq"))
|
||
(mkdir-p zsh-completion)
|
||
(copy-file "misc/zsh/_ghq"
|
||
(string-append zsh-completion "/_ghq")))))))))
|
||
(native-inputs
|
||
(list git-minimal))
|
||
(inputs
|
||
(list go-github-com-mattn-go-isatty
|
||
go-github-com-motemen-go-colorine
|
||
go-github-com-saracen-walker
|
||
go-github-com-songmu-gitconfig
|
||
go-github-com-urfave-cli-v2
|
||
go-golang-org-x-net
|
||
go-golang-org-x-sync
|
||
go-golang-org-x-text))
|
||
(synopsis "Manage remote repository clones")
|
||
(description
|
||
"@code{ghq} provides a way to organize remote repository clones, like
|
||
@code{go get} does. When you clone a remote repository by @code{ghq get}, ghq
|
||
makes a directory under a specific root directory (by default @file{~/ghq})
|
||
using the remote repository URL's host and path.")
|
||
(license license:expat)))
|
||
|
||
(define-public tkrev
|
||
(package
|
||
(name "tkrev")
|
||
(version "9.4.1")
|
||
(source
|
||
(origin
|
||
(method url-fetch)
|
||
(uri (string-append
|
||
"mirror://sourceforge/tkcvs/tkrev_" version ".tar.gz"))
|
||
(sha256
|
||
(base32 "0bpfbhkngzmwy476mfc69mkd94l0m2wxznrn0qzd81s450yxjw2q"))))
|
||
(build-system gnu-build-system)
|
||
(arguments
|
||
`(#:phases
|
||
(modify-phases %standard-phases
|
||
(delete 'configure)
|
||
(delete 'build)
|
||
(replace 'install
|
||
(lambda* (#:key outputs #:allow-other-keys)
|
||
(let* ((out (assoc-ref outputs "out"))
|
||
(bin (string-append out "/bin")))
|
||
(invoke "wish" "doinstall.tcl" "-nox" out)
|
||
(install-file "contrib/tkdirdiff" bin))))
|
||
(add-after 'install 'wrap-programs
|
||
(lambda* (#:key outputs #:allow-other-keys)
|
||
(for-each
|
||
(lambda (file)
|
||
(wrap-program (string-append (assoc-ref outputs "out")
|
||
"/bin/" file)
|
||
`("PATH" ":" prefix (,(dirname (which "wish"))))))
|
||
'("tkdiff"
|
||
"tkdirdiff"
|
||
"tkrev")))))
|
||
#:tests? #f))
|
||
(inputs
|
||
(list bash-minimal tk))
|
||
(home-page "https://tkcvs.sourceforge.io")
|
||
(synopsis "Graphical interface to CVS, Subversion, Git, and RCS")
|
||
(description
|
||
"TkRev (formerly TkCVS) is a Tcl/Tk-based graphical interface to the CVS,
|
||
Subversion and Git configuration management systems. It will also help with
|
||
RCS. It shows the status of the files in the current working directory, and
|
||
has tools for tagging, merging, checking in/out, and other user operations.
|
||
TkDiff is included for browsing and merging your changes.")
|
||
(license license:gpl2+)))
|
||
|
||
(define-public qgit
|
||
(package
|
||
(name "qgit")
|
||
(version "2.12")
|
||
(source (origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/tibirna/qgit")
|
||
(commit (string-append "qgit-" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32
|
||
"16gy1xyn4xa3bjziphcdixbf6qv3bcs81z2k9j6biwpzs1ingkdb"))
|
||
;; TODO: Remove this patch in the next update since it is fixed
|
||
;; in the next commit.
|
||
(patches
|
||
(search-patches "qgit-2.12-fix-search-style.patch"))))
|
||
(build-system qt-build-system)
|
||
(arguments
|
||
(list #:qtbase qtbase
|
||
#:tests? #f)) ;no tests
|
||
(propagated-inputs
|
||
(list git))
|
||
(inputs
|
||
(list qt5compat
|
||
qtwayland))
|
||
(home-page "https://github.com/tibirna/qgit")
|
||
(synopsis "Graphical front-end for git")
|
||
(description
|
||
"Qgit is a graphical front-end for git, with features to:
|
||
@itemize
|
||
@item view revisions, diffs, files history, files annotation and archive tree,
|
||
@item commit changes visually cherry picking modified files,
|
||
@item apply or save patch series from selected commits, drag and drop commits,
|
||
@item associate commands sequences, scripts and anything else executable to a
|
||
custom action,
|
||
@item push/pop commits,
|
||
@item apply/save/create patches
|
||
@item and cherry pick single modified files.
|
||
@end itemize")
|
||
(license license:gpl3+)))
|
||
|
||
(define-public git-filter-repo
|
||
(package
|
||
(name "git-filter-repo")
|
||
(version "2.45.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/newren/git-filter-repo")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32
|
||
"03sjxscj7pkldvwcvlqi6k79rcxkd2fyy1rjvpwyp4jgni5kddkx"))
|
||
;; TODO: Remove when updating to 2.47.0.
|
||
(modules '((guix build utils)))
|
||
(snippet
|
||
#~(substitute* "t/t9390-filter-repo.sh"
|
||
(("(test_expect_success) ('--version')" _ prefix suffix)
|
||
(string-append prefix " IN_FILTER_REPO_CLONE " suffix))))
|
||
;; Modified from <https://github.com/newren/git-filter-repo/pull/477>.
|
||
;; Used with 'unpack-git-source phase.
|
||
(patches (search-patches "git-filter-repo-generate-doc.patch"))))
|
||
(build-system gnu-build-system)
|
||
(arguments
|
||
(list
|
||
#:imported-modules
|
||
`(,@%default-gnu-imported-modules
|
||
(guix build python-build-system))
|
||
#:modules
|
||
'((guix build gnu-build-system)
|
||
((guix build python-build-system) #:select (site-packages))
|
||
(guix build utils)
|
||
(srfi srfi-26))
|
||
#:make-flags
|
||
#~(list (string-append "prefix=" #$output)
|
||
(string-append "VERSION=" #$(package-version this-package)))
|
||
#:phases
|
||
#~(modify-phases %standard-phases
|
||
(delete 'configure)
|
||
(add-after 'unpack 'unpack-git-source
|
||
(lambda _
|
||
(let* ((old-path (getcwd))
|
||
(doc-source (string-append old-path "/Documentation")))
|
||
(mkdir-p "git-source")
|
||
(chdir "git-source")
|
||
((assoc-ref %standard-phases 'unpack)
|
||
#:source
|
||
#+(package-source (this-package-native-input "git-minimal")))
|
||
(for-each
|
||
(cut install-file <> doc-source)
|
||
(find-files "." "asciidoc\\.conf\\.in$|manpage.*\\.xsl$"))
|
||
;; These attributes are probably not needed.
|
||
(with-directory-excursion doc-source
|
||
(substitute* "asciidoc.conf.in"
|
||
(("@GIT_(VERSION|DATE)@") ""))
|
||
(rename-file "asciidoc.conf.in" "asciidoc.conf"))
|
||
(chdir old-path)
|
||
(delete-file-recursively "git-source"))))
|
||
(add-before 'build 'set-pythondir
|
||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||
(substitute* "Makefile"
|
||
(("(pythondir = ).*" _ pre)
|
||
(string-append pre (site-packages inputs outputs))))))
|
||
(replace 'build
|
||
(lambda* (#:key make-flags #:allow-other-keys)
|
||
(apply invoke "make" "doc" make-flags)))
|
||
(replace 'check
|
||
(lambda* (#:key tests? #:allow-other-keys)
|
||
(substitute* "t/t9391-filter-repo-lib-usage.sh"
|
||
(("/bin/bash") (which "bash")))
|
||
(when tests?
|
||
(invoke "t/run_tests")))))))
|
||
(native-inputs
|
||
(list asciidoc
|
||
docbook-xsl
|
||
git-minimal
|
||
libxml2 ;for XML_CATALOG_FILES
|
||
xmlto
|
||
perl
|
||
rsync))
|
||
(inputs (list python)) ;for the shebang
|
||
(home-page "https://github.com/newren/git-filter-repo")
|
||
(synopsis "Quickly rewrite Git repository history")
|
||
(description
|
||
"@command{git filter-repo} is a versatile tool for rewriting history,
|
||
which roughly falls into the same space of tool like git filter-branch but
|
||
with more capabilities. @command{git filter-repo} is now recommended by the
|
||
Git project instead of @command{git filter-branch}.")
|
||
(license (list license:expat ;; Main license.
|
||
license:gpl2)))) ;; For test harness.
|
||
|
||
(define-public gitlint
|
||
(package
|
||
(name "gitlint")
|
||
(version "0.17.0")
|
||
(source (origin
|
||
(method url-fetch)
|
||
;; the gitlint-core pypi package contains the actual gitlint
|
||
;; code; the gitlint package only pulls in gitlint-core with
|
||
;; stricter dependency versioning
|
||
(uri (pypi-uri "gitlint-core" version))
|
||
(sha256
|
||
(base32
|
||
"14cn89biys8r7mwcdgllv371k34km9k1941ylxf53a7sxwrzsbbp"))))
|
||
(build-system python-build-system)
|
||
(arguments
|
||
(list
|
||
#:phases
|
||
#~(modify-phases %standard-phases
|
||
(add-before 'build 'loosen-requirements
|
||
(lambda* (#:key inputs #:allow-other-keys)
|
||
(substitute* "gitlint/shell.py"
|
||
(("'git'") (string-append
|
||
"'"
|
||
(search-input-file inputs "bin/git")
|
||
"'"))
|
||
;; force using subprocess instead of sh so git does not need
|
||
;; to be a propagated input
|
||
(("if USE_SH_LIB") "if False")))))))
|
||
(inputs
|
||
(list git python-arrow python-click python-sh))
|
||
(home-page "https://jorisroovers.com/gitlint/")
|
||
(synopsis "Linting Git commit messages")
|
||
(description
|
||
"Gitlint is a Git commit message linter written in Python: it checks your
|
||
commit messages for style.")
|
||
(license license:expat)))
|
||
|
||
(define-public git-extras
|
||
(package
|
||
(name "git-extras")
|
||
(version "7.4.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/tj/git-extras")
|
||
(commit version)))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "1v5yp4qrv1vf2yrvysk706grw99bhn93613q5dz598b008w6c467"))))
|
||
(build-system gnu-build-system)
|
||
(arguments
|
||
(list
|
||
;; XXX: Tests require additional setup with Pytest, see
|
||
;; <.github/workflows/ci.yml>.
|
||
#:tests? #f
|
||
#:make-flags
|
||
#~(list (string-append "PREFIX=" #$output))
|
||
#:phases
|
||
#~(modify-phases %standard-phases
|
||
;; No configure script, build process, or tests.
|
||
(delete 'bootstrap)
|
||
(delete 'configure)
|
||
(delete 'build)
|
||
(delete 'check)
|
||
(add-after 'unpack 'hardcode-dependency-paths
|
||
(lambda* (#:key inputs #:allow-other-keys)
|
||
;; Write to and copy from temporary file to prevent
|
||
;; "make: bash: Argument list too long" errors.
|
||
(let* ((temp-file (mkstemp! "temp-file.XXXXXX"))
|
||
(temp-filename (port-filename temp-file)))
|
||
(map (lambda (name)
|
||
(format temp-file "export PATH=$PATH:~a/bin~%"
|
||
(assoc-ref inputs name)))
|
||
(list "coreutils-minimal"
|
||
"curl"
|
||
"findutils"
|
||
"gawk"
|
||
"less"
|
||
"ncurses"
|
||
"procps"
|
||
"rsync"
|
||
"sed"
|
||
"util-linux"))
|
||
;; The Makefile injects helper scripts and functions into each
|
||
;; script. This substitution injects a PATH appending the bin
|
||
;; directory of each non-propagated input in order to minimize
|
||
;; the number of packages propagated to the profile.
|
||
(substitute* "Makefile"
|
||
(("head -1 bin/\\$\\(COMMAND\\) > \\$\\(TEMPFILE\\); \\\\" line)
|
||
(string-append
|
||
line "\n"
|
||
"cat " temp-filename " >> $(TEMPFILE); \\")))))))))
|
||
(propagated-inputs (list git))
|
||
(inputs
|
||
(list coreutils-minimal
|
||
curl
|
||
findutils
|
||
gawk
|
||
less
|
||
ncurses
|
||
procps
|
||
rsync
|
||
sed
|
||
util-linux))
|
||
(home-page "https://github.com/tj/git-extras")
|
||
(synopsis "Additional Git utilities")
|
||
(description "The git-extras package provides a collection of additional
|
||
git commands for repository metrics and summarization, commit and log editing,
|
||
developer workflow, and project and release management.")
|
||
(license license:expat)))
|
||
|
||
(define-public hut
|
||
(package
|
||
(name "hut")
|
||
(version "0.7.0")
|
||
(source
|
||
(origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://git.sr.ht/~xenrox/hut")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32 "0scw4nvm3qpg7l6anhljkixn3g36k03ikg6pl0hs76a3wkf89km5"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
(list
|
||
#:go go-1.23
|
||
#:import-path "git.sr.ht/~xenrox/hut"
|
||
#:phases
|
||
#~(modify-phases %standard-phases
|
||
(replace 'build
|
||
(lambda* (#:key import-path #:allow-other-keys)
|
||
(with-directory-excursion (string-append "src/" import-path)
|
||
;; The flags are copied from (guix build go-build-system).
|
||
(setenv "CGO_LDFLAGS" "-s -w")
|
||
(invoke "make" "all" "GOFLAGS=-v -x"))))
|
||
(replace 'install
|
||
(lambda* (#:key import-path #:allow-other-keys)
|
||
(with-directory-excursion (string-append "src/" import-path)
|
||
(invoke "make" "install"
|
||
(string-append "PREFIX=" #$output))))))))
|
||
(native-inputs
|
||
(list scdoc))
|
||
(inputs
|
||
(list go-codeberg-org-emersion-go-scfg
|
||
go-git-sr-ht-emersion-gqlclient
|
||
go-github-com-dustin-go-humanize
|
||
go-github-com-google-shlex
|
||
go-github-com-juju-ansiterm
|
||
go-github-com-spf13-cobra
|
||
go-golang-org-x-term))
|
||
(home-page "https://git.sr.ht/~xenrox/hut")
|
||
(synopsis "CLI tool for sr.ht")
|
||
(description "@command{hut} is a CLI tool for
|
||
@uref{https://sr.ht/~sircmpwn/sourcehut/, sr.ht}. It helps you interact with
|
||
sr.ht's public services:
|
||
@table @asis
|
||
@item builds
|
||
submit and manage build jobs
|
||
@item git
|
||
create, and manage git repositories and artifacts
|
||
@item hg
|
||
list Mercurial repositories
|
||
@item lists
|
||
manage mailing lists and patches
|
||
@item meta
|
||
manage PGP, and SSH keys
|
||
@item pages
|
||
publish and manage hosted websites
|
||
@item paste
|
||
create and manage pastes
|
||
@item todo
|
||
create and manage trackers, tickets
|
||
@item graphql
|
||
interact with GraphQL APIs directly
|
||
@end table")
|
||
(license license:agpl3)))
|
||
|
||
(define-public commit-patch
|
||
(package
|
||
(name "commit-patch")
|
||
(version "2.6.2")
|
||
(source (origin
|
||
(method url-fetch)
|
||
(uri (string-append
|
||
"https://github.com/caldwell/commit-patch/releases/download/"
|
||
version "/commit-patch-" version ".tar.gz"))
|
||
(sha256
|
||
(base32
|
||
"0v11vjyisk243zi0ym90bnqb229j7iaqx1lwqdkszxzn1yxwq4ck"))))
|
||
(build-system copy-build-system)
|
||
(arguments
|
||
(list #:phases #~(modify-phases %standard-phases
|
||
(add-after 'unpack 'fix-paths
|
||
(lambda* (#:key inputs #:allow-other-keys)
|
||
(patch-shebang "commit-patch"))))
|
||
#:install-plan ''(("commit-patch" "bin/")
|
||
("commit-patch-buffer.el"
|
||
"share/emacs/site-lisp/"))))
|
||
(inputs (list perl))
|
||
(propagated-inputs (list patchutils))
|
||
(synopsis "Commit parts of changes to VCS repositories")
|
||
(description
|
||
"commit-patch is a utility that lets you check in select portions of a
|
||
file into Darcs, Git, Mercurial, Bazaar, Subversion, or CVS repositories. It
|
||
comes as a command line app and also an Emacs interface.")
|
||
(home-page "https://porkrind.org/commit-patch/")
|
||
(license license:gpl2+)))
|
||
|
||
(define-public git-sizer
|
||
(package
|
||
(name "git-sizer")
|
||
(version "1.5.0")
|
||
(source (origin
|
||
(method git-fetch)
|
||
(uri (git-reference
|
||
(url "https://github.com/github/git-sizer")
|
||
(commit (string-append "v" version))))
|
||
(file-name (git-file-name name version))
|
||
(sha256
|
||
(base32
|
||
"1b4sl4djnfaxwph41y4bh9yal4bpd1nz4403ryp7nzna7h2x0zis"))))
|
||
(build-system go-build-system)
|
||
(arguments
|
||
'(#:import-path "github.com/github/git-sizer"
|
||
#:install-source? #f
|
||
#:phases
|
||
(modify-phases %standard-phases
|
||
(add-after 'unpack 'fix-paths
|
||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||
(substitute* '("src/github.com/github/git-sizer/git/git.go")
|
||
(("gitBin, err := findGitBin\\(\\)")
|
||
(string-append "gitBin := \""
|
||
(search-input-file inputs "bin/git")
|
||
"\"\n\tvar err error")))
|
||
(substitute* '("src/github.com/github/git-sizer/git_sizer_test.go")
|
||
(("bin/git-sizer")
|
||
(string-append (assoc-ref outputs "out")
|
||
"/bin/git-sizer")))))
|
||
(replace 'check
|
||
(lambda* (#:key tests? import-path #:allow-other-keys)
|
||
(when tests?
|
||
(for-each (lambda (test)
|
||
(invoke "go" "test" "-v" "-run" test import-path))
|
||
;; TestExec and TestSubmodule require a copy of the
|
||
;; Git repository.
|
||
'("TestBomb" "TestFromSubdir" "TestRefgroups"
|
||
"TestRefSelections" "TestTaggedTags"))))))))
|
||
(inputs (list git-minimal/pinned))
|
||
(propagated-inputs
|
||
(list go-github-com-cli-safeexec
|
||
go-github-com-davecgh-go-spew
|
||
go-github-com-pmezard-go-difflib
|
||
go-github-com-spf13-pflag
|
||
go-github-com-stretchr-testify
|
||
go-go-uber-org-goleak
|
||
go-golang-org-x-sync
|
||
go-gopkg-in-yaml-v3))
|
||
(home-page "https://github.com/github/git-sizer")
|
||
(synopsis "Analyze size of a Git repo")
|
||
(description "Compute various size metrics for a Git repository, flagging
|
||
those that might cause problems or inconvenience.")
|
||
(license license:expat)))
|
||
|
||
;;;
|
||
;;; Avoid adding new packages to the end of this file. To reduce the chances
|
||
;;; of a merge conflict, place them above by existing packages with similar
|
||
;;; functionality or similar names.
|
||
;;;
|