GNU bug report logs - #36665
[PATCH] gnu: Add elm-compiler 0.19.0

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: guix-patches; Reported by: Robert Vollmert <rob@HIDDEN>; Keywords: patch; dated Mon, 15 Jul 2019 13:49:02 UTC; Maintainer for guix-patches is guix-patches@HIDDEN.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 15 Jul 2019 13:48:45 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Jul 15 09:48:45 2019
Received: from localhost ([127.0.0.1]:46920 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1hn1LK-0005QY-IU
	for submit <at> debbugs.gnu.org; Mon, 15 Jul 2019 09:48:45 -0400
Received: from lists.gnu.org ([209.51.188.17]:36475)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rob@HIDDEN>) id 1hn1LG-0005QO-9t
 for submit <at> debbugs.gnu.org; Mon, 15 Jul 2019 09:48:35 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:53061)
 by lists.gnu.org with esmtp (Exim 4.86_2)
 (envelope-from <rob@HIDDEN>) id 1hn1LE-0002hO-2e
 for guix-patches@HIDDEN; Mon, 15 Jul 2019 09:48:34 -0400
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=0.1 required=5.0 tests=BAYES_50,RCVD_IN_DNSWL_LOW,
 T_FILL_THIS_FORM_SHORT,URIBL_BLOCKED autolearn=disabled version=3.3.2
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <rob@HIDDEN>) id 1hn1LC-0001VC-4r
 for guix-patches@HIDDEN; Mon, 15 Jul 2019 09:48:32 -0400
Received: from mx1.mailbox.org ([80.241.60.212]:60324)
 by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32)
 (Exim 4.71) (envelope-from <rob@HIDDEN>) id 1hn1LA-0001QS-2D
 for guix-patches@HIDDEN; Mon, 15 Jul 2019 09:48:28 -0400
Received: from smtp2.mailbox.org (smtp2.mailbox.org [80.241.60.241])
 (using TLSv1.2 with cipher ECDHE-RSA-CHACHA20-POLY1305 (256/256 bits))
 (No client certificate requested)
 by mx1.mailbox.org (Postfix) with ESMTPS id 5C3D950D4E;
 Mon, 15 Jul 2019 15:48:22 +0200 (CEST)
X-Virus-Scanned: amavisd-new at heinlein-support.de
Received: from smtp2.mailbox.org ([80.241.60.241])
 by gerste.heinlein-support.de (gerste.heinlein-support.de [91.198.250.173])
 (amavisd-new, port 10030)
 with ESMTP id ElzEmZdfr-S6; Mon, 15 Jul 2019 15:48:05 +0200 (CEST)
From: Robert Vollmert <rob@HIDDEN>
To: guix-patches@HIDDEN
Subject: [PATCH] gnu: Add elm-compiler 0.19.0
Date: Mon, 15 Jul 2019 15:47:14 +0200
Message-Id: <20190715134713.74863-1-rob@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Received-From: 80.241.60.212
X-Spam-Score: -1.6 (-)
X-Debbugs-Envelope-To: submit
Cc: Robert Vollmert <rob@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.3 (/)

This adds the elm compiler, version 0.19.0. This provides the
`elm` command, with the exception of the `elm reactor` subcommand.

Named `elm-compiler`, to leave space for `elm` as the full elm
including reactor.

* gnu/packages/elm.scm: New module.
(elm-compiler): New package.
* gnu/packages/patches/elm-disable-reactor.patch: New patch.
* gnu/packages/patches/elm-fix-map-key.patch: New patch.
* gnu/packages/patches/elm-relax-glsl-bound.patch: New patch.
* gnu/local.mk: Add new files.
---

