From a21ead3d62069ddaa5b4f7f6c618a39a412967e5 Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Mon, 29 Jun 2015 12:58:07 +0200 Subject: [PATCH] jool: init at 3.3.2 Jool is a SIIT and a NAT64 implementation for Linux. --- pkgs/os-specific/linux/jool/cli.nix | 22 ++++++++++++++++++ pkgs/os-specific/linux/jool/default.nix | 30 +++++++++++++++++++++++++ pkgs/os-specific/linux/jool/source.nix | 9 ++++++++ pkgs/top-level/all-packages.nix | 3 +++ 4 files changed, 64 insertions(+) create mode 100644 pkgs/os-specific/linux/jool/cli.nix create mode 100644 pkgs/os-specific/linux/jool/default.nix create mode 100644 pkgs/os-specific/linux/jool/source.nix diff --git a/pkgs/os-specific/linux/jool/cli.nix b/pkgs/os-specific/linux/jool/cli.nix new file mode 100644 index 000000000000..8fb37ed1c5b8 --- /dev/null +++ b/pkgs/os-specific/linux/jool/cli.nix @@ -0,0 +1,22 @@ +{ stdenv, fetchzip, autoreconfHook, pkgconfig, libnl }: + +let + sourceAttrs = (import ./source.nix) { inherit fetchzip; }; +in + +stdenv.mkDerivation { + name = "jool-cli-${sourceAttrs.version}"; + + src = sourceAttrs.src; + + sourceRoot = "Jool-${sourceAttrs.version}.zip/usr"; + + buildInputs = [ autoreconfHook pkgconfig libnl ]; + + meta = with stdenv.lib; { + homepage = https://www.jool.mx/; + description = "Fairly compliant SIIT and Stateful NAT64 for Linux - CLI tools"; + platforms = platforms.linux; + maintainers = with maintainers; [ fpletz ]; + }; +} diff --git a/pkgs/os-specific/linux/jool/default.nix b/pkgs/os-specific/linux/jool/default.nix new file mode 100644 index 000000000000..fdb2f041a658 --- /dev/null +++ b/pkgs/os-specific/linux/jool/default.nix @@ -0,0 +1,30 @@ +{ stdenv, fetchzip, kernel }: + +let + sourceAttrs = (import ./source.nix) { inherit fetchzip; }; +in + +stdenv.mkDerivation { + name = "jool-${sourceAttrs.version}-${kernel.version}"; + + src = sourceAttrs.src; + + prePatch = '' + sed -e 's@/lib/modules/\$(.*)@${kernel.dev}/lib/modules/${kernel.modDirVersion}@' -i mod/*/Makefile + ''; + + buildPhase = '' + make -C mod + ''; + + installPhase = '' + make -C mod modules_install INSTALL_MOD_PATH=$out + ''; + + meta = with stdenv.lib; { + homepage = https://www.jool.mx/; + description = "Fairly compliant SIIT and Stateful NAT64 for Linux - kernel modules"; + platforms = platforms.linux; + maintainers = with maintainers; [ fpletz ]; + }; +} diff --git a/pkgs/os-specific/linux/jool/source.nix b/pkgs/os-specific/linux/jool/source.nix new file mode 100644 index 000000000000..196167667e07 --- /dev/null +++ b/pkgs/os-specific/linux/jool/source.nix @@ -0,0 +1,9 @@ +{ fetchzip }: + +rec { + version = "3.3.2"; + src = fetchzip { + url = "https://www.jool.mx/download/Jool-${version}.zip"; + sha256 = "0hc6vlxzmjrgf7vjcwprdqcbx3biq8kphks5k725mrd9rb84drgw"; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b3e7849dd1a4..fafb11bb6dad 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9550,6 +9550,8 @@ let jfbview = callPackage ../os-specific/linux/jfbview { }; + jool-cli = callPackage ../os-specific/linux/jool/cli.nix { }; + jujuutils = callPackage ../os-specific/linux/jujuutils { }; kbd = callPackage ../os-specific/linux/kbd { }; @@ -9792,6 +9794,7 @@ let klibcShrunk = lowPrio (callPackage ../os-specific/linux/klibc/shrunk.nix { }); + jool = callPackage ../os-specific/linux/jool { }; /* compiles but has to be integrated into the kernel somehow Let's have it uncommented and finish it..