comms/dcf77pi: fix build Fixes: 19d8d6dd4ba6 "comms/dcf77pi: migrate to codeberg" Pointyhat: renee0f0d7870d
Port details
comms/dcf77pi 3.7.1.1_2
DCF77 receiver/logger/analyzer and library for the Raspberry Pi
Port info
- Maintainer
- rene@FreeBSD.org
- Packages
- latest: 3.7.1.1_2
- Upstream
- up to date
- Last update
- to 3.7.1.1_2 · e0f0d7870d
- Quarterly
- 2026Q4: 3.7.1.1_2
- WWW
- https://codeberg.org/rene0/dcf77pi
- Links
- cgit · VuXML
Install
- Package
# pkg install dcf77piinstalls 3.7.1.1_2 fromlatest; fromquarterly(2026Q4) 3.7.1.1_2- Port
# cd /usr/ports/comms/dcf77pi && make install clean# make -C /usr/ports/comms/dcf77pi config # change options first
- Size
- 42 KiB download · 121 KiB installed
- Depends on
- devel/json-c 0.19_1
- License
- BSD2CLAUSE
- Options
- 1 of 2 on in the package: DOCS
Show the 1 options that are off
DOXYGEN - pkg-message
Shown after installing
Normally, dcf77pi and readpin need to be run as root due to the permissions of /dev/gpioc* , but they can be run as a regular user by changing the permissions of the device node: # chmod 0660 /dev/gpioc* And to make the change persistent across reboots: # echo "perm gpioc* 0660" >> /etc/devfs.conf
Packages by version and architecture
latest
| FreeBSD version | amd64 | aarch64 | i386 |
|---|---|---|---|
| FreeBSD 16 | 3.7.1.1_2 | 3.7.1.1_2 | – |
| FreeBSD 15 | 3.7.1.1_2 | 3.7.1.1_2 | – |
| FreeBSD 14 | 3.7.1.1_2 | 3.7.1.1_2 | 3.7.1.1_2 |
quarterly (2026Q4)
| FreeBSD version | amd64 | aarch64 | i386 |
|---|---|---|---|
| FreeBSD 15 | 3.7.1.1_2 | 3.7.1.1_2 | – |
| FreeBSD 14 | 3.7.1.1_2 | 3.7.1.1_2 | 3.7.1.1_2 |
version as in the ports tree (latest) or the most common one (quarterly) · different version · ✗ not built · – no packages for this platform. Package sets that have not been rebuilt for 60 days are left out.
Unaddressed and VuXML only (0)
No unaddressed CVE and nothing reported by
pkg audit for the packaged version 3.7.1.1_2.Fixed (0)
No VuXML entries for this package.
Problem reports (0) · open in Bugzilla, most recently changed first
None.
Commits (49)
comms/dcf77pi: migrate to codeberg portfmt while here, and bump PORTREVISION19d8d6dd4b
Remove WWW entries moved into port Makefiles Commit b7f05445c00f has added WWW entries to port Makefiles based on WWW: lines in pkg-descr files. This commit removes the WWW: lines of moved-over URLs from these pkg-descr files. Approved by: portmgr (tcberner)fb16dfecae
Add WWW entries to port Makefiles It has been common practice to have one or more URLs at the end of the ports' pkg-descr files, one per line and prefixed with "WWW:". These URLs should point at a project website or other relevant resources. Access to these URLs required processing of the pkg-descr files, and they have often become stale over time. If more than one such URL was present in a pkg-descr file, only the first one was tarnsfered into the port INDEX, but for many ports only the last line did contain the port specific URL to further information. There have been several proposals to make a project URL available as a macro in the ports' Makefiles, over time. This commit implements such a proposal and moves one of the WWW: entries of each pkg-descr file into the respective port's Makefile. A heuristic attempts to identify the most relevant URL in case there is more than one WWW: entry in some pkg-descr file. URLs that are not moved into the Makefile are prefixed with "See also:" instead of "WWW:" in the pkg-descr files in order to preserve them. There are 1256 ports that had no WWW: entries in pkg-descr files. These ports will not be touched in this commit. The portlint port has been adjusted to expect a WWW entry in each port Makefile, and to flag any remaining "WWW:" lines in pkg-descr files as deprecated. Approved by: portmgr (tcberner)b7f05445c0
cleanup: remove Created-by lines mentioning myself from my ports. While here use my FreeBSD address again for all my ports.db3918c88e
comms/dcf77pi: pet portclippy59dc0b5edf
Remove # $FreeBSD$ from Makefiles.305f148f48
Move ports that I wrote to my personal email address.71a54257c7
Bump PORTREVISION for devel/json-c json-caabbea4dfa
comms/dcf77pi: update to 3.7.1.1, clean up Makefile368437a0df
UCL-ify pkg-message of my ports.52ab157552
Add DOCS options to ports that should have one. Also various fixes related to said option. PR: 230864 Submitted by: mat exp-runs by: antoinee1bfdfbe56
Update devel/json-c to 0.13.1 - Add my LOCAL to MASTER_SITES - Bump PORTREVISION of dependent ports for shlib change Changes: https://github.com/json-c/json-c/blob/master/ChangeLog PR: 231007 Exp-run by: antoine29632fcc45
comms/dcf77pi: update to version 3.7.0ea16b41ed1
comms/dcf77pi: update to 3.6.1 Changelog: https://github.com/rene0/dcf77pi/releases/tag/3.6.1 MFH: 2017Q410c237288a
comms/dcf77pi: update to 3.6.0 See CHANGELOG.md for changes While here, improve pkg-messageb06e51b9b0
comms/dcf77pi: add a tip to make it possible to run the programs as non-root71d2f2e7d1
comms/dcf77pi: update to version 3.5.0 - pin numbers are now 16 bits - rename some functions to not confuse Doxygen - make some functions publicabae7b71c8
Remove ${PORTSDIR}/ from dependencies, Mk and categories a, b, and c.
With hat: portmgr
Sponsored by: Absolight7f4572eae4comms/dcf77pi: update to version 3.4.2 This update fixes a bug in the century calculation which could result in wrongly calculated dates. MFH: 2016Q1327625af94
comms/dcf77pi: update to version 3.4.137982a8ab9
comms/dcf77pi: update to 3.4.0 Add option to create Doxygen HTML Changelog: https://github.com/rene0/dcf77pi/releases/tag/3.4.0a89bc69537
Update ports in the [bcd]* categories to not use GH_COMMIT. With minor cleanups to make things simpler. With hat: portmgr Sponsored by: Absolightc6457ffef4
comms/dcf77pi: update to 3.3.0
Changes:
* improve support for decoding the alarm messages by showing the main German
regions which are affected. Note that this was an experimental and now
unused system. With permission from Mr. Wenzelewski from DIN
* Doxygen support, provide a Doxyfile (not supported by the port yet)
* Small fixes to the FidoCADJ schematics
* library:
- assign date/time fields more independently so that errors are corrected
faster
- record the accumulated minute length at the end of each line in the log
file, preceded by an 'a'. These values are read back by get_bit_file()
- redesign the calculations for the accumulated minute length to be more
accurate in case of reception errors or reading log files. Time can now
be adjust forwards and backwards.
- record the minute cutoff value at the end of each line in the log file,
preceded by a 'c'. These values are read back by get_bit_file()
- skip consecutive newlines in the log file
- use a more accurate sleep time when receiving live bits
- set upper bound of hw.freq to 155,000 Hz
- API cleanups (types sanitized, const qualifiers added, some renames)
- algorithm and code cleanups
* dcf77pi:
- show the accumulated minute length each second instead of each minute
- show the minute cutoff value54cedf8e15Clean up pkg-plist of my ports.cad5f95847
- Update comms/dcf77pi to version 3.2.0 - Use USE_LDCONFIG Overall changes: - Compile with -fpic instead of -fPIC (potentially smaller code size) - Add a schematics file for the hardware receiver in FidoCadJ format - Language and typographical updates to README.md - Several signed/unsigned/size fixes Library changes: - Extract generic third-party code for bits 1..14 from decode_alarm.h into a new file bits1to14.h - Convert almost all calculations for decoding the live signal into integer operations, drop fields 'a', 'frac', and 'maxone' from struct bitinfo. - New function setclock_ok() in setclock.h - New functions get_acc_minlen(), add_acc_minlen(), reset_acc_minlen() in decode_time.h. The accumulated minute length is now a first-class entity. When decoding the live signal, increment it more precisely than just 1000 ms/s to prevent drift during bad radio reception. - New functions dcftime() and isotime() in decode_time.h. Use the latter in setclock.c - Check input values of etc/config.txt: - hw.active_high must be 0 or 1 - hw.freq must be even between 10 and 666666 - Reset the values of bit0 and bit20 if the latter becomes smaller than the former, show this in the log file using a '!' - Compact the signal buffer, it now stores 8 pulses per byte instead of just 1. Client changes: - Make dcf77pi and dcf77pi-analyze more agnostic of the contents of the third-party contents - Update display code of dcf77pi and readpin for the updates to the live signal decoding - Show in dcf77pi when the value of bit20 underflows - Update the code to display the signal buffer in readpin - Fix readpin to properly clean up when receiving a SIGINTdffe241cd2
comms/dcf77pi: apply upstream patch to fix display bug when realfreq is reset11ab98b206
comms/dcf77pi: update to 3.1.0, improve pkg-descr General: - add partial support for OSX and Cygwin - add bitinfo.last0 field which represents the last pulse where the radio signal was 0 - store radio signal into a new field bitinfo.signal - more robust handling of radio signal glitches - improve realfreq by approximately 7% on a non-optimized standard build - simplify code for handling DST changes and leap seconds - defer assigning the decoded time until the minute length has been checked to match the exact expected value (i.e. 59 unless a leap second occurs) - code cleanups README: - mention supported platforms dcf77pi: - display updates, show last0 readpin: - overhaul to make more use of libdcf77 - drop -t parameter506b6fddaa
comms/dcf77pi: Update 3.0.0.1 The code to decode the radio signal, date/time, and civil warnings is now provided in a library libdcf77.so together with the relevant header files. dcf77pi is now split up into dcf77pi (the live client) and dcf77pi-analyze (the client to analyze log files). The -f parameter of dcf77pi is dropped. Apply minor lint(1) fixes.635797cf05
comms/dcf77pi: update to 2.1.0 General: - the maxzero and maxone parameters are now determined dynamically, remove them from config.txt and README.md - Do not consider time offset jumps if bit 17 and 18 are equal readpin: - add a -q parameter to suppress displaying of the raw signal (default off) - display updates dcf77pi: - display updates/fixes, show radio state (OK if no receive/transmit/random errors)f2cacbe752
comms/dcf77pi: update to 2.0.3, use the new @sample keyword - Mention the "backspace" key in README.md - Reset DST and leap second announcements at the next hour - Detect sudden jumps to non-DST - Relax conditions for processing a DST change3709da2f35
comms/dcf77pi: update to 2.0.2 - Prevent a possible string overflow when reading the configuration file. - Plug a few memory leaks. - Refactor a lot of code. - Replace -l parameter (specify logfile) of dcf77pi by an interactive 'L' key which can also be used to change or disable the log file. - New entry in config.txt, "outlogfile", to specify the the default log file (default empty). - Fix a bug where the hour would be wrongly considered off by one at the moment of a DST change. - Various bug fixes in the GUI code (only affected displaying of the data). - Handle log files with \n\r line endings used by RISC OS (which runs on the Raspberry Pi). - Slightly improve output when reading from a log file. - Update README.md182bd70663
comms/dcf77pi: No need to check for and install configuration sample in Makefile with stage support.f6e5ca2b87
comms/dcf77pi: update to 2.0.1 - support DESTDIR and install-strip, uninstall targets in upstream Makefile - clean up port Makefile accordingly - bugfix: do not accept removed 'S' command line option - bugfix: display 'no minute' at the correct position in GUI mode - do not leak curses memory at exita762c4c8ec
comms/dcf77pi: update to version 2.0.0 - Provide an ncurses based interface in live mode, no changes when reading from a log file - Drop the -v and -S parameters, they are now part of the GUI - add ncurses to USES558ea7a848
comms/dcf77pi: Update to 1.1.3 Changes: - Add the correct number of minutes when the accumulated minute length is more than 60 seconds (happens when e.g. the transmitter is off). - Disallow DST changes or leap seconds if a 0 is specified for summermonth, wintermonth, or leapsecmonths. - Allow compilation on NetBSD.4c20e3ab39
Update to 1.1.2 Changes: - replace hardcoded realfreq parameter with a dynamically determined value and update README.md - minor updates to time decoderceb97a7397
Specify which BSD licence applies. Submitted by: make check-sanity14f13b87df
Update to 1.1.1 Changes: dcf77pi: - Calculate century (modulo 400) from year, month, day of week, day of month - New parameter -S to set the system time - Improvements to DST handling - Set error state if day of month is too large, not just when greater than 31 readpin: - New parameter -t for readpin to adjust nanosleep() delay - Determine realfreq dynamically, do not use realfreq from config.txt general: - Documentation updates - Code cleanups5950623eec
* Update to 1.1.0: - New algorithm to receive bits from the radio signal from an idea by Udo Klein, with permission [1] (configuration file changed) - Use two independent maximum values for 0 and 1 bits (configuration file changed) - New verbose display output - Weaken precondition for processing leap seconds and DST changes to not insist on correct values for parity bits and b * Simplify PORTDOCS installation [1] http://blog.blinkenlight.net/experiments/dcf77/binary-clock/#comment-5916dfdd404bbd
- Update to 1.0.5 - Add a note to UPDATING about the changed and renamed configuration file.c237320b4e
Add staging support.6bef8ca785
Add NO_STAGE all over the place in preparation for the staging support (cat: comms)2b300eeb3f
Update to 1.0.4 : - better detection for bits in the radio signal - catch more corner cases in decoding of the time data The configuration file (hardware.txt) needs to be updated with this update.4641a8dc34
Update to 1.0.3.1 This release fixes installation of the configuration file.e74a981aff
Distfile was rerolled, bump PORTREVISION4c4fe81147
Update to 1.0.3 No need to ignore on FreeBSD < 9.0, the software will disable GPIO itself.bd7b90749a
Update to 1.0.2fc1f4c8dbf
Yet another DCF77 decoder. This one is intended for the Raspberry Pi platform but might work on other devices using GPIO pins too. The received data can be logged for later playback/analysis. WWW: https://github.com/rene0/dcf77pi11fb4232d6