Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 19 Jun 2026 19:07:35 +0000
From:      Yuri Victorovich <yuri@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: f7a44360f7ca - main - misc/pyobd: update 0=?utf-8?Q?=2E9.3 =E2=86=92?= 1.19
Message-ID:  <6a359377.306e4.65ee5238@gitrepo.freebsd.org>

index | next in thread | raw e-mail

The branch main has been updated by yuri:

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

commit f7a44360f7ca696f0aa6b14a3c8ece393854a4c1
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2026-06-19 19:07:12 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2026-06-19 19:07:29 +0000

    misc/pyobd: update 0.9.3 → 1.19
---
 misc/pyobd/Makefile                   | 56 ++++++++++++++++++++++-------------
 misc/pyobd/distinfo                   |  6 ++--
 misc/pyobd/files/patch-pyobd          | 47 -----------------------------
 misc/pyobd/files/patch-pyobd.desktop  | 16 ----------
 misc/pyobd/files/patch-pyobd.py       | 14 +++++++++
 misc/pyobd/files/patch-pyproject.toml | 27 +++++++++++++++++
 misc/pyobd/files/pyobd.desktop        | 10 +++++++
 misc/pyobd/pkg-plist                  | 12 --------
 8 files changed, 90 insertions(+), 98 deletions(-)

diff --git a/misc/pyobd/Makefile b/misc/pyobd/Makefile
index 40fc193c707d..d716289f3fd3 100644
--- a/misc/pyobd/Makefile
+++ b/misc/pyobd/Makefile
@@ -1,42 +1,58 @@
 PORTNAME=	pyobd
-DISTVERSION=	0.9.3
-PORTREVISION=	15
+DISTVERSIONPREFIX=	v
+DISTVERSION=	1.19
 CATEGORIES=	misc
-MASTER_SITES=	http://www.obdtester.com/download/
-DISTNAME=	pyobd_${PORTVERSION}
+#MASTER_SITES=	http://www.obdtester.com/download/
+#DISTNAME=	pyobd_${PORTVERSION}
 
 MAINTAINER=	yuri@FreeBSD.org
 COMMENT=	OBD-II compliant car diagnostic tool
-WWW=		http://www.obdtester.com/pyobd
+WWW=		http://www.obdtester.com/pyobd \
+		https://github.com/barracuda-fsh/pyobd
 
 LICENSE=	GPLv2
 LICENSE_FILE=	${WRKSRC}/COPYING
 
-RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}pyserial>0:comms/py-pyserial@${PY_FLAVOR}
-
-USES=		dos2unix gnome magick:6,build python shebangfix
-DOS2UNIX_FILES=	${PORTNAME}.desktop
-SHEBANG_FILES=	${PORTNAME}
+BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}pillow>=10.4.0:graphics/py-pillow@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}setuptools>=61.0:devel/py-setuptools@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}numpy>=1.23:math/py-numpy@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}pillow>=10.4.0:graphics/py-pillow@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}pint>=0.20.1:devel/py-pint@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}pyserial>=3.5:comms/py-pyserial@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}six>=1.16.0:devel/py-six@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}tornado>=3.2.1:www/py-tornado@${PY_FLAVOR}
+
+USES=		dos2unix gnome python shebangfix
+USE_PYTHON=	autoplist pep517
 USE_WX=		3.2
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	barracuda-fsh
+
+SHEBANG_FILES=	pyobd.py
+
 WX_COMPS=	python
 
 NO_ARCH=	yes
 
-WRKSRC=		${WRKDIR}/${PORTNAME}-${PORTVERSION}
+PLIST_FILES=	bin/pyobd \
+		share/applications/pyobd.desktop \
+		share/icons/hicolor/32x32/apps/pyobd.png \
+		%%PYTHON_SITELIBDIR%%/pyobd.ico
 
-do-build:
-	@convert ${WRKSRC}/${PORTNAME}.gif ${WRKSRC}/${PORTNAME}.png
+post-build:
+	@${PYTHON_CMD} -c "from PIL import Image; Image.open('${WRKSRC}/${PORTNAME}.gif').save('${WRKSRC}/${PORTNAME}.png')"
 
