mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-10-29 21:51:49 +00:00
chickenPackages_5: Remove ocaml dependency, switch to TOML
This commit is contained in:
parent
3545373f30
commit
ca0335c064
1
.gitattributes
vendored
1
.gitattributes
vendored
@ -1,5 +1,6 @@
|
||||
**/deps.nix linguist-generated
|
||||
**/deps.json linguist-generated
|
||||
**/deps.toml lingust-generated
|
||||
**/node-packages.nix linguist-generated
|
||||
|
||||
pkgs/applications/editors/emacs-modes/*-generated.nix linguist-generated
|
||||
|
@ -65,7 +65,7 @@ stdenv.mkDerivation rec {
|
||||
meta = {
|
||||
homepage = "https://call-cc.org/";
|
||||
license = lib.licenses.bsd3;
|
||||
maintainers = with lib.maintainers; [ corngood nagy ];
|
||||
maintainers = with lib.maintainers; [ corngood nagy konst-aa ];
|
||||
platforms = lib.platforms.unix;
|
||||
description = "A portable compiler for the Scheme programming language";
|
||||
longDescription = ''
|
||||
|
@ -1,16 +1,15 @@
|
||||
{ lib, newScope, fetchzip }:
|
||||
{ lib, newScope, fetchurl }:
|
||||
let
|
||||
callPackage = newScope self;
|
||||
|
||||
self = with lib; {
|
||||
pkgs = self;
|
||||
|
||||
fetchegg = { name, version, sha256, ... }:
|
||||
fetchzip {
|
||||
fetchegg = { pname, version, sha256, ... }:
|
||||
fetchurl {
|
||||
inherit sha256;
|
||||
name = "chicken-${name}-${version}-source";
|
||||
url =
|
||||
"https://code.call-cc.org/egg-tarballs/5/${name}/${name}-${version}.tar.gz";
|
||||
"https://code.call-cc.org/egg-tarballs/5/${pname}/${pname}-${version}.tar.gz";
|
||||
};
|
||||
|
||||
eggDerivation = callPackage ./eggDerivation.nix { };
|
||||
@ -19,21 +18,21 @@ let
|
||||
bootstrap-chicken = self.chicken.override { bootstrap-chicken = null; };
|
||||
};
|
||||
|
||||
chickenEggs = recurseIntoAttrs (mapAttrs (name:
|
||||
chickenEggs = recurseIntoAttrs (mapAttrs (pname:
|
||||
eggData@{ version, synopsis, dependencies, license, ... }:
|
||||
self.eggDerivation {
|
||||
name = "chicken-${name}-${version}";
|
||||
src = self.fetchegg (eggData // { inherit name; });
|
||||
name = "${pname}-${version}";
|
||||
src = self.fetchegg (eggData // { inherit pname; });
|
||||
buildInputs = map (x: self.chickenEggs.${x}) dependencies;
|
||||
meta.homepage =
|
||||
"https://code.call-cc.org/cgi-bin/gitweb.cgi?p=eggs-5-latest.git;a=tree;f=${name}/${version}";
|
||||
"https://code.call-cc.org/cgi-bin/gitweb.cgi?p=eggs-5-latest.git;a=tree;f=${pname}/${version}";
|
||||
meta.description = synopsis;
|
||||
meta.license = (licenses // {
|
||||
"bsd-2-clause" = licenses.bsd2;
|
||||
"bsd-3-clause" = licenses.bsd3;
|
||||
"public-domain" = licenses.publicDomain;
|
||||
}).${license} or license;
|
||||
}) (importJSON ./deps.json));
|
||||
}) (importTOML ./deps.toml));
|
||||
|
||||
egg2nix = callPackage ./egg2nix.nix { };
|
||||
};
|
||||
|
5543
pkgs/development/compilers/chicken/5/deps.json
generated
5543
pkgs/development/compilers/chicken/5/deps.json
generated
File diff suppressed because it is too large
Load Diff
3879
pkgs/development/compilers/chicken/5/deps.toml
Normal file
3879
pkgs/development/compilers/chicken/5/deps.toml
Normal file
File diff suppressed because it is too large
Load Diff
40
pkgs/development/compilers/chicken/5/read-egg.scm
Executable file
40
pkgs/development/compilers/chicken/5/read-egg.scm
Executable file
@ -0,0 +1,40 @@
|
||||
(import (chicken process-context)
|
||||
(chicken format)
|
||||
(chicken string))
|
||||
|
||||
(define env-var get-environment-variable)
|
||||
(define ref alist-ref)
|
||||
|
||||
(define egg (read))
|
||||
|
||||
(printf "[~A]\n" (env-var "EGG_NAME"))
|
||||
|
||||
(define dependencies
|
||||
(map (lambda (dep)
|
||||
(->string (if (list? dep)
|
||||
(car dep)
|
||||
dep)))
|
||||
(ref 'dependencies egg eqv? '())))
|
||||
(printf "dependencies = [~A]\n"
|
||||
(string-intersperse (map (lambda (dep) (sprintf "~S" dep))
|
||||
dependencies)
|
||||
", "))
|
||||
|
||||
(define license (ref 'license egg))
|
||||
(printf "license = ~S\n"
|
||||
(if (not license)
|
||||
""
|
||||
(string-translate (->string (car license))
|
||||
"ABCDEFGHIJKLMNOPQRSTUVWXYZ "
|
||||
"abcdefghijklmnopqrstuvwxyz-")))
|
||||
|
||||
(printf "sha256 = ~S\n" (env-var "EGG_SHA256"))
|
||||
|
||||
(define synopsis (ref 'synopsis egg))
|
||||
(printf "synopsis = ~S\n"
|
||||
(if (not synopsis)
|
||||
""
|
||||
(car synopsis)))
|
||||
|
||||
(printf "version = ~S\n" (env-var "EGG_VERSION"))
|
||||
(print)
|
@ -1,23 +1,19 @@
|
||||
#!/usr/bin/env nix-shell
|
||||
#! nix-shell -i oil -p oil jq ocaml-ng.ocamlPackages_latest.sexp
|
||||
#! nix-shell -i oil -p oil chicken
|
||||
|
||||
export URL_PREFIX="https://code.call-cc.org/egg-tarballs/5/"
|
||||
cd $(nix-prefetch-url \
|
||||
'https://code.call-cc.org/cgi-bin/gitweb.cgi?p=eggs-5-latest.git;a=snapshot;h=master;sf=tgz' \
|
||||
--name chicken-eggs-5-latest --unpack --print-path | tail -1)
|
||||
const eggExpr = '
|
||||
def toarray: if type=="array" then . else [.] end;
|
||||
if type=="array" then map({(first): .[1:]}) | add else . end |
|
||||
{synopsis: .synopsis | toarray | first | tostring,
|
||||
version: env.EGG_VERSION,
|
||||
sha256: env.EGG_SHA256,
|
||||
dependencies: (.dependencies // []) | toarray | map(toarray) | map(first),
|
||||
license: .license | toarray | first | ascii_downcase | sub(" ";"-")}'
|
||||
|
||||
echo "# THIS IS A GENERATED FILE. DO NOT EDIT!" > $_this_dir/deps.toml
|
||||
for i, item in */*/*.egg {
|
||||
var EGG_NAME=$(dirname $(dirname $item))
|
||||
var EGG_VERSION=$(basename $(dirname $item))
|
||||
var EGG_URL="${URL_PREFIX}${EGG_NAME}/${EGG_NAME}-${EGG_VERSION}.tar.gz"
|
||||
var EGG_SHA256=$(nix-prefetch-url $EGG_URL --unpack --name "chicken-${EGG_NAME}-${EGG_VERSION}-source")
|
||||
sexp pp < $item | sexp to-json | jq --slurp first | \
|
||||
EGG_VERSION=$[EGG_VERSION] EGG_SHA256=$[EGG_SHA256] \
|
||||
jq $eggExpr | EGG_NAME=$[EGG_NAME] jq '{($ENV.EGG_NAME): .}'
|
||||
} | jq --slurp --sort-keys add > $_this_dir/deps.json
|
||||
var EGG_SHA256=$(nix-prefetch-url $EGG_URL)
|
||||
export EGG_NAME
|
||||
export EGG_VERSION
|
||||
export EGG_SHA256
|
||||
csi -s $_this_dir/read-egg.scm < $item
|
||||
} >> $_this_dir/deps.toml
|
||||
|
Loading…
Reference in New Issue
Block a user