pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

cross/avrdude: Update to 7.2



Module Name:	pkgsrc-wip
Committed By:	Michael Baeuerle <micha%NetBSD.org@localhost>
Pushed By:	micha
Date:		Wed Aug 16 15:12:59 2023 +0200
Changeset:	779358b8d986a02cc9a735e4d33aee7b446c6503

Modified Files:
	avrdude/COMMIT_MSG
	avrdude/Makefile
	avrdude/PLIST
	avrdude/TODO
	avrdude/distinfo
	avrdude/patches/patch-freebsd__ppi.h
	avrdude/patches/patch-ppi.c
	avrdude/patches/patch-usb__libusb.c
Added Files:
	avrdude/buildlink3.mk
	avrdude/options.mk
Removed Files:
	avrdude/patches/patch-Makefile.am
	avrdude/patches/patch-configure.ac
	avrdude/patches/patch-doc_Makefile.am
	avrdude/patches/patch-doc_Makefile.in

Log Message:
cross/avrdude: Update to 7.2

- Switch to CMake build system
- Add bl3 file for shared library
- Fix "doc" option

Changes in version 7.2:

  * Major changes compared to the previous version:

    - libgpiod support for linuxgpio #1299
    - Support jtag2updi -U UPDI EEPROM write #1318
    - avrdude.conf reconciled with ATDFs #1343
    - avrdude -p part/s now also shows part variants #1343
    - New programmer dryrun for testing #1347
    - New -T cmd to mix terminal with -U commands #1373
    - Run -t interactive terminals in CLI option order #1402
    - Terminal
        + Command config (mnemonic fuse setting) #1365
        + Write to memory from files #1358
        + Command save memory to file #1396
        + Subshell command ! #1397
        + Command include file #1429

  * New devices supported:

    - AT89S51, AT89S52
    - AT90S2323, ATtiny22
    - ATmega16M1, ATmega32C1, ATmega64C1
    - ATA5505
    - ATA6612C, ATA6613C
    - ATA6614Q
    - ATA6616C, ATA6617C
    - ATA664251
    - ATmega16HVA, ATmega8HVA
    - ATmega16HVB, ATmega16HVBrevB, ATmega32HVB, ATmega32HVBrevB
    - ATmega64HVE2, ATmega32HVE2
    - AT90PWM1
    - AT90PWM161, AT90PWM81
    - ATxmega32C3
    - ATxmega32D3
    - ATtiny416auto

    - Variants of known devices now accepted:
      AT32UC3A0512AU AT90PWM81EP    AT90S1200A     ATmega103L
      ATmega1280V    ATmega1281V    ATmega128L     ATmega161L
      ATmega162L     ATmega162V     ATmega163L     ATmega164PV
      ATmega165PV    ATmega165V     ATmega168PV    ATmega168V
      ATmega169L     ATmega169PV    ATmega169V     ATmega16L
      ATmega16U4RC   ATmega2560V    ATmega2561V    ATmega324PV
      ATmega3250PV   ATmega3250V    ATmega325PV    ATmega325V
      ATmega3290PV   ATmega3290V    ATmega329PV    ATmega329V
      ATmega32L      ATmega32U4RC   ATmega48PV     ATmega48V
      ATmega640V     ATmega644PV    ATmega644V     ATmega6450V
      ATmega645V     ATmega6490V    ATmega649V     ATmega64L
      ATmega8515L    ATmega8535L    ATmega88PV     ATmega88V
      ATmega8L       ATtiny102F     ATtiny104F     ATtiny11L
      ATtiny12L      ATtiny12V      ATtiny13V      ATtiny15L
      ATtiny22L      ATtiny2313V    ATtiny24V      ATtiny25V
      ATtiny261V     ATtiny26L      ATtiny28L      ATtiny28V
      ATtiny44V      ATtiny45V      ATtiny461V     ATtiny84V
      ATtiny85V      ATtiny861V     AVR128DA28T    AVR128DA32T
      AVR128DA48T    AVR128DA64T    AVR128DB28T    AVR128DB32T
      AVR128DB48T    AVR128DB64T    AVR32DA28T     AVR32DA32T
      AVR32DA48T     AVR32DB28T     AVR32DB32T     AVR32DB48T
      AVR64DA28T     AVR64DA32T     AVR64DA48T     AVR64DA64T
      AVR64DB28T     AVR64DB32T     AVR64DB48T     AVR64DB64T

  * New programmers supported:

    - dryrun
    - raspberry_pi_gpio
    - Flyswatter2
    - CH341A
    - Kanda AVRISP-U
    - arduino_as_isp
    - scratchmonkey, scratchmonkey_pp, scratchmonkey_hvsp

  * Issues fixed:

    - STK500V2 ISP problem with ATmega8/8515/8535, ATmega16 and
      ATmega32 #425
    - CMAKE issue: parport, linuxspi and linuxgpio not available
      when compiled #1107
    - MSYS2: Linker error when readline is present. #1293
    - CMake Warning for MSVC build about CMAKE_BUILD_TYPE #1290
    - PICKit 2: MSVC build of avrdude Windows binary does not work
      #1006
    - CMake version not checked properly in Ubuntu 18.04 #1300
    - Pin limit too low for LePotato RPi clone #1307
    - Port Linux sysfs GPIO feature to libgpiod #831
    - Allow direct reset connection #1262
    - AT89S51 and AT89S52 support for avrdude #1304
    - Using serialupdi gives mismached help message #1311
    - jtag2updi -U EEPROM write fails for AVR Dx parts #1128
    - Usbtiny initialization never resets the part #1321
    - Parts with *L, *PV and *V suffixes + others are missing in
      avrdude.conf #1092
    - -c urclock should progressively shrink metadata #1352
    - Write errors in fuses/lock bits with unused bits #1371
    - Some SPI read/write commands incompatible with .ATDF #1370
    - Avrdude can segfault writing ihex or srec files #1390
    - Avrdude srec format too lax when writing #1391
    - Avrdude fails with AT90S8515 #433
    - AT90S8515 STK500v2: only odd bytes are programmed #500
    - STK500v2 ATtiny15 problem #509
    - Downgrade missing USB device warning #1398
    - Avrdude can not write usersig in terminal mode #1361
    - avr109 atmega2564rfr2 erase timeout too short #336
    - Add ScratchMonkey #989
    - Warnings for MSVC build #1452, #1460
    - [Regression] -F flag not correctly honored #1462
    - Missing access to user signature rows in ATmega256RFR2 et al. #379

  * Pull requests:

    - Correct memory mode, delay and readback (classic parts) #1272
    - Only send write flash cmd to STK500v2 ISP programmers if page
      is not empty #1273
    - Fix docu that avrftdi bit numbers start with 0 #1276
    - Silence gcc compiler warnings #1277
    - Reduce complexity of grammar #1282
    - CMake: Convert verbal switches into boolean expressions #1285
    - Add extra_features to identify a programmer's abilities #1286
    - CMake: Remove LIB_LIBHID from configuration in favour of
      hard-coding #1294
    - build.sh: For compatibility with old CMake versions, use old
      syntax to generate build system #1301
    - Extend max pin number to 1000 #1308
    - Add optional libgpiod support to linuxgpio #1299
    - Auto-reset via RTS for direct RTS-reset connection #1309
    - Support AT89S51, AT89S52, AT90S2323 and ATtiny22 #1310
    - Remove PM_PDI flag for avrispv2 programmer #1314
    - Make terminal write address optional for 1-byte memories #1315
    - Print meaningful error message when using the serialupdi and
      bitbanged UART ISP programmers #1317
    - Support jtag2updi -U EEPROM write #1318
    - Fix return value in usbtiny_cmd() and wrong error msg #1323
    - Add CH341A programmer #1215
    - Terminal read, write and erase with address intervals #1320
    - Add Flyswatter2 programmer #1332
    - Update avrintel.[ch] #1333
    - Improve bitclock, sck and terminal documentation #1331
    - Add -xhelp to programmers #1338
    - Move avrintel[.ch] into libavrdude #1341
    - Review avrdude.conf, add variants, reconcile with ATDFs #1343
    - Add -xvtarg, -xvaref and -xfosc extended parameters #1345
    - Add case-agnostic string comparisons to strutil.c #1346
    - Provide a programmer dryrun that emulates programming #1347
    - Add variants of obsolete parts to avrdude.conf #1348
    - Add option -f to build.sh #1342
    - Document -n behaviour wrt -U and terminal #1351
    - Progressively shrink metadata for -c urclock #1357
    - Extend <data> notion to files in terminal write #1358
    - Add fuse0 to ATxmega128A4U/64A4U/32A4U/16A4U #1360
    - Add configuration for Kanda's AVRISP-U programmer #1363
    - Add more Avrdude CLI usage examples #1364
    - Provide terminal config command for fuses and lock bits #1365
    - Initialise unused bits of classic/XMEGA- part fuses/lock bits
      with factory defaults #1372
    - Implement -T cmd to mix terminal with -U commands #1373
    - Prevent terminal write error for unchanged r/o region #1375
    - Remove pgm->page_erase() function when unable to do so #1376
    - Write fuse/lock only when terminal config changes them #1378
    - Provide programmer arduino_as_isp #1383
    - Provide debug messages for the dryrun programmer #1385
    - Rewrite fileio functions to cater for memory segments #1392
    - Add more documentation for programmers #1393, #1394, #1395
    - Provide terminal save command #1396
    - Provide terminal subshell command ! #1397
    - Fix stk500v2.c's write_byte() for old parts #1386
    - Document terminal comments #1399
    - Expand authorship of documentation #1400
    - Fix memory leak in avrcache.c #1401
    - Run -t interactive terminals when it is their turn with
      respect to -t/-T/-U command line option order #1402
    - Mute missing USB device warning for lower verbosity #1403
    - Implement bytewise cache for usersig #1404
    - Relax checks before executing the -T/-U operations #1405
    - Define usersig memory for ATmega*RF[AR]* parts #1406
    - Increase timeout for emulated butterfly chip erase #1411
    - Update reference to AT90S4433 datasheet #1415
    - Update alf programmer info and URL #1416
    - Update URLs for 89isp programmer #1417
    - Update ft2232h programmer info and URLs #1418
    - Update butterfly_mk info #1419
    - Remove outdated web URLs for O-Link #1420
    - Update URLs for the ttl232r programmer #1421
    - Update usbasp programmer info #1422
    - Remove comment and URL for arduino-ft232r programmer #1423
    - Enable -c programmers to access -c string #1424
    - Add scratchmonkey programmers #1429
    - Use pgm->id list for alias names of a programmer #1430
    - Fix writing of empty flash memory #1438
    - Provide terminal include command #1439
    - Add jtag2updi -xrtsdtr extended parameter #1425
    - Update info on bsd programmer #1450
    - Suppress overzealous compiler warnings #1454, #1461
    - Bail out on failed initialisation unless -F was given #1463
    - Fix -n warning for first interactive terminal #1465
    - Fix classic-part usersig memory for jtag #1466

  * Internals:

