nur-packages

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

package.nix (1606B)


      1 {
      2   lib,
      3   stdenv,
      4   fetchzip,
      5   gcc-arm-embedded,
      6   zip,
      7   platform ? null,
      8   platformsub ? null,
      9   fi2key ? null,
     10   fi2iv ? null,
     11 }:
     12 
     13 let
     14   version = "1.6.1";
     15   revision = "6315"; # check on http://mighty-hoernsche.de/
     16   branch = "release-${lib.replaceStrings [ "." ] [ "_" ] (lib.versions.majorMinor version)}";
     17   optFI2 = fi2key != null && fi2iv != null;
     18   batchBuild = platform == null || platformsub == null;
     19 in
     20 stdenv.mkDerivation {
     21   pname = "chdk";
     22   inherit version;
     23 
     24   __structuredAttrs = true;
     25 
     26   src = fetchzip {
     27     url = "https://app.assembla.com/spaces/chdk/subversion/source/${revision}/branches/${branch}?_format=zip";
     28     extension = "zip";
     29     stripRoot = false;
     30     hash = "sha256-uka+Hn0gUoJS0XX5lqcY/crUx29KQSPrL2/OAg0vQKM=";
     31   };
     32 
     33   nativeBuildInputs = [
     34     gcc-arm-embedded
     35     zip
     36   ];
     37 
     38   buildFlags = [
     39     "DEF_SVN_REF=${revision}"
     40     "HOSTCC=${stdenv.cc.targetPrefix}cc"
     41   ]
     42   ++ lib.optionals (optFI2 && !batchBuild) [
     43     "OPT_FI2=1"
     44     "FI2KEY=${fi2key}"
     45     "FI2IV=${fi2iv}"
     46   ]
     47   ++ lib.optionals (!batchBuild) [
     48     "PLATFORM=${platform}"
     49     "PLATFORMSUB=${platformsub}"
     50     "firzipsubcomplete"
     51   ]
     52   ++ lib.optional batchBuild "batch-zip-complete";
     53 
     54   env.NIX_CFLAGS_COMPILE = "-Wno-format-security";
     55 
     56   installPhase = ''
     57     runHook preInstall
     58     install -Dm644 bin/*.zip -t $out
     59     runHook postInstall
     60   '';
     61 
     62   meta = {
     63     description = "Canon Hack Development Kit";
     64     homepage = "https://chdk.fandom.com/wiki/CHDK";
     65     license = lib.licenses.gpl2;
     66     platforms = lib.platforms.unix;
     67     maintainers = [ lib.maintainers.sikmir ];
     68     skip.ci = true;
     69   };
     70 }