Unverified Commit c6e7c04e authored by Weijia Wang's avatar Weijia Wang Committed by GitHub
Browse files

Merge pull request #229409 from jcumming/netatalk-3-1-15

netatalk: 3.1.13 -> 3.1.15
parents 85a5330b 73e5eb89
Loading
Loading
Loading
Loading
+3 −87
Original line number Diff line number Diff line
@@ -20,86 +20,18 @@

stdenv.mkDerivation (finalAttrs: {
  pname = "netatalk";
  version = "3.1.13";
  version = "3.1.15";

  src = fetchurl {
    url = "mirror://sourceforge/netatalk/netatalk/netatalk-${finalAttrs.version}.tar.bz2";
    hash = "sha256-ia2mvP4bOa2U9YwjZlTR2UTyZFw+femLM3TgvTfV4F0=";
    hash = "sha256-2NSlzA/Yaw2Q4BfWTB9GI+jNv72lcPxCOt4RUak9GfU=";
  };

  patches = [
    ./000-no-suid.patch
    ./001-omit-localstatedir-creation.patch
    (fetchpatch {
      name = "make-afpstats-python3-compatible.patch";
      url = "https://github.com/Netatalk/Netatalk/commit/916b515705cf7ba28dc53d13202811c6e1fe6a9e.patch";
      sha256 = "sha256-DAABpYjQPJLsQBhmtP30gA357w0Qn+AsnFgAeyDC/Rg=";
    })
  ];

  freeBSDPatches = [
    # https://bugs.freebsd.org/263123
    (fetchpatch {
      name = "patch-etc_afpd_directory.c";
      url = "https://cgit.freebsd.org/ports/plain/net/netatalk3/files/patch-etc_afpd_directory.c";
      sha256 = "sha256-07YAJs+EtqGcFXbYHDLbILved1Ebtd8ukQepvzy6et0=";
    })
    (fetchpatch {
      name = "patch-etc_afpd_file.c";
      url = "https://cgit.freebsd.org/ports/plain/net/netatalk3/files/patch-etc_afpd_file.c";
      sha256 = "sha256-T1WTNa2G6wxKtvMa/MCX3Vx6XZBHtU6w3enkdGuIWus=";
    })
    (fetchpatch {
      name = "patch-etc_afpd_volume.c";
      url = "https://cgit.freebsd.org/ports/plain/net/netatalk3/files/patch-etc_afpd_volume.c";
      sha256 = "sha256-NOZNZGzA0hxrNkoLTvN64h40yApPbMH4qIfBTpQoI0s=";
    })
    (fetchpatch {
      name = "patch-etc_cnid__dbd_cmd__dbd__scanvol.c";
      url = "https://cgit.freebsd.org/ports/plain/net/netatalk3/files/patch-etc_cnid__dbd_cmd__dbd__scanvol.c";
      sha256 = "sha256-5QV+tQDo8/XeKwH/e5+Ne+kEOl2uvRDbHMaWysIB6YU=";
    })
    (fetchpatch {
      name = "patch-libatalk_adouble_ad__attr.c";
      url =
        "https://cgit.freebsd.org/ports/plain/net/netatalk3/files/patch-libatalk_adouble_ad__attr.c";
      sha256 = "sha256-Ose6BdilwBOmoYpm8Jat1B3biOXJj4y3U4T49zE0G7Y=";
    })
    (fetchpatch {
      name = "patch-libatalk_adouble_ad__conv.c";
      url = "https://cgit.freebsd.org/ports/plain/net/netatalk3/files/patch-libatalk_adouble_ad__conv.c";
      sha256 = "sha256-T27WlKVXosv4bX5Gek2bR2cVDYEee5qrH4mnL9ghbP8=";
    })
    (fetchpatch {
      name = "patch-libatalk_adouble_ad__date.c";
      url = "https://cgit.freebsd.org/ports/plain/net/netatalk3/files/patch-libatalk_adouble_ad__date.c";
      sha256 = "sha256-fkW5A+7R5fT3bukRfZaOwFo7AsyPaYajc1hIlDMZMnc=";
    })
    (fetchpatch {
      name = "patch-libatalk_adouble_ad__flush.c";
      url = "https://cgit.freebsd.org/ports/plain/net/netatalk3/files/patch-libatalk_adouble_ad__flush.c";
      sha256 = "sha256-k2zTx35tAlsFHym83bZGoWXRomwFV9xT3r2fzr3Zvbk=";
    })
    (fetchpatch {
      name = "patch-libatalk_adouble_ad__open.c";
      url = "https://cgit.freebsd.org/ports/plain/net/netatalk3/files/patch-libatalk_adouble_ad__open.c";
      sha256 = "sha256-uV4wwft2IH54+4k5YR+Gz/BpRZBanxX/Ukp8BkohInU=";
    })
    # https://bugs.freebsd.org/251203
    (fetchpatch {
      name = "patch-libatalk_vfs_extattr.c";
      url = "https://cgit.freebsd.org/ports/plain/net/netatalk3/files/patch-libatalk_vfs_extattr.c";
      sha256 = "sha256-lFWF0Qo8PJv7QKvnMn0Fc9Ruzb+FTEWgOMpxc789jWs=";
    })
  ];

  postPatch = ''
    # freeBSD patches are -p0
    for i in $freeBSDPatches ; do
      patch -p0 < $i
    done
  '';

  nativeBuildInputs = [
    autoreconfHook
    pkg-config
@@ -123,27 +55,11 @@ stdenv.mkDerivation (finalAttrs: {
    "--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
      ${libtirpc}/lib/libtirpc.so \\
    .
    w
    EOF
  '';

  postInstall = ''
    sed -i -e "s%/usr/bin/env python%${python3}/bin/python3%" $out/bin/afpstats
    buildPythonPath ${python3.pkgs.dbus-python}
    patchPythonScript $out/bin/afpstats
  '';