This depends on patch set 36663: Add elm compiler dependencies.

 gnu/local.mk                                  |  4 +
 gnu/packages/elm.scm                          | 78 +++++++++++++++++++
 .../patches/elm-disable-reactor.patch         | 71 +++++++++++++++++
 gnu/packages/patches/elm-fix-map-key.patch    | 38 +++++++++
 .../patches/elm-relax-glsl-bound.patch        | 19 +++++
 5 files changed, 210 insertions(+)
 create mode 100644 gnu/packages/elm.scm
 create mode 100644 gnu/packages/patches/elm-disable-reactor.patch
 create mode 100644 gnu/packages/patches/elm-fix-map-key.patch
 create mode 100644 gnu/packages/patches/elm-relax-glsl-bound.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index af76145225..4f131e8fac 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -161,6 +161,7 @@ GNU_SYSTEM_MODULES =3D				\
   %D%/packages/electronics.scm			\
   %D%/packages/elf.scm				\
   %D%/packages/elixir.scm			\
+  %D%/packages/elm.scm				\
   %D%/packages/embedded.scm			\
   %D%/packages/emacs.scm			\
   %D%/packages/emacs-xyz.scm			\
@@ -768,6 +769,9 @@ dist_patch_DATA =3D						\
   %D%/packages/patches/dvd+rw-tools-add-include.patch 		\
   %D%/packages/patches/elfutils-tests-ptrace.patch		\
   %D%/packages/patches/elixir-path-length.patch			\
+  %D%/packages/patches/elm-disable-reactor.patch		\
+  %D%/packages/patches/elm-fix-map-key.patch			\
+  %D%/packages/patches/elm-relax-glsl-bound.patch		\
   %D%/packages/patches/einstein-build.patch			\
   %D%/packages/patches/emacs-exec-path.patch			\
   %D%/packages/patches/emacs-fix-scheme-indent-function.patch	\
