Bug 261571 - comms/py-libscrc: New port
Summary: comms/py-libscrc: New port
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Li-Wen Hsu
URL: https://github.com/hex-in/libscrc/
Keywords: needs-qa, patch
Depends on:
Blocks:
 
Reported: 2022-01-30 12:39 UTC by Marek Zarychta
Modified: 2022-02-08 06:47 UTC (History)
2 users (show)

See Also:


Attachments
Create port patch (1.11 KB, patch)
2022-01-30 12:39 UTC, Marek Zarychta
no flags Details | Diff
Create port patch (1.22 KB, patch)
2022-01-30 12:41 UTC, Marek Zarychta
no flags Details | Diff
Create port patch (1.66 KB, patch)
2022-01-30 15:14 UTC, Marek Zarychta
no flags Details | Diff
Create port patch (1.66 KB, patch)
2022-01-30 21:04 UTC, Marek Zarychta
no flags Details | Diff
Create patch for port (1.63 KB, patch)
2022-02-01 16:02 UTC, Marek Zarychta
no flags Details | Diff
Log from building and test on arm64 (17.08 KB, text/plain)
2022-02-03 11:20 UTC, Marek Zarychta
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Marek Zarychta 2022-01-30 12:39:53 UTC
Created attachment 231440 [details]
Create port patch

The new port adding library required by some apps accessing MODBUS over MQTT, for example, https://github.com/MichaluxPL/Sofar_LSW3 needs this.

Port tested with portlint and poudriere testport.
Comment 1 Marek Zarychta 2022-01-30 12:41:30 UTC
Created attachment 231441 [details]
Create port patch

The wrong patch was previously submitted.
Comment 2 Marek Zarychta 2022-01-30 15:14:59 UTC
Created attachment 231446 [details]
Create port patch

Corrected version with DISTVERSIONPREFIX and tests were added.
Comment 3 Marek Zarychta 2022-01-30 21:04:26 UTC
Created attachment 231451 [details]
Create port patch

Tests should be run in a clear shell, set -x removed, it was added only for initial debugging.
Comment 4 Marek Zarychta 2022-02-01 16:02:47 UTC
Created attachment 231496 [details]
Create patch for port

Some suggestions by dizzy@ and ports-mgmt/portlint were taken into consideration to make it more polished.
Comment 5 Marek Zarychta 2022-02-02 22:20:44 UTC
A foreword is probably required. 

Github source is preferred over CheeseShop since the latter allows only the installation of binary precompiled versions for some architectures and operating systems. There is no source tarball on CheeseShop.

This library should IMHO make a way into ports but I don't know if the "comms" category is really fortunate, maybe placing it in  "security" or misc will be better.

Below is the table describing CRC capabilities of this library.

