From nobody Sun Feb 15 19:55:14 2026 X-Original-To: freebsd-java@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fDc8G6Zgcz6SD1S for ; Sun, 15 Feb 2026 19:55:26 +0000 (UTC) (envelope-from markus.graf@markusgraf.net) Received: from mx.markusgraf.net (mx.markusgraf.net [IPv6:2a01:4f8:140:1132::50]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature ECDSA (prime256v1) client-digest SHA256) (Client CN "mx.markusgraf.net", Issuer "E7" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fDc8F74lrz46RZ for ; Sun, 15 Feb 2026 19:55:25 +0000 (UTC) (envelope-from markus.graf@markusgraf.net) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=markusgraf.net header.s=mg1 header.b="e/TlCTHN"; dmarc=pass (policy=none) header.from=markusgraf.net; spf=pass (mx1.freebsd.org: domain of markus.graf@markusgraf.net designates 2a01:4f8:140:1132::50 as permitted sender) smtp.mailfrom=markus.graf@markusgraf.net Received: from beasty.markusgraf.net (p200300e12f21e90001433c04c7857e1a.dip0.t-ipconnect.de [IPv6:2003:e1:2f21:e900:143:3c04:c785:7e1a]) by mx.markusgraf.net (Postfix) with ESMTPSA id EC5C794DB for ; Sun, 15 Feb 2026 20:55:14 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=markusgraf.net; s=mg1; t=1771185315; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type; bh=V9igX8LYcpZX7/g6UjtBJLR/U0ahCFSPH7tVUGqdnk0=; b=e/TlCTHNqejHhvmG6LjMHmP1mNhQQTu1HG1cwKjHghqLDjnI8SmEmnkF0xCSreg6s1IMy1 Cdwaonl69mVmAYAxDQPW2qhAhXIp5ujV9kwjw6BfOb5vpHrB2mSWpRJ3KJYHuA541BDFnA kCg/COyYlv4F5GEpje8KSWYG+4Yk544odL0ZImQnIpFff7JC9UpPeKMlBArpmd2cSlBjAb 9XsKnWOes03q3xC8Ouf4JNWNodhWcB1TGXVRhqSnwAXMvoYbRR2tHeZxG0DnJAWUJaq/ot SaqMPCRi4VzjQ1jFdQqbTlK4aqmk/MJUSM7bfKFPWfBbNvBAdskWbhSXaKkMhA== From: Markus Graf To: freebsd-java@freebsd.org Subject: Request for code review and feedback javacpp User-Agent: mu4e 1.12.13; emacs 30.2 Date: Sun, 15 Feb 2026 20:55:14 +0100 Message-ID: <864inhye71.fsf@beasty.markusgraf.net> List-Id: Porting Java to FreeBSD List-Archive: https://lists.freebsd.org/archives/freebsd-java List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-java@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; format=flowed X-Spamd-Result: default: False [-3.80 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-1.000]; DMARC_POLICY_ALLOW(-0.50)[markusgraf.net,none]; R_DKIM_ALLOW(-0.20)[markusgraf.net:s=mg1]; ONCE_RECEIVED(0.20)[]; R_SPF_ALLOW(-0.20)[+ip6:2a01:4f8:140:1132::50]; MIME_GOOD(-0.10)[text/plain]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCPT_COUNT_ONE(0.00)[1]; RCVD_COUNT_ONE(0.00)[1]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:24940, ipnet:2a01:4f8::/32, country:DE]; RCVD_TLS_ALL(0.00)[]; MLMMJ_DEST(0.00)[freebsd-java@freebsd.org]; MID_RHS_MATCH_FROMTLD(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; FROM_HAS_DN(0.00)[]; ARC_NA(0.00)[]; TO_DN_NONE(0.00)[]; PREVIOUSLY_DELIVERED(0.00)[freebsd-java@freebsd.org]; TO_MATCH_ENVRCPT_ALL(0.00)[]; DKIM_TRACE(0.00)[markusgraf.net:+] X-Rspamd-Queue-Id: 4fDc8F74lrz46RZ X-Spamd-Bar: --- Hello, I have forked javacpp in preparation for a pull request to make javacpp work on FreeBSD. JavaCPP generates CPP code to be used at build time to build native modules to be called from Java. This CPP Code has #ifdefs for Linux, Apple, Android and Win32 System calls. I added #ifdefs for FreeBSD to have the tests pass and changed one test. https://github.com/markusalbertgraf/javacpp The diff is here: https://github.com/bytedeco/javacpp/compare/master...markusalbertgraf:javacpp:FreeBSD The tests pass. I don't have any experience with Java, C++, or system calls as I mostly work on a Clojure backend with web frontend. I do however use https://github.com/datalevin/datalevin which startet depending on nativ dependencies built using javacpp, so here I go. I added FreeBSD #ifdefs to __Linux__/__Apple__/__Win32__/__Android__ #ifdefs using Gemini suggestions that I then referenced with FreeBSD man pages. I also had to guess what the intention of the Code was so I hope that most guesses are reasonable. Additionally on one test I decided, that it was the test that needed a correction for FreeBSD, not the generated Code. Please give some feedback on whether the Code is correct or what could be done better or instead. Best regards Markus -- Markus Graf Email: markus.graf@markusgraf.net