diff --git a/gnu/packages/elm.scm b/gnu/packages/elm.scm
new file mode 100644
index 0000000000..e4dea88585
--- /dev/null
+++ b/gnu/packages/elm.scm
@@ -0,0 +1,78 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright =C2=A9 2019 Robert Vollmert <rob@HIDDEN>
+;;;
+;;; 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 (a=
t
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages elm)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages haskell)
+  #:use-module (gnu packages haskell-check)
+  #:use-module (gnu packages haskell-crypto)
+  #:use-module (gnu packages haskell-xyz)
+  #:use-module (gnu packages haskell-web)
+  #:use-module (guix build-system haskell)
+  #:use-module (guix 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.
+(define-public elm-compiler
+  (package
+    (name "elm-compiler")
+    (version "0.19.0")
+    (source
+     (origin
+       (method url-fetch)
+       (file-name "elm-0.19.0.tar.gz")
+       (uri "https://github.com/elm/compiler/archive/0.19.0.tar.gz")
+       (sha256
+        (base32 "0g4risrjrvngz3j4wf432j82gjcc8i1b7l5lwbb0fhr24hvz6ka9"))
+       (patches
+        (search-patches "elm-disable-reactor.patch"
+                        "elm-relax-glsl-bound.patch"
+                        "elm-fix-map-key.patch"))))
+    (build-system haskell-build-system)
+    (inputs
+     `(("ghc-ansi-terminal" ,ghc-ansi-terminal)
+       ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
+       ("ghc-edit-distance" ,ghc-edit-distance)
+       ("ghc-file-embed" ,ghc-file-embed)
+       ("ghc-http" ,ghc-http)
+       ("ghc-http-client" ,ghc-http-client)
+       ("ghc-http-client-tls" ,ghc-http-client-tls)
+       ("ghc-http-types" ,ghc-http-types)
+       ("ghc-language-glsl" ,ghc-language-glsl)
+       ("ghc-logict" ,ghc-logict)
+       ("ghc-network" ,ghc-network)
+       ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)
+       ("ghc-scientific" ,ghc-scientific)
+       ("ghc-sha" ,ghc-sha)
+       ("ghc-snap-core" ,ghc-snap-core)
+       ("ghc-snap-server" ,ghc-snap-server)
+       ("ghc-unordered-containers"
+        ,ghc-unordered-containers)
+       ("ghc-utf8-string" ,ghc-utf8-string)
+       ("ghc-vector" ,ghc-vector)
+       ("ghc-zip-archive" ,ghc-zip-archive)))
+    (home-page "https://elm-lang.org")
+    (synopsis "The `elm` command line interface, without `elm reactor`")
+    (description
+     "This includes commands like `elm make`, `elm repl`, and many other=
s
+for helping make Elm developers happy and productive.")
+    (license license:bsd-3)))
diff --git a/gnu/packages/patches/elm-disable-reactor.patch b/gnu/package=
s/patches/elm-disable-reactor.patch
new file mode 100644
index 0000000000..9871b55e8d
--- /dev/null
+++ b/gnu/packages/patches/elm-disable-reactor.patch
@@ -0,0 +1,71 @@
+commit 20d80e2323b565a36751c9455e535d8f73fa32f7
+Author: Robert Vollmert <rob@HIDDEN>
+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
+=20
+-    other-extensions:
+-        TemplateHaskell
+-
+     Main-Is:
+         Main.hs
+=20
+@@ -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 =3D
+=20
+=20
+ serveAssets :: Snap ()
+-serveAssets =3D
+-  do  file <- getSafePath
+-      case StaticFiles.lookup file of
+-        Nothing ->
+-          pass
+-
+-        Just (content, mimeType) ->
+-          do  modifyResponse (setContentType (mimeType <> ";charset=3Du=
tf-8"))
+-              writeBS content
+-
++serveAssets =3D pass
+=20
+=20
+ -- 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 =3D
+       complex intro outro
+         [ repl
+         , init
+-        , reactor
+         , make
+         , install
+         , bump
diff --git a/gnu/packages/patches/elm-fix-map-key.patch b/gnu/packages/pa=
tches/elm-fix-map-key.patch
new file mode 100644
index 0000000000..4f05ded530
--- /dev/null
+++ b/gnu/packages/patches/elm-fix-map-key.patch
@@ -0,0 +1,38 @@
+commit e3512d887df41a8162c3e361171c04beca08415b
+Author: Tom Stejskal <tom.stejskal@HIDDEN>
+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/El=
m/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
+=20
+=20
+ import Data.Map ((!))
++import qualified Data.Map as Map
+ import qualified Data.Maybe as Maybe
+ import qualified Data.Set as Set
+=20
+@@ -134,11 +135,15 @@ extractUnion interfaces (Opt.Global home name) =3D
+     else
+       let
+         pname =3D toPublicName home name
+-        unions =3D I._unions (interfaces ! home)
++        maybeUnions =3D 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 =3D<< 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 [] []
+=20
+=20
+ extractCtor :: Can.Ctor -> Extractor (N.Name, [T.Type])
diff --git a/gnu/packages/patches/elm-relax-glsl-bound.patch b/gnu/packag=
es/patches/elm-relax-glsl-bound.patch
new file mode 100644
index 0000000000..3f8be810c2
--- /dev/null
+++ b/gnu/packages/patches/elm-relax-glsl-bound.patch
@@ -0,0 +1,19 @@
+commit 4c649a5a270aba15cc6a3913c3ad51a293047f40
+Author: R=C3=A9mi Lef=C3=A8vre <rlefevre@HIDDEN>
+Date:   Mon Sep 3 19:18:54 2018 +0200
+
+    update language-glsl maximum version
+
+diff --git a/elm.cabal b/elm.cabal
+index 48aa84f0..464fe9d5 100644
+--- a/elm.cabal
++++ b/elm.cabal
+@@ -246,7 +246,7 @@ Executable elm
+         http-client >=3D 0.5 && < 0.6,
+         http-client-tls >=3D 0.3 && < 0.4,
+         http-types >=3D 0.9 && < 1.0,
+-        language-glsl >=3D 0.0.2 && < 0.3,
++        language-glsl >=3D 0.0.2 && < 0.4,
+         logict,
+         mtl >=3D 2.2.1 && < 3,
+         network >=3D 2.4 && < 2.7,
--=20
2.20.1 (Apple Git-117)





Acknowledgement sent to Robert Vollmert <rob@HIDDEN>:
New bug report received and forwarded. Copy sent to guix-patches@HIDDEN. Full text available.
Report forwarded to guix-patches@HIDDEN:
bug#36665; Package guix-patches. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Mon, 15 Jul 2019 14:00:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.