commit:     da58f729dd160b30b506d5fc0f2251e9d5d3d9a4
Author:     Matthew Smith <matthew <AT> gentoo <DOT> org>
AuthorDate: Tue Jan  2 18:51:09 2024 +0000
Commit:     Matthew Smith <matthew <AT> gentoo <DOT> org>
CommitDate: Tue Jan  2 18:58:48 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=da58f729

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 <AT> gentoo.org>

 dev-embedded/avrdude/Manifest           |  1 +
 dev-embedded/avrdude/avrdude-7.2.ebuild | 64 +++++++++++++++++++++++++++++++++
 dev-embedded/avrdude/metadata.xml       |  3 ++
 3 files changed, 68 insertions(+)

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>

Reply via email to