summaryrefslogtreecommitdiff
path: root/filesystems/lkl
diff options
context:
space:
mode:
authorRobert Clausecker <fuz@FreeBSD.org>2024-09-27 12:48:46 +0200
committerRobert Clausecker <fuz@FreeBSD.org>2024-11-06 16:17:35 +0100
commit6e2da9672f79f44048d597f0f61e4646cdeade9d (patch)
treec92e4b3158e3419e8cec38e00227d08dcdaab3e9 /filesystems/lkl
parentmath/sdpa: speed up build (diff)
filesystems: add new category for file systems and related utilities
The filesystems category houses file systems and file system utilities. It is added mainly to turn the sysutils/fusefs-* pseudo-category into a proper one, but is also useful for the sundry of other file systems related ports found in the tree. Ports that seem like they belong there are moved to the new category. Two ports, sysutils/fusefs-funionfs and sysutils/fusefs-fusepak are not moved as they currently don't fetch and don't have TIMESTAMP set in their distinfo, but that is required to be able to push a rename of the port by the pre-receive hook. Approved by: portmgr (rene) Reviewed by: mat Pull Request: https://github.com/freebsd/freebsd-ports/pull/302 PR: 281988
Diffstat (limited to 'filesystems/lkl')
-rw-r--r--filesystems/lkl/Makefile42
-rw-r--r--filesystems/lkl/distinfo3
-rw-r--r--filesystems/lkl/files/patch-Makefile15
-rw-r--r--filesystems/lkl/files/patch-Targets18
-rw-r--r--filesystems/lkl/pkg-descr1
5 files changed, 79 insertions, 0 deletions
diff --git a/filesystems/lkl/Makefile b/filesystems/lkl/Makefile
new file mode 100644
index 000000000000..c56be9005f7e
--- /dev/null
+++ b/filesystems/lkl/Makefile
@@ -0,0 +1,42 @@
+PORTNAME= lkl
+DISTVERSION= 4.16.g20180628
+PORTREVISION= 4
+CATEGORIES= filesystems
+PKGNAMEPREFIX= fusefs-
+
+MAINTAINER= cem@FreeBSD.org
+COMMENT= Full-featured Linux BTRFS, Ext4, XFS as a FUSE module
+WWW= https://github.com/lkl/linux/
+
+LICENSE= GPLv2
+
+BUILD_DEPENDS= gnubc>0:math/gnubc \
+ gnustat:sysutils/coreutils \
+ gsed:textproc/gsed
+
+USES= bison:build fuse gmake python:build shebangfix
+SHEBANG_FILES= ../../arch/lkl/scripts/headers_install.py
+BINARY_ALIAS= sed=gsed \
+ stat=gnustat
+USE_BINUTILS= yes:build
+USE_GCC= yes:build
+USE_GITHUB= yes
+GH_PROJECT= linux
+GH_TAGNAME= 86dd3afb590eccc1903611bdaa8bac87757eb80d
+
+ONLY_FOR_ARCHS= amd64
+ONLY_FOR_ARCHS_REASON=ld formats not available for other architectures
+
+WRKSRC_SUBDIR= tools/lkl
+MAKE_JOBS_UNSAFE=yes
+MAKE_ARGS+= V=1
+# Need ports versions of 'bc', 'ld' to build!
+MAKE_ARGS+= PATH="${LOCALBASE}/bin:${PATH}" CC="${CC}" HOSTCC="${CC}"
+
+PLIST_FILES= bin/lklfuse lib/liblkl.a
+
+do-install:
+ ${INSTALL_PROGRAM} ${WRKSRC}/lklfuse ${STAGEDIR}${PREFIX}/bin
+ ${INSTALL_DATA} ${WRKSRC}/liblkl.a ${STAGEDIR}${PREFIX}/lib
+
+.include <bsd.port.mk>
diff --git a/filesystems/lkl/distinfo b/filesystems/lkl/distinfo
new file mode 100644
index 000000000000..3a765d45de46
--- /dev/null
+++ b/filesystems/lkl/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1530225787
+SHA256 (lkl-linux-4.16.g20180628-86dd3afb590eccc1903611bdaa8bac87757eb80d_GH0.tar.gz) = d63cccf64ab8938389b0054e3e68ee467100bfc98475b1864ab7dac542d51317
+SIZE (lkl-linux-4.16.g20180628-86dd3afb590eccc1903611bdaa8bac87757eb80d_GH0.tar.gz) = 164254140
diff --git a/filesystems/lkl/files/patch-Makefile b/filesystems/lkl/files/patch-Makefile
new file mode 100644
index 000000000000..09b164e2c5f6
--- /dev/null
+++ b/filesystems/lkl/files/patch-Makefile
@@ -0,0 +1,15 @@
+--- Makefile.orig 2018-06-12 22:43:19 UTC
++++ Makefile
+@@ -61,10 +61,10 @@ endif
+
+ # rule to build lkl.o
+ $(OUTPUT)lib/lkl.o: bin/stat
+- $(Q)$(MAKE) -C ../.. ARCH=lkl $(KOPT) $(KCONFIG)
++ $(Q)$(MAKE) -C ../.. ARCH=lkl LDFLAGS= $(KOPT) $(KCONFIG)
+ # this workaround is for arm32 linker (ld.gold)
+ $(Q)export PATH=$(srctree)/tools/lkl/bin/:${PATH} ;\
+- $(MAKE) -C ../.. ARCH=lkl $(KOPT) install INSTALL_PATH=$(OUTPUT)
++ $(MAKE) -C ../.. ARCH=lkl LDFLAGS= $(KOPT) install INSTALL_PATH=$(OUTPUT)
+
+ # rules to link libs
+ $(OUTPUT)%$(SOSUF): LDFLAGS += -shared
diff --git a/filesystems/lkl/files/patch-Targets b/filesystems/lkl/files/patch-Targets
new file mode 100644
index 000000000000..e1fe24075c09
--- /dev/null
+++ b/filesystems/lkl/files/patch-Targets
@@ -0,0 +1,18 @@
+--- Targets.orig 2018-06-12 22:43:19 UTC
++++ Targets
+@@ -10,15 +10,6 @@ LDLIBS_lib/hijack/liblkl-hijack-$(LKL_HOST_CONFIG_ANDR
+ progs-$(LKL_HOST_CONFIG_FUSE) += lklfuse
+ LDLIBS_lklfuse-y := -lfuse
+
+-progs-$(LKL_HOST_CONFIG_ARCHIVE) += fs2tar
+-LDLIBS_fs2tar-y := -larchive
+-LDLIBS_fs2tar-$(LKL_HOST_CONFIG_NEEDS_LARGP) += -largp
+-
+-
+-progs-$(LKL_HOST_CONFIG_ARCHIVE) += cptofs
+-LDLIBS_cptofs-y := -larchive
+-LDLIBS_cptofs-$(LKL_HOST_CONFIG_NEEDS_LARGP) += -largp
+-
+ progs-y += tests/boot
+ progs-y += tests/disk
+ progs-y += tests/net-test
diff --git a/filesystems/lkl/pkg-descr b/filesystems/lkl/pkg-descr
new file mode 100644
index 000000000000..bee83838ac5e
--- /dev/null
+++ b/filesystems/lkl/pkg-descr
@@ -0,0 +1 @@
+Linux as a library; and BTRFS, Ext4, and XFS for FUSE.