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>