about summary refs log tree commit diff
path: root/nixpkgs/pkgs/tools/filesystems/netatalk/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/tools/filesystems/netatalk/default.nix')
-rw-r--r--nixpkgs/pkgs/tools/filesystems/netatalk/default.nix61
1 files changed, 61 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/tools/filesystems/netatalk/default.nix b/nixpkgs/pkgs/tools/filesystems/netatalk/default.nix
new file mode 100644
index 000000000000..0a4207d0715f
--- /dev/null
+++ b/nixpkgs/pkgs/tools/filesystems/netatalk/default.nix
@@ -0,0 +1,61 @@
+{ fetchurl, stdenv, autoreconfHook, pkgconfig, perl, python
+, db, libgcrypt, avahi, libiconv, pam, openssl, acl
+, ed, glibc, libevent
+}:
+
+stdenv.mkDerivation rec{
+  name = "netatalk-3.1.12";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/netatalk/netatalk/${name}.tar.bz2";
+    sha256 = "1ld5mnz88ixic21m6f0xcgf8v6qm08j6xabh1dzfj6x47lxghq0m";
+  };
+
+  patches = [
+    ./no-suid.patch
+    ./omitLocalstatedirCreation.patch
+  ];
+
+  nativeBuildInputs = [ autoreconfHook pkgconfig perl python python.pkgs.wrapPython ];
+
+  buildInputs = [ db libgcrypt avahi libiconv pam openssl acl libevent ];
+
+  configureFlags = [
+    "--with-bdb=${db.dev}"
+    "--with-ssl-dir=${openssl.dev}"
+    "--with-lockfile=/run/lock/netatalk"
+    "--with-libevent=${libevent.dev}"
+    "--localstatedir=/var/lib"
+  ];
+
+  # Expose librpcsvc to the linker for afpd
+  # Fixes errors that showed up when closure-size was merged:
+  # afpd-nfsquota.o: In function `callaurpc':
+  # netatalk-3.1.7/etc/afpd/nfsquota.c:78: undefined reference to `xdr_getquota_args'
+  # netatalk-3.1.7/etc/afpd/nfsquota.c:78: undefined reference to `xdr_getquota_rslt'
+  postConfigure = ''
+    ${ed}/bin/ed -v etc/afpd/Makefile << EOF
+    /^afpd_LDADD
+    /am__append_2
+    a
+      ${glibc.static}/lib/librpcsvc.a \\
+    .
+    w
+    EOF
+  '';
+
+  postInstall = ''
+    buildPythonPath ${python.pkgs.dbus-python}
+    patchPythonScript $out/bin/afpstats
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = {
+    description = "Apple Filing Protocol Server";
+    homepage = http://netatalk.sourceforge.net/;
+    license = stdenv.lib.licenses.gpl3;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ jcumming ];
+  };
+}