nur-packages

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

package.nix (1658B)


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