From patchwork Wed May 18 18:10:48 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Philip McGrath X-Patchwork-Id: 39476 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 1D7C127BBEA; Wed, 18 May 2022 19:14:05 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id EA8D427BBE9 for ; Wed, 18 May 2022 19:14:03 +0100 (BST) Received: from localhost ([::1]:36206 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nrOBP-0007qh-4B for patchwork@mira.cbaines.net; Wed, 18 May 2022 14:14:03 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45072) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nrOAR-0007iE-9j for guix-patches@gnu.org; Wed, 18 May 2022 14:13:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:39618) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nrOAQ-0005DE-TX for guix-patches@gnu.org; Wed, 18 May 2022 14:13:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nrOAQ-0006LJ-OK for guix-patches@gnu.org; Wed, 18 May 2022 14:13:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#55030] [PATCH v2 01/34] gnu: elm-compiler: Update to 0.19.1. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 18 May 2022 18:13:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 55030 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 55030@debbugs.gnu.org Cc: Ludovic =?utf-8?q?Court=C3=A8s?= , Philip McGrath Received: via spool by 55030-submit@debbugs.gnu.org id=B55030.165289754224151 (code B ref 55030); Wed, 18 May 2022 18:13:02 +0000 Received: (at 55030) by debbugs.gnu.org; 18 May 2022 18:12:22 +0000 Received: from localhost ([127.0.0.1]:33469 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nrO9e-0006HA-Cf for submit@debbugs.gnu.org; Wed, 18 May 2022 14:12:22 -0400 Received: from mail-vs1-f43.google.com ([209.85.217.43]:38428) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nrO9b-0006Gq-Rm for 55030@debbugs.gnu.org; Wed, 18 May 2022 14:12:12 -0400 Received: by mail-vs1-f43.google.com with SMTP id a12so903240vsp.5 for <55030@debbugs.gnu.org>; Wed, 18 May 2022 11:12:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=1DnHWxQ4L60DHlXhZD76navw/O+m2vUd+RzGv4NMZw8=; b=Rc8cIZcBXowYcY8dx0BuBQQSGwcZpgSUKzEHItvuWSr7t+/IECpZfWEv28HLIwDFs0 72WE44yuaJmEIZAxu2t99H1dsyGHoOIgdItMQ+tVDMlBxZfNf9v/+eP94Rq2tz0vN5GA G5dz4Dqm9zzlrKmzqUiVKjAr9Qon5wUsGnTdKaIs7b1sxBFNK8zgs7VwgjoSJeMbiK5S NRpimIqyJunPpdfXBPKcAnZVxUstii5Np23/lpCiksDCVagiLT+kwF170/TMub57R2JJ 6ek8Wr41rS8x66NO05Dj2OTexnLm6yxANq3Vs177Oo/nM1EpTPhW1wfOcgwrfbilW00w N/aQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=1DnHWxQ4L60DHlXhZD76navw/O+m2vUd+RzGv4NMZw8=; b=gcwwAcijEXRLMPjaH5HgCkb3X+Flwqc4KPNnHG2LU6Wg+XsJWvSrCrKZ3vOTug2FvY LthwCSfR7DBppo4aeMb/PCZa/PatUEq0EbRr8fSbDKKDlGkHHCoeC3JuDfDUcwsXGlqt wY22RjA3WN//s9dBeK+XJZRok3cQSiMc6QqNiVFMUbwCdrqp6YcvsgFiPeunmPbfUR2t H5qMa5zG9o64GLcCCDNNmdmhMdml0gQtYFlSmd5kcl1kX4Uw0lZBMoGVTKeNa1e76Vxa nNr04U0/c+lUS5O0cQZLsxinM1HG5Y3DzJHo66sfQ5Y6i/WvNkIiWZiXyqfL50xOwTwd mvFw== X-Gm-Message-State: AOAM53155CLgDsNxLkpe1Isv8KpIN0Q/EbR9hvKzFKefnOaJp0u7zdDu xvdjLRLGdKiQtd7Klywq9CVupc11fwhVcymg X-Google-Smtp-Source: ABdhPJxNIFEgvEDE40UwAWtWL96/wBW0HqjpMyKXKMCAVmJUxu8zkpHHywVi6441ijVzCXH4ppFejA== X-Received: by 2002:a05:6102:f96:b0:333:c566:df27 with SMTP id e22-20020a0561020f9600b00333c566df27mr685346vsv.44.1652897526169; Wed, 18 May 2022 11:12:06 -0700 (PDT) Received: from localhost (c-73-125-98-51.hsd1.fl.comcast.net. [73.125.98.51]) by smtp.gmail.com with UTF8SMTPSA id j65-20020a1fa044000000b0034e98f6f2d8sm246038vke.55.2022.05.18.11.12.05 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 18 May 2022 11:12:05 -0700 (PDT) From: Philip McGrath Date: Wed, 18 May 2022 14:10:48 -0400 Message-Id: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: <20220419232736.272970-1-philip@philipmcgrath.com> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * gnu/packages/patches/elm-compiler-disable-reactor.patch, gnu/packages/patches/elm-compiler-fix-map-key.patch: Delete files. * gnu/packages/patches/elm-reactor-static-files.patch: New file. * gnu/local.mk (dist_patch_DATA): Update accordingly. * gnu/packages/elm.scm (elm-compiler): Update to 0.19.1. [origin]: Remove stale patches. Add new patch. [arguments]: Use G-expressions. Add #:configure-flags for new patch. [inputs]: Remove ghc-file-embed. Add ghc-filelock. --- gnu/local.mk | 3 +- gnu/packages/elm.scm | 44 +-- .../elm-compiler-disable-reactor.patch | 71 ----- .../patches/elm-compiler-fix-map-key.patch | 38 --- .../patches/elm-reactor-static-files.patch | 251 ++++++++++++++++++ 5 files changed, 280 insertions(+), 127 deletions(-) delete mode 100644 gnu/packages/patches/elm-compiler-disable-reactor.patch delete mode 100644 gnu/packages/patches/elm-compiler-fix-map-key.patch create mode 100644 gnu/packages/patches/elm-reactor-static-files.patch diff --git a/gnu/local.mk b/gnu/local.mk index 79019e8564..de044bdbff 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1024,8 +1024,7 @@ dist_patch_DATA = \ %D%/packages/patches/einstein-build.patch \ %D%/packages/patches/elfutils-tests-ptrace.patch \ %D%/packages/patches/elixir-path-length.patch \ - %D%/packages/patches/elm-compiler-disable-reactor.patch \ - %D%/packages/patches/elm-compiler-fix-map-key.patch \ + %D%/packages/patches/elm-reactor-static-files.patch \ %D%/packages/patches/elogind-revert-polkit-detection.patch \ %D%/packages/patches/emacs-exec-path.patch \ %D%/packages/patches/emacs-git-email-missing-parens.patch \ diff --git a/gnu/packages/elm.scm b/gnu/packages/elm.scm index ca7c61041b..988cc02de1 100644 --- a/gnu/packages/elm.scm +++ b/gnu/packages/elm.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2019 Robert Vollmert +;;; Copyright © 2022 Philip McGrath ;;; ;;; This file is part of GNU Guix. ;;; @@ -24,18 +25,24 @@ (define-module (gnu packages elm) #:use-module (gnu packages haskell-xyz) #:use-module (gnu packages haskell-web) #:use-module (guix build-system haskell) + #:use-module (guix gexp) #:use-module (guix git-download) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages)) -;; The full elm build calls out to itself via Template Haskell to -;; compile the elm reactor web app. elm reactor isn't required to -;; compile elm applications, so we take this part out of this -;; bootstrap package. +;; The `elm` build usually calls out to itself via Template Haskell to compile +;; the `elm reactor` web app (which depends on additional Elm packages) and +;; embeds the static files into itself. The reactor isn't required to compile +;; Elm applications, so we want to skip it for the bootstrap package, but we +;; also want to be able to enable it once we can build it. We patch Elm to +;; instead look for the files on disk relative to the executable and to have +;; `elm reactor` exit with a useful error message if they aren't there. +(define %reactor-root-base + "share/elm/reactor-") (define-public elm-compiler (package (name "elm-compiler") - (version "0.19.0") + (version "0.19.1") (source (origin (method git-fetch) @@ -44,24 +51,29 @@ (define-public elm-compiler (url "https://github.com/elm/compiler/") (commit version))) (sha256 - (base32 "0s93z9vr0vp5w894ghc5s34nsq09sg1msf59zfiba87sid5vgjqy")) + (base32 "1rdg3xp3js9xadclk3cdypkscm5wahgsfmm4ldcw3xswzhw6ri8w")) (patches - (search-patches "elm-compiler-disable-reactor.patch" - "elm-compiler-fix-map-key.patch")))) + (search-patches "elm-reactor-static-files.patch")))) (build-system haskell-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'configure 'update-constraints - (lambda _ - (substitute* "elm.cabal" - (("(ansi-terminal|containers|network|http-client|language-glsl)\\s+[^,]+" all dep) - dep))))))) + (list + #:configure-flags + #~(list (string-append "--ghc-option=-DGUIX_REACTOR_STATIC_REL_ROOT=" + "\"../" #$%reactor-root-base + #$(package-version this-package) + "\"")) + #:phases + #~(modify-phases %standard-phases + (add-before 'configure 'update-constraints + (lambda _ + (substitute* "elm.cabal" + (("(ansi-terminal|containers|network|http-client|language-glsl)\\s+[^,]+" all dep) + dep))))))) (inputs (list ghc-ansi-terminal ghc-ansi-wl-pprint ghc-edit-distance - ghc-file-embed + ghc-filelock ghc-http ghc-http-client ghc-http-client-tls diff --git a/gnu/packages/patches/elm-compiler-disable-reactor.patch b/gnu/packages/patches/elm-compiler-disable-reactor.patch deleted file mode 100644 index 9871b55e8d..0000000000 --- a/gnu/packages/patches/elm-compiler-disable-reactor.patch +++ /dev/null @@ -1,71 +0,0 @@ -commit 20d80e2323b565a36751c9455e535d8f73fa32f7 -Author: Robert Vollmert -Date: Fri Jun 14 16:05:47 2019 +0200 - - disable reactor - -diff --git a/elm.cabal b/elm.cabal -index c75f9689..ece63c46 100644 ---- a/elm.cabal -+++ b/elm.cabal -@@ -45,9 +45,6 @@ Executable elm - builder/src - ui/terminal/src - -- other-extensions: -- TemplateHaskell -- - Main-Is: - Main.hs - -@@ -56,8 +53,6 @@ Executable elm - Develop - Develop.Generate.Help - Develop.Generate.Index -- Develop.StaticFiles -- Develop.StaticFiles.Build - Diff - Init - Install -diff --git a/ui/terminal/src/Develop.hs b/ui/terminal/src/Develop.hs -index 4b2252e1..7ed7716e 100644 ---- a/ui/terminal/src/Develop.hs -+++ b/ui/terminal/src/Develop.hs -@@ -23,7 +23,6 @@ import Snap.Util.FileServe - import qualified Elm.Project as Project - import qualified Develop.Generate.Help as Generate - import qualified Develop.Generate.Index as Index --import qualified Develop.StaticFiles as StaticFiles - import qualified Generate.Output as Output - import qualified Json.Encode as Encode - import qualified Reporting.Exit as Exit -@@ -219,16 +218,7 @@ compileToHtmlBuilder mode file = - - - serveAssets :: Snap () --serveAssets = -- do file <- getSafePath -- case StaticFiles.lookup file of -- Nothing -> -- pass -- -- Just (content, mimeType) -> -- do modifyResponse (setContentType (mimeType <> ";charset=utf-8")) -- writeBS content -- -+serveAssets = pass - - - -- MIME TYPES -diff --git a/ui/terminal/src/Main.hs b/terminal/src/Main.hs -index 7000f3ca..2c76965a 100644 ---- a/ui/terminal/src/Main.hs -+++ b/ui/terminal/src/Main.hs -@@ -39,7 +39,6 @@ main = - complex intro outro - [ repl - , init -- , reactor - , make - , install - , bump diff --git a/gnu/packages/patches/elm-compiler-fix-map-key.patch b/gnu/packages/patches/elm-compiler-fix-map-key.patch deleted file mode 100644 index 4f05ded530..0000000000 --- a/gnu/packages/patches/elm-compiler-fix-map-key.patch +++ /dev/null @@ -1,38 +0,0 @@ -commit e3512d887df41a8162c3e361171c04beca08415b -Author: Tom Stejskal -Date: Mon Nov 19 20:09:43 2018 +0100 - - Fix Map.!: given key is not an element in the map - -diff --git a/compiler/src/Elm/Compiler/Type/Extract.hs b/compiler/src/Elm/Compiler/Type/Extract.hs -index 1aafe1d4..99763392 100644 ---- a/compiler/src/Elm/Compiler/Type/Extract.hs -+++ b/compiler/src/Elm/Compiler/Type/Extract.hs -@@ -10,6 +10,7 @@ module Elm.Compiler.Type.Extract - - - import Data.Map ((!)) -+import qualified Data.Map as Map - import qualified Data.Maybe as Maybe - import qualified Data.Set as Set - -@@ -134,11 +135,15 @@ extractUnion interfaces (Opt.Global home name) = - else - let - pname = toPublicName home name -- unions = I._unions (interfaces ! home) -+ maybeUnions = I._unions <$> Map.lookup home interfaces - in -- case I.toUnionInternals (unions ! name) of -- Can.Union vars ctors _ _ -> -- T.Union pname vars <$> traverse extractCtor ctors -+ case Map.lookup name =<< maybeUnions of -+ Just union -> -+ case I.toUnionInternals union of -+ Can.Union vars ctors _ _ -> -+ T.Union pname vars <$> traverse extractCtor ctors -+ Nothing -> -+ return $ T.Union pname [] [] - - - extractCtor :: Can.Ctor -> Extractor (N.Name, [T.Type]) diff --git a/gnu/packages/patches/elm-reactor-static-files.patch b/gnu/packages/patches/elm-reactor-static-files.patch new file mode 100644 index 0000000000..94c4aa0cd1 --- /dev/null +++ b/gnu/packages/patches/elm-reactor-static-files.patch @@ -0,0 +1,251 @@ +From 41d219a29b03f3114af7a0521c8b2dbbb487c3e1 Mon Sep 17 00:00:00 2001 +From: Philip McGrath +Date: Wed, 13 Apr 2022 18:45:58 -0400 +Subject: [PATCH] reactor: look for static files relative to executable + +Must built with `-DGUIX_REACTOR_STATIC_REL_ROOT="../path/to/reactor"`. + +This lets us build a version of Elm without the `elm reactor` for +bootstrapping, then simply put the files in place in the final package. +--- + elm.cabal | 2 +- + terminal/src/Develop.hs | 32 +++++++++++---- + terminal/src/Develop/StaticFiles.hs | 37 ++++++++++------- + terminal/src/Develop/StaticFiles/Build.hs | 50 ++++++++++++++--------- + 4 files changed, 79 insertions(+), 42 deletions(-) + +diff --git a/elm.cabal b/elm.cabal +index bf1cfcf0..93161072 100644 +--- a/elm.cabal ++++ b/elm.cabal +@@ -50,6 +50,7 @@ Executable elm + + other-extensions: + TemplateHaskell ++ CPP + + Main-Is: + Main.hs +@@ -211,7 +212,6 @@ Executable elm + containers >= 0.5.8.2 && < 0.6, + directory >= 1.2.3.0 && < 2.0, + edit-distance >= 0.2 && < 0.3, +- file-embed, + filelock, + filepath >= 1 && < 2.0, + ghc-prim >= 0.5.2, +diff --git a/terminal/src/Develop.hs b/terminal/src/Develop.hs +index 00339364..6855b03e 100644 +--- a/terminal/src/Develop.hs ++++ b/terminal/src/Develop.hs +@@ -33,6 +33,7 @@ import qualified Reporting.Exit as Exit + import qualified Reporting.Task as Task + import qualified Stuff + ++import System.Exit as SysExit + + + -- RUN THE DEV SERVER +@@ -45,13 +46,29 @@ data Flags = + + + run :: () -> Flags -> IO () +-run () (Flags maybePort) = ++run () flags = do ++ frontEnd <- StaticFiles.prepare ++ case frontEnd of ++ Right lookup -> ++ reallyRun lookup flags ++ Left missing -> ++ SysExit.die $ unlines ++ [ "The `reactor` command is not available." ++ , "" ++ , "On Guix, these files are needed for `elm reactor` to work," ++ , "but they are missing:" ++ , "" ++ , unlines (map (\pth -> " " ++ (show pth)) missing) ++ ] ++ ++reallyRun :: StaticFiles.Lookup -> Flags -> IO () ++reallyRun lookup (Flags maybePort) = + do let port = maybe 8000 id maybePort + putStrLn $ "Go to http://localhost:" ++ show port ++ " to see your project dashboard." + httpServe (config port) $ + serveFiles + <|> serveDirectoryWith directoryConfig "." +- <|> serveAssets ++ <|> serveAssets lookup + <|> error404 + + +@@ -169,16 +186,15 @@ compile path = + -- SERVE STATIC ASSETS + + +-serveAssets :: Snap () +-serveAssets = ++serveAssets :: StaticFiles.Lookup -> Snap () ++serveAssets lookup = + do path <- getSafePath +- case StaticFiles.lookup path of ++ case lookup path of + Nothing -> + pass + +- Just (content, mimeType) -> +- do modifyResponse (setContentType (mimeType <> ";charset=utf-8")) +- writeBS content ++ Just (fsPath, mimeType) -> ++ serveFileAs (mimeType <> ";charset=utf-8") fsPath + + + +diff --git a/terminal/src/Develop/StaticFiles.hs b/terminal/src/Develop/StaticFiles.hs +index 94ee72dc..3227d617 100644 +--- a/terminal/src/Develop/StaticFiles.hs ++++ b/terminal/src/Develop/StaticFiles.hs +@@ -2,7 +2,8 @@ + {-# LANGUAGE OverloadedStrings #-} + {-# LANGUAGE TemplateHaskell #-} + module Develop.StaticFiles +- ( lookup ++ ( prepare ++ , Lookup + , cssPath + , elmPath + , waitingPath +@@ -11,9 +12,7 @@ module Develop.StaticFiles + + import Prelude hiding (lookup) + import qualified Data.ByteString as BS +-import Data.FileEmbed (bsToExp) + import qualified Data.HashMap.Strict as HM +-import Language.Haskell.TH (runIO) + import System.FilePath (()) + + import qualified Develop.StaticFiles.Build as Build +@@ -26,20 +25,29 @@ import qualified Develop.StaticFiles.Build as Build + type MimeType = + BS.ByteString + ++type Lookup = FilePath -> Maybe (FilePath, MimeType) + +-lookup :: FilePath -> Maybe (BS.ByteString, MimeType) +-lookup path = ++prepare :: IO (Either [FilePath] Lookup) ++prepare = do ++ found <- Build.findReactorFrontEnd expectedFiles ++ return $ case found of ++ Left missing -> ++ Left missing ++ Right resolved -> ++ Right (mkLookup (HM.fromList resolved)) ++ ++mkLookup :: HM.HashMap FilePath (FilePath, MimeType) -> Lookup ++mkLookup dict path = + HM.lookup path dict + + +-dict :: HM.HashMap FilePath (BS.ByteString, MimeType) +-dict = +- HM.fromList +- [ faviconPath ==> (favicon , "image/x-icon") +- , elmPath ==> (elm , "application/javascript") +- , cssPath ==> (css , "text/css") +- , codeFontPath ==> (codeFont, "font/ttf") +- , sansFontPath ==> (sansFont, "font/ttf") ++expectedFiles :: [(FilePath, MimeType)] ++expectedFiles = ++ [ faviconPath ==> "image/x-icon" ++ , elmPath ==> "application/javascript" ++ , cssPath ==> "text/css" ++ , codeFontPath ==> "font/ttf" ++ , sansFontPath ==> "font/ttf" + ] + + +@@ -82,7 +90,7 @@ sansFontPath = + "_elm" "source-sans-pro.ttf" + + +- ++{- + -- ELM + + +@@ -121,3 +129,4 @@ sansFont = + favicon :: BS.ByteString + favicon = + $(bsToExp =<< runIO (Build.readAsset "favicon.ico")) ++-} +diff --git a/terminal/src/Develop/StaticFiles/Build.hs b/terminal/src/Develop/StaticFiles/Build.hs +index c61fae57..c39b08b0 100644 +--- a/terminal/src/Develop/StaticFiles/Build.hs ++++ b/terminal/src/Develop/StaticFiles/Build.hs +@@ -1,28 +1,39 @@ + {-# LANGUAGE OverloadedStrings #-} ++{-# LANGUAGE CPP #-} + module Develop.StaticFiles.Build +- ( readAsset +- , buildReactorFrontEnd ++ ( findReactorFrontEnd + ) + where + +- +-import qualified Data.ByteString as BS +-import qualified Data.ByteString.Builder as B +-import qualified Data.ByteString.Lazy as LBS +-import qualified Data.NonEmptyList as NE + import qualified System.Directory as Dir +-import System.FilePath (()) +- +-import qualified BackgroundWriter as BW +-import qualified Build +-import qualified Elm.Details as Details +-import qualified Generate +-import qualified Reporting +-import qualified Reporting.Exit as Exit +-import qualified Reporting.Task as Task +- +- +- ++import System.FilePath ((), takeDirectory) ++import System.Environment (getExecutablePath) ++import Data.Either as Either ++ ++reactorStaticRelRoot :: FilePath ++reactorStaticRelRoot = GUIX_REACTOR_STATIC_REL_ROOT ++ ++type Resolved a = (FilePath, (FilePath, a)) ++ ++findReactorFrontEnd :: [(FilePath, a)] -> IO (Either [FilePath] [Resolved a]) ++findReactorFrontEnd specs = do ++ exe <- getExecutablePath ++ let dir = takeDirectory exe reactorStaticRelRoot ++ dirExists <- Dir.doesDirectoryExist dir ++ files <- sequence (map (findFile dir) specs) ++ return $ case Either.lefts files of ++ [] -> ++ Right (Either.rights files) ++ missing -> ++ Left $ if dirExists then missing else [dir] ++ ++findFile :: FilePath -> (FilePath, a) -> IO (Either FilePath (Resolved a)) ++findFile dir (rel, rhs) = do ++ let abs = dir rel ++ exists <- Dir.doesFileExist abs ++ return $ if not exists then Left abs else Right (rel, (abs, rhs)) ++ ++{- + -- ASSETS + + +@@ -71,3 +82,4 @@ runTaskUnsafe task = + \\nCompile with `elm make` directly to figure it out faster\ + \\n--------------------------------------------------------\ + \\n" ++-} +-- +2.32.0 + From patchwork Wed May 18 18:10:49 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philip McGrath X-Patchwork-Id: 39479 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 5921827BBEA; Wed, 18 May 2022 19:14:30 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 2351427BBE9 for ; Wed, 18 May 2022 19:14:30 +0100 (BST) Received: from localhost ([::1]:37158 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nrOBp-0000D2-B3 for patchwork@mira.cbaines.net; Wed, 18 May 2022 14:14:29 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45074) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nrOAR-0007iL-Kl for guix-patches@gnu.org; Wed, 18 May 2022 14:13:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:39619) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nrOAR-0005DK-Bs for guix-patches@gnu.org; Wed, 18 May 2022 14:13:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nrOAR-0006LY-6e for guix-patches@gnu.org; Wed, 18 May 2022 14:13:03 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#55030] [PATCH v2 02/34] gnu: elm: Rename package to match the command. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 18 May 2022 18:13:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 55030 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 55030@debbugs.gnu.org Cc: Ludovic =?utf-8?q?Court=C3=A8s?= , Philip McGrath Received: via spool by 55030-submit@debbugs.gnu.org id=B55030.165289754724180 (code B ref 55030); Wed, 18 May 2022 18:13:03 +0000 Received: (at 55030) by debbugs.gnu.org; 18 May 2022 18:12:27 +0000 Received: from localhost ([127.0.0.1]:33475 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nrO9m-0006HZ-Hz for submit@debbugs.gnu.org; Wed, 18 May 2022 14:12:27 -0400 Received: from mail-vk1-f170.google.com ([209.85.221.170]:46700) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nrO9f-0006Gy-Nz for 55030@debbugs.gnu.org; Wed, 18 May 2022 14:12:16 -0400 Received: by mail-vk1-f170.google.com with SMTP id m203so1555893vke.13 for <55030@debbugs.gnu.org>; Wed, 18 May 2022 11:12:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=SjYyUocXdIU5QYNkojc2SO3inmsXXfH9lPDTDjHwW5s=; b=LaoJmOY/b3fK29Z6cJ1L4fWTzRR8j77e/1nr1AWMXXrIvXU87bt8xjDc3eRHc1xdvR XR/GKvAkm7YDiUX71/9L6jy98201ii9nTdu2maUqTZbbPyFbWWhMzxcs3ko+t6rHrJtR vjFuN/oIW3GM/Duhuvi8jHW+HQkPf1AyABM7Bl6U0zQgoOVRFFDp8rfhU9CkfvOh8aNH rDTMl93GBTjjM2sdSEJ84PCmgDHtJHafy6ZgduGFuQUiJJeqLyd6Yam9/OsXcbBPaH33 vUfqGiTkWFH49m5zaq98E+DKYNCMMK6tFx7w00Yia+t3LcguD5PBpfIV+4LmXh5CF0e3 mTIQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=SjYyUocXdIU5QYNkojc2SO3inmsXXfH9lPDTDjHwW5s=; b=cZ6RyJVyMVkLjAyOzvVAaOSCcVzFabA8uSP/moBkGy3dqLMTwAvWwAFLlg/gMUgC7R QXObQBaGuRZKcKdQHgomlw/XlZMw4z1xXd3zbzDK9cwNVAzhnVMKDjjTUCDr4UiTf1gU XDVZMrtIKpqVvT6vXs7CjHD+awlz/ndQQdSUwCw+iVcoE9YNraDw+ChmWmdDvmAi4Vyi gsIETXXKya98I+1zkCSELR4KlgSonMI63ZD7xgkDSC8SQQE5oMy7QVAMkIEQepxbUcAC C4diXZYThoSF765r275XWlYZOgxyyOe8zqWw7Ucx5JQMEDmMqrdmQ6aNVrzLlXCMAbAN xtpg== X-Gm-Message-State: AOAM532GLMGhBN1okVzCTvgJtqwVjGRBiYWAijJelzPMVhuBAjC4f9Dj UgJ8rYW7uzVjq3jn8bqx9nZJRSdh2WTqHTZh X-Google-Smtp-Source: ABdhPJxY0lJ4FEpznu6FeLO1Kb0czMQpm0YyQkxWBXmRAkR9lbM22s6ihq0L/LTVQxEJ3gPDyHRsuQ== X-Received: by 2002:ac5:c890:0:b0:352:1910:1ff5 with SMTP id n16-20020ac5c890000000b0035219101ff5mr561144vkl.6.1652897530176; Wed, 18 May 2022 11:12:10 -0700 (PDT) Received: from localhost (c-73-125-98-51.hsd1.fl.comcast.net. [73.125.98.51]) by smtp.gmail.com with UTF8SMTPSA id h16-20020ac5c290000000b00356dc031857sm253484vkk.46.2022.05.18.11.12.09 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 18 May 2022 11:12:10 -0700 (PDT) From: Philip McGrath Date: Wed, 18 May 2022 14:10:49 -0400 Message-Id: <923649034e32b375843f3772a4d469062cac21f8.1652890702.git.philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: References: <20220419232736.272970-1-philip@philipmcgrath.com> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * gnu/packages/elm.scm (elm-compiler): Rename to ... (elm): ... this variable, leaving 'elm-compiler' as a deprecated alias. [description]: Tweak. --- gnu/packages/elm.scm | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/gnu/packages/elm.scm b/gnu/packages/elm.scm index 988cc02de1..a3863e6e6f 100644 --- a/gnu/packages/elm.scm +++ b/gnu/packages/elm.scm @@ -39,9 +39,9 @@ (define-module (gnu packages elm) ;; `elm reactor` exit with a useful error message if they aren't there. (define %reactor-root-base "share/elm/reactor-") -(define-public elm-compiler +(define-public elm (package - (name "elm-compiler") + (name "elm") (version "0.19.1") (source (origin @@ -93,7 +93,11 @@ (define-public elm-compiler (home-page "https://elm-lang.org") (synopsis "Programming language for Web applications") (description - "This package provides Elm, a statically-typed functional programming -language for the browser. It includes commands for developers such as -@command{elm make} and @command{elm repl}.") + "Elm is a statically-typed, purely-functional programming language for +the browser. The @command{elm} exectable includes commands for developers +such as @command{elm make} and @command{elm repl}.") (license license:bsd-3))) + +;; The 'elm' package used to be called 'elm-compiler'. +(define-public elm-compiler + (deprecated-package "elm-compiler" elm)) From patchwork Wed May 18 18:10:50 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Philip McGrath X-Patchwork-Id: 39475 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 1E0A827BBEB; Wed, 18 May 2022 19:14:04 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id D965F27BBEA for ; Wed, 18 May 2022 19:14:01 +0100 (BST) Received: from localhost ([::1]:36082 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nrOBN-0007lB-1J for patchwork@mira.cbaines.net; Wed, 18 May 2022 14:14:01 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45078) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nrOAS-0007ik-17 for guix-patches@gnu.org; Wed, 18 May 2022 14:13:04 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:39620) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nrOAR-0005DV-P5 for guix-patches@gnu.org; Wed, 18 May 2022 14:13:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nrOAR-0006Lf-KG for guix-patches@gnu.org; Wed, 18 May 2022 14:13:03 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#55030] [PATCH v2 03/34] guix: Add elm-build-system. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 18 May 2022 18:13:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 55030 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 55030@debbugs.gnu.org Cc: Ludovic =?utf-8?q?Court=C3=A8s?= , Philip McGrath Received: via spool by 55030-submit@debbugs.gnu.org id=B55030.165289755124209 (code B ref 55030); Wed, 18 May 2022 18:13:03 +0000 Received: (at 55030) by debbugs.gnu.org; 18 May 2022 18:12:31 +0000 Received: from localhost ([127.0.0.1]:33480 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nrO9r-0006I5-KO for submit@debbugs.gnu.org; Wed, 18 May 2022 14:12:31 -0400 Received: from mail-vs1-f41.google.com ([209.85.217.41]:39909) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nrO9k-0006HC-Mc for 55030@debbugs.gnu.org; Wed, 18 May 2022 14:12:25 -0400 Received: by mail-vs1-f41.google.com with SMTP id c26so2911705vsl.6 for <55030@debbugs.gnu.org>; Wed, 18 May 2022 11:12:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=aYUZseC0JUmec1Tdm/r4g8OG4uj2GUI3T3eZRoIbIRQ=; b=MqJwoSn2A81FvcCYw4tttooy59WepFyJ9BtWITIHCGQfu5gXjktYigk000t7WQWc/b /YQGNoEyjr6LwHPkfGFTY1eAsSOKZX8EvAe2uCuuInMwS2FVmL0B7pUZuStn0OabbW0r yI4qVvAhYXNW6wZ9ptWeGhWgS87rDSEP/0rCOEDI7V+4cnawDlDc6LIBUs6UCRtFy6iZ QCEAG6YsyZeWmWCvn2/0UuMoZU8i/PXEH+FjB8HwBTXDAU4T6f+nLnX187Ad9U2T5ubY x7RZu0N65/Yy3DbSBNWxV7BIhsm7OJNg5zlZg4K8MjLROm55RCnE92KkLPR5iF6bYfP1 b5KQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=aYUZseC0JUmec1Tdm/r4g8OG4uj2GUI3T3eZRoIbIRQ=; b=sngS2cQqO9xkh0SEMqeRyIvqPnfmt2OgMsbNbi8ct7kNBdCrgeMBC0szEyxrk9Vyf/ wgc5nNpaOjbynUT+lB5fj0p2iVClQmhArx6qRJMcVFOX9kXWrsqgyDqGdoH7d87AeGf9 L9maASTzF/fQF3ltt1u+WqBI8vE6bLdKRm6dzpEVZ40PKZW0BWuMz+SksWFXdd2e5s8U M1Qg4a2xyIR2uKtC5RANTe9u1CAH4WfwHagpOZcP6h/aNS/itgzPyzk4A1cLafxjbGPF XUYIBCv9dLglevxNsFmVX2KsWQx3nzcEvpMYctbudglR9T7P1coElfIsgcoGKgba/Yvh KLXg== X-Gm-Message-State: AOAM530D68x+pv67E507TB7TZaROSBjGM2rdHMxotvAXn2qv7cVq7AeU U/HBXRkXN8c6+FALt+PQVJktklchDqLCdkuP X-Google-Smtp-Source: ABdhPJyTApO8st9E//CAcW0GKFeygPS4GdKJIr3wKJpWjKEAmI5vu6gu7KtOqtVWYJdFE07wMWSyPQ== X-Received: by 2002:a67:ca1b:0:b0:335:d0aa:e140 with SMTP id z27-20020a67ca1b000000b00335d0aae140mr436818vsk.22.1652897534185; Wed, 18 May 2022 11:12:14 -0700 (PDT) Received: from localhost (c-73-125-98-51.hsd1.fl.comcast.net. [73.125.98.51]) by smtp.gmail.com with UTF8SMTPSA id t14-20020ac5c3ce000000b00352d73d5d71sm305273vkk.18.2022.05.18.11.12.13 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 18 May 2022 11:12:14 -0700 (PDT) From: Philip McGrath Date: Wed, 18 May 2022 14:10:50 -0400 Message-Id: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: <20220419232736.272970-1-philip@philipmcgrath.com> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * gnu/packages/patches/elm-offline-package-registry.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/elm.scm (elm): Use it. * guix/build-system/elm.scm, guix/build/elm-build-system.scm, tests/elm.scm: New files. * Makefile.scm (MODULES, SCM_TESTS): Add them. * doc/guix.texi (Build Systems): Document 'elm-build-system'. * doc/contributing.texi (Elm Packages): New section. Document naming conventions and utilities. --- Makefile.am | 3 + doc/contributing.texi | 82 ++++ doc/guix.texi | 52 +++ gnu/local.mk | 1 + gnu/packages/elm.scm | 4 +- .../elm-offline-package-registry.patch | 71 ++++ guix/build-system/elm.scm | 172 ++++++++ guix/build/elm-build-system.scm | 380 ++++++++++++++++++ tests/elm.scm | 97 +++++ 9 files changed, 861 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/elm-offline-package-registry.patch create mode 100644 guix/build-system/elm.scm create mode 100644 guix/build/elm-build-system.scm create mode 100644 tests/elm.scm diff --git a/Makefile.am b/Makefile.am index 85a22be99c..9ca92c407c 100644 --- a/Makefile.am +++ b/Makefile.am @@ -141,6 +141,7 @@ MODULES = \ guix/build-system/cmake.scm \ guix/build-system/dub.scm \ guix/build-system/dune.scm \ + guix/build-system/elm.scm \ guix/build-system/emacs.scm \ guix/build-system/font.scm \ guix/build-system/go.scm \ @@ -192,6 +193,7 @@ MODULES = \ guix/build/cmake-build-system.scm \ guix/build/dub-build-system.scm \ guix/build/dune-build-system.scm \ + guix/build/elm-build-system.scm \ guix/build/emacs-build-system.scm \ guix/build/meson-build-system.scm \ guix/build/minify-build-system.scm \ @@ -472,6 +474,7 @@ SCM_TESTS = \ tests/derivations.scm \ tests/discovery.scm \ tests/egg.scm \ + tests/elm.scm \ tests/elpa.scm \ tests/file-systems.scm \ tests/gem.scm \ diff --git a/doc/contributing.texi b/doc/contributing.texi index 862dcbf12a..555b9bb961 100644 --- a/doc/contributing.texi +++ b/doc/contributing.texi @@ -447,6 +447,7 @@ Packaging Guidelines * Perl Modules:: Little pearls. * Java Packages:: Coffee break. * Rust Crates:: Beware of oxidation. +* Elm Packages:: Trees of browser code * Fonts:: Fond of fonts. @end menu @@ -898,6 +899,87 @@ Rust Crates Rust compiler, or the test suite may have atrophied since it was released. +@node Elm Packages +@subsection Elm Packages + +@cindex Elm +Elm applications can be named like other software: their names need not +mention Elm. + +Packages in the Elm sense (see @code{elm-build-system} under @ref{Build +Systems}) are required use names of the format +@var{author}@code{/}@var{project}, where both the @var{author} and the +@var{project} may contain hyphens internally, and the @var{author} sometimes +contains uppercase letters. + +To form the Guix package name from the upstream name, we follow a convention +similar to Python packages (@pxref{Python Modules}), adding an @code{elm-} +prefix unless the name would already begin with @code{elm-}. + +In many cases we can reconstruct an Elm package's upstream name heuristically, +but, since conversion to a Guix-style name involves a loss of information, +this is not always possible. Care should be taken to add the +@code{'upstream-name} property when necessary so that tools +will work correctly. The most notable scenarios +when explicitly specifying the upstream name is necessary are: + +@enumerate +@item +When the @var{author} is @code{elm} and the @var{project} contains one or more +hyphens, as with @code{elm/virtual-dom}; and + +@item +When the @var{author} contains hyphens or uppercase letters, as with +@code{Elm-Canvas/raster-shapes}---unless the @var{author} is +@code{elm-explorations}, which is handled as a special case, so packages like +@code{elm-explorations/markdown} do @emph{not} need to use the +@code{'upstream-name} property. +@end enumerate + +The module @code{(guix build-system elm)} provides the following utilities for +working with names and related conventions: + +@deffn {Scheme procedure} elm-package-origin @var{elm-name} @var{version} @ + @var{hash} +Returns a Git origin using the repository naming and tagging regime required +for a published Elm package with the upstream name @var{elm-name} at version +@var{version} with sha256 checksum @var{hash}. + +For example: +@lisp +(package + (name "elm-html") + (version "1.0.0") + (source + (elm-package-origin + "elm/html" + version + (base32 "15k1679ja57vvlpinpv06znmrxy09lbhzfkzdc89i01qa8c4gb4a"))) + ...) +@end lisp +@end deffn + +@deffn {Scheme procedure} elm->package-name @var{elm-name} +Returns the Guix-style package name for an Elm package with upstream name +@var{elm-name}. + +Note that there is more than one possible @var{elm-name} for which +@code{elm->package-name} will produce a given result. +@end deffn + +@deffn {Scheme procedure} guix-package->elm-name @var{package} +Given an Elm @var{package}, returns the possibly-inferred upstream name, or +@code{#f} the upstream name is not specified via the @code{'upstream-name} +property and can not be inferred by @code{infer-elm-package-name}. +@end deffn + +@deffn {Scheme procedure} infer-elm-package-name @var{guix-name} +Given the @var{guix-name} of an Elm package, returns the inferred upstream +name, or @code{#f} if the upstream name can't be inferred. If the result is +not @code{#f}, supplying it to @code{elm->package-name} would produce +@var{guix-name}. +@end deffn + @node Fonts @subsection Fonts diff --git a/doc/guix.texi b/doc/guix.texi index c007c93dd3..63fb647045 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -102,6 +102,7 @@ Copyright @copyright{} 2021 Josselin Poiret@* Copyright @copyright{} 2022 Remco van 't Veer@* Copyright @copyright{} 2022 Aleksandr Vityazev@* +Copyright @copyright{} 2022 Philip M@sup{c}Grath@* Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or @@ -8717,6 +8718,57 @@ Build Systems @end defvr +@defvr {Scheme variable} elm-build-system +This variable is exported by @code{(guix build-system elm)}. It implements a +build procedure for @url{https://elm-lang.org, Elm} packages similar to +@samp{elm install}. + +The build system adds an Elm compiler package to the set of inputs. The +default compiler package (currently @code{elm}) can be overridden +using the @code{#:elm} argument. Additionally, Elm packages needed by the +build system itself are added as implicit inputs if they are not already +present: to suppress this behavior, use the +@code{#:implicit-elm-package-inputs?} argument, which is primarily useful for +bootstrapping. + +The @code{"dependencies"} and @code{"test-dependencies"} in an Elm package's +@file{elm.json} file correspond to @code{propagated-inputs} and @code{inputs}, +respectively. + +Elm requires a particular structure for package names: @pxref{Elm Packages} +for more details, including utilities provided by @code{(guix build-system +elm)}. + +There are currently a few noteworthy limitations to @code{elm-build-system}: + +@itemize +@item +The build system is focused on @dfn{packages} in the Elm sense of the word: +Elm @dfn{projects} which declare @code{@{ "type": "package" @}} in their +@file{elm.json} files. Using @code{elm-build-system} to build Elm +@dfn{applications} (which declare @code{@{ "type": "application" @}}) is +possible, but requires ad-hoc modifications to the build phases. + +@item +Elm supports multiple versions of a package coexisting simultaneously under +@env{ELM_HOME}, but this does not yet work well with @code{elm-build-system}. +This limitation primarily affects Elm applications, because they specify +exact versions for their dependencies, whereas Elm packages specify supported +version ranges. As a workaround, you can use +the @code{patch-application-dependencies} procedure provided by +@code{(guix build elm-build-system)} to rewrite their @file{elm.json} files to +refer to the package versions actually present in the build environment. +Alternatively, Guix package transformations (@pxref{Defining Package +Variants}) could be used to rewrite an application's entire dependency graph. + +@item +We are not yet able to run tests for Elm projects because neither +@url{https://github.com/mpizenberg/elm-test-rs, @command{elm-test-rs}} nor the +Node.js-based @url{https://github.com/rtfeldman/node-test-runner, +@command{elm-test}} runner has been packaged for Guix yet. +@end itemize +@end defvr + @defvr {Scheme Variable} go-build-system This variable is exported by @code{(guix build-system go)}. It implements a build procedure for Go packages using the standard diff --git a/gnu/local.mk b/gnu/local.mk index de044bdbff..94590ab5b5 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1024,6 +1024,7 @@ dist_patch_DATA = \ %D%/packages/patches/einstein-build.patch \ %D%/packages/patches/elfutils-tests-ptrace.patch \ %D%/packages/patches/elixir-path-length.patch \ + %D%/packages/patches/elm-offline-package-registry.patch \ %D%/packages/patches/elm-reactor-static-files.patch \ %D%/packages/patches/elogind-revert-polkit-detection.patch \ %D%/packages/patches/emacs-exec-path.patch \ diff --git a/gnu/packages/elm.scm b/gnu/packages/elm.scm index a3863e6e6f..35bdcc65f5 100644 --- a/gnu/packages/elm.scm +++ b/gnu/packages/elm.scm @@ -25,6 +25,7 @@ (define-module (gnu packages elm) #:use-module (gnu packages haskell-xyz) #:use-module (gnu packages haskell-web) #:use-module (guix build-system haskell) + #:use-module (guix build-system elm) #:use-module (guix gexp) #:use-module (guix git-download) #:use-module ((guix licenses) #:prefix license:) @@ -53,7 +54,8 @@ (define-public elm (sha256 (base32 "1rdg3xp3js9xadclk3cdypkscm5wahgsfmm4ldcw3xswzhw6ri8w")) (patches - (search-patches "elm-reactor-static-files.patch")))) + (search-patches "elm-reactor-static-files.patch" + "elm-offline-package-registry.patch")))) (build-system haskell-build-system) (arguments (list diff --git a/gnu/packages/patches/elm-offline-package-registry.patch b/gnu/packages/patches/elm-offline-package-registry.patch new file mode 100644 index 0000000000..761ec69878 --- /dev/null +++ b/gnu/packages/patches/elm-offline-package-registry.patch @@ -0,0 +1,71 @@ +From 06563409e6f2b1cca7bc1b27e31efd07a7569da8 Mon Sep 17 00:00:00 2001 +From: Philip McGrath +Date: Thu, 14 Apr 2022 22:41:04 -0400 +Subject: [PATCH] minimal support for offline builds + +Normally, Elm performs HTTP requests before building to obtain or +update its list of all registed packages and their versions. +This is problematic in the Guix build environment. + +This patch causes Elm to check if the `GUIX_ELM_OFFLINE_REGISTRY_FILE` +is set and, if so, to use the contents of the file it specifies as +though it were the response from +https://package.elm-lang.org/all-packages. + +This patch does not attempt to add more general support for offline +builds. In particular, it does not attempt to support incremental +updates to the package registry cache file. See also discussion at +https://discourse.elm-lang.org/t/private-package-tool-spec/6779/25. +--- + builder/src/Deps/Registry.hs | 25 +++++++++++++++++++++---- + 1 file changed, 21 insertions(+), 4 deletions(-) + +diff --git a/builder/src/Deps/Registry.hs b/builder/src/Deps/Registry.hs +index 8d7def98..70cf3622 100644 +--- a/builder/src/Deps/Registry.hs ++++ b/builder/src/Deps/Registry.hs +@@ -18,6 +18,8 @@ import Control.Monad (liftM2) + import Data.Binary (Binary, get, put) + import qualified Data.List as List + import qualified Data.Map.Strict as Map ++import System.Environment as Env ++import qualified Data.ByteString as BS + + import qualified Deps.Website as Website + import qualified Elm.Package as Pkg +@@ -190,13 +192,28 @@ getVersions' name (Registry _ versions) = + post :: Http.Manager -> String -> D.Decoder x a -> (a -> IO b) -> IO (Either Exit.RegistryProblem b) + post manager path decoder callback = + let +- url = Website.route path [] +- in +- Http.post manager url [] Exit.RP_Http $ +- \body -> ++ mkBodyCallback url body = + case D.fromByteString decoder body of + Right a -> Right <$> callback a + Left _ -> return $ Left $ Exit.RP_Data url body ++ postOnline url cb = ++ Http.post manager url [] Exit.RP_Http cb ++ performPost f url = ++ f url (mkBodyCallback url) ++ in ++ do ++ maybeFile <- Env.lookupEnv "GUIX_ELM_OFFLINE_REGISTRY_FILE" ++ case (path, maybeFile) of ++ ( "/all-packages", Just file ) -> ++ performPost postOffline file ++ ( _, _ ) -> ++ -- don't know how to handle other endpoints yet ++ performPost postOnline (Website.route path []) ++ ++postOffline :: String -> (BS.ByteString -> IO a) -> IO a ++postOffline file callback = do ++ body <- BS.readFile file ++ callback body + + + +-- +2.32.0 + diff --git a/guix/build-system/elm.scm b/guix/build-system/elm.scm new file mode 100644 index 0000000000..b54954bf4e --- /dev/null +++ b/guix/build-system/elm.scm @@ -0,0 +1,172 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2022 Philip McGrath +;;; +;;; 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 . + +(define-module (guix build-system elm) + #:use-module (guix store) + #:use-module (guix utils) + #:use-module (guix packages) + #:use-module (guix gexp) + #:use-module (guix monads) + #:use-module (guix search-paths) + #:use-module (guix git-download) + #:use-module (guix build-system) + #:use-module (guix build-system gnu) + #:use-module (ice-9 match) + #:use-module (srfi srfi-1) + #:export (elm->package-name + guix-package->elm-name + infer-elm-package-name + elm-package-origin + %elm-build-system-modules + %elm-default-modules + elm-build + elm-build-system)) + +(define (elm->package-name name) + "Given the NAME of an Elm package, return a Guix-style package name." + (let ((converted + (string-join (string-split (string-downcase name) #\/) "-"))) + (if (string-prefix? "elm-" converted) + converted + (string-append "elm-" converted)))) + +(define (guix-package->elm-name package) + "Given an Elm PACKAGE, return the possibly-inferred upstream name, or #f the +upstream name is not specified and can't be inferred." + (or (assoc-ref (package-properties package) 'upstream-name) + (infer-elm-package-name (package-name package)))) + +(define (infer-elm-package-name guix-name) + "Given the GUIX-NAME of an Elm package, return the inferred upstream name, +or #f if it can't be inferred. If the result is not #f, supplying it to +'elm->package-name' would produce GUIX-NAME. + +See also 'guix-package->elm-name', which respects the 'upstream-name' +property." + (define (parts-join part0 parts) + (string-join (cons part0 parts) "-")) + (match (string-split guix-name #\-) + (("elm" "explorations" part0 parts ...) + (string-append "elm-explorations/" + (parts-join part0 parts))) + (("elm" owner part0 parts ...) + (string-append owner "/" (parts-join part0 parts))) + (("elm" repo) + (string-append "elm/" repo)) + (_ + #f))) + +(define (elm-package-origin elm-name version hash) + "Return an origin for the Elm package with upstream name ELM-NAME at the +given VERSION with sha256 checksum HASH." + ;; elm requires this very specific repository structure and tagging regime + (origin + (method git-fetch) + (uri (git-reference + (url (string-append "https://github.com/" elm-name)) + (commit version))) + (file-name (git-file-name (elm->package-name elm-name) version)) + (sha256 hash))) + +(define %elm-build-system-modules + ;; Build-side modules imported by default. + `((guix build elm-build-system) + (guix build json) + (guix build union) + ,@%gnu-build-system-modules)) + +(define %elm-default-modules + ;; Modules in scope in the build-side environment. + '((guix build elm-build-system) + (guix build utils) + (guix build json) + (guix build union))) + +(define (default-elm) + "Return the default Elm package for builds." + ;; Lazily resolve the binding to avoid a circular dependency. + (let ((elm (resolve-interface '(gnu packages elm)))) + (module-ref elm 'elm))) + +(define* (lower name + #:key source inputs native-inputs outputs system target + (implicit-elm-package-inputs? #t) + (elm (default-elm)) + #:allow-other-keys + #:rest arguments) + "Return a bag for NAME." + (define private-keywords + '(#:target #:implicit-elm-package-inputs? #:elm #:inputs #:native-inputs)) + (cond + (target + ;; Cross-compilation is not yet supported. It should be easy, though, + ;; since the build products are all platform-independent. + #f) + (else + (bag + (name name) + (system system) + (host-inputs + `(,@(if source + `(("source" ,source)) + '()) + ,@inputs + ("elm" ,elm) + ;; TODO: probably don't need most of (standard-packages) + ,@(standard-packages))) + (outputs outputs) + (build elm-build) + (arguments (strip-keyword-arguments private-keywords arguments)))))) + +(define* (elm-build name inputs + #:key + source + (tests? #t) + (phases '%standard-phases) + (outputs '("out")) + (search-paths '()) + (system (%current-system)) + (guile #f) + (imported-modules %elm-build-system-modules) + (modules %elm-default-modules)) + "Build SOURCE using ELM." + (define builder + (with-imported-modules imported-modules + #~(begin + (use-modules #$@(sexp->gexp modules)) + (elm-build #:name #$name + #:source #+source + #:system #$system + #:tests? #$tests? + #:phases #$phases + #:outputs #$(outputs->gexp outputs) + #:search-paths '#$(sexp->gexp + (map search-path-specification->sexp + search-paths)) + #:inputs #$(input-tuples->gexp inputs))))) + (mlet %store-monad ((guile (package->derivation (or guile (default-guile)) + system #:graft? #f))) + (gexp->derivation name builder + #:system system + #:guile-for-build guile))) + +(define elm-build-system + (build-system + (name 'elm) + (description "The Elm build system") + (lower lower))) diff --git a/guix/build/elm-build-system.scm b/guix/build/elm-build-system.scm new file mode 100644 index 0000000000..02d7c029dd --- /dev/null +++ b/guix/build/elm-build-system.scm @@ -0,0 +1,380 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2022 Philip McGrath +;;; +;;; 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 . + +(define-module (guix build elm-build-system) + #:use-module ((guix build gnu-build-system) #:prefix gnu:) + #:use-module (guix build utils) + #:use-module (guix build json) + #:use-module (guix build union) + #:use-module (ice-9 ftw) + #:use-module (ice-9 rdelim) + #:use-module (ice-9 regex) + #:use-module (ice-9 match) + #:use-module (ice-9 popen) + #:use-module (ice-9 vlist) + #:use-module (srfi srfi-1) + #:use-module (srfi srfi-26) + #:use-module (srfi srfi-71) + #:export (%standard-phases + patch-application-dependencies + patch-json-string-escapes + read-offline-registry->vhash + elm-build)) + +;;; Commentary: +;;; +;;; Elm draws a sharp distinction between "projects" with `{"type":"package"}` +;;; vs. `{"type":"application"}` in the "elm.json" file: see +;;; and +;;; . +;;; For now, `elm-build-system` is designed for "package"s: packaging +;;; "application"s requires ad-hoc replacements for some phases---but see +;;; `patch-application-dependencies`, which helps to work around a known issue +;;; discussed below. It would be nice to add more streamlined support for +;;; "application"s one we have more experience building them in Guix. For +;;; example, we could incorporate the `uglifyjs` advice from +;;; . +;;; +;;; We want building an Elm "package" to produce: +;;; +;;; - a "docs.json" file with extracted documentation; and +;;; +;;; - an "artifacts.dat" file with compilation results for use in building +;;; "package"s and "application"s. +;;; +;;; Unfortunately, there isn't an entry point to the Elm compiler that builds +;;; those files directly. Building with `elm make` does something different, +;;; more oriented toward development, testing, and building "application"s. +;;; We work around this limitation by staging the "package" we're building as +;;; though it were already installed in ELM_HOME, generating a trivial Elm +;;; "application" that depends on the "package", and building the +;;; "application", which causes the files for the "package" to be built. +;;; +;;; Much of the ceremony involved is to avoid using `elm` in ways that would +;;; make it try to do network IO beyond the bare minimum functionality for +;;; which we've patched a replacement into our `elm`. On the other hand, we +;;; get to take advantage of the very regular structure required of Elm +;;; packages. +;;; +;;; *Known issue:* Elm itself supports multiple versions of "package"s +;;; coexisting simultaneously under ELM_HOME, but we do not support this yet. +;;; Sometimes, parallel versions coexisting causes `elm` to try to write to +;;; built "artifacts.dat" files. For now, two workarounds are possible: +;;; +;;; - Use `patch-application-dependencies` to rewrite an "application"'s +;;; "elm.json" file to refer to the versions of its inputs actually +;;; packaged in Guix. +;;; +;;; - Use a Guix package transformation to rewrite your "application"'s +;;; dependencies recursively, so that only one version of each Elm +;;; "package" is included in your "application"'s build environment. +;;; +;;; Patching `elm` more extensively---perhaps adding an `elm guix` +;;; subcommand`---might let us address these issues more directly. +;;; +;;; Code: +;;; + +(define %essential-elm-packages + ;; elm/json isn't essential in a fundamental sense, + ;; but it's required for a {"type":"application"}, + ;; which we are generating to trigger the build + '("elm/core" "elm/json")) + +(define* (target-elm-version #:optional elm) + "Return the version of ELM or whichever 'elm' is in $PATH. +Return #false if it cannot be determined." + (let* ((pipe (open-pipe* OPEN_READ + (or elm "elm") + "--version")) + (line (read-line pipe))) + (and (zero? (close-pipe pipe)) + (string? line) + line))) + +(define* (prepare-elm-home #:key native-inputs inputs #:allow-other-keys) + "Set the ELM_HOME environment variable and populate the indicated directory +with the union of the Elm \"package\" inputs. Also, set GUIX_ELM_VERSION to +the version of the Elm compiler in use." + (let* ((elm (search-input-file (or native-inputs inputs) "/bin/elm")) + (elm-version (target-elm-version elm))) + (setenv "GUIX_ELM_VERSION" elm-version) + (mkdir "../elm-home") + (with-directory-excursion "../elm-home" + (union-build elm-version + (search-path-as-list + (list (string-append "share/elm/" elm-version)) + (map cdr inputs)) + #:create-all-directories? #t) + (setenv "ELM_HOME" (getcwd))))) + +(define* (stage #:key native-inputs inputs #:allow-other-keys) + "Extract the installable files from the Elm \"package\" into a staging +directory and link it into the ELM_HOME tree. Also, set GUIX_ELM_PKG_NAME and +GUIX_ELM_PKG_VERSION to the name and version, respectively, of the Elm package +being built, as defined in its \"elm.json\" file." + (let* ((elm-version (getenv "GUIX_ELM_VERSION")) + (elm-home (getenv "ELM_HOME")) + (info (match (call-with-input-file "elm.json" read-json) + (('@ . alist) alist))) + (name (assoc-ref info "name")) + (version (assoc-ref info "version")) + (rel-dir (string-append elm-version "/packages/" name "/" version)) + (staged-dir (string-append elm-home "/../staged/" rel-dir))) + (setenv "GUIX_ELM_PKG_NAME" name) + (setenv "GUIX_ELM_PKG_VERSION" version) + (mkdir-p staged-dir) + (mkdir-p (string-append elm-home "/" (dirname rel-dir))) + (symlink staged-dir + (string-append elm-home "/" rel-dir)) + (copy-recursively "src" (string-append staged-dir "/src")) + (install-file "elm.json" staged-dir) + (install-file "README.md" staged-dir) + (when (file-exists? "LICENSE") + (install-file "LICENSE" staged-dir)))) + +(define (patch-json-string-escapes file) + "Work around a bug in the Elm compiler's JSON parser by attempting to +replace REVERSE-SOLIDUS--SOLIDUS escape sequences in FILE with unescaped +SOLIDUS characters." + ;; https://github.com/elm/compiler/issues/2255 + (substitute* file + (("\\\\/") + "/"))) + +(define (directory-list dir) + "Like DIRECTORY-LIST from 'racket/base': lists the contents of DIR, not +including the special \".\" and \"..\" entries." + (scandir dir (lambda (f) + (not (member f '("." "..")))))) + +(define* (make-offline-registry-file #:key inputs #:allow-other-keys) + "Generate an \"offline-package-registry.json\" file and set +GUIX_ELM_OFFLINE_REGISTRY_FILE to its path, cooperating with a patch to `elm` +to avoid attempting to download a list of all published Elm package names and +versions from the internet." + (let* ((elm-home (getenv "ELM_HOME")) + (elm-version (getenv "GUIX_ELM_VERSION")) + (registry-file + (string-append elm-home "/../offline-package-registry.json")) + (registry-alist + ;; here, we don't need to look up entries, so we build the + ;; alist directly, rather than using a vhash + (with-directory-excursion + (string-append elm-home "/" elm-version "/packages") + (append-map (lambda (org) + (with-directory-excursion org + (map (lambda (repo) + (cons (string-append org "/" repo) + (directory-list repo))) + (directory-list ".")))) + (directory-list "."))))) + (call-with-output-file registry-file + (lambda (out) + (write-json `(@ ,@registry-alist) out))) + (patch-json-string-escapes registry-file) + (setenv "GUIX_ELM_OFFLINE_REGISTRY_FILE" registry-file))) + +(define (read-offline-registry->vhash) + "Return a vhash mapping Elm \"package\" names to lists of available version +strings." + (alist->vhash + (match (call-with-input-file (getenv "GUIX_ELM_OFFLINE_REGISTRY_FILE") + read-json) + (('@ . alist) alist)))) + +(define (find-indirect-dependencies registry-vhash root-pkg root-version) + "Return the recursive dependencies of ROOT-PKG, an Elm \"package\" name, at +version ROOT-VERSION as an alist mapping Elm \"package\" names to (single) +versions. The resulting alist will not include entries for +%ESSENTIAL-ELM-PACKAGES or for ROOT-PKG itself. The REGISTRY-VHASH is used in +conjunction with the ELM_HOME environment variable to find dependencies." + (with-directory-excursion + (string-append (getenv "ELM_HOME") + "/" (getenv "GUIX_ELM_VERSION") + "/packages") + (define (get-dependencies pkg version acc) + (let* ((elm-json-alist + (match (call-with-input-file + (string-append pkg "/" version "/elm.json") + read-json) + (('@ . alist) alist))) + (deps-alist + (match (assoc-ref elm-json-alist "dependencies") + (('@ . alist) alist))) + (deps-names + (filter-map (match-lambda + ((name . range) + (and (not (member name %essential-elm-packages)) + name))) + deps-alist))) + (fold register-dependency acc deps-names))) + (define (register-dependency pkg acc) + ;; Using vhash-cons unconditionally would add duplicate entries, + ;; which would then cause problems when we must emit JSON. + ;; Plus, we can avoid needlessly duplicating work. + (if (vhash-assoc pkg acc) + acc + (match (vhash-assoc pkg registry-vhash) + ((_ version . _) + ;; in the rare case that multiple versions are present, + ;; just picking an arbitrary one seems to work well enough for now + (get-dependencies pkg version (vhash-cons pkg version acc)))))) + (vlist->list + (get-dependencies root-pkg root-version vlist-null)))) + +(define* (patch-application-dependencies #:key inputs #:allow-other-keys) + "Rewrites the \"elm.json\" file in the working directory---which must be of +`\"type\":\"application\"`, not `\"type\":\"package\"`---to refer to the +dependency versions actually provided via Guix. The +GUIX_ELM_OFFLINE_REGISTRY_FILE environment variable is used to find available +versions." + (let* ((registry-vhash (read-offline-registry->vhash)) + (rewrite-dep-version + (match-lambda + ((name . _) + (cons name (match (vhash-assoc name registry-vhash) + ((_ version) ;; no dot + version)))))) + (rewrite-direct/indirect + (match-lambda + ;; a little checking to avoid confusing misuse with "package" + ;; project dependencies, which have a different shape + (((and key (or "direct" "indirect")) + '@ . alist) + `(,key @ ,@(map rewrite-dep-version alist))))) + (rewrite-json-section + (match-lambda + (((and key (or "dependencies" "test-dependencies")) + '@ . alist) + `(,key @ ,@(map rewrite-direct/indirect alist))) + ((k . v) + (cons k v)))) + (rewrite-elm-json + (match-lambda + (('@ . alist) + `(@ ,@(map rewrite-json-section alist)))))) + (with-atomic-file-replacement "elm.json" + (lambda (in out) + (write-json (rewrite-elm-json (read-json in)) + out))) + (patch-json-string-escapes "elm.json"))) + +(define* (configure #:key native-inputs inputs #:allow-other-keys) + "Generate a trivial Elm \"application\" with a direct dependency on the Elm +\"package\" currently being built." + (let* ((info (match (call-with-input-file "elm.json" read-json) + (('@ . alist) alist))) + (name (getenv "GUIX_ELM_PKG_NAME")) + (version (getenv "GUIX_ELM_PKG_VERSION")) + (elm-home (getenv "ELM_HOME")) + (registry-vhash (read-offline-registry->vhash)) + (app-dir (string-append elm-home "/../fake-app"))) + (mkdir-p (string-append app-dir "/src")) + (with-directory-excursion app-dir + (call-with-output-file "elm.json" + (lambda (out) + (write-json + `(@ ("type" . "application") + ("source-directories" "src") ;; intentionally no dot + ("elm-version" . ,(getenv "GUIX_ELM_VERSION")) + ("dependencies" + @ ("direct" + @ ,@(map (lambda (pkg) + (match (vhash-assoc pkg registry-vhash) + ((_ pkg-version . _) + (cons pkg + (if (equal? pkg name) + version + pkg-version))))) + (if (member name %essential-elm-packages) + %essential-elm-packages + (cons name %essential-elm-packages)))) + ("indirect" + @ ,@(if (member name %essential-elm-packages) + '() + (find-indirect-dependencies registry-vhash + name + version)))) + ("test-dependencies" + @ ("direct" @) + ("indirect" @))) + out))) + (patch-json-string-escapes "elm.json") + (with-output-to-file "src/Main.elm" + ;; the most trivial possible elm program + (lambda () + (display "module Main exposing (..) +main : Program () () () +main = Platform.worker + { init = \\_ -> ( (), Cmd.none ) + , update = \\_ -> \\_ -> ( (), Cmd.none ) + , subscriptions = \\_ -> Sub.none }")))))) + +(define* (build #:key native-inputs inputs #:allow-other-keys) + "Run `elm make` to build the Elm \"application\" generated by CONFIGURE." + (with-directory-excursion (string-append (getenv "ELM_HOME") "/../fake-app") + (invoke (search-input-file (or native-inputs inputs) "/bin/elm") + "make" + "src/Main.elm"))) + +(define* (check #:key tests? #:allow-other-keys) + "Does nothing, because the `elm-test` executable has not yet been packaged +for Guix." + (when tests? + (display "elm-test has not yet been packaged for Guix\n"))) + +(define* (install #:key outputs #:allow-other-keys) + "Installs the contents of the directory generated by STAGE, including any +files added by BUILD, to the Guix package output." + (copy-recursively + (string-append (getenv "ELM_HOME") "/../staged") + (string-append (assoc-ref outputs "out") "/share/elm"))) + +(define* (validate-compiled #:key outputs #:allow-other-keys) + "Checks that the files \"artifacts.dat\" and \"docs.json\" have been +installed." + (let ((base (string-append "/share/elm/" + (getenv "GUIX_ELM_VERSION") + "/packages/" + (getenv "GUIX_ELM_PKG_NAME") + "/" + (getenv "GUIX_ELM_PKG_VERSION"))) + (expected '("artifacts.dat" "docs.json"))) + (for-each (lambda (name) + (search-input-file outputs (string-append base "/" name))) + expected))) + +(define %standard-phases + (modify-phases gnu:%standard-phases + (add-after 'unpack 'prepare-elm-home prepare-elm-home) + (delete 'bootstrap) + (add-after 'patch-source-shebangs 'stage stage) + (add-after 'stage 'make-offline-registry-file make-offline-registry-file) + (replace 'configure configure) + (delete 'patch-generated-file-shebangs) + (replace 'build build) + (replace 'check check) + (replace 'install install) + (add-before 'validate-documentation-location 'validate-compiled + validate-compiled))) + +(define* (elm-build #:key inputs (phases %standard-phases) + #:allow-other-keys #:rest args) + "Builds the given Elm project, applying all of the PHASES in order." + (apply gnu:gnu-build #:inputs inputs #:phases phases args)) diff --git a/tests/elm.scm b/tests/elm.scm new file mode 100644 index 0000000000..96f958f060 --- /dev/null +++ b/tests/elm.scm @@ -0,0 +1,97 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2022 Philip McGrath +;;; +;;; 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 . + +(define-module (test-elm) + #:use-module (guix build-system elm) + #:use-module (srfi srfi-64)) + +(test-begin "elm") + +(test-group "elm->package-name and infer-elm-package-name" + (test-group "round trip" + ;; Cases when our heuristics can find the upstream name. + (define-syntax-rule (test-round-trip elm guix) + (test-group elm + (test-equal "elm->package-name" guix + (elm->package-name elm)) + (test-equal "infer-elm-package-name" elm + (infer-elm-package-name guix)))) + (test-round-trip "elm/core" "elm-core") + (test-round-trip "elm/html" "elm-html") + (test-round-trip "elm-explorations/markdown" "elm-explorations-markdown") + (test-round-trip "elm-explorations/test" "elm-explorations-test") + (test-round-trip "elm-explorations/foo-bar" "elm-explorations-foo-bar") + (test-round-trip "elm/explorations" "elm-explorations") + (test-round-trip "terezka/intervals" "elm-terezka-intervals") + (test-round-trip "justinmimbs/time-extra" "elm-justinmimbs-time-extra") + (test-round-trip "danhandrea/elm-date-format" + "elm-danhandrea-elm-date-format")) + (test-group "upstream-name needed" + ;; Upstream names that our heuristic can't infer. We still check that the + ;; round-trip behavior of 'infer-elm-package-name' works as promised for + ;; the hypothetical Elm name it doesn't infer. + (define-syntax-rule (test-upstream-needed elm guix inferred) + (test-group elm + (test-equal "elm->package-name" guix + (elm->package-name elm)) + (test-group "infer-elm-package-name" + (test-equal "infers other name" inferred + (infer-elm-package-name guix)) + (test-equal "infered name round-trips" guix + (elm->package-name inferred))))) + (test-upstream-needed "elm/virtual-dom" + "elm-virtual-dom" + "virtual/dom") + (test-upstream-needed "elm/project-metadata-utils" + "elm-project-metadata-utils" + "project/metadata-utils") + (test-upstream-needed "explorations/foo" + "elm-explorations-foo" + "elm-explorations/foo") + (test-upstream-needed "explorations/foo-bar" + "elm-explorations-foo-bar" + "elm-explorations/foo-bar") + (test-upstream-needed "explorations-central/foo" + "elm-explorations-central-foo" + "elm-explorations/central-foo") + (test-upstream-needed "explorations-central/foo-bar" + "elm-explorations-central-foo-bar" + "elm-explorations/central-foo-bar") + (test-upstream-needed "elm-xyz/foo" + "elm-xyz-foo" + "xyz/foo") + (test-upstream-needed "elm-xyz/foo-bar" + "elm-xyz-foo-bar" + "xyz/foo-bar") + (test-upstream-needed "elm-explorations-xyz/foo" + "elm-explorations-xyz-foo" + "elm-explorations/xyz-foo") + (test-upstream-needed "elm-explorations-xyz/foo-bar" + "elm-explorations-xyz-foo-bar" + "elm-explorations/xyz-foo-bar")) + (test-group "no inferred Elm name" + ;; Cases that 'infer-elm-package-name' should not attempt to handle, + ;; because 'elm->package-name' would never produce such names. + (define-syntax-rule (test-not-inferred guix) + (test-assert guix (not (infer-elm-package-name guix)))) + (test-not-inferred "elm") + (test-not-inferred "guile") + (test-not-inferred "gcc-toolchain") + (test-not-inferred "font-adobe-source-sans-pro"))) + +(test-end "elm") From patchwork Wed May 18 18:10:51 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philip McGrath X-Patchwork-Id: 39474 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 09B1227BBEB; Wed, 18 May 2022 19:14:02 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id BC38127BBE9 for ; Wed, 18 May 2022 19:14:01 +0100 (BST) Received: from localhost ([::1]:36086 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nrOBM-0007lQ-TQ for patchwork@mira.cbaines.net; Wed, 18 May 2022 14:14:00 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45080) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nrOAS-0007jh-FN for guix-patches@gnu.org; Wed, 18 May 2022 14:13:04 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:39621) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nrOAS-0005Db-6n for guix-patches@gnu.org; Wed, 18 May 2022 14:13:04 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nrOAS-0006Lm-2B for guix-patches@gnu.org; Wed, 18 May 2022 14:13:04 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#55030] [PATCH v2 04/34] gnu: Add elm-core and elm-json. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 18 May 2022 18:13:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 55030 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 55030@debbugs.gnu.org Cc: Ludovic =?utf-8?q?Court=C3=A8s?= , Philip McGrath Received: via spool by 55030-submit@debbugs.gnu.org id=B55030.165289755224216 (code B ref 55030); Wed, 18 May 2022 18:13:04 +0000 Received: (at 55030) by debbugs.gnu.org; 18 May 2022 18:12:32 +0000 Received: from localhost ([127.0.0.1]:33483 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nrO9v-0006IQ-Si for submit@debbugs.gnu.org; Wed, 18 May 2022 14:12:32 -0400 Received: from mail-vs1-f47.google.com ([209.85.217.47]:36582) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nrO9q-0006HS-4P for 55030@debbugs.gnu.org; Wed, 18 May 2022 14:12:26 -0400 Received: by mail-vs1-f47.google.com with SMTP id a127so2931317vsa.3 for <55030@debbugs.gnu.org>; Wed, 18 May 2022 11:12:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=A40wEgFKKY9lYeWzxj9PYAKWwU0RVrK9CMU3xjzroE4=; b=duuhDif1zXaTlOACA7J8sP3KSh9rLlF4auoeT7FHnKWvsfOPBSSuZxew6nhLC1LHie biDT1V6MsFicclXBOYHkNGt6NntsYsaZ2B6+kRjWOOWAYVKEv29Ru8l493oUGKTyt56E 2xXGZ2MDpDUmtz3QQ1BqQcgqerd9Jll7MPvkEFBOzILJgSixvKNUtrJvvSOqk4bSxU5p RTP/ylWOxRjRNEoOYp531VviWQ/L5PgO3N9AP04wBhvKR7oTeE586zORPoRRgThcXJf7 IPehBJbi4TWOmjwzTN5gRH1JiNkn2yCyH+AN0jgnmMifzMW9hhtoE+8/Am+RJegW4px4 rggQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=A40wEgFKKY9lYeWzxj9PYAKWwU0RVrK9CMU3xjzroE4=; b=tXE9lxG6hyf/4tvm9I2aOTSqRMVgta5nhRn4CkN4oHJYWNuyUZY6JvgWVx40sG3ccA L39GtLvVLNkXPAzC11M93DU7Vz6uoL4T2ejhYZ/GQL3TgFx2LwQ0KmbVAfoWIYgu4McU wfDaknpS+CucJJ6Z297zXJg5vmLMEnS3WAeGWZTRW03WuFhOj4lavJpaxj33bZa4682v guvq2KlpFTofDLHwnX54XDtTpatgf01l6JH5eWPVyZ0iIPznSF7Isq1rWUkpsVZ1RJDz vZUBOw80U9EX2t+MQ+MuntC3gZn6KQJtrn4y98zhXER6QvwQx0xFB33TC7yjhwJNbsAV mvZg== X-Gm-Message-State: AOAM531IBcIciUjZUd6vOtsdbApHr9+Vzyy8ciKLEvh1ByI4ZBleghQM LYgpv7F1sdY8UVUNCJND/1OPrMqolYiMWnTN X-Google-Smtp-Source: ABdhPJxdCT30ghCkeTsPsRmEvgWvIdzKr6mixsWXorpDiidexjwbA9GPCsYkZOKBq7WlYYjUBO1+jA== X-Received: by 2002:a67:f547:0:b0:32c:dedd:a0b2 with SMTP id z7-20020a67f547000000b0032cdedda0b2mr646734vsn.39.1652897540411; Wed, 18 May 2022 11:12:20 -0700 (PDT) Received: from localhost (c-73-125-98-51.hsd1.fl.comcast.net. [73.125.98.51]) by smtp.gmail.com with UTF8SMTPSA id e9-20020a056102310900b00335b911757csm254098vsh.26.2022.05.18.11.12.17 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 18 May 2022 11:12:18 -0700 (PDT) From: Philip McGrath Date: Wed, 18 May 2022 14:10:51 -0400 Message-Id: <44d6846eec4e21cb7016e64b6d9cc52ae101e511.1652890702.git.philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: References: <20220419232736.272970-1-philip@philipmcgrath.com> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches Both of these packages are needed for 'elm-build-system' to work. * gnu/packages/elm.scm (elm-core, elm-json, elm-json-bootstrap): New variables. --- gnu/packages/elm.scm | 55 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/gnu/packages/elm.scm b/gnu/packages/elm.scm index 35bdcc65f5..4ad3a000cb 100644 --- a/gnu/packages/elm.scm +++ b/gnu/packages/elm.scm @@ -103,3 +103,58 @@ (define-public elm ;; The 'elm' package used to be called 'elm-compiler'. (define-public elm-compiler (deprecated-package "elm-compiler" elm)) + +(define-public elm-core + (package + (name "elm-core") + (version "1.0.5") + (source + (elm-package-origin + "elm/core" + version + (base32 "0g3xbi8f9k5q45s95nx3jfvzwdf4b2n63a52wr4027d2xjx0pmvl"))) + (build-system elm-build-system) + (inputs (list elm-json-bootstrap)) + (arguments + (list #:implicit-elm-package-inputs? #f)) + (home-page "https://package.elm-lang.org/packages/elm/core/1.0.5") + (synopsis "Elm's standard libraries") + (description "Every Elm project needs this package!") + (license license:bsd-3))) + +(define-public elm-json + (package + (name "elm-json") + (version "1.1.3") + (source + (elm-package-origin + "elm/json" + version + (base32 "1hx986yqw1v2bpkrh6brszl8n8awwg1s8zi7v5qg0p1rqwvjlicz"))) + (build-system elm-build-system) + (propagated-inputs (list elm-core)) + (arguments + (list #:implicit-elm-package-inputs? #f)) + (home-page "https://package.elm-lang.org/packages/elm/json/1.1.3") + (synopsis "Encode and decode JSON values in Elm") + (description + "This package helps you convert between Elm values and JSON values.") + (license license:bsd-3))) + +(define-public elm-json-bootstrap + ;; elm/core doesn't depend on elm/json, + ;; but elm-build-system's strategy for building it + ;; (and everything else) does + (hidden-package + (package + (inherit elm-json) + (name "elm-json-bootstrap") + (properties '((upstream-name . "elm/json"))) + (propagated-inputs '()) + (arguments + (list #:phases + #~(modify-phases %standard-phases + (delete 'configure) + (delete 'build) + (delete 'validate-compiled)) + #:implicit-elm-package-inputs? #f))))) From patchwork Wed May 18 18:10:52 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philip McGrath X-Patchwork-Id: 39478 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 19CBC27BBE9; Wed, 18 May 2022 19:14:29 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 78F9C27BBEB for ; Wed, 18 May 2022 19:14:28 +0100 (BST) Received: from localhost ([::1]:37066 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nrOBn-00008w-KJ for patchwork@mira.cbaines.net; Wed, 18 May 2022 14:14:27 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45084) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nrOAS-0007kX-Vs for guix-patches@gnu.org; Wed, 18 May 2022 14:13:05 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:39622) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nrOAS-0005Dm-Ky for guix-patches@gnu.org; Wed, 18 May 2022 14:13:04 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nrOAS-0006Lz-Gn for guix-patches@gnu.org; Wed, 18 May 2022 14:13:04 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#55030] [PATCH v2 05/34] build-system/elm: Add implicit Elm inputs. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 18 May 2022 18:13:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 55030 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 55030@debbugs.gnu.org Cc: Ludovic =?utf-8?q?Court=C3=A8s?= , Philip McGrath Received: via spool by 55030-submit@debbugs.gnu.org id=B55030.165289755224222 (code B ref 55030); Wed, 18 May 2022 18:13:04 +0000 Received: (at 55030) by debbugs.gnu.org; 18 May 2022 18:12:32 +0000 Received: from localhost ([127.0.0.1]:33485 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nrO9w-0006IX-86 for submit@debbugs.gnu.org; Wed, 18 May 2022 14:12:32 -0400 Received: from mail-vs1-f41.google.com ([209.85.217.41]:37860) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nrO9t-0006Hi-Or for 55030@debbugs.gnu.org; Wed, 18 May 2022 14:12:30 -0400 Received: by mail-vs1-f41.google.com with SMTP id w10so458218vsa.4 for <55030@debbugs.gnu.org>; Wed, 18 May 2022 11:12:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=8eB+KxS+XvMi+vTosChUMKJY/hyck4QM8yg+N6olk1s=; b=BXHLGE8s+9TulrS/pEb/GifG7zz/ETI3t7rNXUEr8y0Qhs8+8Dx1X/evm2OrmST3LW P0W0WFkfYLuNcP+4bCDG6ccSK1kFDIoxjFYI7ffll9PDmupzqmJiKlvnt4yAU6dnUN/O FI29ni4Onj3Y5buRG8XxJukJXQzjmmaMTOHKzY06BmMrW8+EnMW9E/Qdb8HNRve2poYN g0ZNtyGFOfKYc/wzFPPLHBrABMvAAbmObHm/eZ+uPE8jwIpa6QlWIyXZiuanuEDZE2dT RJTOKvJUwPtUUUWUWl1ZVTn5evWz50TD1B48Sqc6UUtucU0li4+oQz5Th4BgTMFGr5Oo fOBw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=8eB+KxS+XvMi+vTosChUMKJY/hyck4QM8yg+N6olk1s=; b=SH9nckdFz/ayePuhB0De1X4gM+7RMJcNv0ZLQWekO+EfHL2AqD8LjaY4kXcLYMZmp1 BRxqV5nOVzBmb2uGaHkAy+3gXABpXb4AuIjkl5tbOQG1TTxDpnZBCPIY9RBvSiJNI2uF u5bp0TAWqbPrluoIin67kf3AwKA5+7ZmoyLZGaUbqeIsZPNb8mkmV7gUSsgnhmhUf1aq ojF/3Bte3EAEP3fnLucxga4k/vWglfSaYx1K9A5057c+9m1rp+gMeVSy0SMIx7xvoUmU lqn5h2UxGPB7nIz9S4P1Xt4hW+2kmfhNV44N7/zXlyhI+aocqu1/318L5Moukft209Dq n72A== X-Gm-Message-State: AOAM530l6gTLL7Pk41bI0srOMg/EuYLUhHDvzpNp7BHF4HJCZoLHDIV8 jWiIbEVw9G+TD1+OJmrzaqYGanA4Y+fE1Vd4 X-Google-Smtp-Source: ABdhPJzkEf1hHdlTRML/ImcwpgkCMizS4ddukbYG9PCt+PXOYSXjFWrrXl+7f2irXt683gvHfCYZQw== X-Received: by 2002:a05:6102:6d1:b0:32d:35ae:f68e with SMTP id m17-20020a05610206d100b0032d35aef68emr588781vsg.7.1652897544395; Wed, 18 May 2022 11:12:24 -0700 (PDT) Received: from localhost (c-73-125-98-51.hsd1.fl.comcast.net. [73.125.98.51]) by smtp.gmail.com with UTF8SMTPSA id a18-20020ab03c92000000b003626f894deasm342446uax.24.2022.05.18.11.12.23 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 18 May 2022 11:12:24 -0700 (PDT) From: Philip McGrath Date: Wed, 18 May 2022 14:10:52 -0400 Message-Id: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: <20220419232736.272970-1-philip@philipmcgrath.com> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * guix/build-system/elm.scm (default-elm-core): New variable. (default-elm-json): Likewise (lower): Use them as implicit inputs when applicable. --- guix/build-system/elm.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/guix/build-system/elm.scm b/guix/build-system/elm.scm index b54954bf4e..293bcbfb64 100644 --- a/guix/build-system/elm.scm +++ b/guix/build-system/elm.scm @@ -103,6 +103,18 @@ (define (default-elm) (let ((elm (resolve-interface '(gnu packages elm)))) (module-ref elm 'elm))) +(define (default-elm-core) + "Return the default elm-core package." + ;; Lazily resolve the binding to avoid a circular dependency. + (let ((elm (resolve-interface '(gnu packages elm)))) + (module-ref elm 'elm-core))) + +(define (default-elm-json) + "Return the default elm-json package." + ;; Lazily resolve the binding to avoid a circular dependency. + (let ((elm (resolve-interface '(gnu packages elm)))) + (module-ref elm 'elm-json))) + (define* (lower name #:key source inputs native-inputs outputs system target (implicit-elm-package-inputs? #t) @@ -127,6 +139,28 @@ (define* (lower name '()) ,@inputs ("elm" ,elm) + ,@(cond + (implicit-elm-package-inputs? + ;; These are needed for elm-build-system even if not actually + ;; needed by the package being built. But "elm/json" is often + ;; present in practice, and "elm/core" always is: only add the + ;; default packages if no suitable inputs have been given + ;; explicitly. + (filter-map + (match-lambda + ((name get-default) + (cond + ((find (match-lambda + ((_ pkg . _) + (equal? name (guix-package->elm-name pkg)))) + inputs) + #f) + (else + `(,name ,(get-default)))))) + `(("elm/core" ,default-elm-core) + ("elm/json" ,default-elm-json)))) + (else + '())) ;; TODO: probably don't need most of (standard-packages) ,@(standard-packages))) (outputs outputs) From patchwork Wed May 18 18:10:53 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philip McGrath X-Patchwork-Id: 39477 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 892E627BBEC; Wed, 18 May 2022 19:14:28 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 0DFE927BBE9 for ; Wed, 18 May 2022 19:14:28 +0100 (BST) Received: from localhost ([::1]:36998 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nrOBn-000050-7D for patchwork@mira.cbaines.net; Wed, 18 May 2022 14:14:27 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45086) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nrOAT-0007lT-A9 for guix-patches@gnu.org; Wed, 18 May 2022 14:13:05 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:39623) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nrOAT-0005Dr-10 for guix-patches@gnu.org; Wed, 18 May 2022 14:13:05 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nrOAS-0006M6-TM for guix-patches@gnu.org; Wed, 18 May 2022 14:13:04 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#55030] [PATCH v2 06/34] http-client: Accept '#:headers' in 'http-fetched/cached'. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 18 May 2022 18:13:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 55030 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 55030@debbugs.gnu.org Cc: Ludovic =?utf-8?q?Court=C3=A8s?= , Philip McGrath Received: via spool by 55030-submit@debbugs.gnu.org id=B55030.165289755524238 (code B ref 55030); Wed, 18 May 2022 18:13:04 +0000 Received: (at 55030) by debbugs.gnu.org; 18 May 2022 18:12:35 +0000 Received: from localhost ([127.0.0.1]:33488 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nrO9z-0006Is-It for submit@debbugs.gnu.org; Wed, 18 May 2022 14:12:35 -0400 Received: from mail-vk1-f174.google.com ([209.85.221.174]:35789) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nrO9x-0006IC-VP for 55030@debbugs.gnu.org; Wed, 18 May 2022 14:12:34 -0400 Received: by mail-vk1-f174.google.com with SMTP id e7so1582995vkh.2 for <55030@debbugs.gnu.org>; Wed, 18 May 2022 11:12:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=mPnV0reYPZUEtyICx03sVheX4EBv2lQhaKfqkiBQhsw=; b=giEkkEW+fkk1V9KkLCpuWMOfwnQyQ1ZRW6tNdD/U4svUY8XpxhfbUdmeEM33TJug5H Q7vEZmsXuS6I1BlCeMfKHgo9KiNzNdsrrEgx2iLDEE2/SV3gdHdP50Yrp4ySWCEHVZ0F 1YQsXy0voIbpFu1Kbf8DeDwby7WjORhLiDRKSwhd2v7jC6vv53chQoxfRuqLVPh5IkJD 9dbFb15NmAbyyqJ7zcxzgNSaqKLob6E6l/Dee7+BI6lXq9A/Iuy5+79AQH0AEcKjmUHb mCq5Hx5AWZyBHTdZYWELPKnvdeci0dYXVrVn8/Ql7GaddkOdXDUjWfwgTWRSDzFN/CQ4 0w7g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=mPnV0reYPZUEtyICx03sVheX4EBv2lQhaKfqkiBQhsw=; b=Uz8SinaBmu6+QPxlg1wAQVdTjH5opX40Xg/rPBUgKOreUeUPfV4dw1VEsU2n3gIesa Eql3s/pH8HagryIMvXblr/QvUhcXsRZ7o4IEH3UdnjLIXqYmIs43UJzXYJo49NPyi3iq wy3OWQVWfYbRbzjO4geCpJHK1mCtE/aytkrZFVWR4zvPCERmiLo4xYx8bQzjkIUJt4Px TOCDJjBfAnSCxPY4f0YhnOl5QNRdLnRaA6Di9eu8HwOyudovV57ZxyYBcSMQcCbGhANp /RbmXRvfvtKu1qQ63Uof4xJZuV+BZcmhpbFVaYvI444mows9gi+3sect7MtBgM7k09TY pJ0A== X-Gm-Message-State: AOAM532jgk95i4AfckOr+dPFwXE8jTanBuGUzBeGIX+64KU76bI13m9n 7DBn3Bt+gw6Zm7T3D7gHviZvrMHSJshHfjqF X-Google-Smtp-Source: ABdhPJyCHGZnSaeC+s8MbmfVinf66/AaXyJlFUSTX+Vlv8tN4LCQXjAU0/8ZWBsFVTqGzkgXnEg0Lg== X-Received: by 2002:a05:6122:1184:b0:356:f6f5:da0c with SMTP id x4-20020a056122118400b00356f6f5da0cmr371589vkn.36.1652897548401; Wed, 18 May 2022 11:12:28 -0700 (PDT) Received: from localhost (c-73-125-98-51.hsd1.fl.comcast.net. [73.125.98.51]) by smtp.gmail.com with UTF8SMTPSA id h12-20020ab02a8c000000b0036280b488c7sm340569uar.16.2022.05.18.11.12.27 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 18 May 2022 11:12:28 -0700 (PDT) From: Philip McGrath Date: Wed, 18 May 2022 14:10:53 -0400 Message-Id: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: <20220419232736.272970-1-philip@philipmcgrath.com> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches Callers can supply alternative headers as with 'http-fetch'. * guix/http-client.scm (http-fetch/cached): Add '#:headers' argument. --- guix/http-client.scm | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/guix/http-client.scm b/guix/http-client.scm index a367c41afa..699f5dfd57 100644 --- a/guix/http-client.scm +++ b/guix/http-client.scm @@ -296,6 +296,7 @@ (define (cache-file-for-uri uri) #f #f base64url-alphabet)))) (define* (http-fetch/cached uri #:key (ttl (%http-cache-ttl)) text? + (headers '((user-agent . "GNU Guile"))) (write-cache dump-port) (cache-miss (const #t)) (log-port (current-error-port)) @@ -307,6 +308,9 @@ (define* (http-fetch/cached uri #:key (ttl (%http-cache-ttl)) text? the data to cache. Call CACHE-MISS with URI just before fetching data from URI. +HEADERS is an alist of extra HTTP headers, to which cache-related headers are +added automatically as appropriate. + TIMEOUT specifies the timeout in seconds for connection establishment. Write information about redirects to LOG-PORT." @@ -316,12 +320,12 @@ (define* (http-fetch/cached uri #:key (ttl (%http-cache-ttl)) text? (and cache-port (stat:mtime (stat cache-port)))) - (define headers - `((user-agent . "GNU Guile") - ,@(if cache-time - `((if-modified-since - . ,(time-utc->date (make-time time-utc 0 cache-time)))) - '()))) + (define extended-headers + (if cache-time + `((if-modified-since + . ,(time-utc->date (make-time time-utc 0 cache-time))) + ,@headers) + headers)) ;; Update the cache and return an input port. (guard (c ((http-get-error? c) @@ -332,7 +336,8 @@ (define* (http-fetch/cached uri #:key (ttl (%http-cache-ttl)) text? (raise c)))) (let ((port (http-fetch uri #:text? text? #:log-port log-port - #:headers headers #:timeout timeout))) + #:headers extended-headers + #:timeout timeout))) (cache-miss uri) (mkdir-p (dirname file)) (when cache-port From patchwork Wed May 18 18:10:54 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philip McGrath X-Patchwork-Id: 39482 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id C163627BBE9; Wed, 18 May 2022 19:14:48 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id D146527BBEA for ; Wed, 18 May 2022 19:14:47 +0100 (BST) Received: from localhost ([::1]:38160 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nrOC7-0000vP-0Y for patchwork@mira.cbaines.net; Wed, 18 May 2022 14:14:47 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45088) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nrOAT-0007mv-QJ for guix-patches@gnu.org; Wed, 18 May 2022 14:13:05 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:39624) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nrOAT-0005Dz-Fd for guix-patches@gnu.org; Wed, 18 May 2022 14:13:05 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nrOAT-0006ME-Ad for guix-patches@gnu.org; Wed, 18 May 2022 14:13:05 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#55030] [PATCH v2 07/34] http-client: 'http-fetch/cached' converts strings to URIs. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 18 May 2022 18:13:05 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 55030 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 55030@debbugs.gnu.org Cc: Ludovic =?utf-8?q?Court=C3=A8s?= , Philip McGrath Received: via spool by 55030-submit@debbugs.gnu.org id=B55030.165289755924257 (code B ref 55030); Wed, 18 May 2022 18:13:05 +0000 Received: (at 55030) by debbugs.gnu.org; 18 May 2022 18:12:39 +0000 Received: from localhost ([127.0.0.1]:33491 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nrOA2-0006JB-RZ for submit@debbugs.gnu.org; Wed, 18 May 2022 14:12:39 -0400 Received: from mail-ua1-f41.google.com ([209.85.222.41]:34540) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nrOA2-0006Ij-1a for 55030@debbugs.gnu.org; Wed, 18 May 2022 14:12:38 -0400 Received: by mail-ua1-f41.google.com with SMTP id q1so1140014uao.1 for <55030@debbugs.gnu.org>; Wed, 18 May 2022 11:12:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=ZfeijSE0LWaJBksuEnC+RhnW2KB6KzKXEsLYt0MJmF0=; b=FvASC1K39lGerYOyAYQCYlKlH69csu8qA5W65qsPSazL/25yDfY4QtYKca5O/HkC5k g0YYl0eUPSKl3BqKffVSWf2nynf54OkGW3nSszYJDFbAbfDNv4UFAhpmUGnhGaG9/sB5 jx/LGrtlzoJ3c7nB6TAnut6m+KVfUjhqrrRxTwFQapmulrk/KvCy93U1zSqGWm7KDunH ybhb+q7RE5pwHzcve01uQwYzN5HmHa4gCOOQUCbN6l5faiLhORE1Eb7h0JhAbqWMY1Lp 2kVCo2SW+1VX7VyeHOU3tuzNWPceweBFuPnxhosYiwXmQQIr65grQj91VnZI+brHzbqJ WeKw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=ZfeijSE0LWaJBksuEnC+RhnW2KB6KzKXEsLYt0MJmF0=; b=uvvd2V7D74cyKoWgTLTmy4EmaomnOvOdpG+/v0uuacsGMjHDeMMu0O0lxbZswlTroa 9SLECzlnRoE8x4CJjyvt5fkuRh9XzCmXa2rrSxfD7TcWMx1QcjMI/5WXRYhdoCM4jLRn k9pMlFAZOWSv6yZHAvkNu3ViM9eAN2hCtvkEKPB6G5kjEkDtDSpGhauPc7W+KrGhQlCc qsZ/Sa6+/QGzsHOiuiMUsQLHjDg2/ZiY7gNyhrH7bAvZ53w7CkGMAvZm5wJ2BKuPh95D q+hGTTcx50AzNsmDQbp6nMuQ54Jo5gsUIMRw0ywt+ZLYOUKs/fJTM1RCKoBrWpBnAsD1 Sv7g== X-Gm-Message-State: AOAM5324RBNFmZMsog2c7+5PCCnZJfPTq1wdScrnLK56ZbvHws0lRSwq /8baDbQ4aOcdHNuuxJHaSpdo+PMZ+Q73wb2o X-Google-Smtp-Source: ABdhPJyA1sddKAlQbIFMXdtfIuVo9hI8Id4TtEWFItKC9FtTK0S4N/I5dGTmyDibvmsWN9ozumQ4QA== X-Received: by 2002:ab0:154f:0:b0:368:b7ad:1729 with SMTP id p15-20020ab0154f000000b00368b7ad1729mr590862uae.8.1652897552541; Wed, 18 May 2022 11:12:32 -0700 (PDT) Received: from localhost (c-73-125-98-51.hsd1.fl.comcast.net. [73.125.98.51]) by smtp.gmail.com with UTF8SMTPSA id e2-20020a1fe702000000b00356d920da1csm267172vkh.2.2022.05.18.11.12.32 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 18 May 2022 11:12:32 -0700 (PDT) From: Philip McGrath Date: Wed, 18 May 2022 14:10:54 -0400 Message-Id: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: <20220419232736.272970-1-philip@philipmcgrath.com> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * guix/http-client.scm (http-fetch/cached): Use 'string->uri' if URI is a string, as with 'http-fetch'. --- guix/http-client.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/guix/http-client.scm b/guix/http-client.scm index 699f5dfd57..9138a627ac 100644 --- a/guix/http-client.scm +++ b/guix/http-client.scm @@ -314,7 +314,10 @@ (define* (http-fetch/cached uri #:key (ttl (%http-cache-ttl)) text? TIMEOUT specifies the timeout in seconds for connection establishment. Write information about redirects to LOG-PORT." - (let ((file (cache-file-for-uri uri))) + (let* ((uri (if (string? uri) + (string->uri uri) + uri)) + (file (cache-file-for-uri uri))) (define (update-cache cache-port) (define cache-time (and cache-port From patchwork Wed May 18 18:10:55 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philip McGrath X-Patchwork-Id: 39481 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id DDEE827BBEA; Wed, 18 May 2022 19:14:43 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id A63C527BBE9 for ; Wed, 18 May 2022 19:14:43 +0100 (BST) Received: from localhost ([::1]:37956 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nrOC2-0000nU-S4 for patchwork@mira.cbaines.net; Wed, 18 May 2022 14:14:42 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45090) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nrOAU-0007oK-7h for guix-patches@gnu.org; Wed, 18 May 2022 14:13:06 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:39627) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nrOAT-0005E4-Us for guix-patches@gnu.org; Wed, 18 May 2022 14:13:05 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nrOAT-0006MM-Pn for guix-patches@gnu.org; Wed, 18 May 2022 14:13:05 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#55030] [PATCH v2 08/34] import: json: Accept '#:http-fetch' in 'json-fetch'. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 18 May 2022 18:13:05 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 55030 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 55030@debbugs.gnu.org Cc: Ludovic =?utf-8?q?Court=C3=A8s?= , Philip McGrath Received: via spool by 55030-submit@debbugs.gnu.org id=B55030.165289756424278 (code B ref 55030); Wed, 18 May 2022 18:13:05 +0000 Received: (at 55030) by debbugs.gnu.org; 18 May 2022 18:12:44 +0000 Received: from localhost ([127.0.0.1]:33494 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nrOA8-0006JV-2A for submit@debbugs.gnu.org; Wed, 18 May 2022 14:12:44 -0400 Received: from mail-vk1-f171.google.com ([209.85.221.171]:36580) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nrOA6-0006J0-1n for 55030@debbugs.gnu.org; Wed, 18 May 2022 14:12:42 -0400 Received: by mail-vk1-f171.google.com with SMTP id 125so1577813vkw.3 for <55030@debbugs.gnu.org>; Wed, 18 May 2022 11:12:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=hBgSEJ58Zdr4r33zt9FIFcJt1zauWUSnAuRcMyblxlg=; b=VhlelX5eqhUrrjLCvTNdAs8VUAFatykwEzQzFrgXIi5la2Ys15IwGnIkEwOx7NpyLG nQDGEdYAgbblSkMQkI1ocs0YTfmGBQD8tCJQngENmOVI0vkNx5PEGVHMTzA7URNkbmEl 3XH7+zVwiYxsM6nsr4Xmg+Mxx7YkchgNwFpIFN0MEoi9Y1mDGlOEtYLntRQQZBAslVjo Jvg0YtGVpwwP4GAzs7VPSN6cS3hu5XXDGIczY8izYoxzCXzr5Xpb9QnN/CXG/F3K+fBU ZxLmJzsy6i6YVB6xLhqU+8e5x4IaJsz08rHrsrvEdtfuR6KLSb9r/2DuDcHoN6UxwZ33 9x8w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=hBgSEJ58Zdr4r33zt9FIFcJt1zauWUSnAuRcMyblxlg=; b=rdR19ZKqoxGu/pEbelSV8niV64hiAnTiOn7dG1mSwX8OE65O8MSTWjvViJxOUxVM61 aHuAvDurYHX2SLWYL8DYVSdghJzGxKOXVx8bA8Z6hwgxx+Ss2gsLnZJ4BBPfX+asI9y7 th+ye1UJKq6y4oTKV6t4EobFIpuPs+hPgjkObGF+3HtnpDs0lozymX9UtTNWRRwtcfYV g4cTtwmpADzOEo522keRHgD5ZubLe84OzKTVe2cpZX/x13tvay8lXUv0nV/jYHjFGP/K nkve9UcNoILxYkaY6/vAH5vc2Z6fUbTgNHwdOtWx82Sy3VA1P9fLsSbQLTKaT7W0kAA1 0Ydw== X-Gm-Message-State: AOAM530Oe4lRvxGTZo9ne6KHaYKhvzyupEZ6hgf7TLKv+yvHrDoYViBg AvZnXhX30aWV8NyX5s/+IVGf1fkxUR7V60Ll X-Google-Smtp-Source: ABdhPJzC6vq7xeeA6JGDc0GxVgiQpZfJ9BybnN5KKufTy5iGIviapfnRg5t49zaLawcCqrB3kTFybQ== X-Received: by 2002:a05:6122:221f:b0:343:f3d4:87cb with SMTP id bb31-20020a056122221f00b00343f3d487cbmr449532vkb.13.1652897556611; Wed, 18 May 2022 11:12:36 -0700 (PDT) Received: from localhost (c-73-125-98-51.hsd1.fl.comcast.net. [73.125.98.51]) by smtp.gmail.com with UTF8SMTPSA id v145-20020a1f2f97000000b003571658b813sm132940vkv.10.2022.05.18.11.12.36 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 18 May 2022 11:12:36 -0700 (PDT) From: Philip McGrath Date: Wed, 18 May 2022 14:10:55 -0400 Message-Id: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: <20220419232736.272970-1-philip@philipmcgrath.com> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches For example, supplying 'http-fetch/cached' would enable caching. * guix/import/json.scm (json-fetch): Add '#:http-fetch' argument. --- guix/import/json.scm | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/guix/import/json.scm b/guix/import/json.scm index 0c98bb25b8..ae00ee929e 100644 --- a/guix/import/json.scm +++ b/guix/import/json.scm @@ -35,13 +35,16 @@ (define-module (guix import json) json->scheme-file)) (define* (json-fetch url + #:key + (http-fetch http-fetch) ;; Note: many websites returns 403 if we omit a ;; 'User-Agent' header. - #:key (headers `((user-agent . "GNU Guile") - (Accept . "application/json")))) + (headers `((user-agent . "GNU Guile") + (Accept . "application/json")))) "Return a representation of the JSON resource URL (a list or hash table), or #f if URL returns 403 or 404. HEADERS is a list of HTTP headers to pass in -the query." +the query. HTTP-FETCH is called to perform the request: for example, to +enable caching, supply 'http-fetch/cached'." (guard (c ((and (http-get-error? c) (let ((error (http-get-error-code c))) (or (= 403 error) From patchwork Wed May 18 18:10:56 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Philip McGrath X-Patchwork-Id: 39484 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id E3F9527BBE9; Wed, 18 May 2022 19:14:55 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 4FD7B27BBEA for ; Wed, 18 May 2022 19:14:54 +0100 (BST) Received: from localhost ([::1]:38776 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nrOCD-0001Jn-GW for patchwork@mira.cbaines.net; Wed, 18 May 2022 14:14:53 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45098) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nrOAV-0007pw-Q7 for guix-patches@gnu.org; Wed, 18 May 2022 14:13:07 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:39628) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nrOAU-0005ET-Gm for guix-patches@gnu.org; Wed, 18 May 2022 14:13:06 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nrOAU-0006Ma-CY for guix-patches@gnu.org; Wed, 18 May 2022 14:13:06 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#55030] [PATCH v2 09/34] import: Add Elm importer. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 18 May 2022 18:13:06 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 55030 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 55030@debbugs.gnu.org Cc: Ludovic =?utf-8?q?Court=C3=A8s?= , Philip McGrath Received: via spool by 55030-submit@debbugs.gnu.org id=B55030.165289758024337 (code B ref 55030); Wed, 18 May 2022 18:13:06 +0000 Received: (at 55030) by debbugs.gnu.org; 18 May 2022 18:13:00 +0000 Received: from localhost ([127.0.0.1]:33499 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nrOAC-0006Jm-AW for submit@debbugs.gnu.org; Wed, 18 May 2022 14:13:00 -0400 Received: from mail-vk1-f180.google.com ([209.85.221.180]:45036) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nrOAA-0006JL-HK for 55030@debbugs.gnu.org; Wed, 18 May 2022 14:12:47 -0400 Received: by mail-vk1-f180.google.com with SMTP id x11so1077518vkn.11 for <55030@debbugs.gnu.org>; Wed, 18 May 2022 11:12:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=J9+eHOP2o38MJXOUbxokdEbuqAhuiqCTBFxMx51elug=; b=ii6+POYXX+446rjOeKRWP1liJNer3fd/ryrb7DzB61VqNc4ZPwk+OGihVo7KMDhzR7 gK4Ctfunr5t7Rq8I5TQpGbWUa0P7e+Nfko/ctbRUe6BvjeOf/smTOJk4c0YX8jxBjQ8U 4gJM0/H5XEMXEzeHQJX82v9JrSrKAf6y7/R//zh6WOeacg5smkvwT99II3qIXtJh0J9n kIFKeFyccmn/6Z3hIsi9wSWGvreSJ887BnIG21pGa78yN8+aQ7i+agGQx3nlhOUcksG/ 4LB+y2dXl8bH8C1GcrYZOMf1/cRKah1ibMd8RNKbtsZmrkNwcFUQyKopTRXpoIwR/QsR 8ijQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=J9+eHOP2o38MJXOUbxokdEbuqAhuiqCTBFxMx51elug=; b=qXZCbg61/LksVVqefZ9yWWb2xRfUHDZjb4VZMYAF0EdvqaRG/V/H//Gr4vwklW07YT Kb2cTEI8x4N6UY/Zsu4SqSBoYjmVI0+yR4QzVMGBFxwI/DrHTUX1EXcc72vaa6IDyMVO NPHsv4UDZaAJYXv3WD82ncIVTqO8zxCDcOEKqJDzZSampClET9UdhPQzBoXmW4/gkchk usF9R5AHR67d9PPLgADK/70M2xW8ZvTVRYLC3dOc3mahWYOh7PRajywyhvJ5hcC+QHlx W6XElxzu4/+r9uGWKxcCRXPgRkEJZvqNecIH065WKRlk+svJyH//PJEZ2FA7P98Ybovf Eyiw== X-Gm-Message-State: AOAM5315v0/aSf2oay9V00CYB9w3gLk9dBDN9yBKgHBVuptcXQbM5Fa2 UwHsYFiioXxzFgAupjiNqTXyfSuoYvZtn56l X-Google-Smtp-Source: ABdhPJzzUbIbGCsif5LJZHkiaLp9y2qlDRU5uFfWAjpVRHCW8qyrBaO1Nwt+eWuU8Os0dMJWASNbzg== X-Received: by 2002:a1f:ed86:0:b0:356:e57f:38f3 with SMTP id l128-20020a1fed86000000b00356e57f38f3mr522583vkh.40.1652897560554; Wed, 18 May 2022 11:12:40 -0700 (PDT) Received: from localhost (c-73-125-98-51.hsd1.fl.comcast.net. [73.125.98.51]) by smtp.gmail.com with UTF8SMTPSA id l12-20020a056102242c00b0032d275e6917sm251918vsi.23.2022.05.18.11.12.40 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 18 May 2022 11:12:40 -0700 (PDT) From: Philip McGrath Date: Wed, 18 May 2022 14:10:56 -0400 Message-Id: <04fbe538a0ce1566381ed270987127c461c28b73.1652890702.git.philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: References: <20220419232736.272970-1-philip@philipmcgrath.com> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * guix/import/elm.scm, guix/scripts/import/elm.scm: New files. * Makefile.am (MODULES): Add them. * guix/scripts/import.scm (importers): Add "elm". * doc/guix.texi (Invoking guix import): Document Elm importer. * doc/contributing.texi (Elm Packages): Mention it. * tests/elm.scm ("(guix import elm)"): New test group. --- Makefile.am | 2 + doc/contributing.texi | 4 +- doc/guix.texi | 25 +++++ guix/import/elm.scm | 210 ++++++++++++++++++++++++++++++++++++ guix/scripts/import.scm | 3 +- guix/scripts/import/elm.scm | 107 ++++++++++++++++++ tests/elm.scm | 171 +++++++++++++++++++++++++++++ 7 files changed, 519 insertions(+), 3 deletions(-) create mode 100644 guix/import/elm.scm create mode 100644 guix/scripts/import/elm.scm diff --git a/Makefile.am b/Makefile.am index 9ca92c407c..5a42bb90b2 100644 --- a/Makefile.am +++ b/Makefile.am @@ -259,6 +259,7 @@ MODULES = \ guix/import/cran.scm \ guix/import/crate.scm \ guix/import/egg.scm \ + guix/import/elm.scm \ guix/import/elpa.scm \ guix/import/gem.scm \ guix/import/git.scm \ @@ -310,6 +311,7 @@ MODULES = \ guix/scripts/import/crate.scm \ guix/scripts/import/cran.scm \ guix/scripts/import/egg.scm \ + guix/scripts/import/elm.scm \ guix/scripts/import/elpa.scm \ guix/scripts/import/gem.scm \ guix/scripts/import/gnu.scm \ diff --git a/doc/contributing.texi b/doc/contributing.texi index 555b9bb961..2354874cb0 100644 --- a/doc/contributing.texi +++ b/doc/contributing.texi @@ -919,8 +919,8 @@ Elm Packages In many cases we can reconstruct an Elm package's upstream name heuristically, but, since conversion to a Guix-style name involves a loss of information, this is not always possible. Care should be taken to add the -@code{'upstream-name} property when necessary so that tools -will work correctly. The most notable scenarios +@code{'upstream-name} property when necessary so that @samp{guix import elm} +will work correctly (@pxref{Invoking guix import}). The most notable scenarios when explicitly specifying the upstream name is necessary are: @enumerate diff --git a/doc/guix.texi b/doc/guix.texi index 63fb647045..d7bc7523cd 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -13157,6 +13157,31 @@ Invoking guix import in Guix. @end table +@item elm +@cindex elm +Import metadata from the Elm package repository +@uref{https://package.elm-lang.org, package.elm-lang.org}, as in this example: + +@example +guix import elm elm-explorations/webgl +@end example + +The Elm importer also allows you to specify a version string: + +@example +guix import elm elm-explorations/webgl@@1.1.3 +@end example + +Additional options include: + +@table @code +@item --recursive +@itemx -r +Traverse the dependency graph of the given upstream package recursively +and generate package expressions for all those packages that are not yet +in Guix. +@end table + @item opam @cindex OPAM @cindex OCaml diff --git a/guix/import/elm.scm b/guix/import/elm.scm new file mode 100644 index 0000000000..74902b8617 --- /dev/null +++ b/guix/import/elm.scm @@ -0,0 +1,210 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2022 Philip McGrath +;;; +;;; 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 . + +(define-module (guix import elm) + #:use-module (ice-9 match) + #:use-module (ice-9 regex) + #:use-module (ice-9 vlist) + #:use-module (srfi srfi-1) + #:use-module (srfi srfi-11) + #:use-module (srfi srfi-26) + #:use-module (srfi srfi-34) + #:use-module (srfi srfi-35) + #:use-module (guix utils) + #:use-module (guix base32) + #:use-module (guix hash) + #:use-module (guix http-client) + #:use-module (guix memoization) + #:use-module (guix diagnostics) + #:use-module (guix i18n) + #:use-module ((guix ui) #:select (display-hint)) + #:use-module ((guix build utils) + #:select ((package-name->name+version + . hyphen-package-name->name+version) + find-files + invoke)) + #:use-module (guix import utils) + #:use-module (guix git) + #:use-module (guix import json) + #:autoload (gcrypt hash) (hash-algorithm sha256) + #:use-module (json) + #:use-module (guix packages) + #:use-module (guix upstream) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix build-system elm) + #:export (elm-recursive-import + %elm-package-registry + %current-elm-checkout + elm->guix-package)) + +(define %registry-url + ;; It is much nicer to fetch this small (< 40 KB gzipped) + ;; file once than to do many HTTP requests. + "https://package.elm-lang.org/all-packages") + +(define %elm-package-registry + ;; This is a parameter to support both testing and memoization. + ;; In pseudo-code, it has the contract: + ;; (parameter/c (-> json/c) + ;; (promise/c (vhash/c string? (listof string?)))) + ;; To set the parameter, provide a thunk that returns a value suitable + ;; as an argument to 'json->registry-vhash'. Accessing the parameter + ;; returns a promise wrapping the resulting vhash. + (make-parameter + (lambda () + (cond + ((json-fetch %registry-url #:http-fetch http-fetch/cached)) + (else + (raise (formatted-message + (G_ "error downloading Elm package registry from ~a") + %registry-url))))) + (lambda (thunk) + (delay (json->registry-vhash (thunk)))))) + +(define (json->registry-vhash jsobject) + "Parse the '(json)' module's representation of the Elm package registry to a +vhash mapping package names to lists of available versions, sorted from latest +to oldest." + (fold (lambda (entry vh) + (match entry + ((name . vec) + (vhash-cons name + (sort (vector->list vec) version>?) + vh)))) + vlist-null + jsobject)) + +(define (json->direct-dependencies jsobject) + "Parse the '(json)' module's representation of an 'elm.json' file's +'dependencies' or 'test-dependencies' field to a list of strings naming direct +dependencies, handling both the 'package' and 'application' grammars." + (cond + ;; *unspecified* + ((not (pair? jsobject)) + '()) + ;; {"type":"application"} + ((every (match-lambda + (((or "direct" "indirect") (_ . _) ...) + #t) + (_ + #f)) + jsobject) + (map car (or (assoc-ref jsobject "direct") '()))) + ;; {"type":"package"} + (else + (map car jsobject)))) + +;; handles both {"type":"package"} and {"type":"application"} +(define-json-mapping make-project-info project-info? + json->project-info + (dependencies project-info-dependencies + "dependencies" json->direct-dependencies) + (test-dependencies project-info-test-dependencies + "test-dependencies" json->direct-dependencies) + ;; "synopsis" and "license" may be missing for {"type":"application"} + (synopsis project-info-synopsis + "summary" (lambda (x) + (if (string? x) + x + ""))) + (license project-info-license + "license" (lambda (x) + (if (string? x) + (spdx-string->license x) + #f)))) + +(define %current-elm-checkout + ;; This is a parameter for testing purposes. + (make-parameter + (lambda (name version) + (define-values (checkout _commit _relation) + ;; Elm requires that packages use this very specific format + (update-cached-checkout (string-append "https://github.com/" name) + #:ref `(tag . ,version))) + checkout))) + +(define (make-elm-package-sexp name version) + "Return two values: the `package' s-expression for the Elm package with the +given NAME and VERSION, and a list of Elm packages it depends on." + (define checkout + ((%current-elm-checkout) name version)) + (define info + (call-with-input-file (string-append checkout "/elm.json") + json->project-info)) + (define dependencies + (project-info-dependencies info)) + (define test-dependencies + (project-info-test-dependencies info)) + (define guix-name + (elm->package-name name)) + (values + `(package + (name ,guix-name) + (version ,version) + (source (elm-package-origin + ,name + version ;; no , + (base32 + ,(bytevector->nix-base32-string + (file-hash* checkout + #:algorithm (hash-algorithm sha256) + #:recursive? #t))))) + (build-system elm-build-system) + ,@(maybe-propagated-inputs (map elm->package-name dependencies)) + ,@(maybe-inputs (map elm->package-name test-dependencies)) + (home-page ,(string-append "https://package.elm-lang.org/packages/" + name "/" version)) + (synopsis ,(project-info-synopsis info)) + (description + ;; Try to use the first paragraph of README.md (which Elm requires), + ;; or fall back to synopsis otherwise. + ,(beautify-description + (match (chunk-lines (call-with-input-file + (string-append checkout "/README.md") + read-lines)) + ((_ par . _) + (string-join par " ")) + (_ + (project-info-synopsis info))))) + ,@(let ((inferred-name (infer-elm-package-name guix-name))) + (if (equal? inferred-name name) + '() + `((properties '((upstream-name . ,name)))))) + (license ,(project-info-license info))) + (append dependencies test-dependencies))) + +(define elm->guix-package + (memoize + (lambda* (package-name #:key repo version) + "Fetch the metadata for PACKAGE-NAME, an Elm package registered at +package.elm.org, and return two values: the `package' s-expression +corresponding to that package (or #f on failure) and a list of Elm +dependencies." + (cond + ((vhash-assoc package-name (force (%elm-package-registry))) + => (match-lambda + ((_found latest . _versions) + (make-elm-package-sexp package-name (or version latest))))) + (else + (values #f '())))))) + +(define* (elm-recursive-import package-name #:optional version) + (recursive-import package-name + #:version version + #:repo->guix-package elm->guix-package + #:guix-name elm->package-name)) diff --git a/guix/scripts/import.scm b/guix/scripts/import.scm index 40fa6759ae..fa79f3211e 100644 --- a/guix/scripts/import.scm +++ b/guix/scripts/import.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2019 Ricardo Wurmus ;;; Copyright © 2021 Simon Tournier ;;; Copyright © 2021 Xinglu Chen +;;; Copyright © 2022 Philip McGrath ;;; ;;; This file is part of GNU Guix. ;;; @@ -80,7 +81,7 @@ (define %standard-import-options '()) (define importers '("gnu" "pypi" "cpan" "hackage" "stackage" "egg" "elpa" "gem" "go" "cran" "crate" "texlive" "json" "opam" - "minetest")) + "minetest" "elm")) (define (resolve-importer name) (let ((module (resolve-interface diff --git a/guix/scripts/import/elm.scm b/guix/scripts/import/elm.scm new file mode 100644 index 0000000000..68dcbf1070 --- /dev/null +++ b/guix/scripts/import/elm.scm @@ -0,0 +1,107 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2022 Philip McGrath +;;; +;;; 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 . + +(define-module (guix scripts import elm) + #:use-module (guix ui) + #:use-module (guix utils) + #:use-module (guix scripts) + #:use-module (guix import elm) + #:use-module (guix scripts import) + #:use-module (srfi srfi-1) + #:use-module (srfi srfi-11) + #:use-module (srfi srfi-37) + #:use-module (srfi srfi-71) + #:use-module (ice-9 match) + #:use-module (ice-9 format) + #:export (guix-import-elm)) + + +;;; +;;; Command-line options. +;;; + +(define %default-options + '()) + +(define (show-help) + (display (G_ "Usage: guix import elm PACKAGE-NAME + +Import and convert the Elm package PACKAGE-NAME. Optionally, a version +can be specified after the arobas (@) character.\n")) + (display (G_ " + -h, --help display this help and exit")) + (display (G_ " + -r, --recursive import packages recursively")) + (display (G_ " + -V, --version display version information and exit")) + (newline) + (show-bug-report-information)) + +(define %options + ;; Specification of the command-line options. + (cons* (option '(#\h "help") #f #f + (lambda args + (show-help) + (exit 0))) + (option '(#\V "version") #f #f + (lambda args + (show-version-and-exit "guix import elm"))) + (option '(#\r "recursive") #f #f + (lambda (opt name arg result) + (alist-cons 'recursive #t result))) + %standard-import-options)) + + +;;; +;;; Entry point. +;;; + +(define (guix-import-elm . args) + (define (parse-options) + ;; Return the alist of option values. + (parse-command-line args %options (list %default-options) + #:build-options? #f)) + + (let* ((opts (parse-options)) + (args (filter-map (match-lambda + (('argument . value) + value) + (_ #f)) + (reverse opts)))) + (match args + ((spec) + (with-error-handling + (let ((name version (package-name->name+version spec))) + (if (assoc-ref opts 'recursive) + ;; Recursive import + (map (match-lambda + ((and ('package ('name name) . rest) pkg) + `(define-public ,(string->symbol name) + ,pkg)) + (_ #f)) + (elm-recursive-import name version)) + ;; Single import + (let ((sexp (elm->guix-package name #:version version))) + (unless sexp + (leave (G_ "failed to download meta-data for package '~a'~%") + name)) + sexp))))) + (() + (leave (G_ "too few arguments~%"))) + ((many ...) + (leave (G_ "too many arguments~%")))))) diff --git a/tests/elm.scm b/tests/elm.scm index 96f958f060..c30623da03 100644 --- a/tests/elm.scm +++ b/tests/elm.scm @@ -18,6 +18,13 @@ (define-module (test-elm) #:use-module (guix build-system elm) + #:use-module (guix import elm) + #:use-module (guix base32) + #:use-module (guix hash) + #:use-module (guix utils) + #:autoload (gcrypt hash) (hash-algorithm sha256) + #:use-module (json) + #:use-module (ice-9 match) #:use-module (srfi srfi-64)) (test-begin "elm") @@ -94,4 +101,168 @@ (define-module (test-elm) (test-not-inferred "gcc-toolchain") (test-not-inferred "font-adobe-source-sans-pro"))) +(define test-package-registry-json + ;; we intentionally list versions in different orders here + "{ + \"elm/core\": [\"1.0.0\", \"1.0.1\", \"1.0.2\", \"1.0.3\", \"1.0.4\"], + \"elm-guix/demo\": [\"2.0.0\", \"3.0.0\", \"1.0.0\"] +}") + +(define test-elm-core-json + "{ + \"type\": \"package\", + \"name\": \"elm/core\", + \"summary\": \"Elm's standard libraries\", + \"license\": \"BSD-3-Clause\", + \"version\": \"1.0.4\", + \"exposed-modules\": { + \"Primitives\": [ + \"Basics\", + \"String\", + \"Char\", + \"Bitwise\", + \"Tuple\" + ], + \"Collections\": [ + \"List\", + \"Dict\", + \"Set\", + \"Array\" + ], + \"Error Handling\": [ + \"Maybe\", + \"Result\" + ], + \"Debug\": [ + \"Debug\" + ], + \"Effects\": [ + \"Platform.Cmd\", + \"Platform.Sub\", + \"Platform\", + \"Process\", + \"Task\" + ] + }, + \"elm-version\": \"0.19.0 <= v < 0.20.0\", + \"dependencies\": {}, + \"test-dependencies\": {} +}") + +(define test-elm-core-readme + "# Core Libraries + +Every Elm project needs this package! + +It provides **basic functionality** like addition and subtraction as well as +**data structures** like lists, dictionaries, and sets.") + +(define test-elm-guix-demo-json + "{ + \"type\": \"package\", + \"name\": \"elm-guix/demo\", + \"summary\": \"A test for `(guix import elm)`\", + \"license\": \"GPL-3.0-or-later\", + \"version\": \"3.0.0\", + \"exposed-modules\": [ + \"Guix.Demo\" + ], + \"elm-version\": \"0.19.0 <= v < 0.20.0\", + \"dependencies\": { + \"elm/core\": \"1.0.0 <= v < 2.0.0\" + }, + \"test-dependencies\": { + \"elm/json\": \"1.0.0 <= v < 2.0.0\" + } +}") + +(define test-elm-guix-demo-readme + ;; intentionally left blank + "") + +(define (directory-sha256 directory) + "Returns the string representing the hash of DIRECTORY as would be used in a +package definition." + (bytevector->nix-base32-string + (file-hash* directory + #:algorithm (hash-algorithm sha256) + #:recursive? #t))) + +(test-group "(guix import elm)" + (call-with-temporary-directory + (lambda (dir) + ;; Initialize our fake git checkouts. + (define elm-core-dir + (string-append dir "/test-elm-core-1.0.4")) + (define elm-guix-demo-dir + (string-append dir "/test-elm-guix-demo-3.0.0")) + (for-each (match-lambda + ((dir json readme) + (mkdir dir) + (with-output-to-file (string-append dir "/elm.json") + (lambda () + (display json))) + (with-output-to-file (string-append dir "/README.md") + (lambda () + (display readme))))) + `((,elm-core-dir ,test-elm-core-json ,test-elm-core-readme) + (,elm-guix-demo-dir + ,test-elm-guix-demo-json + ,test-elm-guix-demo-readme))) + ;; Replace network resources with sample data. + (parameterize ((%elm-package-registry + (lambda () + (json-string->scm test-package-registry-json))) + (%current-elm-checkout + (lambda (name version) + (match (list name version) + (("elm/core" "1.0.4") + elm-core-dir) + (("elm-guix/demo" "3.0.0") + elm-guix-demo-dir))))) + (test-assert "(elm->guix-package \"elm/core\")" + (match (elm->guix-package "elm/core") + (`(package + (name "elm-core") + (version "1.0.4") + (source (elm-package-origin + "elm/core" + version + (base32 ,(? string? hash)))) + (build-system elm-build-system) + (home-page + "https://package.elm-lang.org/packages/elm/core/1.0.4") + (synopsis "Elm's standard libraries") + (description "Every Elm project needs this package!") + (license license:bsd-3)) + (equal? (directory-sha256 elm-core-dir) + hash)) + (x + (raise-exception x)))) + (test-assert "(elm-recursive-import \"elm-guix/demo\")" + (match (elm-recursive-import "elm-guix/demo") + (`((package + (name "elm-guix-demo") + (version "3.0.0") + (source (elm-package-origin + "elm-guix/demo" + version + (base32 ,(? string? hash)))) + (build-system elm-build-system) + (propagated-inputs + ,'`(("elm-core" ,elm-core))) + (inputs + ,'`(("elm-json" ,elm-json))) + (home-page + "https://package.elm-lang.org/packages/elm-guix/demo/3.0.0") + (synopsis "A test for `(guix import elm)`") + (description + "This package provides a test for `(guix import elm)`") + (properties '((upstream-name . "elm-guix/demo"))) + (license license:gpl3+))) + (equal? (directory-sha256 elm-guix-demo-dir) + hash)) + (x + (raise-exception x)))))))) + (test-end "elm") From patchwork Wed May 18 18:10:57 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philip McGrath X-Patchwork-Id: 39489 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 23E6227BBEB; Wed, 18 May 2022 19:15:34 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id C163D27BBE9 for ; Wed, 18 May 2022 19:15:33 +0100 (BST) Received: from localhost ([::1]:40266 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nrOCq-0002Kx-Sa for patchwork@mira.cbaines.net; Wed, 18 May 2022 14:15:32 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45158) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nrOAg-0007tr-Pe for guix-patches@gnu.org; Wed, 18 May 2022 14:13:19 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:39630) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nrOAV-0005Eb-SO for guix-patches@gnu.org; Wed, 18 May 2022 14:13:17 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nrOAU-0006Mi-OS for guix-patches@gnu.org; Wed, 18 May 2022 14:13:06 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#55030] [PATCH v2 10/34] gnu: Add elm-virtual-dom. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 18 May 2022 18:13:06 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 55030 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 55030@debbugs.gnu.org Cc: Ludovic =?utf-8?q?Court=C3=A8s?= , Philip McGrath Received: via spool by 55030-submit@debbugs.gnu.org id=B55030.165289758124355 (code B ref 55030); Wed, 18 May 2022 18:13:06 +0000 Received: (at 55030) by debbugs.gnu.org; 18 May 2022 18:13:01 +0000 Received: from localhost ([127.0.0.1]:33507 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nrOAO-0006Kb-Mx for submit@debbugs.gnu.org; Wed, 18 May 2022 14:13:01 -0400 Received: from mail-vs1-f52.google.com ([209.85.217.52]:40705) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nrOAD-0006Jd-W9 for 55030@debbugs.gnu.org; Wed, 18 May 2022 14:12:50 -0400 Received: by mail-vs1-f52.google.com with SMTP id j7so2175136vsj.7 for <55030@debbugs.gnu.org>; Wed, 18 May 2022 11:12:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=5AO/e0pUZ4pVJ64O9BL0WePrXsAxGkXavGJ3SdI+Zxs=; b=e+dnWQifg+woBLH9GBcCOBDLatzy6esfm+p1VXxTO4YYCfIJ4z8JSr0GL1iBdfEHC4 sexY1pekWr+rjLxpdPMjU/CEab6b9jW02hA3JxCvcSbru44rTjPZJ50RcDCmlnGm7Hma l+iDRbAvJxrhQCwSL6MABMbmJlJoz9ko2w4lAC7Gm5XmkKpb8XBH7eAnuiNP+yeUBY2Z gicg3QzzzXfXthKaMQENQy/To5CVwwTFzapdVFSu4xujtOQnU5CfMib3hh9RpII6Jwzh /rgDLkTSdmYe4G7U7Rowul/xkBh6PwOJWDeysw0VzFLJNjHRBvaHPl4y1OSmMcRQySYl 8wXA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=5AO/e0pUZ4pVJ64O9BL0WePrXsAxGkXavGJ3SdI+Zxs=; b=mXcWQ0yqBuspWcbnt6v+vP9hefDvovkfUEddkyllbLknorrYXZrwzFTKf83eCbEDPP hHITO90JljSrMi69Iq3UeGN9xECOIFw2yfJAvfqNcdThsD4LGxa/q95Sh85MexVV5Npv pfPzRrWx/NzuCdPoPHX0n97BTJJ5+RWf7qmOOH+hoJeMn8ODlBJYqQz2PtxReB/tdx1P NDuQV6CfhfOGGaKKKRC0YFRA/PCKAYIdUo6k5uTJH910RsVCKGpT8r8U1FSuSq3mu6Fq j6aLelkCV2KSlwitTjKhz+P4/aiSO0EXr7I3xo7U2jk3cHRszHb6ctXDPQ7joll5o8mY hbdQ== X-Gm-Message-State: AOAM532rEmRxmUdjC7654bXEZW7WY0KmQ05x2pG8RqIcSbqEPvQAUcm7 7mHT1hnOo2hP1wOCSyhf1kfkzXJh+P1Vvwwi X-Google-Smtp-Source: ABdhPJxWB0IrLLUVLeIOppp0m9ier8fU+lEhsiyhVOd+HjSRTMVYvz+M/feTsH75hnm4L7z040vqRA== X-Received: by 2002:a67:cd81:0:b0:32c:919e:2ade with SMTP id r1-20020a67cd81000000b0032c919e2ademr331343vsl.62.1652897564496; Wed, 18 May 2022 11:12:44 -0700 (PDT) Received: from localhost (c-73-125-98-51.hsd1.fl.comcast.net. [73.125.98.51]) by smtp.gmail.com with UTF8SMTPSA id h69-20020a1f2148000000b00356e2b49f7csm254707vkh.5.2022.05.18.11.12.44 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 18 May 2022 11:12:44 -0700 (PDT) From: Philip McGrath Date: Wed, 18 May 2022 14:10:57 -0400 Message-Id: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: <20220419232736.272970-1-philip@philipmcgrath.com> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * gnu/packages/elm.scm (elm-virtual-dom): New variable. --- gnu/packages/elm.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/elm.scm b/gnu/packages/elm.scm index 4ad3a000cb..c2ccd6c557 100644 --- a/gnu/packages/elm.scm +++ b/gnu/packages/elm.scm @@ -158,3 +158,24 @@ (define-public elm-json-bootstrap (delete 'build) (delete 'validate-compiled)) #:implicit-elm-package-inputs? #f))))) + +(define-public elm-virtual-dom + (package + (name "elm-virtual-dom") + (version "1.0.3") + (source + (elm-package-origin + "elm/virtual-dom" + version + (base32 "1bjyyws7l0qvgp4ixzaimwriq86ncx5bvrzaksvjx3pv7bmkbx69"))) + (build-system elm-build-system) + (propagated-inputs (list elm-json elm-core)) + (home-page "https://package.elm-lang.org/packages/elm/virtual-dom/1.0.2") + (synopsis + "Elm's low-level virtual DOM implementation") + (description + "This package provides a virtual DOM implementation that backs Elm's +core libraries for HTML and SVG. You should almost certainly use those +higher-level libraries directly.") + (properties '((upstream-name . "elm/virtual-dom"))) + (license license:bsd-3))) From patchwork Wed May 18 18:10:58 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philip McGrath X-Patchwork-Id: 39494 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 3E9C727BBEA; Wed, 18 May 2022 19:15:48 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 0E60927BBE9 for ; Wed, 18 May 2022 19:15:48 +0100 (BST) Received: from localhost ([::1]:41324 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nrOD5-00033h-5A for patchwork@mira.cbaines.net; Wed, 18 May 2022 14:15:47 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45128) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nrOAg-0007ti-Mk for guix-patches@gnu.org; Wed, 18 May 2022 14:13:19 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:39642) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nrOAX-0005Ep-IV for guix-patches@gnu.org; Wed, 18 May 2022 14:13:17 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nrOAX-0006Nw-EI for guix-patches@gnu.org; Wed, 18 May 2022 14:13:09 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#55030] [PATCH v2 11/34] gnu: Add elm-html. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 18 May 2022 18:13:09 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 55030 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 55030@debbugs.gnu.org Cc: Ludovic =?utf-8?q?Court=C3=A8s?= , Philip McGrath Received: via spool by 55030-submit@debbugs.gnu.org id=B55030.165289758124366 (code B ref 55030); Wed, 18 May 2022 18:13:09 +0000 Received: (at 55030) by debbugs.gnu.org; 18 May 2022 18:13:01 +0000 Received: from localhost ([127.0.0.1]:33510 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nrOAP-0006Km-4b for submit@debbugs.gnu.org; Wed, 18 May 2022 14:13:01 -0400 Received: from mail-vk1-f173.google.com ([209.85.221.173]:43815) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nrOAI-0006Jt-0H for 55030@debbugs.gnu.org; Wed, 18 May 2022 14:12:54 -0400 Received: by mail-vk1-f173.google.com with SMTP id q136so1559345vke.10 for <55030@debbugs.gnu.org>; Wed, 18 May 2022 11:12:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=GHvZXrgDVXcoAnV2csEotRO+EtbOUyWru2xeG5w7Onw=; b=bgZFZDxw0bKah1dUk7TIw5GPNsdx53iio/V1wDWGwDXWycUizeZGIiZG5Dz9vJzmIG XQEjRl47gVsJixahcPUQMN+ka3OdRGjlnfwcBYbpsvgmi2TVItlDGFwL37YfyoTPXcth +rtzt4+IV0hmy8JV95TDsUBq97pa8CJPzYlL/MPwuVCLvy0mj419g9R5BGErTabUfffE ntQMk4dntlnCD3YvhUwQ0swu9dR5yLo3PjKRjXW8cO9pIHd9Pm8b4L0EiMlzMiyQM5O6 /iXVZhqJqrtb53bF5JNELUaaBujiCsiNNEJEaUlrfkdSShNL/W0wtEoRG//eKFFBfrpZ DSRw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=GHvZXrgDVXcoAnV2csEotRO+EtbOUyWru2xeG5w7Onw=; b=HqOApEzWDx3XPULLB0DxuuO6Ohc4kk2gAdsN8VtFOr4S1bIVe5lzsJpg+9fjw9qzfB +F+MfZUTeQfOGehBpbWszW5VW/TtJCmRj0GSdbv0iw1aOBdn0BohW6VAIKQo80BWFwzt a6XQRMbEnitKQhtpMemR3Oj4e/EJwKhauakZK1EbX67sT4LpvGmGB0YWJTpGxKmsajpn 0QOcP3Jc4bGqJm7ad3Kq8N4q1ITNbx7THKMzmQo1xgW4WJjX6lyXV+qG9oyyDvhCEQcx eUUIhpScalYWBRYEKEdBrB1/gQ2iA9x47baGIsOSxZ8cZUmNczCP88B59+vtbp29CS5d Gk1Q== X-Gm-Message-State: AOAM530DfshOh6KI37+ZuSboRmNSkNqp4kGvgKEHNYhZclYRBBTjGlfv ENzcMOEpsRxnNnanafng+AX1WxZO11n3qGSE X-Google-Smtp-Source: ABdhPJw/gSoehYi7cNucieJzUhUTjFKwINwHKfrdAeitc1ofj5NTSCM/fImQs4iDrFFUV+YF1cfR2g== X-Received: by 2002:a1f:c685:0:b0:349:9353:78dc with SMTP id w127-20020a1fc685000000b00349935378dcmr319171vkf.11.1652897568522; Wed, 18 May 2022 11:12:48 -0700 (PDT) Received: from localhost (c-73-125-98-51.hsd1.fl.comcast.net. [73.125.98.51]) by smtp.gmail.com with UTF8SMTPSA id 186-20020a6719c3000000b0032cc15dcc9asm293495vsz.0.2022.05.18.11.12.48 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 18 May 2022 11:12:48 -0700 (PDT) From: Philip McGrath Date: Wed, 18 May 2022 14:10:58 -0400 Message-Id: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: <20220419232736.272970-1-philip@philipmcgrath.com> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * gnu/packages/elm.scm (elm-html): New variable. --- gnu/packages/elm.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/gnu/packages/elm.scm b/gnu/packages/elm.scm index c2ccd6c557..98b60c48f7 100644 --- a/gnu/packages/elm.scm +++ b/gnu/packages/elm.scm @@ -179,3 +179,22 @@ (define-public elm-virtual-dom higher-level libraries directly.") (properties '((upstream-name . "elm/virtual-dom"))) (license license:bsd-3))) + +(define-public elm-html + (package + (name "elm-html") + (version "1.0.0") + (source + (elm-package-origin + "elm/html" + version + (base32 "15k1679ja57vvlpinpv06znmrxy09lbhzfkzdc89i01qa8c4gb4a"))) + (build-system elm-build-system) + (propagated-inputs + (list elm-virtual-dom + elm-json + elm-core)) + (home-page "https://package.elm-lang.org/packages/elm/html/1.0.0") + (synopsis "Fast HTML, rendered with virtual DOM diffing") + (description "This package provides Elm's HTML rendering library.") + (license license:bsd-3))) From patchwork Wed May 18 18:10:59 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philip McGrath X-Patchwork-Id: 39485 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id C76A327BBEA; Wed, 18 May 2022 19:14:57 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 96BE827BBE9 for ; Wed, 18 May 2022 19:14:57 +0100 (BST) Received: from localhost ([::1]:39046 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nrOCG-0001VX-Oa for patchwork@mira.cbaines.net; Wed, 18 May 2022 14:14:56 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45152) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nrOAg-0007to-PP for guix-patches@gnu.org; Wed, 18 May 2022 14:13:19 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:39644) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nrOAY-0005Et-FJ for guix-patches@gnu.org; Wed, 18 May 2022 14:13:17 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nrOAY-0006OB-8y for guix-patches@gnu.org; Wed, 18 May 2022 14:13:10 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#55030] [PATCH v2 12/34] gnu: Add elm-svg. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 18 May 2022 18:13:10 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 55030 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 55030@debbugs.gnu.org Cc: Ludovic =?utf-8?q?Court=C3=A8s?= , Philip McGrath Received: via spool by 55030-submit@debbugs.gnu.org id=B55030.165289758224390 (code B ref 55030); Wed, 18 May 2022 18:13:10 +0000 Received: (at 55030) by debbugs.gnu.org; 18 May 2022 18:13:02 +0000 Received: from localhost ([127.0.0.1]:33515 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nrOAQ-0006LC-8r for submit@debbugs.gnu.org; Wed, 18 May 2022 14:13:02 -0400 Received: from mail-ua1-f49.google.com ([209.85.222.49]:36626) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nrOAL-0006K5-Vr for 55030@debbugs.gnu.org; Wed, 18 May 2022 14:12:58 -0400 Received: by mail-ua1-f49.google.com with SMTP id r22so1145485ual.3 for <55030@debbugs.gnu.org>; Wed, 18 May 2022 11:12:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=fBxF9zBFeKKCQY4mLN6OfmgdcbkxW9A+zgBavIDSxk4=; b=EUwIS2Pk0Opyg15lTScpykdsdtFwMZO4V9FP032qDwv1RKyXmBturJC0TJ7GU4ejxb qXj/JQrLTREhfmViBrrqxK/+F7hA6iXMmPESrrICsAh35OqiE6F6v+XWvCiJ38LnntVJ pqBZ1k7RGXuLasrAhRsUOmTETnCcl4cnGE/G4CM9pBB1eo7pFFik/cwJZQ9qDHS6hRvB ElY+lsmMq+3sNQWqyI3EGWkLWYKaLv5K3+14VHQtqqySJ8mz0Ahp7UC4VCeOfhby9FJD zhigW1XXjSCGWPJP4VA1mL/FvfAwRkz9khnZu5TXntALbGLsYq6vsgykc2goB2LzyVdJ zgrw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=fBxF9zBFeKKCQY4mLN6OfmgdcbkxW9A+zgBavIDSxk4=; b=hirDN9fpnGip3UZhXiU6xOWB+sJ0KPnhmiOHtYVzw97yKqboDztIbNF6N0CSjR0/vB uHMovZw8raW8iCfqOYs/4FvwSNY9uGqoe0Vk3doakkeWRoOJ2oL56l1foCxBAnuYabVA 2e5O9DKAbAhOqm9YHZWmQxhTASTzY3Hhi9ADHcCEidJ4S89MXG667igUiARMHP/7CtwC GzpFHGF3vzrYezV4U4jWKsJoDef08yumojYoDvI9cc7bUJzcittB8rkgvoAg/IW0bjvM HZPTDDQUR9U2G9+u0rgvAawR/jAJw6SitFGxHgw05sdmN1Gh/aXteWETnv/tPvXIwnKy p4cw== X-Gm-Message-State: AOAM531drw6D9PwDKjZf7mF/OPinW5Bi9YN3H2TsZzt6A3b5KxlGpqvj fuUcwauXXDxX+72ThwaPUno5ZSgDBXaMkHWw X-Google-Smtp-Source: ABdhPJweSXgcOndnNCltDBIWsBhBfEe2HDvSTt/beQ8ndAhatRBuqvAnhuqM7YdMjxP4fhccs/EMlw== X-Received: by 2002:ab0:6cf6:0:b0:368:b350:b321 with SMTP id l22-20020ab06cf6000000b00368b350b321mr593395uai.111.1652897572490; Wed, 18 May 2022 11:12:52 -0700 (PDT) Received: from localhost (c-73-125-98-51.hsd1.fl.comcast.net. [73.125.98.51]) by smtp.gmail.com with UTF8SMTPSA id n2-20020ab06022000000b0036576f80028sm275573ual.12.2022.05.18.11.12.52 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 18 May 2022 11:12:52 -0700 (PDT) From: Philip McGrath Date: Wed, 18 May 2022 14:10:59 -0400 Message-Id: <2b42b23b8cd67014be1ffa3c9d67e44fa4a4c7d6.1652890702.git.philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: References: <20220419232736.272970-1-philip@philipmcgrath.com> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * gnu/packages/elm.scm (elm-svg): New variable. --- gnu/packages/elm.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/elm.scm b/gnu/packages/elm.scm index 98b60c48f7..5ba6743399 100644 --- a/gnu/packages/elm.scm +++ b/gnu/packages/elm.scm @@ -198,3 +198,25 @@ (define-public elm-html (synopsis "Fast HTML, rendered with virtual DOM diffing") (description "This package provides Elm's HTML rendering library.") (license license:bsd-3))) + +(define-public elm-svg + (package + (name "elm-svg") + (version "1.0.1") + (source + (elm-package-origin + "elm/svg" + version + (base32 "1iqsc3p129j56lp1y3z3mfc6x1shvrmx3pkhri2777ylhyw90qvl"))) + (build-system elm-build-system) + (propagated-inputs + (list elm-html + elm-virtual-dom + elm-json + elm-core)) + (home-page "https://package.elm-lang.org/packages/elm/svg/1.0.1") + (synopsis "Fast SVG, rendered with virtual DOM diffing") + (description + "This package provides Elm's @acronym{SVG, Scalable Vector Graphics} +library.") + (license license:bsd-3))) From patchwork Wed May 18 18:11:00 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philip McGrath X-Patchwork-Id: 39487 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 992F127BBE9; Wed, 18 May 2022 19:15:08 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 0D36A27BBEA for ; Wed, 18 May 2022 19:15:08 +0100 (BST) Received: from localhost ([::1]:39752 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nrOCR-0001zR-6G for patchwork@mira.cbaines.net; Wed, 18 May 2022 14:15:07 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45140) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nrOAg-0007tl-Om for guix-patches@gnu.org; Wed, 18 May 2022 14:13:19 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:39643) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nrOAX-0005Es-VU for guix-patches@gnu.org; Wed, 18 May 2022 14:13:17 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nrOAX-0006O4-QU for guix-patches@gnu.org; Wed, 18 May 2022 14:13:09 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#55030] [PATCH v2 13/34] gnu: Add elm-time. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 18 May 2022 18:13:09 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 55030 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 55030@debbugs.gnu.org Cc: Ludovic =?utf-8?q?Court=C3=A8s?= , Philip McGrath Received: via spool by 55030-submit@debbugs.gnu.org id=B55030.165289758224381 (code B ref 55030); Wed, 18 May 2022 18:13:09 +0000 Received: (at 55030) by debbugs.gnu.org; 18 May 2022 18:13:02 +0000 Received: from localhost ([127.0.0.1]:33512 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nrOAP-0006Kx-KG for submit@debbugs.gnu.org; Wed, 18 May 2022 14:13:02 -0400 Received: from mail-vs1-f52.google.com ([209.85.217.52]:40705) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nrOAK-0006Jd-TE for 55030@debbugs.gnu.org; Wed, 18 May 2022 14:12:57 -0400 Received: by mail-vs1-f52.google.com with SMTP id j7so2175136vsj.7 for <55030@debbugs.gnu.org>; Wed, 18 May 2022 11:12:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=jqwWPc7nafsVxn3Qy+3eMIJ5SOtkJTx/vDFlPvMVAgc=; b=PTLWbEsv2PQ/hmDeurW6mnHv05MSPk7Gve4+MGwsr0qHORfE7xjAnf3o6Ak386uqqY NnfHlje4MdPaKKLkVOrzpgYvI9T3ohB4+xYab3nHsMPWXRMEcIi+/3/Qs5KqlFhuGogQ eXYBsZ7673vvokp98NPidxl2ljTZWhy8jGfFTCfg3DAoI3F2fJRxpMiTV9hy5o0XqwGU mc6Fljv3HLp18nXDD+VYySendYDUcELCXefzx1z8ma0B1L6zyM9qlvax2CIGK48nnB5K fzNmk1UrHKpREqhRHDjv4G9BFjPQlw9OBkimccRCRa5o6qUfSJQbqaWIVmZCfzwCLJYR A21Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=jqwWPc7nafsVxn3Qy+3eMIJ5SOtkJTx/vDFlPvMVAgc=; b=z8+87yTISpr0oIcNif8YQ+10lUu7JpYeBy/gwvWbmokNrYwfhGZ01wckQwpOK+jm7T pwfQfku7MNKTA07IgtZAkpgCvhX/ADI8AhnqEKXE9S3aYldr7NyepYD4tjtj4mCJF/7s ZKw3tY1xI8elLqBECpPEvWLdHZIs1r8KcPY/pYTPPsU6rKYYe7nrhkcdL7TeCAFQSlqs R/ByjW0ScphPB/ZaHL79xVQWzQ/q5NtvuESgCAzXh6Z9G5b60nB4wQT7cxwQBzzZq8Kv zil0pwRm+m3hIIwTl4Nmnx1CRgIL8YoLJpofY1Nh1QfmE/xMJDLMHQtCIBYfHFjamZEq RLGA== X-Gm-Message-State: AOAM532Ae6g8UGvhxggUsdeuaXAaDp7rsCv/QacWepWXOlW0lhuMB5+9 v9Ob14KBocw3hUrxXTgIID1SjhRe/0MORi/5 X-Google-Smtp-Source: ABdhPJyC1n1wPXegAxOj2nR59YW/jSfDLkmdy/gBGGCPynONpg1sGX9TzBTYnhIccBTI8gOw6BjEJA== X-Received: by 2002:a67:dc90:0:b0:32c:feff:f0e8 with SMTP id g16-20020a67dc90000000b0032cfefff0e8mr449423vsk.78.1652897576594; Wed, 18 May 2022 11:12:56 -0700 (PDT) Received: from localhost (c-73-125-98-51.hsd1.fl.comcast.net. [73.125.98.51]) by smtp.gmail.com with UTF8SMTPSA id b17-20020ab030b1000000b003626f894de3sm279321uam.17.2022.05.18.11.12.56 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 18 May 2022 11:12:56 -0700 (PDT) From: Philip McGrath Date: Wed, 18 May 2022 14:11:00 -0400 Message-Id: <550d12a75571e6f770d8dac42f4a22e2ef5a7aee.1652890702.git.philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: References: <20220419232736.272970-1-philip@philipmcgrath.com> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * gnu/packages/elm.scm (elm-time): New variable. --- gnu/packages/elm.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/gnu/packages/elm.scm b/gnu/packages/elm.scm index 5ba6743399..2b9ee3594a 100644 --- a/gnu/packages/elm.scm +++ b/gnu/packages/elm.scm @@ -220,3 +220,22 @@ (define-public elm-svg "This package provides Elm's @acronym{SVG, Scalable Vector Graphics} library.") (license license:bsd-3))) + +(define-public elm-time + (package + (name "elm-time") + (version "1.0.0") + (source + (elm-package-origin + "elm/time" + version + (base32 "0wqa2vhl1zf8z0j2yd3yjwfhr0dydfns43bbzll3k4rhnjadxr1l"))) + (build-system elm-build-system) + (propagated-inputs (list elm-core)) + (home-page "https://package.elm-lang.org/packages/elm/time/1.0.0") + (synopsis + "POSIX time and time zones in Elm") + (description + "This package provides an Elm library for working with POSIX times, time +zones, formatting, and the clock.") + (license license:bsd-3))) From patchwork Wed May 18 18:11:01 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philip McGrath X-Patchwork-Id: 39483 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 8AAA827BBEB; Wed, 18 May 2022 19:14:55 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 30E6327BBE9 for ; Wed, 18 May 2022 19:14:55 +0100 (BST) Received: from localhost ([::1]:38878 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nrOCE-0001O7-C7 for patchwork@mira.cbaines.net; Wed, 18 May 2022 14:14:54 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45120) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nrOAg-0007tf-MQ for guix-patches@gnu.org; Wed, 18 May 2022 14:13:19 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:39645) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nrOAY-0005Eu-SR for guix-patches@gnu.org; Wed, 18 May 2022 14:13:17 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nrOAY-0006OI-OE for guix-patches@gnu.org; Wed, 18 May 2022 14:13:10 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#55030] [PATCH v2 14/34] gnu: Add elm-url. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 18 May 2022 18:13:10 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 55030 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 55030@debbugs.gnu.org Cc: Ludovic =?utf-8?q?Court=C3=A8s?= , Philip McGrath Received: via spool by 55030-submit@debbugs.gnu.org id=B55030.165289758624459 (code B ref 55030); Wed, 18 May 2022 18:13:10 +0000 Received: (at 55030) by debbugs.gnu.org; 18 May 2022 18:13:06 +0000 Received: from localhost ([127.0.0.1]:33524 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nrOAT-0006ML-O8 for submit@debbugs.gnu.org; Wed, 18 May 2022 14:13:06 -0400 Received: from mail-vk1-f174.google.com ([209.85.221.174]:35789) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nrOAO-0006IC-Qy for 55030@debbugs.gnu.org; Wed, 18 May 2022 14:13:04 -0400 Received: by mail-vk1-f174.google.com with SMTP id e7so1582995vkh.2 for <55030@debbugs.gnu.org>; Wed, 18 May 2022 11:13:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=gV8rj5ntsEc7n5jlUUCgDNirjaevaIBwh9Xj9di9mOY=; b=BpaCvJoOds0x7Nd1w74q5CjiYmSCUe0oidar0b2L3wOQXVM+BFfzKWFYBHadCMZyKV Do0925Pl2rzrozvwrBmqXbKT+pKrYSrAoJrXq15uDiWESzVcUICAFVjLWEHmhZvjjoug 7iLoUtgQD1EINFFn1+5qNAgfuns5H18joW88ZxbiCaFVocs9Dy7k7MuRvecqFkOazFjc aeIk0QLTSa7v/MbykFAxyrS2SAd+NiKj/hcuoLGXCagLeV0r/+5h589zxnS0EH7EQr7l epDWqmdZ507GmU+2xW7HBaqLYP4SfU/qTQzHnHnpCavvDChQVCH/2Ro1+CLBdV7GHN5/ XJ/A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=gV8rj5ntsEc7n5jlUUCgDNirjaevaIBwh9Xj9di9mOY=; b=CyT3TKUWU/TltrGIc8LupD3Tlewjz+JnqFfWs+IieI7B6Pf849cRkVd60fNcYKHSFO r93+fZuzDr3kH4lEVwa/oYYIoo1uBa5le+hLXttrSqKN5kCuL0ZWSGbYXUJwCamGI2Qz O5HW0xOBzKleY8H4msyaISgeag5/QhkcaDP7dins7tzQYiu9S5xXrQXRGQATHUz6czaZ Tf4U3GCnzPigj5t3IlMsgNdyGU+dVhuXYuqWKlLOtW/yZlBPjXf7qSpaX150dsqbPzDr AAyvnQl61iJajfW4o8FPaAKAPTU02p3JrVKo2oGcXiGKCMQb2pZbcBSchgm9pfect4pi lgnA== X-Gm-Message-State: AOAM532/J844cHgAsh/TgS8RQ4UDt5XHTXKRCxsuSzrYDS0JF0jS07Cj 4+21WbA1C+TJbcXCcjQP/I0AnNcj09DMTNnE X-Google-Smtp-Source: ABdhPJwzXOe6Bkm15/bEG7jI2g4pU+UeHRd1JWCY2YJFPdgrUV0k7QdwpzOmfIvi6XkJAGJX6fnhZg== X-Received: by 2002:a05:6122:7d4:b0:356:fd98:d8cd with SMTP id l20-20020a05612207d400b00356fd98d8cdmr449777vkr.1.1652897580564; Wed, 18 May 2022 11:13:00 -0700 (PDT) Received: from localhost (c-73-125-98-51.hsd1.fl.comcast.net. [73.125.98.51]) by smtp.gmail.com with UTF8SMTPSA id n2-20020ab06022000000b0036576f80028sm275620ual.12.2022.05.18.11.13.00 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 18 May 2022 11:13:00 -0700 (PDT) From: Philip McGrath Date: Wed, 18 May 2022 14:11:01 -0400 Message-Id: <623de08aed8de9add9bb109c8fa6acbae33e2899.1652890702.git.philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: References: <20220419232736.272970-1-philip@philipmcgrath.com> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * gnu/packages/elm.scm (elm-url): New variable. --- gnu/packages/elm.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/elm.scm b/gnu/packages/elm.scm index 2b9ee3594a..d7d11e0d91 100644 --- a/gnu/packages/elm.scm +++ b/gnu/packages/elm.scm @@ -239,3 +239,31 @@ (define-public elm-time "This package provides an Elm library for working with POSIX times, time zones, formatting, and the clock.") (license license:bsd-3))) + +(define-public elm-url + (package + (name "elm-url") + (version "1.0.0") + (source + (elm-package-origin + "elm/url" + version + (base32 "1f2ij4i7zmijnj2i50qf19lpkr14bhms8dkq029inb5mydi9f8gs"))) + (build-system elm-build-system) + (propagated-inputs (list elm-core)) + (home-page "https://package.elm-lang.org/packages/elm/url/1.0.0") + (synopsis + "Create and parse URLs in Elm") + (description + "This package helps you: + +@enumerate +@item +build new URLs; and + +@item +parse existing URLs into nice Elm data structures. +@end enumerate + +Use it for HTTP and for @dfn{routing} in @acronym{SPAs, single-page apps}.") + (license license:bsd-3))) From patchwork Wed May 18 18:11:02 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philip McGrath X-Patchwork-Id: 39497 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 856BC27BBEA; Wed, 18 May 2022 19:15:59 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 4A76527BBE9 for ; Wed, 18 May 2022 19:15:59 +0100 (BST) Received: from localhost ([::1]:42340 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nrODG-0003hx-Ez for patchwork@mira.cbaines.net; Wed, 18 May 2022 14:15:58 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45434) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nrOBO-0008UY-Td for guix-patches@gnu.org; Wed, 18 May 2022 14:14:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:39685) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nrOBO-0005O4-JP for guix-patches@gnu.org; Wed, 18 May 2022 14:14:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nrOBO-0006SS-EY for guix-patches@gnu.org; Wed, 18 May 2022 14:14:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#55030] [PATCH v2 15/34] gnu: Add elm-browser. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 18 May 2022 18:14:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 55030 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 55030@debbugs.gnu.org Cc: Ludovic =?utf-8?q?Court=C3=A8s?= , Philip McGrath Received: via spool by 55030-submit@debbugs.gnu.org id=B55030.165289759324610 (code B ref 55030); Wed, 18 May 2022 18:14:02 +0000 Received: (at 55030) by debbugs.gnu.org; 18 May 2022 18:13:13 +0000 Received: from localhost ([127.0.0.1]:33546 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nrOAb-0006Os-3g for submit@debbugs.gnu.org; Wed, 18 May 2022 14:13:13 -0400 Received: from mail-vk1-f179.google.com ([209.85.221.179]:37407) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nrOAZ-0006MZ-Fj for 55030@debbugs.gnu.org; Wed, 18 May 2022 14:13:11 -0400 Received: by mail-vk1-f179.google.com with SMTP id bs5so1575471vkb.4 for <55030@debbugs.gnu.org>; Wed, 18 May 2022 11:13:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=GWzyd/GLYXdTL34fvCoCzlYd5ucDbe3MS9P055QoiyM=; b=VSHvQkeuPEE7cciq3fSo7NDQVGR2XHbVSAzS6rXdb7T/dxTJ2uxlfPijYNBkA7aUza PPalXzKh/1eJ9DFqgGumxtJ12pqwSX5V4dXvTQevPrcoS1mAbQvCLni1BFPmYHttG2Hu cd/tlMDKoampmjaY8LqCIArRiIJTppfjRq4eP2HJu+P7JNCmYpIP4VOASTyUmtZnmr1b G1s1Dhhh7taoWjoYvjIfNwQc6VYraKIC52pglLR4EiACoEuTUq/f7AL34ny7CRGyUViZ pVWhXzF9eHx2r8elzoKyO0Epd/p/zefC6zrMz3RfRURCqNQsMJx+hr6sL/1BSn9fYYjN BC8w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=GWzyd/GLYXdTL34fvCoCzlYd5ucDbe3MS9P055QoiyM=; b=1tW4eM+wix0JEBjFEoluYK8ZXYMHmpSH+G2ggw++kWdPtTLg8PZnGOqtrZRwj+MlDE Ta9SdBH9B+SrTH6vL3/W2pli58hvplztqy8c0C59eRi+/MopRhRpYymLjw15jau+Jlwb OFmY1IeOdiOxQQcTuiF2BfbwZowYZVwyn29+K3zGosueSf+8nKb89m7k9h35ZGdThwdU uujU9gQvAOh7clEQk2ztXVCcczraRhqnlnb9yNbYTkphsXaSoA2Nv6LfmmUunY+qtH7w 1+sZ4l1lyCLrrcjwvABvL2yoMzSQSi350OzN74Mfcf8HdjaPEHThOQfimFwJw7BrklMG syaA== X-Gm-Message-State: AOAM530gaZJCze4kNUz82FioeZJhyR5914Fx6DGGQLCYcxvyMnsqlFgm H/P1Sh9tFqdez/YzcVUbdbM/B6SG9IF42x6D X-Google-Smtp-Source: ABdhPJxIjp0VgAYH/LFAhLd9a1ETFX7HD76tohR66ZQYbQrU6SPXfyAMAmUdh5LiNAPvoDex/MT//w== X-Received: by 2002:a05:6122:caa:b0:352:8b21:1878 with SMTP id ba42-20020a0561220caa00b003528b211878mr455195vkb.35.1652897584518; Wed, 18 May 2022 11:13:04 -0700 (PDT) Received: from localhost (c-73-125-98-51.hsd1.fl.comcast.net. [73.125.98.51]) by smtp.gmail.com with UTF8SMTPSA id j16-20020a056102241000b00335e2812587sm105596vsi.3.2022.05.18.11.13.04 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 18 May 2022 11:13:04 -0700 (PDT) From: Philip McGrath Date: Wed, 18 May 2022 14:11:02 -0400 Message-Id: <312119bcf422bb911d212d3d2427120a05950f7e.1652890702.git.philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: References: <20220419232736.272970-1-philip@philipmcgrath.com> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * gnu/packages/elm.scm (elm-browser): New variable. --- gnu/packages/elm.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/elm.scm b/gnu/packages/elm.scm index d7d11e0d91..714a49a3dd 100644 --- a/gnu/packages/elm.scm +++ b/gnu/packages/elm.scm @@ -267,3 +267,28 @@ (define-public elm-url Use it for HTTP and for @dfn{routing} in @acronym{SPAs, single-page apps}.") (license license:bsd-3))) + +(define-public elm-browser + (package + (name "elm-browser") + (version "1.0.2") + (source + (elm-package-origin + "elm/browser" + version + (base32 "0863nw2hhbpm3s03lm1imi5x28wwknzrwg2p79s5mydgvdvgwjf0"))) + (build-system elm-build-system) + (propagated-inputs + (list elm-virtual-dom + elm-url + elm-time + elm-json + elm-html + elm-core)) + (home-page "https://package.elm-lang.org/packages/elm/browser/1.0.2") + (synopsis + "Run Elm in browsers") + (description + "This package allows you to create Elm programs that run in browsers, +with access to browser history for @acronym{SPAs, single-page apps}.") + (license license:bsd-3))) From patchwork Wed May 18 18:11:03 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philip McGrath X-Patchwork-Id: 39496 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 2CD1327BBEA; Wed, 18 May 2022 19:15:58 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id EBC9127BBE9 for ; Wed, 18 May 2022 19:15:57 +0100 (BST) Received: from localhost ([::1]:42220 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nrODF-0003dV-56 for patchwork@mira.cbaines.net; Wed, 18 May 2022 14:15:57 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45440) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nrOBP-0008Vv-96 for guix-patches@gnu.org; Wed, 18 May 2022 14:14:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:39686) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nrOBO-0005OP-VZ for guix-patches@gnu.org; Wed, 18 May 2022 14:14:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nrOBO-0006Sb-RE for guix-patches@gnu.org; Wed, 18 May 2022 14:14:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#55030] [PATCH v2 16/34] gnu: Add elm-bytes. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 18 May 2022 18:14:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 55030 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 55030@debbugs.gnu.org Cc: Ludovic =?utf-8?q?Court=C3=A8s?= , Philip McGrath Received: via spool by 55030-submit@debbugs.gnu.org id=B55030.165289759524625 (code B ref 55030); Wed, 18 May 2022 18:14:02 +0000 Received: (at 55030) by debbugs.gnu.org; 18 May 2022 18:13:15 +0000 Received: from localhost ([127.0.0.1]:33549 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nrOAd-0006P7-Bw for submit@debbugs.gnu.org; Wed, 18 May 2022 14:13:15 -0400 Received: from mail-vs1-f49.google.com ([209.85.217.49]:42548) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nrOAb-0006Nh-UE for 55030@debbugs.gnu.org; Wed, 18 May 2022 14:13:14 -0400 Received: by mail-vs1-f49.google.com with SMTP id i186so2900718vsc.9 for <55030@debbugs.gnu.org>; Wed, 18 May 2022 11:13:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=bXdBNo/YMMMgxtb4kbGuYXLC1WpMcKIKzGQaxRBIZPk=; b=IKP7BAzRzEAeLylz1nbIQBX5UAq3ZtCx4ihpmVsdoA1CFkWbcZLwx39GSpACkcE6uO QBlxXxecrDVn0R6/rBf3RF4vLmWOAKCGGFPNx68OJ7W4UTpCKPqIc/t5jS1oO7CsYbHU HXY8E8cFVJpEj7RnwFcKbpDNbvImgSrlKwXQNzh66Satr6pjidO4jXDa6J1+j17zVZpC XOmgq3V4dQa76X+BueHcp7cMldmD/MI8LQ7qE4uDJ0NkSJp4fP+mre2VXWJY8rmn/q2G GdXgE/O5Igx4T89inrsnLJtmexbYR+YT3Y5kE8Oxcrp59PvYXIRJPkIe2keEJyIfGPpF FJyw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=bXdBNo/YMMMgxtb4kbGuYXLC1WpMcKIKzGQaxRBIZPk=; b=hhVdr2aCDsLabLpmxv5vdkS3BGcs56K1LhE1iwGb9E1oH371RSNzd+f+H3zwCi3PsD wKGmsRTUYt1XGQp1ZYtftqG5YdkA/uWK9mp4xpZsv6cDXlkMIHguzrMcMNYHF8zMwB7A c0+PvDHqYFb6+VzCxPQ/C5ofUlNlQ+pJZ6WupKuJMeGuMY9PDlm82xqZVjki6UKJyQiF e68X2dsyy3jxAnY7QKc+4cBZfZRvwvI/1lcivVq/SBYhypx+1pL6F/IR/rDKTKLJOWMU 6n047Z63Kk5ntC1tf10hGEz0qouQFC13BLftnyIdlh0AWdnVWmGPzplUgy3CP3Z6WRLT rr2Q== X-Gm-Message-State: AOAM533U+JfjXhmSO8qeyimby1rpeXa5j1lwdvAf8JVmJjGlQJTxQ6lb gXv4Z5VT5byymX5ag4Is0kpaV8NE+aL9ylcL X-Google-Smtp-Source: ABdhPJx0cKU4YlOJaiLoM4DoKhgotiQUmksA9bsCpweBXoQY41ExIU7UUzfrUEae3hwI5/22tO99rw== X-Received: by 2002:a05:6102:3ec8:b0:335:d67e:7535 with SMTP id n8-20020a0561023ec800b00335d67e7535mr319246vsv.47.1652897588514; Wed, 18 May 2022 11:13:08 -0700 (PDT) Received: from localhost (c-73-125-98-51.hsd1.fl.comcast.net. [73.125.98.51]) by smtp.gmail.com with UTF8SMTPSA id l48-20020ab05a33000000b0036273c68563sm265976uad.3.2022.05.18.11.13.08 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 18 May 2022 11:13:08 -0700 (PDT) From: Philip McGrath Date: Wed, 18 May 2022 14:11:03 -0400 Message-Id: <30ffc23c80a26d183a4dec31da1e90a012b4a5fb.1652890702.git.philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: References: <20220419232736.272970-1-philip@philipmcgrath.com> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * gnu/packages/elm.scm (elm-bytes): New variable. --- gnu/packages/elm.scm | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/gnu/packages/elm.scm b/gnu/packages/elm.scm index 714a49a3dd..ac10bd8672 100644 --- a/gnu/packages/elm.scm +++ b/gnu/packages/elm.scm @@ -292,3 +292,21 @@ (define-public elm-browser "This package allows you to create Elm programs that run in browsers, with access to browser history for @acronym{SPAs, single-page apps}.") (license license:bsd-3))) + +(define-public elm-bytes + (package + (name "elm-bytes") + (version "1.0.8") + (source + (elm-package-origin + "elm/bytes" + version + (base32 "0n411j2cyz9m241q6vszfzpq3fraradwal5m0gigp2505mdfpz3x"))) + (build-system elm-build-system) + (propagated-inputs (list elm-core)) + (home-page "https://package.elm-lang.org/packages/elm/bytes/1.0.8") + (synopsis "Work with sequences of bytes in Elm") + (description "This package provides an Elm library for working with +densely packed sequences of bytes, such as @code{ArrayBuffer}, typed arrays, +and @code{DataView}.") + (license license:bsd-3))) From patchwork Wed May 18 18:11:04 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philip McGrath X-Patchwork-Id: 39500 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id E806427BBE9; Wed, 18 May 2022 19:16:09 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 7A77E27BBEA for ; Wed, 18 May 2022 19:16:09 +0100 (BST) Received: from localhost ([::1]:43028 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nrODQ-0004Be-MM for patchwork@mira.cbaines.net; Wed, 18 May 2022 14:16:08 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45470) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nrOBR-000083-DT for guix-patches@gnu.org; Wed, 18 May 2022 14:14:05 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:39690) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nrOBQ-0005P4-Iy for guix-patches@gnu.org; Wed, 18 May 2022 14:14:05 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nrOBQ-0006T7-Es for guix-patches@gnu.org; Wed, 18 May 2022 14:14:04 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#55030] [PATCH v2 17/34] gnu: Add elm-file. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 18 May 2022 18:14:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 55030 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 55030@debbugs.gnu.org Cc: Ludovic =?utf-8?q?Court=C3=A8s?= , Philip McGrath Received: via spool by 55030-submit@debbugs.gnu.org id=B55030.165289761824714 (code B ref 55030); Wed, 18 May 2022 18:14:04 +0000 Received: (at 55030) by debbugs.gnu.org; 18 May 2022 18:13:38 +0000 Received: from localhost ([127.0.0.1]:33563 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nrOB0-0006QW-He for submit@debbugs.gnu.org; Wed, 18 May 2022 14:13:38 -0400 Received: from mail-vs1-f42.google.com ([209.85.217.42]:37437) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nrOAf-0006Oq-So for 55030@debbugs.gnu.org; Wed, 18 May 2022 14:13:32 -0400 Received: by mail-vs1-f42.google.com with SMTP id w10so460384vsa.4 for <55030@debbugs.gnu.org>; Wed, 18 May 2022 11:13:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=N0M8Jy6CYOY/dYsUanzyIl3wTjtL8Wx/rptRUX2CXKc=; b=kivl0XZWgpAjYHMT+GzUPgCVXeFqmgHfPL9YhLBcHU51DQKMYqqfu0MnqNJqv2zLxa Bbwh7rnVZxH/O63rFZcXGuu1177ZNvZIJ+VPujpbfr8twrbb9ojrADiG3763clMsKoPn 5C3nespOz6+kbsmQ3CsiGIWv8wYuYLF8bOLuFRIePhUuY1yQ2+mAtghfyX0iWIBUXDrq FphI1hQEQOd1ZfC4UhPk6N6tSyz7YHbIKQEZFVeLOmhGruIMUlIcxdRyd2TgxzoMhvuK 7O47Hw+fyaiPYWQ60N2qttWIoRLEpbR+eJ9QsIXRrE3GfE2wGgLnfTLzb8YdhKT4uQG7 DYNg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=N0M8Jy6CYOY/dYsUanzyIl3wTjtL8Wx/rptRUX2CXKc=; b=HI4DlIs1b4RTIJlNoumL595QZSVuGcKPk3mmH2YjLYaRZPg3BuRrdPNJn+6CSb2PlN yLwdK8a/YlEHUBz7joJkA3yR83neDAYJNjf5YHGFyXsCu2lAW5f/jb89GxkQugDLqlhH 53y4X4qXfTYf0D9IDV1mhfZYtcx09XmqaEyFF0m/2hsLr0lcc5XaY5LjXYbEuXZX35A9 UAqAbU4bwViYm18YI8mKLYBNkN8O+FBvg3xvVdnW45Kehr1oK6OKnVIRQmf2scERaXdx JeuQrXztIMUy/wXE6h2RuuDkqLc6ukcNVH1g7xX1kSLXjofbeTw0oJqo4ZMeUMf9Zdiz r7QQ== X-Gm-Message-State: AOAM5300pb7aAT4bheFb6HyoSUKmOasY/5jc3Atwojd6wbwSmC0OkA3j qCYYNJ/w7JvlR2tVD72pz0Wyb76r0DEKVAps X-Google-Smtp-Source: ABdhPJxjkCuO1v0d9ZbzmIEnK+vOCaQi0c0VT6ypT/q8GCay0/TvfIYVCbikbnShD0zaDtNPMExVLA== X-Received: by 2002:a67:ef07:0:b0:32d:20:8d3f with SMTP id j7-20020a67ef07000000b0032d00208d3fmr672403vsr.46.1652897592410; Wed, 18 May 2022 11:13:12 -0700 (PDT) Received: from localhost (c-73-125-98-51.hsd1.fl.comcast.net. [73.125.98.51]) by smtp.gmail.com with UTF8SMTPSA id g6-20020ab02446000000b00368ae2a5b1esm273282uan.31.2022.05.18.11.13.12 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 18 May 2022 11:13:12 -0700 (PDT) From: Philip McGrath Date: Wed, 18 May 2022 14:11:04 -0400 Message-Id: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: <20220419232736.272970-1-philip@philipmcgrath.com> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * gnu/packages/elm.scm (elm-file): New variable. --- gnu/packages/elm.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/elm.scm b/gnu/packages/elm.scm index ac10bd8672..3bf3b66a6e 100644 --- a/gnu/packages/elm.scm +++ b/gnu/packages/elm.scm @@ -310,3 +310,24 @@ (define-public elm-bytes densely packed sequences of bytes, such as @code{ArrayBuffer}, typed arrays, and @code{DataView}.") (license license:bsd-3))) + +(define-public elm-file + (package + (name "elm-file") + (version "1.0.5") + (source + (elm-package-origin + "elm/file" + version + (base32 "0aimgicrdpys0v89m2wjx413561zil14cczjh6mkn9jcgckx6yng"))) + (build-system elm-build-system) + (propagated-inputs + (list elm-time + elm-json + elm-core + elm-bytes)) + (home-page "https://package.elm-lang.org/packages/elm/file/1.0.5") + (synopsis "Work with files in Elm") + (description "This package enables Elm programs to select files, download +files, and work with file content.") + (license license:bsd-3))) From patchwork Wed May 18 18:11:05 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philip McGrath X-Patchwork-Id: 39499 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 4044327BBEA; Wed, 18 May 2022 19:16:08 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 11DFD27BBE9 for ; Wed, 18 May 2022 19:16:08 +0100 (BST) Received: from localhost ([::1]:42938 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nrODP-00047i-7v for patchwork@mira.cbaines.net; Wed, 18 May 2022 14:16:07 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45446) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nrOBP-00005W-M6 for guix-patches@gnu.org; Wed, 18 May 2022 14:14:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:39687) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nrOBP-0005Og-Cb for guix-patches@gnu.org; Wed, 18 May 2022 14:14:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nrOBP-0006Sj-8B for guix-patches@gnu.org; Wed, 18 May 2022 14:14:03 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#55030] [PATCH v2 18/34] gnu: Add elm-http. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 18 May 2022 18:14:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 55030 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 55030@debbugs.gnu.org Cc: Ludovic =?utf-8?q?Court=C3=A8s?= , Philip McGrath Received: via spool by 55030-submit@debbugs.gnu.org id=B55030.165289761124669 (code B ref 55030); Wed, 18 May 2022 18:14:03 +0000 Received: (at 55030) by debbugs.gnu.org; 18 May 2022 18:13:31 +0000 Received: from localhost ([127.0.0.1]:33555 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nrOAs-0006Pn-MV for submit@debbugs.gnu.org; Wed, 18 May 2022 14:13:30 -0400 Received: from mail-vs1-f48.google.com ([209.85.217.48]:36681) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nrOAj-0006PF-PB for 55030@debbugs.gnu.org; Wed, 18 May 2022 14:13:29 -0400 Received: by mail-vs1-f48.google.com with SMTP id a127so2933701vsa.3 for <55030@debbugs.gnu.org>; Wed, 18 May 2022 11:13:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=VIURy4eVnhS9xphPT3C9RwL/yGl7vP/+qBM1Mwz+oIk=; b=hnVy466LmQpvNUIpT9y51GNURZ1pBhwaYAuvGmqD5EYVkQzs+dwptVQ5YJkjTTTd0e ULsneaLJ5O5s/77JMOHnp+QnbNXg5ExfuzqcPbLQuniPyFl3UrzPUM4IL5TCCRt5vGNw 4fzJqjX7WGjjCqXEGLiJd+hsj2FaNKmEI7DCfbfmEBJYJFWPj8uYAWtXYaTsX6V+OMX+ m+ePXzpn5h1Jyt4xMK+AIWJm2FhXfxtBBbfTDdn3j1LuPXj7x1ijdIgtTuV5hbzeri7j BvQXirtfqRfS3SJ63IpOUgUQ7BPzOY3EGggxB5Pz5gX0J+CsBfIow68qLL2M/JJsQm4p Fkvg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=VIURy4eVnhS9xphPT3C9RwL/yGl7vP/+qBM1Mwz+oIk=; b=zjJtSbnUT7n9tq+RTSAikpM9dodQzYp0toJpQjVb1sd96S/3FQeFBbZ5jNPRageFq8 AdJXu4kGoyQOWhJMZ32/wdn4W0h8mPLDrkKv2YrGdB10vd+LldqRbAX1B85oFh2iU+6c qwPBoxnRO+gsu5DXWwPvbI4rCqccrTWXepTYl5VpAgpwXAo5TfzQ8WSy7c9UVdO9og1g 9cShNfW9eqnq3+GRVxMCYSZezbi173f2LfqbrIsxGlVoM8T6E3G3N/uaDaqOR3a1fsDX Q8bCDVb8dd/JcHSmUL+JJmzLBHUKA8RKA1qi04vu9O+P8OD6jbxE2LJrX/tnXq2btY2S yD3w== X-Gm-Message-State: AOAM533WQ+XKC8JD5CUQMrSmEiloBYPaz6O1QqmeKUESHn+fw0H7n+G5 yFNKqni+77J4fWxVXXBm2AeME1obKjdQCULn X-Google-Smtp-Source: ABdhPJzb2zwi4MM67/iMn/HxcDLl9B/7F9T+VrTCKC/AS9ts21J0wG3tcfUqabvCGs22h6RoU2gTCg== X-Received: by 2002:a67:c988:0:b0:333:b089:61f9 with SMTP id y8-20020a67c988000000b00333b08961f9mr666179vsk.42.1652897596363; Wed, 18 May 2022 11:13:16 -0700 (PDT) Received: from localhost (c-73-125-98-51.hsd1.fl.comcast.net. [73.125.98.51]) by smtp.gmail.com with UTF8SMTPSA id 93-20020ab004e6000000b003626f894df6sm260550uaw.36.2022.05.18.11.13.15 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 18 May 2022 11:13:16 -0700 (PDT) From: Philip McGrath Date: Wed, 18 May 2022 14:11:05 -0400 Message-Id: <4359f6622eb2a21c9c4cdf1fd9a92de28bae97a9.1652890702.git.philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: References: <20220419232736.272970-1-philip@philipmcgrath.com> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * gnu/packages/elm.scm (elm-http): New variable. --- gnu/packages/elm.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/elm.scm b/gnu/packages/elm.scm index 3bf3b66a6e..68636c3192 100644 --- a/gnu/packages/elm.scm +++ b/gnu/packages/elm.scm @@ -331,3 +331,24 @@ (define-public elm-file (description "This package enables Elm programs to select files, download files, and work with file content.") (license license:bsd-3))) + +(define-public elm-http + (package + (name "elm-http") + (version "2.0.0") + (source + (elm-package-origin + "elm/http" + version + (base32 "0mfbz0lkfidmq5xpv5csw8943q0yrpvj0rwd2vb0gc8rbsfc9dg8"))) + (build-system elm-build-system) + (propagated-inputs + (list elm-json + elm-file + elm-core + elm-bytes)) + (home-page "https://package.elm-lang.org/packages/elm/http/2.0.0") + (synopsis "Make HTTP requests in Elm") + (description "This package enables Elm programs to make HTTP requests and +talk to servers.") + (license license:bsd-3))) From patchwork Wed May 18 18:11:06 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philip McGrath X-Patchwork-Id: 39505 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 07C7327BBEA; Wed, 18 May 2022 19:16:32 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id C872927BBE9 for ; Wed, 18 May 2022 19:16:31 +0100 (BST) Received: from localhost ([::1]:44598 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nrODn-0005Hs-0X for patchwork@mira.cbaines.net; Wed, 18 May 2022 14:16:31 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45464) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nrOBR-000079-9h for guix-patches@gnu.org; Wed, 18 May 2022 14:14:05 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:39689) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nrOBQ-0005Oy-5Z for guix-patches@gnu.org; Wed, 18 May 2022 14:14:04 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nrOBQ-0006Sy-1d for guix-patches@gnu.org; Wed, 18 May 2022 14:14:04 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#55030] [PATCH v2 19/34] gnu: Add elm-parser. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 18 May 2022 18:14:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 55030 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 55030@debbugs.gnu.org Cc: Ludovic =?utf-8?q?Court=C3=A8s?= , Philip McGrath Received: via spool by 55030-submit@debbugs.gnu.org id=B55030.165289761124682 (code B ref 55030); Wed, 18 May 2022 18:14:03 +0000 Received: (at 55030) by debbugs.gnu.org; 18 May 2022 18:13:31 +0000 Received: from localhost ([127.0.0.1]:33559 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nrOAt-0006Px-7M for submit@debbugs.gnu.org; Wed, 18 May 2022 14:13:31 -0400 Received: from mail-vs1-f41.google.com ([209.85.217.41]:36683) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nrOAo-0006PK-04 for 55030@debbugs.gnu.org; Wed, 18 May 2022 14:13:29 -0400 Received: by mail-vs1-f41.google.com with SMTP id a127so2933894vsa.3 for <55030@debbugs.gnu.org>; Wed, 18 May 2022 11:13:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=wzxDNRVzxcSQomknx2DRS5y9OLul8iPO2/wryPaNLpU=; b=Roz0C4NW4uVgK/bwRo8iD3R/DpevvtJS1dM3lRlP7JhTLou6WpNBHM6uSEsSa5IyS/ PUX/aBgsV6ku4aG+UprQm6oyvjBarD8pjJKIMwCN6HiIGW0tx8QF4RRGjAM1+GdjzCEU 8QnL4rquFpNf272+q+b5EhB/z3LlcjHWTWZuo5JDpWc7+6WdLIlDsvZaoiMGwQfTtnn7 btg1YAHbVNq19pxtUJklIsPa26wHNofxe9w830pgjPjIK+DreQ8TiMBeo1nLEnrRHLXJ i2uLRBQ7ThO498n8Yfca9z7N3dkwTeX0NaXPzMxHcXze6glTxI8erI8sGRXWJsr28wlK kdfg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=wzxDNRVzxcSQomknx2DRS5y9OLul8iPO2/wryPaNLpU=; b=dvlNj7I+MaP33FbN2Uc2nOvErEaUuV7uo3MdAvpaI4rWxRZ+f4eWS6mxWYN8ti2dWC gSHmyBqEt8wim1cgKANYItszIHu7Vr30uvdAP0+PTk5J4LbkDWOEF2SUUbZ4iscOGL8I Y7GRHB5Do/UcnbpdyGDr4wBc3/fJuoBe4eOgq4W7l3aKWEj93b/nLVLrqengxHxZ86Ea FaPYXOZJWpLJ4dIqnfbFFmzjsx6sal6ddSi96PgYKwwW2JTFZDIjRlsuHWwd2T0YfKOW PFLc68r36j0PqpfTWoLJBCBdtLhQdjuUk3Tcofrsc4e7SHV3uztLdfNOlYdb/5JUZm7p gbkA== X-Gm-Message-State: AOAM533M2Y6rVhVbqk3XxTtm9lK9wIZkayYXhZ33QgAz+WctIGn0HTFV VbrAuczQFVWELTiGPF3LIUctrMM6s/pv9s+Z X-Google-Smtp-Source: ABdhPJxoJf6gN82UUDE9bzwcmMFDQYyGAFZtEDh+ijqxliRkOLasiln1JJFZcPduHiFsodGwzOtcCw== X-Received: by 2002:a05:6102:215:b0:335:c041:9017 with SMTP id z21-20020a056102021500b00335c0419017mr569856vsp.65.1652897600642; Wed, 18 May 2022 11:13:20 -0700 (PDT) Received: from localhost (c-73-125-98-51.hsd1.fl.comcast.net. [73.125.98.51]) by smtp.gmail.com with UTF8SMTPSA id j16-20020a056102241000b00335e2812587sm105675vsi.3.2022.05.18.11.13.20 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 18 May 2022 11:13:20 -0700 (PDT) From: Philip McGrath Date: Wed, 18 May 2022 14:11:06 -0400 Message-Id: <41c53c493739a05c2ef6eb4c4f6b9f1e5d93a529.1652890702.git.philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: References: <20220419232736.272970-1-philip@philipmcgrath.com> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * gnu/packages/elm.scm (elm-parser): New variable. --- gnu/packages/elm.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/elm.scm b/gnu/packages/elm.scm index 68636c3192..4120fcaaf4 100644 --- a/gnu/packages/elm.scm +++ b/gnu/packages/elm.scm @@ -352,3 +352,23 @@ (define-public elm-http (description "This package enables Elm programs to make HTTP requests and talk to servers.") (license license:bsd-3))) + +(define-public elm-parser + (package + (name "elm-parser") + (version "1.1.0") + (source + (elm-package-origin + "elm/parser" + version + (base32 "06xx29rmagc5r45qfpvrd393lz83ylngidfp08432f1qc8y6r3lh"))) + (build-system elm-build-system) + (propagated-inputs (list elm-core)) + (home-page "https://package.elm-lang.org/packages/elm/parser/1.1.0") + (synopsis + "Parsing library for Elm") + (description + "Regular expressions are quite confusing and difficult to use. This +library provides a coherent alternative that handles more cases and produces +clearer code. It is focused on simplicity and great error messages.") + (license license:bsd-3))) From patchwork Wed May 18 18:11:07 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philip McGrath X-Patchwork-Id: 39488 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 4690527BBEA; Wed, 18 May 2022 19:15:33 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 10BCA27BBE9 for ; Wed, 18 May 2022 19:15:33 +0100 (BST) Received: from localhost ([::1]:40236 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nrOCq-0002Jm-5w for patchwork@mira.cbaines.net; Wed, 18 May 2022 14:15:32 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45448) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nrOBQ-00006V-4D for guix-patches@gnu.org; Wed, 18 May 2022 14:14:05 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:39688) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nrOBP-0005Oq-Qb for guix-patches@gnu.org; Wed, 18 May 2022 14:14:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nrOBP-0006Sq-Lr for guix-patches@gnu.org; Wed, 18 May 2022 14:14:03 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#55030] [PATCH v2 20/34] gnu: Add elm-project-metadata-utils. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 18 May 2022 18:14:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 55030 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 55030@debbugs.gnu.org Cc: Ludovic =?utf-8?q?Court=C3=A8s?= , Philip McGrath Received: via spool by 55030-submit@debbugs.gnu.org id=B55030.165289761124676 (code B ref 55030); Wed, 18 May 2022 18:14:03 +0000 Received: (at 55030) by debbugs.gnu.org; 18 May 2022 18:13:31 +0000 Received: from localhost ([127.0.0.1]:33557 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nrOAs-0006Pq-Uf for submit@debbugs.gnu.org; Wed, 18 May 2022 14:13:31 -0400 Received: from mail-vs1-f49.google.com ([209.85.217.49]:42548) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nrOAm-0006Nh-TV for 55030@debbugs.gnu.org; Wed, 18 May 2022 14:13:29 -0400 Received: by mail-vs1-f49.google.com with SMTP id i186so2900718vsc.9 for <55030@debbugs.gnu.org>; Wed, 18 May 2022 11:13:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=5bR54BIxSbMTbDlLH39kOG32siF46V4aax73+b/Zlnc=; b=aL5HiLBxjJ92YJ95BXwVyqt6SBnxPE9DpTNrS7eo+ve76OkcgjaVYTtE68KIcigZbN jN23ir27bf7yoc/esTGWsbWdkjqe1dycPOOrvs/W276w8AQqEynhBsqY+aJTMSBorLuT ngAcS9FVMF3fvsac4XHOHjvgR5kSaBZn2XVm/AYBFjHarLstLTszNA4kUGPl7ZrLLXVH fr1FVjuY5itj5FXUNGBSUUQmY9GH6LMI5QhCOdVI1uEk1oxQNghHUMm8Jk+bpBxXggUF DbpAor1RAvfLuYqT2P3DNLZZy20nZB7dHxw9ePaP60jwxap8qwybL7gjLGZK+e6sd4hj y5ug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=5bR54BIxSbMTbDlLH39kOG32siF46V4aax73+b/Zlnc=; b=ZoYlvkwl1TGmNFx2PYzst2CnMlPWDQfdcVa3XMfCtbsLPSoae/Bn3Uj3OrSGpui2lq 49SQtx30LLJmREijC4tL1TETGAxY84Qp8EJBIX5XXdieyFNDTgK9vLw+28y8+Bu6h0zM Y7bZ07DDSAcSIMhduoXP0BNgmy1X3re7bEchRjLFFvyjpq/NfiO/4dJQD4s6M0quicmV fCIPE7iaI+YVgAUsMuWzVMWXL0HPQCChGyjWTFz5M8H4f8bzaph7NTN0rP2Hkjnw6Wv3 o1asAov78LIjoYgY0s/sFdDB1rmxkxEaULghHZGQ8UARLwDSjWA+zQVT3q2rtdf2VJp3 8eaA== X-Gm-Message-State: AOAM530reTj0GKC7vRapJvflHBhuY31D4LB7QwI5BOfHIMQtPRIC5MXU 9sNL4m8Q4V+RnFrbUilwjKjx5XHDq5XrIC8G X-Google-Smtp-Source: ABdhPJxgWTCzK5dXtrH37gOvupSMACK+o4wvQv9VGHdhF1m3jCHsBAN6J1AuCVq70jBlV7onSR5SSg== X-Received: by 2002:a05:6102:115a:b0:32c:e4dd:5121 with SMTP id j26-20020a056102115a00b0032ce4dd5121mr316268vsg.25.1652897604604; Wed, 18 May 2022 11:13:24 -0700 (PDT) Received: from localhost (c-73-125-98-51.hsd1.fl.comcast.net. [73.125.98.51]) by smtp.gmail.com with UTF8SMTPSA id b9-20020a1f1b09000000b00356e423e9a6sm253102vkb.21.2022.05.18.11.13.24 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 18 May 2022 11:13:24 -0700 (PDT) From: Philip McGrath Date: Wed, 18 May 2022 14:11:07 -0400 Message-Id: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: <20220419232736.272970-1-philip@philipmcgrath.com> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * gnu/packages/elm.scm (elm-project-metadata-utils): New variable. --- gnu/packages/elm.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/elm.scm b/gnu/packages/elm.scm index 4120fcaaf4..48594613f3 100644 --- a/gnu/packages/elm.scm +++ b/gnu/packages/elm.scm @@ -372,3 +372,28 @@ (define-public elm-parser library provides a coherent alternative that handles more cases and produces clearer code. It is focused on simplicity and great error messages.") (license license:bsd-3))) + +(define-public elm-project-metadata-utils + (package + (name "elm-project-metadata-utils") + (version "1.0.2") + (source + (elm-package-origin + "elm/project-metadata-utils" + version + (base32 "1wj7chfy4knwwyc3k0hy431c80hs7hc686qsr34ayn8gip73x2jj"))) + (build-system elm-build-system) + (propagated-inputs + (list elm-parser + elm-json + elm-core)) + (home-page + "https://package.elm-lang.org/packages/elm/project-metadata-utils/1.0.2") + (synopsis "Work with @file{elm.json} and @file{docs.json} files in Elm") + (description + "This package is meant for people creating Elm tooling, like editor +plugins. If you just want to make stuff in Elm, there is nothing here for +you.") + (properties '((upstream-name . "elm/project-metadata-utils"))) + (license license:bsd-3))) + From patchwork Wed May 18 18:11:08 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philip McGrath X-Patchwork-Id: 39507 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id C356327BBEA; Wed, 18 May 2022 19:16:44 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 8D4C527BBE9 for ; Wed, 18 May 2022 19:16:44 +0100 (BST) Received: from localhost ([::1]:45196 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nrODz-0005fx-Iv for patchwork@mira.cbaines.net; Wed, 18 May 2022 14:16:43 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45476) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nrOBR-00009I-Lo for guix-patches@gnu.org; Wed, 18 May 2022 14:14:05 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:39693) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nrOBR-0005PM-B6 for guix-patches@gnu.org; Wed, 18 May 2022 14:14:05 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nrOBR-0006TL-6m for guix-patches@gnu.org; Wed, 18 May 2022 14:14:05 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#55030] [PATCH v2 21/34] gnu: Add elm-explorations-markdown. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 18 May 2022 18:14:05 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 55030 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 55030@debbugs.gnu.org Cc: Ludovic =?utf-8?q?Court=C3=A8s?= , Philip McGrath Received: via spool by 55030-submit@debbugs.gnu.org id=B55030.165289762624742 (code B ref 55030); Wed, 18 May 2022 18:14:05 +0000 Received: (at 55030) by debbugs.gnu.org; 18 May 2022 18:13:46 +0000 Received: from localhost ([127.0.0.1]:33567 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nrOB1-0006Qg-A5 for submit@debbugs.gnu.org; Wed, 18 May 2022 14:13:45 -0400 Received: from mail-vs1-f54.google.com ([209.85.217.54]:45651) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nrOAy-0006Q9-Vg for 55030@debbugs.gnu.org; Wed, 18 May 2022 14:13:37 -0400 Received: by mail-vs1-f54.google.com with SMTP id e19so2891930vsu.12 for <55030@debbugs.gnu.org>; Wed, 18 May 2022 11:13:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=GEHslMo0tx5hG5ai7CfRVZkn+WjzfPGVg7OZQSx2GCI=; b=VI2vddvyWrkq9ZrOlG6CzC2utzLrCbB2BZQ8DRp1T7NODnH+fds8lscmBeyUhomhAp WtzYnJIDqjYnDxPT4TJ6NriF/Wgk+oby/08upAbi+IIGboXnHXvbJeqG5Jsnl4EXl/WX 1on004OofiAGzFJ/zS20YA952QSKlQlUCQigVBZlKYxeZBs2mtDYI92/e6uJ5E659hcY aC62fFS+eJ/90mjENnPerclS8txVbfS3fBNSz0RpjwFAPrgMk5ry8e1QNcn2HseWwVjr iORxng5M7BzdEM0CIK3XmcBjtJ39nKYCo9TUhu77TCfZot9v6CRWh4nkcp9actty7T/c bZGQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=GEHslMo0tx5hG5ai7CfRVZkn+WjzfPGVg7OZQSx2GCI=; b=AIMyMp6CMJgbG9lki3a3yVMqHcAYHHgKhcowZyzbiqU9CQCEwXQ2vEN/ml88ADlMxI rbpr/tVPl8IeUjsSAYd6GulrZJYNFITZG8k3bhq9GSYbTuHc0+2Bsw/9JsoGsUmSTWKU knSsedEK6SS7qJV5+03/zXux+ysQGeoOR3F1aanAGSigxMTSOgFyhr/VQmXtid724RaL ENXR/RDDM36JZQ/JjbJgUEIdQnbanY5ztrmF+Mqz7iJZaWhbjxOx9Xs88v140zPTsR2N L8FRdchCvF0e1f0ivHYpaZYSFYy7p9/O/r/Fns1aiPdq1MPgs4qitC9ahxUmAN9mS4Kd htmg== X-Gm-Message-State: AOAM532VHjypc7FlFYrg8zITVw3wl0LxWtKn/W27T+XOVrVUkRyg7BYB k3SF+xuqjbCdMOFTzAXwEDme66PUimZhmpMA X-Google-Smtp-Source: ABdhPJxULiFJXfj5vcFHPugbqpu3Ztvl6tJzkPq4wL/sT8tcNHR2IRnDn9MX6l1Vgmt1h0jNOSTq4w== X-Received: by 2002:a67:ef0a:0:b0:32d:4bb9:23f with SMTP id j10-20020a67ef0a000000b0032d4bb9023fmr620921vsr.47.1652897611538; Wed, 18 May 2022 11:13:31 -0700 (PDT) Received: from localhost (c-73-125-98-51.hsd1.fl.comcast.net. [73.125.98.51]) by smtp.gmail.com with UTF8SMTPSA id h15-20020ac5cbcf000000b0034e6f1fd041sm265353vkn.11.2022.05.18.11.13.31 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 18 May 2022 11:13:31 -0700 (PDT) From: Philip McGrath Date: Wed, 18 May 2022 14:11:08 -0400 Message-Id: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: <20220419232736.272970-1-philip@philipmcgrath.com> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * gnu/packages/elm.scm (elm-explorations-markdown): New variable. --- gnu/packages/elm.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/gnu/packages/elm.scm b/gnu/packages/elm.scm index 48594613f3..8f92eea041 100644 --- a/gnu/packages/elm.scm +++ b/gnu/packages/elm.scm @@ -397,3 +397,22 @@ (define-public elm-project-metadata-utils (properties '((upstream-name . "elm/project-metadata-utils"))) (license license:bsd-3))) +(define-public elm-explorations-markdown + (package + (name "elm-explorations-markdown") + (version "1.0.0") + (source + (elm-package-origin + "elm-explorations/markdown" + version + (base32 "1f57ikdpbbhchcpwj32216gxjxijrc3sdpg27s1cgzia9pnkqk6p"))) + (build-system elm-build-system) + (propagated-inputs (list elm-html elm-core)) + (home-page + "https://package.elm-lang.org/packages/elm-explorations/markdown/1.0.0") + (synopsis "Fast markdown parsing and rendering in Elm") + (description + "This package is for markdown parsing and rendering in Elm. It is based +on the @code{marked} project, which focuses on speed.") + (license license:bsd-3))) + From patchwork Wed May 18 18:11:09 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philip McGrath X-Patchwork-Id: 39502 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 0B97627BBEA; Wed, 18 May 2022 19:16:20 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 6E6F527BBE9 for ; Wed, 18 May 2022 19:16:19 +0100 (BST) Received: from localhost ([::1]:43730 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nrODa-0004fy-HB for patchwork@mira.cbaines.net; Wed, 18 May 2022 14:16:18 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45468) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nrOBR-000081-DR for guix-patches@gnu.org; Wed, 18 May 2022 14:14:05 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:39692) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nrOBQ-0005P7-VJ for guix-patches@gnu.org; Wed, 18 May 2022 14:14:05 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nrOBQ-0006TE-Qt for guix-patches@gnu.org; Wed, 18 May 2022 14:14:04 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#55030] [PATCH v2 22/34] gnu: elm: Support 'elm reactor'. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 18 May 2022 18:14:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 55030 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 55030@debbugs.gnu.org Cc: Ludovic =?utf-8?q?Court=C3=A8s?= , Philip McGrath Received: via spool by 55030-submit@debbugs.gnu.org id=B55030.165289761924721 (code B ref 55030); Wed, 18 May 2022 18:14:04 +0000 Received: (at 55030) by debbugs.gnu.org; 18 May 2022 18:13:39 +0000 Received: from localhost ([127.0.0.1]:33565 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nrOB0-0006QZ-Q7 for submit@debbugs.gnu.org; Wed, 18 May 2022 14:13:39 -0400 Received: from mail-vs1-f42.google.com ([209.85.217.42]:37437) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nrOAy-0006Oq-0k for 55030@debbugs.gnu.org; Wed, 18 May 2022 14:13:36 -0400 Received: by mail-vs1-f42.google.com with SMTP id w10so460384vsa.4 for <55030@debbugs.gnu.org>; Wed, 18 May 2022 11:13:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=UHfL3C/ibqhoWyMSseXInHhRAjPSYuVXliqi06fgUCQ=; b=E1dixoAik3ep+cOGleYWgwC/gw64M2O0nWBmG9Gn4n0r/DFcu6oS+KDx7LUZu/orIL hKVoBmFvWjjPRFQ03J/o/aJOhjn1KD3okvi6jgM5QcEmupJXO31ZiVtZjkbNBUAMRq7m ORV3CMNsW+8lfDnDcmrrH0ls/Tct0p8tYTzfZvDq4+08OBNh11tyPW66kHP+2O3Z1iR3 dVFbjBTQKdvY88amPOt+eN1HaIw42yQ9EKBJS8N19VGyXSUOIvK6VMpmS8EWXa4FpIf6 JLl2q3Y0v16SbVXeqgGvYEE6rPSNi5K+so6qmtFqr44QT4ymqnHuKLbMn7utMvMzvjpw pzYg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=UHfL3C/ibqhoWyMSseXInHhRAjPSYuVXliqi06fgUCQ=; b=a6mRFfFy1Y9/RxusjBAQz7Gu1HVQZkmy6FepIYyHTY+TUmETigCYZkJ1YR99MlJnIe N5G8CqKuvYq2/R0i3Z3e/LGl2t4Ikx5MeNLlOiFCppVFA9WlNo4ZMuMm9hSMK5fbszAh KD7CltJ8/B6IFi3W142fPMCeF0MSXvnoomteN9BMlUamcUtVL5gzypuVrdLg2ILNpmrG O9psTgdujqou85HdEW7cwN9tQ3RwlkSC/UtX2e6G78cY5hh2liyhcFvSoM7ZHTMdr9GM Pl4dSInQU2I+5P6OFRONf1/2v4CpiWMpyOx/MuTrRVk6S0GAIcGqwYpO8euVW/U5Anpk cizQ== X-Gm-Message-State: AOAM5315U0X5qa1PZgOOwZSBV4szqvX9IFQ7wdJHS6rZlByaGunjgXl3 Vi/OL8i51MGPdLstBx+hirzTuurtVHUmHFaJ X-Google-Smtp-Source: ABdhPJysnL8i7NRJ9IHrOBY1BeXhkWEFrPmCtAnZ11ULl2GUDgMnpmq8hOnLqQsOKMb+tcZ12nG24Q== X-Received: by 2002:a05:6102:3002:b0:335:c397:db4f with SMTP id s2-20020a056102300200b00335c397db4fmr648346vsa.37.1652897615527; Wed, 18 May 2022 11:13:35 -0700 (PDT) Received: from localhost (c-73-125-98-51.hsd1.fl.comcast.net. [73.125.98.51]) by smtp.gmail.com with UTF8SMTPSA id b19-20020a67cb13000000b0032d275e6909sm261975vsl.9.2022.05.18.11.13.35 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 18 May 2022 11:13:35 -0700 (PDT) From: Philip McGrath Date: Wed, 18 May 2022 14:11:09 -0400 Message-Id: <1a6669a4b3f0364cb0686e4ff70a0cdc44b53de6.1652890702.git.philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: References: <20220419232736.272970-1-philip@philipmcgrath.com> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * gnu/packages/elm.scm (elm): Rename to ... (elm-sans-reactor): ... this new variable. [synopsis, description]: Tweak. (elm): New variable. * guix/build-system/elm.scm (default-elm): Use elm-sans-reactor. * doc/guix.texi (Build Systems)[elm-build-system]: Update accordingly. --- doc/guix.texi | 7 ++-- gnu/packages/elm.scm | 75 +++++++++++++++++++++++++++++++++++++-- guix/build-system/elm.scm | 2 +- 3 files changed, 79 insertions(+), 5 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index d7bc7523cd..282cddf798 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -8724,7 +8724,7 @@ Build Systems @samp{elm install}. The build system adds an Elm compiler package to the set of inputs. The -default compiler package (currently @code{elm}) can be overridden +default compiler package (currently @code{elm-sans-reactor}) can be overridden using the @code{#:elm} argument. Additionally, Elm packages needed by the build system itself are added as implicit inputs if they are not already present: to suppress this behavior, use the @@ -8747,7 +8747,10 @@ Build Systems Elm @dfn{projects} which declare @code{@{ "type": "package" @}} in their @file{elm.json} files. Using @code{elm-build-system} to build Elm @dfn{applications} (which declare @code{@{ "type": "application" @}}) is -possible, but requires ad-hoc modifications to the build phases. +possible, but requires ad-hoc modifications to the build phases. For +an example, see the definition of +the @code{elm} package itself (because the front-end for the +@samp{elm reactor} command is an Elm application). @item Elm supports multiple versions of a package coexisting simultaneously under diff --git a/gnu/packages/elm.scm b/gnu/packages/elm.scm index 8f92eea041..d515d68e8f 100644 --- a/gnu/packages/elm.scm +++ b/gnu/packages/elm.scm @@ -40,9 +40,9 @@ (define-module (gnu packages elm) ;; `elm reactor` exit with a useful error message if they aren't there. (define %reactor-root-base "share/elm/reactor-") -(define-public elm +(define-public elm-sans-reactor (package - (name "elm") + (name "elm-sans-reactor") (version "0.19.1") (source (origin @@ -93,6 +93,77 @@ (define-public elm ghc-vector ghc-zip-archive)) (home-page "https://elm-lang.org") + (synopsis "Minimal variant of @command{elm}") + (description + "This package provides a version of the Elm compiler without support for +the @command{elm reactor} development command.") + (license license:bsd-3))) + +(define-public elm + (package + (name "elm") + (version (package-version elm-sans-reactor)) + (source (package-source elm-sans-reactor)) + (native-inputs (list elm-sans-reactor)) + (inputs (list elm-sans-reactor + elm-browser + elm-core + elm-html + elm-http + elm-json + elm-project-metadata-utils + elm-svg + elm-explorations-markdown)) + (build-system elm-build-system) + (arguments + (list + #:modules + `((srfi srfi-26) + ,@%elm-default-modules) + #:phases + #~(modify-phases %standard-phases + (delete 'stage) + (replace 'configure + (lambda* (#:key native-inputs inputs #:allow-other-keys) + (with-directory-excursion "reactor" + (patch-application-dependencies)))) + (replace 'build + (lambda* (#:key native-inputs inputs #:allow-other-keys) + (with-directory-excursion "reactor" + (invoke (search-input-file (or native-inputs inputs) + "/bin/elm") + "make" + "--optimize" + "src/NotFound.elm" + "src/Errors.elm" + "src/Index.elm")))) + (replace 'install + (lambda* (#:key inputs #:allow-other-keys) + (let* ((out-dir #$output) + (bin-dir (string-append out-dir "/bin")) + (reactor-dir (string-append out-dir + "/" + #$%reactor-root-base + (getenv "GUIX_ELM_VERSION"))) + (reactor-subdir (string-append reactor-dir "/_elm"))) + ;; We can't use a symlink here because Haskell's + ;; `getExecutablePath` follows all symlinks. + ;; Guix can make it a hard link later. + (install-file (search-input-file inputs ;; NOT native-inputs + "/bin/elm") + bin-dir) + (install-file "reactor/assets/favicon.ico" reactor-dir) + (for-each (cut install-file <> reactor-subdir) + '("reactor/elm.js" + "reactor/assets/styles.css" + ;; TODO: these are source-code-pro v1.017 and + ;; source-sans-pro v1.050: there may be breaking + ;; changes in Guix's existing + ;; font-adobe-source-{code,sans}-pro packages + "reactor/assets/source-code-pro.ttf" + "reactor/assets/source-sans-pro.ttf"))))) + (delete 'validate-compiled)))) + (home-page "https://elm-lang.org") (synopsis "Programming language for Web applications") (description "Elm is a statically-typed, purely-functional programming language for diff --git a/guix/build-system/elm.scm b/guix/build-system/elm.scm index 293bcbfb64..f5321f811b 100644 --- a/guix/build-system/elm.scm +++ b/guix/build-system/elm.scm @@ -101,7 +101,7 @@ (define (default-elm) "Return the default Elm package for builds." ;; Lazily resolve the binding to avoid a circular dependency. (let ((elm (resolve-interface '(gnu packages elm)))) - (module-ref elm 'elm))) + (module-ref elm 'elm-sans-reactor))) (define (default-elm-core) "Return the default elm-core package." From patchwork Wed May 18 18:11:10 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philip McGrath X-Patchwork-Id: 39492 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 9754827BBEA; Wed, 18 May 2022 19:15:46 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id CC49827BBE9 for ; Wed, 18 May 2022 19:15:45 +0100 (BST) Received: from localhost ([::1]:41156 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nrOD2-0002xK-U4 for patchwork@mira.cbaines.net; Wed, 18 May 2022 14:15:44 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45482) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nrOBS-0000B3-1W for guix-patches@gnu.org; Wed, 18 May 2022 14:14:06 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:39694) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nrOBR-0005Pm-OG for guix-patches@gnu.org; Wed, 18 May 2022 14:14:05 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nrOBR-0006TT-JH for guix-patches@gnu.org; Wed, 18 May 2022 14:14:05 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#55030] [PATCH v2 23/34] gnu: Add elm-todomvc. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 18 May 2022 18:14:05 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 55030 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 55030@debbugs.gnu.org Cc: Ludovic =?utf-8?q?Court=C3=A8s?= , Philip McGrath Received: via spool by 55030-submit@debbugs.gnu.org id=B55030.165289762624748 (code B ref 55030); Wed, 18 May 2022 18:14:05 +0000 Received: (at 55030) by debbugs.gnu.org; 18 May 2022 18:13:46 +0000 Received: from localhost ([127.0.0.1]:33570 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nrOB7-0006R1-UJ for submit@debbugs.gnu.org; Wed, 18 May 2022 14:13:46 -0400 Received: from mail-vk1-f180.google.com ([209.85.221.180]:45919) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nrOB6-0006Qn-Su for 55030@debbugs.gnu.org; Wed, 18 May 2022 14:13:45 -0400 Received: by mail-vk1-f180.google.com with SMTP id bc42so1555835vkb.12 for <55030@debbugs.gnu.org>; Wed, 18 May 2022 11:13:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=mYWp/2Qk75quDtQhnCzSUlOj3iXPOE/P8zaZZNsNRVI=; b=KuuS6qPxyJYhVEM2FCPpMlkf1YdJXAwDnhx6kWQT/oeLJK94XrO5jvh3tuTYUfkT02 rIpnuU+kycvXk0SNQm+FJiz1uwOvWIkH1a31/c8wIyFfdgGRIL5gGa55T1xvTDi4qafL /DJ0JGOk1ooywfbbnuRRR5HodYKeVa39rgZjX72WPZ840SEOGuHvhKtJW0aTO7cSlOvD 3ht/GuayNvQw5hfcH3LaR03e3BrwblYbB3E2HKkpRwFmHaNl0S8EykrEmH/UcPrlg9Xi VbHx2GSrbS4HqCaiCOcQOGsghLwlkB7djWyvTULU6S2po4y1em3ze4Jaho2b73zWQmGI BDJw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=mYWp/2Qk75quDtQhnCzSUlOj3iXPOE/P8zaZZNsNRVI=; b=CP0Vx+GotRmkKqEJABEmzJP2vEUloQyFrUtyd0AJFYVeLl9ptoIqIczEE8DMhegtDY HOYlHJR05ZpZ2tTzCn7Bt6v9XZtLRtP057Un3INtu4ep4NOX+icwQoEF8ZWAGYmMaEP7 w7xwLhefqYOFktrDuGo2Nc/ZekX/FXq43XZuBGqbHwMmVrmV9hzM04JxIo7a4XOpzHGh /OXrEHGP+9sRC/S2gLN2gYxwpqVuaf9Jm7otYXGzCPshje49C7CZmo42MjbXtgyECoIQ B0GmEqaEAjMCh5gbzrqpRfFR5OmUsthU7i15jZAqNbCTvPoIsDDHE54YVrGG0zQA8pAN tjQA== X-Gm-Message-State: AOAM531kMhhyPUYnwVwyM1wDNmCU9OTKvSEWE2yhtF0HotFyx/MicMrP zt4o4zXe/Lmb1XojWRs61xGVnY6UXbNdXSiq X-Google-Smtp-Source: ABdhPJyaoRmUQRrqTyFLrLYbT6fInO7qKEulASW95hN0gEOzoN1QuZ5QtW7XmdPL68FxRVug7YXdbw== X-Received: by 2002:a05:6122:1354:b0:351:bed1:611d with SMTP id f20-20020a056122135400b00351bed1611dmr394565vkp.26.1652897619450; Wed, 18 May 2022 11:13:39 -0700 (PDT) Received: from localhost (c-73-125-98-51.hsd1.fl.comcast.net. [73.125.98.51]) by smtp.gmail.com with UTF8SMTPSA id y2-20020ab05602000000b00368a28612e2sm283746uaa.9.2022.05.18.11.13.39 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 18 May 2022 11:13:39 -0700 (PDT) From: Philip McGrath Date: Wed, 18 May 2022 14:11:10 -0400 Message-Id: <0fa04d278eaf50f57c74bedc128c7a97961d0095.1652890702.git.philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: References: <20220419232736.272970-1-philip@philipmcgrath.com> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * gnu/packages/elm.scm (elm-todomvc): New variable. * doc/guix.texi (Build Systems)[elm-build-system]: Mention it. --- doc/guix.texi | 4 ++-- gnu/packages/elm.scm | 53 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 55 insertions(+), 2 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 282cddf798..3d7b3b39c1 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -8748,7 +8748,7 @@ Build Systems @file{elm.json} files. Using @code{elm-build-system} to build Elm @dfn{applications} (which declare @code{@{ "type": "application" @}}) is possible, but requires ad-hoc modifications to the build phases. For -an example, see the definition of +examples, see the definitions of the @code{elm-todomvc} example application and the @code{elm} package itself (because the front-end for the @samp{elm reactor} command is an Elm application). @@ -8757,7 +8757,7 @@ Build Systems @env{ELM_HOME}, but this does not yet work well with @code{elm-build-system}. This limitation primarily affects Elm applications, because they specify exact versions for their dependencies, whereas Elm packages specify supported -version ranges. As a workaround, you can use +version ranges. As a workaround, the example applications mentioned above use the @code{patch-application-dependencies} procedure provided by @code{(guix build elm-build-system)} to rewrite their @file{elm.json} files to refer to the package versions actually present in the build environment. diff --git a/gnu/packages/elm.scm b/gnu/packages/elm.scm index d515d68e8f..9d3a58bcb5 100644 --- a/gnu/packages/elm.scm +++ b/gnu/packages/elm.scm @@ -487,3 +487,56 @@ (define-public elm-explorations-markdown on the @code{marked} project, which focuses on speed.") (license license:bsd-3))) +(define-public elm-todomvc + (let ((commit "f236e7e56941c7705aba6e42cb020ff515fe3290") + (revision "1")) + (package + (name "elm-todomvc") + (version (git-version "1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/evancz/elm-todomvc") + (commit commit))) + (sha256 + (base32 "0g37bglzshkf79s4n7aq9ib44h5qn8ng7n72sh2xslgd20h05nfw")) + (file-name (git-file-name name version)))) + (inputs (list elm-browser elm-core elm-html elm-json)) + (build-system elm-build-system) + (arguments + (list + #:modules + `((srfi srfi-26) + ,@%elm-default-modules) + #:phases + #~(modify-phases %standard-phases + (delete 'stage) + (replace 'configure + patch-application-dependencies) + (replace 'build + (lambda* (#:key native-inputs inputs #:allow-other-keys) + (invoke (search-input-file (or native-inputs inputs) + "/bin/elm") + "make" + "src/Main.elm" + "--output=elm.js"))) + (replace 'install + (lambda args + (let* ((out-dir #$output) + (dest-dir + (string-append out-dir + "/share/" + (strip-store-file-name out-dir)))) + (for-each (cut install-file <> dest-dir) + `("elm.js" + "index.html" + "style.css" + "README.md"))))) + (delete 'validate-compiled)))) + (home-page "https://github.com/evancz/elm-todomvc") + (synopsis "TodoMVC in Elm") + (description "This is the official Elm implementation of +@url{https://todomvc.com,TodoMVC}, a simple to-do--list application used to +compare front-end web frameworks.") + (license license:bsd-3)))) From patchwork Wed May 18 18:11:11 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philip McGrath X-Patchwork-Id: 39495 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 9A42C27BBEA; Wed, 18 May 2022 19:15:56 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 625A427BBE9 for ; Wed, 18 May 2022 19:15:56 +0100 (BST) Received: from localhost ([::1]:42070 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nrODD-0003Xg-IJ for patchwork@mira.cbaines.net; Wed, 18 May 2022 14:15:55 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45494) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nrOBS-0000D5-Dh for guix-patches@gnu.org; Wed, 18 May 2022 14:14:06 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:39695) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nrOBS-0005QA-4A for guix-patches@gnu.org; Wed, 18 May 2022 14:14:06 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nrOBR-0006Tf-Vk for guix-patches@gnu.org; Wed, 18 May 2022 14:14:05 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#55030] [PATCH v2 24/34] gnu: Add elm-debois-elm-dom. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 18 May 2022 18:14:05 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 55030 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 55030@debbugs.gnu.org Cc: Ludovic =?utf-8?q?Court=C3=A8s?= , Philip McGrath Received: via spool by 55030-submit@debbugs.gnu.org id=B55030.165289763024765 (code B ref 55030); Wed, 18 May 2022 18:14:05 +0000 Received: (at 55030) by debbugs.gnu.org; 18 May 2022 18:13:50 +0000 Received: from localhost ([127.0.0.1]:33573 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nrOBC-0006RN-AB for submit@debbugs.gnu.org; Wed, 18 May 2022 14:13:50 -0400 Received: from mail-vk1-f177.google.com ([209.85.221.177]:34362) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nrOBA-0006Qs-Ra for 55030@debbugs.gnu.org; Wed, 18 May 2022 14:13:49 -0400 Received: by mail-vk1-f177.google.com with SMTP id b81so1579142vkf.1 for <55030@debbugs.gnu.org>; Wed, 18 May 2022 11:13:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=AGXvlmHyKmFrZGscOgQRDHGJkmt36T0uz+3IkWUfZ5c=; b=b2RFVnZY4NiRS0VSqO7siS+FMNZcnxuJP69H0Doi3xfKL+HOoQidUTTdDDiSj2q4ak DM7Gh5tgm6DKMrj0BKSQAQzbj/NeiiNUmRVpqawayFiGA8BGonGMYjGNi0+GP47Ost1a 67jW2m9PQ6quQBdaj6C1xh3vSSdDgBx53tTrk2aNCt9khQ+iUQhkfO/PAv5rlsWqLzCX UrMNkbjvQTxOnqYfkjksi9QN1SpAE/gbDhJYG6VNeqwGO0fMRcNha71KzZNMB36se88r Lt9tvGGoaTEN7vUrGSrlOlTLNmISZLOiA/10CkeO2Xvom1g1yxWmlyqiV6wf8LCZRDxy hukw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=AGXvlmHyKmFrZGscOgQRDHGJkmt36T0uz+3IkWUfZ5c=; b=Ttpd/BPdfCqCcLNdTifkscS7gppleehzYnh68W4P/3gOx7ylpKc6fEv1JOFnEEnqvL k9AAADhLn7rHXA6Mkljzh+OPMp6+M3er+w/0CzlgjSdvDvyb1HkqD7JP5c2sjfBzdG61 V9GojqCedDcq+dmKaN7ZXG/GmcyqnDu2vVYFF4H7o1BGO2ZyaClqz7arQrnEBM1Or3sF E7dGDrZET1PAFa4xGh6Z4sSwxQc4V6qAfv5iOf1hJpwhyW+kDNGKEtXgNjf21RydoZTF 083xpkkLPg4hZ881vdzY43yq8QcgddyR1vFZaeayMY20OBCKw8JPLwGJK6H8eyULXy40 c/SA== X-Gm-Message-State: AOAM533MQ61vXC9sFIBHxrJgcLnTMuBUA3oADN12lCEYkApx4gQ3wMvs xIQpWZxXzyHMK4dWmkBJzJgNGLHNgHCIWcme X-Google-Smtp-Source: ABdhPJwo7FkkwvRraXCywY4/3yKrR2mFR8odFfEEnC1FwZsKkC/ekYA/M8DNvMGWEGNYgbSrBLAB9w== X-Received: by 2002:ac5:c7a1:0:b0:34e:98f9:88c3 with SMTP id d1-20020ac5c7a1000000b0034e98f988c3mr323248vkn.15.1652897623425; Wed, 18 May 2022 11:13:43 -0700 (PDT) Received: from localhost (c-73-125-98-51.hsd1.fl.comcast.net. [73.125.98.51]) by smtp.gmail.com with UTF8SMTPSA id f67-20020a1f1f46000000b0034e6f1fd05asm317594vkf.36.2022.05.18.11.13.43 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 18 May 2022 11:13:43 -0700 (PDT) From: Philip McGrath Date: Wed, 18 May 2022 14:11:11 -0400 Message-Id: <323b39c201d4a7c73d5574401c839e1825b5498c.1652890702.git.philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: References: <20220419232736.272970-1-philip@philipmcgrath.com> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * gnu/packages/elm.scm (elm-debois-elm-dom): New variable. --- gnu/packages/elm.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/elm.scm b/gnu/packages/elm.scm index 9d3a58bcb5..d17a3f2487 100644 --- a/gnu/packages/elm.scm +++ b/gnu/packages/elm.scm @@ -540,3 +540,23 @@ (define-public elm-todomvc @url{https://todomvc.com,TodoMVC}, a simple to-do--list application used to compare front-end web frameworks.") (license license:bsd-3)))) + +(define-public elm-debois-elm-dom + (package + (name "elm-debois-elm-dom") + (version "1.3.0") + (source + (elm-package-origin + "debois/elm-dom" + version + (base32 "0w4z4w6ip118lk5g80w6mbbfxhfmivbmdkdm6wsmk63x85gscmqx"))) + (build-system elm-build-system) + (propagated-inputs + (list elm-json elm-html elm-core)) + (home-page "https://package.elm-lang.org/packages/debois/elm-dom/1.3.0") + (synopsis "DOM traversal for Elm event-handlers") + (description + "This package provides a library for reading information off the DOM. +Use this if you need to discover geometry information (width, position, etc.) +of rendered elements.") + (license license:asl2.0))) From patchwork Wed May 18 18:11:12 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philip McGrath X-Patchwork-Id: 39498 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id B470F27BBEB; Wed, 18 May 2022 19:16:06 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 6ECAE27BBEA for ; Wed, 18 May 2022 19:16:06 +0100 (BST) Received: from localhost ([::1]:42828 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nrODN-00043D-Jz for patchwork@mira.cbaines.net; Wed, 18 May 2022 14:16:05 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45498) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nrOBS-0000Ec-Pd for guix-patches@gnu.org; Wed, 18 May 2022 14:14:06 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:39696) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nrOBS-0005QO-GV for guix-patches@gnu.org; Wed, 18 May 2022 14:14:06 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nrOBS-0006Tm-C8 for guix-patches@gnu.org; Wed, 18 May 2022 14:14:06 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#55030] [PATCH v2 25/34] gnu: Add elm-random. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 18 May 2022 18:14:06 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 55030 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 55030@debbugs.gnu.org Cc: Ludovic =?utf-8?q?Court=C3=A8s?= , Philip McGrath Received: via spool by 55030-submit@debbugs.gnu.org id=B55030.165289764124803 (code B ref 55030); Wed, 18 May 2022 18:14:06 +0000 Received: (at 55030) by debbugs.gnu.org; 18 May 2022 18:14:01 +0000 Received: from localhost ([127.0.0.1]:33576 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nrOBG-0006Rf-II for submit@debbugs.gnu.org; Wed, 18 May 2022 14:14:01 -0400 Received: from mail-ua1-f54.google.com ([209.85.222.54]:39727) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nrOBE-0006RF-RT for 55030@debbugs.gnu.org; Wed, 18 May 2022 14:13:53 -0400 Received: by mail-ua1-f54.google.com with SMTP id j20so1137672uan.6 for <55030@debbugs.gnu.org>; Wed, 18 May 2022 11:13:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=mLGJm2E7ImlU9CZ2EGeQqoxR6PBq3HDZfCvGVwjxjvM=; b=YKspCTVnnMjdfLFf2k2Y85V6h7LtdlFlB72Dj9LQMaQzMwslUFIrzeixzawKWrk9PU jK3yW3WcAZAsaBxrZDQBDwmo04QoSRxETTGh+n2sPnSE7M2OBATycEPA/yRg701EbdFN ExrTm1x8UJqLgpX0U24Ic5WVuqmqnlA1aR21Ea7E4c2JY+tcY5Sv1fN8Z/DWylBgeyiy Oa5rssQS+Zqor3pGuKR+O/mM58Q7YEYaub3mybCaTwHw0V5ZrcfNXf348hme7mptJI1Y LyXvv93Df6wyKSMmZwBnA+xDXzGTCeea64GFOZ9LoI12DLtVxFhpqZatbOeJ1pTBeQJd vO3g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=mLGJm2E7ImlU9CZ2EGeQqoxR6PBq3HDZfCvGVwjxjvM=; b=WMZskiqYZ5foK3CN9fPQQjZjOy5awA/l/u9Acnu14hQZHt2DCgJW186ldFjWhAPTOL nQt8KgVz8WLmvmTSgqRscFofQVTlQgHtEEWuhOgp+ABWRrsSzmiXGsoWzgqGrdF2To3e hU8xyshgnctjXtdyFWKeeDmFNsI+Ga0Tu6nxUGLfXOd5tKOmLIobxXlUSjsNi8b3g5+Z bHUFvmDqjacTtmjxTPnDkV14uiYo25CGYiTeI0QXdaRwxfrLeOTnFAnKmr7Go6NSX9xT MgwrYErOlmtW+GpIPf3wpzMCtQmoCKCM0P2TgSqNrF/hXPf+roqfEvM+dtNPsv5AEK1G QKTA== X-Gm-Message-State: AOAM531USbYGvk6sMDBJhRTIfkvaCxd3XNZlH8W1UYPrdhZzau0N5eNI FjA9oreHcKC+yRN88iTeY4V8pJnKjUmwdP7k X-Google-Smtp-Source: ABdhPJxKFAuWyM/f9LiS4oW2VoO/9Xks1EDE5zBlkZj3h/ok65ogBqPP1ZFw2bicA7BbEej3ip9ITA== X-Received: by 2002:ab0:2008:0:b0:352:2b3a:6bce with SMTP id v8-20020ab02008000000b003522b3a6bcemr611039uak.19.1652897627431; Wed, 18 May 2022 11:13:47 -0700 (PDT) Received: from localhost (c-73-125-98-51.hsd1.fl.comcast.net. [73.125.98.51]) by smtp.gmail.com with UTF8SMTPSA id o72-20020a1f284b000000b0034e6f1fd056sm250694vko.32.2022.05.18.11.13.46 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 18 May 2022 11:13:47 -0700 (PDT) From: Philip McGrath Date: Wed, 18 May 2022 14:11:12 -0400 Message-Id: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: <20220419232736.272970-1-philip@philipmcgrath.com> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * gnu/packages/elm.scm (elm-random): New variable. --- gnu/packages/elm.scm | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/gnu/packages/elm.scm b/gnu/packages/elm.scm index d17a3f2487..c2e4b65b77 100644 --- a/gnu/packages/elm.scm +++ b/gnu/packages/elm.scm @@ -560,3 +560,21 @@ (define-public elm-debois-elm-dom Use this if you need to discover geometry information (width, position, etc.) of rendered elements.") (license license:asl2.0))) + +(define-public elm-random + (package + (name "elm-random") + (version "1.0.0") + (source + (elm-package-origin + "elm/random" + version + (base32 "0z0znkwfs35xiabk6pa9yqwsq03jssgd7jmsj1kk000mikfm7f39"))) + (build-system elm-build-system) + (propagated-inputs (list elm-time elm-core)) + (home-page "https://package.elm-lang.org/packages/elm/random/1.0.0") + (synopsis "Generate random numbers and values in Elm") + (description + "Need to generate random numbers? How about random game boards? Or +random positions in 3D space? This is the package for you!") + (license license:bsd-3))) From patchwork Wed May 18 18:11:13 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philip McGrath X-Patchwork-Id: 39504 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id A87DC27BBEA; Wed, 18 May 2022 19:16:30 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 70C4F27BBE9 for ; Wed, 18 May 2022 19:16:30 +0100 (BST) Received: from localhost ([::1]:44484 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nrODl-0005DG-Kx for patchwork@mira.cbaines.net; Wed, 18 May 2022 14:16:29 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45854) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nrOCM-0002CJ-Jr for guix-patches@gnu.org; Wed, 18 May 2022 14:15:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:39719) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nrOCM-0005dk-9S for guix-patches@gnu.org; Wed, 18 May 2022 14:15:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nrOCM-0006Ww-5T for guix-patches@gnu.org; Wed, 18 May 2022 14:15:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#55030] [PATCH v2 26/34] gnu: Add elm-explorations-test. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 18 May 2022 18:15:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 55030 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 55030@debbugs.gnu.org Cc: Ludovic =?utf-8?q?Court=C3=A8s?= , Philip McGrath Received: via spool by 55030-submit@debbugs.gnu.org id=B55030.165289765324957 (code B ref 55030); Wed, 18 May 2022 18:15:02 +0000 Received: (at 55030) by debbugs.gnu.org; 18 May 2022 18:14:13 +0000 Received: from localhost ([127.0.0.1]:33582 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nrOBN-0006S7-FE for submit@debbugs.gnu.org; Wed, 18 May 2022 14:14:13 -0400 Received: from mail-vk1-f173.google.com ([209.85.221.173]:37441) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nrOBI-0006RV-TX for 55030@debbugs.gnu.org; Wed, 18 May 2022 14:13:57 -0400 Received: by mail-vk1-f173.google.com with SMTP id bs5so1576355vkb.4 for <55030@debbugs.gnu.org>; Wed, 18 May 2022 11:13:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=iKhyg0T1ZBjukupkYM86qUANLoYX/tr/uZ9IoY0rJG4=; b=Ifpvn2hFuWplSv9BDCZY2PjgMpnNilzzNxjWT8Nr+LIzJX8+NEUyhWSOernPz03jgB FHUNpT8bXy69vfgXhaeWsImpLLNh0W0zbq2HdUp5Q3PibJtXDmtuUciOjAOCIDodaglP naLouURTTX6rWmlTGlOT1lI5rW2R4MSdXovEdvUQ0koVcECEA70wMJnblEGmWZK7nA4d RXE46RmQ01ZeYX8tjb4BBqNYgx9mWd1bp0NlFxfzoeNMx6M+ak+Q1r4XtNm1idVjnws/ b37htSqR74XwYn/BJW1Qtqge+jG8KnR67dUK3tzLoVqdvHWh45/BgIHAV+AfpZa8+BOA hZrg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=iKhyg0T1ZBjukupkYM86qUANLoYX/tr/uZ9IoY0rJG4=; b=8IakOWsX4BKGG+0m8ZVVvGfaofuDLb7mcsjjSbayTP8zCxQH8oFyXhnCNJiv42Wjwv cV+xKmekILzAhvaMkCKGw79O1/XjnwzmC2hdR8f0GTts7WkpUw9vn7+QnIew+mDNQEFf fXzY3hVFxRWRSq7HR8iVNjNMRMhGvs36gNMXKHmDHj+8tJedobKD2Tcl3prO6V4L0tXr /5nnD0vyjBypAgphKMcikqhb+cJYOX1aBpny8nxeSaEyBoH/WOrcAEef4SCeflez+0R1 Sx6kVOwy0233Rn3aI/mmsgAbpGDZXphIS5UIiqAaqfhSBfIkx7AsjOfaGQFpS7VIU0M+ 7/Ww== X-Gm-Message-State: AOAM531u3kcWZD/Z+IrBOySH8RHbJ+S2ywzR5CKP9ygeP8OhQk74/FVf hMwgnOMnlvXxFnI+nUalfZaplF9munclR+Xd X-Google-Smtp-Source: ABdhPJwycQjM+0Q5ev9KPl/VAO5+I+dPR2JpX7cRqPq++65QLkmJILIoltOEaZJgxc9BWbaHkwlWiA== X-Received: by 2002:a1f:d904:0:b0:345:a109:830 with SMTP id q4-20020a1fd904000000b00345a1090830mr345514vkg.9.1652897631541; Wed, 18 May 2022 11:13:51 -0700 (PDT) Received: from localhost (c-73-125-98-51.hsd1.fl.comcast.net. [73.125.98.51]) by smtp.gmail.com with UTF8SMTPSA id p188-20020a6742c5000000b0032d275e6921sm263399vsa.33.2022.05.18.11.13.50 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 18 May 2022 11:13:51 -0700 (PDT) From: Philip McGrath Date: Wed, 18 May 2022 14:11:13 -0400 Message-Id: <79cfd73a4c2164bd0c1478b0a38e6849046d7a8c.1652890702.git.philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: References: <20220419232736.272970-1-philip@philipmcgrath.com> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * gnu/packages/elm.scm (elm-explorations-test): New variable. --- gnu/packages/elm.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/elm.scm b/gnu/packages/elm.scm index c2e4b65b77..edd13a0b8a 100644 --- a/gnu/packages/elm.scm +++ b/gnu/packages/elm.scm @@ -578,3 +578,28 @@ (define-public elm-random "Need to generate random numbers? How about random game boards? Or random positions in 3D space? This is the package for you!") (license license:bsd-3))) + +(define-public elm-explorations-test + (package + (name "elm-explorations-test") + (version "1.2.2") + (source + (elm-package-origin + "elm-explorations/test" + version + (base32 "0kw32x0lr6nh5j9xk56vgg7x7c705g38grghh7cdp49frwdd6w3l"))) + (build-system elm-build-system) + (propagated-inputs + (list elm-virtual-dom + elm-random + elm-json + elm-html + elm-core)) + (home-page + "https://package.elm-lang.org/packages/elm-explorations/test/1.2.2") + (synopsis "Testing framework for Elm") + (description "This package enables writing unit and fuzz tests for Elm +code. To actually run the tests, you need the command-line tool from +@url{https://github.com/rtfeldman/node-test-runner}, which has not yet been +packaged for Guix.") + (license license:bsd-3))) From patchwork Wed May 18 18:11:14 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philip McGrath X-Patchwork-Id: 39508 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 666FF27BBEA; Wed, 18 May 2022 19:17:02 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 2E25D27BBE9 for ; Wed, 18 May 2022 19:17:02 +0100 (BST) Received: from localhost ([::1]:45676 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nrOEH-0005zu-AO for patchwork@mira.cbaines.net; Wed, 18 May 2022 14:17:01 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45502) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nrOBT-0000GF-76 for guix-patches@gnu.org; Wed, 18 May 2022 14:14:07 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:39697) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nrOBS-0005QZ-Su for guix-patches@gnu.org; Wed, 18 May 2022 14:14:06 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nrOBS-0006Tu-O9 for guix-patches@gnu.org; Wed, 18 May 2022 14:14:06 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#55030] [PATCH v2 27/34] gnu: Add elm-danhandrea-elm-date-format. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 18 May 2022 18:14:06 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 55030 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 55030@debbugs.gnu.org Cc: Ludovic =?utf-8?q?Court=C3=A8s?= , Philip McGrath Received: via spool by 55030-submit@debbugs.gnu.org id=B55030.165289764124810 (code B ref 55030); Wed, 18 May 2022 18:14:06 +0000 Received: (at 55030) by debbugs.gnu.org; 18 May 2022 18:14:01 +0000 Received: from localhost ([127.0.0.1]:33580 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nrOBN-0006S0-4m for submit@debbugs.gnu.org; Wed, 18 May 2022 14:14:01 -0400 Received: from mail-vs1-f48.google.com ([209.85.217.48]:36681) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nrOBH-0006PF-NL for 55030@debbugs.gnu.org; Wed, 18 May 2022 14:13:55 -0400 Received: by mail-vs1-f48.google.com with SMTP id a127so2933701vsa.3 for <55030@debbugs.gnu.org>; Wed, 18 May 2022 11:13:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=hRMLXnvRr9Y3CrBg9Lyp/cnmBVHzeNwnTj3DIW1/Yj4=; b=OWAZuC57pWXYAUMz+WvYIxnQSdqaMBjLE7kftzMDZ6pZDfhqj/NtxQMVCoZerQylDw h+qwWO6zQk4MgyhFC0VR8yWhw+rLhR8jp67+3rP0PYr9+ALsOFKuHB5cm6ivOup2gxT4 VvXpSu/3yPSaKtuB/MZFJU9N/2yYPTqVKc9jHMlPiuy+qTSJ8UARBCCVFZPiMYlfjr/A A7mB6nGCUsWRWHbEz04bzwguEoI8BzKQqSa8k5s4A6qa0iGZukqpr679QBdBXcNQwjIr kFeeRm67xqJOmMY0HhcPb5hrawejy6iZ/gbuLQe/552jPoCVu/TbbgGOiRiw1EirErkz Dg3g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=hRMLXnvRr9Y3CrBg9Lyp/cnmBVHzeNwnTj3DIW1/Yj4=; b=IVch8JPCWUVgEVTXdQCuZHwAp7YazaDddIB3PNv+jua5ZJNwijnOM5vVUHzIsY7XgI 4rVLgtB4VB7QlEjJzFmODTZzwESAKQvCYDJkx/uidpl/QKEXlCxjhtdbh+byn9eoUuUB gf4LYOUV7SNOPAmbrIsoSKpx4W95U8ym5Y4h6jEUwzphmi9C9AWp0yWIa4XdLNCQtr2U Pmi8BWF6vv2h9d/RM96FnphOpTYaEU36dSo18HBltNT0ibXNDtFXOYBbahPPITI2alSP ONBehcHMETsBkyS1S18j9WpPEBrSyKZvsp/hZIshnJd3GVm8vqbGXmNxH0Z6BZQRBcvk MyDA== X-Gm-Message-State: AOAM533eBrwttJqJQKuqVbAQdkGH/7HkKfgRJpNOFxOomLnkUU/rmnGm wbMb1to2PEqRPpwQuIFFTpGHYVEiGCradE9N X-Google-Smtp-Source: ABdhPJyw3ML0tdgmuWsVvuXk6wst/8BTw345kO9uwJOF72mLfq/BA952C5cK2rq0zolXPi/QAZWHSA== X-Received: by 2002:a67:fa8e:0:b0:333:bfda:1a30 with SMTP id f14-20020a67fa8e000000b00333bfda1a30mr489671vsq.15.1652897635442; Wed, 18 May 2022 11:13:55 -0700 (PDT) Received: from localhost (c-73-125-98-51.hsd1.fl.comcast.net. [73.125.98.51]) by smtp.gmail.com with UTF8SMTPSA id 186-20020a6719c3000000b0032cc15dcc9asm293801vsz.0.2022.05.18.11.13.55 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 18 May 2022 11:13:55 -0700 (PDT) From: Philip McGrath Date: Wed, 18 May 2022 14:11:14 -0400 Message-Id: <4bc4392d3441ccb447017a0f8dc193b694046fd7.1652890702.git.philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: References: <20220419232736.272970-1-philip@philipmcgrath.com> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * gnu/packages/elm.scm (elm-danhandrea-elm-date-format): New variable. --- gnu/packages/elm.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/gnu/packages/elm.scm b/gnu/packages/elm.scm index edd13a0b8a..2e37f4c5fc 100644 --- a/gnu/packages/elm.scm +++ b/gnu/packages/elm.scm @@ -603,3 +603,22 @@ (define-public elm-explorations-test @url{https://github.com/rtfeldman/node-test-runner}, which has not yet been packaged for Guix.") (license license:bsd-3))) + +(define-public elm-danhandrea-elm-date-format + (package + (name "elm-danhandrea-elm-date-format") + (version "2.0.1") + (source + (elm-package-origin + "danhandrea/elm-date-format" + version + (base32 "03mglzyywij5sm56m7q2jhhbsv7f9rdirgwmq0q41ghir81bzpv6"))) + (build-system elm-build-system) + (propagated-inputs (list elm-time elm-core)) + (inputs (list elm-explorations-test)) + (home-page + "https://package.elm-lang.org/packages/danhandrea/elm-date-format/2.0.1") + (synopsis "Date formatting for Elm") + (description "This package enhances @code{elm/time} with support for +format strings and internationalization of dates.") + (license license:bsd-3))) From patchwork Wed May 18 18:11:15 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philip McGrath X-Patchwork-Id: 39501 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id AAC6E27BBEA; Wed, 18 May 2022 19:16:16 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 75A1027BBE9 for ; Wed, 18 May 2022 19:16:16 +0100 (BST) Received: from localhost ([::1]:43522 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nrODX-0004W5-LJ for patchwork@mira.cbaines.net; Wed, 18 May 2022 14:16:15 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45860) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nrOCN-0002EX-AH for guix-patches@gnu.org; Wed, 18 May 2022 14:15:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:39720) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nrOCM-0005gp-Vd for guix-patches@gnu.org; Wed, 18 May 2022 14:15:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nrOCM-0006Xe-PR for guix-patches@gnu.org; Wed, 18 May 2022 14:15:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#55030] [PATCH v2 28/34] gnu: Add elm-danhandrea-elm-time-extra. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 18 May 2022 18:15:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 55030 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 55030@debbugs.gnu.org Cc: Ludovic =?utf-8?q?Court=C3=A8s?= , Philip McGrath Received: via spool by 55030-submit@debbugs.gnu.org id=B55030.165289765424964 (code B ref 55030); Wed, 18 May 2022 18:15:02 +0000 Received: (at 55030) by debbugs.gnu.org; 18 May 2022 18:14:14 +0000 Received: from localhost ([127.0.0.1]:33599 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nrOBZ-0006UU-Kz for submit@debbugs.gnu.org; Wed, 18 May 2022 14:14:13 -0400 Received: from mail-vk1-f181.google.com ([209.85.221.181]:43892) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nrOBQ-0006Ru-Rt for 55030@debbugs.gnu.org; Wed, 18 May 2022 14:14:05 -0400 Received: by mail-vk1-f181.google.com with SMTP id q136so1560970vke.10 for <55030@debbugs.gnu.org>; Wed, 18 May 2022 11:14:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=P+wbySYI9bNNssY8bAY3lcgOkIaDyaiuPc3ob4SmBs4=; b=A133fhYSe5ExALmAzR/SXVNuuP8aTLk7IrXFSWManooqCtLUcWqOgeKoFmyoFYLCCU Xm/Tm8INa2Zb7pVKAQsAvzcKvpPopTaBailefcAnSp+F17OF5y0Wkf3FauoSXCbQCS93 BZG0TeDoSveNMS4FGsOUh3wT9YifubcNLL0ET3ivrvPSiSzHRWi5JFsS89xxCL/AkbOd T0zroalwiDzBcqN06y448qch9KVBqcWooG+CvycR4TR0KwVF9VFrHGIoktwbX5mGqF+b FXA8vEsoWRix2a5qATyc744souETuYqp2XtYNErEl5qE7jAvt9fhamoBlgUG2gmYS165 DAaA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=P+wbySYI9bNNssY8bAY3lcgOkIaDyaiuPc3ob4SmBs4=; b=VWSVTXm0I+xs7yK4BAmgVIYUrOVlTaBcKlHJmAPuhZgOi1HsEHPQ2m4TdjwtloDBmi 0qECTPCSuqvuptmgcbjKaj0HogTn0Me97dfS2Ze67Lbk/4YtcrmGgGvfYUDIgNz+i1pL Hnr95UElYAyaSRXRS08DPDVx1CEORGZU32webbaVZiSBAFa/Uod5hVhGxTssb8s2ii26 ccYu5j1DOVJ92IvyFq1Ep7+V1FgtDaUYiV0DQEbuFqMB3s55iyxpSNdlAKwlY91RdET5 86FMiT+FE8+yF9jk5vfePDX4TRxCZZNubvatan4nLufsD66yIeGQA4P2IH4bRN9dX+/n 2cZw== X-Gm-Message-State: AOAM5308OhOBQc6DctSAGjbGgkTUTm/alU2B+8HacfkCZFqWtEQwck6j h84NEMP8n7jhtVOOsGkT9Zd01fZ3spvpyhQq X-Google-Smtp-Source: ABdhPJwRlO3rD0Bw6G3kfT8cPy6YguWHgeW9a2T3Tg8eLxjvtRwIAQdOEQdyfNUHKNsP74+xrlfD8w== X-Received: by 2002:a1f:7dc1:0:b0:357:756:68b8 with SMTP id y184-20020a1f7dc1000000b00357075668b8mr381719vkc.22.1652897639443; Wed, 18 May 2022 11:13:59 -0700 (PDT) Received: from localhost (c-73-125-98-51.hsd1.fl.comcast.net. [73.125.98.51]) by smtp.gmail.com with UTF8SMTPSA id q207-20020a1fa7d8000000b0034e7e7398afsm314859vke.27.2022.05.18.11.13.58 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 18 May 2022 11:13:59 -0700 (PDT) From: Philip McGrath Date: Wed, 18 May 2022 14:11:15 -0400 Message-Id: <66725a6d3545908dc0723128e05663119565f71b.1652890702.git.philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: References: <20220419232736.272970-1-philip@philipmcgrath.com> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * gnu/packages/elm.scm (elm-danhandrea-elm-time-extra): New variable. --- gnu/packages/elm.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/elm.scm b/gnu/packages/elm.scm index 2e37f4c5fc..69e60cd3bd 100644 --- a/gnu/packages/elm.scm +++ b/gnu/packages/elm.scm @@ -622,3 +622,24 @@ (define-public elm-danhandrea-elm-date-format (description "This package enhances @code{elm/time} with support for format strings and internationalization of dates.") (license license:bsd-3))) + +(define-public elm-danhandrea-elm-time-extra + (package + (name "elm-danhandrea-elm-time-extra") + (version "1.1.0") + (source + (elm-package-origin + "danhandrea/elm-time-extra" + version + (base32 "0z13q8x148d5amcc89f846yzql89n9gyan8fr48y91dhhn7vxibf"))) + (build-system elm-build-system) + (propagated-inputs (list elm-time elm-core)) + (inputs + (list elm-explorations-test + elm-danhandrea-elm-date-format)) + (home-page + "https://package.elm-lang.org/packages/danhandrea/elm-time-extra/1.1.0") + (synopsis "Extra utilities for POSIX time in Elm") + (description "This package enhances @code{elm/time} with extra utilities +for working with POSIX times.") + (license license:bsd-3))) From patchwork Wed May 18 18:11:16 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philip McGrath X-Patchwork-Id: 39490 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 46B6827BBE9; Wed, 18 May 2022 19:15:34 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id DB98D27BBEA for ; Wed, 18 May 2022 19:15:33 +0100 (BST) Received: from localhost ([::1]:40268 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nrOCr-0002L2-00 for patchwork@mira.cbaines.net; Wed, 18 May 2022 14:15:33 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45866) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nrOCO-0002IV-HX for guix-patches@gnu.org; Wed, 18 May 2022 14:15:04 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:39722) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nrOCO-0005of-7Z for guix-patches@gnu.org; Wed, 18 May 2022 14:15:04 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nrOCO-0006Z1-2h for guix-patches@gnu.org; Wed, 18 May 2022 14:15:04 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#55030] [PATCH v2 29/34] gnu: Add elm-justinmimbs-date. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 18 May 2022 18:15:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 55030 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 55030@debbugs.gnu.org Cc: Ludovic =?utf-8?q?Court=C3=A8s?= , Philip McGrath Received: via spool by 55030-submit@debbugs.gnu.org id=B55030.165289766024993 (code B ref 55030); Wed, 18 May 2022 18:15:04 +0000 Received: (at 55030) by debbugs.gnu.org; 18 May 2022 18:14:20 +0000 Received: from localhost ([127.0.0.1]:33604 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nrOBg-0006Ux-2z for submit@debbugs.gnu.org; Wed, 18 May 2022 14:14:20 -0400 Received: from mail-vs1-f42.google.com ([209.85.217.42]:41782) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nrOBU-0006Sv-Pa for 55030@debbugs.gnu.org; Wed, 18 May 2022 14:14:09 -0400 Received: by mail-vs1-f42.google.com with SMTP id m2so2910127vsr.8 for <55030@debbugs.gnu.org>; Wed, 18 May 2022 11:14:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=n65mZcO7eDn+p9wK5CTkcZ3Xq3ctOv3A+sJ5oCYhlpw=; b=P2gujc6+5JsrCKc83s4Ie+KHdRJYDTbP79OPLTeea7mArBjUIqv+l5xEqPCgWhCK5l mKITvLjKSxxpSdCVDPH11dyemXZxu+rCGFW8UqHKs3XAEPfNnSpf9t0TwPV+W2Mrrq1W UQoSj67n6IJ7yu8B1IsS4Ewheeil7xeoVX3KF5rbMPn4bsZmrhRYJtNnquZSuFO73wiT bdQk3FsDILIAS9ay/jYDy9SGMQO7zneciazWCveInJ2MhBNzVv+xafGYc/AtX7/kfd+O vV5z8d5suM9Yo5rTLEBtnOJRxWelJVSQFBVx9dJnipMHz9KG8buXJaZFpQ01KYseeLTI U7pA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=n65mZcO7eDn+p9wK5CTkcZ3Xq3ctOv3A+sJ5oCYhlpw=; b=TLZSFtxaW7KlTH4zG+kxnifx0nA83EvTLXU4ALCLyZ400cmVbd0mKdNg/m5R5hW01M fAVFQuYF7EOMm/7XgZesejpbgGzYEm9qQMzdouerJAWvbLBitOQBiQjUKfBtUAfq5wvH Aapr9COeOcCQjLFxRO6cSMSlA0H0X74l7zlDe3L9BGI0PCA6QDlch7HPWDp9DvKb1UyO lo+ha7CO3fgUzNcjOQL3oIGqLRhWrXtfTj7E092cL/PZM7REuhDlgpxcLdZEzlQRclpK R8cwSJMNzNCpwCJCX+oLeTTttdnL4W0C0u79ZlQH08K53LLlrYQW5OH1VLqrg897l4uE aFoA== X-Gm-Message-State: AOAM531X3G0THq/R0SE4naRTsnUKe397ef4uGRSnaT+bTpf1C/OOrvlN lYBsoqrvCETUAyBsI1vpa5rTbD9YPvwruudj X-Google-Smtp-Source: ABdhPJz3noXPDGXLIsbXUV6b0fchwg5TAG+ck0teWQaklCIZY3yUgxzExQiDQGYENC0DnJ0bbzi3VA== X-Received: by 2002:a05:6102:1cc:b0:32c:de18:3115 with SMTP id s12-20020a05610201cc00b0032cde183115mr611505vsq.31.1652897643420; Wed, 18 May 2022 11:14:03 -0700 (PDT) Received: from localhost (c-73-125-98-51.hsd1.fl.comcast.net. [73.125.98.51]) by smtp.gmail.com with UTF8SMTPSA id z2-20020a9f2a82000000b00362c5d5a021sm310139uai.32.2022.05.18.11.14.03 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 18 May 2022 11:14:03 -0700 (PDT) From: Philip McGrath Date: Wed, 18 May 2022 14:11:16 -0400 Message-Id: <7add5f1dc2e66e19789a8dfebb8351b0295ae1bd.1652890702.git.philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: References: <20220419232736.272970-1-philip@philipmcgrath.com> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * gnu/packages/elm.scm (elm-justinmimbs-date): New variable. --- gnu/packages/elm.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/elm.scm b/gnu/packages/elm.scm index 69e60cd3bd..e92a2e222f 100644 --- a/gnu/packages/elm.scm +++ b/gnu/packages/elm.scm @@ -643,3 +643,24 @@ (define-public elm-danhandrea-elm-time-extra (description "This package enhances @code{elm/time} with extra utilities for working with POSIX times.") (license license:bsd-3))) + +(define-public elm-justinmimbs-date + (package + (name "elm-justinmimbs-date") + (version "4.0.1") + (source + (elm-package-origin + "justinmimbs/date" + version + (base32 "13mf97137f0yb3gx1mxbya2y70qciah4hp5bcnpj8166vgzb7l3l"))) + (build-system elm-build-system) + (propagated-inputs + (list elm-time + elm-parser + elm-core)) + (home-page "https://package.elm-lang.org/packages/justinmimbs/date/4.0.1") + (synopsis "Work with dates without times or zones in Elm") + (description + "This Elm package provides a simple @code{Date} type for working with +dates without times or zones.") + (license license:bsd-3))) From patchwork Wed May 18 18:11:17 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philip McGrath X-Patchwork-Id: 39503 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 2D4C427BBEA; Wed, 18 May 2022 19:16:27 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id F26E027BBE9 for ; Wed, 18 May 2022 19:16:26 +0100 (BST) Received: from localhost ([::1]:44226 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nrODi-00052n-5G for patchwork@mira.cbaines.net; Wed, 18 May 2022 14:16:26 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45864) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nrOCO-0002H3-20 for guix-patches@gnu.org; Wed, 18 May 2022 14:15:04 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:39721) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nrOCN-0005nU-Ob for guix-patches@gnu.org; Wed, 18 May 2022 14:15:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nrOCN-0006YM-Io for guix-patches@gnu.org; Wed, 18 May 2022 14:15:03 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#55030] [PATCH v2 30/34] gnu: Add elm-justinmimbs-time-extra. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 18 May 2022 18:15:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 55030 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 55030@debbugs.gnu.org Cc: Ludovic =?utf-8?q?Court=C3=A8s?= , Philip McGrath Received: via spool by 55030-submit@debbugs.gnu.org id=B55030.165289766024986 (code B ref 55030); Wed, 18 May 2022 18:15:03 +0000 Received: (at 55030) by debbugs.gnu.org; 18 May 2022 18:14:20 +0000 Received: from localhost ([127.0.0.1]:33601 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nrOBZ-0006Ub-Ts for submit@debbugs.gnu.org; Wed, 18 May 2022 14:14:20 -0400 Received: from mail-vs1-f54.google.com ([209.85.217.54]:45651) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nrOBT-0006Q9-L8 for 55030@debbugs.gnu.org; Wed, 18 May 2022 14:14:07 -0400 Received: by mail-vs1-f54.google.com with SMTP id e19so2891930vsu.12 for <55030@debbugs.gnu.org>; Wed, 18 May 2022 11:14:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=1Kn9uqfA6GawrkYRfryEwmNWOseFtjvsxreCBjMEvco=; b=Nhc04BMuNlFLstoY9i5ldGZdJfYgifyPEXB7FLrT52fwNHOnjR5+orFc6qVkxUyYul vAfFl9bct3A5HsVFAQsbUNRFnQs/zn0UESBXZPv9gZT3Rj5qY8fibWnF6RcDMP0MdM+h 8oB/8EUOxCYIgKuue0HQiaM7k4sp0RSWNQc7+7ht4jNU8BYTl5Dv0s3oDESDk0Kt16FY UWSl89/YBGMEe8sHJwBbHMj/llsIBN/ukBz+xzW504p97ZpRRDqNvl6mFr8XTPmdYzVa nZ4+kmZar3zyUCxSwaRPo2461njUTIbpFbHE5uyT9qFqmcB7j/S4PCSvru9MJ7U/T6qm EAdg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=1Kn9uqfA6GawrkYRfryEwmNWOseFtjvsxreCBjMEvco=; b=e12cyn2gSYw/3ThBF/8Ek2ooDz3PaiS8Bh3pZDnV2X56XNS52BzqOVn0yAkiUsV0JE FbKqAalZuQ9JB4bqDWD50/CGJBYpM2qn/Cgeo9YMxvP1k5xB8XatV0hsv7IwjEFUPCGq eLtvqzT6hjyOMWxSczU+FAGHvFM/lmPA75/9eMSg28Df6p1Orpx9wl2TtY64F3vDnI3S VCR8Y8Ffijug3DWbjOOmrOAEM/jY0cc2wVS9j2dOGT3RLp8fHk3CURUxhfMCyzkfHJkO +FSScaLKQYYjpcwo0ykKOcRq8xk+IFix/fQqmpWo+Vw22mFyhcR6GdpgFwpbQKsP5yoY vCvg== X-Gm-Message-State: AOAM531drQTRdlhMYra8Kq4G49RRJDtHGl3bFvVDaZptXw8L+tg6ZbWC ydq9j0v0Juq07ZUR58mH7bhy9xgJmEtgxGg8 X-Google-Smtp-Source: ABdhPJze3FXrUs66iZwgPMpxyRtcwAqforsd1CKntI8cQPp4ks7XdI2b3NHYIr5JDghLHrK4tF866Q== X-Received: by 2002:a05:6102:3a09:b0:335:67f4:8c0a with SMTP id b9-20020a0561023a0900b0033567f48c0amr667663vsu.17.1652897647357; Wed, 18 May 2022 11:14:07 -0700 (PDT) Received: from localhost (c-73-125-98-51.hsd1.fl.comcast.net. [73.125.98.51]) by smtp.gmail.com with UTF8SMTPSA id s6-20020a1fdb06000000b0034e6f1fd05esm248368vkg.40.2022.05.18.11.14.06 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 18 May 2022 11:14:07 -0700 (PDT) From: Philip McGrath Date: Wed, 18 May 2022 14:11:17 -0400 Message-Id: <85e9275fdd36acc0360bcbefd4c01c73d158c1ec.1652890702.git.philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: References: <20220419232736.272970-1-philip@philipmcgrath.com> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * gnu/packages/elm.scm (elm-justinmimbs-time-extra): New variable. --- gnu/packages/elm.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/elm.scm b/gnu/packages/elm.scm index e92a2e222f..45f137dcdc 100644 --- a/gnu/packages/elm.scm +++ b/gnu/packages/elm.scm @@ -664,3 +664,25 @@ (define-public elm-justinmimbs-date "This Elm package provides a simple @code{Date} type for working with dates without times or zones.") (license license:bsd-3))) + +(define-public elm-justinmimbs-time-extra + (package + (name "elm-justinmimbs-time-extra") + (version "1.1.1") + (source + (elm-package-origin + "justinmimbs/time-extra" + version + (base32 "1gmgvzlpzkysvm86d0md75ply10pz28bg699m4763frss0jvrngh"))) + (build-system elm-build-system) + (propagated-inputs + (list elm-justinmimbs-date + elm-time + elm-core)) + (home-page + "https://package.elm-lang.org/packages/justinmimbs/time-extra/1.1.1") + (synopsis "Extra functions for POSIX times in Elm") + (description + "This package provides extra functions for working with @code{Posix} +times from @code{elm/time}.") + (license license:bsd-3))) From patchwork Wed May 18 18:11:18 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philip McGrath X-Patchwork-Id: 39493 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id E9E9B27BBE9; Wed, 18 May 2022 19:15:47 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id B00C727BBE9 for ; Wed, 18 May 2022 19:15:47 +0100 (BST) Received: from localhost ([::1]:41292 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nrOD4-00032M-SX for patchwork@mira.cbaines.net; Wed, 18 May 2022 14:15:46 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45872) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nrOCP-0002K9-3P for guix-patches@gnu.org; Wed, 18 May 2022 14:15:05 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:39723) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nrOCO-0005os-OK for guix-patches@gnu.org; Wed, 18 May 2022 14:15:04 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nrOCO-0006Zj-Jj for guix-patches@gnu.org; Wed, 18 May 2022 14:15:04 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#55030] [PATCH v2 31/34] gnu: Add elm-myrho-elm-round. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 18 May 2022 18:15:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 55030 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 55030@debbugs.gnu.org Cc: Ludovic =?utf-8?q?Court=C3=A8s?= , Philip McGrath Received: via spool by 55030-submit@debbugs.gnu.org id=B55030.165289766025000 (code B ref 55030); Wed, 18 May 2022 18:15:04 +0000 Received: (at 55030) by debbugs.gnu.org; 18 May 2022 18:14:20 +0000 Received: from localhost ([127.0.0.1]:33606 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nrOBg-0006V4-Bh for submit@debbugs.gnu.org; Wed, 18 May 2022 14:14:20 -0400 Received: from mail-ua1-f53.google.com ([209.85.222.53]:34622) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nrOBc-0006UQ-RY for 55030@debbugs.gnu.org; Wed, 18 May 2022 14:14:17 -0400 Received: by mail-ua1-f53.google.com with SMTP id q1so1141621uao.1 for <55030@debbugs.gnu.org>; Wed, 18 May 2022 11:14:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=zKDB2r8reIkbrMZDNnjJFmW1i4KLlhkNnN9t1v52hh0=; b=Ow1wVZ7VOQa7KdV0Hk7xQIkVjJg43X99VNRtLcIA4h/X1RBr267VtaoYH51N1FTR/s UeIXcmIeqxhhbEcySfCKZS1K0xMhaJ3urvTQjUHBzJIcIk9ud1LKzTuP12dSMvx6nlh4 zYV0zCIZvnzWzFBjdxchfR4z4MP2jvjbB+N+gsbPEBG7NfReL7FJ2aAVOgQ6261FUueQ cLd6aQSoe83o22QToVOrpuBSqeIk0Y7IQchUFB938R2PahqdtlPrYgS4BSmmtrsW26X4 YS7iUtjuvpWWeRf/Ar4onveHCTDv4xslr73aSJYmiTaPuIAM3NmSdtKiXk2oo9xGyZ2m ubCg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=zKDB2r8reIkbrMZDNnjJFmW1i4KLlhkNnN9t1v52hh0=; b=zxcZi1skIiNUve1A2CybCc/KoRmbdjnmdNEBBjSiI5dHw1tkPBOxE9dsByq1ThIW6l q09z15RRGANC3+Zdyzu5UrNAbRs0+LN8mH6vBpZPbJESyRHQxhoIRxfoovXe8DXu3eEn u4Y3NZuQWUKBcZBXquj/+ozcZee7+7ZQ6ZJyw6sW9V3DkpR1C+qjREeiX5pgygaZstUh itYN8mOeU7dtL5Uv8nhBAMpxNB24PthpimQKrpnwxDale75bELX355KyXncXZtBHBzRh eZ/t84HodzJJFdHVXB9kUFBcwBNkRCWnme3K/DehdWrfxtscyYhhR4ZlZx8CknbNNRxO P/Cg== X-Gm-Message-State: AOAM531jX1i19gPM288aSz4Gw3QniZbD0E7kXfZZnfc1M+4+r1tX+97X pfo10fIHhijPrzP8xjXR9ehlTc4zEKSeTOy/ X-Google-Smtp-Source: ABdhPJzZV+Q0n1XGLYXPyVzNB1HkvTtTJeu6rv/3/ONfWTyGjFcv+fdCXSrBX7rhks2Ov8xLKKFsAA== X-Received: by 2002:ab0:70d7:0:b0:359:f05c:38bb with SMTP id r23-20020ab070d7000000b00359f05c38bbmr613365ual.76.1652897651410; Wed, 18 May 2022 11:14:11 -0700 (PDT) Received: from localhost (c-73-125-98-51.hsd1.fl.comcast.net. [73.125.98.51]) by smtp.gmail.com with UTF8SMTPSA id j16-20020a056102241000b00335e2812587sm105903vsi.3.2022.05.18.11.14.10 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 18 May 2022 11:14:11 -0700 (PDT) From: Philip McGrath Date: Wed, 18 May 2022 14:11:18 -0400 Message-Id: <7480f03a36854d5119aaef0f6da617f18d2e20e2.1652890702.git.philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: References: <20220419232736.272970-1-philip@philipmcgrath.com> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * gnu/packages/elm.scm (elm-myrho-elm-round): New variable. --- gnu/packages/elm.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/elm.scm b/gnu/packages/elm.scm index 45f137dcdc..a4fb99625a 100644 --- a/gnu/packages/elm.scm +++ b/gnu/packages/elm.scm @@ -686,3 +686,24 @@ (define-public elm-justinmimbs-time-extra "This package provides extra functions for working with @code{Posix} times from @code{elm/time}.") (license license:bsd-3))) + +(define-public elm-myrho-elm-round + (package + (name "elm-myrho-elm-round") + (version "1.0.4") + (source + (elm-package-origin + "myrho/elm-round" + version + (base32 "0y3j43wr815cvwz5310zalnqzpg3hw8h127zjjlf6x8ynapc2mdb"))) + (build-system elm-build-system) + (propagated-inputs (list elm-core)) + (inputs (list elm-explorations-test)) + (home-page "https://package.elm-lang.org/packages/myrho/elm-round/1.0.4") + (synopsis "Flexible rounding of Elm @code{Float}s") + (description + "This library converts a @code{Float} to a @code{String} with ultimate +control how many digits after the decimal point are shown and how the +remaining digits are rounded. It rounds, floors and ceils the @dfn{common} +way (i.e. half up) or the @dfn{commerical} way (ie. half away from zero).") + (license license:bsd-3))) From patchwork Wed May 18 18:11:19 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philip McGrath X-Patchwork-Id: 39509 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 9C37E27BBEA; Wed, 18 May 2022 19:17:08 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 67B9B27BBE9 for ; Wed, 18 May 2022 19:17:08 +0100 (BST) Received: from localhost ([::1]:45916 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nrOEN-0006As-JY for patchwork@mira.cbaines.net; Wed, 18 May 2022 14:17:07 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45874) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nrOCP-0002LL-JK for guix-patches@gnu.org; Wed, 18 May 2022 14:15:05 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:39724) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nrOCP-0005p6-84 for guix-patches@gnu.org; Wed, 18 May 2022 14:15:05 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nrOCP-0006aL-3Z for guix-patches@gnu.org; Wed, 18 May 2022 14:15:05 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#55030] [PATCH v2 32/34] gnu: Add elm-ryannhg-date-format. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 18 May 2022 18:15:05 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 55030 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 55030@debbugs.gnu.org Cc: Ludovic =?utf-8?q?Court=C3=A8s?= , Philip McGrath Received: via spool by 55030-submit@debbugs.gnu.org id=B55030.165289766225014 (code B ref 55030); Wed, 18 May 2022 18:15:05 +0000 Received: (at 55030) by debbugs.gnu.org; 18 May 2022 18:14:22 +0000 Received: from localhost ([127.0.0.1]:33609 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nrOBi-0006VO-KC for submit@debbugs.gnu.org; Wed, 18 May 2022 14:14:22 -0400 Received: from mail-vk1-f175.google.com ([209.85.221.175]:41965) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nrOBh-0006Ul-EY for 55030@debbugs.gnu.org; Wed, 18 May 2022 14:14:21 -0400 Received: by mail-vk1-f175.google.com with SMTP id y27so1569897vkl.8 for <55030@debbugs.gnu.org>; Wed, 18 May 2022 11:14:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=bGvWWVO325PrGcpdFbX/GnieS/ftbRJ1F024ai1kiOU=; b=aK5qs4lNipm3JKNXh5Fs69gKGJMEkhus7IqKrq06qIB1BHZb/O9DLHN4wnMjdoXRfB NDasqmsi6pDp3Xj4QA6pQCKTn08PyYF12rOL35gdkUg9Y7V+aTV82krlT9rJY/KHkt+E 69lNqHcA5/i81qY/YvFO1PDPvCUFgg7QcnaEUPOgpnBz9S3alFt06pgsbEDoSrP3cn+U Zra+LvylRy/5CoPnggzvUyChEAHiMY3b7mxF/HzNxdGq9fHbWF6+IXYF1AV2CcJv0pnI RRIci7rcHvllFaq0RssfXEGjrNh/YnIhBeETkLIopl1cVZ6ttlP+pvejn2yZFs3EfUW/ 9pVg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=bGvWWVO325PrGcpdFbX/GnieS/ftbRJ1F024ai1kiOU=; b=quZtIdFBerIR+402WqwsJ96tTyfvGilb5HK1FpaGunMlWm5+H18EemPhnmkNGVVPfd JHd+eWs0ZR55bf2kRDOYWEkoF7yXl+u/OAY5+uOG17aQVUSkZizAGts3qhWL+fCzn5y/ h0IksYU4uDwZcXU0T1U+mXwiWbI68+hsUMgLfLBE8XQvwOwQrSvEcavf5hgEOZ0D6yNp dIAPRGYSltpgtRcYpqy3jPsL5T/I8Qq8LXBbKP5KlIP3pPYQHTbmrCYYBXv9YOgj2P+H QBGaHXB72TQ0Uo7Xxymn8v7/OsjDJPas8rS5ABLumK6FURjAh5laGfMa5hiz+hBZP2m1 xlOQ== X-Gm-Message-State: AOAM531d6sAtxYoShIBIIAOVpGdmQYVdK0yXUHu+ETCZf3DRmFYGIxQO MrXRNFGGSIRxxHbaAG626n2fUT69vJEGwXX8 X-Google-Smtp-Source: ABdhPJwX35Qo9i9IB4B8pZVptVRIW2IOjOjO9Jszc8RsP/OdkFcBpoLWA6J7PPpcL/xh/YxBQbBcmw== X-Received: by 2002:a05:6122:d9e:b0:331:33da:48e5 with SMTP id bc30-20020a0561220d9e00b0033133da48e5mr305395vkb.35.1652897655912; Wed, 18 May 2022 11:14:15 -0700 (PDT) Received: from localhost (c-73-125-98-51.hsd1.fl.comcast.net. [73.125.98.51]) by smtp.gmail.com with UTF8SMTPSA id u26-20020ab0299a000000b003626f894df7sm269957uap.37.2022.05.18.11.14.15 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 18 May 2022 11:14:15 -0700 (PDT) From: Philip McGrath Date: Wed, 18 May 2022 14:11:19 -0400 Message-Id: <28871883e4645abbefe81c8168957209cb1f2ecf.1652890702.git.philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: References: <20220419232736.272970-1-philip@philipmcgrath.com> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * gnu/packages/elm.scm (elm-ryannhg-date-format): New variable. --- gnu/packages/elm.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/elm.scm b/gnu/packages/elm.scm index a4fb99625a..a9b24b3b00 100644 --- a/gnu/packages/elm.scm +++ b/gnu/packages/elm.scm @@ -707,3 +707,25 @@ (define-public elm-myrho-elm-round remaining digits are rounded. It rounds, floors and ceils the @dfn{common} way (i.e. half up) or the @dfn{commerical} way (ie. half away from zero).") (license license:bsd-3))) + +(define-public elm-ryannhg-date-format + (package + (name "elm-ryannhg-date-format") + (version "2.3.0") + (source + (elm-package-origin + "ryannhg/date-format" + version + (base32 "0razh6im5qwmla10knk67j8w11mqlqlyfnclykbfl06kaksfm3sp"))) + (build-system elm-build-system) + (propagated-inputs (list elm-time elm-core)) + (inputs (list elm-explorations-test)) + (home-page + "https://package.elm-lang.org/packages/ryannhg/date-format/2.3.0") + (synopsis "Reliable advanced dates formatting for Elm") + (description + "This package provides Elm programs with reliable, powerful tools for +formatting dates and times. It uses Elm's type system instead of format +strings, which makes formatting code more readable and can catch some errors +at compile time.") + (license license:bsd-3))) From patchwork Wed May 18 18:11:20 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philip McGrath X-Patchwork-Id: 39510 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 1259427BBEA; Wed, 18 May 2022 19:17:15 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id BC84C27BBE9 for ; Wed, 18 May 2022 19:17:14 +0100 (BST) Received: from localhost ([::1]:46140 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nrOET-0006KT-UH for patchwork@mira.cbaines.net; Wed, 18 May 2022 14:17:13 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45884) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nrOCQ-0002Mo-45 for guix-patches@gnu.org; Wed, 18 May 2022 14:15:06 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:39725) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nrOCP-0005pF-NA for guix-patches@gnu.org; Wed, 18 May 2022 14:15:05 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nrOCP-0006ay-Id for guix-patches@gnu.org; Wed, 18 May 2022 14:15:05 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#55030] [PATCH v2 33/34] gnu: Add elm-terezka-intervals. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 18 May 2022 18:15:05 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 55030 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 55030@debbugs.gnu.org Cc: Ludovic =?utf-8?q?Court=C3=A8s?= , Philip McGrath Received: via spool by 55030-submit@debbugs.gnu.org id=B55030.165289766825032 (code B ref 55030); Wed, 18 May 2022 18:15:05 +0000 Received: (at 55030) by debbugs.gnu.org; 18 May 2022 18:14:28 +0000 Received: from localhost ([127.0.0.1]:33612 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nrOBn-0006Vg-TM for submit@debbugs.gnu.org; Wed, 18 May 2022 14:14:28 -0400 Received: from mail-vk1-f171.google.com ([209.85.221.171]:46835) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nrOBl-0006VB-MH for 55030@debbugs.gnu.org; Wed, 18 May 2022 14:14:25 -0400 Received: by mail-vk1-f171.google.com with SMTP id m203so1558913vke.13 for <55030@debbugs.gnu.org>; Wed, 18 May 2022 11:14:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=9uKndU8gCLNoGy8MWGuZ/0DQioP41uBs+oqoZDBSf5Y=; b=Q1AXyTDE7QSaRyPMs5RI66rs1Dqtt4sJHQ7kAbYbSntPBmAAnaDl3nosKAcNgzE3Qd CBIoig9DKd+ksA89FyJvorev3DV+ez0N3m8kBTgTSH3oQKt1ZPUpgdOW5kcBTi3qJorU ZXXGC3/0j0Ep4ekoghbUpz+KAKeiq8y92lkXbb1+E103u/XxRagAVLKywdbhUidNj9su 41jK49uhGFluDuPNVg1bBuHVHfCzXzgJDlteeafRlmo0vklVEVt7hHCJF4oEg9SN4HAe eQaJTwTlzWWcMR/G7oTi8Fw9ANsJNwMQUgUd+TeL8lSHnP6K2mMUKt+FVKcyChGax7+C Q0uA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=9uKndU8gCLNoGy8MWGuZ/0DQioP41uBs+oqoZDBSf5Y=; b=myNueBzlY6wo16Pe0cLG63ltK0t7xz4elKzQzCHUgd/pSzeVcn2oKYHuStoJYV424Z OSEiqiMgw6MSV478kAlLcfFfph1RM6Sf3sAPfhEqg5lXWp3y7/k+gEVRi58vXdyiFAwU iB5/r6XRuKzbHpg+gm5LuGylrFKpWJ4tnebspSRHBP/rPMSLXITYaxRfmq+IIRg2UCbB npM7gB5oU6WgdZUhsMHr9sDYLFYHCoaekHSHBWojExWCwOTYgymn7jnryDTAF/eZ4f2T qyasQQxCozhyQKRDLY/eQ3E4KIr2CxZlYteOiXD3VErqQQrMtDNkIhFlDpkjRrHDHO82 yQxA== X-Gm-Message-State: AOAM530esdpujMhJ9Gpyu75lB1gVuMVSJyyTKmXp2LAcr3oXz0ndfmVv upKsfOl7V0m3W3uZd4wWLuLKCvB3cQe6TYFe X-Google-Smtp-Source: ABdhPJz+46g4CBlnVAt6NrOKatsI6nVI8dchgWzhEwijEsiFRSwAGVODiE+5HWF1xlhrWGSBjvMZxA== X-Received: by 2002:a1f:2987:0:b0:356:e150:67ad with SMTP id p129-20020a1f2987000000b00356e15067admr356855vkp.13.1652897660260; Wed, 18 May 2022 11:14:20 -0700 (PDT) Received: from localhost (c-73-125-98-51.hsd1.fl.comcast.net. [73.125.98.51]) by smtp.gmail.com with UTF8SMTPSA id 126-20020a670784000000b0032d275e690esm237879vsh.14.2022.05.18.11.14.19 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 18 May 2022 11:14:19 -0700 (PDT) From: Philip McGrath Date: Wed, 18 May 2022 14:11:20 -0400 Message-Id: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: <20220419232736.272970-1-philip@philipmcgrath.com> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * gnu/packages/elm.scm (elm-terezka-intervals): New variable. --- gnu/packages/elm.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/gnu/packages/elm.scm b/gnu/packages/elm.scm index a9b24b3b00..cf203addd5 100644 --- a/gnu/packages/elm.scm +++ b/gnu/packages/elm.scm @@ -729,3 +729,34 @@ (define-public elm-ryannhg-date-format strings, which makes formatting code more readable and can catch some errors at compile time.") (license license:bsd-3))) + +(define-public elm-terezka-intervals + (package + (name "elm-terezka-intervals") + (version "2.0.1") + (source + (elm-package-origin + "terezka/intervals" + version + (base32 "0h3im58sa6awyppch1v8ppcrzwc5h48yn45crx98m8zs4isx91lj"))) + (build-system elm-build-system) + (propagated-inputs + (list elm-ryannhg-date-format + elm-myrho-elm-round + elm-justinmimbs-time-extra + elm-time + elm-svg + elm-json + elm-html + elm-core + elm-danhandrea-elm-time-extra)) + (inputs (list elm-explorations-test)) + (home-page "https://package.elm-lang.org/packages/terezka/intervals/2.0.1") + (synopsis "Produce nice intervals for Elm charts") + (description + "This package provides an Elm library for producing nice intervals for +charts. It's useful in combination with @code{terezka/elm-charts}. When I +say ``nice'', I just mean that I try to calculate intervals which begin with +10, 5, 3, 2, or 1 (adjusted to magnitude, of course!). For dates, I try to +hit whole days, weeks, and months or hours, minutes, and seconds.") + (license license:bsd-3))) From patchwork Wed May 18 18:11:21 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philip McGrath X-Patchwork-Id: 39506 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 6665F27BBEA; Wed, 18 May 2022 19:16:41 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 3123527BBE9 for ; Wed, 18 May 2022 19:16:41 +0100 (BST) Received: from localhost ([::1]:45136 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nrODw-0005dW-Cs for patchwork@mira.cbaines.net; Wed, 18 May 2022 14:16:40 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45900) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nrOCQ-0002Ol-IY for guix-patches@gnu.org; Wed, 18 May 2022 14:15:06 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:39726) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nrOCQ-0005pT-8F for guix-patches@gnu.org; Wed, 18 May 2022 14:15:06 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nrOCQ-0006ba-1p for guix-patches@gnu.org; Wed, 18 May 2022 14:15:06 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#55030] [PATCH v2 34/34] gnu: Add elm-terezka-elm-charts. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 18 May 2022 18:15:05 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 55030 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 55030@debbugs.gnu.org Cc: Ludovic =?utf-8?q?Court=C3=A8s?= , Philip McGrath Received: via spool by 55030-submit@debbugs.gnu.org id=B55030.165289768325066 (code B ref 55030); Wed, 18 May 2022 18:15:05 +0000 Received: (at 55030) by debbugs.gnu.org; 18 May 2022 18:14:43 +0000 Received: from localhost ([127.0.0.1]:33616 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nrOBv-0006W7-5x for submit@debbugs.gnu.org; Wed, 18 May 2022 14:14:42 -0400 Received: from mail-ua1-f41.google.com ([209.85.222.41]:38787) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nrOBp-0006VX-Np for 55030@debbugs.gnu.org; Wed, 18 May 2022 14:14:33 -0400 Received: by mail-ua1-f41.google.com with SMTP id g14so1138842uan.5 for <55030@debbugs.gnu.org>; Wed, 18 May 2022 11:14:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=PAOLbWDZllBiibS5fe/4ktE6OmW5UFXGG6AAC5RWPAE=; b=HkUX8ndMGFh1nQtNoz52LW9GF9UCcVUwSsOkE6k0Hhb14dJtILF6wihJUNGbSyBZgO ZFOO+VXHaDhlGnILf3Q1XgHKmonkI3TxbJgrpg2b0Zz3GPBjKM8OgH88SCrtiXgF0KBp 9IPPq2OyFharhBAKuOFMAvf3HXuB/d95FX6XB9ud+xeErMFkdL3TvT2L4GacP+WdYQqo SsSXPEOioz216FWb/HMU2aKZBmYQ4fSxqhG16hwvNVwy/fN1X9944ej6/D2gKpLyg9Ac IaD2G9dtbM6qBykfXLILinJmKHxuRZInjLRBxb3H3yG5jTLYJpUDi7I7/qSe2XSmUzIO VshQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=PAOLbWDZllBiibS5fe/4ktE6OmW5UFXGG6AAC5RWPAE=; b=OQMuo6xeabuD3RODTjrATWUTqXXE6zgp1wuQjMMO43zZKeJedtrwogU6h+6p1iWTs0 3d7dQi2K1sC19B6UYrfU1ysn66Iqk0/KHBp3rTds04VWkpRG6WxavxAof997YHylqqcC J62PybcIgNUJWHx6X7EkZfJX/t4ZRK8QpQyBNz2tWu3E1+NocYtofHEOmTbeXcMphSvY 5A9ImVlosY2z1yJNG6Yp0ak3TE+sh18zoAv/uEYb9FeinZN1ikaOlDhDs9tXfGPLz35T fTF8qKA/ZCZHbVFgfA2ZiNA7lu0EZP2MxGw3AvOznBo6hxlPIpkZlOAhXwuIofrlkL57 96gg== X-Gm-Message-State: AOAM530PJ9jPztfk5wlX3mZDY7HWl72BOXG09OMQk2YcEV1XcA2iv2Ia ThbJvdCFfLwkI1Ka2EAKEsEn5QAMCeXWmZWj X-Google-Smtp-Source: ABdhPJxTXmq18QiJFUold1jwOBX66EB1vhj2DXhoHdt7iToHRYZHiA0vxWIyXmVraAQGBYtW4URA9A== X-Received: by 2002:ab0:28d8:0:b0:368:c19f:97c7 with SMTP id g24-20020ab028d8000000b00368c19f97c7mr592125uaq.32.1652897664308; Wed, 18 May 2022 11:14:24 -0700 (PDT) Received: from localhost (c-73-125-98-51.hsd1.fl.comcast.net. [73.125.98.51]) by smtp.gmail.com with UTF8SMTPSA id q128-20020a674386000000b0032d80b7fceesm230768vsa.22.2022.05.18.11.14.23 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 18 May 2022 11:14:24 -0700 (PDT) From: Philip McGrath Date: Wed, 18 May 2022 14:11:21 -0400 Message-Id: <5b36a71666f9aff4b5961eca00fb5d5120aaa517.1652890702.git.philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: References: <20220419232736.272970-1-philip@philipmcgrath.com> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * gnu/packages/elm.scm (elm-terezka-elm-charts): New variable. --- gnu/packages/elm.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/gnu/packages/elm.scm b/gnu/packages/elm.scm index cf203addd5..74a43a4ff2 100644 --- a/gnu/packages/elm.scm +++ b/gnu/packages/elm.scm @@ -760,3 +760,35 @@ (define-public elm-terezka-intervals 10, 5, 3, 2, or 1 (adjusted to magnitude, of course!). For dates, I try to hit whole days, weeks, and months or hours, minutes, and seconds.") (license license:bsd-3))) + +(define-public elm-terezka-elm-charts + (package + (name "elm-terezka-elm-charts") + (version "3.0.0") ;; NOTE! Tags like 5.1.0 are from an OLDER version. + (source + (elm-package-origin + "terezka/elm-charts" + version + (base32 "17syq73jwldc7fk7snm5k8s85nsvxyprb34rs1rwjsapc1vii7hc"))) + (build-system elm-build-system) + (propagated-inputs + (list elm-terezka-intervals + elm-ryannhg-date-format + elm-time + elm-svg + elm-json + elm-html + elm-core + elm-debois-elm-dom)) + (home-page + "https://elm-charts.org") + (synopsis "SVG chart components in Elm") + (description + "Make SVG charts in all Elm. The package can draw charts at a variety of +different levels of customization, from basic charts with standard features to +very custom styles. The library also allows including your very own SVG +elements while still easily utilizing the coordinate system calculated from +your data, as well as editing the SVGs made by the package. It has great +support for interactivity, layering different charts, and adding irregular +details.") + (license license:bsd-3)))