Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at fix-function-merge 40 lines 1.4 kB view raw
1{ lib, stdenv, fetchurl, perl, coreutils }: 2 3stdenv.mkDerivation rec { 4 pname = "berkeley_upc"; 5 version = "2020.12.0"; 6 7 src = fetchurl { 8 url = "http://upc.lbl.gov/download/release/berkeley_upc-${version}.tar.gz"; 9 sha256 = "sha256-JdpFORlXHpCQE+TivoQQnjQlxQN7C8BNfHvTOSwXbYQ="; 10 }; 11 12 postPatch = '' 13 patchShebangs . 14 ''; 15 16 # Used during the configure phase 17 ENVCMD = "${coreutils}/bin/env"; 18 19 buildInputs = [ perl ]; 20 21 meta = with lib; { 22 description = "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 = "https://upc.lbl.gov/"; 36 license = licenses.mit; 37 platforms = platforms.linux; 38 maintainers = with maintainers; [ zimbatm ]; 39 }; 40}