unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Maxime Devos <maximedevos@telenet.be>
To: mecqor labi <mecqorlabi@gmail.com>
Cc: guix-devel@gnu.org
Subject: Re: Packaging
Date: Sun, 28 Mar 2021 12:43:59 +0200	[thread overview]
Message-ID: <d3bbb3d56b050f0c80c3c837a9b34f8097a3a080.camel@telenet.be> (raw)
In-Reply-To: <CAGxZdwJ1=X8+JP5WetApL4p_6ACDhgFje7SO7wOwLgO_BVe0VA@mail.gmail.com>


[-- Attachment #1.1: Type: text/plain, Size: 744 bytes --]

Please keep guix-devel@gnu.org in CC: or To:.

On Sun, 2021-03-28 at 10:18 +0000, mecqor labi wrote:
> Thanks for your help,
> The Shadowsocks package does not work in Guix at all, and this has been reported over the developers of Guix, but it has never been solved.
> About Tor, this is not what I want, speed of the program is very slow, I have problem in upload files and other ...
> 
> [...]

Guix has a package importer for rust crates:
  "guix import crate shadowsocks"

I imported the shadowsocks crate and some dependencies (see attachment).
(To build: "guix build -f d.scm")  Some dependencies are still missing,
but I hope this is enough to get you started with writing the package
definition.

Greetings,
Maxime


[-- Attachment #1.2: d.scm --]
[-- Type: text/x-scheme, Size: 7883 bytes --]

(use-modules (gnu packages crates-io)
            ((guix licenses) #:prefix license:)
             (guix build-system cargo)
             (guix packages)
             (guix download)
             (guix git-download))

(define-public rust-spin-0.9
  (package
    (name "rust-spin")
    (version "0.9.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "spin" version))
        (file-name
          (string-append name "-" version ".tar.gz"))
        (sha256
          (base32
            "0y2406b02rkn1p1mfcb9vn6mxy1nb222k2gfq5b2lcw1rfcbyyxq"))))
    (build-system cargo-build-system)
    (arguments
      `(#:cargo-inputs
        (("rust-lock-api" ,rust-lock-api-0.4))))
    (home-page
      "https://github.com/mvdnes/spin-rs.git")
    (synopsis
      "Spin-based synchronization primitives")
    (description
      "Spin-based synchronization primitives")
    (license license:expat)))

(define-public rust-notify-5
  (package
    (name "rust-notify")
    (version "5.0.0-pre.6")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "notify" version))
        (file-name
          (string-append name "-" version ".tar.gz"))
        (sha256
          (base32
            "1hzlm8lscdbrd2gsniikqv4cv0g0w10yfpp61b0bkv9l6jwq5zg5"))))
    (build-system cargo-build-system)
    (arguments
      `(#:cargo-inputs
        (("rust-anymap" ,rust-anymap-0.12)
         ("rust-bitflags" ,rust-bitflags-1)
         ("rust-crossbeam-channel"
          ,rust-crossbeam-channel-0.5)
         ("rust-filetime" ,rust-filetime-0.2)
         ("rust-fsevent" ,rust-fsevent-2)
         ("rust-fsevent-sys" ,rust-fsevent-sys-3)
         ("rust-inotify" ,rust-inotify-0.9)
         ("rust-libc" ,rust-libc-0.2)
         ("rust-mio" ,rust-mio-0.7)
         ("rust-serde" ,rust-serde-1)
         ("rust-walkdir" ,rust-walkdir-2)
         ("rust-winapi" ,rust-winapi-0.3))
        #:cargo-development-inputs
        (("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://github.com/notify-rs/notify")
    (synopsis
      "Cross-platform filesystem notification library")
    (description
      "Cross-platform filesystem notification library")
    (license license:cc0)))

(define-public rust-nix-0.20
  (package
    (name "rust-nix")
    (version "0.20.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "nix" version))
        (file-name
          (string-append name "-" version ".tar.gz"))
        (sha256
          (base32
            "12n1syfd967hblrcrrqk63a4s1h4hsybfqwblh71rihvv8cli6zs"))))
    (build-system cargo-build-system)
    (arguments
      `(#:cargo-inputs
        (("rust-bitflags" ,rust-bitflags-1)
         ("rust-cc" ,rust-cc-1)
         ("rust-cfg-if" ,rust-cfg-if-1)
         ("rust-libc" ,rust-libc-0.2))
        #:cargo-development-inputs
        (("rust-bytes" ,rust-bytes-0.4)
         ;; TODO update to 0.5
         ("rust-caps" ,rust-caps-0.3)
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-rand" ,rust-rand-0.6)
         ("rust-semver" ,rust-semver-0.9)
         ("rust-sysctl" ,rust-sysctl-0.1)
         ("rust-tempfile" ,rust-tempfile-3))))
    (home-page "https://github.com/nix-rust/nix")
    (synopsis "Rust friendly bindings to *nix APIs")
    (description
      "Rust friendly bindings to *nix APIs")
    (license license:expat)))

(define-public rust-byte-string-1
  (package
    (name "rust-byte-string")
    (version "1.0.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "byte-string" version))
        (file-name
          (string-append name "-" version ".tar.gz"))
        (sha256
          (base32
            "1vdll2i5gdx98d3wqbrq8c2l61jqqhzlri7d3hskm35a0mxdxahi"))))
    (build-system cargo-build-system)
    (home-page
      "https://github.com/FraGag/byte_string")
    (synopsis
      "Wrapper types for outputting byte strings (b\"Hello\") using the Debug ({:?}) format.")
    (description
      "Wrapper types for outputting byte strings (b\"Hello\") using the Debug ({:?}) format.")
    (license (list license:expat license:asl2.0))))

(define-public rust-bloomfilter-1
  (package
    (name "rust-bloomfilter")
    (version "1.0.5")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "bloomfilter" version))
        (file-name
          (string-append name "-" version ".tar.gz"))
        (sha256
          (base32
            "1d352wzl3pwpwxixjh8b8v4sqaglgkzp0rfv1q068c8piddfizqw"))))
    (build-system cargo-build-system)
    (arguments
      `(#:cargo-inputs
        ;; TODO update to 0.6
        (("rust-bit-vec" ,rust-bit-vec-0.5)
         ("rust-rand" ,rust-rand-0.8)
         ("rust-siphasher" ,rust-siphasher-0.3))))
    (home-page
      "https://github.com/jedisct1/rust-bloom-filter")
    (synopsis "Bloom filter implementation")
    (description "Bloom filter implementation")
    (license license:isc)))

(define-public rust-shadowsocks-crypto-0.2
  (package
    (name "rust-shadowsocks-crypto")
    (version "0.2.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "shadowsocks-crypto" version))
        (file-name
          (string-append name "-" version ".tar.gz"))
        (sha256
          (base32
            "0l42dagy8gkwasr5ras4yiy1h9dp6f461pichqmzf7wsl97m1axx"))))
    (build-system cargo-build-system)
    (arguments
      `(#:cargo-inputs
        (("rust-crypto2" ,rust-crypto2-0.1)
         ("rust-rand" ,rust-rand-0.8)
         ("rust-ring" ,rust-ring-0.16))
        #:cargo-development-inputs
        (("rust-hex" ,rust-hex-0.4))))
    (home-page
      "https://github.com/shadowsocks/shadowsocks-crypto")
    (synopsis "Shadowsocks Crypto")
    (description "Shadowsocks Crypto")
    (license license:expat)))

(define-public rust-shadowsocks-1
  (package
    (name "rust-shadowsocks")
    (version "1.10.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "shadowsocks" version))
        (file-name
          (string-append name "-" version ".tar.gz"))
        (sha256
          (base32
            "1gsah34zrznl3b4za6f09vqzmzsw57nlwil3351hcfvqm8mazw8c"))))
    (build-system cargo-build-system)
    (arguments
      `(#:cargo-inputs
        (("rust-arc-swap" ,rust-arc-swap-1)
         ("rust-async-trait" ,rust-async-trait-0.1)
         ("rust-base64" ,rust-base64-0.13)
         ("rust-bloomfilter" ,rust-bloomfilter-1)
         ("rust-byte-string" ,rust-byte-string-1)
         ("rust-bytes" ,rust-bytes-1)
         ("rust-cfg-if" ,rust-cfg-if-1)
         ("rust-futures" ,rust-futures-0.3)
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-libc" ,rust-libc-0.2)
         ("rust-log" ,rust-log-0.4)
         ("rust-mio" ,rust-mio-0.7)
         ("rust-nix" ,rust-nix-0.20)
         ("rust-notify" ,rust-notify-5)
         ("rust-pin-project" ,rust-pin-project-1)
         ("rust-serde" ,rust-serde-1)
         ("rust-serde-json" ,rust-serde-json-1)
         ("rust-serde-urlencoded"
          ,rust-serde-urlencoded-0.7)
         ("rust-shadowsocks-crypto"
          ,rust-shadowsocks-crypto-0.2)
         ;; TODO update rust-socket2-0.3 to 0.4
         ("rust-socket2" rust-socket2-0.3 #;,rust-socket2-0.4)
         ("rust-spin" ,rust-spin-0.9)
         ("rust-thiserror" ,rust-thiserror-1)
         ("rust-tokio" ,rust-tokio-1)
         ("rust-trust-dns-resolver"
          ,rust-trust-dns-resolver-0.20)
         ("rust-url" ,rust-url-2)
         ("rust-winapi" ,rust-winapi-0.3))
        #:cargo-development-inputs
        (("rust-env-logger" ,rust-env-logger-0.8))))
    (home-page
      "https://github.com/shadowsocks/shadowsocks-rust")
    (synopsis
      "shadowsocks is a fast tunnel proxy that helps you bypass firewalls.")
    (description
      "shadowsocks is a fast tunnel proxy that helps you bypass firewalls.")
    (license license:expat)))
rust-shadowsocks-1

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

  parent reply	other threads:[~2021-03-28 10:44 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-27  7:37 Packaging mecqor labi
2021-03-27 14:53 ` Packaging Maxime Devos
     [not found]   ` <CAGxZdwJ1=X8+JP5WetApL4p_6ACDhgFje7SO7wOwLgO_BVe0VA@mail.gmail.com>
2021-03-28 10:43     ` Maxime Devos [this message]
  -- strict thread matches above, loose matches on Subject: below --
2021-03-06  9:59 Packaging mecqor labi
2021-03-06 14:14 ` Packaging Joshua Branson
2021-03-06 18:46   ` Packaging Leo Famulari
2021-03-06 14:40 ` Packaging Tobias Geerinckx-Rice

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=d3bbb3d56b050f0c80c3c837a9b34f8097a3a080.camel@telenet.be \
    --to=maximedevos@telenet.be \
    --cc=guix-devel@gnu.org \
    --cc=mecqorlabi@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).