Created attachment 230898 [details] patch 0.8.20 camera: make set_frame_rate more robust for Basler cameras (Thies) misc: add runtime version API (Emmanuel) misc: ignore leading spaces in genicam data url (Emmanuel) misc: add get_device_manufacturer_info API (Emmanuel) qa: fix incorrect memory access (Jose) gstreamer: allow to select asynchronous USB mode (Christian) windows: fix thread priority helpers (Garfeng) meson: fix compilation using meson 0.60 (Emmanuel) doc: ubuntu 20.04 build do cimprovements (Brian) 0.8.19 camera: black level support (Brian) camera: GainAbs support for gain setting (Brian) camera: FrameBurstStart support for trigger configuration (Emmanuel) viewer: minor layout fixes (Emmanuel) ci: MSVC improvements (Siim) 0.8.18 usb3vision: fix header inclusion when USB is disabled (Marc) tests: register cache test (Emmanuel) 0.8.17 windows: Microsoft Visual C++ support (Siim) usb3vision: async mode (Takuro, Constantine) usb3vision: use GUID for device disambiguation (Takuro) test: extend test coverage in arv-test (Emmanuel) viewer: in-app notification for save error (Emmanuel) camera: make set_trigger more robust (Emmanuel) tool: add glob pattern based device and feature selection (Emmanuel) 0.8.16 ci: use Github actions for linux and macOS (Emmanuel) ci: minGW support (Václav) gigevision: use proper broadcast addresses during discovery (Václav) camera: accessor to float feature increment (Emmanuel) camera: make set_trigger more robust (Emmanuel) camera: fallback to Continuous mode if SingleFrame is not available (Emmanuel) viewer: allow to save a snapshot as png or jpeg image (Emmanuel) viewer: display all pixel formats in selector (Emmanuel) simulator: now works on Windows and macOS (Václav, Emmanuel) debug: fix output on Windows (Václav) doc: Windows build documentation (Václav) tests: new arv-test application for automated testing (Emmanuel) 0.8.15 gigevision: only disable packet resend after a packet unavailable error gigevision: add a new packet timeout for first packet resend request doc: improve GvStream property documentation code cleanup 0.8.14 debug: fix debug timestamp on older platforms (Emmanuel) 0.8.13 viewer: fix incorrect bandwidth and frame rate computation 0.8.12 usb3vision: initialize stream infos 0.8.11 stream: add an extensible info API (Emmanuel) gvstream: improve packet resend request behaviour in case of unordered gvsp packets (Emmanuel) gvstream: wait for thread setup during ArvGvStream initialization (Emmanuel) gigevision: use MAC as serial number fallback (Emmanuel) genicam: fix arv_exposure_mode_to_string (Martin) usb3vision: improve error reporting in case of libsub error (Emmanuel) usb3vision: automatically detach kernel driver (Emmanuel) cameratest: add a test duration parameter (Emmanuel) misc: rename internal ArvStatistic to ArvHistogram (Emmanuel) 0.8.10 arv-tool: make device enumeration faster (Emmanuel) debug: rework debug log levels (Emmanuel) fakegvcamera: improve streaming reliability - partly fix #499 (Emmanuel) gvstream: fix use after reference release - fix #504 (Emmanuel) genicam: String node support - fix #507 (Emmanuel) 0.8.9 windows: build fix (Emmanuel) 0.8.8 The most interesting improvement is a faster finalization of GigEvision device objects. gvdevice: faster finalization (Emmanuel) arv-camera-test: promote to installed application (Emmanuel) applications: fix policy parameter consistency (Emmanuel) debug: timestamped and modernized output (Emmanuel) genicam: add a range check debug mode (Emmanuel) camera: new DeviceSerialNumber getter (Emmanuel) 0.8.7 Aravis should now be usable on the Windows platform. This release also fixes some regressions introduced by the aravis 0.8 new (and less forgiving) error handling. camera: ignore Acquisitiontart feature setting failure (Emmanuel) camera: fix trigger setting for Basler cameras (Casperoo) camera: add set_exposure API (Emmanuel) gigevision: Windows support (Václav) usb3vision: better error packet handling (Emmanuel) genicam: allow get/set float from an int node (Emmanuel) genicam: allow multiple pIndex property nodes (Emmanuel) 0.8.6 This release adds an API for enabling at runtime a range check when setting Integer or Float feature value. It also fixes a regression in arv-fake-gv-camera utility, where it was not possible to set the listening interface anymore. camera: handle GainRaw also as a float feature camera: add arv_camera_new_with_device() camera: ignore error on TriggerSelector and TriggerMode setting in arv_camera_set_trigger() gigevision: fail quicker if a device is not found at ArvGvDevice instantiation fakegvcamera: fix interface selection genicam: implement optional range check for integer and float node values, as a runtime option genicam: fix min/max computation for StructEntry and MaskedIntReg nodes gstplugin: don't fail camera init if gain or exposure features are not available 0.8.5 The macOS build is now back under Travis continuous integration, and hopefully it will not break again. 0.8.4 ARAVIS_0_8_4 Aravis 0.8.4 release 0.8.3 The most important point in this release is the GigEVision packet size check that happens before the streaming start. A test packet is fired from the device to the host, and if it is not successful, Aravis tries to adjust the packet size to a working value. The behaviour of this packet size adjustment can be tweaked using arv_camera_gv_set_packet_size_adjustement (). gigevision: automatically adjust packet size if needed (Emmanuel) gstreamer: don’t try to set frame rate if feature is not available (Emmanuel) genicam: fix pVariable name with dot (Arrigo) genicam: fix parsing of genicam data url (Emmanuel) buffer: add arv_buffer_set_frame_id API (Russel) usb3vision: add Dahua Technology USB id (H.F) build: preparatory work for windows compilation (Eudoxos) 0.8.2 gvdevice: fix timeout race (casperoo) fakecamera: implement Mono16 pixel format (Hinko) Enable ppc64le in CI pipeline (nagesh) 0.8.1 ARAVIS_0_8_1 Release of aravis 0.8.1 0.8.0 ARAVIS_0_8_0 Release of Aravis 0.8.0 0.7.5 Pre-release 0.7.x pre-releases: https://download.gnome.org/sources/aravis/0.7/ 0.7.4 Pre-release 0.7.x pre-releases: https://download.gnome.org/sources/aravis/0.7/ 0_7_3 doc: replace relative file names by files() usage 0_7_2 Aravis 0.7.2 release 0_7_1 Unstable release of aravis 0.7.1 0_7_0 Release of unstable aravis 0.7.0 0_6_4 Aravis 0.6.4 stable release 0_6_3 Release of stable Aravis 0.6.3 0_6_2 Aravis 0.6.2 release 0_6_1 Aravis 0.6.1 release 0_6_0 Release of Aravis 0.6.0 0_5_13 Aravis 0.5.13 release
Created attachment 230976 [details] patch FreeBSD support merged to upstream.
Please split this into two patches and preferably also PRs in the future. Any reason why we can't use release archive provided by upstream which is also recommended by Porters Handbook? https://github.com/AravisProject/aravis/releases/tag/0.8.20 --> https://github.com/AravisProject/aravis/releases/download/0.8.20/aravis-0.8.20.tar.xz PATCHFILES+= --> PATCHFILES= LIB_DEPENDS+= --> LIB_DEPENDS= Is libtool really needed? Doesn't MESON_ARGS= -Dusb=disabled and -Dintrospection=disabled in multimedia/aravis clash with options in devel/libaravis ? Did you do run-time testing and do these port pass Poudriere?
portlint complains. FATAL: Makefile: [48]: contiguous blank lines (> 1 lines) found. WARN: Makefile: FAST_HEARTBEAT is listed in OPTIONS_DEFINE, but no PORT_OPTIONS:MFAST_HEARTBEAT appears. WARN: Makefile: USB is listed in OPTIONS_DEFINE, but no PORT_OPTIONS:MUSB appears. FATAL: Package conflicts with itself. You should remove "libaravis*" from CONFLICTS. WARN: Makefile: "USES" has to appear earlier. Easy to fix, no need to upload a new patch. Just remember to use portlint and portclippy. Cheers
Created attachment 231001 [details] patch
(In reply to Daniel Engberg from comment #2) > Please split this into two patches and preferably also PRs in the future. For now lib have only one consumer - viewer, so splitting have no sense. > Any reason why we can't use release archive provided by upstream which is also recommended by Porters Handbook? No, there is no technical reason for that. > Doesn't MESON_ARGS= -Dusb=disabled and -Dintrospection=disabled in multimedia/aravis clash with options in devel/libaravis ? No, it is separate build from same sources. > Did you do run-time testing and do these port pass Poudriere? No, I do not use it.
multimedia/aravis fails to build for me in poudriere: ... ... Library m found: YES Run-time dependency aravis-0.8 found: YES 0.8.20 Run-time dependency gtk+-3.0 found: YES 3.24.31 Run-time dependency gstreamer-base-1.0 found: YES 1.16.2 Run-time dependency gstreamer-app-1.0 found: YES 1.16.2 Run-time dependency gstreamer-video-1.0 found: YES 1.16.2 WARNING: Gettext not found, all translation targets will be ignored. Found pkg-config: /usr/local/bin/pkgconf (1.8.0) Program glib-compile-resources found: YES (/usr/local/bin/glib-compile-resources) Configuring arv-viewer-0.8.appdata.xml using configuration Configuring arv-viewer.desktop.in using configuration viewer/data/meson.build:11:0: ERROR: Can not assign None to variable. A full log can be found at /wrkdirs/usr/ports/multimedia/aravis/work/aravis-0.8.20/_build/meson-logs/meson-log.txt ===> Script "configure" failed unexpectedly. Please report the problem to rozhuk.im@gmail.com [maintainer] and attach the "/wrkdirs/usr/ports/multimedia/aravis/work/aravis-0.8.20/_build/meson-logs/meson-log.txt" including the output of the failure of your make command. Also, it might be a good idea to provide an overview of all packages installed on your system (e.g. a /usr/local/sbin/pkg-static info -g -Ea). *** Error code 1 Does it build for you?
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=7d0f2b043d4e9d0156a9f98eec740a69193b7ff2 commit 7d0f2b043d4e9d0156a9f98eec740a69193b7ff2 Author: Ivan Rozhuk <rozhuk.im@gmail.com> AuthorDate: 2022-01-14 12:45:40 +0000 Commit: Fernando Apesteguía <fernape@FreeBSD.org> CommitDate: 2022-02-17 09:31:41 +0000 devel/libaravis: multimedia/aravis: update to 0.8.20 ChangeLog: https://github.com/AravisProject/aravis/pull/620 PR: 261103 Reported by: rozhuk.im@gmail.com (maintainer) Reviewed by: diizzy@ devel/libaravis/Makefile | 37 ++- devel/libaravis/distinfo | 8 +- devel/libaravis/files/patch-Makefile.am (gone) | 20 -- devel/libaravis/files/patch-configure.ac (gone) | 11 - .../libaravis/files/patch-src_arvgvdevice.c (gone) | 27 -- .../files/patch-src_arvgvinterface.c (gone) | 10 - .../libaravis/files/patch-src_arvrealtime.c (gone) | 24 -- devel/libaravis/pkg-plist | 306 +++++++++++++-------- multimedia/aravis/Makefile | 34 +-- multimedia/aravis/distinfo | 6 +- multimedia/aravis/files/patch-Makefile.am (gone) | 41 --- multimedia/aravis/pkg-plist | 45 ++- 12 files changed, 268 insertions(+), 301 deletions(-)
Committed with changes. USES=gettext was missing. Please, ensure you use a clean environment for testing, like poudriere. Thanks!