at 18.03-beta 40 lines 1.4 kB view raw
1{ stdenv, fetchurl, perl, coreutils }: 2 3stdenv.mkDerivation rec { 4 name = "berkeley_upc-2.22.0"; 5 6 src = fetchurl { 7 url = "http://upc.lbl.gov/download/release/${name}.tar.gz"; 8 sha256 = "041l215x8z1cvjcx7kwjdgiaf9rl2d778k6kiv8q09bc68nwd44m"; 9 }; 10 11 postPatch = '' 12 patchShebangs . 13 ''; 14 15 # Used during the configure phase 16 ENVCMD = "${coreutils}/bin/env"; 17 18 nativeBuildInputs = [ coreutils ]; 19 buildInputs = [ perl ]; 20 21 meta = with stdenv.lib; { 22 description = "A compiler for the Berkely Unified Parallel C language"; 23 longDescription = '' 24 Unified Parallel C (UPC) is an extension of the C programming language 25 designed for high performance computing on large-scale parallel 26 machines.The language provides a uniform programming model for both 27 shared and distributed memory hardware. The programmer is presented with 28 a single shared, partitioned address space, where variables may be 29 directly read and written by any processor, but each variable is 30 physically associated with a single processor. UPC uses a Single Program 31 Multiple Data (SPMD) model of computation in which the amount of 32 parallelism is fixed at program startup time, typically with a single 33 thread of execution per processor. 34 ''; 35 homepage = http://upc.lbl.gov/; 36 license = licenses.mit; 37 platforms = with platforms; [ linux ]; 38 maintainers = with maintainers; [ zimbatm ]; 39 }; 40}