diff mbox series

[bug#44926,WIP] Add dart-2.8.4

Message ID 87lfelqrni.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me
State Work in progress
Headers show
Series [bug#44926,WIP] Add dart-2.8.4 | expand

Checks

Context Check Description
cbaines/applying patch fail View Laminar job
cbaines/issue success View issue

Commit Message

Nicolò Balzarotti Nov. 28, 2020, 6:10 p.m. UTC
Hi Guix!
As announced on guix-devel, I bootstrapped the dart compiler from
source.

Following patches add dart 2.8.4 (latest release is 2.10, but I wanted
to be sure that this work in progress is fine before continuing, as I
fear that 4 other steps are required).

NOTE: I tagged this as WIP as I've not yet disabled analytics yet (I
disabled it from the first added version, but I was wondering if I need
to disable it in _each_ version or if just the latest one is fine.
Patching all of them will require some time).

(Each build takes ~20min on my server and ~60min on my laptop, and
there's a dozen of them)

Let me know if there are major problems or if I can go on with disabling
analytics!

Thanks, Nicolò

Comments

Julien Lepiller Nov. 28, 2020, 8:50 p.m. UTC | #1
Le Sat, 28 Nov 2020 19:10:09 +0100,
Nicolò Balzarotti <anothersms@gmail.com> a écrit :

> Hi Guix!
> As announced on guix-devel, I bootstrapped the dart compiler from
> source.
> 
> Following patches add dart 2.8.4 (latest release is 2.10, but I wanted
> to be sure that this work in progress is fine before continuing, as I
> fear that 4 other steps are required).
> 
> NOTE: I tagged this as WIP as I've not yet disabled analytics yet (I
> disabled it from the first added version, but I was wondering if I
> need to disable it in _each_ version or if just the latest one is
> fine. Patching all of them will require some time).
> 
> (Each build takes ~20min on my server and ~60min on my laptop, and
> there's a dozen of them)
> 
> Let me know if there are major problems or if I can go on with
> disabling analytics!
> 
> Thanks, Nicolò
> 

Impressive :)

I can see a few issues in terms of style in these patches, but looking
at the first dart version, it looks like it's going to work :)

So, instead of using dart-zlib, dart-boringssl, ..., I'd recommend
changing dart-pkg to something like this:

(define* (dart-pkg name tag hash #:optional
                   (url (string-append
                          "https://github.com/dart-lang/"
                          (string-replace-substring name "-" "_")
                          ".git")))
  (origin
    (method git-fetch)
    (uri (git-reference
           (url url)
           (commit tag)))
    ...))

That way, dart-zlib, ... also have a proper file name ;)

I don't really like the fact that the build system simply bundles these
dependencies instead of link dynamically to them, but I guess it's hard
to do anything for that, and for bootstrap versions, I don't think it's
too much of an issue.

You should also make sure to clean up your patches: for instance patch
8 modifies things you've added before (I think it's only because of
whitespace, but that's not clean).

Thank you!
Nicolò Balzarotti Nov. 28, 2020, 9:02 p.m. UTC | #2
Julien Lepiller <julien@lepiller.eu> writes:

> Le Sat, 28 Nov 2020 19:10:09 +0100,
> Nicolò Balzarotti <anothersms@gmail.com> a écrit :
>
>> Hi Guix!
>> As announced on guix-devel, I bootstrapped the dart compiler from
>> source.
>> 
>> Following patches add dart 2.8.4 (latest release is 2.10, but I wanted
>> to be sure that this work in progress is fine before continuing, as I
>> fear that 4 other steps are required).
>> 
>> NOTE: I tagged this as WIP as I've not yet disabled analytics yet (I
>> disabled it from the first added version, but I was wondering if I
>> need to disable it in _each_ version or if just the latest one is
>> fine. Patching all of them will require some time).
>> 
>> (Each build takes ~20min on my server and ~60min on my laptop, and
>> there's a dozen of them)
>> 
>> Let me know if there are major problems or if I can go on with
>> disabling analytics!
>> 
>> Thanks, Nicolò
>> 
>
> Impressive :)
>
> I can see a few issues in terms of style in these patches, but looking
> at the first dart version, it looks like it's going to work :)
>
> So, instead of using dart-zlib, dart-boringssl, ..., I'd recommend
> changing dart-pkg to something like this:
>
> (define* (dart-pkg name tag hash #:optional
>                    (url (string-append
>                           "https://github.com/dart-lang/"
>                           (string-replace-substring name "-" "_")
>                           ".git")))
>   (origin
>     (method git-fetch)
>     (uri (git-reference
>            (url url)
>            (commit tag)))
>     ...))
>

