refactor: legacyPackages
This commit is contained in:
@@ -2,78 +2,31 @@
|
||||
lib = nixpkgs.lib;
|
||||
in final: prev: (
|
||||
let
|
||||
hectic-packages = self.packages.${prev.system};
|
||||
packages = self.packages.${prev.system};
|
||||
legacyPackages = self.legacyPackages.${prev.system};
|
||||
in {
|
||||
hectic = hectic-packages;
|
||||
hectic = packages;
|
||||
postgresql_17 = prev.postgresql_17 // {pkgs = prev.postgresql_17.pkgs // {
|
||||
http = hectic-packages.pg-17-ext-http;
|
||||
pg_smtp_client = hectic-packages.pg-17-ext-smtp-client;
|
||||
plhaskell = hectic-packages.pg-17-ext-plhaskell;
|
||||
plsh = hectic-packages.pg-17-ext-plsh;
|
||||
hemar = hectic-packages.pg-17-ext-hemar;
|
||||
http = packages.pg-17-ext-http;
|
||||
pg_smtp_client = packages.pg-17-ext-smtp-client;
|
||||
plhaskell = packages.pg-17-ext-plhaskell;
|
||||
plsh = packages.pg-17-ext-plsh;
|
||||
hemar = packages.pg-17-ext-hemar;
|
||||
};};
|
||||
postgresql_16 = prev.postgresql_16 // {pkgs = prev.postgresql_16.pkgs // {
|
||||
http = hectic-packages.pg-16-ext-http;
|
||||
pg_smtp_client = hectic-packages.pg-16-ext-smtp-client;
|
||||
plhaskell = hectic-packages.pg-16-ext-plhaskell;
|
||||
plsh = hectic-packages.pg-16-ext-plsh;
|
||||
hemar = hectic-packages.pg-16-ext-hemar;
|
||||
http = packages.pg-16-ext-http;
|
||||
pg_smtp_client = packages.pg-16-ext-smtp-client;
|
||||
plhaskell = packages.pg-16-ext-plhaskell;
|
||||
plsh = packages.pg-16-ext-plsh;
|
||||
hemar = packages.pg-16-ext-hemar;
|
||||
};};
|
||||
postgresql_15 = prev.postgresql_15 // {pkgs = prev.postgresql_15.pkgs // {
|
||||
http = hectic-packages.pg-15-ext-http;
|
||||
pg_smtp_client = hectic-packages.pg-15-ext-smtp-client;
|
||||
plhaskell = hectic-packages.pg-15-ext-plhaskell;
|
||||
plsh = hectic-packages.pg-15-ext-plsh;
|
||||
hemar = hectic-packages.pg-15-ext-hemar;
|
||||
http = packages.pg-15-ext-http;
|
||||
pg_smtp_client = packages.pg-15-ext-smtp-client;
|
||||
plhaskell = packages.pg-15-ext-plhaskell;
|
||||
plsh = packages.pg-15-ext-plsh;
|
||||
hemar = packages.pg-15-ext-hemar;
|
||||
};};
|
||||
writers = let
|
||||
writeC = name: argsOrScript:
|
||||
if lib.isAttrs argsOrScript && !lib.isDerivation argsOrScript
|
||||
then
|
||||
prev.writers.makeBinWriter (
|
||||
argsOrScript
|
||||
// {
|
||||
compileScript = ''
|
||||
# Force gcc to treat the input file as C code
|
||||
${prev.gcc}/bin/gcc -fsyntax-only -xc $contentPath
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Syntax check failed"
|
||||
exit 1
|
||||
fi
|
||||
${prev.gcc}/bin/gcc -xc -o $out $contentPath
|
||||
'';
|
||||
}
|
||||
)
|
||||
name
|
||||
else
|
||||
prev.writers.makeBinWriter {
|
||||
compileScript = ''
|
||||
# Force gcc to treat the input file as C code
|
||||
${prev.gcc}/bin/gcc -fsyntax-only -xc $contentPath
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Syntax check failed"
|
||||
exit 1
|
||||
fi
|
||||
${prev.gcc}/bin/gcc -xc -o $out $contentPath
|
||||
'';
|
||||
}
|
||||
name
|
||||
argsOrScript;
|
||||
writeMinC = name: includes: body:
|
||||
writeC name ''
|
||||
${builtins.concatStringsSep "\n" (map (h: "#include " + h) includes)}
|
||||
|
||||
int main(int argc, char *argv[]) {
|
||||
${body}
|
||||
}
|
||||
'';
|
||||
in
|
||||
prev.writers
|
||||
// {
|
||||
writeCBin = name: writeC "/bin/${name}";
|
||||
writeC = writeC;
|
||||
writeMinCBin = name: includes: body: writeMinC "/bin/${name}" includes body;
|
||||
writeMinC = writeMinC;
|
||||
};
|
||||
writers = prev.writers // legacyPackages.writers;
|
||||
}
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user