From 995d9ca7748c183cb1102c5785faa4047d3ec19e Mon Sep 17 00:00:00 2001 From: tnn Date: Sat, 2 Feb 2019 08:44:44 +0000 Subject: hackrf: update to 2018.01.1 Please note that if you are on 2015 firmware you must update the SPI flash and CPLD of your hackrf, otherwise you may experience unpredictable behavior. See: https://github.com/mossmann/hackrf/wiki/Updating-Firmware HackRF 2018.01.1 - improved reliability of DFU boot loader HackRF 2017.02.1 - Sweep mode - Hardware synchronization - reduced power consumption - bug fixes --- ham/hackrf/Makefile | 12 ++--- ham/hackrf/PLIST | 151 +++++++++++++++++++++++++++++++++++++++++++++++----- ham/hackrf/distinfo | 10 ++-- 3 files changed, 148 insertions(+), 25 deletions(-) diff --git a/ham/hackrf/Makefile b/ham/hackrf/Makefile index 09ba69817d7..fe918983a9a 100644 --- a/ham/hackrf/Makefile +++ b/ham/hackrf/Makefile @@ -1,6 +1,6 @@ -# $NetBSD: Makefile,v 1.3 2015/12/19 22:38:32 mef Exp $ +# $NetBSD: Makefile,v 1.4 2019/02/02 08:44:44 tnn Exp $ -DISTNAME= hackrf-2015.07.2 +DISTNAME= hackrf-2018.01.1 CATEGORIES= ham MASTER_SITES= ${MASTER_SITE_GITHUB:=mossmann/} GITHUB_RELEASE= v${PKGVERSION_NOREV} @@ -13,7 +13,6 @@ COMMENT= HackRF, an open source SDR hardware platform LICENSE= gnu-gpl-v2 USE_LANGUAGES= c c++ -USE_TOOLS= cmake tar USE_CMAKE= yes # Suppress warning for developer @@ -38,6 +37,7 @@ post-install: COPYING RELEASENOTES Readme.md TRADEMARK doc firmware firmware-bin hardware |\ (cd ${DESTDIR}${PREFIX}/share/hackerRF ; tar xf - ) ) -.include "../../lang/python/application.mk" -.include "../../devel/libusb1/buildlink3.mk" -.include "../../mk/bsd.pkg.mk" +.include "../../lang/python/application.mk" +.include "../../devel/libusb1/buildlink3.mk" +.include "../../math/fftwf/buildlink3.mk" +.include "../../mk/bsd.pkg.mk" diff --git a/ham/hackrf/PLIST b/ham/hackrf/PLIST index 91e6ed260ae..706f7425be6 100644 --- a/ham/hackrf/PLIST +++ b/ham/hackrf/PLIST @@ -1,21 +1,21 @@ -@comment $NetBSD: PLIST,v 1.2 2015/12/08 21:40:44 wiedi Exp $ +@comment $NetBSD: PLIST,v 1.3 2019/02/02 08:44:44 tnn Exp $ bin/hackrf_cpldjtag +bin/hackrf_debug bin/hackrf_info -bin/hackrf_max2837 -bin/hackrf_rffc5071 -bin/hackrf_si5351c bin/hackrf_spiflash +bin/hackrf_sweep bin/hackrf_transfer include/libhackrf/hackrf.h lib/libhackrf.a lib/libhackrf.so lib/libhackrf.so.0 -lib/libhackrf.so.0.4.0 +lib/libhackrf.so.0.5.0 lib/pkgconfig/libhackrf.pc share/hackerRF/COPYING share/hackerRF/RELEASENOTES share/hackerRF/Readme.md share/hackerRF/TRADEMARK +share/hackerRF/doc/HackRF-One-fd0-0009.jpeg share/hackerRF/doc/LPC4330_SGPIO_SignalGenerator_Measurements.ods share/hackerRF/doc/LPC4330_SGPIO_SignalGenerator_Measurements.pdf share/hackerRF/doc/LPCXPresso_Flash_Debug_Tutorial.odt @@ -65,11 +65,10 @@ share/hackerRF/doc/wiki/images/hackrf_blockdiagram-digital.svg share/hackerRF/doc/wiki/images/hackrf_blockdiagram-frontend_baseband.png share/hackerRF/doc/wiki/images/hackrf_blockdiagram-frontend_baseband.svg share/hackerRF/firmware-bin/hackrf_cpld_default.xsvf -share/hackerRF/firmware-bin/hackrf_jawbreaker_usb_ram.dfu -share/hackerRF/firmware-bin/hackrf_jawbreaker_usb_rom_to_ram.bin -share/hackerRF/firmware-bin/hackrf_one_usb_ram.dfu -share/hackerRF/firmware-bin/hackrf_one_usb_rom_to_ram.bin -share/hackerRF/firmware/.gitignore +share/hackerRF/firmware-bin/hackrf_jawbreaker_usb.bin +share/hackerRF/firmware-bin/hackrf_jawbreaker_usb.dfu +share/hackerRF/firmware-bin/hackrf_one_usb.bin +share/hackerRF/firmware-bin/hackrf_one_usb.dfu share/hackerRF/firmware/CMakeLists.txt share/hackerRF/firmware/README share/hackerRF/firmware/blinky/CMakeLists.txt @@ -89,28 +88,45 @@ share/hackerRF/firmware/common/fault_handler.c share/hackerRF/firmware/common/fault_handler.h share/hackerRF/firmware/common/gpdma.c share/hackerRF/firmware/common/gpdma.h +share/hackerRF/firmware/common/gpio.h +share/hackerRF/firmware/common/gpio_lpc.c +share/hackerRF/firmware/common/gpio_lpc.h share/hackerRF/firmware/common/hackrf_core.c share/hackerRF/firmware/common/hackrf_core.h +share/hackerRF/firmware/common/i2c_bus.c +share/hackerRF/firmware/common/i2c_bus.h +share/hackerRF/firmware/common/i2c_lpc.c +share/hackerRF/firmware/common/i2c_lpc.h share/hackerRF/firmware/common/m0_bin.s.cmake share/hackerRF/firmware/common/m0_sleep.c share/hackerRF/firmware/common/max2837.c share/hackerRF/firmware/common/max2837.h share/hackerRF/firmware/common/max2837_regs.def +share/hackerRF/firmware/common/max2837_target.c +share/hackerRF/firmware/common/max2837_target.h share/hackerRF/firmware/common/max5864.c share/hackerRF/firmware/common/max5864.h +share/hackerRF/firmware/common/max5864_target.c +share/hackerRF/firmware/common/max5864_target.h +share/hackerRF/firmware/common/operacake.c +share/hackerRF/firmware/common/operacake.h share/hackerRF/firmware/common/rf_path.c share/hackerRF/firmware/common/rf_path.h share/hackerRF/firmware/common/rffc5071.c share/hackerRF/firmware/common/rffc5071.h share/hackerRF/firmware/common/rffc5071_regs.def +share/hackerRF/firmware/common/rffc5071_spi.c +share/hackerRF/firmware/common/rffc5071_spi.h share/hackerRF/firmware/common/rom_iap.c share/hackerRF/firmware/common/rom_iap.h share/hackerRF/firmware/common/sgpio.c share/hackerRF/firmware/common/sgpio.h -share/hackerRF/firmware/common/sgpio_dma.c -share/hackerRF/firmware/common/sgpio_dma.h share/hackerRF/firmware/common/si5351c.c share/hackerRF/firmware/common/si5351c.h +share/hackerRF/firmware/common/spi_bus.c +share/hackerRF/firmware/common/spi_bus.h +share/hackerRF/firmware/common/spi_ssp.c +share/hackerRF/firmware/common/spi_ssp.h share/hackerRF/firmware/common/streaming.c share/hackerRF/firmware/common/streaming.h share/hackerRF/firmware/common/tuning.c @@ -126,6 +142,8 @@ share/hackerRF/firmware/common/usb_standard_request.h share/hackerRF/firmware/common/usb_type.h share/hackerRF/firmware/common/w25q80bv.c share/hackerRF/firmware/common/w25q80bv.h +share/hackerRF/firmware/common/w25q80bv_target.c +share/hackerRF/firmware/common/w25q80bv_target.h share/hackerRF/firmware/common/xapp058/README share/hackerRF/firmware/common/xapp058/lenval.c share/hackerRF/firmware/common/xapp058/lenval.h @@ -148,6 +166,8 @@ share/hackerRF/firmware/cpld/sgpio_if_passthrough/sgpio_if_passthrough.svf share/hackerRF/firmware/cpld/sgpio_if_passthrough/sgpio_if_passthrough.xise share/hackerRF/firmware/cpld/sgpio_if_passthrough/top.ucf share/hackerRF/firmware/cpld/sgpio_if_passthrough/top.vhd +share/hackerRF/firmware/dfu-util.cmake +share/hackerRF/firmware/dfu.py share/hackerRF/firmware/hackrf-common.cmake share/hackerRF/firmware/hackrf_usb/CMakeLists.txt share/hackerRF/firmware/hackrf_usb/hackrf_usb.c @@ -157,10 +177,14 @@ share/hackerRF/firmware/hackrf_usb/usb_api_board_info.c share/hackerRF/firmware/hackrf_usb/usb_api_board_info.h share/hackerRF/firmware/hackrf_usb/usb_api_cpld.c share/hackerRF/firmware/hackrf_usb/usb_api_cpld.h +share/hackerRF/firmware/hackrf_usb/usb_api_operacake.c +share/hackerRF/firmware/hackrf_usb/usb_api_operacake.h share/hackerRF/firmware/hackrf_usb/usb_api_register.c share/hackerRF/firmware/hackrf_usb/usb_api_register.h share/hackerRF/firmware/hackrf_usb/usb_api_spiflash.c share/hackerRF/firmware/hackrf_usb/usb_api_spiflash.h +share/hackerRF/firmware/hackrf_usb/usb_api_sweep.c +share/hackerRF/firmware/hackrf_usb/usb_api_sweep.h share/hackerRF/firmware/hackrf_usb/usb_api_transceiver.c share/hackerRF/firmware/hackrf_usb/usb_api_transceiver.h share/hackerRF/firmware/hackrf_usb/usb_bulk_buffer.c @@ -208,7 +232,6 @@ share/hackerRF/firmware/startup_systick_perfo/startup_systick.c share/hackerRF/firmware/toolchain-arm-cortex-m.cmake share/hackerRF/firmware/tools/check_clock.py share/hackerRF/firmware/tools/dump_cgu.py -share/hackerRF/hardware/.gitignore share/hackerRF/hardware/LNA915/LNA915-cache.lib share/hackerRF/hardware/LNA915/LNA915.cmp share/hackerRF/hardware/LNA915/LNA915.kicad_pcb @@ -222,6 +245,82 @@ share/hackerRF/hardware/bubblegum/bubblegum.cmp share/hackerRF/hardware/bubblegum/bubblegum.net share/hackerRF/hardware/bubblegum/bubblegum.pro share/hackerRF/hardware/bubblegum/bubblegum.sch +share/hackerRF/hardware/gsg-kicad-lib/LICENSE +share/hackerRF/hardware/gsg-kicad-lib/README.md +share/hackerRF/hardware/gsg-kicad-lib/gsg-modules.pretty/0402-SHORT-10MIL.kicad_mod +share/hackerRF/hardware/gsg-kicad-lib/gsg-modules.pretty/0402.kicad_mod +share/hackerRF/hardware/gsg-kicad-lib/gsg-modules.pretty/0603-JUMPER.kicad_mod +share/hackerRF/hardware/gsg-kicad-lib/gsg-modules.pretty/0603.kicad_mod +share/hackerRF/hardware/gsg-kicad-lib/gsg-modules.pretty/0603D.kicad_mod +share/hackerRF/hardware/gsg-kicad-lib/gsg-modules.pretty/0805.kicad_mod +share/hackerRF/hardware/gsg-kicad-lib/gsg-modules.pretty/2500BL14M100.kicad_mod +share/hackerRF/hardware/gsg-kicad-lib/gsg-modules.pretty/50MIL-HEADER-2x5-TH.kicad_mod +share/hackerRF/hardware/gsg-kicad-lib/gsg-modules.pretty/B140-13-F.kicad_mod +share/hackerRF/hardware/gsg-kicad-lib/gsg-modules.pretty/CUI_PJ-102[AB]H.kicad_mod +share/hackerRF/hardware/gsg-kicad-lib/gsg-modules.pretty/GREATFET-PROTO-AREA.kicad_mod +share/hackerRF/hardware/gsg-kicad-lib/gsg-modules.pretty/HC-49S.kicad_mod +share/hackerRF/hardware/gsg-kicad-lib/gsg-modules.pretty/HEADER-1x1.kicad_mod +share/hackerRF/hardware/gsg-kicad-lib/gsg-modules.pretty/HEADER-1x2.kicad_mod +share/hackerRF/hardware/gsg-kicad-lib/gsg-modules.pretty/HEADER-1x20.kicad_mod +share/hackerRF/hardware/gsg-kicad-lib/gsg-modules.pretty/HEADER-1x3.kicad_mod +share/hackerRF/hardware/gsg-kicad-lib/gsg-modules.pretty/HEADER-1x4.kicad_mod +share/hackerRF/hardware/gsg-kicad-lib/gsg-modules.pretty/HEADER-1x5.kicad_mod +share/hackerRF/hardware/gsg-kicad-lib/gsg-modules.pretty/HEADER-1x6.kicad_mod +share/hackerRF/hardware/gsg-kicad-lib/gsg-modules.pretty/HEADER-1x7.kicad_mod +share/hackerRF/hardware/gsg-kicad-lib/gsg-modules.pretty/HEADER-1x8.kicad_mod +share/hackerRF/hardware/gsg-kicad-lib/gsg-modules.pretty/HEADER-2x10.kicad_mod +share/hackerRF/hardware/gsg-kicad-lib/gsg-modules.pretty/HEADER-2x11.kicad_mod +share/hackerRF/hardware/gsg-kicad-lib/gsg-modules.pretty/HEADER-2x12.kicad_mod +share/hackerRF/hardware/gsg-kicad-lib/gsg-modules.pretty/HEADER-2x13.kicad_mod +share/hackerRF/hardware/gsg-kicad-lib/gsg-modules.pretty/HEADER-2x16.kicad_mod +share/hackerRF/hardware/gsg-kicad-lib/gsg-modules.pretty/HEADER-2x2.kicad_mod +share/hackerRF/hardware/gsg-kicad-lib/gsg-modules.pretty/HEADER-2x20.kicad_mod +share/hackerRF/hardware/gsg-kicad-lib/gsg-modules.pretty/HEADER-2x3.kicad_mod +share/hackerRF/hardware/gsg-kicad-lib/gsg-modules.pretty/HEADER-2x4.kicad_mod +share/hackerRF/hardware/gsg-kicad-lib/gsg-modules.pretty/HEADER-2x5.kicad_mod +share/hackerRF/hardware/gsg-kicad-lib/gsg-modules.pretty/HEADER-2x6.kicad_mod +share/hackerRF/hardware/gsg-kicad-lib/gsg-modules.pretty/HEADER-2x7.kicad_mod +share/hackerRF/hardware/gsg-kicad-lib/gsg-modules.pretty/HEADER-2x8.kicad_mod +share/hackerRF/hardware/gsg-kicad-lib/gsg-modules.pretty/HEADER-2x9.kicad_mod +share/hackerRF/hardware/gsg-kicad-lib/gsg-modules.pretty/HEADER-SMT-2x4.kicad_mod +share/hackerRF/hardware/gsg-kicad-lib/gsg-modules.pretty/HOLE126MIL-COPPER.kicad_mod +share/hackerRF/hardware/gsg-kicad-lib/gsg-modules.pretty/HOLE126MIL.kicad_mod +share/hackerRF/hardware/gsg-kicad-lib/gsg-modules.pretty/KT2520K.kicad_mod +share/hackerRF/hardware/gsg-kicad-lib/gsg-modules.pretty/LQFP144.kicad_mod +share/hackerRF/hardware/gsg-kicad-lib/gsg-modules.pretty/LTST-S220.kicad_mod +share/hackerRF/hardware/gsg-kicad-lib/gsg-modules.pretty/OH4.kicad_mod +share/hackerRF/hardware/gsg-kicad-lib/gsg-modules.pretty/POGOPIN-5-IMME.kicad_mod +share/hackerRF/hardware/gsg-kicad-lib/gsg-modules.pretty/QFN20-4.kicad_mod +share/hackerRF/hardware/gsg-kicad-lib/gsg-modules.pretty/QFN32-5.kicad_mod +share/hackerRF/hardware/gsg-kicad-lib/gsg-modules.pretty/RJ45-RJHSE-5380.kicad_mod +share/hackerRF/hardware/gsg-kicad-lib/gsg-modules.pretty/SKY13317-373LF.kicad_mod +share/hackerRF/hardware/gsg-kicad-lib/gsg-modules.pretty/SKY13350-385LF.kicad_mod +share/hackerRF/hardware/gsg-kicad-lib/gsg-modules.pretty/SKY13351-378LF.kicad_mod +share/hackerRF/hardware/gsg-kicad-lib/gsg-modules.pretty/SKY13411-374LF.kicad_mod +share/hackerRF/hardware/gsg-kicad-lib/gsg-modules.pretty/SMA-EDGE.kicad_mod +share/hackerRF/hardware/gsg-kicad-lib/gsg-modules.pretty/SMA-VERTICAL.kicad_mod +share/hackerRF/hardware/gsg-kicad-lib/gsg-modules.pretty/SOD128.kicad_mod +share/hackerRF/hardware/gsg-kicad-lib/gsg-modules.pretty/SOIC8-208.kicad_mod +share/hackerRF/hardware/gsg-kicad-lib/gsg-modules.pretty/SOT23-3.kicad_mod +share/hackerRF/hardware/gsg-kicad-lib/gsg-modules.pretty/SOT23GDS.kicad_mod +share/hackerRF/hardware/gsg-kicad-lib/gsg-modules.pretty/SOT25.kicad_mod +share/hackerRF/hardware/gsg-kicad-lib/gsg-modules.pretty/SOT353-1.kicad_mod +share/hackerRF/hardware/gsg-kicad-lib/gsg-modules.pretty/SOT363.kicad_mod +share/hackerRF/hardware/gsg-kicad-lib/gsg-modules.pretty/SOT457.kicad_mod +share/hackerRF/hardware/gsg-kicad-lib/gsg-modules.pretty/SSSS810701.kicad_mod +share/hackerRF/hardware/gsg-kicad-lib/gsg-modules.pretty/SWITCH-FSMRA.kicad_mod +share/hackerRF/hardware/gsg-kicad-lib/gsg-modules.pretty/SWITCH-PTS840-P.kicad_mod +share/hackerRF/hardware/gsg-kicad-lib/gsg-modules.pretty/TESTPOINT-50MIL.kicad_mod +share/hackerRF/hardware/gsg-kicad-lib/gsg-modules.pretty/TSSOP16.kicad_mod +share/hackerRF/hardware/gsg-kicad-lib/gsg-modules.pretty/USB-MICROB-FCI-10103592-EXT.kicad_mod +share/hackerRF/hardware/gsg-kicad-lib/gsg-modules.pretty/USB-MICROB-FCI-10103592-LONGPADS.kicad_mod +share/hackerRF/hardware/gsg-kicad-lib/gsg-modules.pretty/USB-MICROB-FCI-10103592.kicad_mod +share/hackerRF/hardware/gsg-kicad-lib/gsg-modules.pretty/XTAL-AB26TRQ.kicad_mod +share/hackerRF/hardware/gsg-kicad-lib/gsg-modules.pretty/XTAL3.2x2.5mm-EXT.kicad_mod +share/hackerRF/hardware/gsg-kicad-lib/gsg-modules.pretty/XTAL3.2x2.5mm.kicad_mod +share/hackerRF/hardware/gsg-kicad-lib/gsg-modules.pretty/XTAL5.0x3.2mm.kicad_mod +share/hackerRF/hardware/gsg-kicad-lib/gsg-symbols.dcm +share/hackerRF/hardware/gsg-kicad-lib/gsg-symbols.lib share/hackerRF/hardware/hackrf-one/PlasticCase_CAD/Case_With_HackRF.png share/hackerRF/hardware/hackrf-one/PlasticCase_CAD/HackRF_One_Case.dxf share/hackerRF/hardware/hackrf-one/PlasticCase_CAD/HackRF_One_Case.png @@ -238,10 +337,11 @@ share/hackerRF/hardware/hackrf-one/SoBv1_HackRF_One_16Janv2014/SoBv1_HackRF_One_ share/hackerRF/hardware/hackrf-one/SoBv1_HackRF_One_16Janv2014/SoBv1_HackRF_One_Top2D.png share/hackerRF/hardware/hackrf-one/SoBv1_HackRF_One_16Janv2014/SoBv1_HackRF_One_Top2D.skp share/hackerRF/hardware/hackrf-one/baseband.sch +share/hackerRF/hardware/hackrf-one/fp-lib-table share/hackerRF/hardware/hackrf-one/frontend.sch share/hackerRF/hardware/hackrf-one/hackrf-one-cache.lib -share/hackerRF/hardware/hackrf-one/hackrf-one.brd share/hackerRF/hardware/hackrf-one/hackrf-one.cmp +share/hackerRF/hardware/hackrf-one/hackrf-one.kicad_pcb share/hackerRF/hardware/hackrf-one/hackrf-one.net share/hackerRF/hardware/hackrf-one/hackrf-one.pro share/hackerRF/hardware/hackrf-one/hackrf-one.sch @@ -301,4 +401,27 @@ share/hackerRF/hardware/lollipop/lollipop.net share/hackerRF/hardware/lollipop/lollipop.pro share/hackerRF/hardware/lollipop/lollipop.sch share/hackerRF/hardware/lollipop/lollipop_logic.py +share/hackerRF/hardware/marzipan/README +share/hackerRF/hardware/marzipan/baseband.sch +share/hackerRF/hardware/marzipan/fp-lib-table +share/hackerRF/hardware/marzipan/frontend.sch +share/hackerRF/hardware/marzipan/marzipan-cache.lib +share/hackerRF/hardware/marzipan/marzipan.cmp +share/hackerRF/hardware/marzipan/marzipan.kicad_pcb +share/hackerRF/hardware/marzipan/marzipan.net +share/hackerRF/hardware/marzipan/marzipan.pro +share/hackerRF/hardware/marzipan/marzipan.sch +share/hackerRF/hardware/marzipan/mcu.sch +share/hackerRF/hardware/neapolitan/README +share/hackerRF/hardware/neapolitan/baseband.sch +share/hackerRF/hardware/neapolitan/fp-lib-table +share/hackerRF/hardware/neapolitan/frontend.sch +share/hackerRF/hardware/neapolitan/mcu.sch +share/hackerRF/hardware/neapolitan/neapolitan-cache.lib +share/hackerRF/hardware/neapolitan/neapolitan.cmp +share/hackerRF/hardware/neapolitan/neapolitan.kicad_pcb +share/hackerRF/hardware/neapolitan/neapolitan.net +share/hackerRF/hardware/neapolitan/neapolitan.pro +share/hackerRF/hardware/neapolitan/neapolitan.sch share/hackerRF/hardware/test/si5351-configure.py +@pkgdir share/hackerRF/firmware/libopencm3 diff --git a/ham/hackrf/distinfo b/ham/hackrf/distinfo index f4e02e82cbc..21ed490af20 100644 --- a/ham/hackrf/distinfo +++ b/ham/hackrf/distinfo @@ -1,6 +1,6 @@ -$NetBSD: distinfo,v 1.3 2015/12/08 21:40:44 wiedi Exp $ +$NetBSD: distinfo,v 1.4 2019/02/02 08:44:44 tnn Exp $ -SHA1 (hackrf-2015.07.2.tar.xz) = 9dc09003b9da7f39fcd4b3b75323f2cefeab6800 -RMD160 (hackrf-2015.07.2.tar.xz) = f392c378058e32f5f73463f0fd2cefc28efcabb8 -SHA512 (hackrf-2015.07.2.tar.xz) = a4f7b7800ece9b260d5c8c374f5544aa55cd2e97e10c6a0b33cf476e2ad4811321ffb1308d9dfb2168b2624cd3af616d1c314ad86bcd6f4c3fd0897319fa2cbd -Size (hackrf-2015.07.2.tar.xz) = 14415212 bytes +SHA1 (hackrf-2018.01.1.tar.xz) = 3f12401cc4df50b1bd278c87a5acd8a16f724bfa +RMD160 (hackrf-2018.01.1.tar.xz) = 29a296bcbeb1344feb8fd44b9a8591e459e7cd1c +SHA512 (hackrf-2018.01.1.tar.xz) = 89848fb58a8a29f7fe85bd817d5716117a2c7a5f2c4bb8582ad1ba8186831ca3054ea1314de943d1e923641eb18b6008cd8af79585e58fa50d55d5a7fd1b04e4 +Size (hackrf-2018.01.1.tar.xz) = 15464500 bytes -- cgit v1.2.3