From: Tanguy Le Carrour <tanguy@bioneland.org>
To: Jack Hill <jackhill@jackhill.us>
Cc: Guix <guix-devel@gnu.org>
Subject: Re: Packaging "single file"
Date: Tue, 5 Nov 2019 14:04:21 +0100 [thread overview]
Message-ID: <20191105130421.vpycyhng5uont7zu@rafflesia> (raw)
In-Reply-To: <alpine.DEB.2.20.1911041731240.11560@marsh.hcoop.net>
Hi Jack!
Le 11/04, Jack Hill a écrit :
> On Mon, 4 Nov 2019, Tanguy Le Carrour wrote:
> > I intended to ask this question later, but now that ungoogled-chromium
> > has been superseded by icecat, I find myself stuck!
> >
> > Is it possible to package a single file? The "file" being a bash script or
> > a binary. Is there a package definition I can look into for an example?
>
> I've had a need to package a bash wrapper around scp, and the module with it
> is below. It it, I use the trivial-build-system, and replaced occurrences of
> commands the script calls with full store paths.
>
> Does this help?
It's a perfect example! Thanks! I'll do the same for rofi-pass!
> Where are you getting stuck?
I'm stuck with my UI tests! :-(
I was relying on `chromedriver` (packaged with ungoogled-chromium), but now
that it's been deprecated… I'm stuck! ^_^'
`geckodriver` is not packaged with icecat. This is why I wanted to a)
download it or b) package it.
The problem is that a) the version I download does not work (a problem
specific to Guix System, I guess, that would be solved by packaging…
another wild guess) and b) it's a bit of work to package.
But, all of sudden, I wonder if `geckodriver` could not be part of
icecat, like `chromedriver` was part of ungoogled-chromium?!
> (define-module (guix-at-duke packages utils)
> #:use-module (gnu packages bash)
> #:use-module (gnu packages ssh)
> #:use-module (guix build-system trivial)
> #:use-module (guix download)
> #:use-module ((guix licenses) #:prefix license:)
> #:use-module (guix packages))
>
> (define-public duo-scp
> (package
> (name "duo-scp")
> (version "0")
> (source
> (origin
> (method url-fetch)
> (uri "https://gitlab.oit.duke.edu/snippets/82/raw")
> (sha256
> (base32 "1mrf5451cj8010iq76866dli1hxa31rk8i993arf9dfyzws26v2b"))
> (file-name name)))
> (build-system trivial-build-system)
> (arguments
> `(#:modules ((guix build utils))
> #:builder
> (begin
> (use-modules (guix build utils))
> (let ((source (assoc-ref %build-inputs "source"))
> (ssh (assoc-ref %build-inputs "openssh"))
> (bash (assoc-ref %build-inputs "bash"))
> (script "duo-scp")
> (out (assoc-ref %outputs "out")))
> (copy-file source script)
> (substitute* script
> (("/bin/bash") (string-append bash "/bin/bash"))
> (("scp") (string-append ssh "/bin/scp")))
> (chmod script #o555)
> (install-file script (string-append out "/bin"))))))
> (inputs
> `(("bash" ,bash)
> ("openssh" ,openssh)))
> (home-page "https://gitlab.oit.duke.edu/snippets/82/raw")
> (synopsis "User Duo Passcode with scp and login_duo")
> (description "Wrapper script for scp that prompts for a passcode
> before calling scp. This allows the user to supply a passcode from e.g. a Yubikey
> to avoid getting a Duo push or phone call when talking to an ssh server that uses
> the login_duo script for multifactor.")
> (license license:cc0)))
Thanks again for the snippet!
--
Tanguy
next prev parent reply other threads:[~2019-11-05 13:04 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-11-04 15:04 Packaging "single file" Tanguy Le Carrour
2019-11-04 22:37 ` Jack Hill
2019-11-05 13:04 ` Tanguy Le Carrour [this message]
2019-11-05 15:31 ` Jack Hill
2019-11-06 8:12 ` Make geckodriver part of Icecat package [Was: Packaging "single file"] Tanguy Le Carrour
2019-11-13 8:16 ` Tanguy Le Carrour
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=20191105130421.vpycyhng5uont7zu@rafflesia \
--to=tanguy@bioneland.org \
--cc=guix-devel@gnu.org \
--cc=jackhill@jackhill.us \
/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).