git: 0ef1b401a330 - main - devel/linuxapi: Linux userspace headers compatibility shim
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 20 Aug 2026 16:55:46 UTC
The branch main has been updated by arrowd:
URL: https://cgit.FreeBSD.org/ports/commit/?id=0ef1b401a330d350d8aa8d7f80aa9d3149ae2744
commit 0ef1b401a330d350d8aa8d7f80aa9d3149ae2744
Author: Gleb Popov <arrowd@FreeBSD.org>
AuthorDate: 2026-08-20 16:00:37 +0000
Commit: Gleb Popov <arrowd@FreeBSD.org>
CommitDate: 2026-08-20 16:54:53 +0000
devel/linuxapi: Linux userspace headers compatibility shim
---
devel/Makefile | 1 +
devel/linuxapi/Makefile | 31 +++++++++++++++++++++++++++++++
devel/linuxapi/distinfo | 3 +++
devel/linuxapi/pkg-descr | 5 +++++
devel/linuxapi/pkg-plist | 25 +++++++++++++++++++++++++
5 files changed, 65 insertions(+)
diff --git a/devel/Makefile b/devel/Makefile
index 0c60d3707fee..b76d3691bc70 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -1628,6 +1628,7 @@
SUBDIR += linux-rl9-systemd-libs
SUBDIR += linux-sublime-merge
SUBDIR += linux_libusb
+ SUBDIR += linuxapi
SUBDIR += listserialc
SUBDIR += liteide
SUBDIR += llama.el
diff --git a/devel/linuxapi/Makefile b/devel/linuxapi/Makefile
new file mode 100644
index 000000000000..9c681cb9f00c
--- /dev/null
+++ b/devel/linuxapi/Makefile
@@ -0,0 +1,31 @@
+PORTNAME= linuxapi
+PORTVERSION= g20260820
+CATEGORIES= devel
+
+MAINTAINER= arrowd@FreeBSD.org
+COMMENT= Linux userspace headers compatibility shim
+
+TEST_DEPENDS= cmake:devel/cmake-core
+
+USE_GITHUB= yes
+GH_ACCOUNT= freebsd
+GH_TAGNAME= f17d394249bc85165a871522af464b54cc2eec27
+
+NO_BUILD= yes
+NO_ARCH= yes
+
+TEST_TARGET= test
+
+.if exists(/usr/include/dev/ntsync/ntsync.h)
+PLIST_SUB+= NTSYNC=
+.else
+PLIST_SUB+= NTSYNC="@comment "
+.endif
+
+# Remove after updating CMake to >= 4.2.0
+post-install:
+ ${MKDIR} ${STAGEDIR}${PREFIX}/lib/cmake/linuxapi
+ ${RLN} ${STAGEDIR}${PREFIX}/share/cmake/linuxapi-config.cmake \
+ ${STAGEDIR}${PREFIX}/lib/cmake/linuxapi/linuxapi-config.cmake
+
+.include <bsd.port.mk>
diff --git a/devel/linuxapi/distinfo b/devel/linuxapi/distinfo
new file mode 100644
index 000000000000..eddea3cd92ad
--- /dev/null
+++ b/devel/linuxapi/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1787241443
+SHA256 (freebsd-linuxapi-g20260820-f17d394249bc85165a871522af464b54cc2eec27_GH0.tar.gz) = be05159b6aa31df9757fab07706682faa16fd6fd8c68b111dbe4dfd2ebf1793f
+SIZE (freebsd-linuxapi-g20260820-f17d394249bc85165a871522af464b54cc2eec27_GH0.tar.gz) = 5675
diff --git a/devel/linuxapi/pkg-descr b/devel/linuxapi/pkg-descr
new file mode 100644
index 000000000000..2c9eddb7eb62
--- /dev/null
+++ b/devel/linuxapi/pkg-descr
@@ -0,0 +1,5 @@
+linuxapi is a project intended to provide a subset of system headers usually
+found on Linux systems. linuxapi serves as a compatibility shim for projects
+that are heavily using Linux-specific headers and preprocessor macros, allowing
+for a faster porting process. It also improves maintainability of such ports
+without encumbering the upstream with FreeBSD-specific changes.
diff --git a/devel/linuxapi/pkg-plist b/devel/linuxapi/pkg-plist
new file mode 100644
index 000000000000..0c30210cec21
--- /dev/null
+++ b/devel/linuxapi/pkg-plist
@@ -0,0 +1,25 @@
+include/linuxapi/alloca.h
+include/linuxapi/errno.h
+include/linuxapi/limits.h
+include/linuxapi/linux/if_ether.h
+include/linuxapi/linux/in.h
+include/linuxapi/linux/in6.h
+include/linuxapi/linux/ioctl.h
+include/linuxapi/linux/ip.h
+include/linuxapi/linux/netlink.h
+%%NTSYNC%%include/linuxapi/linux/ntsync.h
+include/linuxapi/linux/rtnetlink.h
+include/linuxapi/linux/socket.h
+include/linuxapi/linux/stddef.h
+include/linuxapi/linux/types.h
+include/linuxapi/netinet/in.h
+include/linuxapi/netinet/tcp.h
+include/linuxapi/string.h
+include/linuxapi/sys/mman.h
+include/linuxapi/sys/sendfile.h
+include/linuxapi/sys/shm.h
+include/linuxapi/sys/socket.h
+include/linuxapi/sys/sysmacros.h
+lib/cmake/linuxapi/linuxapi-config.cmake
+share/cmake/linuxapi-config.cmake
+share/pkgconfig/linuxapi.pc