summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Smith <matthew@gentoo.org>2024-01-02 18:51:09 +0000
committerMatthew Smith <matthew@gentoo.org>2024-01-02 18:58:48 +0000
commitda58f729dd160b30b506d5fc0f2251e9d5d3d9a4 (patch)
treeace0725a6206186f5123eb87effe2c051162db67
parentdev-libs/libp11: fixup openssl version restrictions (diff)
downloadgentoo-da58f729dd160b30b506d5fc0f2251e9d5d3d9a4.tar.gz
gentoo-da58f729dd160b30b506d5fc0f2251e9d5d3d9a4.tar.bz2
gentoo-da58f729dd160b30b506d5fc0f2251e9d5d3d9a4.zip
dev-embedded/avrdude: add 7.2
Add a subslot for libavrdude, and build in parallel port support. Closes: https://bugs.gentoo.org/879013 Closes: https://bugs.gentoo.org/917397 Signed-off-by: Matthew Smith <matthew@gentoo.org>
-rw-r--r--dev-embedded/avrdude/Manifest1
-rw-r--r--dev-embedded/avrdude/avrdude-7.2.ebuild64
-rw-r--r--dev-embedded/avrdude/metadata.xml3
3 files changed, 68 insertions, 0 deletions
diff --git a/dev-embedded/avrdude/Manifest b/dev-embedded/avrdude/Manifest
index 3675ad0936cc..9c081c4825fd 100644
--- a/dev-embedded/avrdude/Manifest
+++ b/dev-embedded/avrdude/Manifest
@@ -1 +1,2 @@
DIST avrdude-7.0.tar.gz 2354082 BLAKE2B 44cc6cb82abd4e44f9e7f72901cd9b2a13c9e7635582993ea9a01ea482709ca6a8a3454980446d1196a67cec19a021133d5821731618350336f81fce09d7c049 SHA512 ca3338e6f2f0efc102e70f72531efbd237c5f7bc282d8db5530038f9e20b18a7c2682343bb2baff08c81f8959b066323a444dd64c2362a340a9d9708f90770e0
+DIST avrdude-7.2.tar.gz 2622520 BLAKE2B 7bf86ea802bb150415a0d8c1ba884d5ff84b3d4bfb0e77470205d578001c1c19f782ddd37ae4235fba9f2ccc05247aea1723ebc2e1c71174c23b0986e835231e SHA512 04d04492458bc1d183ad8ff403cf3d38f65f44bb992df589e8f49d28b5347eb63433568c95f5d575ae651be70d725d3f178175cd1fe6dcd46ec013c3fe3f2ab0
diff --git a/dev-embedded/avrdude/avrdude-7.2.ebuild b/dev-embedded/avrdude/avrdude-7.2.ebuild
new file mode 100644
index 000000000000..941904a47991
--- /dev/null
+++ b/dev-embedded/avrdude/avrdude-7.2.ebuild
@@ -0,0 +1,64 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="AVR Downloader/UploaDEr"
+HOMEPAGE="https://avrdudes.github.io/avrdude https://github.com/avrdudes/avrdude"
+SRC_URI="https://github.com/avrdudes/avrdude/archive/refs/tags/v${PV}.tar.gz -> avrdude-${PV}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0/1" # SOVERSION in src/CMakeLists.txt
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
+IUSE="ftdi readline"
+
+RDEPEND="
+ dev-libs/hidapi
+ virtual/libelf:=
+ virtual/libusb:0
+ virtual/libusb:1
+ ftdi? ( dev-embedded/libftdi:1 )
+ readline? ( sys-libs/readline:0= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ sys-devel/bison
+ sys-devel/flex
+"
+
+src_prepare() {
+ cmake_src_prepare
+
+ # CMAKE_INSTALL_LIBDIR is not respected. Fixed in the next release.
+ sed -i "s@DESTINATION lib@DESTINATION $(get_libdir)@g" \
+ src/CMakeLists.txt || die
+
+ # For some reason 'TYPE SYSCONF' and 'CMAKE_INSTALL_SYSCONFDIR'
+ # prepends '/usr' so the config ends up getting installed as
+ # '/usr/etc/avrdude.conf' which is not correct.
+ sed -i 's@TYPE SYSCONF@DESTINATION ${CMAKE_INSTALL_FULL_SYSCONFDIR}@' \
+ src/CMakeLists.txt || die
+}
+
+src_configure() {
+ # Optional libraries like libftdi aren't gated behind options and
+ # find_package calls, but find_library is called directly
+ # instead.
+ #
+ # Set the cache variable to an empty string if we do not want a
+ # library to be automatically detected.
+ local mycmakeargs=(
+ -DBUILD_DOC=OFF # This currently does nothing...
+ -DBUILD_SHARED_LIBS=ON
+ -DDEBUG_CMAKE=ON
+ -DHAVE_LIBFTDI=''
+ -DHAVE_LINUXGPIO=ON # Seems like there is no reason to have this off.
+ -DHAVE_LINUXSPI=ON # Ditto.
+ -DHAVE_PARPORT=ON
+ )
+ use ftdi || mycmakeargs+=( -DHAVE_LIBFTDI1='' )
+ use readline || mycmakeargs+=( -DHAVE_LIBREADLINE='' )
+ cmake_src_configure
+}
diff --git a/dev-embedded/avrdude/metadata.xml b/dev-embedded/avrdude/metadata.xml
index b9a0b133cefe..4b3b9dad10e3 100644
--- a/dev-embedded/avrdude/metadata.xml
+++ b/dev-embedded/avrdude/metadata.xml
@@ -8,6 +8,9 @@
<use>
<flag name="ftdi">Enable support for USB FTDI chips via <pkg>dev-embedded/libftdi</pkg></flag>
</use>
+ <slots>
+ <subslots>reflect soname of libavrdude</subslots>
+ </slots>
<upstream>
<remote-id type="github">avrdudes/avrdude</remote-id>
</upstream>