Date: Tue, 1 May 2018 10:26:32 -0700 From: Craig Leres <leres@freebsd.org> To: FreeBSD Hackers <freebsd-hackers@freebsd.org> Subject: Porting questions Message-ID: <fe5ac958-441b-054f-3a6b-1146bcad6a41@freebsd.org>
next in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format.
--------------3886E7E3D311105AF941B91A
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
I'm working a port for the Espressif ESP32 toolchain so I can move
development of some projects (FreeRTOS and Arduino) from Ubuntu to
FreeBSD. I have a few questions.
(1) Naming: The pre-built linux 64 bit toolchain is called:
xtensa-esp32-elf-linux64-1.22.0-80-g6c4433a-5.2.0.tar.gz
so I thought the port should be called xtensa-esp32-elf; is this a
reasonable name?
(2) Port version: The toolchain is built from the latest version:
https://github.com/espressif/crosstool-NG
There is not a release that corresponds to this version; is it legit for
me to use:
DISTVERSION= 1.22.0-80-g6c4433a5
GH_TUPLE= espressif:crosstool-NG:${DISTVERSION}
which apparently gives me 1.22.0.80.g6.c4433.a5 as the PORTVERSION?
(3) USES=gcc doesn't provide a binary named gcc: crosstool-NG has the
string "gcc" firmly baked into it. When I have USES=gcc (today) I get
gcc6 but without patching a ton of files I need gcc to exist when
poudriere is building. I solved this by also adding:
BUILD_DEPENDS+= gcc:lang/gcc
but it seems wrong to me that USES=gcc doesn't provide a binary named gcc.
(4) How to handle downloads that shouldn't be extracted: The toolchain
uses specific versions of a bunch of things:
TARBALLS= \
binutils-2.25.1.tar.bz2 \
expat-2.1.0.tar.gz \
gcc-5.2.0.tar.bz2 \
gdb-7.10.tar.xz \
gmp-6.0.0a.tar.xz \
isl-0.14.tar.xz \
mpc-1.0.3.tar.gz \
mpfr-3.1.3.tar.xz \
ncurses-6.0.tar.gz \
newlib-2.2.0.tar.gz
Normally the build process downloads these which doesn't work well with
poudriere; you don't want to download these every time you build port. I
put copies in my /usr/ports/distfiles and add symlinks to the work tree
in post-extract and later the build script correctly skips downloading
them when it finds them already there. I'd like to add these to
DISTFILES for auto-download and checksums but I don't want them
extracted by do-extract. Is my best option to override the do-extract
target?
I've attached the current version of the Makefile for informal review.
Craig
--------------3886E7E3D311105AF941B91A
Content-Type: text/plain; charset=UTF-8;
name="Makefile"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="Makefile"
IyBDcmVhdGVkIGJ5OiBDcmFpZyBMZXJlcyA8bGVyZXNAZnJlZWJzZC5vcmc+CiMgJEZyZWVC
U0QkCgpQT1JUTkFNRT0JeHRlbnNhLWVzcDMyLWVsZgpESVNUVkVSU0lPTj0JMS4yMi4wLTgw
LWc2YzQ0MzNhNQpDQVRFR09SSUVTPQlkZXZlbAojRElTVEZJTEVTPQojTUFTVEVSX1NJVEVT
PQlTRgpESVNUX1NVQkRJUj0JeHRlbnNhLWVzcDMyLWVsZgoKTUFJTlRBSU5FUj0JbGVyZXNA
ZnJlZWJzZC5vcmcKQ09NTUVOVD0JVG9vbGNoYWluIGZvciB4dGVuc2EtZXNwMzItZWxmCgpM
SUNFTlNFPQlHUEx2MiBMR1BMMjEKTElDRU5TRV9DT01CPQltdWx0aQoKQlVJTERfREVQRU5E
Uys9CWJhc2g6c2hlbGxzL2Jhc2ggXAoJCWdhd2s6bGFuZy9nYXdrIFwKCQlnY2M6bGFuZy9n
Y2MgXAoJCWdpdDpkZXZlbC9naXQgXAoJCWdwYXRjaDpkZXZlbC9wYXRjaCBcCgkJJHtMT0NB
TEJBU0V9L2Jpbi9ncmVwOnRleHRwcm9jL2dudWdyZXAgXAoJCWdwZXJmOmRldmVsL2dwZXJm
IFwKCQlnc2VkOnRleHRwcm9jL2dzZWQgXAoJCWhlbHAybWFuOm1pc2MvaGVscDJtYW4gXAoJ
CW1ha2VpbmZvOnByaW50L3RleGluZm8gXAoJCXdnZXQ6ZnRwL3dnZXQKClVTRVM9CQlhdXRv
cmVjb25mOmJ1aWxkIGJpc29uIGdtYWtlIGxpYnRvb2wgcHl0aG9uOmJ1aWxkClVTRV9HSVRI
VUI9CXllcwpHSF9UVVBMRT0JZXNwcmVzc2lmOmNyb3NzdG9vbC1ORzoke0RJU1RWRVJTSU9O
fQpVU0VfR0NDPQl5ZXMKClRBUkJBTExTPSBcCgkJYmludXRpbHMtMi4yNS4xLnRhci5iejIg
XAoJCWV4cGF0LTIuMS4wLnRhci5neiBcCgkJZ2NjLTUuMi4wLnRhci5iejIgXAoJCWdkYi03
LjEwLnRhci54eiBcCgkJZ21wLTYuMC4wYS50YXIueHogXAoJCWlzbC0wLjE0LnRhci54eiBc
CgkJbXBjLTEuMC4zLnRhci5neiBcCgkJbXBmci0zLjEuMy50YXIueHogXAoJCW5jdXJzZXMt
Ni4wLnRhci5neiBcCgkJbmV3bGliLTIuMi4wLnRhci5negoKcG9zdC1leHRyYWN0OgoJJHtN
S0RJUn0gJHtCVUlMRF9XUktTUkN9Ly5idWlsZC90YXJiYWxscwouZm9yIEYgaW4gJChUQVJC
QUxMUykKCSR7TE59IC1zICR7RElTVERJUn0vJHtESVNUX1NVQkRJUn0vJHtGfSAke0JVSUxE
X1dSS1NSQ30vLmJ1aWxkL3RhcmJhbGxzCi5lbmRmb3IKCnByZS1jb25maWd1cmU6CgkgY2Qg
JHtCVUlMRF9XUktTUkN9ICYmIC4vYm9vdHN0cmFwCgpkby1jb25maWd1cmU6CgljZCAke0JV
SUxEX1dSS1NSQ30gJiYgXAoJICAgIC4vY29uZmlndXJlIC0tZW5hYmxlLWxvY2FsIC0td2l0
aC1ncmVwPSR7TE9DQUxCQVNFfS9iaW4vZ3JlcAoKcHJlLWJ1aWxkOgoJY2QgJHtCVUlMRF9X
UktTUkN9ICYmIFwKCSAgICAke1NFVEVOVn0gLXVNQUtFTEVWRUwgLXVNQUtFRkxBR1MgLXUu
TUFLRS5MRVZFTC5FTlYgXAoJICAgICAke01BS0VfQ01EfSBpbnN0YWxsICYmIC4vY3Qtbmcg
eHRlbnNhLWVzcDMyLWVsZgoKZG8tYnVpbGQ6CgljZCAke0JVSUxEX1dSS1NSQ30gJiYgQ1Rf
QUxMT1dfQlVJTERfQVNfUk9PVF9TVVJFPTEgLi9jdC1uZyBidWlsZAoKLmluY2x1ZGUgPGJz
ZC5wb3J0Lm1rPgo=
--------------3886E7E3D311105AF941B91A--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?fe5ac958-441b-054f-3a6b-1146bcad6a41>
