nur-packages

My NUR packages
git clone git://git.sikmir.ru/nur-packages
Log | Files | Refs | README | LICENSE

package.nix (1694B)


      1 {
      2   lib,
      3   stdenv,
      4   fetchurl,
      5   ed,
      6   qbe,
      7   makeWrapper,
      8   buildPackages,
      9 }:
     10 
     11 stdenv.mkDerivation (finalAttrs: {
     12   pname = "simple-cc";
     13   version = "0.1";
     14 
     15   __structuredAttrs = true;
     16 
     17   src = fetchurl {
     18     url = "https://www.simple-cc.org/releases/scc-${finalAttrs.version}.tar.gz";
     19     hash = "sha256-0oZUxtl1GxUMmeXLHhSn2SVQdOyaWzPn7IP4jnlcaS8=";
     20   };
     21 
     22   postPatch = ''
     23     substituteInPlace scripts/build/tool/gnu.mk \
     24       --replace-fail "TOOL_LDFLAGS" "#TOOL_LDFLAGS"
     25     substituteInPlace scripts/rules.mk \
     26       --replace-fail "PREFIX = /usr/local" "PREFIX = $out"
     27     substituteInPlace scripts/config \
     28       --replace-fail "PREFIX:=/usr/local" "PREFIX:=$out"
     29     substituteInPlace tests/Makefile \
     30       --replace-fail "libc/execute" "" \
     31       --replace-fail "cc/execute" "" \
     32       --replace-fail "make/execute" ""
     33   '';
     34 
     35   nativeBuildInputs = [
     36     ed
     37     qbe
     38     makeWrapper
     39   ];
     40 
     41   makeFlags = [
     42     "AR=${stdenv.cc.targetPrefix}ar"
     43     "AS=${stdenv.cc.targetPrefix}as"
     44     "CC=${stdenv.cc.targetPrefix}cc"
     45     "LD=${stdenv.cc.targetPrefix}ld"
     46     "RANLIB=${stdenv.cc.targetPrefix}ranlib"
     47     "HOSTCC=${buildPackages.stdenv.cc}/bin/${buildPackages.stdenv.cc.targetPrefix}cc"
     48   ];
     49 
     50   doCheck = false;
     51   checkTarget = "tests";
     52 
     53   postInstall = ''
     54     for i in $out/bin/*; do
     55       wrapProgram $i --prefix PATH : ${
     56         lib.makeBinPath [
     57           "$out"
     58           qbe
     59         ]
     60       }
     61     done
     62   '';
     63 
     64   meta = {
     65     description = "Simple c99 compiler";
     66     homepage = "https://www.simple-cc.org/";
     67     license = lib.licenses.isc;
     68     maintainers = [ lib.maintainers.sikmir ];
     69     platforms = lib.platforms.linux;
     70     skip.ci = stdenv.isDarwin;
     71     broken = true;
     72   };
     73 })