From c49d9adc385ccff57ef020456f3700fe6878619d Mon Sep 17 00:00:00 2001 From: Sable Seyler Date: Thu, 17 Jun 2021 10:54:22 -0700 Subject: [PATCH] terra: fix LuaJIT fetch per @jnetod in #125896 --- pkgs/development/compilers/terra/default.nix | 26 ++++++++++++------- .../terra/disable-luajit-file-download.patch | 13 ---------- 2 files changed, 17 insertions(+), 22 deletions(-) delete mode 100644 pkgs/development/compilers/terra/disable-luajit-file-download.patch diff --git a/pkgs/development/compilers/terra/default.nix b/pkgs/development/compilers/terra/default.nix index 463d2893df71..ac1851a683bf 100644 --- a/pkgs/development/compilers/terra/default.nix +++ b/pkgs/development/compilers/terra/default.nix @@ -1,12 +1,15 @@ -{ lib, stdenv, fetchurl, fetchFromGitHub, llvmPackages, ncurses, cmake, libxml2 +{ lib, stdenv, fetchFromGitHub, llvmPackages, ncurses, cmake, libxml2 , symlinkJoin, breakpointHook, cudaPackages, enableCUDA ? false }: let luajitRev = "9143e86498436892cb4316550be4d45b68a61224"; - luajitArchive = "LuaJIT-${luajitRev}.tar.gz"; - luajitSrc = fetchurl { - url = "https://github.com/LuaJIT/LuaJIT/archive/${luajitRev}.tar.gz"; - sha256 = "0kasmyk40ic4b9dwd4wixm0qk10l88ardrfimwmq36yc5dhnizmy"; + luajitBase = "LuaJIT-${luajitRev}"; + luajitArchive = "${luajitBase}.tar.gz"; + luajitSrc = fetchFromGitHub { + owner = "LuaJIT"; + repo = "LuaJIT"; + rev = luajitRev; + sha256 = "1zw1yr0375d6jr5x20zvkvk76hkaqamjynbswpl604w6r6id070b"; }; llvmMerged = symlinkJoin { @@ -27,7 +30,7 @@ let in stdenv.mkDerivation rec { pname = "terra"; - version = "1.0.0-beta3"; + version = "1.0.0-beta3_${builtins.substring 0 7 src.rev}"; src = fetchFromGitHub { owner = "terralang"; @@ -41,7 +44,7 @@ in stdenv.mkDerivation rec { cmakeFlags = [ "-DHAS_TERRA_VERSION=0" - "-DTERRA_VERSION=release-1.0.0-beta3" + "-DTERRA_VERSION=${version}" "-DTERRA_LUA=luajit" "-DCLANG_RESOURCE_DIR=${llvmMerged}/lib/clang/${clangVersion}" ] ++ lib.optional enableCUDA "-DTERRA_ENABLE_CUDA=ON"; @@ -51,16 +54,21 @@ in stdenv.mkDerivation rec { hardeningDisable = [ "fortify" ]; outputs = [ "bin" "dev" "out" "static" ]; - patches = [ ./nix-cflags.patch ./disable-luajit-file-download.patch ]; + patches = [ ./nix-cflags.patch ]; postPatch = '' + sed -i '/file(DOWNLOAD "''${LUAJIT_URL}" "''${LUAJIT_TAR}")/d' \ + cmake/Modules/GetLuaJIT.cmake + substituteInPlace src/terralib.lua \ --subst-var-by NIX_LIBC_INCLUDE ${lib.getDev stdenv.cc.libc}/include ''; preConfigure = '' mkdir -p build - cp ${luajitSrc} build/${luajitArchive} + ln -s ${luajitSrc} build/${luajitBase} + tar --mode="a+rwX" -chzf build/${luajitArchive} -C build ${luajitBase} + rm build/${luajitBase} ''; installPhase = '' diff --git a/pkgs/development/compilers/terra/disable-luajit-file-download.patch b/pkgs/development/compilers/terra/disable-luajit-file-download.patch deleted file mode 100644 index 7d7d71b26f45..000000000000 --- a/pkgs/development/compilers/terra/disable-luajit-file-download.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/cmake/Modules/GetLuaJIT.cmake b/cmake/Modules/GetLuaJIT.cmake -index 023b5c2..8564b92 100644 ---- a/cmake/Modules/GetLuaJIT.cmake -+++ b/cmake/Modules/GetLuaJIT.cmake -@@ -63,8 +63,6 @@ string(CONCAT - "${CMAKE_SHARED_LIBRARY_SUFFIX}" - ) - --file(DOWNLOAD "${LUAJIT_URL}" "${LUAJIT_TAR}") -- - execute_process( - COMMAND "${CMAKE_COMMAND}" -E tar xzf "${LUAJIT_TAR}" - WORKING_DIRECTORY ${PROJECT_BINARY_DIR}