unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#40629] Build and install packages from JSON definitions
@ 2020-04-14 15:44 Ricardo Wurmus
  2020-04-14 17:19 ` [bug#40629] [PATCH 1/5] import/print: Return license with prefix Ricardo Wurmus
                   ` (4 more replies)
  0 siblings, 5 replies; 23+ messages in thread
From: Ricardo Wurmus @ 2020-04-14 15:44 UTC (permalink / raw)
  To: 40629

Hi Guix,

did you know that we have JSON importer?  Admittedly, it’s not very
useful because people don’t generally use JSON syntax to define Guix
packages.  Not even Guix lets you build and install packages from JSON
definitions, so what’s the point really?

Well, fret not!  This patch set adds support for JSON package
definitions to “guix package -f” and “guix build -f”.  You can now dump
this into a file “hello.json”:

--8<---------------cut here---------------start------------->8---
{
  "name": "hello",
  "version": "2.10",
  "source": "mirror://gnu/hello/hello-2.10.tar.gz",
  "build-system": "gnu",
  "home-page": "https://www.gnu.org/software/hello/",
  "synopsis": "Hello, GNU world: An example GNU package",
  "description": "GNU Hello prints a greeting.",
  "license": "GPL-3.0+",
  "native-inputs": ["gettext"]
}
--8<---------------cut here---------------end--------------->8---

and then install the hello package with “guix package -f hello.json”
without having to first run the JSON importer.

Since the JSON importer doesn’t know how to work with more than one
definition you can’t have more than one custom definition in your JSON
file, but if there’s interest we can easily add support for this.

(My patch set does not come with documentation changes for “guix
package” or “guix build”.)

What do you think?

--
Ricardo

^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2020-04-18 20:25 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-14 15:44 [bug#40629] Build and install packages from JSON definitions Ricardo Wurmus
2020-04-14 17:19 ` [bug#40629] [PATCH 1/5] import/print: Return license with prefix Ricardo Wurmus
2020-04-14 17:19   ` [bug#40629] [PATCH 2/5] import/print: package->code: Wrap build system value in module reference Ricardo Wurmus
2020-04-14 17:19   ` [bug#40629] [PATCH 3/5] import/json: Add json->scheme-file Ricardo Wurmus
2020-04-14 17:19   ` [bug#40629] [PATCH 4/5] scripts/build: options->things-to-build: Handle .json files Ricardo Wurmus
2020-04-16 21:45     ` Ludovic Courtès
2020-04-16 21:53     ` Ludovic Courtès
2020-04-14 17:19   ` [bug#40629] [PATCH 5/5] scripts/package: Handle JSON files Ricardo Wurmus
2020-04-14 22:48 ` [bug#40629] [PATCH 6/9] import/json: Use json->code Ricardo Wurmus
2020-04-14 22:48   ` [bug#40629] [PATCH 7/9] import/print: package->code: Wrap S-expression in definition Ricardo Wurmus
2020-04-14 22:48   ` [bug#40629] [PATCH 8/9] import/utils: alist->package: Ignore known inputs Ricardo Wurmus
2020-04-14 22:48   ` [bug#40629] [PATCH 9/9] import/json: json->code: Handle files with more than one definition Ricardo Wurmus
2020-04-14 22:59 ` [bug#40629] [PATCH v2 8/9] import/utils: alist->package: Ignore known inputs Ricardo Wurmus
2020-04-14 22:59   ` [bug#40629] [PATCH v2 9/9] import/json: json->code: Handle files with more than one definition Ricardo Wurmus
2020-04-14 23:01     ` Ricardo Wurmus
2020-04-17  5:32       ` Jan Nieuwenhuizen
2020-04-18 20:23         ` Ricardo Wurmus
2020-04-15 18:26 ` [bug#40629] Build and install packages from JSON definitions Christopher Baines
2020-04-15 22:27   ` Ricardo Wurmus
2020-04-16 21:44     ` bug#40629: " Ricardo Wurmus
2020-04-17 17:45     ` [bug#40629] " Christopher Baines
2020-04-16 21:50 ` Ludovic Courtès
2020-04-17  8:25   ` Ricardo Wurmus

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).