diff --git a/contrib/src/nfs/SHA512SUMS b/contrib/src/nfs/SHA512SUMS
new file mode 100644
index 0000000000000000000000000000000000000000..30ecabac041c60da79bebe914f8384767629d96d
--- /dev/null
+++ b/contrib/src/nfs/SHA512SUMS
@@ -0,0 +1 @@
+2a0e11dde5a2c4d25fcf1040d04ad984fe3b2e2ce5f544d602becb55aebdabbfe29a3b961d3db7d034c918862b540d3a03735bbbad0606ff3a128c50c2dad666  libnfs-1.9.8.tar.gz
diff --git a/contrib/src/nfs/rules.mak b/contrib/src/nfs/rules.mak
new file mode 100644
index 0000000000000000000000000000000000000000..45a19544480fb345e411ade2509a90fea04f95f5
--- /dev/null
+++ b/contrib/src/nfs/rules.mak
@@ -0,0 +1,26 @@
+# NFS
+NFS_VERSION := 1.9.8
+NFS_URL := https://github.com/sahlberg/libnfs/archive/libnfs-$(NFS_VERSION).tar.gz
+
+ifndef HAVE_WIN32
+PKGS += nfs
+endif
+ifeq ($(call need_pkg,"libnfs"),)
+PKGS_FOUND += nfs
+endif
+
+$(TARBALLS)/libnfs-$(NFS_VERSION).tar.gz:
+	$(call download,$(NFS_URL))
+
+.sum-nfs: libnfs-$(NFS_VERSION).tar.gz
+
+nfs: libnfs-$(NFS_VERSION).tar.gz .sum-nfs
+	$(UNPACK)
+	mv libnfs-libnfs-$(NFS_VERSION) libnfs-$(NFS_VERSION)
+	$(MOVE)
+
+.nfs: nfs
+	cd $< && ./bootstrap
+	cd $< && $(HOSTVARS) ./configure --disable-examples $(HOSTCONF)
+	cd $< && $(MAKE) install
+	touch $@