Skip site navigation (1)Skip section navigation (2)
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>