Re: Call for testing of arm64, armhf, and i386 snaps of Nim

2020-04-05 Thread adnan

u9898287@pop-os:~/proj/nimbed$ cat nim.nim
echo "hello world"
u9898287@pop-os:~/proj/nimbed$ nim c -r nim.nim
Hint: system [Processing]
Hint: widestrs [Processing]
Hint: io [Processing]
Hint: nim [Processing]
CC: stdlib_io.nim
CC: stdlib_system.nim
CC: nim.nim
/home/u9898287/.cache/nim/nim_d/@mnim.nim.c: In function ‘NimMainModule’:
/home/u9898287/.cache/nim/nim_d/@mnim.nim.c:127:14: warning: passing 
argument 1 of ‘echoBinSafe’ discards ‘const’ qualifier from pointer target type 
[-Wdiscarded-qualifiers]
  127 |  echoBinSafe(TM__2KdnOX4IskX1tJhgQCK1Ag_2, 1);
  |  ^~~~
/home/u9898287/.cache/nim/nim_d/@mnim.nim.c:44:60: note: expected 
‘NimStringDesc **’ {aka ‘struct NimStringDesc **’} but argument is of type 
‘NimStringDesc * const*’ {aka ‘struct NimStringDesc * const*’}
   44 | N_LIB_PRIVATE N_NIMCALL(void, echoBinSafe)(NimStringDesc** args, NI 
argsLen_0);
  |^~~~
/home/u9898287/.cache/nim/nim_d/stdlib_system.nim.c: In function 
‘sysFatal__1rw9bzpRcCrBi6FIqHe7a4wsystem’:
/home/u9898287/.cache/nim/nim_d/stdlib_system.nim.c:4866:1: warning: 
‘noreturn’ function does return
 4866 | }
  | ^
/home/u9898287/.cache/nim/nim_d/stdlib_system.nim.c: In function 
‘sysFatal__loKUBbrfPTCD1cUb5IkxkAsystem’:
/home/u9898287/.cache/nim/nim_d/stdlib_system.nim.c:5335:1: warning: 
‘noreturn’ function does return
 5335 | }
  | ^
/home/u9898287/.cache/nim/nim_d/stdlib_system.nim.c: In function 
‘sysFatal__wxS1DD5S67Tovuyk2fdOLwsystem’:
/home/u9898287/.cache/nim/nim_d/stdlib_system.nim.c:5685:1: warning: 
‘noreturn’ function does return
 5685 | }
  | ^
Hint:  [Link]
Hint: 13891 LOC; 1.484 sec; 21.145MiB peakmem; Debug build; proj: 
/home/u9898287/proj/nimbed/nim.nim; out: /home/u9898287/proj/nimbed/nim 
[SuccessX]
Hint: /home/u9898287/proj/nimbed/nim  [Exec]
hello world


Run

Pop OS 19.10.


Re: Call for testing of arm64, armhf, and i386 snaps of Nim

2020-04-04 Thread dom96
I cannot test these right now but I just want to say thank you for your work on 
this!


Call for testing of arm64, armhf, and i386 snaps of Nim

2020-04-04 Thread haydenb
I maintain snap packages of Nim.

  * [nim-lang](https://snapcraft.io/nim-lang) is built from stable releases
  * [nim-lang-lts-1](https://snapcraft.io/nim-lang-lts-1) is built from 
releases on the 1.0 LTS branch
  * [nim-lang-nightly](https://snapcraft.io/nim-lang-nightly) are built nightly 
from the master branch
  * [nim-lang-docs](https://snapcraft.io/nim-lang-docs) contains a build of the 
most recent documentation for Nim



I have released snap builds for arm64, armhf, and i386, in addition to the 
existing amd64 builds, and I invite your testing and [bug 
reports](https://github.com/sirredbeard/nim_lang_snap/issues).

Background:

The [build code is hosted on 
GitHub](https://github.com/sirredbeard/nim_lang_snap). A [GitHub 
action](https://github.com/sirredbeard/nim_lang_snap/blob/master/.github/workflows/nightly.yml)
 triggers a build on push and daily on a cron timer, it sets up a build 
environment [using a Docker 
container](https://github.com/sirredbeard/snap-build/blob/master/Dockerfile) 
optimized for using snapcraft, it then [configures the snapcraft.yaml based on 
metadata](https://github.com/sirredbeard/nim_lang_snap/blob/master/.github/workflows/stable.yml#L22)
 from GitHub, and [pushes the snapcraft.yaml to 
Launchpad](https://github.com/sirredbeard/nim_lang_snap/blob/master/.github/workflows/stable.yml#L35)
 to be built for amd64, armhf, i386, and arm64 using [snapcraft 
remote-build](https://snapcraft.io/docs/remote-build). The compiled snaps are 
then collected and then [pushed to the Snap 
store](https://github.com/sirredbeard/nim_lang_snap/blob/master/.github/workflows/stable.yml#L45).
 Securing is maintained by storing authentication files as base64-encoded 
[encrypted environmental 
variables](https://help.github.com/en/actions/configuring-and-managing-workflows/creating-and-storing-encrypted-secrets)
 in the GitHub Action, then [decoding them to 
file](https://github.com/sirredbeard/nim_lang_snap/blob/master/.github/workflows/nightly.yml#L31)
 as needed.

Snaps now have [separate release channels 
built-in](https://snapcraft.io/docs/channels) but I still have separate 
packages for stable, nightly, and LTS so you can have multiple branches of Nim 
installed and test against each. My current plan is that when snaps get the 
ability to have multiple channels installed side-by-side these three packages 
will switch to a single package.

Hayden [@unixterminal](https://twitter.com/unixterminal)