package.nix (1577B)
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 src = fetchzip { 25 url = "https://app.assembla.com/spaces/chdk/subversion/source/${revision}/branches/${branch}?_format=zip"; 26 extension = "zip"; 27 stripRoot = false; 28 hash = "sha256-uka+Hn0gUoJS0XX5lqcY/crUx29KQSPrL2/OAg0vQKM="; 29 }; 30 31 nativeBuildInputs = [ 32 gcc-arm-embedded 33 zip 34 ]; 35 36 buildFlags = [ 37 "DEF_SVN_REF=${revision}" 38 "HOSTCC=${stdenv.cc.targetPrefix}cc" 39 ] 40 ++ lib.optionals (optFI2 && !batchBuild) [ 41 "OPT_FI2=1" 42 "FI2KEY=${fi2key}" 43 "FI2IV=${fi2iv}" 44 ] 45 ++ lib.optionals (!batchBuild) [ 46 "PLATFORM=${platform}" 47 "PLATFORMSUB=${platformsub}" 48 "firzipsubcomplete" 49 ] 50 ++ lib.optional batchBuild "batch-zip-complete"; 51 52 env.NIX_CFLAGS_COMPILE = "-Wno-format-security"; 53 54 installPhase = '' 55 runHook preInstall 56 install -Dm644 bin/*.zip -t $out 57 runHook postInstall 58 ''; 59 60 meta = { 61 description = "Canon Hack Development Kit"; 62 homepage = "https://chdk.fandom.com/wiki/CHDK"; 63 license = lib.licenses.gpl2; 64 platforms = lib.platforms.unix; 65 maintainers = [ lib.maintainers.sikmir ]; 66 skip.ci = true; 67 }; 68 }
