summary refs log tree commit diff
path: root/pkgs/os-specific/linux/gogoclient/default.nix
blob: d107f18c8da257da5018cffe37eb29285798b887 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
{stdenv, fetchurl, openssl, nettools, iproute, sysctl}:

let baseName = "gogoclient";
    version  = "1.2";
in

stdenv.mkDerivation rec {
  name = "${baseName}-${version}";

  src = fetchurl {
    #url = "http://gogo6.com/downloads/gogoc-1_2-RELEASE.tar.gz";
    url = "https://src.fedoraproject.org/repo/pkgs/gogoc/gogoc-1_2-RELEASE.tar.gz/41177ed683cf511cc206c7782c37baa9/gogoc-1_2-RELEASE.tar.gz";
    sha256 = "a0ef45c0bd1fc9964dc8ac059b7d78c12674bf67ef641740554e166fa99a2f49";
  };
  patches = [./gcc46-include-fix.patch ./config-paths.patch ];
  makeFlags = ["target=linux"];
  installFlags = ["installdir=$(out)"];

  hardeningDisable = [ "format" ];

  buildInputs = [openssl];

  preFixup = ''
    mkdir -p $out/share/${name}
    chmod 444 $out/bin/gogoc.conf
    mv $out/bin/gogoc.conf $out/share/${name}/gogoc.conf.sample
    rm $out/bin/gogoc.conf.sample

    substituteInPlace "$out/template/linux.sh" \
      --replace "/sbin/ifconfig" "${nettools}/bin/ifconfig" \
      --replace "/sbin/route"    "${nettools}/bin/route" \
      --replace "/sbin/ip"       "${iproute}/sbin/ip" \
      --replace "/sbin/sysctl"   "${sysctl}/bin/sysctl"
    sed -i -e 's/^.*Exec \$route -A.*$/& metric 128/' $out/template/linux.sh
  '';

  meta = with stdenv.lib; {
    homepage = "https://ipv6.ernet.in/Tunnel_broker";
    description = "Client to connect to the Freenet6 IPv6 tunnel broker service";
    maintainers = [ maintainers.bluescreen303 ];
    license = licenses.bsd3;
    platforms = platforms.linux;
  };
}