diff options
author | PA4WDH | 2022-08-03 16:39:23 +0200 |
---|---|---|
committer | PA4WDH | 2022-08-03 16:39:23 +0200 |
commit | 34193c5b099f8912cae1b9da0e81b5126d936532 (patch) | |
tree | 3241984a12293f2e826fe6bcebc044a0b0bda4cb | |
download | rpi-pico-master.tar.gz rpi-pico-master.tar.bz2 rpi-pico-master.zip |
-rw-r--r-- | README.html | 73 | ||||
-rw-r--r-- | dev-util/pico-sdk/Manifest | 7 | ||||
-rw-r--r-- | dev-util/pico-sdk/metadata.xml | 12 | ||||
-rw-r--r-- | dev-util/pico-sdk/pico-sdk-1.4.0.ebuild | 72 | ||||
-rw-r--r-- | metadata/layout.conf | 1 | ||||
-rw-r--r-- | profiles/repo_name | 1 |
6 files changed, 166 insertions, 0 deletions
diff --git a/README.html b/README.html new file mode 100644 index 0000000..d6b2001 --- /dev/null +++ b/README.html @@ -0,0 +1,73 @@ +<h1>rpi-pico</h1> +<p> + This is an overlay voor the Gentoo Linux distribution, it provides an ebuild + for the + <a href="https://raspberrypi.github.io/pico-sdk-doxygen/">Raspberry Pi Pico + SDK</a>. +</p> +<h2>Why this overlay?</h2> +<p> + I recently got interested in the + <a href="https://www.raspberrypi.com/products/raspberry-pi-pico/">Raspberry Pi + Pico</a> and the SDK is not in the main portage tree. Usual instructions tell + you to install it in your home directory, but in my opinion software like this + should be managed by your package manager so i started writing an ebuild. I'm + sharing this to help other Gentoo users. +</p> +<h2>What is in this overlay?</h2> +<p> + This overlay provides a single package: dev-utils/pico-sdk. It installs the + SDK under /opt/pico-sdk-<version> and a symlink /opt/pico-sdk. It has + some use flags to control which external parts get included: +</p> +<ul> + <li>cyw43: Include the cyw43 driver for the Pico W's wireless hardware</li> + <li>examples: Include source code examples</li> + <li>lwip: Include the lwip IP Stack</li> + <li>tinyusb: Include the tinyusb USB Stack (required for stdio over USB)</li> +</ul> +<p> + You may notice that the ebuild does depend on cross-arm-none-eabi/binutils, + cross-arm-none-eabi/gcc and cross-arm-none-eabi/newlib and these packages may + not be available on your system. You can use crossdev (sys-devel/crossdev) to + create them with the command: <b>crossdev -t arm-none-eabi --init-target</b>. +</p> +<h2>How to use this overlay?</h2> +<p> + First you'll have to clone this overlay on a place you like, a common place + these days is <b>/var/db/repos</b>. So cd into that directory and use + <b>git clone https://code.pa4wdh.nl.eu.org/gentoo/rpi-pico</b>, this will + create a directory called rpi-pico with the overlay in it. +</p> +<p> + Next you have to make portage aware of the repo, for that you'll have to + create a config file under <b>/etc/portage/repos.conf</b>. Create a file + called <b>rpi-pico.conf</b> and give it these contents: +</p> +<pre> +[rpi-pico] +location = /var/db/repos/rpi-pico +sync-type = git +sync-uri = https://code.pa4wdh.nl.eu.org/gentoo/rpi-pico +</pre> +<p> + If you placed the overlay on a different place than <b>/var/db/repos</b> make + sure to adapt the <b>location</b> line to your needs. +</p> +<h2>What can i do with this?</h2> +<p> + With the SDK installed you can start developing programs in the C programming + language for the Raspberry Pi Pico. See + <a href="https://github.com/raspberrypi/pico-sdk#quick-start-your-own-project">this documentation</a> + to learn how to start your own project. To use the SDK set <b>PICO_SDK_PATH</b> + to <b>/opt/pico-sdk</b> or include + <b>include(/opt/pico-sdk/pico_sdk_init.cmake)</b> in your + <b>CMakeLists.txt</b>. +</p> +<p> + If you have any feedback on this overlay, you're quite likely to find me on + the <a href="https://forums.gentoo.org">Gentoo forums</a>. +</p> +<p> + Have fun! +</p> diff --git a/dev-util/pico-sdk/Manifest b/dev-util/pico-sdk/Manifest new file mode 100644 index 0000000..a7484d0 --- /dev/null +++ b/dev-util/pico-sdk/Manifest @@ -0,0 +1,7 @@ +DIST pico-sdk-1.4.0-cyw43.zip 487825 BLAKE2B 8dda0f5ccbaded18a2b1995a03ad4e9f7d80d54bb67f9ec49e464da67eeef49c30b99404a8353800d3f9fb99cb3d2c24b8a7fd74c02d39f0f87f8d21f3ceb632 SHA512 f434c690f48e43c53b37a1999608a029e7ae9f065f08f0461c0cbe084bcfb09bb2e48f56add898cc9f2786c5ab54d55f46251f3977b2849eafc499c2bfe38a1d +DIST pico-sdk-1.4.0-examples.zip 5542251 BLAKE2B 53176c731e05f3bfd91d339152c70fed447ea0c808254c72ce5b97282d9f629713f132e71d208121aabc03837b01faba74c629eed800d0abd2b483e19ca3564c SHA512 4512a6516987e4d4dd458d8d412f6fd45b195d088d89d3ebab8e6e3acd628b0fe6057cc0bb31d67bb02f249ab0f79cdbaf463bd02a0a4bc78f8a20d54f0726b9 +DIST pico-sdk-1.4.0-lwip.tar.gz 1580159 BLAKE2B ce7d1bf23cd59e71cbe0c4532734fe8b76b5f6e70b31d9d8418b6453dc736505b31160f8b211a123a0b074eb82303e89b945279477ec87a01bd99982113ba9b6 SHA512 8f790d90afacfd138f1f08817f4fb00d833d53aaa9799d415be0026c27e042f860349bd1733d7f03e8e4b85ac090577536d04807fa17d26b804c7dfa84238099 +DIST pico-sdk-1.4.0-tinyusb.zip 2538439 BLAKE2B 4f128cf95c0fe975094e2c086f83cf02010a47455bc13fb5c192f02a217483c53f8740324f142ad0d40681bad2970270301d370a2d42f079cf4ec9e5249f06c3 SHA512 909cae604d7b08b485a8ac90172cf8e774b6496e4fbad1302d922036adc8d03dd25c202564d2b7ad04c0e555418f770d81e3f3a2e2b70ade451b1e01db75bafa +DIST pico-sdk-1.4.0.zip 1236507 BLAKE2B c277b5663d8618d7cadc6c30c361af496b9072597500b4dc8ed0ede2c21c9cc06584b0a275aafd67b34e9fca0384ade98bc408bbc3b327cf8348aeeca4ce9659 SHA512 4794df98882d3b8068a5609869318f3d105fb19b9098bc4b437538e0a39dd0cdcc3e2d9d3a677bc62e045f94e7b1d203cf123bb1a55c0825d8af449d6bfca336 +EBUILD pico-sdk-1.4.0.ebuild 2191 BLAKE2B 29409e9abb3cb7ab2b552cdd730a99be1e86dd1733457d73ff69484ed3532e61ddb229f22e358641832521d8dcae0372d086960b8e198b8a31502edee52fe1cc SHA512 4db4e8bade85413264908458cba80b2dd52a4b90fe3914f8a1661d663667960f0ca6695155dea7aa5b77734b90b3ae7c4262dd1f029ff989e2a5c4a30c6fa7d1 +MISC metadata.xml 410 BLAKE2B 715a1ee33e0d2b8954ddacb40c674a4279ee1b807619fdf159fdf417b43f0b394a0ab4422f0d5a3077c4ddd313138d7d966fda6bd3d8df9d7849fb543f907c6b SHA512 3a27ff75f60c88eba0b09ec948b1d9ec34f8901f441072adba4beae76722e11a915a5f9914a3615602f198eeae0e3b9e65fb4fb36cde2e1fff83be6f2ea4efad diff --git a/dev-util/pico-sdk/metadata.xml b/dev-util/pico-sdk/metadata.xml new file mode 100644 index 0000000..89f2f9b --- /dev/null +++ b/dev-util/pico-sdk/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<maintainer type="person"> +<email></email> +</maintainer> + <use> + <flag name="cyw43">Include the cyw43 driver, required for PICO-W wireless</flag> + <flag name="lwip">Include the lwip IP Stack</flag> + <flag name="tinyusb">Include the tinyusb USB Stack</flag> + </use> +</pkgmetadata> diff --git a/dev-util/pico-sdk/pico-sdk-1.4.0.ebuild b/dev-util/pico-sdk/pico-sdk-1.4.0.ebuild new file mode 100644 index 0000000..65941e9 --- /dev/null +++ b/dev-util/pico-sdk/pico-sdk-1.4.0.ebuild @@ -0,0 +1,72 @@ +# Copyright 2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CYW43_COMMIT="195dfcc10bb6f379e3dea45147590db2203d3c7b" +LWIP_COMMIT="239918ccc173cb2c2a62f41a40fd893f57faf1d6" +TINYUSB_COMMIT="4bfab30c02279a0530e1a56f4a7c539f2d35a293" + +DESCRIPTION="Raspberry Pi Pico SDK" +HOMEPAGE="https://github.com/raspberrypi/pico-sdk/" +IUSE="cyw43 examples lwip tinyusb" +SRC_URI="https://github.com/raspberrypi/${PN}/archive/refs/tags/${PV}.zip -> ${PN}-${PV}.zip + cyw43? ( https://github.com/georgerobotics/cyw43-driver/archive/${CYW43_COMMIT}.zip -> ${P}-cyw43.zip ) + examples? ( https://github.com/raspberrypi/pico-examples/archive/refs/tags/sdk-${PV}.zip -> ${P}-examples.zip ) + lwip? ( https://git.savannah.gnu.org/cgit/lwip.git/snapshot/lwip-${LWIP_COMMIT}.tar.gz -> ${P}-lwip.tar.gz ) + tinyusb? ( https://github.com/hathach/tinyusb/archive/${TINYUSB_COMMIT}.zip -> ${P}-tinyusb.zip )" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="amd64" + +DEPEND=" + cross-arm-none-eabi/binutils + cross-arm-none-eabi/gcc[cxx] + cross-arm-none-eabi/newlib" + +RDEPEND="${DEPEND}" +BDEPEND="dev-util/cmake" + +src_prepare() { + if use cyw43 + then + einfo "Including the cyw43 driver" + rmdir "${S}/lib/cyw43-driver" + mv "${WORKDIR}/cyw43-driver-${CYW43_COMMIT}" "${S}/lib/cyw43-driver" || die "Failed to install cyw43 driver" + fi + if use examples + then + einfo "Including examples" + mv "${WORKDIR}/pico-examples-sdk-${PV}" "${S}/examples" || die "Failed to install examples" + fi + if use lwip + then + einfo "Including the lwip IP Stack" + rmdir "${S}/lib/lwip" + mv "${WORKDIR}/lwip-${LWIP_COMMIT}" "${S}/lib/lwip" || die "Failed to install lwip" + fi + if use tinyusb + then + einfo "Including the tinyusb USB Stack" + rmdir "${S}/lib/tinyusb" + mv "${WORKDIR}/tinyusb-${TINYUSB_COMMIT}" "${S}/lib/tinyusb" || die "Failed to install tinyusb" + fi + eapply_user +} + +src_compile() { + return +} + +src_install() { + dodoc README.md CONTRIBUTING.md + mkdir "${D}/opt" + cp -R "${S}" "${D}/opt/" + ln -s "${PN}-${PV}" "${D}/opt/${PN}" +} + +pkg_postinst() { + einfo "When compiling your projects set PICO_SDK_PATH to /opt/${PN}" + einfo "or include(/opt/pico-sdk/pico_sdk_init.cmake) in your CMakeLists.txt" +} diff --git a/metadata/layout.conf b/metadata/layout.conf new file mode 100644 index 0000000..d43e61c --- /dev/null +++ b/metadata/layout.conf @@ -0,0 +1 @@ +masters = gentoo diff --git a/profiles/repo_name b/profiles/repo_name new file mode 100644 index 0000000..28742f7 --- /dev/null +++ b/profiles/repo_name @@ -0,0 +1 @@ +rpi-pico |