Bug 239348

Summary: [NEW PORT] lang/vlang: Simple, fast, safe, compiled language for developing maintainable software.
Product: Ports & Packages Reporter: Martin Filla <freebsd>
Component: Individual Port(s)Assignee: Po-Chuan Hsieh <sunpoet>
Status: Closed FIXED    
Severity: Affects Only Me CC: 0mp, freebsd, lcook, lwhsu, swills, w.schwarzenfeld
Priority: ---    
Version: Latest   
Hardware: Any   
OS: Any   
URL: https://reviews.freebsd.org/D21787
Attachments:
Description Flags
vlang.shar
none
vlang.shar
none
vlang.shar
none
vlang.shar
none
vlang.shar
none
vlang.shar
freebsd: maintainer-approval+
vlang.shar
none
vlang.shar none

Description Martin Filla 2019-07-20 16:59:15 UTC
Created attachment 205947 [details]
vlang.shar

Simple, fast, safe, compiled language for developing maintainable software.
Comment 1 Mateusz Piotrowski freebsd_committer freebsd_triage 2019-07-20 19:37:39 UTC
Hi there, thanks for the submission.

Please check your patch with portlint:
https://www.freebsd.org/doc/en/books/porters-handbook/porting-portlint.html
Comment 2 Martin Filla 2019-07-21 09:58:04 UTC
Hi,
I am sorry
Comment 3 Martin Filla 2019-07-21 10:10:05 UTC
Created attachment 205966 [details]
vlang.shar

Hi there, here you have new file.
Comment 4 Martin Filla 2019-08-15 22:51:23 UTC
ping
Comment 5 Mateusz Piotrowski freebsd_committer freebsd_triage 2019-08-16 11:03:40 UTC
The port does not build in a clean environment like poudriere because it attempts to use curl (which is not installed anyway) during the build phase. The problem is that there is no internet connection during build phase.

It should not be that hard to make it work but it might need setting ALL_TARGET to soemthing different or patching the makefile a little bit.