Changes in version 7.1:

  * Major changes compared to the previous version:

    - Provide a new programmer -c urclock for bootloader urprotocol
      + Urclock fully supports vector bootloaders at no extra code size
      + Uprotocol
        https://github.com/stefanrueger/urboot/blob/main/urprotocol.md
        allows programming much shorter bootloaders with more features:
         * Exports a pgm_write_page(sram, progmem) function that the
           application can call at FLASHEND-4+1 to use flash as storage
         * Supports EEPROM reads/writes
         * Protects itself from overwriting
         * Vector bootloaders: can protect the reset vector
         * Offers Chip Erase function (quicker than uploading 0xff's)
      + Urclock when compiled with libreadline supports bootloaders in
        terminal mode (preventing them from WDT timeout)
      + The -c urclock programmer provides a metadata interface that
        allows unused flash to be used as storage
      + avrdude -c urclock is backward compatible with avrdude -c arduino

    - Add TPI support for Microchip tools #1205

    - Add C-strings, C characters and double to terminal write

    - Provide write flash in the terminal (using a cache)

    - Provide page erase in the terminal as pgerase

    - Add support for NetBSD and OpenBSD to build.sh

  * New devices supported: none

  * New programmers supported:

    - urclock           = Urclock programmer for bootloaders using urprotocol
    - xplainedmini_tpi  = Atmel AVR XplainedMini in TPI mode
    - xplainedpro_pdi   = Atmel AVR XplainedPro in PDI mode
    - atmelice_tpi      = Atmel-ICE (ARM/AVR) in TPI mode
    - powerdebugger_tpi = Atmel PowerDebugger (ARM/AVR) in TPI mode
    - pickit4           = MPLAB(R) PICkit 4 in JTAG mode
    - pickit4_tpi       = MPLAB(R) PICkit 4 in TPI mode
    - snap              = MPLAB(R) SNAP in JTAG mode
    - snap_tpi          = MPLAB(R) SNAP in TPI mode
    - arduino_gemma     = Arduino Gemma bootloader disguised as USBtiny
    - adafruit_gemma    = Adafruit Trinket Gemma bootloader disguised as USBtiny
    - digilent-hs2      = Digilient JTAG HS2 (MPSSE)
    - tigard            = Tigard interface board

  * Issues fixed:

    - Fix micronucleus bootloader to check for unresponsive USB
      devices #945
    - Fix src/CMakeLists.txt to honor CMAKE_INSTALL_LIBDIR #972
    - [bug #43898] atmega644p remains stopped after JTAG
      transaction #366
    - Wrong timings for ATmega328PB and other parts in avrdude.conf
      #976
    - FT232R based programmer ATmega2560 Flash Reading Problem #995
      also #474
    - Enable avrdude to send full input file incl trailing 0xff
      #936
    - Portname default for linuxspi programmer not recognized #926
    - JTAG1 unable to write fuse and lock bits #443
    - Unknown option '-s' on command line (legacy) #1032
    - STK500/arduino/xbee programmers fail EEPROM r/w for some
      parts #967 also #421
    - Design issue: jtag2updi is hardcoded to fail for parts with
      has_pdi = yes #1037
    - Option parse error: after -U flash:w:program_to_upload.hex,
      subsequent -V ignored #441
    - Automatic verification is designed to fail for stdin #1044
    - Display correct number of bytes when input file has holes
      #1005
    - Cmake installs avrdude.1 in the wrong place on Linux #1064
    - avr910 -qq prompt too verbose #1081
    - avrftdi.c: paged write can fail at addr 0 #1073
    - Permission denied accessing /sys/class/gpio/gpioX/direction
      would leave pin exported #472 also #372
    - Raspberry Pi sysfs bug workaround for linuxgpio driver #386
    - Fix CMake avrdude.conf dependency to avrdude.conf.in #1035
    - CMake infrastructure does not handle documentation #947
    - New feature: ability to reset FLIPv2 targets #733
    - Fix Extended address not sent with avr109/butterfly #360
      and #454
    - Enable AVR JTAG ICE mkI program EEPROM in terminal mode
      #1054
    - Make flash writes work in terminal mode #1020
    - Add support for XMEGA specific AVR109 protocol extensions
      used by XBoot #200
    - jtag2updi can not write EEPROM in terminal mode #1116
    - Make UPDI programmers less verbose during initialization
      #1084
    - Quell mode isn't handled systematically #1114
    - Mixing the progress bar with warning messages #1136
    - Inconsistent terminal output re stdout and stderr #1130
    - Supress the warning for Microchip SNAP #1135
    - ATtiny85 communication problem with default bitclock #1133
    - [Regression] Optiboot for "modern AVRs" no longer works #1120
    - Cannot access EEPROM on some bootloader/part combos #970
    - -U writes sometimes more bytes to flash/memory than input
      file has #1050
    - debugWire using dragon_dw and jtag2dw not working #1168
    - && echo OK does not work after -c urclock #1192
    - Serial drain timeout needs calibrating for -c urclock #1193
    - avrdude -U file.elf misses second and following suitable
      sections in elf segements #1204
    - Avrdude on macOS has problems with libedit #1173
    - urclock support for optiboot_x and optiboot_dx #1200
    - Terminal does not continue read/dump correctly #1201
    - JTAG3 programmer info not available in ISP mode #1212
    - Extra avrdude> prompt with -qqt in terminal mode #1214
    - PICkit4 and SNAP serial numbers not read by Avrdude #1038
    - Optiboot EEPROM support cannot be detected by avrdude #1224
    - megaAVR JTAG programming doesn't work for SNAP and PICkit4
      #1052
    - urclock/FTDI communication issues #1245
    - stk500v2.c dumps core on open #1254
    - linuxgpio cannot use pin 0 #1228
    - Remove non-working butterfly page erase function
    - linuxgpio and linuxspi: input files with unset bytes don't program
      correctly #1263 #455

  * Pull requests:

    - Fix .Dd macro in manpage #949
    - fix M1 homebrew path #950
    - CMake Enhancements #962
    - Reduce programmer desc string length in avrdude.conf
      to < 80 characters #1000
    - Dragon JTAG fix #979
    - adding support for all Linux baud rates v.2 #993
    - Replace internal knowledge in jtag3.c by a public API #996
    - JTAG3 UPDI EEPROM fix #1013
    - Treat x bits in .conf SPI commands as 0 #943
    - Fix avrftdi support for ATmega2560 et al #998
    - Fix avrdude.conf timings for ATmega328PB and other parts #1001
    - Fix PICKit2 ATmega2560 flash paged flash read #1023
    - Fix ft245r paged read for ATmega2560 et al #1018
    - Add option -A that supresses trailing 0xff optimisation
      and automatically do so for -c arduino #936
    - Fix linuxspi default port #933
    - Add support for high-voltage UPDI im jtag3.c #1015
    - Fix terminal write edge cases; add one read mode; add quell
      command #1025
    - Fix usbtiny read for parts with more than 64 kB flash #1029
    - CMakeLists.txt: fix build without C++ #1016
    - Provide file format I: Intel HEX with comments that ignores
      checksum errors #1030
    - Enable writing fuse and lock bits for AVR-JTAGICE #1031
    - Ignore -s flag as safemode is no longer supported #1033
    - Developer options to describe parts and
      extend avrdude.conf syntax #1040
    - Deprecate original STK500 v1 protocol in favour of optiboot
      and Arduino as ISP #1046
    - Add jtagmkii_updi programmer option #1048
    - Enable stdin verification, display correct number of bytes
      written/verified, check -U memory names against spelling
      errors and exit but skip -U memory updates with known
      memories that the part lacks #1053
    - Handle invalid -U file format specifiers for input #1042
    - Implement a dry run for -U updates before opening the
      programmer #1056
    - Implement -c <wildcard>/dev_options for printing avrdude.conf
      show comments with -p*/s or -c*/s; Reduce -p */r raw output;
      specifying the full memory name now always works; stop
      listing programmers where id starts with dot  #1059
    - Fix logfile short option in man-page; fix install dir for man
      page #1063
    - Use const for programmer functions where useful; add second
      argument for programmer enable interface function
      void (*enable)(PROGRAMMER *pgm, const AVRPART *p) #1078
    - Make avr910 programmer initialize() less verbose #1083
    - Fix flash paged write for avrftdi.c #1074
    - Fix 4 parts wrt to their interfaces in avrdude.conf; rewrite
      avrdude.conf.in file from avrdude -c* -p* output; reformat
      conditional programmers in avrdude.conf.in using -c*; fix
      reset=dedicated|io; entries #1086
    - Add prog_modes, a bitwise or of prgramming modes, to part and
      programmer definitions; add to part definition
       + mcuid, a unique id in 0..2039 for 8-bit AVR
       + n_interrupts, the number of interrupts
       + n_page_erase, if set, the # of pages erased for NVM erase
      implement a simple calculator in config_gram.y for numeric
      values; set part prog_modes, mcuid, n_interrupts and
      n_page_erase in avrdude.conf.in; add external intelligence
      about AVRs avrintel.[ch] to the project and warn during
      parsing if mcuid is incompatible with it #1091
    - Fix permission denied error in linuxgpio programmer #917
    - Add a programmer arduino_gemma for the Arduino Gemma
      bootloader and another one, adafruit_gemma, for the Adafruit
      Trinket Gemma bootloader in avrdude.conf; #1093
    - Add digilent-hs2 programmer in avrdude.conf #1094
    - Fix dependency chain between avrdude.conf.in and
      avrdude.conf #1095
    - Build docs with CMake #1096
    - New feature so user can print all compatible parts for a
      programmer using -p\? -c programmer and vice versa #1099
    - Add extended parameter disable_no_cs for linuxspi programmer
      #1100
    - Fix avr109 extended address #1101
    - Add support for Flip 2 reset on exit #1102
    - Support for Power Debugger analog readings in terminal mode
      #1105
    - Provide cached byte-wise read/write API #1106
    - AVR109: support for prodsig read and usersig read/write #1108
    - Add missing AVR variants the original JTAG ICE supports #1109
    - Improve help message in terminal and provide new command
      pgerase #1113
    - Fix pointer truncation for Windows x64 #1119
    - Fix jtag3_page_erase for targets with UPDI #1112
    - Fix writing of last word on DWORD TPI parts #1115
    - Use byte-wise read/write when page size is 1 in terminal
      cache #1121
    - Suppress Teensy USB communication error message on reboot #1122
    - Fix UPDI erase when target is locked #1125
    - Review and overhaul AVRDUDE's messaging system #1126
    - Look for ~/.config/avrdude/avrdude.rc then ~/.avrduderc #1131
    - Revamp terminal output (progress bar, callback and
      stdout/stderr) #1132
    - Detect PICkit4 and SNAP in PIC mode #1138
    - Mention -B in the error message #1139
    - Support optiboot, optiboot_dx and optiboot_x bootloaders for
      -c arduino #1140
    - Always use paged access for programmers that serve
      bootloaders #1141
    - Add libreadline-dev for Linux github action build #1146
    - Implementation of SerialUPDI page erase operation #1151
    - Fix Type 2 HV UPDI #1164
    - Rewrite authors/copyrights #1182
    - Add fallback for EM_AVR #1181
    - Add a workaround for issue 1173 #1185
    - Add xplainedpro_pdi programmer #1147
    - Provide Urclock programmer #1171
    - Fix JTAGICE mkII (not initializing after chip erase) #1172
    - Ensure default_programmer from config files is used #1174
    - Make terminal write's automatic number width less surprising
      #1175
    - Print HAVE_LIBREADLINE status when making the project #1184
    - Pad pages with input file contents before avr_write() #1188
    - Deprecate mosi/miso in favour of sdo/sdi #1189
    - Provide bootloader-hash tool #1190
    - Fix JTAGICE mkII parameters for parts with bootloaders #1191
    - Fix shell exit value when chip erase is delayed #1194
    - Support autobaud for urclock programmer #1198
    - Fix userrow size and page_size for ATtiny3216/7 #1199
    - Added TPI support for Microchip tools #1205
    - Fix reading of .elf files #1206
    - Use libedit only in interactive mode #1207
    - Add urclock support for bootloaders in low flash #1208
    - Terminal read improvements #1209
    - Print meaningful error when a too slow ISP clock is detected #1216
    - Check alternative USB PID for PICkit4/SNAP in PIC mode #1219
    - Remove extraneous avrdude> prompt at end of terminal session #1220
    - Read programmer serial number from libusb or hidusb #1223
    - Hint at -xeepromrw option in EEPROM error messages #1226
    - Add JTAG support for PICkit4 and Snap. #1233
    - Mention developer options in documentation and Usage() #1234
    - Print expected signature on signature mismatch #1237
    - To work around Issue #1107 #1240
    - Update build.sh for NetBSD #1241
    - Add FT2232H support for Windows, Tigard programmer #1242
    - Modify recv timeouts to accommodate urclock sync with ftdi
      #1246
    - CMake updates #1243
    - Silence conf path detection debug output #1247
    - Make WIN32 ser_recv() fail on time-out #1248
    - Guard urclock_getsync() against initial spurious input #1251
    - Change definition of NO_PIN to 1+PIN_MAX #1231
    - Fix partial matches for locate_mem() and do_cmd() #1256
    - Add abbreviated q command in terminal
    - Move static usbsn into serdev struct and remove serno #1258
    - Clean up avrdude.conf.in fixing a couple of bugs #1260
    - Add readline library replacement for MSVC #1264
    - Ensure full words are loaded for ISP programming #1265
    - Silence page erase in cache code #1266
    - Update to latest MSVC fork of hidapi to include bug fixes
      #1269

  * Internals:

    - Implement -c <wildcard>/dev_opts and -p <wildcard>/dev_opts
      for printing avrdude.conf programmer and part entries

    - Added shorter alternative ISP commands for avrdude.conf

    - Reformatted avrdude.conf to canonical form

    - Reviewed API for prgrammer functions: use const for
      programmer functions where useful; add second argument for
      void (*enable)(PROGRAMMER *pgm, const AVRPART *p) #1078

    - Reviewed messaging system making warnings and errors explicit
      and treat them systematically

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=779358b8d986a02cc9a735e4d33aee7b446c6503

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 avrdude/COMMIT_MSG                    | 502 +++++++++++++++++++++++++++++++++-
 avrdude/Makefile                      |  65 ++---
 avrdude/PLIST                         |  95 +++----
 avrdude/TODO                          |   5 +-
 avrdude/buildlink3.mk                 |  14 +
 avrdude/distinfo                      |  16 +-
 avrdude/options.mk                    |  26 ++
 avrdude/patches/patch-Makefile.am     |  31 ---
 avrdude/patches/patch-configure.ac    |  79 ------
 avrdude/patches/patch-doc_Makefile.am |  15 -
 avrdude/patches/patch-doc_Makefile.in |  15 -
 avrdude/patches/patch-freebsd__ppi.h  |   4 +-
 avrdude/patches/patch-ppi.c           |   4 +-
 avrdude/patches/patch-usb__libusb.c   |   6 +-
 14 files changed, 631 insertions(+), 246 deletions(-)

diffs:
diff --git a/avrdude/COMMIT_MSG b/avrdude/COMMIT_MSG
index f71bec0c34..413cca5cb0 100644
--- a/avrdude/COMMIT_MSG
+++ b/avrdude/COMMIT_MSG
@@ -1,4 +1,504 @@
-cross/avrdude: Update to 7.0
+cross/avrdude: Update to 7.2
+
+- Switch to CMake build system
+- Add bl3 file for shared library
+- Fix "doc" option
+
+Changes in version 7.2:
+
+  * Major changes compared to the previous version:
+
+    - libgpiod support for linuxgpio #1299
+    - Support jtag2updi -U UPDI EEPROM write #1318
+    - avrdude.conf reconciled with ATDFs #1343
+    - avrdude -p part/s now also shows part variants #1343
+    - New programmer dryrun for testing #1347
+    - New -T cmd to mix terminal with -U commands #1373
+    - Run -t interactive terminals in CLI option order #1402
+    - Terminal
+        + Command config (mnemonic fuse setting) #1365
+        + Write to memory from files #1358
+        + Command save memory to file #1396
+        + Subshell command ! #1397
+        + Command include file #1429
+
+  * New devices supported:
+
+    - AT89S51, AT89S52
+    - AT90S2323, ATtiny22
+    - ATmega16M1, ATmega32C1, ATmega64C1
+    - ATA5505
+    - ATA6612C, ATA6613C
+    - ATA6614Q
+    - ATA6616C, ATA6617C
+    - ATA664251
+    - ATmega16HVA, ATmega8HVA
+    - ATmega16HVB, ATmega16HVBrevB, ATmega32HVB, ATmega32HVBrevB
+    - ATmega64HVE2, ATmega32HVE2
+    - AT90PWM1
+    - AT90PWM161, AT90PWM81
+    - ATxmega32C3
+    - ATxmega32D3
+    - ATtiny416auto
+
+    - Variants of known devices now accepted:
+      AT32UC3A0512AU AT90PWM81EP    AT90S1200A     ATmega103L
+      ATmega1280V    ATmega1281V    ATmega128L     ATmega161L
+      ATmega162L     ATmega162V     ATmega163L     ATmega164PV
+      ATmega165PV    ATmega165V     ATmega168PV    ATmega168V
+      ATmega169L     ATmega169PV    ATmega169V     ATmega16L
+      ATmega16U4RC   ATmega2560V    ATmega2561V    ATmega324PV
+      ATmega3250PV   ATmega3250V    ATmega325PV    ATmega325V
+      ATmega3290PV   ATmega3290V    ATmega329PV    ATmega329V
+      ATmega32L      ATmega32U4RC   ATmega48PV     ATmega48V
+      ATmega640V     ATmega644PV    ATmega644V     ATmega6450V
+      ATmega645V     ATmega6490V    ATmega649V     ATmega64L
+      ATmega8515L    ATmega8535L    ATmega88PV     ATmega88V
+      ATmega8L       ATtiny102F     ATtiny104F     ATtiny11L
+      ATtiny12L      ATtiny12V      ATtiny13V      ATtiny15L
+      ATtiny22L      ATtiny2313V    ATtiny24V      ATtiny25V
+      ATtiny261V     ATtiny26L      ATtiny28L      ATtiny28V
+      ATtiny44V      ATtiny45V      ATtiny461V     ATtiny84V
+      ATtiny85V      ATtiny861V     AVR128DA28T    AVR128DA32T
+      AVR128DA48T    AVR128DA64T    AVR128DB28T    AVR128DB32T
+      AVR128DB48T    AVR128DB64T    AVR32DA28T     AVR32DA32T
+      AVR32DA48T     AVR32DB28T     AVR32DB32T     AVR32DB48T
+      AVR64DA28T     AVR64DA32T     AVR64DA48T     AVR64DA64T
+      AVR64DB28T     AVR64DB32T     AVR64DB48T     AVR64DB64T
+
+
+  * New programmers supported:
+
+    - dryrun
+    - raspberry_pi_gpio
+    - Flyswatter2
+    - CH341A
+    - Kanda AVRISP-U
+    - arduino_as_isp
+    - scratchmonkey, scratchmonkey_pp, scratchmonkey_hvsp
+
+  * Issues fixed:
+
+    - STK500V2 ISP problem with ATmega8/8515/8535, ATmega16 and
+      ATmega32 #425
+    - CMAKE issue: parport, linuxspi and linuxgpio not available
+      when compiled #1107
+    - MSYS2: Linker error when readline is present. #1293
+    - CMake Warning for MSVC build about CMAKE_BUILD_TYPE #1290
+    - PICKit 2: MSVC build of avrdude Windows binary does not work
+      #1006
+    - CMake version not checked properly in Ubuntu 18.04 #1300
+    - Pin limit too low for LePotato RPi clone #1307
+    - Port Linux sysfs GPIO feature to libgpiod #831
+    - Allow direct reset connection #1262
+    - AT89S51 and AT89S52 support for avrdude #1304
+    - Using serialupdi gives mismached help message #1311
+    - jtag2updi -U EEPROM write fails for AVR Dx parts #1128
+    - Usbtiny initialization never resets the part #1321
+    - Parts with *L, *PV and *V suffixes + others are missing in
+      avrdude.conf #1092
+    - -c urclock should progressively shrink metadata #1352
+    - Write errors in fuses/lock bits with unused bits #1371
+    - Some SPI read/write commands incompatible with .ATDF #1370
+    - Avrdude can segfault writing ihex or srec files #1390
+    - Avrdude srec format too lax when writing #1391
+    - Avrdude fails with AT90S8515 #433
+    - AT90S8515 STK500v2: only odd bytes are programmed #500
+    - STK500v2 ATtiny15 problem #509
+    - Downgrade missing USB device warning #1398
+    - Avrdude can not write usersig in terminal mode #1361
+    - avr109 atmega2564rfr2 erase timeout too short #336
+    - Add ScratchMonkey #989
+    - Warnings for MSVC build #1452, #1460
+    - [Regression] -F flag not correctly honored #1462
+    - Missing access to user signature rows in ATmega256RFR2 et al. #379
+
+  * Pull requests:
+
+    - Correct memory mode, delay and readback (classic parts) #1272
+    - Only send write flash cmd to STK500v2 ISP programmers if page
+      is not empty #1273
+    - Fix docu that avrftdi bit numbers start with 0 #1276
+    - Silence gcc compiler warnings #1277
+    - Reduce complexity of grammar #1282
+    - CMake: Convert verbal switches into boolean expressions #1285
+    - Add extra_features to identify a programmer's abilities #1286
+    - CMake: Remove LIB_LIBHID from configuration in favour of
+      hard-coding #1294
+    - build.sh: For compatibility with old CMake versions, use old
+      syntax to generate build system #1301
+    - Extend max pin number to 1000 #1308
+    - Add optional libgpiod support to linuxgpio #1299
+    - Auto-reset via RTS for direct RTS-reset connection #1309
+    - Support AT89S51, AT89S52, AT90S2323 and ATtiny22 #1310
+    - Remove PM_PDI flag for avrispv2 programmer #1314
+    - Make terminal write address optional for 1-byte memories #1315
+    - Print meaningful error message when using the serialupdi and
+      bitbanged UART ISP programmers #1317
+    - Support jtag2updi -U EEPROM write #1318
+    - Fix return value in usbtiny_cmd() and wrong error msg #1323
+    - Add CH341A programmer #1215
+    - Terminal read, write and erase with address intervals #1320
+    - Add Flyswatter2 programmer #1332
+    - Update avrintel.[ch] #1333
+    - Improve bitclock, sck and terminal documentation #1331
+    - Add -xhelp to programmers #1338
+    - Move avrintel[.ch] into libavrdude #1341
+    - Review avrdude.conf, add variants, reconcile with ATDFs #1343
+    - Add -xvtarg, -xvaref and -xfosc extended parameters #1345
+    - Add case-agnostic string comparisons to strutil.c #1346
+    - Provide a programmer dryrun that emulates programming #1347
+    - Add variants of obsolete parts to avrdude.conf #1348
+    - Add option -f to build.sh #1342
+    - Document -n behaviour wrt -U and terminal #1351
+    - Progressively shrink metadata for -c urclock #1357
+    - Extend <data> notion to files in terminal write #1358
+    - Add fuse0 to ATxmega128A4U/64A4U/32A4U/16A4U #1360
+    - Add configuration for Kanda's AVRISP-U programmer #1363
+    - Add more Avrdude CLI usage examples #1364
+    - Provide terminal config command for fuses and lock bits #1365
+    - Initialise unused bits of classic/XMEGA- part fuses/lock bits
+      with factory defaults #1372
+    - Implement -T cmd to mix terminal with -U commands #1373
+    - Prevent terminal write error for unchanged r/o region #1375
+    - Remove pgm->page_erase() function when unable to do so #1376
+    - Write fuse/lock only when terminal config changes them #1378
+    - Provide programmer arduino_as_isp #1383
+    - Provide debug messages for the dryrun programmer #1385
+    - Rewrite fileio functions to cater for memory segments #1392
+    - Add more documentation for programmers #1393, #1394, #1395
+    - Provide terminal save command #1396
+    - Provide terminal subshell command ! #1397
+    - Fix stk500v2.c's write_byte() for old parts #1386
+    - Document terminal comments #1399
+    - Expand authorship of documentation #1400
+    - Fix memory leak in avrcache.c #1401
+    - Run -t interactive terminals when it is their turn with
+      respect to -t/-T/-U command line option order #1402
+    - Mute missing USB device warning for lower verbosity #1403
+    - Implement bytewise cache for usersig #1404
+    - Relax checks before executing the -T/-U operations #1405
+    - Define usersig memory for ATmega*RF[AR]* parts #1406
+    - Increase timeout for emulated butterfly chip erase #1411
+    - Update reference to AT90S4433 datasheet #1415
+    - Update alf programmer info and URL #1416
+    - Update URLs for 89isp programmer #1417
+    - Update ft2232h programmer info and URLs #1418
+    - Update butterfly_mk info #1419
+    - Remove outdated web URLs for O-Link #1420
+    - Update URLs for the ttl232r programmer #1421
+    - Update usbasp programmer info #1422
+    - Remove comment and URL for arduino-ft232r programmer #1423
+    - Enable -c programmers to access -c string #1424
+    - Add scratchmonkey programmers #1429
+    - Use pgm->id list for alias names of a programmer #1430
+    - Fix writing of empty flash memory #1438
+    - Provide terminal include command #1439
+    - Add jtag2updi -xrtsdtr extended parameter #1425
+    - Update info on bsd programmer #1450
+    - Suppress overzealous compiler warnings #1454, #1461
+    - Bail out on failed initialisation unless -F was given #1463
+    - Fix -n warning for first interactive terminal #1465
+    - Fix classic-part usersig memory for jtag #1466
+
+  * Internals:
+
+
+Changes in version 7.1:
+
+  * Major changes compared to the previous version:
+
+    - Provide a new programmer -c urclock for bootloader urprotocol
+      + Urclock fully supports vector bootloaders at no extra code size
+      + Uprotocol
+        https://github.com/stefanrueger/urboot/blob/main/urprotocol.md
+        allows programming much shorter bootloaders with more features:
+         * Exports a pgm_write_page(sram, progmem) function that the
+           application can call at FLASHEND-4+1 to use flash as storage
+         * Supports EEPROM reads/writes
+         * Protects itself from overwriting
+         * Vector bootloaders: can protect the reset vector
+         * Offers Chip Erase function (quicker than uploading 0xff's)
+      + Urclock when compiled with libreadline supports bootloaders in
+        terminal mode (preventing them from WDT timeout)
+      + The -c urclock programmer provides a metadata interface that
+        allows unused flash to be used as storage
+      + avrdude -c urclock is backward compatible with avrdude -c arduino
+
+    - Add TPI support for Microchip tools #1205
+
+    - Add C-strings, C characters and double to terminal write
+
+    - Provide write flash in the terminal (using a cache)
+
+    - Provide page erase in the terminal as pgerase
+
+    - Add support for NetBSD and OpenBSD to build.sh
+
+  * New devices supported: none
+
+  * New programmers supported:
+
+    - urclock           = Urclock programmer for bootloaders using urprotocol
+    - xplainedmini_tpi  = Atmel AVR XplainedMini in TPI mode
+    - xplainedpro_pdi   = Atmel AVR XplainedPro in PDI mode
+    - atmelice_tpi      = Atmel-ICE (ARM/AVR) in TPI mode
+    - powerdebugger_tpi = Atmel PowerDebugger (ARM/AVR) in TPI mode
+    - pickit4           = MPLAB(R) PICkit 4 in JTAG mode
+    - pickit4_tpi       = MPLAB(R) PICkit 4 in TPI mode
+    - snap              = MPLAB(R) SNAP in JTAG mode
+    - snap_tpi          = MPLAB(R) SNAP in TPI mode
+    - arduino_gemma     = Arduino Gemma bootloader disguised as USBtiny
+    - adafruit_gemma    = Adafruit Trinket Gemma bootloader disguised as USBtiny
+    - digilent-hs2      = Digilient JTAG HS2 (MPSSE)
+    - tigard            = Tigard interface board
+
+  * Issues fixed:
+
+    - Fix micronucleus bootloader to check for unresponsive USB
+      devices #945
+    - Fix src/CMakeLists.txt to honor CMAKE_INSTALL_LIBDIR #972
+    - [bug #43898] atmega644p remains stopped after JTAG
+      transaction #366
+    - Wrong timings for ATmega328PB and other parts in avrdude.conf
+      #976
+    - FT232R based programmer ATmega2560 Flash Reading Problem #995
+      also #474
+    - Enable avrdude to send full input file incl trailing 0xff
+      #936
+    - Portname default for linuxspi programmer not recognized #926
+    - JTAG1 unable to write fuse and lock bits #443
+    - Unknown option '-s' on command line (legacy) #1032
+    - STK500/arduino/xbee programmers fail EEPROM r/w for some
+      parts #967 also #421
+    - Design issue: jtag2updi is hardcoded to fail for parts with
+      has_pdi = yes #1037
+    - Option parse error: after -U flash:w:program_to_upload.hex,
+      subsequent -V ignored #441
+    - Automatic verification is designed to fail for stdin #1044
+    - Display correct number of bytes when input file has holes
+      #1005
+    - Cmake installs avrdude.1 in the wrong place on Linux #1064
+    - avr910 -qq prompt too verbose #1081
+    - avrftdi.c: paged write can fail at addr 0 #1073
+    - Permission denied accessing /sys/class/gpio/gpioX/direction
+      would leave pin exported #472 also #372
+    - Raspberry Pi sysfs bug workaround for linuxgpio driver #386
+    - Fix CMake avrdude.conf dependency to avrdude.conf.in #1035
+    - CMake infrastructure does not handle documentation #947
+    - New feature: ability to reset FLIPv2 targets #733
+    - Fix Extended address not sent with avr109/butterfly #360
+      and #454
+    - Enable AVR JTAG ICE mkI program EEPROM in terminal mode
+      #1054
+    - Make flash writes work in terminal mode #1020
+    - Add support for XMEGA specific AVR109 protocol extensions
+      used by XBoot #200
+    - jtag2updi can not write EEPROM in terminal mode #1116
+    - Make UPDI programmers less verbose during initialization
+      #1084
+    - Quell mode isn't handled systematically #1114
+    - Mixing the progress bar with warning messages #1136
+    - Inconsistent terminal output re stdout and stderr #1130
+    - Supress the warning for Microchip SNAP #1135
+    - ATtiny85 communication problem with default bitclock #1133
+    - [Regression] Optiboot for "modern AVRs" no longer works #1120
+    - Cannot access EEPROM on some bootloader/part combos #970
+    - -U writes sometimes more bytes to flash/memory than input
+      file has #1050
+    - debugWire using dragon_dw and jtag2dw not working #1168
+    - && echo OK does not work after -c urclock #1192
+    - Serial drain timeout needs calibrating for -c urclock #1193
+    - avrdude -U file.elf misses second and following suitable
+      sections in elf segements #1204
+    - Avrdude on macOS has problems with libedit #1173
+    - urclock support for optiboot_x and optiboot_dx #1200
+    - Terminal does not continue read/dump correctly #1201
+    - JTAG3 programmer info not available in ISP mode #1212
+    - Extra avrdude> prompt with -qqt in terminal mode #1214
+    - PICkit4 and SNAP serial numbers not read by Avrdude #1038
+    - Optiboot EEPROM support cannot be detected by avrdude #1224
+    - megaAVR JTAG programming doesn't work for SNAP and PICkit4
+      #1052
+    - urclock/FTDI communication issues #1245
+    - stk500v2.c dumps core on open #1254
+    - linuxgpio cannot use pin 0 #1228
+    - Remove non-working butterfly page erase function
+    - linuxgpio and linuxspi: input files with unset bytes don't program
+      correctly #1263 #455
+
+  * Pull requests:
+
+    - Fix .Dd macro in manpage #949
+    - fix M1 homebrew path #950
+    - CMake Enhancements #962
+    - Reduce programmer desc string length in avrdude.conf
+      to < 80 characters #1000
+    - Dragon JTAG fix #979
+    - adding support for all Linux baud rates v.2 #993
+    - Replace internal knowledge in jtag3.c by a public API #996
+    - JTAG3 UPDI EEPROM fix #1013
+    - Treat x bits in .conf SPI commands as 0 #943
+    - Fix avrftdi support for ATmega2560 et al #998
+    - Fix avrdude.conf timings for ATmega328PB and other parts #1001
+    - Fix PICKit2 ATmega2560 flash paged flash read #1023
+    - Fix ft245r paged read for ATmega2560 et al #1018
+    - Add option -A that supresses trailing 0xff optimisation
+      and automatically do so for -c arduino #936
+    - Fix linuxspi default port #933
+    - Add support for high-voltage UPDI im jtag3.c #1015
+    - Fix terminal write edge cases; add one read mode; add quell
+      command #1025
+    - Fix usbtiny read for parts with more than 64 kB flash #1029
+    - CMakeLists.txt: fix build without C++ #1016
+    - Provide file format I: Intel HEX with comments that ignores
+      checksum errors #1030
+    - Enable writing fuse and lock bits for AVR-JTAGICE #1031
+    - Ignore -s flag as safemode is no longer supported #1033
+    - Developer options to describe parts and
+      extend avrdude.conf syntax #1040
+    - Deprecate original STK500 v1 protocol in favour of optiboot
+      and Arduino as ISP #1046
+    - Add jtagmkii_updi programmer option #1048
+    - Enable stdin verification, display correct number of bytes
+      written/verified, check -U memory names against spelling
+      errors and exit but skip -U memory updates with known
+      memories that the part lacks #1053
+    - Handle invalid -U file format specifiers for input #1042
+    - Implement a dry run for -U updates before opening the
+      programmer #1056
+    - Implement -c <wildcard>/dev_options for printing avrdude.conf
+      show comments with -p*/s or -c*/s; Reduce -p */r raw output;
+      specifying the full memory name now always works; stop
+      listing programmers where id starts with dot  #1059
+    - Fix logfile short option in man-page; fix install dir for man
+      page #1063
+    - Use const for programmer functions where useful; add second
+      argument for programmer enable interface function
+      void (*enable)(PROGRAMMER *pgm, const AVRPART *p) #1078
+    - Make avr910 programmer initialize() less verbose #1083
+    - Fix flash paged write for avrftdi.c #1074
+    - Fix 4 parts wrt to their interfaces in avrdude.conf; rewrite
+      avrdude.conf.in file from avrdude -c* -p* output; reformat
+      conditional programmers in avrdude.conf.in using -c*; fix
+      reset=dedicated|io; entries #1086
+    - Add prog_modes, a bitwise or of prgramming modes, to part and
+      programmer definitions; add to part definition
+       + mcuid, a unique id in 0..2039 for 8-bit AVR
+       + n_interrupts, the number of interrupts
+       + n_page_erase, if set, the # of pages erased for NVM erase
+      implement a simple calculator in config_gram.y for numeric
+      values; set part prog_modes, mcuid, n_interrupts and
+      n_page_erase in avrdude.conf.in; add external intelligence
+      about AVRs avrintel.[ch] to the project and warn during
+      parsing if mcuid is incompatible with it #1091
+    - Fix permission denied error in linuxgpio programmer #917
+    - Add a programmer arduino_gemma for the Arduino Gemma
+      bootloader and another one, adafruit_gemma, for the Adafruit
+      Trinket Gemma bootloader in avrdude.conf; #1093
+    - Add digilent-hs2 programmer in avrdude.conf #1094
+    - Fix dependency chain between avrdude.conf.in and
+      avrdude.conf #1095
+    - Build docs with CMake #1096
+    - New feature so user can print all compatible parts for a
+      programmer using -p\? -c programmer and vice versa #1099
+    - Add extended parameter disable_no_cs for linuxspi programmer
+      #1100
+    - Fix avr109 extended address #1101
+    - Add support for Flip 2 reset on exit #1102
+    - Support for Power Debugger analog readings in terminal mode
+      #1105
+    - Provide cached byte-wise read/write API #1106
+    - AVR109: support for prodsig read and usersig read/write #1108
+    - Add missing AVR variants the original JTAG ICE supports #1109
+    - Improve help message in terminal and provide new command
+      pgerase #1113
+    - Fix pointer truncation for Windows x64 #1119
+    - Fix jtag3_page_erase for targets with UPDI #1112
+    - Fix writing of last word on DWORD TPI parts #1115
+    - Use byte-wise read/write when page size is 1 in terminal
+      cache #1121
+    - Suppress Teensy USB communication error message on reboot #1122
+    - Fix UPDI erase when target is locked #1125
+    - Review and overhaul AVRDUDE's messaging system #1126
+    - Look for ~/.config/avrdude/avrdude.rc then ~/.avrduderc #1131
+    - Revamp terminal output (progress bar, callback and
+      stdout/stderr) #1132
+    - Detect PICkit4 and SNAP in PIC mode #1138
+    - Mention -B in the error message #1139
+    - Support optiboot, optiboot_dx and optiboot_x bootloaders for
+      -c arduino #1140
+    - Always use paged access for programmers that serve
+      bootloaders #1141
+    - Add libreadline-dev for Linux github action build #1146
+    - Implementation of SerialUPDI page erase operation #1151
+    - Fix Type 2 HV UPDI #1164
+    - Rewrite authors/copyrights #1182
+    - Add fallback for EM_AVR #1181
+    - Add a workaround for issue 1173 #1185
+    - Add xplainedpro_pdi programmer #1147
+    - Provide Urclock programmer #1171
+    - Fix JTAGICE mkII (not initializing after chip erase) #1172
+    - Ensure default_programmer from config files is used #1174
+    - Make terminal write's automatic number width less surprising
+      #1175
+    - Print HAVE_LIBREADLINE status when making the project #1184
+    - Pad pages with input file contents before avr_write() #1188
+    - Deprecate mosi/miso in favour of sdo/sdi #1189
+    - Provide bootloader-hash tool #1190
+    - Fix JTAGICE mkII parameters for parts with bootloaders #1191
+    - Fix shell exit value when chip erase is delayed #1194
+    - Support autobaud for urclock programmer #1198
+    - Fix userrow size and page_size for ATtiny3216/7 #1199
+    - Added TPI support for Microchip tools #1205
+    - Fix reading of .elf files #1206
+    - Use libedit only in interactive mode #1207
+    - Add urclock support for bootloaders in low flash #1208
+    - Terminal read improvements #1209
+    - Print meaningful error when a too slow ISP clock is detected #1216
+    - Check alternative USB PID for PICkit4/SNAP in PIC mode #1219
+    - Remove extraneous avrdude> prompt at end of terminal session #1220
+    - Read programmer serial number from libusb or hidusb #1223
+    - Hint at -xeepromrw option in EEPROM error messages #1226
+    - Add JTAG support for PICkit4 and Snap. #1233
+    - Mention developer options in documentation and Usage() #1234
+    - Print expected signature on signature mismatch #1237
+    - To work around Issue #1107 #1240
+    - Update build.sh for NetBSD #1241
+    - Add FT2232H support for Windows, Tigard programmer #1242
+    - Modify recv timeouts to accommodate urclock sync with ftdi
+      #1246
+    - CMake updates #1243
+    - Silence conf path detection debug output #1247
+    - Make WIN32 ser_recv() fail on time-out #1248
+    - Guard urclock_getsync() against initial spurious input #1251
+    - Change definition of NO_PIN to 1+PIN_MAX #1231
+    - Fix partial matches for locate_mem() and do_cmd() #1256
+    - Add abbreviated q command in terminal
+    - Move static usbsn into serdev struct and remove serno #1258
+    - Clean up avrdude.conf.in fixing a couple of bugs #1260
+    - Add readline library replacement for MSVC #1264
+    - Ensure full words are loaded for ISP programming #1265
+    - Silence page erase in cache code #1266
+    - Update to latest MSVC fork of hidapi to include bug fixes
+      #1269
+
+  * Internals:
+
+    - Implement -c <wildcard>/dev_opts and -p <wildcard>/dev_opts
+      for printing avrdude.conf programmer and part entries
+
+    - Added shorter alternative ISP commands for avrdude.conf
+
+    - Reformatted avrdude.conf to canonical form
+
+    - Reviewed API for prgrammer functions: use const for
+      programmer functions where useful; add second argument for
+      void (*enable)(PROGRAMMER *pgm, const AVRPART *p) #1078
+
+    - Reviewed messaging system making warnings and errors explicit
+      and treat them systematically
+
 
 Changes in version 7.0:
 
diff --git a/avrdude/Makefile b/avrdude/Makefile
index a94b13fddb..5dc51e9569 100644
--- a/avrdude/Makefile
+++ b/avrdude/Makefile
@@ -1,62 +1,45 @@
 # $NetBSD$
 
-DISTNAME=		avrdude-7.0
+DISTNAME=		avrdude-7.2
 CATEGORIES=		cross
-# The archive "archive/refs/tags/v7.0.tar.gz" uses a different build system!
-MASTER_SITES=		${MASTER_SITE_GITHUB:=avrdudes/}/avrdude/releases/download/v7.0/
+MASTER_SITES=		${MASTER_SITE_GITHUB:=avrdudes/}
+GITHUB_TAG=		v${PKGVERSION_NOREV}
 
 MAINTAINER=		pkgsrc-users%NetBSD.org@localhost
 HOMEPAGE=		https://github.com/avrdudes/avrdude/
 COMMENT=		Downloader/uploader for Atmel AVR 8-bit RISC microcontrollers
 LICENSE=		gnu-gpl-v2
 
+USE_LANGUAGES=		c c++
+USE_CXX_FEATURES+=	c++11
+USE_TOOLS+=		lex yacc
+
 .include "../../mk/bsd.prefs.mk"
 
-GNU_CONFIGURE=		yes
-USE_TOOLS+=		autoconf automake autoreconf lex yacc
-USE_TOOLS+=		gmake
-USE_LIBTOOL=		yes
-INFO_FILES=		yes
+CMAKE_ARGS+=		-D BUILD_SHARED_LIBS=1
+.if   ${OPSYS} == "DragonFly" ||	\
+	${OPSYS} == "FreeBSD" ||	\
+	${OPSYS} == "Linux" ||		\
+	${OPSYS} == "SunOS"
+CMAKE_ARGS+=		-D HAVE_PARPORT=1
+CMAKE_ARGS+=		-D DEFAULT_PAR_PORT=${DEFAULT_PARALLEL_DEVICE}
+.endif
+CMAKE_ARGS+=		-D DEFAULT_SER_PORT=${DEFAULT_SERIAL_DEVICE}
+
 EGDIR=			${PREFIX}/share/examples/avrdude
 CONF_FILES_PERMS=	${EGDIR}/avrdude.conf ${PKG_SYSCONFDIR}/avrdude.conf \
-			${REAL_ROOT_USER} ${REAL_ROOT_GROUP} 644
-
-PKG_OPTIONS_VAR=		PKG_OPTIONS.avrdude
-PKG_SUPPORTED_OPTIONS=		doc
-PKG_SUGGESTED_OPTIONS=		doc
-
-.include "../../mk/bsd.options.mk"
-
-PLIST_VARS+=		doc
-.if !empty(PKG_OPTIONS:Mdoc)
-PLIST.doc=		yes
-TEXINFO_REQD=		4.9
-USE_TOOLS+=		texi2html makeinfo
-TOOL_DEPENDS+=		dvipsk-[0-9]*:../../print/dvipsk
-TOOL_DEPENDS+=		tex-latex-fonts-[0-9]*:../../fonts/tex-latex-fonts
-TOOL_DEPENDS+=		tex-pdftex-[0-9]*:../../print/tex-pdftex
-# DragonFly has stripped makeinfo in the base - without texi2dvi.
-.  if ${OPSYS} == "DragonFly"
-TOOL_DEPENDS+=		gtexinfo-[0-9]*:../../devel/gtexinfo
-.  endif
-CONFIGURE_ARGS+=	--enable-doc
-.else
-CONFIGURE_ARGS+=	--disable-doc
-.endif
+				${REAL_ROOT_USER} ${REAL_ROOT_GROUP} 644
+INSTALLATION_DIRS+=	${EGDIR}
 
-CONFIGURE_ARGS+=	--sysconfdir=${PKG_SYSCONFDIR}
-CONFIGURE_ENV+=		DEFAULT_SER_PORT=${DEFAULT_SERIAL_DEVICE}
-PLIST_SUBST+=		DISTNAME=${DISTNAME}
+post-install:
+	${MV} ${DESTDIR}${PREFIX}/etc/avrdude.conf ${DESTDIR}${EGDIR}
 
-# The autotools used by this pkg are older than what's in pkgsrc
-# currently.  This makes the diffs huge.
-pre-configure:
-	cd ${WRKSRC} && autoreconf -vif
+.include "options.mk"
 
 .include "../../comms/libhidapi/buildlink3.mk"
+.include "../../devel/cmake/build.mk"
+.include "../../devel/libelf/buildlink3.mk"
 .include "../../devel/libftdi1/buildlink3.mk"
 .include "../../devel/libusb1/buildlink3.mk"
-# elf_getshdrstrndx
-.include "../../devel/libelf/buildlink3.mk"
 .include "../../devel/readline/buildlink3.mk"
 .include "../../mk/bsd.pkg.mk"
diff --git a/avrdude/PLIST b/avrdude/PLIST
index 765ede7870..5b5d331f33 100644
--- a/avrdude/PLIST
+++ b/avrdude/PLIST
@@ -2,51 +2,54 @@
 bin/avrdude
 include/libavrdude.h
 ${PLIST.doc}info/avrdude.info
-lib/libavrdude.la
+lib/libavrdude.so
+lib/libavrdude.so.1
+lib/libavrdude.so.1.0.0
 man/man1/avrdude.1
-${PLIST.doc}share/doc/${DISTNAME}/avrdude-html/avrdude.html
-${PLIST.doc}share/doc/${DISTNAME}/avrdude-html/avrdude_1.html
-${PLIST.doc}share/doc/${DISTNAME}/avrdude-html/avrdude_10.html
-${PLIST.doc}share/doc/${DISTNAME}/avrdude-html/avrdude_11.html
-${PLIST.doc}share/doc/${DISTNAME}/avrdude-html/avrdude_12.html
-${PLIST.doc}share/doc/${DISTNAME}/avrdude-html/avrdude_13.html
-${PLIST.doc}share/doc/${DISTNAME}/avrdude-html/avrdude_14.html
-${PLIST.doc}share/doc/${DISTNAME}/avrdude-html/avrdude_15.html
-${PLIST.doc}share/doc/${DISTNAME}/avrdude-html/avrdude_16.html
-${PLIST.doc}share/doc/${DISTNAME}/avrdude-html/avrdude_17.html
-${PLIST.doc}share/doc/${DISTNAME}/avrdude-html/avrdude_18.html
-${PLIST.doc}share/doc/${DISTNAME}/avrdude-html/avrdude_19.html
-${PLIST.doc}share/doc/${DISTNAME}/avrdude-html/avrdude_2.html
-${PLIST.doc}share/doc/${DISTNAME}/avrdude-html/avrdude_20.html
-${PLIST.doc}share/doc/${DISTNAME}/avrdude-html/avrdude_21.html
-${PLIST.doc}share/doc/${DISTNAME}/avrdude-html/avrdude_22.html
-${PLIST.doc}share/doc/${DISTNAME}/avrdude-html/avrdude_23.html
-${PLIST.doc}share/doc/${DISTNAME}/avrdude-html/avrdude_24.html
-${PLIST.doc}share/doc/${DISTNAME}/avrdude-html/avrdude_25.html
-${PLIST.doc}share/doc/${DISTNAME}/avrdude-html/avrdude_26.html
-${PLIST.doc}share/doc/${DISTNAME}/avrdude-html/avrdude_27.html
-${PLIST.doc}share/doc/${DISTNAME}/avrdude-html/avrdude_28.html
-${PLIST.doc}share/doc/${DISTNAME}/avrdude-html/avrdude_29.html
-${PLIST.doc}share/doc/${DISTNAME}/avrdude-html/avrdude_30.html
-${PLIST.doc}share/doc/${DISTNAME}/avrdude-html/avrdude_31.html
-${PLIST.doc}share/doc/${DISTNAME}/avrdude-html/avrdude_32.html
-${PLIST.doc}share/doc/${DISTNAME}/avrdude-html/avrdude_33.html
-${PLIST.doc}share/doc/${DISTNAME}/avrdude-html/avrdude_34.html
-${PLIST.doc}share/doc/${DISTNAME}/avrdude-html/avrdude_35.html
-${PLIST.doc}share/doc/${DISTNAME}/avrdude-html/avrdude_36.html
-${PLIST.doc}share/doc/${DISTNAME}/avrdude-html/avrdude_37.html
-${PLIST.doc}share/doc/${DISTNAME}/avrdude-html/avrdude_38.html
-${PLIST.doc}share/doc/${DISTNAME}/avrdude-html/avrdude_39.html
-${PLIST.doc}share/doc/${DISTNAME}/avrdude-html/avrdude_40.html
-${PLIST.doc}share/doc/${DISTNAME}/avrdude-html/avrdude_3.html
-${PLIST.doc}share/doc/${DISTNAME}/avrdude-html/avrdude_4.html
-${PLIST.doc}share/doc/${DISTNAME}/avrdude-html/avrdude_5.html
-${PLIST.doc}share/doc/${DISTNAME}/avrdude-html/avrdude_6.html
-${PLIST.doc}share/doc/${DISTNAME}/avrdude-html/avrdude_7.html
-${PLIST.doc}share/doc/${DISTNAME}/avrdude-html/avrdude_8.html
-${PLIST.doc}share/doc/${DISTNAME}/avrdude-html/avrdude_9.html
-${PLIST.doc}share/doc/${DISTNAME}/avrdude-html/avrdude_abt.html
-${PLIST.doc}share/doc/${DISTNAME}/avrdude-html/avrdude_toc.html
-${PLIST.doc}share/doc/${DISTNAME}/avrdude.pdf
-${PLIST.doc}share/doc/${DISTNAME}/avrdude.ps
+${PLIST.doc}share/doc/avrdude/avrdude-html/avrdude.html
+${PLIST.doc}share/doc/avrdude/avrdude-html/avrdude_1.html
+${PLIST.doc}share/doc/avrdude/avrdude-html/avrdude_10.html
+${PLIST.doc}share/doc/avrdude/avrdude-html/avrdude_11.html
+${PLIST.doc}share/doc/avrdude/avrdude-html/avrdude_12.html
+${PLIST.doc}share/doc/avrdude/avrdude-html/avrdude_13.html
+${PLIST.doc}share/doc/avrdude/avrdude-html/avrdude_14.html
+${PLIST.doc}share/doc/avrdude/avrdude-html/avrdude_15.html
+${PLIST.doc}share/doc/avrdude/avrdude-html/avrdude_16.html
+${PLIST.doc}share/doc/avrdude/avrdude-html/avrdude_17.html
+${PLIST.doc}share/doc/avrdude/avrdude-html/avrdude_18.html
+${PLIST.doc}share/doc/avrdude/avrdude-html/avrdude_19.html
+${PLIST.doc}share/doc/avrdude/avrdude-html/avrdude_2.html
+${PLIST.doc}share/doc/avrdude/avrdude-html/avrdude_20.html
+${PLIST.doc}share/doc/avrdude/avrdude-html/avrdude_21.html
+${PLIST.doc}share/doc/avrdude/avrdude-html/avrdude_22.html
+${PLIST.doc}share/doc/avrdude/avrdude-html/avrdude_23.html
+${PLIST.doc}share/doc/avrdude/avrdude-html/avrdude_24.html
+${PLIST.doc}share/doc/avrdude/avrdude-html/avrdude_25.html
+${PLIST.doc}share/doc/avrdude/avrdude-html/avrdude_26.html
+${PLIST.doc}share/doc/avrdude/avrdude-html/avrdude_27.html
+${PLIST.doc}share/doc/avrdude/avrdude-html/avrdude_28.html
+${PLIST.doc}share/doc/avrdude/avrdude-html/avrdude_29.html
+${PLIST.doc}share/doc/avrdude/avrdude-html/avrdude_3.html
+${PLIST.doc}share/doc/avrdude/avrdude-html/avrdude_30.html
+${PLIST.doc}share/doc/avrdude/avrdude-html/avrdude_31.html
+${PLIST.doc}share/doc/avrdude/avrdude-html/avrdude_32.html
+${PLIST.doc}share/doc/avrdude/avrdude-html/avrdude_33.html
+${PLIST.doc}share/doc/avrdude/avrdude-html/avrdude_34.html
+${PLIST.doc}share/doc/avrdude/avrdude-html/avrdude_35.html
+${PLIST.doc}share/doc/avrdude/avrdude-html/avrdude_36.html
+${PLIST.doc}share/doc/avrdude/avrdude-html/avrdude_37.html
+${PLIST.doc}share/doc/avrdude/avrdude-html/avrdude_38.html
+${PLIST.doc}share/doc/avrdude/avrdude-html/avrdude_39.html
+${PLIST.doc}share/doc/avrdude/avrdude-html/avrdude_4.html
+${PLIST.doc}share/doc/avrdude/avrdude-html/avrdude_40.html
+${PLIST.doc}share/doc/avrdude/avrdude-html/avrdude_5.html
+${PLIST.doc}share/doc/avrdude/avrdude-html/avrdude_6.html
+${PLIST.doc}share/doc/avrdude/avrdude-html/avrdude_7.html
+${PLIST.doc}share/doc/avrdude/avrdude-html/avrdude_8.html
+${PLIST.doc}share/doc/avrdude/avrdude-html/avrdude_9.html
+${PLIST.doc}share/doc/avrdude/avrdude-html/avrdude_abt.html
+${PLIST.doc}share/doc/avrdude/avrdude-html/avrdude_toc.html
+${PLIST.doc}share/doc/avrdude/avrdude.dvi
+${PLIST.doc}share/doc/avrdude/avrdude.pdf
+${PLIST.doc}share/doc/avrdude/avrdude.ps
 share/examples/avrdude/avrdude.conf
diff --git a/avrdude/TODO b/avrdude/TODO
index 488bf15297..3d45689956 100644
--- a/avrdude/TODO
+++ b/avrdude/TODO
@@ -1 +1,4 @@
-Must be tested.
+[X] Test CMake build
+[X] Fix option "doc"
+    texinfo.tex not found
+[ ] Test with real hardware
diff --git a/avrdude/buildlink3.mk b/avrdude/buildlink3.mk
new file mode 100644
index 0000000000..f4e01d8afb
--- /dev/null
+++ b/avrdude/buildlink3.mk
@@ -0,0 +1,14 @@
+# $NetBSD$
+
+BUILDLINK_TREE+=	avrdude
+
+.if !defined(AVRDUDE_BUILDLINK3_MK)
+AVRDUDE_BUILDLINK3_MK:=
+
+USE_CXX_FEATURES+=		c++11
+
+BUILDLINK_API_DEPENDS.avrdude+=	avrdude>=7.0.0
+BUILDLINK_PKGSRCDIR.avrdude?=	../../wip/avrdude
+.endif	# AVRDUDE_BUILDLINK3_MK
+
+BUILDLINK_TREE+=	-avrdude
diff --git a/avrdude/distinfo b/avrdude/distinfo
index fcf52cd1af..b05b8ca891 100644
--- a/avrdude/distinfo
+++ b/avrdude/distinfo
@@ -1,12 +1,8 @@
 $NetBSD$
 
-BLAKE2s (avrdude-7.0.tar.gz) = 9a7192749b61aaf0f296343799fab53307dd774bdbd07af55dc894d7974fe278
-SHA512 (avrdude-7.0.tar.gz) = 891c435d8f6d4529762d647c468c52b4c04c3a663b703af0ddd2c284aecfce92ce99502aed77f409f1afb4ab7d4e05d85f26d03de3624c7c14fcbc852d988d53
-Size (avrdude-7.0.tar.gz) = 943631 bytes
-SHA1 (patch-Makefile.am) = 67ce722ca28e8a2e23637880f010b3e6c0ddbe7c
-SHA1 (patch-configure.ac) = 48db97466c3a565f95ff6619cae4090b743d09b6
-SHA1 (patch-doc_Makefile.am) = f8c752921ded3de3c842a33f0dc88f3e3a3dd357
-SHA1 (patch-doc_Makefile.in) = 64442bcd59e053ee2b6bbe6c150848d54c540fef
-SHA1 (patch-freebsd__ppi.h) = 1dfcc1e510a4984f875753f183508bdcbd61c32d
-SHA1 (patch-ppi.c) = 524ed843a29e94fce67ce73f5615d64d2444bf66
-SHA1 (patch-usb__libusb.c) = 6e6c912f10e91c5d8c9f7264ee5db5161c963288
+BLAKE2s (avrdude-7.2.tar.gz) = cfb6f52be99a8411c3f91260fa4a0f4c4787e4785a866926a459a30687ca0356
+SHA512 (avrdude-7.2.tar.gz) = 04d04492458bc1d183ad8ff403cf3d38f65f44bb992df589e8f49d28b5347eb63433568c95f5d575ae651be70d725d3f178175cd1fe6dcd46ec013c3fe3f2ab0
+Size (avrdude-7.2.tar.gz) = 2622520 bytes
+SHA1 (patch-freebsd__ppi.h) = 45f4fdd5c1469bb0272e26a3ce048640caeb72f5
+SHA1 (patch-ppi.c) = d753445f81da03b1d726f1257fa5161a5b7c8605
+SHA1 (patch-usb__libusb.c) = b92f7f7acfe0951e742e1cc7691400cc81f9f36a
diff --git a/avrdude/options.mk b/avrdude/options.mk
new file mode 100644
index 0000000000..ea5fa802ae
--- /dev/null
+++ b/avrdude/options.mk
@@ -0,0 +1,26 @@
+# $NetBSD$
+
+PKG_OPTIONS_VAR=	PKG_OPTIONS.avrdude
+PKG_SUPPORTED_OPTIONS=	doc
+PKG_SUGGESTED_OPTIONS=
+
+.include "../../mk/bsd.options.mk"
+
+PLIST_VARS+=		doc
+.if !empty(PKG_OPTIONS:Mdoc)
+PLIST.doc=		yes
+INFO_FILES=		yes
+TEXINFO_REQD+=		5.0
+USE_TOOLS+=		texi2html makeinfo
+TOOL_DEPENDS+=		dvipsk-[0-9]*:../../print/dvipsk
+TOOL_DEPENDS+=		tex-latex-fonts-[0-9]*:../../fonts/tex-latex-fonts
+TOOL_DEPENDS+=		tex-pdftex-[0-9]*:../../print/tex-pdftex
+TOOL_DEPENDS+=		tex-texinfo-[0-9]*:../../print/tex-texinfo
+# DragonFly has stripped makeinfo in the base - without texi2dvi.
+.  if ${OPSYS} == "DragonFly"
+TOOL_DEPENDS+=		gtexinfo-[0-9]*:../../devel/gtexinfo
+.  endif
+CMAKE_ARGS+=		-D BUILD_DOC=1
+.else
+CMAKE_ARGS+=		-D BUILD_DOC=0
+.endif
diff --git a/avrdude/patches/patch-Makefile.am b/avrdude/patches/patch-Makefile.am
deleted file mode 100644
index ec403d3911..0000000000
--- a/avrdude/patches/patch-Makefile.am
+++ /dev/null
@@ -1,31 +0,0 @@
-$NetBSD$
-
-- Use supported automake methods to install the example config file to
-  egconfdir instead of hacking the configure script and Makefile.in directly.
-
---- Makefile.am.orig	2022-05-07 20:29:58.000000000 +0000
-+++ Makefile.am
-@@ -203,7 +203,8 @@ avrdude_SOURCES = \
- 
- man_MANS = avrdude.1
- 
--sysconf_DATA = avrdude.conf
-+egconfdir=	${datadir}/examples/avrdude
-+egconf_DATA = avrdude.conf
- 
- install-exec-local: backup-avrdude-conf
- 
-@@ -212,10 +213,8 @@ distclean-local:
- 
- # This will get run before the config file is installed.
- backup-avrdude-conf:
--	@echo "Backing up avrdude.conf in ${DESTDIR}${sysconfdir}"
--	@if test -e ${DESTDIR}${sysconfdir}/avrdude.conf; then \
--		cp -pR ${DESTDIR}${sysconfdir}/avrdude.conf \
--			${DESTDIR}${sysconfdir}/avrdude.conf.bak; \
--	fi
-+	@echo "No back up of avrdude.conf in ${DESTDIR}${sysconfdir} is required"
-+	@echo "because we simply install an example into ${DESTDIR}${egconfdir}"
-+	@echo "and leave it to the user to install/update the actual working copy"
- 
- ACLOCAL_AMFLAGS = -I m4
diff --git a/avrdude/patches/patch-configure.ac b/avrdude/patches/patch-configure.ac
deleted file mode 100644
index ee0df5251b..0000000000
--- a/avrdude/patches/patch-configure.ac
+++ /dev/null
@@ -1,79 +0,0 @@
-$NetBSD$
-
-- ERROR: [check-portability.awk] => Found test ... == ...:
-
-- allow a different default serial/parallel port to be specified
-  which is useful for pkgsrc (since we have defaults for various
-  platforms available and they're not the same for different
-  MACHINE_ARCH's in NetBSD).
-
---- configure.ac.orig	2022-05-07 20:39:37.000000000 +0000
-+++ configure.ac
-@@ -51,7 +51,7 @@ AC_PROG_AR
- AH_TEMPLATE([HAVE_YYLEX_DESTROY],
-             [Define if lex/flex has yylex_destroy])
- # flex should have this
--if test "x$LEX" == xflex; then
-+if test "x$LEX" = xflex; then
-    AC_MSG_CHECKING([whether yylex_destroy is generated by flex])
-    flex_version=`$LEX -V -v --version 2>/dev/null | $SED -e 's/^.* //'`
-    case $flex_version in
-@@ -359,32 +359,44 @@ AC_SUBST(DIST_SUBDIRS_AC, $DIST_SUBDIRS_
- # If a system doesn't have a PC style parallel, mark it as unknown.
- case $target in
- 	i[[3456]]86-*-linux*|x86_64-*-linux*)
--		DEFAULT_PAR_PORT="/dev/parport0"
--		DEFAULT_SER_PORT="/dev/ttyS0"
-+		DEFAULT_PAR_PORT=${DEFAULT_PAR_PORT:-"/dev/parport0"}
-+		DEFAULT_SER_PORT=${DEFAULT_SER_PORT:-"/dev/ttyS0"}
- 		;;
- 	*-*-linux*)
--		DEFAULT_PAR_PORT="unknown"
--		DEFAULT_SER_PORT="/dev/ttyS0"
-+		DEFAULT_PAR_PORT=${DEFAULT_PAR_PORT:-"unknown"}
-+		DEFAULT_SER_PORT=${DEFAULT_SER_PORT:-"/dev/ttyS0"}
- 		;;
- 	i[[3456]]86-*-*freebsd*|amd64-*-*freebsd*)
--		DEFAULT_PAR_PORT="/dev/ppi0"
--		DEFAULT_SER_PORT="/dev/cuad0"
-+		DEFAULT_PAR_PORT=${DEFAULT_PAR_PORT:-"/dev/ppi0"}
-+		DEFAULT_SER_PORT=${DEFAULT_SER_PORT:-"/dev/cuad0"}
- 		;;
- 	*-*-*freebsd*)
--		DEFAULT_PAR_PORT="unknown"
--		DEFAULT_SER_PORT="/dev/cuad0"
-+		DEFAULT_PAR_PORT=${DEFAULT_PAR_PORT:-"unknown"}
-+		DEFAULT_SER_PORT=${DEFAULT_SER_PORT:-"/dev/cuad0"}
-+		;;
-+	*-*-dragonfly*)
-+		DEFAULT_PAR_PORT=${DEFAULT_PAR_PORT:-"/dev/ppi0"}
-+		DEFAULT_SER_PORT=${DEFAULT_SER_PORT:-"/dev/cuad0"}
-+		;;
-+	*-*-netbsd*)
-+		DEFAULT_PAR_PORT=${DEFAULT_PAR_PORT:-"unknown"}
-+		DEFAULT_SER_PORT=${DEFAULT_SER_PORT:-"/dev/tty00"}
- 		;;
- 	*-*-solaris*)
--		DEFAULT_PAR_PORT="/dev/printers/0"
--		DEFAULT_SER_PORT="/dev/term/a"
-+		DEFAULT_PAR_PORT=${DEFAULT_PAR_PORT:-"/dev/printers/0"}
-+		DEFAULT_SER_PORT=${DEFAULT_SER_PORT:-"/dev/term/a"}
-+		;;
-+	*-*-msdos* | *-*-mingw32* | *-*-cygwin* | *-*-windows*)
-+		DEFAULT_PAR_PORT=${DEFAULT_PAR_PORT:-"lpt1"}
-+		DEFAULT_SER_PORT=${DEFAULT_SER_PORT:-"com1"}
-+		;;
-+	*)
-+		DEFAULT_PAR_PORT=${DEFAULT_PAR_PORT:-"unknown"}
-+		DEFAULT_SER_PORT=${DEFAULT_SER_PORT:-"unknown"}
- 		;;
- 	*-*-msdos* | *-*-mingw32* | *-*-cygwin* | *-*-windows*)
--		DEFAULT_PAR_PORT="lpt1"
--		DEFAULT_SER_PORT="com1"
- 		;;
- 	*)
--		DEFAULT_PAR_PORT="unknown"
--		DEFAULT_SER_PORT="unknown"
- 		;;
- esac
- 
diff --git a/avrdude/patches/patch-doc_Makefile.am b/avrdude/patches/patch-doc_Makefile.am
deleted file mode 100644
index 21af97a8c2..0000000000
--- a/avrdude/patches/patch-doc_Makefile.am
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD$
-
-the builtin [ on at least solaris doesn't understand -e
-
---- doc/Makefile.am.orig	2022-05-07 20:29:58.000000000 +0000
-+++ doc/Makefile.am
-@@ -41,7 +41,7 @@ html: avrdude-html/avrdude.html
- 
- avrdude-html/avrdude.html: $(srcdir)/$(info_TEXINFOS) $(GENERATED_TEXINFOS)
- 	texi2html --split=node --css-include=$(srcdir)/avrdude.css $(srcdir)/$(info_TEXINFOS)
--	if [ -e ./avrdude.html -o -e ./avrdude_1.html ]; then \
-+	if [ -f ./avrdude.html -o -f ./avrdude_1.html ]; then \
- 	 mkdir -p avrdude-html ; \
- 	 mv -f *.html avrdude-html ; \
- 	else \
diff --git a/avrdude/patches/patch-doc_Makefile.in b/avrdude/patches/patch-doc_Makefile.in
deleted file mode 100644
index df7a1a6d13..0000000000
--- a/avrdude/patches/patch-doc_Makefile.in
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD$
-
-regen
-
---- doc/Makefile.in.orig	2022-05-07 20:40:53.000000000 +0000
-+++ doc/Makefile.in
-@@ -836,7 +836,7 @@ html: avrdude-html/avrdude.html
- 
- avrdude-html/avrdude.html: $(srcdir)/$(info_TEXINFOS) $(GENERATED_TEXINFOS)
- 	texi2html --split=node --css-include=$(srcdir)/avrdude.css $(srcdir)/$(info_TEXINFOS)
--	if [ -e ./avrdude.html -o -e ./avrdude_1.html ]; then \
-+	if [ -f ./avrdude.html -o -f ./avrdude_1.html ]; then \
- 	 mkdir -p avrdude-html ; \
- 	 mv -f *.html avrdude-html ; \
- 	else \
diff --git a/avrdude/patches/patch-freebsd__ppi.h b/avrdude/patches/patch-freebsd__ppi.h
index e7277f1727..3ca554a67b 100644
--- a/avrdude/patches/patch-freebsd__ppi.h
+++ b/avrdude/patches/patch-freebsd__ppi.h
@@ -2,8 +2,8 @@ $NetBSD$
 
 Apparently FreeBSD adaptation, not recently confirmed (mef).
 
---- freebsd_ppi.h.orig	2022-05-07 20:29:58.000000000 +0000
-+++ freebsd_ppi.h
+--- src/freebsd_ppi.h.orig	2022-05-07 20:29:58.000000000 +0000
++++ src/freebsd_ppi.h
 @@ -21,7 +21,11 @@
  #ifndef freebsd_ppi_h
  #define freebsd_ppi_h
diff --git a/avrdude/patches/patch-ppi.c b/avrdude/patches/patch-ppi.c
index 2ed376314c..856e711c55 100644
--- a/avrdude/patches/patch-ppi.c
+++ b/avrdude/patches/patch-ppi.c
@@ -2,8 +2,8 @@ $NetBSD$
 
 Add DragonFly.
 
---- ppi.c.orig	2022-05-07 20:29:58.000000000 +0000
-+++ ppi.c
+--- src/ppi.c.orig	2022-05-07 20:29:58.000000000 +0000
++++ src/ppi.c
 @@ -32,7 +32,7 @@
  #include <unistd.h>
  #include <errno.h>
diff --git a/avrdude/patches/patch-usb__libusb.c b/avrdude/patches/patch-usb__libusb.c
index 33570589f4..3cad141cef 100644
--- a/avrdude/patches/patch-usb__libusb.c
+++ b/avrdude/patches/patch-usb__libusb.c
@@ -2,9 +2,9 @@ $NetBSD$
 
 Work around AVRISP mkII initial sync stalls on NetBSD.
 
---- usb_libusb.c.orig	2022-05-07 20:29:58.000000000 +0000
-+++ usb_libusb.c
-@@ -313,6 +313,17 @@ static void usbdev_close(union filedescr
+--- src/usb_libusb.c.orig	2022-05-07 20:29:58.000000000 +0000
++++ src/usb_libusb.c
+@@ -301,6 +301,17 @@ static void usbdev_close(union filedescr
    if (udev == NULL)
      return;
  


Home | Main Index | Thread Index | Old Index