add dev-lang/v preliminary ebuild

This commit is contained in:
Martin Sekera 2021-03-04 20:36:32 +01:00
parent 1a23eda5fe
commit 228f83b2ec

63
dev-lang/v/v-9999.ebuild Normal file
View file

@ -0,0 +1,63 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit toolchain-funcs
# download once per week
WEEK=$(printf "%(%Y-week-%W)T")
DESCRIPTION="Simple, fast, safe, compiled. For developing maintainable software."
HOMEPAGE="https://vlang.io"
SRC_URI="
https://github.com/vlang/v/archive/master.tar.gz -> v-${WEEK}.tar.gz
https://github.com/vlang/vc/archive/master.tar.gz -> vc-${WEEK}.tar.gz
"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~arm64"
# FIXME v build-tools pulls a number of modules
RESTRICT="network-sandbox"
S="${WORKDIR}/v-master"
src_compile() {
CC=$(tc-getCC)
# bootstrap the compiler using its C translation and then rebuild from V
${CC} ${CFLAGS} -g -std=gnu11 -o v ${WORKDIR}/vc-master/v.c ${LDFLAGS} -lm -lpthread || die
./v -prod self || die
# build tools
./v build-tools || die
# tell V it is managed by a package manager
touch cmd/tools/.disable_autorecompilation
}
src_install() {
# compiler entry point
exeinto /usr/lib/vlang
doexe v
dosym /usr/lib/vlang/v /usr/bin/v
# v subcommands
exeinto /usr/lib/vlang/cmd/tools
doexe cmd/tools/{check_os_api_parity,fast_job,map_fuzz,missdoc,oldv,performance_compare,repeat,test_if_v_test_system_works,test_os_process,vbin2v,vbuild-examples,vbuild-tools,vbuild-vbinaries,vcheck-md,vcomplete,vcreate,vfmt,vpm,vrepl,vself,vsetup-freetype,vsymlink,vtest,vtest-all,vtest-cleancode,vtest-fmt,vtest-parser,vtest-self,vtracev,vup,vwipe-cache}
# standard library
insinto /usr/lib/vlang
doins -r vlib
# docs
insinto /usr/lib/vlang/cmd/v
doins -r cmd/v/help
insinto /usr/share/vlang
doins -r examples
dodoc -r doc
einstalldocs
}