From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp11.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms9.migadu.com with LMTPS id OHyXHXN2bGR7AAAASxT56A (envelope-from ) for ; Tue, 23 May 2023 10:16:51 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id OF+HHXN2bGTTsAAA9RJhRA (envelope-from ) for ; Tue, 23 May 2023 10:16:51 +0200 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 1A22611F82 for ; Tue, 23 May 2023 10:16:51 +0200 (CEST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1q1MTl-0006QY-Gx; Tue, 23 May 2023 03:30:45 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1q1C1s-00041N-Fh for guix-devel@gnu.org; Mon, 22 May 2023 16:21:16 -0400 Received: from mail-ed1-x533.google.com ([2a00:1450:4864:20::533]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1q1C1p-0003sM-Si for guix-devel@gnu.org; Mon, 22 May 2023 16:21:16 -0400 Received: by mail-ed1-x533.google.com with SMTP id 4fb4d7f45d1cf-510d1972d5aso95647a12.0 for ; Mon, 22 May 2023 13:21:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1684786872; x=1687378872; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=te/pJdFJTNgJT5Z/px2rE9zxifgIePSw6mLFnjd+PeM=; b=d1iTfcVbcA1lqnjaRbsT/J3piYLJeUZs9xdwbayQYy7k7lcppskgxUQAiL7SMVDjYj NchBzph9zotVSh6Ho29YnNBxvLBQyynwqP1SNtOgezLU8r87Mlrw+Q3sVGdAvc5cgucv LVjaPujqJvMrlz8qGWct4sGZZJPOZMY1ZjB76IvBpMVqUq2Knoa+QMzVazEWhkXinz6Q Lia+cej+U3C+H9XRRvdPMhUWCMTA2bhRWocW4uathm/eM9HmV0+sUyywjc68nelBdakF 9adhq/uIszJ6Nvl6LGSyn1i0fQAqIMJpqxTfq2Tdabc9ZNKGljWwhrkggjbm0lHm0lo2 LR4Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684786872; x=1687378872; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=te/pJdFJTNgJT5Z/px2rE9zxifgIePSw6mLFnjd+PeM=; b=fwXnAuLg1ztkM4Gnf4lwK6ZR9UTE2OR/t6eQbaFwwdowkPUQcPyLp9NnemLY7V/p+H hcScvCPN0wvD8bJng8YG6av+ksLuMPSWVqZKIyUjOl+CSXRh8biuqUPclpWwC2k2BZok NQSmt0qRqqnPPK3PzzhlAw5nQHLukXx+uBLehf9cJ2ET6k+OZ3fFHSim/GHiu0oeLo0m 0InCovr0P4jfzTh6x67lpm10C09720+OeBaIMzVwsCZq7L8GMN76z9naWvmozaC4owYi MbH3IijpBWYgIn7nNzKUdLPnd/WGM+CMo/0lNBA25f9l0P1HITye/WKNkc6zPzfEv48I 3KbQ== X-Gm-Message-State: AC+VfDyMtEYI8sMAHRbgS+apEJammox63G/E/hOg41REdy1+0GAfBbch RSRuMDRI3fbXrGXTJZEfr7UZOZkUuiZ/Qmf1mhGOacj8ziPzSg== X-Google-Smtp-Source: ACHHUZ6TeXMBRXQYKJkbFr2LNpM1zsCi97ZmsxeY0HGVVMUNX9qU+DrLDLbGuroDRAp6U+DLlbiw+GIZYPKozfDfxYo= X-Received: by 2002:a17:906:6a18:b0:96f:aacb:6f15 with SMTP id qw24-20020a1709066a1800b0096faacb6f15mr7155826ejc.31.1684786871716; Mon, 22 May 2023 13:21:11 -0700 (PDT) MIME-Version: 1.0 References: <875y8oz4ab.fsf@gmail.com> <87pm6sisi0.fsf@gmail.com> In-Reply-To: <87pm6sisi0.fsf@gmail.com> From: Timothy Washington Date: Mon, 22 May 2023 16:21:00 -0400 Message-ID: Subject: Re: issue with packaging 'rustscan' To: Tobias Kortkamp Cc: Simon Tournier , guix-devel@gnu.org Content-Type: multipart/mixed; boundary="00000000000002e93005fc4e037e" Received-SPF: pass client-ip=2a00:1450:4864:20::533; envelope-from=twashing@gmail.com; helo=mail-ed1-x533.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, WEIRD_PORT=0.001, WEIRD_QUOTING=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Tue, 23 May 2023 03:30:28 -0400 X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: guix-devel-bounces+larch=yhetil.org@gnu.org X-Migadu-Country: US X-Migadu-Flow: FLOW_IN ARC-Seal: i=1; s=key1; d=yhetil.org; t=1684829811; a=rsa-sha256; cv=none; b=AtHF0E+p4tVEfASVQk5OLmmSkvdIC2vR1+W4IgQYLrdsTfKhHD6MzJVtPQbY95V+3fbr3x vW01L9LE+ntGjrSlqNyLeA18dQPMVGvmN9trWsq3iOgmurrOS9yMpWM5mxHHeMl8aB+qrN ijOj2ScYblqVMgsbLEoJPx4eieey5VJdzaUwhRfJ+g+F/CwgpV/DE3zLTEk4PwdSalagDL NouxSJ7QDdaHshFiqwSPktRpsbiBO50Gwlq9GKyEbiPWzFZrnDC54+1Jr2z3gpdqzJY+g0 s0xvOrgMc4heTgeNQoa+2TOUFuXoCZJSK8v/VJqiHjfXu2rEGo3yDOysCmC4gg== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("body hash did not verify") header.d=gmail.com header.s=20221208 header.b=d1iTfcVb; dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none); spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1684829811; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=UQbGbgP5eMGFiN1FcJIU0OW6Ze5vg8PT6qygSfj6pJw=; b=lgZVpe1rejo5RNQLDfIUzZ1a7hcc4wQpUXBdwIepbkyBJfxO51crENK73HaEbVaIZx911F GTh7G3zQbYoh3N7AGUeLBGlFHxZ68b2+49kjBLfNk00cxlRohqL1Nvqr3fJXpHM0EXv9cm AoiTL7t03wOSIvVeH/AdW1c7D/MAO3DTso2gNoXsdllv3DcC8fJ62RKTlZXRa2HJbVE8nb dyfVCp/b32qLay3WIrXYcjm15BpTA2ctZqCzOW2b2Gd1yVlk376yZIInaEmr5wkcNAOLzG vcItk9bvGig9OMwZgI9VIbPI/V75IjroO3yHJwkp5Quw3DCQo/CMAINftLeyEA== X-Migadu-Spam-Score: -1.57 X-Spam-Score: -1.57 X-Migadu-Queue-Id: 1A22611F82 X-Migadu-Scanner: scn0.migadu.com Authentication-Results: aspmx1.migadu.com; dkim=fail ("body hash did not verify") header.d=gmail.com header.s=20221208 header.b=d1iTfcVb; dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none); spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" X-TUID: R7uJX8K3bQ3g --00000000000002e93005fc4e037e Content-Type: multipart/alternative; boundary="00000000000002e92f05fc4e037c" --00000000000002e92f05fc4e037c Content-Type: text/plain; charset="UTF-8" This was also touched on in the email thread "*Howto reference a custom package from a manifest*". But I also wanted to acknowledge that "*Solution: add perl to native-inputs*" was indeed the right answer. So thanks for that. I added "(native-inputs (list perl python))" to my package definition. $ guix build -L ~/dotfiles/ rust-rustscan # A. Now builds again! /gnu/store/4bldy27x1f2mzjqg5jd176nrawl98y1y-rust-rustscan-2.1.1 $ guix package -L ~/dotfiles/ -m ~/dotfiles/guix/packages/manifest.scm # B. Now also builds! ... The following derivation will be built: /gnu/store/xll763hpl7mvdkxd3kf8f98pygarzh41-profile.drv ... guix package --list-profiles # C. does NOT show the custom profile just built /home/twashing/.config/guix/current /home/twashing/.guix-profile cat /gnu/store/xll763hpl7mvdkxd3kf8f98pygarzh41-profile.drv # D. DOES show the new profile in /gnu/store Derive([("out","/gnu/store/sqaz4ff2nshfizfh8ymbzllia6lsgnfv-profile","","")], ... ("out","/gnu/store/sqaz4ff2nshfizfh8ymbzllia6lsgnfv-profile"),("preferLocalBuild","1")]) i. Using a direct "guix build" gives you a directory in "/gnu/store". And you can add that bin to your PATH. ii. But for "/gnu/store/*-profile/", would you just loop over those profile directories, and run each "/gnu/store/*-profile/etc/profile"? I'm attaching the full package definition to this email. Thanks again! Tim On Mon, 22 May 2023 at 06:13, Tobias Kortkamp wrote: > > Simon Tournier writes: > > > Hi, > > > > On Sun, 21 May 2023 at 22:35, Timothy Washington > wrote: > > > >> guix build -L ~/dotfiles/ rust-rustscan > > > > [...] > > > >> error: failed to run custom build command for `ring v0.16.20` > >> > >> Caused by: > >> process didn't exit successfully: > `/tmp/guix-build-rust-rustscan-2.1.1.drv-0/rustscan-2.1.1/target/release/build/ring-9bf05aa562ef9c86/build-script-build` > (exit status: 101) > >> --- stderr > >> running "perl" "crypto/fipsmodule/aes/asm/aesni-x86_64.pl" "elf" > "/tmp/guix-build-rust-rustscan-2.1.1.drv-0/rustscan-2.1.1/target/release/build/ring-297f46c71994a65c/out/aesni-x86_64-elf.S" > >> thread 'main' panicked at 'failed to execute ["perl" > "crypto/fipsmodule/aes/asm/aesni-x86_64.pl" "elf" > "/tmp/guix-build-rust-rustscan-2.1.1.drv-0/rustscan-2.1.1/target/release/build/ring-297f46c71994a65c/out/aesni-x86_64-elf.S"]: > No such file or directory (os error 2)', > /tmp/guix-build-rust-rustscan-2.1.1.drv-0/rustscan-2.1.1/guix-vendor/rust-ring-0.16.20.tar.xz/build.rs:653 > :9 > >> note: run with `RUST_BACKTRACE=1` environment variable to display a > backtrace > >> warning: build failed, waiting for other jobs to finish... > >> error: in phase 'build': uncaught exception: > >> %exception #<&invoke-error program: "cargo" arguments: ("build" > "--release") exit-status: 101 term-signal: #f stop-signal: #f> > >> phase `build' failed after 12.2 seconds > >> command "cargo" "build" "--release" failed with status 101 > >> builder for > `/gnu/store/x695f07186dwqpw2jk48b62p2s18f5ry-rust-rustscan-2.1.1.drv' > failed with exit code 1 > >> build of > /gnu/store/x695f07186dwqpw2jk48b62p2s18f5ry-rust-rustscan-2.1.1.drv failed > >> View build log at > '/var/log/guix/drvs/x6/95f07186dwqpw2jk48b62p2s18f5ry-rust-rustscan-2.1.1.drv.gz'. > >> guix build: error: build of > `/gnu/store/x695f07186dwqpw2jk48b62p2s18f5ry-rust-rustscan-2.1.1.drv' failed > > > > The issue is that the Rust package named 'ring' cannot be built. > > Since I am not an expert about Rust packaging, I do not know why and > > how to fix this. Well, one needs to put their hand in dirty Rust > > packaging ;-) > > Hello, > > usually this error ("failed to execute" + "No such file or directory") > means that some build dependency is missing. In this case the build > script (build.rs) fails to run "perl > crypto/fipsmodule/aes/asm/aesni-x86_64.pl" to generate an assembly file. > > Solution: add perl to native-inputs. > > Best regards, > > Tobias > --00000000000002e92f05fc4e037c Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
This was also touched on in the email thread "H= owto reference a custom package from a manifest". But I also w= anted to acknowledge that "Solution: add perl to native-inputs" was indeed the right answer. So thanks for that.=C2=A0

I added "(native-inputs (list perl python))" to my package definition.=C2=A0<= div style=3D"font-family:Arial,Helvetica,sans-serif">
$ guix build -L ~/dotfiles/ rust-rustscan=C2=A0 =C2=A0<= font face=3D"monospace"># A. Now builds again!
/gnu/store/4bldy27x1f2mzjqg5jd176nrawl98y1y-r= ust-rustscan-2.1.1

$ guix p= ackage -L ~/dotfiles/ -m ~/dotfiles/guix/packages/manifest.scm=C2=A0 =C2=A0= # B. Now also= builds!
...
The following derivation will be built:
=C2=A0 = /gnu/store/xll763hpl7mvdkxd3kf8f98pygarzh41-profile.drv
...

guix package --list-profiles=C2=A0 =C2=A0# C. does NOT show the custom profile just built
/home/twashing/.config/guix/current
/home/twashing/.guix-profile

cat /gnu/store/x= ll763hpl7mvdkxd3kf8f98pygarzh41-profile.drv=C2=A0 =C2=A0# D. DOES show the new profile in /gnu/store
Derive([("out","/gnu/store/sqaz4ff2nshfizfh= 8ymbzllia6lsgnfv-profile","","")], ... ("out&= quot;,"/gnu/store/sqaz4ff2nshfizfh8ymbzllia6lsgnfv-profile"),(&qu= ot;preferLocalBuild","1")])

<= div>
i. Using a direct "guix build" gives you a directory in "/gnu/store". And you can ad= d that bin to your=C2=A0PATH.
ii. But for=C2=A0"/gnu/store/*-profile/", would you just = loop over those profile directories, and run each "/gnu/store/*-profile/etc/profile"?


I'm attaching the full package defi= nition to this email.=C2=A0

Thanks again!
Tim=C2=A0

On Mon, 2= 2 May 2023 at 06:13, Tobias Kortkamp <tobias.kortkamp@gmail.com> wrote:

Simon Tournier <zimon.toutoune@gmail.com> writes:

> Hi,
>
> On Sun, 21 May 2023 at 22:35, Timothy Washington <twashing@gmail.com> wrote: >
>> guix build -L ~/dotfiles/ rust-rustscan
>
> [...]
>
>>=C2=A0 error: failed to run custom build command for `ring v0.16.20= `
>>
>> Caused by:
>>=C2=A0 =C2=A0process didn't exit successfully: `/tmp/guix-build= -rust-rustscan-2.1.1.drv-0/rustscan-2.1.1/target/release/build/ring-9bf05aa= 562ef9c86/build-script-build` (exit status: 101)
>>=C2=A0 =C2=A0--- stderr
>>=C2=A0 =C2=A0running "perl" "crypto/fipsmodule/aes/a= sm/= aesni-x86_64.pl" "elf" "/tmp/guix-build-rust-rustsc= an-2.1.1.drv-0/rustscan-2.1.1/target/release/build/ring-297f46c71994a65c/ou= t/aesni-x86_64-elf.S"
>>=C2=A0 =C2=A0thread 'main' panicked at 'failed to execu= te ["perl" "crypto/fipsmodule/aes/asm/aesni-x86_64.pl"= "elf" "/tmp/guix-build-rust-rustscan-2.1.1.drv-0/rustscan-2= .1.1/target/release/build/ring-297f46c71994a65c/out/aesni-x86_64-elf.S"= ;]: No such file or directory (os error 2)', /tmp/guix-build-rust-rusts= can-2.1.1.drv-0/rustscan-2.1.1/guix-vendor/rust-ring-0.16.20.tar.xz/build.r= s:653:9
>>=C2=A0 =C2=A0note: run with `RUST_BACKTRACE=3D1` environment variab= le to display a backtrace
>> warning: build failed, waiting for other jobs to finish...
>> error: in phase 'build': uncaught exception:
>> %exception #<&invoke-error program: "cargo" argum= ents: ("build" "--release") exit-status: 101 term-signa= l: #f stop-signal: #f>
>> phase `build' failed after 12.2 seconds
>> command "cargo" "build" "--release" = failed with status 101
>> builder for `/gnu/store/x695f07186dwqpw2jk48b62p2s18f5ry-rust-rust= scan-2.1.1.drv' failed with exit code 1
>> build of /gnu/store/x695f07186dwqpw2jk48b62p2s18f5ry-rust-rustscan= -2.1.1.drv failed
>> View build log at '/var/log/guix/drvs/x6/95f07186dwqpw2jk48b62= p2s18f5ry-rust-rustscan-2.1.1.drv.gz'.
>> guix build: error: build of `/gnu/store/x695f07186dwqpw2jk48b62p2s= 18f5ry-rust-rustscan-2.1.1.drv' failed
>
> The issue is that the Rust package named 'ring' cannot be buil= t.
> Since I am not an expert about Rust packaging, I do not know why and > how to fix this.=C2=A0 Well, one needs to put their hand in dirty Rust=
> packaging ;-)

Hello,

usually this error ("failed to execute" + "No such file or d= irectory")
means that some build dependency is missing. In this case the build
script (bu= ild.rs) fails to run "perl
crypto/fipsmodule/aes/asm/aesni-x86_64.pl" to generate an assembly fi= le.

Solution: add perl to native-inputs.

Best regards,

Tobias
--00000000000002e92f05fc4e037c-- --00000000000002e93005fc4e037e Content-Type: text/x-scheme; charset="US-ASCII"; name="rustscan.scm" Content-Disposition: attachment; filename="rustscan.scm" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lhzal7fl1 KGRlZmluZS1tb2R1bGUgKGd1aXggcGFja2FnZXMgcnVzdHNjYW4pCiAgIzp1c2UtbW9kdWxlIChn dWl4IHBhY2thZ2VzKQogICM6dXNlLW1vZHVsZSAoZ3VpeCBkb3dubG9hZCkKICAjOnVzZS1tb2R1 bGUgKGd1aXggZ2l0LWRvd25sb2FkKQogICM6dXNlLW1vZHVsZSAoZ3VpeCBidWlsZC1zeXN0ZW0g Y2FyZ28pCiAgIzp1c2UtbW9kdWxlIChndWl4IGdleHApCiAgIzp1c2UtbW9kdWxlIChnbnUgcGFj a2FnZXMgY3JhdGVzLWdyYXBoaWNzKQogICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGNyYXRl cy1pbykKICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBwZXJsKQogICM6dXNlLW1vZHVsZSAo Z251IHBhY2thZ2VzIHB5dGhvbikKCiAgIzp1c2UtbW9kdWxlICgoZ3VpeCBsaWNlbnNlcykgIzpw cmVmaXggbGljZW5zZTopKQoKKGRlZmluZS1wdWJsaWMgcnVzdC10ZXh0LXBsYWNlaG9sZGVyLTAu NAogIChwYWNrYWdlCiAgICAobmFtZSAicnVzdC10ZXh0LXBsYWNlaG9sZGVyIikKICAgICh2ZXJz aW9uICIwLjQuMSIpCiAgICAoc291cmNlIChvcmlnaW4KICAgICAgICAgICAgICAobWV0aG9kIHVy bC1mZXRjaCkKICAgICAgICAgICAgICAodXJpIChjcmF0ZS11cmkgInRleHRfcGxhY2Vob2xkZXIi IHZlcnNpb24pKQogICAgICAgICAgICAgIChmaWxlLW5hbWUgKHN0cmluZy1hcHBlbmQgbmFtZSAi LSIgdmVyc2lvbiAiLnRhci5neiIpKQogICAgICAgICAgICAgIChzaGEyNTYKICAgICAgICAgICAg ICAgKGJhc2UzMgogICAgICAgICAgICAgICAgIjBxMGlxNjBkZmxjenZ5ZnAzbTR3bjN3MzU4eXl4 bWNsam16ZGI5YjVmYXZ3bmIyYzhxY24iKSkpKQogICAgKGJ1aWxkLXN5c3RlbSBjYXJnby1idWls ZC1zeXN0ZW0pCiAgICAoYXJndW1lbnRzCiAgICAgYCgjOnNraXAtYnVpbGQ/ICN0CiAgICAgICAj OmNhcmdvLWlucHV0cyAoKCJydXN0LXNlcmRlIiAscnVzdC1zZXJkZS0xKQogICAgICAgICAgICAg ICAgICAgICAgICgicnVzdC1zZXJkZS1qc29uIiAscnVzdC1zZXJkZS1qc29uLTEpKSkpCiAgICAo aG9tZS1wYWdlICJodHRwczovL2dpdGh1Yi5jb20vYmVybmFyZG9hbWMvdGV4dC1wbGFjZWhvbGRl ciIpCiAgICAoc3lub3BzaXMgIkEgZmxleGlibGUgdGV4dCB0ZW1wbGF0ZSBlbmdpbmUiKQogICAg KGRlc2NyaXB0aW9uICJUaGlzIHBhY2thZ2UgcHJvdmlkZXMgYSBmbGV4aWJsZSB0ZXh0IHRlbXBs YXRlIGVuZ2luZSIpCiAgICAobGljZW5zZSAobGlzdCBsaWNlbnNlOmV4cGF0IGxpY2Vuc2U6YXNs Mi4wKSkpKQoKKGRlZmluZS1wdWJsaWMgcnVzdC1ybGltaXQtMC44CiAgKHBhY2thZ2UKICAgIChu YW1lICJydXN0LXJsaW1pdCIpCiAgICAodmVyc2lvbiAiMC44LjMiKQogICAgKHNvdXJjZSAob3Jp Z2luCiAgICAgICAgICAgICAgKG1ldGhvZCB1cmwtZmV0Y2gpCiAgICAgICAgICAgICAgKHVyaSAo Y3JhdGUtdXJpICJybGltaXQiIHZlcnNpb24pKQogICAgICAgICAgICAgIChmaWxlLW5hbWUgKHN0 cmluZy1hcHBlbmQgbmFtZSAiLSIgdmVyc2lvbiAiLnRhci5neiIpKQogICAgICAgICAgICAgIChz aGEyNTYKICAgICAgICAgICAgICAgKGJhc2UzMgogICAgICAgICAgICAgICAgIjE4dnN6M2ZkajRz OHlqcDk2d3dxN3d2cmxjM3Z6enNxa2k4bWZwaGE5bTV6cjBnOGw5enAiKSkpKQogICAgKGJ1aWxk LXN5c3RlbSBjYXJnby1idWlsZC1zeXN0ZW0pCiAgICAoYXJndW1lbnRzCiAgICAgYCgjOnNraXAt YnVpbGQ/ICN0CiAgICAgICAjOmNhcmdvLWlucHV0cyAoKCJydXN0LWxpYmMiICxydXN0LWxpYmMt MC4yKSkpKQogICAgKGhvbWUtcGFnZSAiaHR0cHM6Ly9naXRodWIuY29tL051Z2luZS9ybGltaXQv IikKICAgIChzeW5vcHNpcyAiUmVzb3VyY2UgbGltaXRzIikKICAgIChkZXNjcmlwdGlvbiAiUmVz b3VyY2UgbGltaXRzIikKICAgIChsaWNlbnNlIGxpY2Vuc2U6ZXhwYXQpKSkKCihkZWZpbmUtcHVi bGljIHJ1c3QtZ2NkLTIKICAocGFja2FnZQogICAgKG5hbWUgInJ1c3QtZ2NkIikKICAgICh2ZXJz aW9uICIyLjMuMCIpCiAgICAoc291cmNlIChvcmlnaW4KICAgICAgICAgICAgICAobWV0aG9kIHVy bC1mZXRjaCkKICAgICAgICAgICAgICAodXJpIChjcmF0ZS11cmkgImdjZCIgdmVyc2lvbikpCiAg ICAgICAgICAgICAgKGZpbGUtbmFtZSAoc3RyaW5nLWFwcGVuZCBuYW1lICItIiB2ZXJzaW9uICIu dGFyLmd6IikpCiAgICAgICAgICAgICAgKHNoYTI1NgogICAgICAgICAgICAgICAoYmFzZTMyCiAg ICAgICAgICAgICAgICAiMDZsNGZpYjRkaDRtNmdhemRyenp6aW5odmNwY2ZoMDVyNGk0Z3pzY2ww M3Zuamhxbng4eCIpKSkpCiAgICAoYnVpbGQtc3lzdGVtIGNhcmdvLWJ1aWxkLXN5c3RlbSkKICAg IChhcmd1bWVudHMKICAgICBgKCM6c2tpcC1idWlsZD8gI3QpKQogICAgKGhvbWUtcGFnZSAiaHR0 cHM6Ly9naXRodWIuY29tL2ZyZXdzeGN2L3J1c3QtZ2NkIikKICAgIChzeW5vcHNpcyAiQ2FsY3Vs YXRlIHRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvciIpCiAgICAoZGVzY3JpcHRpb24gIkNhbGN1 bGF0ZSB0aGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3IiKQogICAgKGxpY2Vuc2UgKGxpc3QgbGlj ZW5zZTpleHBhdCBsaWNlbnNlOmFzbDIuMCkpKSkKCihkZWZpbmUtcHVibGljIHJ1c3QtY29sb3Jm dWwtMC4yCiAgKHBhY2thZ2UKICAgIChuYW1lICJydXN0LWNvbG9yZnVsIikKICAgICh2ZXJzaW9u ICIwLjIuMiIpCiAgICAoc291cmNlIChvcmlnaW4KICAgICAgICAgICAgICAobWV0aG9kIHVybC1m ZXRjaCkKICAgICAgICAgICAgICAodXJpIChjcmF0ZS11cmkgImNvbG9yZnVsIiB2ZXJzaW9uKSkK ICAgICAgICAgICAgICAoZmlsZS1uYW1lIChzdHJpbmctYXBwZW5kIG5hbWUgIi0iIHZlcnNpb24g Ii50YXIuZ3oiKSkKICAgICAgICAgICAgICAoc2hhMjU2CiAgICAgICAgICAgICAgIChiYXNlMzIK ICAgICAgICAgICAgICAgICIxa2o3dmI0Z2x2d2NwNzVhbWJxMm5wZjNkdjF2anE0emt6MTJqOHlw eXphc2FpaTBiYndwIikpKSkKICAgIChidWlsZC1zeXN0ZW0gY2FyZ28tYnVpbGQtc3lzdGVtKQog ICAgKGFyZ3VtZW50cwogICAgIGAoIzpza2lwLWJ1aWxkPyAjdCkpCiAgICAoaG9tZS1wYWdlICJo dHRwczovL2dpdGh1Yi5jb20vbWVsbGl0ZS9jb2xvcmZ1bCIpCiAgICAoc3lub3BzaXMgIk1ha2Ug eW91ciB0ZXJtaW5hbCBvdXRwdXQgY29sb3JmdWwiKQogICAgKGRlc2NyaXB0aW9uICJNYWtlIHlv dXIgdGVybWluYWwgb3V0cHV0IGNvbG9yZnVsIikKICAgIChsaWNlbnNlIGxpY2Vuc2U6ZXhwYXQp KSkKCihkZWZpbmUtcHVibGljIHJ1c3QtY2lkci11dGlscy0wLjUKICAocGFja2FnZQogICAgKG5h bWUgInJ1c3QtY2lkci11dGlscyIpCiAgICAodmVyc2lvbiAiMC41LjEwIikKICAgIChzb3VyY2Ug KG9yaWdpbgogICAgICAgICAgICAgIChtZXRob2QgdXJsLWZldGNoKQogICAgICAgICAgICAgICh1 cmkgKGNyYXRlLXVyaSAiY2lkci11dGlscyIgdmVyc2lvbikpCiAgICAgICAgICAgICAgKGZpbGUt bmFtZSAoc3RyaW5nLWFwcGVuZCBuYW1lICItIiB2ZXJzaW9uICIudGFyLmd6IikpCiAgICAgICAg ICAgICAgKHNoYTI1NgogICAgICAgICAgICAgICAoYmFzZTMyCiAgICAgICAgICAgICAgICAiMDc1 MGpieHZkYnl5eGNxbnpzdzQzODE1OHI5ZHJzMmcwNzd5bXg5cjlsdjE5M3EzZHlweCIpKSkpCiAg ICAoYnVpbGQtc3lzdGVtIGNhcmdvLWJ1aWxkLXN5c3RlbSkKICAgIChhcmd1bWVudHMKICAgICBg KCM6c2tpcC1idWlsZD8gI3QKICAgICAgICM6Y2FyZ28taW5wdXRzICgoInJ1c3QtZGVidWctaGVs cGVyIiAscnVzdC1kZWJ1Zy1oZWxwZXItMC4zKQogICAgICAgICAgICAgICAgICAgICAgICgicnVz dC1udW0tYmlnaW50IiAscnVzdC1udW0tYmlnaW50LTAuNCkKICAgICAgICAgICAgICAgICAgICAg ICAoInJ1c3QtbnVtLXRyYWl0cyIgLHJ1c3QtbnVtLXRyYWl0cy0wLjIpCiAgICAgICAgICAgICAg ICAgICAgICAgKCJydXN0LW9uY2UtY2VsbCIgLHJ1c3Qtb25jZS1jZWxsLTEpCiAgICAgICAgICAg ICAgICAgICAgICAgKCJydXN0LXJlZ2V4IiAscnVzdC1yZWdleC0xKQogICAgICAgICAgICAgICAg ICAgICAgICgicnVzdC1zZXJkZSIgLHJ1c3Qtc2VyZGUtMSkpKSkKICAgIChob21lLXBhZ2UgImh0 dHBzOi8vbWFnaWNsZW4ub3JnL2NpZHItdXRpbHMiKQogICAgKHN5bm9wc2lzCiAgICAgIlRoaXMg Y3JhdGUgcHJvdmlkZXMgZGF0YSBzdHJ1Y3R1cmVzIGFuZCBmdW5jdGlvbnMgdG8gZGVhbCB3aXRo IElQdjQgQ0lEUnMgYW5kIElQdjYgQ0lEUnMuIikKICAgIChkZXNjcmlwdGlvbgogICAgICJUaGlz IGNyYXRlIHByb3ZpZGVzIGRhdGEgc3RydWN0dXJlcyBhbmQgZnVuY3Rpb25zIHRvIGRlYWwgd2l0 aCBJUHY0IENJRFJzIGFuZApJUHY2IENJRFJzLiIpCiAgICAobGljZW5zZSBsaWNlbnNlOmV4cGF0 KSkpCgooZGVmaW5lLXB1YmxpYyBydXN0LXJ1c3RzY2FuLTIKICAocGFja2FnZQogICAgKG5hbWUg InJ1c3QtcnVzdHNjYW4iKQogICAgKHZlcnNpb24gIjIuMS4xIikKICAgIChzb3VyY2UgKG9yaWdp bgogICAgICAgICAgICAgIChtZXRob2QgdXJsLWZldGNoKQogICAgICAgICAgICAgICh1cmkgKGNy YXRlLXVyaSAicnVzdHNjYW4iIHZlcnNpb24pKQogICAgICAgICAgICAgIChmaWxlLW5hbWUgKHN0 cmluZy1hcHBlbmQgbmFtZSAiLSIgdmVyc2lvbiAiLnRhci5neiIpKQogICAgICAgICAgICAgIChz aGEyNTYKICAgICAgICAgICAgICAgKGJhc2UzMgogICAgICAgICAgICAgICAgIjF4ZHh6cDRkZmE4 ZGNjNnNyejVhcGJmeGtjbTFhMXc1ZDRrN3d5bTR4MHFsNWtpYmZiNGIiKSkpKQogICAgKGJ1aWxk LXN5c3RlbSBjYXJnby1idWlsZC1zeXN0ZW0pCiAgICAoYXJndW1lbnRzCiAgICAgYCgjOnRlc3Rz PyAjZgogICAgICAgIzpjYXJnby1pbnB1dHMgKCgicnVzdC1hbnNpLXRlcm0iICxydXN0LWFuc2kt dGVybS0wLjEyKQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1hbnlob3ciICxydXN0LWFu eWhvdy0xKQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1hc3luYy1zdGQiICxydXN0LWFz eW5jLXN0ZC0xKQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1jaWRyLXV0aWxzIiAscnVz dC1jaWRyLXV0aWxzLTAuNSkKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtY29sb3JlZCIg LHJ1c3QtY29sb3JlZC0yKQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1jb2xvcmZ1bCIg LHJ1c3QtY29sb3JmdWwtMC4yKQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1kaXJzIiAs cnVzdC1kaXJzLTMpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LWVudi1sb2dnZXIiICxy dXN0LWVudi1sb2dnZXItMC44KQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1mdXR1cmVz IiAscnVzdC1mdXR1cmVzLTAuMykKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtZ2NkIiAs cnVzdC1nY2QtMikKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtaXRlcnRvb2xzIiAscnVz dC1pdGVydG9vbHMtMC45KQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1sb2ciICxydXN0 LWxvZy0wLjQpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXJhbmQiICxydXN0LXJhbmQt MC43KQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1ybGltaXQiICxydXN0LXJsaW1pdC0w LjgpCiAgICAgICAgICAgICAgICAgICAgICAgKCJydXN0LXNlcmRlIiAscnVzdC1zZXJkZS0xKQog ICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1zZXJkZS1kZXJpdmUiICxydXN0LXNlcmRlLWRl cml2ZS0xKQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1zaGVsbC13b3JkcyIgLHJ1c3Qt c2hlbGwtd29yZHMtMSkKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3Qtc3RydWN0b3B0IiAs cnVzdC1zdHJ1Y3RvcHQtMC4zKQogICAgICAgICAgICAgICAgICAgICAgICgicnVzdC1zdWJwcm9j ZXNzIiAscnVzdC1zdWJwcm9jZXNzLTAuMikKICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3Qt dGV4dC1wbGFjZWhvbGRlciIgLHJ1c3QtdGV4dC1wbGFjZWhvbGRlci0wLjQpCiAgICAgICAgICAg ICAgICAgICAgICAgKCJydXN0LXRvbWwiICxydXN0LXRvbWwtMC41KQogICAgICAgICAgICAgICAg ICAgICAgICgicnVzdC10cnVzdC1kbnMtcmVzb2x2ZXIiICxydXN0LXRydXN0LWRucy1yZXNvbHZl ci0wLjE5KSkKICAgICAgICM6Y2FyZ28tZGV2ZWxvcG1lbnQtaW5wdXRzICgoInJ1c3Qtd2FpdC10 aW1lb3V0IiAscnVzdC13YWl0LXRpbWVvdXQtMC4yKSkpKQogICAgKG5hdGl2ZS1pbnB1dHMgKGxp c3QgcGVybCBweXRob24pKQogICAgKGhvbWUtcGFnZSAiaHR0cHM6Ly9naXRodWIuY29tL3J1c3Rz Y2FuL3J1c3RzY2FuIikKICAgIChzeW5vcHNpcyAiRmFzdGVyIE5tYXAgU2Nhbm5pbmcgd2l0aCBS dXN0IikKICAgIChkZXNjcmlwdGlvbiAiRmFzdGVyIE5tYXAgU2Nhbm5pbmcgd2l0aCBSdXN0IikK ICAgIChsaWNlbnNlIGxpY2Vuc2U6ZXhwYXQpKSkKCg== --00000000000002e93005fc4e037e Content-Type: text/x-scheme; charset="US-ASCII"; name="manifest.scm" Content-Disposition: attachment; filename="manifest.scm" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lhzal7f20 OzsgKGRlZmluZS1tb2R1bGUgKGd1aXggcGFja2FnZXMgbWFuaWZlc3QpKQoKOzsgKHVzZS1tb2R1 bGVzIChnbnUgcGFja2FnZXMpKQoKOzsgKHNwZWNpZmljYXRpb25zLT5tYW5pZmVzdCAnKCJnY2Mt dG9vbGNoYWluIiAibWFrZSIgImdpdCIgImVtYWNzIiAidmltIiAidHJlZSIgInVuZ29vZ2xlZC1j aHJvbWl1bSIpKQooc3BlY2lmaWNhdGlvbnMtPm1hbmlmZXN0ICcoImdjYy10b29sY2hhaW4iICJt YWtlIiAiZ2l0IiAiZW1hY3MiICJ2aW0iICJ0cmVlIiAidW5nb29nbGVkLWNocm9taXVtIiAicnVz dC1ydXN0c2NhbiIpKQo= --00000000000002e93005fc4e037e--