chickenPackages.chickenEggs: Preserve version info (#433689)
This commit is contained in:
commit
a885d5af08
@ -37,7 +37,7 @@ lib.makeScope newScope (self: {
|
|||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
self.eggDerivation {
|
self.eggDerivation {
|
||||||
name = "${pname}-${version}";
|
inherit pname version;
|
||||||
src = self.fetchegg (eggData // { inherit pname; });
|
src = self.fetchegg (eggData // { inherit pname; });
|
||||||
buildInputs = map (x: eggself.${x}) dependencies;
|
buildInputs = map (x: eggself.${x}) dependencies;
|
||||||
meta.homepage = "https://wiki.call-cc.org/eggref/5/${pname}";
|
meta.homepage = "https://wiki.call-cc.org/eggref/5/${pname}";
|
||||||
|
@ -5,12 +5,6 @@
|
|||||||
chickenEggs,
|
chickenEggs,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
# Note: This mostly reimplements the default.nix already contained in
|
|
||||||
# the tarball. Is there a nicer way than duplicating code?
|
|
||||||
|
|
||||||
let
|
|
||||||
version = "c5-git";
|
|
||||||
in
|
|
||||||
eggDerivation {
|
eggDerivation {
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "corngood";
|
owner = "corngood";
|
||||||
@ -19,7 +13,8 @@ eggDerivation {
|
|||||||
sha256 = "1vfnhbcnyakywgjafhs0k5kpsdnrinzvdjxpz3fkwas1jsvxq3d1";
|
sha256 = "1vfnhbcnyakywgjafhs0k5kpsdnrinzvdjxpz3fkwas1jsvxq3d1";
|
||||||
};
|
};
|
||||||
|
|
||||||
name = "egg2nix-${version}";
|
pname = "egg2nix";
|
||||||
|
version = "c5-git";
|
||||||
buildInputs = with chickenEggs; [
|
buildInputs = with chickenEggs; [
|
||||||
args
|
args
|
||||||
matchable
|
matchable
|
||||||
|
@ -6,7 +6,6 @@
|
|||||||
makeWrapper,
|
makeWrapper,
|
||||||
}:
|
}:
|
||||||
{
|
{
|
||||||
name,
|
|
||||||
src,
|
src,
|
||||||
buildInputs ? [ ],
|
buildInputs ? [ ],
|
||||||
chickenInstallFlags ? [ ],
|
chickenInstallFlags ? [ ],
|
||||||
@ -15,14 +14,24 @@
|
|||||||
}@args:
|
}@args:
|
||||||
|
|
||||||
let
|
let
|
||||||
|
nameVersionAssertion =
|
||||||
|
pred: lib.assertMsg pred "either name or both pname and version must be given";
|
||||||
|
pname =
|
||||||
|
if args ? pname then
|
||||||
|
assert nameVersionAssertion (!args ? name && args ? version);
|
||||||
|
args.pname
|
||||||
|
else
|
||||||
|
assert nameVersionAssertion (args ? name && !args ? version);
|
||||||
|
lib.getName args.name;
|
||||||
|
version = if args ? version then args.version else lib.getVersion args.name;
|
||||||
|
name = if args ? name then args.name else "${args.pname}-${args.version}";
|
||||||
overrides = callPackage ./overrides.nix { };
|
overrides = callPackage ./overrides.nix { };
|
||||||
baseName = lib.getName name;
|
override = if builtins.hasAttr pname overrides then builtins.getAttr pname overrides else lib.id;
|
||||||
override =
|
|
||||||
if builtins.hasAttr baseName overrides then builtins.getAttr baseName overrides else lib.id;
|
|
||||||
in
|
in
|
||||||
(stdenv.mkDerivation (
|
(stdenv.mkDerivation (
|
||||||
{
|
{
|
||||||
name = "chicken-${name}";
|
pname = "chicken-${pname}";
|
||||||
|
inherit version;
|
||||||
propagatedBuildInputs = buildInputs;
|
propagatedBuildInputs = buildInputs;
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
chicken
|
chicken
|
||||||
@ -47,6 +56,10 @@ in
|
|||||||
export CHICKEN_INSTALL_REPOSITORY=$out/lib/chicken/${toString chicken.binaryVersion}
|
export CHICKEN_INSTALL_REPOSITORY=$out/lib/chicken/${toString chicken.binaryVersion}
|
||||||
chicken-install -cached -host ${lib.escapeShellArgs chickenInstallFlags}
|
chicken-install -cached -host ${lib.escapeShellArgs chickenInstallFlags}
|
||||||
|
|
||||||
|
# Patching generated .egg-info instead of original .egg to work around https://bugs.call-cc.org/ticket/1855
|
||||||
|
csi -e "(write (cons '(version \"${version}\") (read)))" < "$CHICKEN_INSTALL_REPOSITORY/${pname}.egg-info" > "${pname}.egg-info.new"
|
||||||
|
mv "${pname}.egg-info.new" "$CHICKEN_INSTALL_REPOSITORY/${pname}.egg-info"
|
||||||
|
|
||||||
for f in $out/bin/*
|
for f in $out/bin/*
|
||||||
do
|
do
|
||||||
wrapProgram $f \
|
wrapProgram $f \
|
||||||
@ -67,6 +80,8 @@ in
|
|||||||
}
|
}
|
||||||
// builtins.removeAttrs args [
|
// builtins.removeAttrs args [
|
||||||
"name"
|
"name"
|
||||||
|
"pname"
|
||||||
|
"version"
|
||||||
"buildInputs"
|
"buildInputs"
|
||||||
"meta"
|
"meta"
|
||||||
]
|
]
|
||||||
|
@ -28,26 +28,6 @@ let
|
|||||||
};
|
};
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
allegro =
|
|
||||||
old:
|
|
||||||
(
|
|
||||||
(addToBuildInputsWithPkgConfig (
|
|
||||||
[
|
|
||||||
pkgs.allegro5
|
|
||||||
pkgs.libglvnd
|
|
||||||
pkgs.libGLU
|
|
||||||
]
|
|
||||||
++ lib.optionals stdenv.hostPlatform.isLinux [ pkgs.xorg.libX11 ]
|
|
||||||
))
|
|
||||||
old
|
|
||||||
)
|
|
||||||
// {
|
|
||||||
# depends on 'chicken' egg, which doesn't exist,
|
|
||||||
# so we specify all the deps here
|
|
||||||
propagatedBuildInputs = [
|
|
||||||
chickenEggs.foreigners
|
|
||||||
];
|
|
||||||
};
|
|
||||||
breadline = addToBuildInputs pkgs.readline;
|
breadline = addToBuildInputs pkgs.readline;
|
||||||
blas = addToBuildInputsWithPkgConfig pkgs.blas;
|
blas = addToBuildInputsWithPkgConfig pkgs.blas;
|
||||||
blosc = addToBuildInputs pkgs.c-blosc;
|
blosc = addToBuildInputs pkgs.c-blosc;
|
||||||
@ -60,13 +40,6 @@ in
|
|||||||
srfi-13
|
srfi-13
|
||||||
]) old);
|
]) old);
|
||||||
cmark = addToBuildInputs pkgs.cmark;
|
cmark = addToBuildInputs pkgs.cmark;
|
||||||
comparse = old: {
|
|
||||||
# For some reason lazy-seq 2 gets interpreted as lazy-seq 0.0.0??
|
|
||||||
postPatch = ''
|
|
||||||
substituteInPlace comparse.egg \
|
|
||||||
--replace-fail 'lazy-seq "0.1.0"' 'lazy-seq "0.0.0"'
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
epoxy =
|
epoxy =
|
||||||
old:
|
old:
|
||||||
(addToPropagatedBuildInputsWithPkgConfig pkgs.libepoxy old)
|
(addToPropagatedBuildInputsWithPkgConfig pkgs.libepoxy old)
|
||||||
@ -122,14 +95,8 @@ in
|
|||||||
(addToBuildInputs (lib.optional stdenv.hostPlatform.isDarwin pkgs.libinotify-kqueue) old)
|
(addToBuildInputs (lib.optional stdenv.hostPlatform.isDarwin pkgs.libinotify-kqueue) old)
|
||||||
// lib.optionalAttrs stdenv.hostPlatform.isDarwin (addToCscOptions "-L -linotify" old);
|
// lib.optionalAttrs stdenv.hostPlatform.isDarwin (addToCscOptions "-L -linotify" old);
|
||||||
leveldb = addToBuildInputs pkgs.leveldb;
|
leveldb = addToBuildInputs pkgs.leveldb;
|
||||||
lowdown = old: {
|
|
||||||
# For some reason comparse version gets interpreted as 0.0.0
|
|
||||||
postPatch = ''
|
|
||||||
substituteInPlace lowdown.egg \
|
|
||||||
--replace-fail 'comparse "3"' 'comparse "0.0.0"'
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
magic = addToBuildInputs pkgs.file;
|
magic = addToBuildInputs pkgs.file;
|
||||||
|
magic-pipes = addToBuildInputs pkgs.chickenPackages_5.chickenEggs.regex;
|
||||||
mdh =
|
mdh =
|
||||||
old:
|
old:
|
||||||
(addToBuildInputs pkgs.pcre old)
|
(addToBuildInputs pkgs.pcre old)
|
||||||
@ -139,13 +106,6 @@ in
|
|||||||
"-Wno-error=implicit-int"
|
"-Wno-error=implicit-int"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
medea = old: {
|
|
||||||
# For some reason comparse gets interpreted as comparse 0.0.0
|
|
||||||
postPatch = ''
|
|
||||||
substituteInPlace medea.egg \
|
|
||||||
--replace-fail 'comparse "0.3.0"' 'comparse "0.0.0"'
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
# missing dependency in upstream egg
|
# missing dependency in upstream egg
|
||||||
mistie = addToPropagatedBuildInputs (with chickenEggs; [ srfi-1 ]);
|
mistie = addToPropagatedBuildInputs (with chickenEggs; [ srfi-1 ]);
|
||||||
mosquitto = addToPropagatedBuildInputs ([ pkgs.mosquitto ]);
|
mosquitto = addToPropagatedBuildInputs ([ pkgs.mosquitto ]);
|
||||||
@ -286,12 +246,19 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
# mark broken
|
# mark broken
|
||||||
"ephem-v1.1" = broken;
|
allegro =
|
||||||
F-operator = broken;
|
old:
|
||||||
atom = broken;
|
(broken old)
|
||||||
begin-syntax = broken;
|
// {
|
||||||
|
# depends on 'chicken' egg, which doesn't exist, so we specify all the deps here (needs to be
|
||||||
|
# kept around even when marked as broken so that evaluation doesn't break due to the missing
|
||||||
|
# attribute).
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
chickenEggs.foreigners
|
||||||
|
];
|
||||||
|
};
|
||||||
|
ephem = broken;
|
||||||
canvas-draw = broken;
|
canvas-draw = broken;
|
||||||
chicken-doc-admin = broken;
|
|
||||||
coops-utils = broken;
|
coops-utils = broken;
|
||||||
crypt = broken;
|
crypt = broken;
|
||||||
hypergiant = broken;
|
hypergiant = broken;
|
||||||
@ -301,10 +268,8 @@ in
|
|||||||
mpi = broken;
|
mpi = broken;
|
||||||
pyffi = broken;
|
pyffi = broken;
|
||||||
qt-light = broken;
|
qt-light = broken;
|
||||||
salmonella-html-report = broken;
|
|
||||||
sundials = broken;
|
sundials = broken;
|
||||||
svn-client = broken;
|
svn-client = broken;
|
||||||
system = broken;
|
|
||||||
tokyocabinet = broken;
|
tokyocabinet = broken;
|
||||||
|
|
||||||
# mark broken darwin
|
# mark broken darwin
|
||||||
|
Loading…
x
Reference in New Issue
Block a user