Sure, I'll do this

> That way, dart-zlib, ... also have a proper file name ;)
>
> I don't really like the fact that the build system simply bundles these
> dependencies instead of link dynamically to them, but I guess it's hard
> to do anything for that, and for bootstrap versions, I don't think it's
> too much of an issue.
Yeah I too don't like it, but I really never used (and don't like) the
gn build system, so any change requires a lot of time.  I know that we
usually unbundle things, and if required I might try again.

>
> You should also make sure to clean up your patches: for instance patch
> 8 modifies things you've added before (I think it's only because of
> whitespace, but that's not clean).

Ops, sorry!

>
> Thank you!

Thank you Julien!
I'll submit a v2 tomorrow.
diff mbox series

Patch

From b75b8f98be9e565d78100e201414cf204b8ef197 Mon Sep 17 00:00:00 2001
From: nixo <nicolo@nixo.xyz>
Date: Sat, 28 Nov 2020 16:59:58 +0100
Subject: [PATCH 20/20] gnu: Add dart-2.8.4.

* gnu/packages/dart.scm (dart-2.8.4): New variable.
---
 gnu/packages/dart.scm | 81 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 81 insertions(+)

diff --git a/gnu/packages/dart.scm b/gnu/packages/dart.scm
index d706825d76..1ab0c1e82b 100644
--- a/gnu/packages/dart.scm
+++ b/gnu/packages/dart.scm
@@ -1354,3 +1354,84 @@ 
      (alist-replace
       "dart" `(,dart-2.6.1)
       (package-native-inputs dart-2.6.1)))))
+
+(define-public dart-2.8.4
+  (package
+    (inherit dart-2.7.2)
+    (version "2.8.4")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+	     (url "https://github.com/dart-lang/sdk.git")
+	     (commit version)))
+       (sha256
+	(base32
+	 "0wgchkqplx6bjgb901rm583iqbmi7fy29c1xzhlddgmnz1x7yh6c"))))
+    (inputs
+     (append
+      `(("dart-pkg-stagehand"
+         ,(dart-pkg "stagehand" "v3.3.7"
+                    "0xwssdfcl3isrfycazqhar52dms20zvg9g4zn8pmifc86zfmkcfh")))
+      (replace-inputs
+       dart-2.7.2
+       `(("dart-pkgtested-package-config"
+          ,(dart-pkg "package-config" "v1.9.2"
+                     "0gaws9v3w95fmgn74wiyif0fdjx0dvivwpzk6a3gmqjp0jrr1rqh"))
+         ("dart-pkg-args"
+          ,(dart-pkg "args" "1.6.0"
+                     "0lwms9wysfwk1dbzrgas3qfjmxrz07n2hlzvyb21dr5scjmvm8sx"))
+         ("dart-pkg-async"
+          ,(dart-pkg "async" "2.4.1"
+                     "0447x7v58y8fqj3zfykbpy4lmp5w39p3psxa7kk3idjvq3rdqf53"))
+         ("dart-pkg-cli-util"
+          ,(dart-pkg "cli-util" "4ad7ccbe3195fd2583b30f86a86697ef61e80f41"
+                     "1hgnck9g39z1vcnf0lysmb5sj4917l51p7hqwvkkf475nwdhfnxm"))
+         ("dart-pkg-dartdoc"
+          ,(dart-pkg "dartdoc" "v0.30.3"
+                     "0xks7srhg0zwl6q9rzj9ralh91144yvhi378m144ydma4b9c3vac"))
+         ("dart-pkg-http-multi-server"
+          ,(dart-pkg "http_multi_server" "ea269f79321d659208402088f3297e8920a88ee6"
+                     "0lfkw7kkghdm29h78hafjxyp01aj9whc6s9z0dhyyc56aar4jfhf"))
+         ("dart-pkg-intl"
+          ,(dart-pkg "intl" "0.16.1"
+                     "0a87y8vy8zm2cpyq83f7anpfq0a6kgpphcl7cq3s96b0k9dvfpkl"))
+         ("dart-pkg-linter"
+          ,(dart-pkg "linter" "0.1.114"
+                     "1cpkqb4pzks3xphx1vilplfmmlsxhs28pfzb9k0c70wgzm4biw91"))
+         ("dart-pkg-matcher"
+          ,(dart-pkg "matcher" "0.12.5"
+                     "0y0qnx96sxrqfw92zy9ln678isbb6cl1gfk6lisgpch3q5d7q7f1"))
+         ("dart-pkg-path"
+          ,(dart-pkg "path" "1.6.2"
+                     "0ag6bplqw7rpysgv77nsgx86758add9jszrp4v68xhld69vn5pvd"))
+         ("dart-pkg-pub"
+          ,(dart-pkg "pub" "3606265962da4248d34d352aa3d170aae4496a90"
+                     "0sa9yvb4zx20v1h85d3i3hv917hp5hwcghrvzcl1r9afsprkjdln"))
+         ("dart-pkg-pub-semver"
+          ,(dart-pkg "pub-semver" "v1.4.4"
+                     "1yg9fl7ynnrp8c8iax070zx6dyakj8fbghzrxmx4rnblak63ijsj"))
+         ("dart-pkg-shelf-packages-handler"
+          ,(dart-pkg "shelf-packages-handler" "2.0.0"
+                     "1nhvj92kjag6ids8y4ld99p3v8qk6fgygc89yyi98xf3v6ijr01b"))
+         ("dart-pkg-source-map-stack-trace"
+          ,(dart-pkg "source-map-stack-trace" "2.0.0"
+                     "0vq22isaypcfgrajfv0f6ww74cskbl8m171kq65rg9syxs50a96g"))
+         ("dart-pkg-source-span"
+          ,(dart-pkg "source-span" "1.7.0"
+                     "055lw4x27am90shz4wa4xlnv44ndk12gd0965ffidys705xfk1cg"))
+         ("dart-pkg-stream-channel"
+          ,(dart-pkg "stream-channel" "2.0.0"
+                     "02hs73jj4yg9sqqw2wjrrf179svdgrzamiaqmpncz3n3x12jk0hl"))
+         ("dart-pkg-watcher"
+          ,(dart-pkg "watcher" "0.9.7+14"
+                     "1kgxisvfbhvr5q30776plh3xn7iy0ckhy4wpzsvp2pbd63kmi2wa"))
+         ("dart-pkg-web-socket-channel"
+          ,(dart-pkg "web-socket-channel" "1.0.15"
+                     "1dcc91f1q6fl6jzyqaplg6cc5k67wcczb93z7gqnk6lijlqlmy6g"))
+         ("dart-pkg-yaml"
+          ,(dart-pkg "yaml" "2.2.0"
+                     "1y5xwps838yys9aw72n2300p2r5jjvz6v4klsp38y55f9kfh2dax"))))))
+    (native-inputs
+     (alist-replace "dart" `(,dart-2.7.2)
+                    (package-native-inputs dart-2.7.2)))))
-- 
2.29.2