<table>
<thead>
<tr>
<th align="center">CRCx</th>
<th align="center">CRC8</th>
<th align="center">CRC16</th>
<th align="center">CRC24</th>
<th align="center">CRC32</th>
<th align="center">CRC64</th>
</tr>
</thead>
<tbody>
<tr>
<td align="center">CRC3-GSM</td>
<td align="center">INTEL</td>
<td align="center">MODBUS</td>
<td align="center">BLE</td>
<td align="center">FSC</td>
<td align="center">GO-ISO</td>
</tr>
<tr>
<td align="center">CRC3-ROHC</td>
<td align="center">BCC</td>
<td align="center">IBM</td>
<td align="center">OPENPGP</td>
<td align="center">CRC32</td>
<td align="center">ECMA182</td>
</tr>
<tr>
<td align="center">CRC4-ITU</td>
<td align="center">LRC</td>
<td align="center">XMODEM</td>
<td align="center">LTE-A</td>
<td align="center">MPEG2</td>
<td align="center">WE</td>
</tr>
<tr>
<td align="center">CRC5-ITU</td>
<td align="center">MAXIM8</td>
<td align="center">CCITT</td>
<td align="center">LTE-B</td>
<td align="center">ADLER32</td>
<td align="center">XZ64</td>
</tr>
<tr>
<td align="center">CRC5-EPC</td>
<td align="center">ROHC</td>
<td align="center">KERMIT</td>
<td align="center">OS9</td>
<td align="center">FLETCHER32</td>
<td align="center"></td>
</tr>
<tr>
<td align="center">CRC5-USB</td>
<td align="center">ITU8</td>
<td align="center">MCRF4XX</td>
<td align="center">FLEXRAY-A</td>
<td align="center">POSIX</td>
<td align="center"></td>
</tr>
<tr>
<td align="center">CRC6-ITU</td>
<td align="center">CRC8</td>
<td align="center">SICK</td>
<td align="center">FLEXRAY-B</td>
<td align="center">BZIP2</td>
<td align="center"></td>
</tr>
<tr>
<td align="center">CRC6-GSM</td>
<td align="center">SUM8</td>
<td align="center">DNP</td>
<td align="center">INTERLAKEN</td>
<td align="center">JAMCRC</td>
<td align="center"></td>
</tr>
<tr>
<td align="center">CRC6-DARC</td>
<td align="center">FLETCHER8</td>
<td align="center">X25</td>
<td align="center">CRC24</td>
<td align="center">AUTOSAR</td>
<td align="center"></td>
</tr>
<tr>
<td align="center">CRC7</td>
<td align="center">SMBUS</td>
<td align="center">USB</td>
<td align="center"></td>
<td align="center">C / ISCSI</td>
<td align="center"></td>
</tr>
<tr>
<td align="center">CRC7-MMC</td>
<td align="center">AUTOSAR</td>
<td align="center">MAXIM16</td>
<td align="center"></td>
<td align="center">D / BASE91-D</td>
<td align="center"></td>
</tr>
<tr>
<td align="center">CRC7-UMTS</td>
<td align="center">LTE</td>
<td align="center">DECT(R/X)</td>
<td align="center"></td>
<td align="center">Q / AIXM</td>
<td align="center"></td>
</tr>
<tr>
<td align="center">CRC7-ROHC</td>
<td align="center">SAE-J1850</td>
<td align="center">TCP/UDP</td>
<td align="center"></td>
<td align="center">XFER</td>
<td align="center"></td>
</tr>
<tr>
<td align="center"></td>
<td align="center">I-CODE</td>
<td align="center">CDMA2000</td>
<td align="center"></td>
<td align="center">CKSUM</td>
<td align="center"></td>
</tr>
<tr>
<td align="center">CAN15</td>
<td align="center">GSM-A</td>
<td align="center">FLETCHER16</td>
<td align="center"></td>
<td align="center">XZ32</td>
<td align="center"></td>
</tr>
<tr>
<td align="center">CAN17</td>
<td align="center">NRSC-5</td>
<td align="center">EPC16</td>
<td align="center"></td>
<td align="center">AAL5</td>
<td align="center"></td>
</tr>
<tr>
<td align="center">CAN21</td>
<td align="center">WCDMA</td>
<td align="center">PROFIBUS</td>
<td align="center"></td>
<td align="center">ISO-HDLC</td>
<td align="center"></td>
</tr>
<tr>
<td align="center"></td>
<td align="center">BLUETOOTH</td>
<td align="center">BUYPASS</td>
<td align="center"></td>
<td align="center">PKZIP</td>
<td align="center"></td>
</tr>
<tr>
<td align="center">CRC10-ATM</td>
<td align="center">DVB-S2</td>
<td align="center">GENIBUS</td>
<td align="center"></td>
<td align="center">ADCCP</td>
<td align="center"></td>
</tr>
<tr>
<td align="center">CRC13-BBC</td>
<td align="center">EBU</td>
<td align="center">GSM16</td>
<td align="center"></td>
<td align="center">V-42</td>
<td align="center"></td>
</tr>
<tr>
<td align="center">MPT1327</td>
<td align="center">DARC</td>
<td align="center">RIELLO</td>
<td align="center"></td>
<td align="center">STM32</td>
<td align="center"></td>
</tr>
<tr>
<td align="center">CDMA2000</td>
<td align="center">MIFARE</td>
<td align="center">OPENSAFETY</td>
<td align="center"></td>
<td align="center"></td>
<td align="center"></td>
</tr>
<tr>
<td align="center"></td>
<td align="center">LIN1.3</td>
<td align="center">EN13757</td>
<td align="center"></td>
<td align="center"></td>
<td align="center"></td>
</tr>
<tr>
<td align="center"></td>
<td align="center">LIN2.x</td>
<td align="center">CMS</td>
<td align="center"></td>
<td align="center">CRC30-CDMA</td>
<td align="center">DARC82</td>
</tr>
<tr>
<td align="center"></td>
<td align="center">ID8</td>
<td align="center"></td>
<td align="center"></td>
<td align="center">CRC31-PHILIPS</td>
<td align="center"></td>
</tr>
<tr>
<td align="center"></td>
<td align="center">NMEA</td>
<td align="center"></td>
<td align="center"></td>
<td align="center"></td>
<td align="center"></td>
</tr>
</tbody>
</table>
Comment 6 Marek Zarychta 2022-02-03 11:20:56 UTC
Created attachment 231530 [details]
Log from building and test on arm64

The port so far builds fine on amd64 and arm64. Presumably on 32-bit ARM it will also build, but I have no opportunity to test.
Comment 7 commit-hook freebsd_committer freebsd_triage 2022-02-08 03:21:33 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=c8bfb772c274a6044c7d5620776921364a46824e

commit c8bfb772c274a6044c7d5620776921364a46824e
Author:     Marek Zarychta <zarychtam@plan-b.pwste.edu.pl>
AuthorDate: 2022-02-08 03:19:33 +0000
Commit:     Li-Wen Hsu <lwhsu@FreeBSD.org>
CommitDate: 2022-02-08 03:19:33 +0000

    Add comms/py-libscrc: Python library for calculating various types of CRC

    PR:             261571

 comms/Makefile                   |  1 +
 comms/py-libscrc/Makefile (new)  | 34 ++++++++++++++++++++++++++++++++++
 comms/py-libscrc/distinfo (new)  |  3 +++
 comms/py-libscrc/pkg-descr (new) |  4 ++++
 4 files changed, 42 insertions(+)
Comment 8 Marek Zarychta 2022-02-08 06:47:57 UTC
Thanks for committing this.