Also, I think I wonder if we could change PORTNAME to vlang as well.
Comment 6 Walter Schwarzenfeld freebsd_triage 2019-08-16 11:33:35 UTC
I think bin/v is also no good name, should also changed to bin/vlang
Comment 7 Mateusz Piotrowski freebsd_committer freebsd_triage 2019-08-16 13:02:52 UTC
(In reply to Walter Schwarzenfeld from comment #6)

It is short, true. I'd stick to the defaults, however. If "v" the name for a compiler that the vlang community expects then it should be so. That's at least my opinion.
Comment 8 Martin Filla 2019-08-25 23:01:27 UTC
(In reply to Walter Schwarzenfeld from comment #6)
(In reply to Mateusz Piotrowski from comment #7)

Mateusz Piotrowski have true, because community expects short name "v" but i dont 
know what people from ports.
Comment 9 Tobias Kortkamp freebsd_committer freebsd_triage 2019-09-03 12:19:46 UTC
*** Bug 240300 has been marked as a duplicate of this bug. ***
Comment 10 Lewis Cook freebsd_committer freebsd_triage 2019-09-03 12:51:08 UTC
Is there any follow-up regarding this port? I proposed a port earlier, which doesn't rely on curl as aforementioned above and was marked duplicate (never occurred to me to see if this port preexisted, I do apologize). Alternatively, it fetches both (the V compiler written in C then V-variation, the former being used to initially bootstrap the V-variant)—then built with the native compiler installed on the system. Although it doesn't fix the remaining issues of V itself, it's a step closer to V development on FreeBSD. Cheers!
Comment 11 Martin Filla 2019-09-03 15:43:36 UTC
(In reply to Lewis Cook from comment #10)
(In reply to Mateusz Piotrowski from comment #7)

I am working on port 

https://github.com/Martinfx/FreeBSD-Ports/commit/78a054ee7ff1b3193e7bfe7c2130fa11b397fdc7
Comment 12 Martin Filla 2019-09-23 10:13:29 UTC
Created attachment 207733 [details]
vlang.shar

Hi, last changes for port v language
Comment 13 Martin Filla 2019-09-24 22:55:17 UTC
(In reply to Mateusz Piotrowski from comment #1)

Hi there, look like this now ok ? :-)
Comment 14 Mateusz Piotrowski freebsd_committer freebsd_triage 2019-09-25 12:34:51 UTC
The port does not build in a clean environment of poudriere:

===>  Building for v-0.1.20
gmake[1]: Entering directory '/wrkdirs/usr/ports/lang/vlang/work/v-0.1.20'
rm -rf vc/
git clone --depth 1 --quiet https://github.com/vlang/vc
gmake[1]: git: Command not found
gmake[1]: *** [Makefile:13: all] Error 127
gmake[1]: Leaving directory '/wrkdirs/usr/ports/lang/vlang/work/v-0.1.20'
===> Compilation failed unexpectedly.
Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
the maintainer.
*** Error code 1

Stop.
make: stopped in /usr/ports/lang/vlang
===========================================================================
[00:00:11] Error: Build failed in phase: build
[00:00:11] Cleaning up
[00:00:11] Unmounting file systems
Comment 15 Mateusz Piotrowski freebsd_committer freebsd_triage 2019-09-25 15:17:41 UTC
I've posted some improvements here: https://reviews.freebsd.org/D21787

I'd like the future maintainer to fix tests before vlang gets committed (be it Martin or Lewis).
Comment 16 Martin Filla 2019-09-26 09:14:12 UTC
(In reply to Mateusz Piotrowski from comment #15)
Hello Mateusz, 
I haven't access to reviews.freebsd.org but you have in makefile with CLAGS typing error. 
First problems are with CFLAGS. With flag -fstack-protector-strong vlang haven't problem 
but with -fno-strict-aliasing vlang crash to SIGABRT Signal 6.

Program received signal SIGABRT, Aborted.
0x000000080041e5da in kill () from /lib/libc.so.7
(gdb) t
[Current thread is 1 (LWP 101724 of process 65138)]
(gdb) bt
#0  0x000000080041e5da in kill () from /lib/libc.so.7
#1  0x000000080041e590 in ?? () from /lib/libc.so.7
#2  0x000000080041e500 in __stack_chk_fail () from /lib/libc.so.7
#3  0x000000000021b2fe in os__executable () at /vlang/work/vc-0.1.20/v.c:5079
#4  0x000000000023d32e in new_v (args=...) at /vlang/work/vc-0.1.20/v.c:12065
#5  0x000000000023c1f3 in main (argc=<optimized out>, argv=<optimized out>) at /vlang/work/vc-0.1.20/v.c:11164
(gdb) exit

Next complication are tests 
v-0.1.20/thirdparty/glfw/GLFW/glfw3.h:202:12: fatal error: 'GL/gl.h' file not found
  #include <GL/gl.h>
           ^~~~~~~~~ 

I will report this issues vlang developers.
Comment 17 Martin Filla 2019-09-26 09:15:06 UTC
Created attachment 207838 [details]
vlang.shar
Comment 18 Martin Filla 2019-10-10 10:12:12 UTC
Created attachment 208224 [details]
vlang.shar
Comment 19 Martin Filla 2019-10-12 16:03:15 UTC
Last report for this port
crypto.rand test failed bacause it's not implemented yet.
print_backtrace_skipping_top_frames is not implemented on this platform for now...
other all tests are ok.
Comment 20 Martin Filla 2019-10-12 19:17:04 UTC
Created attachment 208271 [details]
vlang.shar
Comment 21 Martin Filla 2019-11-16 13:32:24 UTC
Created attachment 209184 [details]
vlang.shar

New report from vlang port
Some issue with bad detect operationg system
https://github.com/vlang/v/issues/2781
https://github.com/Martinfx/FreeBSD-Ports/commit/5ca5cd9ca64abe4a36d17964c05ea355df6ec6bf
Comment 22 Martin Filla 2019-12-08 01:00:04 UTC
(In reply to Mateusz Piotrowski from comment #15)
New progress with vlang language: 

Now is implement backtrace in v language
but still have bug in v language.
Issue is in create folder in root :-(, 
it have creates in /tmp
Comment 23 Martin Filla 2019-12-08 01:01:04 UTC
Created attachment 209781 [details]
vlang.shar

update shar file, version port
Comment 24 Martin Filla 2019-12-08 01:06:23 UTC
(In reply to Mateusz Piotrowski from comment #15)

We have fix this issue

make test
/!\ v-0.1.23.1: Makefile warnings, please consider fixing /!\

Not validating first entry in CATEGORIES due to being outside of PORTSDIR.
Please ensure this is proper when committing.

===>  License MIT accepted by the user
===>   v-0.1.23.1 depends on file: /usr/local/sbin/pkg - found
===> Fetching all distfiles required by v-0.1.23.1 for building
===>  Extracting for v-0.1.23.1
=> SHA256 Checksum OK for vlang-v-0.1.23.1-7adda3b_GH0.tar.gz.
=> SHA256 Checksum OK for vlang-vc-1a86440_GH0.tar.gz.
===>  Patching for v-0.1.23.1
===>  Applying FreeBSD patches for v-0.1.23.1
===>   v-0.1.23.1 depends on executable: gmake - found
===>  Configuring for v-0.1.23.1
===>  Building for v-0.1.23.1
cc  -fstack-protector-strong  -std=gnu11 -lexecinfo -rdynamic -w -o vlang/work/v-7adda3b/v vlang/work/vc-1a86440/v.c
===>  Staging for v-0.1.23.1
===>   Generating temporary packing list
install   -m 555 vlang/work/v-7adda3b/v vlang/work/stage/usr/local/bin
====> Compressing man pages (compress-man)
====> Running Q/A tests (stage-qa)
===>  Testing for v-0.1.23.1
(cd vlang/work/v-7adda3b && ./v -g test v)
V panic: V tool "vlang/work/v-7adda3b/tools/vtest.v" could not be compiled
0x22761f <v_panic+0x2f> at vlang/work/v-7adda3b/v
0x2a43cc <compiler__get_vtmp_folder+0x14c> at vlang/work/v-7adda3b/v
0x286e69 <compiler__get_vtmp_filename+0x29> at vlang/work/v-7adda3b/v
0x285da6 <compiler__new_v+0x13c6> at vlang/work/v-7adda3b/v
0x2a7a5b <main__main+0xecb> at vlang/work/v-7adda3b/v
0x2a948f <main+0x5f> at vlang/work/v-7adda3b/v
V panic: Permission denied
0x22761f <v_panic+0x2f> at vlang/work/v-7adda3b/v
0x2a4812 <compiler__launch_tool+0x3f2> at vlang/work/v-7adda3b/v
0x2a6fa4 <main__main+0x414> at vlang/work/v-7adda3b/v
0x2a948f <main+0x5f> at vlang/work/v-7adda3b/v
*** Error code 1
Comment 25 Tobias Kortkamp freebsd_committer freebsd_triage 2019-12-14 16:06:07 UTC
Port added in ports r517881 as lang/v by sunpoet@.
Comment 26 Martin Filla 2019-12-15 11:03:31 UTC
(In reply to Tobias Kortkamp from comment #25)
Some tests for vlang are bad.
I am worked on this port, why is maintainer @Sunpoet ?