-do-install:
-	${INSTALL_DATA} ${WRKSRC}/${PORTNAME}.desktop \
+post-install:
+	@(${ECHO_CMD} "#!/bin/sh"; \
+	  ${ECHO_CMD} "exec ${PYTHON_CMD} -m pyobd \"\$$@\"") > ${STAGEDIR}${PREFIX}/bin/${PORTNAME}
+	@${CHMOD} +x ${STAGEDIR}${PREFIX}/bin/${PORTNAME}
+	${INSTALL_DATA} ${FILESDIR}/${PORTNAME}.desktop \
 		${STAGEDIR}${PREFIX}/share/applications/${PORTNAME}.desktop
 	@${MKDIR} ${STAGEDIR}${PREFIX}/share/icons/hicolor/32x32/apps
 	${INSTALL_DATA} ${WRKSRC}/${PORTNAME}.png \
 		${STAGEDIR}${PREFIX}/share/icons/hicolor/32x32/apps/${PORTNAME}.png
-	@${MKDIR} ${STAGEDIR}${DATADIR}
-	${INSTALL_DATA} ${WRKSRC}/${PORTNAME} ${WRKSRC}/*.py ${WRKSRC}/*.pyc \
-		${STAGEDIR}${DATADIR}
-	@${CHMOD} +x ${STAGEDIR}${DATADIR}/${PORTNAME}
-	@${LN} -sf ../share/${PORTNAME}/${PORTNAME} ${STAGEDIR}${PREFIX}/bin/${PORTNAME}
+	${INSTALL_DATA} ${WRKSRC}/${PORTNAME}.ico ${STAGEDIR}${PYTHON_SITELIBDIR}/
 
 .include <bsd.port.mk>
diff --git a/misc/pyobd/distinfo b/misc/pyobd/distinfo
index 537284ea2fd5..30c060b03492 100644
--- a/misc/pyobd/distinfo
+++ b/misc/pyobd/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1468366650
-SHA256 (pyobd_0.9.3.tar.gz) = f3004db4000e2bc166aae3b4342c98aa62f74f3372c5829472af0ee56c5e110c
-SIZE (pyobd_0.9.3.tar.gz) = 768154
+TIMESTAMP = 1781892413
+SHA256 (barracuda-fsh-pyobd-v1.19_GH0.tar.gz) = 94ce6f7574cff7ed3a8412002c06a6bea2251fed0bb1f890db33ad080154d10f
+SIZE (barracuda-fsh-pyobd-v1.19_GH0.tar.gz) = 304818
diff --git a/misc/pyobd/files/patch-pyobd b/misc/pyobd/files/patch-pyobd
deleted file mode 100644
index a65d6c4f978c..000000000000
--- a/misc/pyobd/files/patch-pyobd
+++ /dev/null
@@ -1,47 +0,0 @@
---- pyobd.orig	2015-04-21 10:02:41 UTC
-+++ pyobd
-@@ -356,7 +356,7 @@ class MyApp(wx.App):
-         else:
-           self.configfilepath=os.environ['HOME']+'/.pyobdrc'
-         if self.config.read(self.configfilepath)==[]:
--          self.COMPORT="/dev/ttyACM0"
-+          self.COMPORT="/dev/ttyU0"
-           self.RECONNATTEMPTS=5
-           self.SERTIMEOUT=2
-         else:
-@@ -592,34 +592,7 @@ the Free Software Foundation, Inc., 59 T
-     def scanSerial(self):
-         """scan for available ports. return a list of serial names"""
-         available = []
--        for i in range(256):
--          try: #scan standart ttyS*
--            s = serial.Serial(i)
--            available.append(s.portstr)
--            s.close()   # explicit close 'cause of delayed GC in java
--          except serial.SerialException:
--            pass
--        for i in range(256):
--          try: #scan USB ttyACM
--            s = serial.Serial("/dev/ttyACM"+str(i))
--            available.append(s.portstr)
--            s.close()   # explicit close 'cause of delayed GC in java
--          except serial.SerialException:
--            pass
--        for i in range(256):
--          try:
--            s = serial.Serial("/dev/ttyUSB"+str(i))
--            available.append(s.portstr)
--            s.close()   # explicit close 'cause of delayed GC in java
--          except serial.SerialException:
--            pass
--        for i in range(256):
--          try:
--            s = serial.Serial("/dev/ttyd"+str(i))
--            available.append(s.portstr)
--            s.close()   # explicit close 'cause of delayed GC in java
--          except serial.SerialException:
--            pass
-+        available.append("/dev/ttyU0")
-             
-         # ELM-USB shows up as /dev/tty.usbmodemXXXX, where XXXX is a changing hex string
-         # on connection; so we have to search through all 64K options
diff --git a/misc/pyobd/files/patch-pyobd.desktop b/misc/pyobd/files/patch-pyobd.desktop
deleted file mode 100644
index d70f1d2b4b5c..000000000000
--- a/misc/pyobd/files/patch-pyobd.desktop
+++ /dev/null
@@ -1,16 +0,0 @@
---- pyobd.desktop.orig	2016-07-21 17:05:31 UTC
-+++ pyobd.desktop
-@@ -1,9 +1,10 @@
- [Desktop Entry]
- Encoding=UTF8
--Icon=/usr/share/pyobd/pyobd.gif
--Name=pyOBD: OBD2 Diagnostics
-+Icon=pyOBD
-+Name=pyOBD
-+GenericName=OBD2 Diagnostics
- Comment=Car On-Board 2 vehicle diagnostics (ELM-32x compatible interface)
--Exec=python /usr/bin/pyobd
-+Exec=pyobd
- Terminal=false
- Type=Application
- Categories=Utility;
diff --git a/misc/pyobd/files/patch-pyobd.py b/misc/pyobd/files/patch-pyobd.py
new file mode 100644
index 000000000000..c2b6e6b65ae8
--- /dev/null
+++ b/misc/pyobd/files/patch-pyobd.py
@@ -0,0 +1,14 @@
+-- Fix path calculation in resource_path when PyInstaller is not used.
+-- Falling back to os.path.dirname(os.path.abspath(__file__)) ensures resource files (like pyobd.ico) are correctly found next to the script in site-packages.
+--
+--- pyobd.py.orig	2026-06-19 19:04:49 UTC
++++ pyobd.py
+@@ -127,7 +127,7 @@ def resource_path(relative_path):
+         # PyInstaller creates a temp folder and stores path in _MEIPASS
+         base_path = sys._MEIPASS
+     except Exception:
+-        base_path = os.path.abspath(".")
++        base_path = os.path.dirname(os.path.abspath(__file__))
+ 
+     return os.path.join(base_path, relative_path)
+ 
diff --git a/misc/pyobd/files/patch-pyproject.toml b/misc/pyobd/files/patch-pyproject.toml
new file mode 100644
index 000000000000..7987e5e8eb56
--- /dev/null
+++ b/misc/pyobd/files/patch-pyproject.toml
@@ -0,0 +1,27 @@
+-- Fix format of project.license field in pyproject.toml to comply with PEP 621.
+-- The original format uses a string instead of a table, which is invalid PEP 621 metadata and causes the PEP 517 build backend to fail validation.
+--
+--- pyproject.toml.orig	2026-06-19 18:31:19 UTC
++++ pyproject.toml
+@@ -9,14 +9,18 @@ dependencies = [
+     "six==1.16.0",
+ ]
+ 
+-name = "pyobd2"
+-version = "1.17"
++name = "pyobd"
++version = "1.19"
+ description = "An OBD-II compliant car diagnostic tool "
+ authors = [{ "name" = "Jure Poljsak" }, { "name" = "Charles Donour Sizemore" }]
+ readme = "README.md"
+-license = "GPL-2.0-only"
++license = {text = "GPL-2.0-only"}
+ requires-python = ">=3.8"
+ 
+ [build-system]
+ requires = ["setuptools", "wheel"]
+ build-backend = "setuptools.build_meta"
++
++[tool.setuptools]
++packages = ["obd", "obd.protocols"]
++py-modules = ["pyobd", "obd2_codes", "obd_io", "obd_sensors", "debugEvent"]
diff --git a/misc/pyobd/files/pyobd.desktop b/misc/pyobd/files/pyobd.desktop
new file mode 100644
index 000000000000..f515955a190c
--- /dev/null
+++ b/misc/pyobd/files/pyobd.desktop
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Encoding=UTF8
+Icon=pyobd
+Name=pyOBD
+GenericName=OBD2 Diagnostics
+Comment=Car On-Board 2 vehicle diagnostics (ELM-32x compatible interface)
+Exec=pyobd
+Terminal=false
+Type=Application
+Categories=Utility;
diff --git a/misc/pyobd/pkg-plist b/misc/pyobd/pkg-plist
deleted file mode 100644
index bdc1d1ef8586..000000000000
--- a/misc/pyobd/pkg-plist
+++ /dev/null
@@ -1,12 +0,0 @@
-bin/pyobd
-share/applications/pyobd.desktop
-share/icons/hicolor/32x32/apps/pyobd.png
-%%DATADIR%%/debugEvent.py
-%%DATADIR%%/debugEvent.pyc
-%%DATADIR%%/obd2_codes.py
-%%DATADIR%%/obd2_codes.pyc
-%%DATADIR%%/obd_io.py
-%%DATADIR%%/obd_io.pyc
-%%DATADIR%%/obd_sensors.py
-%%DATADIR%%/obd_sensors.pyc
-%%DATADIR%%/pyobd


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6a359377.306e4.65ee5238>