Merge branch 'master' into staging-next

This commit is contained in:
Vladimír Čunát 2023-10-04 22:40:54 +02:00
commit fa7835846a
No known key found for this signature in database
GPG Key ID: E747DF1F9575A3AA
136 changed files with 7812 additions and 3890 deletions

View File

@ -1029,7 +1029,7 @@ ugly, and we may want to deprecate them at some point. -->
`disableCabalFlag flag drv`
: Makes sure that the Cabal flag `flag` is disabled in Cabal's configure step.
`appendBuildflags list drv`
`appendBuildFlags list drv`
: Adds the strings in `list` to the `buildFlags` argument for `drv`.
<!-- TODO(@sternenseemann): removeConfigureFlag -->

View File

@ -212,6 +212,5 @@ Here's a list of places in the library that need to be updated in the future:
- > The file set library is currently somewhat limited but is being expanded to include more functions over time.
in [the manual](../../doc/functions/fileset.section.md)
- Once a tracing function exists, `__noEval` in [internal.nix](./internal.nix) should mention it
- If/Once a function to convert `lib.sources` values into file sets exists, the `_coerce` and `toSource` functions should be updated to mention that function in the error when such a value is passed
- If/Once a function exists that can optionally include a path depending on whether it exists, the error message for the path not existing in `_coerce` should mention the new function

View File

@ -6,12 +6,14 @@ let
_coerceMany
_toSourceFilter
_unionMany
_printFileset
;
inherit (builtins)
isList
isPath
pathExists
seq
typeOf
;
@ -274,4 +276,93 @@ If a directory does not recursively contain any file, it is omitted from the sto
_unionMany
];
/*
Incrementally evaluate and trace a file set in a pretty way.
This function is only intended for debugging purposes.
The exact tracing format is unspecified and may change.
This function takes a final argument to return.
In comparison, [`traceVal`](#function-library-lib.fileset.traceVal) returns
the given file set argument.
This variant is useful for tracing file sets in the Nix repl.
Type:
trace :: FileSet -> Any -> Any
Example:
trace (unions [ ./Makefile ./src ./tests/run.sh ]) null
=>
trace: /home/user/src/myProject
trace: - Makefile (regular)
trace: - src (all files in directory)
trace: - tests
trace: - run.sh (regular)
null
*/
trace =
/*
The file set to trace.
This argument can also be a path,
which gets [implicitly coerced to a file set](#sec-fileset-path-coercion).
*/
fileset:
let
# "fileset" would be a better name, but that would clash with the argument name,
# and we cannot change that because of https://github.com/nix-community/nixdoc/issues/76
actualFileset = _coerce "lib.fileset.trace: argument" fileset;
in
seq
(_printFileset actualFileset)
(x: x);
/*
Incrementally evaluate and trace a file set in a pretty way.
This function is only intended for debugging purposes.
The exact tracing format is unspecified and may change.
This function returns the given file set.
In comparison, [`trace`](#function-library-lib.fileset.trace) takes another argument to return.
This variant is useful for tracing file sets passed as arguments to other functions.
Type:
traceVal :: FileSet -> FileSet
Example:
toSource {
root = ./.;
fileset = traceVal (unions [
./Makefile
./src
./tests/run.sh
]);
}
=>
trace: /home/user/src/myProject
trace: - Makefile (regular)
trace: - src (all files in directory)
trace: - tests
trace: - run.sh (regular)
"/nix/store/...-source"
*/
traceVal =
/*
The file set to trace and return.
This argument can also be a path,
which gets [implicitly coerced to a file set](#sec-fileset-path-coercion).
*/
fileset:
let
# "fileset" would be a better name, but that would clash with the argument name,
# and we cannot change that because of https://github.com/nix-community/nixdoc/issues/76
actualFileset = _coerce "lib.fileset.traceVal: argument" fileset;
in
seq
(_printFileset actualFileset)
# We could also return the original fileset argument here,
# but that would then duplicate work for consumers of the fileset, because then they have to coerce it again
actualFileset;
}

View File

@ -7,11 +7,14 @@ let
isString
pathExists
readDir
typeOf
seq
split
trace
typeOf
;
inherit (lib.attrsets)
attrNames
attrValues
mapAttrs
setAttrByPath
@ -103,7 +106,9 @@ rec {
];
_noEvalMessage = ''
lib.fileset: Directly evaluating a file set is not supported. Use `lib.fileset.toSource` to turn it into a usable source instead.'';
lib.fileset: Directly evaluating a file set is not supported.
To turn it into a usable source, use `lib.fileset.toSource`.
To pretty-print the contents, use `lib.fileset.trace` or `lib.fileset.traceVal`.'';
# The empty file set without a base path
_emptyWithoutBase = {
@ -114,8 +119,10 @@ rec {
# The one and only!
_internalIsEmptyWithoutBase = true;
# Double __ to make it be evaluated and ordered first
__noEval = throw _noEvalMessage;
# Due to alphabetical ordering, this is evaluated last,
# which makes the nix repl output nicer than if it would be ordered first.
# It also allows evaluating it strictly up to this error, which could be useful
_noEval = throw _noEvalMessage;
};
# Create a fileset, see ./README.md#fileset
@ -137,8 +144,10 @@ rec {
_internalBaseComponents = components parts.subpath;
_internalTree = tree;
# Double __ to make it be evaluated and ordered first
__noEval = throw _noEvalMessage;
# Due to alphabetical ordering, this is evaluated last,
# which makes the nix repl output nicer than if it would be ordered first.
# It also allows evaluating it strictly up to this error, which could be useful
_noEval = throw _noEvalMessage;
};
# Coerce a value to a fileset, erroring when the value cannot be coerced.
@ -237,22 +246,22 @@ rec {
// value;
/*
Simplify a filesetTree recursively:
- Replace all directories that have no files with `null`
A normalisation of a filesetTree suitable filtering with `builtins.path`:
- Replace all directories that have no files with `null`.
This removes directories that would be empty
- Replace all directories with all files with `"directory"`
- Replace all directories with all files with `"directory"`.
This speeds up the source filter function
Note that this function is strict, it evaluates the entire tree
Type: Path -> filesetTree -> filesetTree
*/
_simplifyTree = path: tree:
_normaliseTreeFilter = path: tree:
if tree == "directory" || isAttrs tree then
let
entries = _directoryEntries path tree;
simpleSubtrees = mapAttrs (name: _simplifyTree (path + "/${name}")) entries;
subtreeValues = attrValues simpleSubtrees;
normalisedSubtrees = mapAttrs (name: _normaliseTreeFilter (path + "/${name}")) entries;
subtreeValues = attrValues normalisedSubtrees;
in
# This triggers either when all files in a directory are filtered out
# Or when the directory doesn't contain any files at all
@ -262,10 +271,112 @@ rec {
else if all isString subtreeValues then
"directory"
else
simpleSubtrees
normalisedSubtrees
else
tree;
/*
A minimal normalisation of a filesetTree, intended for pretty-printing:
- If all children of a path are recursively included or empty directories, the path itself is also recursively included
- If all children of a path are fully excluded or empty directories, the path itself is an empty directory
- Other empty directories are represented with the special "emptyDir" string
While these could be replaced with `null`, that would take another mapAttrs
Note that this function is partially lazy.
Type: Path -> filesetTree -> filesetTree (with "emptyDir"'s)
*/
_normaliseTreeMinimal = path: tree:
if tree == "directory" || isAttrs tree then
let
entries = _directoryEntries path tree;
normalisedSubtrees = mapAttrs (name: _normaliseTreeMinimal (path + "/${name}")) entries;
subtreeValues = attrValues normalisedSubtrees;
in
# If there are no entries, or all entries are empty directories, return "emptyDir".
# After this branch we know that there's at least one file
if all (value: value == "emptyDir") subtreeValues then
"emptyDir"
# If all subtrees are fully included or empty directories
# (both of which are coincidentally represented as strings), return "directory".
# This takes advantage of the fact that empty directories can be represented as included directories.
# Note that the tree == "directory" check allows avoiding recursion
else if tree == "directory" || all (value: isString value) subtreeValues then
"directory"
# If all subtrees are fully excluded or empty directories, return null.
# This takes advantage of the fact that empty directories can be represented as excluded directories
else if all (value: isNull value || value == "emptyDir") subtreeValues then
null
# Mix of included and excluded entries
else
normalisedSubtrees
else
tree;
# Trace a filesetTree in a pretty way when the resulting value is evaluated.
# This can handle both normal filesetTree's, and ones returned from _normaliseTreeMinimal
# Type: Path -> filesetTree (with "emptyDir"'s) -> Null
_printMinimalTree = base: tree:
let
treeSuffix = tree:
if isAttrs tree then
""
else if tree == "directory" then
" (all files in directory)"
else
# This does "leak" the file type strings of the internal representation,
# but this is the main reason these file type strings even are in the representation!
# TODO: Consider removing that information from the internal representation for performance.
# The file types can still be printed by querying them only during tracing
" (${tree})";
# Only for attribute set trees
traceTreeAttrs = prevLine: indent: tree:
foldl' (prevLine: name:
let
subtree = tree.${name};
# Evaluating this prints the line for this subtree
thisLine =
trace "${indent}- ${name}${treeSuffix subtree}" prevLine;
in
if subtree == null || subtree == "emptyDir" then
# Don't print anything at all if this subtree is empty
prevLine
else if isAttrs subtree then
# A directory with explicit entries
# Do print this node, but also recurse
traceTreeAttrs thisLine "${indent} " subtree
else
# Either a file, or a recursively included directory
# Do print this node but no further recursion needed
thisLine
) prevLine (attrNames tree);
# Evaluating this will print the first line
firstLine =
if tree == null || tree == "emptyDir" then
trace "(empty)" null
else
trace "${toString base}${treeSuffix tree}" null;
in
if isAttrs tree then
traceTreeAttrs firstLine "" tree
else
firstLine;
# Pretty-print a file set in a pretty way when the resulting value is evaluated
# Type: fileset -> Null
_printFileset = fileset:
if fileset._internalIsEmptyWithoutBase then
trace "(empty)" null
else
_printMinimalTree fileset._internalBase
(_normaliseTreeMinimal fileset._internalBase fileset._internalTree);
# Turn a fileset into a source filter function suitable for `builtins.path`
# Only directories recursively containing at least one files are recursed into
# Type: Path -> fileset -> (String -> String -> Bool)
@ -273,7 +384,7 @@ rec {
let
# Simplify the tree, necessary to make sure all empty directories are null
# which has the effect that they aren't included in the result
tree = _simplifyTree fileset._internalBase fileset._internalTree;
tree = _normaliseTreeFilter fileset._internalBase fileset._internalTree;
# The base path as a string with a single trailing slash
baseString =

View File

@ -57,18 +57,35 @@ with lib.fileset;'
expectEqual() {
local actualExpr=$1
local expectedExpr=$2
if ! actualResult=$(nix-instantiate --eval --strict --show-trace \
if actualResult=$(nix-instantiate --eval --strict --show-trace 2>"$tmp"/actualStderr \
--expr "$prefixExpression ($actualExpr)"); then
die "$actualExpr failed to evaluate, but it was expected to succeed"
actualExitCode=$?
else
actualExitCode=$?
fi
if ! expectedResult=$(nix-instantiate --eval --strict --show-trace \
actualStderr=$(< "$tmp"/actualStderr)
if expectedResult=$(nix-instantiate --eval --strict --show-trace 2>"$tmp"/expectedStderr \
--expr "$prefixExpression ($expectedExpr)"); then
die "$expectedExpr failed to evaluate, but it was expected to succeed"
expectedExitCode=$?
else
expectedExitCode=$?
fi
expectedStderr=$(< "$tmp"/expectedStderr)
if [[ "$actualExitCode" != "$expectedExitCode" ]]; then
echo "$actualStderr" >&2
echo "$actualResult" >&2
die "$actualExpr should have exited with $expectedExitCode, but it exited with $actualExitCode"
fi
if [[ "$actualResult" != "$expectedResult" ]]; then
die "$actualExpr should have evaluated to $expectedExpr:\n$expectedResult\n\nbut it evaluated to\n$actualResult"
fi
if [[ "$actualStderr" != "$expectedStderr" ]]; then
die "$actualExpr should have had this on stderr:\n$expectedStderr\n\nbut it was\n$actualStderr"
fi
}
# Check that a nix expression evaluates successfully to a store path and returns it (without quotes).
@ -84,14 +101,14 @@ expectStorePath() {
crudeUnquoteJSON <<< "$result"
}
# Check that a nix expression fails to evaluate (strictly, coercing to json, read-write-mode).
# Check that a nix expression fails to evaluate (strictly, read-write-mode).
# And check the received stderr against a regex
# The expression has `lib.fileset` in scope.
# Usage: expectFailure NIX REGEX
expectFailure() {
local expr=$1
local expectedErrorRegex=$2
if result=$(nix-instantiate --eval --strict --json --read-write-mode --show-trace 2>"$tmp/stderr" \
if result=$(nix-instantiate --eval --strict --read-write-mode --show-trace 2>"$tmp/stderr" \
--expr "$prefixExpression $expr"); then
die "$expr evaluated successfully to $result, but it was expected to fail"
fi
@ -101,16 +118,112 @@ expectFailure() {
fi
}
# We conditionally use inotifywait in checkFileset.
# Check that the traces of a Nix expression are as expected when evaluated.
# The expression has `lib.fileset` in scope.
# Usage: expectTrace NIX STR
expectTrace() {
local expr=$1
local expectedTrace=$2
nix-instantiate --eval --show-trace >/dev/null 2>"$tmp"/stderrTrace \
--expr "$prefixExpression trace ($expr)" || true
actualTrace=$(sed -n 's/^trace: //p' "$tmp/stderrTrace")
nix-instantiate --eval --show-trace >/dev/null 2>"$tmp"/stderrTraceVal \
--expr "$prefixExpression traceVal ($expr)" || true
actualTraceVal=$(sed -n 's/^trace: //p' "$tmp/stderrTraceVal")
# Test that traceVal returns the same trace as trace
if [[ "$actualTrace" != "$actualTraceVal" ]]; then
cat "$tmp"/stderrTrace >&2
die "$expr traced this for lib.fileset.trace:\n\n$actualTrace\n\nand something different for lib.fileset.traceVal:\n\n$actualTraceVal"
fi
if [[ "$actualTrace" != "$expectedTrace" ]]; then
cat "$tmp"/stderrTrace >&2
die "$expr should have traced this:\n\n$expectedTrace\n\nbut this was actually traced:\n\n$actualTrace"
fi
}
# We conditionally use inotifywait in withFileMonitor.
# Check early whether it's available
# TODO: Darwin support, though not crucial since we have Linux CI
if type inotifywait 2>/dev/null >/dev/null; then
canMonitorFiles=1
canMonitor=1
else
echo "Warning: Not checking that excluded files don't get accessed since inotifywait is not available" >&2
canMonitorFiles=
echo "Warning: Cannot check for paths not getting read since the inotifywait command (from the inotify-tools package) is not available" >&2
canMonitor=
fi
# Run a function while monitoring that it doesn't read certain paths
# Usage: withFileMonitor FUNNAME PATH...
# - FUNNAME should be a bash function that:
# - Performs some operation that should not read some paths
# - Delete the paths it shouldn't read without triggering any open events
# - PATH... are the paths that should not get read
#
# This function outputs the same as FUNNAME
withFileMonitor() {
local funName=$1
shift
# If we can't monitor files or have none to monitor, just run the function directly
if [[ -z "$canMonitor" ]] || (( "$#" == 0 )); then
"$funName"
else
# Use a subshell to start the coprocess in and use a trap to kill it when exiting the subshell
(
# Assigned by coproc, makes shellcheck happy
local watcher watcher_PID
# Start inotifywait in the background to monitor all excluded paths
coproc watcher {
# inotifywait outputs a string on stderr when ready
# Redirect it to stdout so we can access it from the coproc's stdout fd
# exec so that the coprocess is inotify itself, making the kill below work correctly
# See below why we listen to both open and delete_self events
exec inotifywait --format='%e %w' --event open,delete_self --monitor "$@" 2>&1
}
# This will trigger when this subshell exits, no matter if successful or not
# After exiting the subshell, the parent shell will continue executing
trap 'kill "${watcher_PID}"' exit
# Synchronously wait until inotifywait is ready
while read -r -u "${watcher[0]}" line && [[ "$line" != "Watches established." ]]; do
:
done
# Call the function that should not read the given paths and delete them afterwards
"$funName"
# Get the first event
read -r -u "${watcher[0]}" event file
# With funName potentially reading files first before deleting them,
# there's only these two possible event timelines:
# - open*, ..., open*, delete_self, ..., delete_self: If some excluded paths were read
# - delete_self, ..., delete_self: If no excluded paths were read
# So by looking at the first event we can figure out which one it is!
# This also means we don't have to wait to collect all events.
case "$event" in
OPEN*)
die "$funName opened excluded file $file when it shouldn't have"
;;
DELETE_SELF)
# Expected events
;;
*)
die "During $funName, Unexpected event type '$event' on file $file that should be excluded"
;;
esac
)
fi
}
# Check whether a file set includes/excludes declared paths as expected, usage:
#
# tree=(
@ -120,7 +233,7 @@ fi
# )
# checkFileset './a' # Pass the fileset as the argument
declare -A tree
checkFileset() (
checkFileset() {
# New subshell so that we can have a separate trap handler, see `trap` below
local fileset=$1
@ -168,54 +281,21 @@ checkFileset() (
touch "${filesToCreate[@]}"
fi
# Start inotifywait in the background to monitor all excluded files (if any)
if [[ -n "$canMonitorFiles" ]] && (( "${#excludedFiles[@]}" != 0 )); then
coproc watcher {
# inotifywait outputs a string on stderr when ready
# Redirect it to stdout so we can access it from the coproc's stdout fd
# exec so that the coprocess is inotify itself, making the kill below work correctly
# See below why we listen to both open and delete_self events
exec inotifywait --format='%e %w' --event open,delete_self --monitor "${excludedFiles[@]}" 2>&1
}
# This will trigger when this subshell exits, no matter if successful or not
# After exiting the subshell, the parent shell will continue executing
# shellcheck disable=SC2154
trap 'kill "${watcher_PID}"' exit
# Synchronously wait until inotifywait is ready
while read -r -u "${watcher[0]}" line && [[ "$line" != "Watches established." ]]; do
:
done
fi
# Call toSource with the fileset, triggering open events for all files that are added to the store
expression="toSource { root = ./.; fileset = $fileset; }"
storePath=$(expectStorePath "$expression")
# Remove all files immediately after, triggering delete_self events for all of them
rm -rf -- *
# We don't have lambda's in bash unfortunately,
# so we just define a function instead and then pass its name
# shellcheck disable=SC2317
run() {
# Call toSource with the fileset, triggering open events for all files that are added to the store
expectStorePath "$expression"
if (( ${#excludedFiles[@]} != 0 )); then
rm "${excludedFiles[@]}"
fi
}
# Only check for the inotify events if we actually started inotify earlier
if [[ -v watcher ]]; then
# Get the first event
read -r -u "${watcher[0]}" event file
# There's only these two possible event timelines:
# - open, ..., open, delete_self, ..., delete_self: If some excluded files were read
# - delete_self, ..., delete_self: If no excluded files were read
# So by looking at the first event we can figure out which one it is!
case "$event" in
OPEN)
die "$expression opened excluded file $file when it shouldn't have"
;;
DELETE_SELF)
# Expected events
;;
*)
die "Unexpected event type '$event' on file $file that should be excluded"
;;
esac
fi
# Runs the function while checking that the given excluded files aren't read
storePath=$(withFileMonitor run "${excludedFiles[@]}")
# For each path that should be included, make sure it does occur in the resulting store path
for p in "${included[@]}"; do
@ -230,7 +310,9 @@ checkFileset() (
die "$expression included path $p when it shouldn't have"
fi
done
)
rm -rf -- *
}
#### Error messages #####
@ -281,8 +363,12 @@ expectFailure 'toSource { root = ./.; fileset = "/some/path"; }' 'lib.fileset.to
expectFailure 'toSource { root = ./.; fileset = ./a; }' 'lib.fileset.toSource: `fileset` \('"$work"'/a\) does not exist.'
# File sets cannot be evaluated directly
expectFailure 'union ./. ./.' 'lib.fileset: Directly evaluating a file set is not supported. Use `lib.fileset.toSource` to turn it into a usable source instead.'
expectFailure '_emptyWithoutBase' 'lib.fileset: Directly evaluating a file set is not supported. Use `lib.fileset.toSource` to turn it into a usable source instead.'
expectFailure 'union ./. ./.' 'lib.fileset: Directly evaluating a file set is not supported.
\s*To turn it into a usable source, use `lib.fileset.toSource`.
\s*To pretty-print the contents, use `lib.fileset.trace` or `lib.fileset.traceVal`.'
expectFailure '_emptyWithoutBase' 'lib.fileset: Directly evaluating a file set is not supported.
\s*To turn it into a usable source, use `lib.fileset.toSource`.
\s*To pretty-print the contents, use `lib.fileset.trace` or `lib.fileset.traceVal`.'
# Past versions of the internal representation are supported
expectEqual '_coerce "<tests>: value" { _type = "fileset"; _internalVersion = 0; _internalBase = ./.; }' \
@ -501,6 +587,147 @@ done
# So, just using 1000 files for now.
checkFileset 'unions (mapAttrsToList (name: _: ./. + "/${name}/a") (builtins.readDir ./.))'
## Tracing
# The second trace argument is returned
expectEqual 'trace ./. "some value"' 'builtins.trace "(empty)" "some value"'
# The fileset traceVal argument is returned
expectEqual 'traceVal ./.' 'builtins.trace "(empty)" (_create ./. "directory")'
# The tracing happens before the final argument is needed
expectEqual 'trace ./.' 'builtins.trace "(empty)" (x: x)'
# Tracing an empty directory shows it as such
expectTrace './.' '(empty)'
# This also works if there are directories, but all recursively without files
mkdir -p a/b/c
expectTrace './.' '(empty)'
rm -rf -- *
# The empty file set without a base also prints as empty
expectTrace '_emptyWithoutBase' '(empty)'
expectTrace 'unions [ ]' '(empty)'
# If a directory is fully included, print it as such
touch a
expectTrace './.' "$work"' (all files in directory)'
rm -rf -- *
# If a directory is not fully included, recurse
mkdir a b
touch a/{x,y} b/{x,y}
expectTrace 'union ./a/x ./b' "$work"'
- a
- x (regular)
- b (all files in directory)'
rm -rf -- *
# If an included path is a file, print its type
touch a x
ln -s a b
mkfifo c
expectTrace 'unions [ ./a ./b ./c ]' "$work"'
- a (regular)
- b (symlink)
- c (unknown)'
rm -rf -- *
# Do not print directories without any files recursively
mkdir -p a/b/c
touch b x
expectTrace 'unions [ ./a ./b ]' "$work"'
- b (regular)'
rm -rf -- *
# If all children are either fully included or empty directories,
# the parent should be printed as fully included
touch a
mkdir b
expectTrace 'union ./a ./b' "$work"' (all files in directory)'
rm -rf -- *
mkdir -p x/b x/c
touch x/a
touch a
# If all children are either fully excluded or empty directories,
# the parent should be shown (or rather not shown) as fully excluded
expectTrace 'unions [ ./a ./x/b ./x/c ]' "$work"'
- a (regular)'
rm -rf -- *
# Completely filtered out directories also print as empty
touch a
expectTrace '_create ./. {}' '(empty)'
rm -rf -- *
# A general test to make sure the resulting format makes sense
# Such as indentation and ordering
mkdir -p bar/{qux,someDir}
touch bar/{baz,qux,someDir/a} foo
touch bar/qux/x
ln -s x bar/qux/a
mkfifo bar/qux/b
expectTrace 'unions [
./bar/baz
./bar/qux/a
./bar/qux/b
./bar/someDir/a
./foo
]' "$work"'
- bar
- baz (regular)
- qux
- a (symlink)
- b (unknown)
- someDir (all files in directory)
- foo (regular)'
rm -rf -- *
# For recursively included directories,
# `(all files in directory)` should only be used if there's at least one file (otherwise it would be `(empty)`)
# and this should be determined without doing a full search
#
# a is intentionally ordered first here in order to allow triggering the short-circuit behavior
# We then check that b is not read
# In a more realistic scenario, some directories might need to be recursed into,
# but a file would be quickly found to trigger the short-circuit.
touch a
mkdir b
# We don't have lambda's in bash unfortunately,
# so we just define a function instead and then pass its name
# shellcheck disable=SC2317
run() {
# This shouldn't read b/
expectTrace './.' "$work"' (all files in directory)'
# Remove all files immediately after, triggering delete_self events for all of them
rmdir b
}
# Runs the function while checking that b isn't read
withFileMonitor run b
rm -rf -- *
# Partially included directories trace entries as they are evaluated
touch a b c
expectTrace '_create ./. { a = null; b = "regular"; c = throw "b"; }' "$work"'
- b (regular)'
# Except entries that need to be evaluated to even figure out if it's only partially included:
# Here the directory could be fully excluded or included just from seeing a and b,
# so c needs to be evaluated before anything can be traced
expectTrace '_create ./. { a = null; b = null; c = throw "c"; }' ''
expectTrace '_create ./. { a = "regular"; b = "regular"; c = throw "c"; }' ''
rm -rf -- *
# We can trace large directories (10000 here) without any problems
filesToCreate=({0..9}{0..9}{0..9}{0..9})
expectedTrace=$work$'\n'$(printf -- '- %s (regular)\n' "${filesToCreate[@]}")
# We need an excluded file so it doesn't print as `(all files in directory)`
touch 0 "${filesToCreate[@]}"
expectTrace 'unions (mapAttrsToList (n: _: ./. + "/${n}") (removeAttrs (builtins.readDir ./.) [ "0" ]))' "$expectedTrace"
rm -rf -- *
# TODO: Once we have combinators and a property testing library, derive property tests from https://en.wikipedia.org/wiki/Algebra_of_sets
echo >&2 tests ok

View File

@ -13959,7 +13959,7 @@
name = "Pedro Pombeiro";
};
pongo1231 = {
email = "pongo1999712@gmail.com";
email = "pongo12310@gmail.com";
github = "pongo1231";
githubId = 4201956;
name = "pongo1231";

View File

@ -385,6 +385,8 @@ The module update takes care of the new config syntax and the data itself (user
- `ffmpeg` default upgraded from `ffmpeg_5` to `ffmpeg_6`.
- `fusuma` now enables the following plugins: [appmatcher](https://github.com/iberianpig/fusuma-plugin-appmatcher), [keypress](https://github.com/iberianpig/fusuma-plugin-keypress), [sendkey](https://github.com/iberianpig/fusuma-plugin-sendkey), [tap](https://github.com/iberianpig/fusuma-plugin-tap) and [wmctrl](https://github.com/iberianpig/fusuma-plugin-wmctrl).
## Nixpkgs internals {#sec-release-23.11-nixpkgs-internals}
- The use of `sourceRoot = "source";`, `sourceRoot = "source/subdir";`, and similar lines in package derivations using the default `unpackPhase` is deprecated as it requires `unpackPhase` to always produce a directory named "source". Use `sourceRoot = src.name`, `sourceRoot = "${src.name}/subdir";`, or `setSourceRoot = "sourceRoot=$(echo */subdir)";` or similar instead.

View File

@ -102,7 +102,7 @@ in
unitConfig = {
Description = "GnuPG cryptographic agent and passphrase cache";
Documentation = "man:gpg-agent(1)";
Requires = [ "gpg-agent.socket" ];
Requires = [ "sockets.target" ];
};
serviceConfig = {
ExecStart = "${cfg.package}/bin/gpg-agent --supervised";

View File

@ -5,6 +5,23 @@ with lib;
let
cfg = config.programs.rust-motd;
format = pkgs.formats.toml { };
# Order the sections in the TOML according to the order of sections
# in `cfg.order`.
motdConf = pkgs.runCommand "motd.conf"
{
__structuredAttrs = true;
inherit (cfg) order settings;
nativeBuildInputs = [ pkgs.remarshal pkgs.jq ];
}
''
cat "$NIX_ATTRS_JSON_FILE" \
| jq '.settings as $settings
| .order
| map({ key: ., value: $settings."\(.)" })
| from_entries' -r \
| json2toml /dev/stdin "$out"
'';
in {
options.programs.rust-motd = {
enable = mkEnableOption (lib.mdDoc "rust-motd");
@ -27,10 +44,43 @@ in {
For possible formats, please refer to {manpage}`systemd.time(7)`.
'';
};
order = mkOption {
type = types.listOf types.str;
default = attrNames cfg.settings;
defaultText = literalExpression "attrNames cfg.settings";
description = mdDoc ''
The order of the sections in [](#opt-programs.rust-motd.settings).
By default they are ordered alphabetically.
Context: since attribute sets in Nix are always
ordered alphabetically internally this means that
```nix
{
uptime = { /* ... */ };
banner = { /* ... */ };
}
```
will still have `banner` displayed before `uptime`.
To work around that, this option can be used to define the order of all keys,
i.e.
```nix
{
order = [
"uptime"
"banner"
];
}
```
makes sure that `uptime` is placed before `banner` in the motd.
'';
};
settings = mkOption {
type = types.submodule {
freeformType = format.type;
};
type = types.attrsOf format.type;
description = mdDoc ''
Settings on what to generate. Please read the
[upstream documentation](https://github.com/rust-motd/rust-motd/blob/main/README.md#configuration)
@ -45,14 +95,21 @@ in {
`programs.rust-motd` is incompatible with `users.motd`!
'';
}
{ assertion = sort (a: b: a < b) cfg.order == attrNames cfg.settings;
message = ''
Please ensure that every section from `programs.rust-motd.settings` is present in
`programs.rust-motd.order`.
'';
}
];
systemd.services.rust-motd = {
path = with pkgs; [ bash ];
documentation = [ "https://github.com/rust-motd/rust-motd/blob/v${pkgs.rust-motd.version}/README.md" ];
description = "motd generator";
wantedBy = [ "multi-user.target" ];
serviceConfig = {
ExecStart = "${pkgs.writeShellScript "update-motd" ''
${pkgs.rust-motd}/bin/rust-motd ${format.generate "motd.conf" cfg.settings} > motd
${pkgs.rust-motd}/bin/rust-motd ${motdConf} > motd
''}";
CapabilityBoundingSet = [ "" ];
LockPersonality = true;

View File

@ -33,16 +33,16 @@ assert lib.assertOneOf "withAudioBackend" withAudioBackend [ "" "alsa" "pulseaud
rustPlatform.buildRustPackage rec {
pname = "spotify-player";
version = "0.15.0";
version = "0.15.2";
src = fetchFromGitHub {
owner = "aome510";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-5+YBlXHpAzGgw6MqgnMSggCASS++A/WWomftX8Jxe7g=";
hash = "sha256-yYn8xuJE0mILF7poiTbHCmFswP/xG+BbL+AASrLpbAs=";
};
cargoHash = "sha256-PIYaJC3rVbPjc2CASzMGWAzUdrBwFnKqhrZO6nywdN8=";
cargoHash = "sha256-/q7xrsuRym5oDCGJRpBTdBach2CAbhCCC3cPFzCT4PU=";
nativeBuildInputs = [
pkg-config

View File

@ -27,7 +27,7 @@ stdenvNoCC.mkDerivation {
runHook preInstall
APP_DIR="$out/Applications/${product}.app"
mkdir -p "$APP_DIR"
cp -Tr "${product}.app" "$APP_DIR"
cp -Tr *.app "$APP_DIR"
mkdir -p "$out/bin"
cat << EOF > "$out/bin/${loname}"
open -na '$APP_DIR' --args "\$@"

View File

@ -768,7 +768,7 @@ in
# causes redefinition of _FORTIFY_SOURCE
hardeningDisable = [ "fortify3" ];
postBuild = "cd /build/source/build/pcsx2";
postBuild = "cd $NIX_BUILD_TOP/source/build/pcsx2";
meta = {
description = "Port of PCSX2 to libretro";
license = lib.licenses.gpl3Plus;

View File

@ -3,7 +3,6 @@
let
pname = "joplin-desktop";
version = "2.12.18";
name = "${pname}-${version}";
inherit (stdenv.hostPlatform) system;
throwSystem = throw "Unsupported system: ${system}";
@ -24,7 +23,7 @@ let
};
appimageContents = appimageTools.extractType2 {
inherit name src;
inherit pname version src;
};
meta = with lib; {
@ -43,7 +42,7 @@ let
};
linux = appimageTools.wrapType2 rec {
inherit name src meta;
inherit pname version src meta;
profile = ''
export LC_ALL=C.UTF-8
@ -52,7 +51,7 @@ let
multiArch = false; # no 32bit needed
extraPkgs = appimageTools.defaultFhsEnvArgs.multiPkgs;
extraInstallCommands = ''
mv $out/bin/{${name},${pname}}
mv $out/bin/{${pname}-${version},${pname}}
source "${makeWrapper}/nix-support/setup-hook"
wrapProgram $out/bin/${pname} \
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform=wayland}}"
@ -65,7 +64,7 @@ let
};
darwin = stdenv.mkDerivation {
inherit name src meta;
inherit pname version src meta;
nativeBuildInputs = [ undmg ];

View File

@ -45,6 +45,7 @@ buildGoModule rec {
homepage = "https://github.com/nwg-piotr/nwg-drawer";
license = licenses.mit;
platforms = platforms.linux;
mainProgram = "nwg-drawer";
maintainers = with maintainers; [ plabadens ];
};
}

View File

@ -1,6 +1,7 @@
{ lib
, fetchFromGitea
, rustPlatform
, nix-update-script
}:
rustPlatform.buildRustPackage rec {
pname = "wallust";
@ -14,7 +15,9 @@ rustPlatform.buildRustPackage rec {
hash = "sha256-WhL2HWM1onRrCqWJPLnAVMd/f/xfLrK3mU8jFSLFjAM=";
};
cargoSha256 = "sha256-pR2vdqMGJZ6zvXwwKUIPjb/lWzVgYqQ7C7/sk/+usc4= ";
cargoSha256 = "sha256-pR2vdqMGJZ6zvXwwKUIPjb/lWzVgYqQ7C7/sk/+usc4=";
passthru.updateScript = nix-update-script { };
meta = with lib; {
description = "A better pywal";

View File

@ -30,11 +30,11 @@
firefox-beta = buildMozillaMach rec {
pname = "firefox-beta";
version = "118.0b7";
version = "119.0b4";
applicationName = "Mozilla Firefox Beta";
src = fetchurl {
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
sha512 = "17dc6dbfe1c3085a7c85d53d7980660471253e64d081a01e59d0273b75c4000476bad31fe155c976a18c561c09c21ae9a95775c81bb99c5a53bea89f79b07cfb";
sha512 = "7c067d759602608e527d032f7a3772df827a5b5c4270992c05abda726fcd665f4f2c5380e684623ed108364ace4afaed8b5959f75a4b0540edd5ae30422b0e54";
};
meta = {
@ -58,12 +58,12 @@
firefox-devedition = (buildMozillaMach rec {
pname = "firefox-devedition";
version = "118.0b7";
version = "119.0b4";
applicationName = "Mozilla Firefox Developer Edition";
branding = "browser/branding/aurora";
src = fetchurl {
url = "mirror://mozilla/devedition/releases/${version}/source/firefox-${version}.source.tar.xz";
sha512 = "636df06a41bba9909c50a1c433a6d14d42573cfa8ba28e57b87ed709fb06d81c1fcf4a24a8e1c794b6b7eb894a72e188d5e91bb46ce589a3438c8b75acb6e812";
sha512 = "ded00bc1e090bdca5f32160d980cec47590bb952a6c7f1dc8f4df30fa452cad8c47a3c6d20cf3e8345fd5811777b475354d71d704c866fb49396a83c8a795bcb";
};
meta = {

View File

@ -8,13 +8,13 @@
stdenv.mkDerivation rec {
pname = "cryptominisat";
version = "5.11.12";
version = "5.11.14";
src = fetchFromGitHub {
owner = "msoos";
repo = "cryptominisat";
rev = version;
hash = "sha256-1AJx8gPf+qDpAp0p4cfCObKZDWKDAKdGopllr2ajpHw=";
hash = "sha256-p/sVinjEh078PGtJ6JBRA8EmrJVcchBs9L3bRZvCHuo=";
};
buildInputs = [ python3 boost ];

View File

@ -1,4 +1,10 @@
{ lib, stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, glibc, nixosTests }:
{ stdenv
, lib
, autoreconfHook
, fetchFromGitHub
, glibc
, nixosTests
}:
stdenv.mkDerivation rec {
pname = "catatonit";

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation {
pname = "spectrwm";
version = "3.4.1";
version = "unstable-2023-05-07";
src = fetchFromGitHub {
owner = "conformal";
repo = "spectrwm";
rev = "SPECTRWM_3_4_1";
sha256 = "0bf0d25yr0craksamczn2mdy6cjp27l88smihlw9bw4p6a2qhi41";
rev = "06e3733175969c307a6fd47240a7a37b29d60513";
sha256 = "QcEwFg9QTi+cCl2JghKOzEZ19LP/ZFMbZJAMJ0BLH9M=";
};
nativeBuildInputs = [ pkg-config ];

View File

@ -22,13 +22,47 @@ composerInstallConfigureHook() {
fi
if [[ ! -f "composer.lock" ]]; then
echo "No composer.lock file found, consider adding one to your repository to ensure reproducible builds."
composer \
--no-ansi \
--no-install \
--no-interaction \
${composerNoDev:+--no-dev} \
${composerNoPlugins:+--no-plugins} \
${composerNoScripts:+--no-scripts} \
update
if [[ -f "${composerRepository}/composer.lock" ]]; then
cp ${composerRepository}/composer.lock composer.lock
fi
mkdir -p $out
cp composer.lock $out/
echo "Using an autogenerated composer.lock file."
echo
echo 'No composer.lock file found, consider adding one to your repository to ensure reproducible builds.'
echo "In the meantime, a composer.lock file has been generated for you in $out/composer.lock"
echo
echo 'To fix the issue:'
echo "1. Copy the composer.lock file from $out/composer.lock to the project's source:"
echo " cp $out/composer.lock <path>"
echo '2. Add the composerLock attribute, pointing to the copied composer.lock file:'
echo ' composerLock = ./composer.lock;'
echo
exit 1
fi
echo "Validating consistency between composer.lock and ${composerRepository}/composer.lock"
if [[! @diff@ composer.lock "${composerRepository}/composer.lock"]]; then
echo
echo "ERROR: vendorHash is out of date"
echo
echo "composer.lock is not the same in $composerRepository"
echo
echo "To fix the issue:"
echo '1. Set vendorHash to an empty string: `vendorHash = "";`'
echo '2. Build the derivation and wait for it to fail with a hash mismatch'
echo '3. Copy the "got: sha256-..." value back into the vendorHash field'
echo ' You should have: vendorHash = "sha256-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX=";'
echo
exit 1
fi
chmod +w composer.json composer.lock

View File

@ -17,7 +17,6 @@ composerRepositoryConfigureHook() {
fi
if [[ ! -f "composer.lock" ]]; then
echo "No composer.lock file found, consider adding one to your repository to ensure reproducible builds."
composer \
--no-ansi \
--no-install \
@ -26,7 +25,22 @@ composerRepositoryConfigureHook() {
${composerNoPlugins:+--no-plugins} \
${composerNoScripts:+--no-scripts} \
update
echo "Using an autogenerated composer.lock file."
mkdir -p $out
cp composer.lock $out/
echo
echo 'No composer.lock file found, consider adding one to your repository to ensure reproducible builds.'
echo "In the meantime, a composer.lock file has been generated for you in $out/composer.lock"
echo
echo 'To fix the issue:'
echo "1. Copy the composer.lock file from $out/composer.lock to the project's source:"
echo " cp $out/composer.lock <path>"
echo '2. Add the composerLock attribute, pointing to the copied composer.lock file:'
echo ' composerLock = ./composer.lock;'
echo
exit 1
fi
echo "Finished composerRepositoryConfigureHook"
@ -61,8 +75,8 @@ composerRepositoryInstallHook() {
cp -ar repository/. $out/
# Copy the composer.lock files to the output directory, in case it has been
# autogenerated.
# Copy the composer.lock files to the output directory, to be able to validate consistency with
# the src composer.lock file where this fixed-output derivation is used
cp composer.lock $out/
echo "Finished composerRepositoryInstallHook"

View File

@ -1,9 +1,11 @@
{ makeSetupHook
{ lib
, makeSetupHook
, jq
, moreutils
, makeBinaryWrapper
, php
, cacert
, buildPackages
}:
{
@ -18,6 +20,10 @@
{
name = "composer-install-hook.sh";
propagatedBuildInputs = [ jq makeBinaryWrapper moreutils php cacert ];
substitutions = { };
substitutions = {
# Specify the stdenv's `diff` by abspath to ensure that the user's build
# inputs do not cause us to find the wrong `diff`.
diff = "${lib.getBin buildPackages.diffutils}/bin/diff";
};
} ./composer-install-hook.sh;
}

View File

@ -6,30 +6,30 @@
, libiconv
, openssl
, pkg-config
, Security
, darwin
}:
rustPlatform.buildRustPackage rec {
pname = "convco";
version = "0.4.2";
version = "0.4.3";
src = fetchFromGitHub {
owner = "convco";
repo = pname;
rev = "v${version}";
sha256 = "sha256-RNUMLc4lY18tsOr2vmpkYdQ2poVOQxsSVl5PEuhzQxw=";
hash = "sha256-qf04mtxBqZy9kpFsqz8lVtyUzNtCYE8cNiVJVQ+sCn0=";
};
cargoHash = "sha256-ChB4w9qnSzuOGTPYfpAJS2icy9wi1RjONCsfT+3vlRo=";
cargoHash = "sha256-A1z8ccdsaBC9gY4rD/0NnuQHm7x4eVlMPBvkMKGHK54=";
nativeBuildInputs = [ cmake pkg-config ];
buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ libiconv Security ];
buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ libiconv darwin.apple_sdk.frameworks.Security ];
meta = with lib; {
description = "A Conventional commit cli";
homepage = "https://github.com/convco/convco";
license = with licenses; [ mit ];
maintainers = with maintainers; [ hoverbear ];
maintainers = with maintainers; [ hoverbear cafkafk ];
};
}

View File

@ -0,0 +1,65 @@
{ lib
, stdenv
, fetchurl
, autoPatchelfHook
, dpkg
, glib-networking
, gst_all_1
, libappindicator
, libayatana-appindicator
, webkitgtk
, wrapGAppsHook
}:
stdenv.mkDerivation (finalAttrs: {
name = "dorion";
version = "1.2.1";
src = fetchurl {
url = "https://github.com/SpikeHD/Dorion/releases/download/v${finalAttrs.version }/Dorion_${finalAttrs.version}_amd64.deb";
hash = "sha256-FghJM34GMt8+4b6jsQQSsfmHIyua/pjRHKNErGyK/kw=";
};
unpackCmd = ''
dpkg -X $curSrc .
'';
runtimeDependencies = [
glib-networking
libappindicator
libayatana-appindicator
];
nativeBuildInputs = [
autoPatchelfHook
dpkg
wrapGAppsHook
];
buildInputs = [
glib-networking
gst_all_1.gst-plugins-bad
gst_all_1.gst-plugins-base
gst_all_1.gst-plugins-good
webkitgtk
];
installPhase = ''
runHook preInstall
mkdir -pv $out
mv -v {bin,lib,share} $out
runHook postInstall
'';
meta = {
homepage = "https://github.com/SpikeHD/Dorion";
description = "Tiny alternative Discord client";
license = lib.licenses.gpl3Only;
mainProgram = "dorion";
maintainers = with lib.maintainers; [ ];
platforms = lib.intersectLists (lib.platforms.linux) (lib.platforms.x86_64);
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
};
})

View File

@ -41,13 +41,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "icewm";
version = "3.4.1";
version = "3.4.2";
src = fetchFromGitHub {
owner = "ice-wm";
repo = "icewm";
rev = finalAttrs.version;
hash = "sha256-KgdCgKR3KqDf9GONCBRkLpNLoOycE0y4UXxHxBqNudk=";
hash = "sha256-s1gupU5AOQOMqz8YRMIBc2Oe7DMnlGgXitcq7CFWwSE=";
};
nativeBuildInputs = [

2094
pkgs/by-name/pd/pdepend/composer.lock generated Normal file

File diff suppressed because it is too large Load Diff

View File

@ -2,15 +2,16 @@
php.buildComposerProject (finalAttrs: {
pname = "pdepend";
version = "2.14.0";
version = "2.15.1";
src = fetchFromGitHub {
owner = "pdepend";
repo = "pdepend";
rev = finalAttrs.version;
hash = "sha256-ZmgMuOpUsx5JWTcPRS6qKbTWZvuOrBVOVdPMcvvTV20=";
hash = "sha256-tVWOR0rKMnQDeHk3MHhEVOjn+dSpoMx+Ln+AwFRMwYs=";
};
composerLock = ./composer.lock;
vendorHash = "sha256-MWm8urRB9IujqrIl22x+JFFCRR+nINLQqnHUywT2pi0=";
meta = {

View File

@ -17,13 +17,13 @@
assert lib.elem lineEditingLibrary [ "isocline" "readline" ];
stdenv.mkDerivation (finalAttrs: {
pname = "trealla";
version = "2.27.48";
version = "2.28.1";
src = fetchFromGitHub {
owner = "trealla-prolog";
repo = "trealla";
rev = "v${finalAttrs.version}";
hash = "sha256-6+1mhMEXpKN9DynCBkvKWqP4KihpC2HWa/PA1gnDSRA=";
hash = "sha256-Wy4FPvBQY2CvpR9QiFbI1wI2ztUAc1XvaOGaGH7SkKs=";
};
postPatch = ''

View File

@ -6,13 +6,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "zpaqfranz";
version = "58.9";
version = "58.10";
src = fetchFromGitHub {
owner = "fcorbelli";
repo = "zpaqfranz";
rev = finalAttrs.version;
hash = "sha256-R7LA7gu2q2Kk+FPCLZedwrlICk6OUao/EJHEvxA1+Nc=";
hash = "sha256-eBokpah7j3QQChprvjeigt2/sEpkq6ZS4rQhIP5cAYo=";
};
nativeBuildInputs = [

View File

@ -1,6 +1,6 @@
{
"commit": "69066b0daf2bbb4ca6f2b6de0bc9b8f27fffe4bc",
"url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/69066b0daf2bbb4ca6f2b6de0bc9b8f27fffe4bc.tar.gz",
"sha256": "16ij50f7cx8gl3ypzwy50f5dr68y6m6n732sa1hwsng5db4vqzv7",
"msg": "Update from Hackage at 2023-08-17T07:12:25Z"
"commit": "ad59313651a92d9b7356f616268c7a3d80f52886",
"url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/ad59313651a92d9b7356f616268c7a3d80f52886.tar.gz",
"sha256": "0s66dx6daxfkdm40fcqvlh3h9bcjx1cydrmgxd7dxrlmqqgwn4lc",
"msg": "Update from Hackage at 2023-09-13T23:29:30Z"
}

View File

@ -15,7 +15,7 @@
, useLLVM ? !(stdenv.targetPlatform.isx86
|| stdenv.targetPlatform.isPower
|| stdenv.targetPlatform.isSparc
|| (stdenv.targetPlatform.isAarch64 && stdenv.targetPlatform.isDarwin))
|| stdenv.targetPlatform.isAarch64)
, # LLVM is conceptually a run-time-only dependency, but for
# non-x86, we need LLVM to bootstrap later stages, so it becomes a
# build-time dependency too.

View File

@ -15,7 +15,7 @@
, useLLVM ? !(stdenv.targetPlatform.isx86
|| stdenv.targetPlatform.isPower
|| stdenv.targetPlatform.isSparc
|| (stdenv.targetPlatform.isAarch64 && stdenv.targetPlatform.isDarwin))
|| stdenv.targetPlatform.isAarch64)
, # LLVM is conceptually a run-time-only dependency, but for
# non-x86, we need LLVM to bootstrap later stages, so it becomes a
# build-time dependency too.

View File

@ -15,7 +15,7 @@
, useLLVM ? !(stdenv.targetPlatform.isx86
|| stdenv.targetPlatform.isPower
|| stdenv.targetPlatform.isSparc
|| (stdenv.targetPlatform.isAarch64 && stdenv.targetPlatform.isDarwin))
|| stdenv.targetPlatform.isAarch64)
, # LLVM is conceptually a run-time-only dependency, but for
# non-x86, we need LLVM to bootstrap later stages, so it becomes a
# build-time dependency too.

View File

@ -15,7 +15,7 @@
, useLLVM ? !(stdenv.targetPlatform.isx86
|| stdenv.targetPlatform.isPower
|| stdenv.targetPlatform.isSparc
|| (stdenv.targetPlatform.isAarch64 && stdenv.targetPlatform.isDarwin))
|| stdenv.targetPlatform.isAarch64)
, # LLVM is conceptually a run-time-only dependency, but for
# non-x86, we need LLVM to bootstrap later stages, so it becomes a
# build-time dependency too.

View File

@ -15,7 +15,7 @@
, useLLVM ? !(stdenv.targetPlatform.isx86
|| stdenv.targetPlatform.isPower
|| stdenv.targetPlatform.isSparc
|| (stdenv.targetPlatform.isAarch64 && stdenv.targetPlatform.isDarwin))
|| stdenv.targetPlatform.isAarch64)
, # LLVM is conceptually a run-time-only dependency, but for
# non-x86, we need LLVM to bootstrap later stages, so it becomes a
# build-time dependency too.

View File

@ -17,7 +17,7 @@
, useLLVM ? !(stdenv.targetPlatform.isx86
|| stdenv.targetPlatform.isPower
|| stdenv.targetPlatform.isSparc
|| (stdenv.targetPlatform.isAarch64 && stdenv.targetPlatform.isDarwin))
|| stdenv.targetPlatform.isAarch64)
, # LLVM is conceptually a run-time-only dependency, but for
# non-x86, we need LLVM to bootstrap later stages, so it becomes a
# build-time dependency too.

View File

@ -17,7 +17,7 @@
, useLLVM ? !(stdenv.targetPlatform.isx86
|| stdenv.targetPlatform.isPower
|| stdenv.targetPlatform.isSparc
|| (stdenv.targetPlatform.isAarch64 && stdenv.targetPlatform.isDarwin))
|| stdenv.targetPlatform.isAarch64)
, # LLVM is conceptually a run-time-only dependency, but for
# non-x86, we need LLVM to bootstrap later stages, so it becomes a
# build-time dependency too.

View File

@ -17,7 +17,7 @@
, useLLVM ? !(stdenv.targetPlatform.isx86
|| stdenv.targetPlatform.isPower
|| stdenv.targetPlatform.isSparc
|| (stdenv.targetPlatform.isAarch64 && stdenv.targetPlatform.isDarwin))
|| stdenv.targetPlatform.isAarch64)
, # LLVM is conceptually a run-time-only dependency, but for
# non-x86, we need LLVM to bootstrap later stages, so it becomes a
# build-time dependency too.

View File

@ -17,7 +17,7 @@
, useLLVM ? !(stdenv.targetPlatform.isx86
|| stdenv.targetPlatform.isPower
|| stdenv.targetPlatform.isSparc
|| (stdenv.targetPlatform.isAarch64 && stdenv.targetPlatform.isDarwin))
|| stdenv.targetPlatform.isAarch64)
, # LLVM is conceptually a run-time-only dependency, but for
# non-x86, we need LLVM to bootstrap later stages, so it becomes a
# build-time dependency too.

View File

@ -17,7 +17,7 @@
, useLLVM ? !(stdenv.targetPlatform.isx86
|| stdenv.targetPlatform.isPower
|| stdenv.targetPlatform.isSparc
|| (stdenv.targetPlatform.isAarch64 && stdenv.targetPlatform.isDarwin))
|| stdenv.targetPlatform.isAarch64)
, # LLVM is conceptually a run-time-only dependency, but for
# non-x86, we need LLVM to bootstrap later stages, so it becomes a
# build-time dependency too.

View File

@ -0,0 +1,4 @@
import ./common-hadrian.nix rec {
version = "9.6.3";
sha256 = "1xbpxchmvm9gswrwwz1rsvx9kjaxhc2q3fx9l6wa0l5599xydkfz";
}

View File

@ -39,7 +39,7 @@
, useLLVM ? !(stdenv.targetPlatform.isx86
|| stdenv.targetPlatform.isPower
|| stdenv.targetPlatform.isSparc
|| (stdenv.targetPlatform.isAarch64 && stdenv.targetPlatform.isDarwin)
|| stdenv.targetPlatform.isAarch64
|| stdenv.targetPlatform.isGhcjs)
, # LLVM is conceptually a run-time-only dependency, but for
# non-x86, we need LLVM to bootstrap later stages, so it becomes a

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "mlkit";
version = "4.7.3";
version = "4.7.4";
src = fetchFromGitHub {
owner = "melsman";
repo = "mlkit";
rev = "v${version}";
sha256 = "sha256-sJY2w1+hv5KrRunf6Dfwc+eY6X9HYghVyAlWLlHvv+E=";
sha256 = "sha256-ASWPINMxR5Rlly1C0yB3llfhju/dDW2HBbHSIF4ecR8=";
};
nativeBuildInputs = [ autoreconfHook mlton ];

View File

@ -15,7 +15,7 @@ let
in stdenv.mkDerivation rec {
pname = "purescript";
version = "0.15.10";
version = "0.15.11";
# These hashes can be updated automatically by running the ./update.sh script.
src =
@ -25,17 +25,17 @@ in stdenv.mkDerivation rec {
then
fetchurl {
url = "https://github.com/${pname}/${pname}/releases/download/v${version}/macos-arm64.tar.gz";
sha256 = "1pk6mkjy09qvh8lsygb5gb77i2fqwjzz8jdjkxlyzynp3wpkcjp7";
sha256 = "1ffhcwzb4cazxviqdl9zwg0jnbhsisg2pbxkqbk63zj2grjcpg86";
}
else
fetchurl {
url = "https://github.com/${pname}/${pname}/releases/download/v${version}/macos.tar.gz";
sha256 = "14yd00v3dsnnwj2f645vy0apnp1843ms9ffd2ccv7bj5p4kxsdzg";
sha256 = "0h923269zb9hwlifcv8skz17zlggh8hsxhrgf33h2inl1midvgq5";
})
else
fetchurl {
url = "https://github.com/${pname}/${pname}/releases/download/v${version}/linux64.tar.gz";
sha256 = "03p5f2m5xvrqgiacs4yfc2dgz6frlxy90h6z1nm6wan40p2vd41r";
sha256 = "0vrbgmgmmwbyxl969k59zkfrq5dxshspnzskx8zmhcy4flamz8av";
};

View File

@ -316,7 +316,12 @@ self: super: {
# Overriding the version pandoc dependency uses as the latest release has version bounds
# defined as >= 3.1 && < 3.2, can be removed once pandoc gets bumped by Stackage.
patat = super.patat.override { pandoc = self.pandoc_3_1_6_1; };
#
# The patch can be removed once the commit being pulled is in a release.
patat = appendPatch (fetchpatch {
url = "https://github.com/jaspervdj/patat/pull/143/commits/cb5d5b6439204b5bd52939e42a11518ac81139fe.patch";
sha256 = "sha256-EPiyxziPtn2fAExKknI2uKUGahWCFnv7K8bpVkAgezQ=";
}) (super.patat.override { pandoc = self.pandoc_3_1_8; });
# http2 also overridden in all-packages.nix for mailctl.
# twain is currently only used by mailctl, so the .overrideScope shouldn't
@ -347,7 +352,7 @@ self: super: {
name = "git-annex-${super.git-annex.version}-src";
url = "git://git-annex.branchable.com/";
rev = "refs/tags/" + super.git-annex.version;
sha256 = "0fg3q7apdijnlgyb0yps1znjjd2nv3016r9cyxyw209sqn3whnx5";
sha256 = "sha256-+buXiG9auq46+reMrs2rBWoxHgPkHmP8BY5BugooU+Q=";
# delete android and Android directories which cause issues on
# darwin (case insensitive directory). Since we don't need them
# during the build process, we can delete it to prevent a hash
@ -518,13 +523,8 @@ self: super: {
# https://github.com/ekmett/structures/issues/3
structures = dontCheck super.structures;
jacinda = appendPatches [
(pkgs.fetchpatch {
name = "jacinda-alex-3.3.patch";
url = "https://github.com/vmchale/jacinda/commit/b8e18871900402e6ab0addae2e41a0f360682ae3.patch";
sha256 = "0c1b9hp9j44zafzjidp301dz0m54vplgfisqvb1zrh1plk6vsxsa";
})
] (overrideCabal { revision = null; editedCabalFile = null; } super.jacinda);
# Requires alex >= 3.4
jacinda = super.jacinda.override { alex = self.alex_3_4_0_0; };
# Disable test suites to fix the build.
acme-year = dontCheck super.acme-year; # http://hydra.cryp.to/build/497858/log/raw
@ -1468,31 +1468,6 @@ self: super: {
});
};
jsaddle-webkit2gtk =
appendPatches [
(pkgs.fetchpatch {
name = "jsaddle-webkit2gtk-ghc-9.2.patch";
url = "https://github.com/ghcjs/jsaddle/commit/d2ce9e6be1dcba0ab417314a0b848012d1a47e03.diff";
stripLen = 1;
includes = [ "jsaddle-webkit2gtk.cabal" ];
sha256 = "16pcs3l7s8shhcnrhi80bwjgy7w23csd9b8qpmc5lnxn4wxr4c2r";
})
(pkgs.fetchpatch {
name = "jsaddle-webkit2gtk-ghc-9.6.patch";
url = "https://github.com/ghcjs/jsaddle/commit/99b23dac8b4c5b23f5ed7963e681a46c1abdd1a5.patch";
sha256 = "02rdifap9vzf6bhjp5siw68ghjrxh2phzd0kwjihf3hxi4a2xlp3";
stripLen = 1;
includes = [ "jsaddle-webkit2gtk.cabal" ];
})
]
(overrideCabal (old: {
postPatch = old.postPatch or "" + ''
sed -i 's/aeson.*,/aeson,/' jsaddle-webkit2gtk.cabal
sed -i 's/text.*,/text,/' jsaddle-webkit2gtk.cabal
'';
})
super.jsaddle-webkit2gtk);
# 2022-03-16: lens bound can be loosened https://github.com/ghcjs/jsaddle-dom/issues/19
jsaddle-dom = overrideCabal (old: {
postPatch = old.postPatch or "" + ''
@ -1861,15 +1836,6 @@ self: super: {
vivid-osc = dontCheck super.vivid-osc;
vivid-supercollider = dontCheck super.vivid-supercollider;
# while waiting for a new release: https://github.com/brendanhay/amazonka/pull/572
amazonka = appendPatches [
(fetchpatch {
relative = "amazonka";
url = "https://github.com/brendanhay/amazonka/commit/43ddd87b1ebd6af755b166e16336259ec025b337.patch";
sha256 = "sha256-9Ed3qrLGRaNCdvqWMyg8ydAnqDkFqWKLLoObv/5jG54=";
})
] (doJailbreak super.amazonka);
# Test suite does not compile.
feed = dontCheck super.feed;
@ -1915,23 +1881,27 @@ self: super: {
inherit (let
pandoc-cli-overlay = self: super: {
# pandoc-cli requires pandoc >= 3.1
pandoc = self.pandoc_3_1_6_1;
pandoc = self.pandoc_3_1_8;
# pandoc depends on crypton-connection, which requires tls >= 1.7
tls = self.tls_1_7_1;
tls = self.tls_1_9_0;
crypton-connection = unmarkBroken super.crypton-connection;
# pandoc depends on http-client-tls, which only starts depending
# on crypton-connection in http-client-tls-0.3.6.2.
http-client-tls = self.http-client-tls_0_3_6_3;
# pandoc depends on skylighting >= 0.14
skylighting = self.skylighting_0_14;
skylighting-core = self.skylighting-core_0_14;
};
in {
pandoc-cli = super.pandoc-cli.overrideScope pandoc-cli-overlay;
pandoc_3_1_6_1 = doDistribute (super.pandoc_3_1_6_1.overrideScope pandoc-cli-overlay);
pandoc_3_1_8 = doDistribute (super.pandoc_3_1_8.overrideScope pandoc-cli-overlay);
pandoc-lua-engine = super.pandoc-lua-engine.overrideScope pandoc-cli-overlay;
})
pandoc-cli
pandoc_3_1_6_1
pandoc_3_1_8
pandoc-lua-engine
;
@ -2136,27 +2106,6 @@ self: super: {
sha256 = "sha256-AVQLvul3ufxGQyoXud05qauclNanf6kunip0oJ/9lWQ=";
}) (dontCheck super.yi-language);
# 2022-03-16: Upstream is not bumping bounds https://github.com/ghcjs/jsaddle/issues/123
# 2023-07-14: Upstream is also not releasing fixes.
jsaddle = appendPatch
(fetchpatch {
name = "jsaddle-casemapping.patch";
url = "https://github.com/ghcjs/jsaddle/commit/f90df85fec84fcc4927bfb67452e31342f5aec1f.patch";
sha256 = "sha256-xCtDxpjZbus8VSeBUEV0OnJlcQKjeL1PbYSHnhpFuyI=";
relative = "jsaddle";
})
(overrideCabal (drv: {
# lift conditional version constraint on ref-tf
postPatch = ''
sed -i 's/ref-tf.*,/ref-tf,/' jsaddle.cabal
sed -i 's/attoparsec.*,/attoparsec,/' jsaddle.cabal
sed -i 's/time.*,/time,/' jsaddle.cabal
sed -i 's/vector.*,/vector,/' jsaddle.cabal
sed -i 's/(!name)/(! name)/' src/Language/Javascript/JSaddle/Object.hs
'' + (drv.postPatch or "");
})
(doJailbreak super.jsaddle));
# 2022-03-22: Jailbreak for base bound: https://github.com/reflex-frp/reflex-dom/pull/433
reflex-dom = assert super.reflex-dom.version == "0.6.1.1"; doJailbreak super.reflex-dom;
@ -2757,6 +2706,7 @@ self: super: {
# Tests fail due to the newly-build fourmolu not being in PATH
# https://github.com/fourmolu/fourmolu/issues/231
fourmolu_0_14_0_0 = dontCheck super.fourmolu_0_14_0_0;
fourmolu_0_13_1_0 = dontCheck super.fourmolu_0_13_1_0;
# Merged upstream, but never released. Allows both intel and aarch64 darwin to build.
@ -2773,4 +2723,9 @@ self: super: {
# The hackage source is somehow missing a file present in the repo (tests/ListStat.hs).
sym = dontCheck super.sym;
# Too strict bounds on base, ghc-prim, primitive
# https://github.com/kowainik/typerep-map/pull/128
typerep-map = doJailbreak super.typerep-map;
} // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super

View File

@ -65,7 +65,7 @@ self: super: {
# Version deviations from Stackage LTS
#
doctest = doDistribute super.doctest_0_22_0;
doctest = doDistribute super.doctest_0_22_1;
http-api-data = doDistribute self.http-api-data_0_6; # allows base >= 4.18
some = doDistribute self.some_1_0_5;
th-abstraction = doDistribute self.th-abstraction_0_6_0_0;
@ -88,7 +88,7 @@ self: super: {
ghc-lib = doDistribute self.ghc-lib_9_6_2_20230523;
ghc-lib-parser = doDistribute self.ghc-lib-parser_9_6_2_20230523;
ghc-lib-parser-ex = doDistribute self.ghc-lib-parser-ex_9_6_0_1;
ghc-lib-parser-ex = doDistribute self.ghc-lib-parser-ex_9_6_0_2;
# v0.1.6 forbids base >= 4.18
singleton-bool = doDistribute super.singleton-bool_0_1_7;
@ -176,7 +176,7 @@ self: super: {
};
fourmolu = super.fourmolu_0_13_1_0;
ormolu = super.ormolu_0_7_1_0;
ormolu = self.generateOptparseApplicativeCompletions [ "ormolu" ] (enableSeparateBinOutput super.ormolu_0_7_2_0);
stylish-haskell = super.stylish-haskell_0_14_5_0;
# Newer version of servant required for GHC 9.6
@ -272,4 +272,12 @@ self: super: {
# The curl executable is required for withApplication tests.
warp_3_3_28 = addTestToolDepend pkgs.curl super.warp_3_3_28;
# The NCG backend for aarch64 generates invalid jumps in some situations,
# the workaround on 9.6 is to revert to the LLVM backend (which is used
# for these sorts of situations even on 9.2 and 9.4).
# https://gitlab.haskell.org/ghc/ghc/-/issues/23746#note_525318
tls = appendConfigureFlags
(lib.optionals pkgs.stdenv.hostPlatform.isAarch64 [ "--ghc-option=-fllvm" ])
super.tls;
}

View File

@ -78,10 +78,4 @@ self: super: {
# Break out of "yaml >=0.10.4.0 && <0.11": https://github.com/commercialhaskell/stack/issues/4485
stack = doJailbreak super.stack;
# https://github.com/fpco/inline-c/pull/131
# and/or https://gitlab.haskell.org/ghc/ghc/-/merge_requests/7739
inline-c-cpp =
(if isDarwin then appendConfigureFlags ["--ghc-option=-fcompact-unwind"] else x: x)
super.inline-c-cpp;
}

View File

@ -139,11 +139,11 @@ broken-packages:
- altfloat # failure in job https://hydra.nixos.org/build/233197874 at 2023-09-02
- alure # failure in job https://hydra.nixos.org/build/233230238 at 2023-09-02
- amazon-emailer # failure in job https://hydra.nixos.org/build/233220018 at 2023-09-02
- amazonka # failure in job https://hydra.nixos.org/build/233220743 at 2023-09-02
- amazonka-iam-policy # failure in job https://hydra.nixos.org/build/233233098 at 2023-09-02
- amazon-products # failure in job https://hydra.nixos.org/build/233193877 at 2023-09-02
- AMI # failure in job https://hydra.nixos.org/build/233232505 at 2023-09-02
- amqp-conduit # failure in job https://hydra.nixos.org/build/233228080 at 2023-09-02
- amqp-worker # failure in job https://hydra.nixos.org/build/236675859 at 2023-10-04
- analyze # failure in job https://hydra.nixos.org/build/233251441 at 2023-09-02
- anansi-pandoc # failure in job https://hydra.nixos.org/build/233252389 at 2023-09-02
- android-activity # failure in job https://hydra.nixos.org/build/233203400 at 2023-09-02
@ -333,11 +333,13 @@ broken-packages:
- basement-cd # failure in job https://hydra.nixos.org/build/233191991 at 2023-09-02
- basen # failure in job https://hydra.nixos.org/build/233210680 at 2023-09-02
- basex-client # failure in job https://hydra.nixos.org/build/233214592 at 2023-09-02
- basics # failure in job https://hydra.nixos.org/build/236678238 at 2023-10-04
- basic-sop # failure in job https://hydra.nixos.org/build/233253357 at 2023-09-02
- baskell # failure in job https://hydra.nixos.org/build/233246705 at 2023-09-02
- battlenet # failure in job https://hydra.nixos.org/build/233260076 at 2023-09-02
- battleplace # failure in job https://hydra.nixos.org/build/233230199 at 2023-09-02
- bazel-coverage-report-renderer # failure in job https://hydra.nixos.org/build/233243746 at 2023-09-02
- bbcode # failure in job https://hydra.nixos.org/build/236693854 at 2023-10-04
- BCMtools # failure in job https://hydra.nixos.org/build/233250221 at 2023-09-02
- bdd # failure in job https://hydra.nixos.org/build/233248150 at 2023-09-02
- bdelta # failure in job https://hydra.nixos.org/build/233214765 at 2023-09-02
@ -413,7 +415,6 @@ broken-packages:
- bindings-wlc # failure in job https://hydra.nixos.org/build/233332720 at 2023-09-02
- bind-marshal # failure in job https://hydra.nixos.org/build/233196758 at 2023-09-02
- binembed # failure in job https://hydra.nixos.org/build/233219100 at 2023-09-02
- binrep # failure in job https://hydra.nixos.org/build/233208877 at 2023-09-02
- binsm # failure in job https://hydra.nixos.org/build/233232355 at 2023-09-02
- biocore # failure in job https://hydra.nixos.org/build/233229466 at 2023-09-02
- bio # failure in job https://hydra.nixos.org/build/233225273 at 2023-09-02
@ -530,6 +531,7 @@ broken-packages:
- bv-sized-lens # failure in job https://hydra.nixos.org/build/233237486 at 2023-09-02
- byline # failure in job https://hydra.nixos.org/build/233231017 at 2023-09-02
- bytearray-parsing # failure in job https://hydra.nixos.org/build/233244355 at 2023-09-02
- bytepatch # failure in job https://hydra.nixos.org/build/236678340 at 2023-10-04
- bytestring-arbitrary # failure in job https://hydra.nixos.org/build/233195013 at 2023-09-02
- bytestring-class # failure in job https://hydra.nixos.org/build/233230793 at 2023-09-02
- bytestring-conversion # failure in job https://hydra.nixos.org/build/233211464 at 2023-09-02
@ -1295,6 +1297,7 @@ broken-packages:
- dump-core # failure in job https://hydra.nixos.org/build/233244428 at 2023-09-02
- dunai-core # failure in job https://hydra.nixos.org/build/233255804 at 2023-09-02
- Dung # failure in job https://hydra.nixos.org/build/233206343 at 2023-09-02
- dupIO # failure in job https://hydra.nixos.org/build/236688265 at 2023-10-04
- duplo # failure in job https://hydra.nixos.org/build/233237341 at 2023-09-02
- dura # failure in job https://hydra.nixos.org/build/233210320 at 2023-09-02
- duration # failure in job https://hydra.nixos.org/build/233207705 at 2023-09-02
@ -1434,6 +1437,7 @@ broken-packages:
- etc # failure in job https://hydra.nixos.org/build/233199192 at 2023-09-02
- ethereum-rlp # failure in job https://hydra.nixos.org/build/233236392 at 2023-09-02
- eurofxref # failure in job https://hydra.nixos.org/build/233230942 at 2023-09-02
- evdev # failure in job https://hydra.nixos.org/build/236692293 at 2023-10-04
- eve-cli # failure in job https://hydra.nixos.org/build/233254555 at 2023-09-02
- eved # failure in job https://hydra.nixos.org/build/233194319 at 2023-09-02
- event-driven # failure in job https://hydra.nixos.org/build/233233946 at 2023-09-02
@ -1704,6 +1708,7 @@ broken-packages:
- fused-effects-resumable # failure in job https://hydra.nixos.org/build/233242479 at 2023-09-02
- fused-effects-th # failure in job https://hydra.nixos.org/build/233192186 at 2023-09-02
- fusion # failure in job https://hydra.nixos.org/build/233204359 at 2023-09-02
- futhark # failure in job https://hydra.nixos.org/build/236673091 at 2023-10-04
- futhask # failure in job https://hydra.nixos.org/build/233229281 at 2023-09-02
- futun # failure in job https://hydra.nixos.org/build/233245115 at 2023-09-02
- future # failure in job https://hydra.nixos.org/build/233224844 at 2023-09-02
@ -2381,6 +2386,7 @@ broken-packages:
- hlibBladeRF # failure in job https://hydra.nixos.org/build/233237204 at 2023-09-02
- hlibev # failure in job https://hydra.nixos.org/build/233256218 at 2023-09-02
- hlibfam # failure in job https://hydra.nixos.org/build/233244702 at 2023-09-02
- hlint-plugin # failure in job https://hydra.nixos.org/build/236693381 at 2023-10-04
- HList # failure in job https://hydra.nixos.org/build/233193236 at 2023-09-02
- hlivy # failure in job https://hydra.nixos.org/build/233222495 at 2023-09-02
- hlogger # failure in job https://hydra.nixos.org/build/233197314 at 2023-09-02
@ -2473,6 +2479,7 @@ broken-packages:
- hpasteit # failure in job https://hydra.nixos.org/build/233197680 at 2023-09-02
- HPath # failure in job https://hydra.nixos.org/build/233257819 at 2023-09-02
- hpc-coveralls # failure in job https://hydra.nixos.org/build/233255685 at 2023-09-02
- hpdft # failure in job https://hydra.nixos.org/build/236675535 at 2023-10-04
- hpg # failure in job https://hydra.nixos.org/build/233243212 at 2023-09-02
- HPi # failure in job https://hydra.nixos.org/build/233257411 at 2023-09-02
- hpio # failure in job https://hydra.nixos.org/build/233215789 at 2023-09-02
@ -2486,6 +2493,7 @@ broken-packages:
- hpyrg # failure in job https://hydra.nixos.org/build/233225042 at 2023-09-02
- hquantlib-time # failure in job https://hydra.nixos.org/build/233192009 at 2023-09-02
- hquery # failure in job https://hydra.nixos.org/build/233203709 at 2023-09-02
- h-raylib # failure in job https://hydra.nixos.org/build/236686375 at 2023-10-04
- hreq-core # failure in job https://hydra.nixos.org/build/233259937 at 2023-09-02
- hRESP # failure in job https://hydra.nixos.org/build/233229961 at 2023-09-02
- h-reversi # failure in job https://hydra.nixos.org/build/233235617 at 2023-09-02
@ -2592,6 +2600,7 @@ broken-packages:
- hsrelp # failure in job https://hydra.nixos.org/build/233255841 at 2023-09-02
- hs-rqlite # failure in job https://hydra.nixos.org/build/233191478 at 2023-09-02
- hs-rs-notify # failure in job https://hydra.nixos.org/build/233253577 at 2023-09-02
- hs-samtools # failure in job https://hydra.nixos.org/build/236688025 at 2023-10-04
- hs-scrape # failure in job https://hydra.nixos.org/build/233244221 at 2023-09-02
- hsseccomp # failure in job https://hydra.nixos.org/build/233194411 at 2023-09-02
- hsshellscript # failure in job https://hydra.nixos.org/build/233197858 at 2023-09-02
@ -2937,6 +2946,7 @@ broken-packages:
- json-rpc-server # failure in job https://hydra.nixos.org/build/233201284 at 2023-09-02
- jsonrpc-tinyclient # failure in job https://hydra.nixos.org/build/233214174 at 2023-09-02
- jsonschema-gen # failure in job https://hydra.nixos.org/build/233225063 at 2023-09-02
- json-spec # failure in job https://hydra.nixos.org/build/236684808 at 2023-10-04
- jsonsql # failure in job https://hydra.nixos.org/build/233255704 at 2023-09-02
- json-syntax # failure in job https://hydra.nixos.org/build/233250639 at 2023-09-02
- json-tools # failure in job https://hydra.nixos.org/build/233247019 at 2023-09-02
@ -3040,6 +3050,7 @@ broken-packages:
- Lambdajudge # failure in job https://hydra.nixos.org/build/233227016 at 2023-09-02
- LambdaNet # failure in job https://hydra.nixos.org/build/233197999 at 2023-09-02
- lambda-sampler # failure in job https://hydra.nixos.org/build/233205734 at 2023-09-02
- lambdasound # failure in updateAutotoolsGnuConfigScriptsPhase in job https://hydra.nixos.org/build/237027557 at 2023-10-04
- lambdatex # failure in job https://hydra.nixos.org/build/233215389 at 2023-09-02
- lambda-toolbox # failure in job https://hydra.nixos.org/build/233194921 at 2023-09-02
- lambdatwit # failure in job https://hydra.nixos.org/build/233219603 at 2023-09-02
@ -3171,6 +3182,7 @@ broken-packages:
- linda # failure in job https://hydra.nixos.org/build/233249512 at 2023-09-02
- linden # failure in job https://hydra.nixos.org/build/233198590 at 2023-09-02
- linear-algebra-cblas # failure in job https://hydra.nixos.org/build/233239710 at 2023-09-02
- linearmap-category # failure in job https://hydra.nixos.org/build/236690982 at 2023-10-04
- linear-maps # failure in job https://hydra.nixos.org/build/233258332 at 2023-09-02
- linear-opengl # failure in job https://hydra.nixos.org/build/233237268 at 2023-09-02
- linearscan # failure in job https://hydra.nixos.org/build/233257541 at 2023-09-02
@ -3767,7 +3779,6 @@ broken-packages:
- numtype # failure in job https://hydra.nixos.org/build/233219211 at 2023-09-02
- numtype-tf # failure in job https://hydra.nixos.org/build/233243483 at 2023-09-02
- Nutri # failure in job https://hydra.nixos.org/build/233244244 at 2023-09-02
- nvfetcher # failure in job https://hydra.nixos.org/build/233598212 at 2023-09-02
- NXTDSL # failure in job https://hydra.nixos.org/build/233193483 at 2023-09-02
- nylas # failure in job https://hydra.nixos.org/build/233193540 at 2023-09-02
- oanda-rest-api # failure in job https://hydra.nixos.org/build/233250190 at 2023-09-02
@ -4183,6 +4194,7 @@ broken-packages:
- polysemy-req # failure in job https://hydra.nixos.org/build/233224435 at 2023-09-02
- polysemy-several # failure in job https://hydra.nixos.org/build/233216921 at 2023-09-02
- polysemy-socket # failure in job https://hydra.nixos.org/build/233195754 at 2023-09-02
- polysemy-test # failure in job https://hydra.nixos.org/build/236686974 at 2023-10-04
- polyseq # failure in job https://hydra.nixos.org/build/233191210 at 2023-09-02
- polytypeable # failure in job https://hydra.nixos.org/build/233211797 at 2023-09-02
- polyvariadic # failure in job https://hydra.nixos.org/build/233250822 at 2023-09-02
@ -4830,6 +4842,7 @@ broken-packages:
- servant-pandoc # failure in job https://hydra.nixos.org/build/233203008 at 2023-09-02
- servant-polysemy # failure in job https://hydra.nixos.org/build/233218670 at 2023-09-02
- servant-pool # failure in job https://hydra.nixos.org/build/233208935 at 2023-09-02
- servant-prometheus # failure in job https://hydra.nixos.org/build/236685165 at 2023-10-04
- servant-purescript # failure in job https://hydra.nixos.org/build/233598080 at 2023-09-02
- servant-py # failure in job https://hydra.nixos.org/build/233598104 at 2023-09-02
- servant-quickcheck # failure in job https://hydra.nixos.org/build/233236741 at 2023-09-02
@ -5116,6 +5129,7 @@ broken-packages:
- stan # failure in job https://hydra.nixos.org/build/233200000 at 2023-09-02
- starling # failure in job https://hydra.nixos.org/build/233255468 at 2023-09-02
- starter # failure in job https://hydra.nixos.org/build/233208799 at 2023-09-02
- starter-snake-haskell # failure in job https://hydra.nixos.org/build/236685019 at 2023-10-04
- stash # failure in job https://hydra.nixos.org/build/233193110 at 2023-09-02
- Stasis # failure in job https://hydra.nixos.org/build/233209365 at 2023-09-02
- state-bag # failure in job https://hydra.nixos.org/build/233222753 at 2023-09-02
@ -5278,6 +5292,7 @@ broken-packages:
- Sysmon # failure in job https://hydra.nixos.org/build/233224152 at 2023-09-02
- system-canonicalpath # failure in job https://hydra.nixos.org/build/233254297 at 2023-09-02
- system-command # failure in job https://hydra.nixos.org/build/233239356 at 2023-09-02
- systemd-ntfy # failure in job https://hydra.nixos.org/build/236686880 at 2023-10-04
- system-extra # failure in job https://hydra.nixos.org/build/233203137 at 2023-09-02
- system-inotify # failure in job https://hydra.nixos.org/build/233206871 at 2023-09-02
- system-lifted # failure in job https://hydra.nixos.org/build/233236013 at 2023-09-02
@ -5319,6 +5334,7 @@ broken-packages:
- tasty-autocollect # failure in job https://hydra.nixos.org/build/233256957 at 2023-09-02
- tasty-auto # failure in job https://hydra.nixos.org/build/233220008 at 2023-09-02
- tasty-fail-fast # failure in job https://hydra.nixos.org/build/233200040 at 2023-09-02
- tasty-grading-system # failure in job https://hydra.nixos.org/build/236673021 at 2023-10-04
- tasty-hedgehog-coverage # failure in job https://hydra.nixos.org/build/233231332 at 2023-09-02
- tasty-mgolden # failure in job https://hydra.nixos.org/build/233248196 at 2023-09-02
- tasty-stats # failure in job https://hydra.nixos.org/build/233228752 at 2023-09-02
@ -5607,6 +5623,7 @@ broken-packages:
- TypeCompose # failure in job https://hydra.nixos.org/build/233212999 at 2023-09-02
- typed-digits # failure in job https://hydra.nixos.org/build/233198266 at 2023-09-02
- typed-encoding # failure in job https://hydra.nixos.org/build/233208093 at 2023-09-02
- typed-process-effectful # failure in job https://hydra.nixos.org/build/236684332 at 2023-10-04
- typedquery # failure in job https://hydra.nixos.org/build/233215307 at 2023-09-02
- typed-spreadsheet # failure in job https://hydra.nixos.org/build/233248967 at 2023-09-02
- typed-time # failure in job https://hydra.nixos.org/build/233246930 at 2023-09-02
@ -5617,6 +5634,7 @@ broken-packages:
- type-indexed-queues # failure in job https://hydra.nixos.org/build/233197833 at 2023-09-02
- type-interpreter # failure in job https://hydra.nixos.org/build/233192182 at 2023-09-02
- type-int # failure in job https://hydra.nixos.org/build/233245978 at 2023-09-02
- typelet # failure in job https://hydra.nixos.org/build/236691051 at 2023-10-04
- type-level-bst # failure in job https://hydra.nixos.org/build/233202030 at 2023-09-02
- type-level-natural-number-induction # failure in job https://hydra.nixos.org/build/233259499 at 2023-09-02
- type-level-natural-number-operations # failure in job https://hydra.nixos.org/build/233198314 at 2023-09-02
@ -5629,7 +5647,6 @@ broken-packages:
- type-operators # failure in job https://hydra.nixos.org/build/233232802 at 2023-09-02
- typeparams # failure in job https://hydra.nixos.org/build/233192078 at 2023-09-02
- type-prelude # failure in job https://hydra.nixos.org/build/233221195 at 2023-09-02
- typerep-map # failure in job https://hydra.nixos.org/build/233202720 at 2023-09-02
- type-safe-avl # failure in job https://hydra.nixos.org/build/233203946 at 2023-09-02
- types-compat # failure in job https://hydra.nixos.org/build/233249850 at 2023-09-02
- type-settheory # failure in job https://hydra.nixos.org/build/233209513 at 2023-09-02
@ -5652,6 +5669,7 @@ broken-packages:
- uhttpc # failure in job https://hydra.nixos.org/build/233232481 at 2023-09-02
- ui-command # failure in job https://hydra.nixos.org/build/233223762 at 2023-09-02
- ukrainian-phonetics-basic-array-bytestring # failure in job https://hydra.nixos.org/build/233228787 at 2023-09-02
- unac-bindings # failure in job https://hydra.nixos.org/build/236686523 at 2023-10-04
- unamb-custom # failure in job https://hydra.nixos.org/build/233197458 at 2023-09-02
- unbeliever # failure in job https://hydra.nixos.org/build/233221256 at 2023-09-02
- unbounded-delays-units # failure in job https://hydra.nixos.org/build/233200989 at 2023-09-02
@ -5858,6 +5876,7 @@ broken-packages:
- wai-static-cache # failure in job https://hydra.nixos.org/build/233228597 at 2023-09-02
- waitfree # failure in job https://hydra.nixos.org/build/233222583 at 2023-09-02
- wai-throttler # failure in job https://hydra.nixos.org/build/233231002 at 2023-09-02
- wai-token-bucket-ratelimiter # failure in job https://hydra.nixos.org/build/236682758 at 2023-10-04
- waitra # failure in job https://hydra.nixos.org/build/233222291 at 2023-09-02
- wakame # failure in job https://hydra.nixos.org/build/233254673 at 2023-09-02
- wallpaper # failure in job https://hydra.nixos.org/build/233219027 at 2023-09-02

View File

@ -45,11 +45,15 @@ default-package-overrides:
# breaking change was introduced in implicit-hie-0.1.3.0.
# https://github.com/haskell/haskell-language-server/blob/feb596592de95f09cf4ee885f3e74178161919f1/ghcide/ghcide.cabal#L107-L111
- implicit-hie < 0.1.3
- hie-bios < 0.13
# 2023-07-06: newer versions of stylish-haskell require
# ghc-lib-parser-ex >= 9.6, but LTS-21 contains ghc-lib-parser-ex-9.4
- stylish-haskell < 0.14.5.0
# 2023-09-17: reflex-dom 0.6.3.0 is broken https://github.com/reflex-frp/reflex-dom/issues/462
- reflex-dom < 0.6.2.0
# Only an older version of dependent-sum-template is compatible with ghc 9.4
# https://github.com/obsidiansystems/dependent-sum-template/issues/5
- dependent-sum-template < 0.1.2
@ -121,6 +125,7 @@ extra-packages:
- ormolu == 0.5.2.0 # 2023-08-08: for hls on ghc 9.0 and 9.2
- fourmolu == 0.9.0.0 # 2022-09-21: for hls on ghc 8.10
- fourmolu == 0.10.1.0 # 2023-04-18: for hls on ghc 9.0 and 9.2
- fourmolu == 0.13.* # 2023-09-16: latest version compatible with hls 2.2.* on ghc 9.6
- mod == 0.1.2.2 # needed for hls on ghc 8.10
- pantry == 0.5.2.1 # needed for stack-2.7.3
- path == 0.9.0 # 2021-12-03: path version building with stackage genvalidity and GHC 9.0.2
@ -128,6 +133,7 @@ extra-packages:
- sbv == 7.13 # required for pkgs.petrinizer
- stylish-haskell == 0.14.3.0 # 2022-09-19: needed for hls on ghc 8.8
- tasty-hspec == 1.1.6 # 2022-04-07: Needed for elm-format
- text == 2.0.2 # 2023-09-14: Needed for elm (which is currently on ghc-8.10)
- th-abstraction < 0.6 # 2023-09-11: needed for aeson-2.2.0.0
- vty == 5.35.1 # 2022-07-08: needed for glirc-2.39.0.1
- weeder == 2.2.* # 2022-02-21: preserve for GHC 8.10.7
@ -656,7 +662,7 @@ unsupported-platforms:
Raincat: [ platforms.darwin ]
reactive-balsa: [ platforms.darwin ] # depends on alsa-core
reflex-dom-fragment-shader-canvas: [ platforms.darwin, aarch64-linux ]
reflex-dom: [ platforms.darwin, aarch64-linux ]
reflex-dom: [ platforms.darwin ]
reflex-localize-dom: [ platforms.darwin, aarch64-linux ]
rtlsdr: [ platforms.darwin ]
rubberband: [ platforms.darwin ]
@ -682,7 +688,7 @@ unsupported-platforms:
webkit2gtk3-javascriptcore: [ platforms.darwin ]
wiringPi: [ aarch64-darwin ]
xattr: [ platforms.darwin ]
xgboost-haskell: [ aarch64-linux, armv7l-linux ]
xgboost-haskell: [ aarch64-linux, armv7l-linux, platforms.darwin ]
xmobar: [ platforms.darwin ]
xmonad-extras: [ platforms.darwin ]
xmonad-volume: [ platforms.darwin ]
@ -707,6 +713,7 @@ supported-platforms:
evdev: [ platforms.linux ]
evdev-streamly: [ platforms.linux ]
geomancy: [ platforms.x86 ] # x86 intrinsics
geomancy-layout: [ platforms.x86 ] # x86 intrinsics
gi-gtkosxapplication: [ platforms.darwin ]
gtk-mac-integration: [ platforms.darwin ]
gtk3-mac-integration: [ platforms.darwin ]

View File

@ -1,4 +1,4 @@
# Stackage LTS 21.7
# Stackage LTS 21.11
# This file is auto-generated by
# maintainers/scripts/haskell/update-stackage.sh
default-package-overrides:
@ -16,12 +16,12 @@ default-package-overrides:
- adjunctions ==4.4.2
- adler32 ==0.1.2.0
- advent-of-code-api ==0.2.8.4
- aern2-mp ==0.2.15.0
- aern2-mp ==0.2.15.1
- aern2-real ==0.2.15
- aeson ==2.1.2.1
- aeson-attoparsec ==0.0.0
- aeson-casing ==0.2.0.0
- aeson-combinators ==0.1.0.1
- aeson-combinators ==0.1.1.0
- aeson-diff ==1.1.0.13
- aeson-extra ==0.5.1.2
- aeson-generic-compat ==0.0.1.3
@ -54,7 +54,7 @@ default-package-overrides:
- ALUT ==2.4.0.3
- amqp ==0.22.1
- amqp-utils ==0.6.3.2
- annotated-exception ==0.2.0.4
- annotated-exception ==0.2.0.5
- annotated-wl-pprint ==0.7.0
- ansi-terminal ==0.11.5
- ansi-terminal-game ==1.9.1.3
@ -92,7 +92,7 @@ default-package-overrides:
- asn1-encoding ==0.9.6
- asn1-parse ==0.9.5
- asn1-types ==0.3.4
- assert-failure ==0.1.2.6
- assert-failure ==0.1.3.0
- assoc ==1.1
- astro ==0.4.3.0
- async ==2.2.4
@ -195,7 +195,7 @@ default-package-overrides:
- bits ==0.6
- bitset-word8 ==0.1.1.2
- bits-extra ==0.0.2.3
- bitvec ==1.1.4.0
- bitvec ==1.1.5.0
- bitwise-enum ==1.0.1.2
- blake2 ==0.3.0
- Blammo ==1.1.2.1
@ -206,7 +206,7 @@ default-package-overrides:
- blas-ffi ==0.1
- blas-hs ==0.1.1.0
- blaze-bootstrap ==0.1.0.1
- blaze-builder ==0.4.2.2
- blaze-builder ==0.4.2.3
- blaze-colonnade ==1.2.2.1
- blaze-html ==0.9.1.2
- blaze-markup ==0.8.2.8
@ -233,7 +233,7 @@ default-package-overrides:
- boundingboxes ==0.2.3
- box ==0.9.2.0
- boxes ==0.1.5
- breakpoint ==0.1.2.1
- breakpoint ==0.1.2.2
- brick ==1.9
- broadcast-chan ==0.2.1.2
- brotli ==0.0.0.1
@ -294,7 +294,7 @@ default-package-overrides:
- ca-province-codes ==1.0.0.0
- cardano-coin-selection ==1.0.1
- carray ==0.1.6.8
- casa-client ==0.0.1
- casa-client ==0.0.2
- casa-types ==0.0.2
- cased ==0.1.0.0
- case-insensitive ==1.2.1.0
@ -326,9 +326,9 @@ default-package-overrides:
- checkers ==0.6.0
- checksum ==0.0.0.1
- chimera ==0.3.3.0
- choice ==0.2.2
- choice ==0.2.3
- chronologique ==0.3.1.3
- chronos ==1.1.5
- chronos ==1.1.5.1
- chronos-bench ==0.2.0.2
- chunked-data ==0.3.1
- cipher-aes ==0.2.11
@ -347,7 +347,7 @@ default-package-overrides:
- closed ==0.2.0.2
- clumpiness ==0.17.0.2
- ClustalParser ==1.3.0
- cmark-gfm ==0.2.5
- cmark-gfm ==0.2.6
- cmdargs ==0.10.22
- codec-beam ==0.2.0
- code-conjure ==0.5.2
@ -391,7 +391,7 @@ default-package-overrides:
- concise ==0.1.0.1
- concurrency ==1.11.0.3
- concurrent-extra ==0.7.0.12
- concurrent-output ==1.10.18
- concurrent-output ==1.10.19
- concurrent-split ==0.0.1.1
- cond ==0.4.1.1
- conduino ==0.2.2.0
@ -484,7 +484,7 @@ default-package-overrides:
- curl ==1.3.8
- curl-runnings ==0.17.0
- currency ==0.2.0.0
- currycarbon ==0.2.1.1
- currycarbon ==0.2.1.2
- cursor ==0.3.2.0
- cursor-brick ==0.1.0.1
- cursor-fuzzy-time ==0.0.0.0
@ -560,7 +560,7 @@ default-package-overrides:
- deriving-compat ==0.6.5
- deriving-trans ==0.5.2.0
- detour-via-sci ==1.0.0
- df1 ==0.4.1
- df1 ==0.4.2
- dhall ==1.41.2
- dhall-bash ==1.0.40
- dhall-json ==1.7.11
@ -586,7 +586,7 @@ default-package-overrides:
- digits ==0.3.1
- di-handle ==1.0.1
- dimensional ==1.5
- di-monad ==1.3.1
- di-monad ==1.3.2
- directory-tree ==0.12.1
- direct-sqlite ==2.3.28
- dirichlet ==0.1.0.7
@ -599,7 +599,7 @@ default-package-overrides:
- distributive ==0.6.2.1
- diversity ==0.8.1.0
- djinn-lib ==0.0.1.4
- dl-fedora ==0.9.5.1
- dl-fedora ==0.9.6
- dlist ==1.0
- dlist-instances ==0.1.1.1
- dlist-nonempty ==0.1.3
@ -637,7 +637,7 @@ default-package-overrides:
- dual ==0.1.1.1
- dual-tree ==0.2.3.1
- dublincore-xml-conduit ==0.1.0.3
- dunai ==0.11.1
- dunai ==0.11.2
- duration ==0.2.0.0
- dvorak ==0.1.0.0
- dynamic-state ==0.3.1
@ -700,7 +700,7 @@ default-package-overrides:
- errors ==2.3.0
- errors-ext ==0.4.2
- ersatz ==0.4.13
- esqueleto ==3.5.10.1
- esqueleto ==3.5.10.3
- event-list ==0.1.2
- eventstore ==1.4.2
- every ==0.0.1
@ -709,7 +709,7 @@ default-package-overrides:
- exact-pi ==0.5.0.2
- exception-hierarchy ==0.1.0.8
- exception-mtl ==0.4.0.2
- exception-transformers ==0.4.0.11
- exception-transformers ==0.4.0.12
- executable-hash ==0.2.0.4
- executable-path ==0.0.3.1
- exinst ==0.9
@ -894,8 +894,8 @@ default-package-overrides:
- ghci-hexcalc ==0.1.1.0
- ghcjs-codemirror ==0.0.0.2
- ghcjs-perch ==0.3.3.3
- ghc-lib ==9.4.6.20230808
- ghc-lib-parser ==9.4.6.20230808
- ghc-lib ==9.4.7.20230826
- ghc-lib-parser ==9.4.7.20230826
- ghc-lib-parser-ex ==9.4.0.0
- ghc-paths ==0.1.0.12
- ghc-prof ==1.4.1.12
@ -984,7 +984,7 @@ default-package-overrides:
- hackage-security ==0.6.2.3
- haddock-library ==1.11.0
- haha ==0.3.1.1
- hakyll ==4.16.0.0
- hakyll ==4.16.1.0
- hal ==1.0.0.1
- half ==0.3.1
- hall-symbols ==0.1.0.6
@ -1026,7 +1026,7 @@ default-package-overrides:
- hasql-interpolate ==0.1.0.4
- hasql-listen-notify ==0.1.0
- hasql-migration ==0.3.0
- hasql-notifications ==0.2.0.5
- hasql-notifications ==0.2.0.6
- hasql-optparse-applicative ==0.7
- hasql-pool ==0.9.0.1
- hasql-queue ==1.2.0.2
@ -1080,7 +1080,7 @@ default-package-overrides:
- hkd-default ==1.1.0.0
- hkgr ==0.4.3.1
- hledger ==1.30.1
- hledger-interest ==1.6.5
- hledger-interest ==1.6.6
- hledger-lib ==1.30
- hledger-stockquotes ==0.1.2.1
- hledger-ui ==1.30
@ -1114,7 +1114,7 @@ default-package-overrides:
- HPDF ==1.6.1
- hpp ==0.6.5
- hpqtypes ==1.11.1.1
- hpqtypes-extras ==1.16.4.3
- hpqtypes-extras ==1.16.4.4
- hreader ==1.1.0
- hreader-lens ==0.1.3.0
- hruby ==0.5.0.0
@ -1196,7 +1196,7 @@ default-package-overrides:
- HTTP ==4000.4.1
- http-api-data ==0.5
- http-api-data-qq ==0.1.0.0
- http-client ==0.7.13.1
- http-client ==0.7.14
- http-client-openssl ==0.3.3
- http-client-overrides ==0.1.1.0
- http-client-restricted ==0.0.5
@ -1209,7 +1209,7 @@ default-package-overrides:
- httpd-shed ==0.4.1.1
- http-io-streams ==0.1.6.2
- http-link-header ==1.2.1
- http-media ==0.8.0.0
- http-media ==0.8.1.0
- http-query ==0.1.3
- http-reverse-proxy ==0.6.0.1
- http-streams ==0.8.9.8
@ -1318,7 +1318,7 @@ default-package-overrides:
- io-storage ==0.3
- io-streams ==1.5.2.2
- io-streams-haproxy ==1.0.1.0
- ip ==1.7.6
- ip ==1.7.7
- ip6addr ==1.0.3
- iproute ==1.7.12
- IPv6Addr ==2.0.5.1
@ -1420,7 +1420,7 @@ default-package-overrides:
- leapseconds-announced ==2017.1.0.1
- learn-physics ==0.6.5
- leb128-cereal ==1.2
- lens ==5.2.2
- lens ==5.2.3
- lens-action ==0.2.6
- lens-aeson ==1.2.3
- lens-csv ==0.1.1.0
@ -1546,12 +1546,12 @@ default-package-overrides:
- mfsolve ==0.3.2.2
- microaeson ==0.1.0.1
- microlens ==0.4.13.1
- microlens-aeson ==2.5.0
- microlens-aeson ==2.5.1
- microlens-contra ==0.1.0.3
- microlens-ghc ==0.4.14.1
- microlens-mtl ==0.2.0.3
- microlens-platform ==0.4.3.3
- microlens-th ==0.4.3.13
- microlens-th ==0.4.3.14
- microspec ==0.2.1.3
- microstache ==1.0.2.3
- midair ==0.2.0.1
@ -1584,7 +1584,7 @@ default-package-overrides:
- mock-time ==0.1.0
- mod ==0.2.0.1
- model ==0.5
- modern-uri ==0.3.6.0
- modern-uri ==0.3.6.1
- modular ==0.1.0.8
- monad-chronicle ==1.0.1
- monad-control ==1.0.3.1
@ -1618,7 +1618,7 @@ default-package-overrides:
- mongoDB ==2.7.1.2
- monoidal-containers ==0.6.4.0
- monoid-extras ==0.6.2
- monoid-subclasses ==1.2.3
- monoid-subclasses ==1.2.4
- monoid-transformer ==0.0.4
- mono-traversable ==1.0.15.3
- mono-traversable-instances ==0.1.1.0
@ -1645,7 +1645,7 @@ default-package-overrides:
- multi-containers ==0.2
- multimap ==1.2.1
- multipart ==0.2.1
- MultipletCombiner ==0.0.4
- MultipletCombiner ==0.0.6
- multiset ==0.3.4.3
- murmur3 ==1.0.5
- murmur-hash ==0.1.0.10
@ -1711,7 +1711,7 @@ default-package-overrides:
- NoHoed ==0.1.1
- nonce ==1.0.7
- nondeterminism ==1.5
- non-empty ==0.3.3
- non-empty ==0.3.4
- nonempty-containers ==0.3.4.4
- nonemptymap ==0.0.6.0
- non-empty-sequence ==0.2.0.4
@ -1852,7 +1852,7 @@ default-package-overrides:
- pem ==0.2.4
- percent-format ==0.0.4
- perfect-hash-generator ==1.0.0
- persistent ==2.14.5.1
- persistent ==2.14.5.2
- persistent-discover ==0.1.0.6
- persistent-documentation ==0.1.0.4
- persistent-iproute ==0.2.5
@ -1872,7 +1872,7 @@ default-package-overrides:
- pg-harness-client ==0.6.0
- pgp-wordlist ==0.1.0.3
- pg-transact ==0.3.2.0
- phantom-state ==0.2.1.2
- phantom-state ==0.2.1.3
- phatsort ==0.6.0.0
- picosat ==0.1.6
- pid1 ==0.1.3.1
@ -1908,7 +1908,7 @@ default-package-overrides:
- poly-arity ==0.1.0
- polynomials-bernstein ==1.1.2
- polyparse ==1.13
- polysemy ==1.9.1.0
- polysemy ==1.9.1.1
- polysemy-fs ==0.1.0.0
- polysemy-plugin ==0.4.5.0
- polysemy-webserver ==0.2.1.2
@ -1991,7 +1991,7 @@ default-package-overrides:
- pulse-simple ==0.1.14
- pureMD5 ==2.1.4
- purescript-bridge ==0.15.0.0
- pusher-http-haskell ==2.1.0.15
- pusher-http-haskell ==2.1.0.16
- pvar ==1.0.0.0
- pwstore-fast ==2.4.4
- PyF ==0.11.1.1
@ -2052,7 +2052,6 @@ default-package-overrides:
- rawstring-qm ==0.2.3.0
- raw-strings-qq ==1.1
- rcu ==0.2.7
- rdf ==0.1.0.7
- rdtsc ==1.3.0.1
- re2 ==0.3
- reactive-balsa ==0.4.0.1
@ -2064,14 +2063,14 @@ default-package-overrides:
- read-editor ==0.1.0.2
- read-env-var ==1.0.0.0
- rebase ==1.19
- rec-def ==0.2.1
- rec-def ==0.2.2
- record-dot-preprocessor ==0.2.16
- record-hasfield ==1.0
- recursion-schemes ==5.2.2.4
- recv ==0.1.0
- redact ==0.5.0.0
- reddit-scrape ==0.0.1
- redis-glob ==0.1.0.5
- redis-glob ==0.1.0.6
- reducers ==3.12.4
- refact ==0.3.0.2
- ref-fd ==0.5.0.1
@ -2123,7 +2122,7 @@ default-package-overrides:
- riak-protobuf ==0.25.0.0
- rio ==0.1.22.0
- rio-orphans ==0.1.2.0
- rio-prettyprint ==0.1.4.0
- rio-prettyprint ==0.1.5.0
- rng-utils ==0.3.1
- rocksdb-haskell ==1.0.1
- rocksdb-haskell-jprupp ==2.1.4
@ -2158,7 +2157,7 @@ default-package-overrides:
- safe-exceptions-checked ==0.1.0
- safe-foldable ==0.1.0.0
- safe-gen ==1.0.1
- safeio ==0.0.5.0
- safeio ==0.0.6.0
- safe-json ==1.1.4.0
- safe-money ==0.9.1
- SafeSemaphore ==0.10.1
@ -2266,7 +2265,7 @@ default-package-overrides:
- shared-memory ==0.2.0.1
- shell-conduit ==5.0.0
- shell-escape ==0.2.0
- shelltestrunner ==1.9
- shelltestrunner ==1.9.0.1
- shell-utility ==0.1
- shellwords ==0.1.3.1
- shelly ==1.12.1
@ -2307,7 +2306,7 @@ default-package-overrides:
- skylighting ==0.13.4.1
- skylighting-core ==0.13.4.1
- skylighting-format-ansi ==0.1
- skylighting-format-blaze-html ==0.1.1
- skylighting-format-blaze-html ==0.1.1.1
- skylighting-format-context ==0.1.0.2
- skylighting-format-latex ==0.1
- slack-progressbar ==0.1.0.1
@ -2360,7 +2359,7 @@ default-package-overrides:
- srtree ==1.0.0.5
- stache ==2.3.4
- stack-all ==0.4.1
- stack-clean-old ==0.4.6
- stack-clean-old ==0.4.8
- stack-templatizer ==0.1.1.0
- state-codes ==0.1.3
- stateref ==0.3
@ -2400,7 +2399,6 @@ default-package-overrides:
- streaming-commons ==0.2.2.6
- streaming-wai ==0.1.1
- streamly ==0.9.0
- streamly-bytestring ==0.2.0
- streamly-core ==0.1.0
- streamly-examples ==0.1.3
- streamly-process ==0.3.0
@ -2440,7 +2438,7 @@ default-package-overrides:
- SVGFonts ==1.8.0.1
- svg-tree ==0.6.2.4
- swagger2 ==2.8.7
- swish ==0.10.4.0
- swish ==0.10.5.0
- syb ==0.7.2.4
- sydtest ==0.15.1.0
- sydtest-aeson ==0.1.0.0
@ -2546,12 +2544,12 @@ default-package-overrides:
- test-fun ==0.1.0.0
- testing-feat ==1.1.1.1
- testing-type-modifiers ==0.1.0.1
- texmath ==0.12.8
- texmath ==0.12.8.2
- text-ansi ==0.2.1.1
- text-binary ==0.2.1.1
- text-builder ==0.6.7
- text-builder-dev ==0.3.3.2
- text-builder-linear ==0.1.1
- text-builder-linear ==0.1.1.1
- text-conversions ==0.3.1.1
- text-format ==0.3.2.1
- text-icu ==0.8.0.2
@ -2609,7 +2607,7 @@ default-package-overrides:
- time-lens ==0.4.0.2
- time-locale-compat ==0.1.1.5
- time-locale-vietnamese ==1.0.0.0
- time-manager ==0.0.0
- time-manager ==0.0.1
- time-parsers ==0.2
- timerep ==2.1.0.0
- timers-tick ==0.5.0.4
@ -2634,7 +2632,7 @@ default-package-overrides:
- token-bucket ==0.1.0.1
- toml-reader ==0.2.1.0
- toml-reader-parse ==0.1.1.1
- tophat ==1.0.6.0
- tophat ==1.0.6.1
- topograph ==1.0.0.2
- torrent ==10000.1.3
- torsor ==0.1
@ -2687,7 +2685,7 @@ default-package-overrides:
- type-rig ==0.1
- type-spec ==0.4.0.0
- typography-geometry ==1.0.1.0
- typst-symbols ==0.1.2
- typst-symbols ==0.1.4
- tz ==0.1.3.6
- tzdata ==0.2.20230322.0
- tztime ==0.1.0.0
@ -2705,7 +2703,7 @@ default-package-overrides:
- unexceptionalio-trans ==0.5.1
- unfork ==1.0.0.1
- unicode ==0.0.1.1
- unicode-collation ==0.1.3.4
- unicode-collation ==0.1.3.5
- unicode-data ==0.4.0.1
- unicode-show ==0.1.1.1
- unicode-transforms ==0.4.0.1
@ -2803,7 +2801,7 @@ default-package-overrides:
- void ==0.7.3
- vty ==5.38
- wai ==3.2.3
- wai-app-static ==3.1.7.4
- wai-app-static ==3.1.8
- wai-cli ==0.2.3
- wai-conduit ==3.0.0.4
- wai-control ==0.2.0.0
@ -2875,7 +2873,7 @@ default-package-overrides:
- word-wrap ==0.5
- world-peace ==1.0.2.0
- wrap ==0.0.0
- wreq ==0.5.4.1
- wreq ==0.5.4.2
- wreq-stringless ==0.5.9.1
- writer-cps-exceptions ==0.1.0.1
- writer-cps-mtl ==0.1.1.6
@ -2933,7 +2931,7 @@ default-package-overrides:
- yesod-core ==1.6.24.4
- yesod-eventsource ==1.6.0.1
- yesod-fb ==0.6.1
- yesod-form ==1.7.4
- yesod-form ==1.7.6
- yesod-form-bootstrap4 ==3.0.1.1
- yesod-gitrepo ==0.3.0
- yesod-gitrev ==0.2.2

View File

@ -482,9 +482,6 @@ dont-distribute-packages:
- alsa-seq-tests
- alto
- amazon-emailer-client-snap
- amazonka-contrib-rds-utils
- amazonka-s3-encryption
- amazonka-s3-streaming
- amby
- ampersand
- amqp-streamly
@ -500,17 +497,11 @@ dont-distribute-packages:
- anonymous-sums-tests
- antagonist
- anticiv
- antiope-athena
- antiope-contract
- antiope-core
- antiope-dynamodb
- antiope-es
- antiope-messages
- antiope-optparse-applicative
- antiope-s3
- antiope-shell
- antiope-sns
- antiope-sqs
- antlrc
- apecs-gloss
- apecs-physics-gloss
@ -587,7 +578,6 @@ dont-distribute-packages:
- aws-configuration-tools
- aws-dynamodb-conduit
- aws-dynamodb-streams
- aws-easy
- aws-elastic-transcoder
- aws-kinesis
- aws-kinesis-client
@ -596,9 +586,7 @@ dont-distribute-packages:
- aws-mfa-credentials
- aws-sdk
- aws-sdk-xml-unordered
- aws-ses-easy
- aws-sign4
- aws-simple
- aws-sns
- axel
- axiom
@ -698,7 +686,6 @@ dont-distribute-packages:
- blink1
- blip
- blogination
- bloodhound-amazonka-auth
- bloxorz
- blubber
- bluetile
@ -741,7 +728,6 @@ dont-distribute-packages:
- bytable
- bytehash
- bytelog
- bytepatch
- bytestring-builder-varword
- bytestring-read
- ca
@ -773,7 +759,6 @@ dont-distribute-packages:
- cao
- cap
- capnp
- caps
- captcha-2captcha
- captcha-capmonster
- captcha-core
@ -899,8 +884,6 @@ dont-distribute-packages:
- cmv
- cnc-spec-compiler
- co-feldspar
- co-log
- co-log-polysemy-formatting
- cobot-io
- codec
- codec-libevent
@ -1003,8 +986,6 @@ dont-distribute-packages:
- craftwerk-cairo
- craftwerk-gtk
- craze
- credentials
- credentials-cli
- crf-chain1
- crf-chain1-constrained
- crf-chain2-generic
@ -1205,11 +1186,9 @@ dont-distribute-packages:
- dynamic-pipeline
- dynamic-plot
- dynamic-pp
- dynamodb-simple
- dynobud
- easytensor
- easytensor-vulkan
- ec2-unikernel
- ecdsa
- edenskel
- edentv
@ -1227,7 +1206,6 @@ dont-distribute-packages:
- egison-tutorial
- ekg
- ekg-carbon
- ekg-cloudwatch
- ekg-wai
- elasticsearch-interchange
- electrs-client
@ -1468,6 +1446,7 @@ dont-distribute-packages:
- gargoyle-postgresql
- gargoyle-postgresql-connect
- gargoyle-postgresql-nix
- gbs-downloader
- gbu
- gdax
- gdiff-ig
@ -1783,7 +1762,6 @@ dont-distribute-packages:
- gridland
- grisette
- grisette-monad-coroutine
- groot
- gross
- groundhog-converters
- groundhog-inspector
@ -2024,7 +2002,6 @@ dont-distribute-packages:
- heavy-logger-instances
- hecc
- hedgehog-checkers-lens
- hedgehog-gen
- hedgehog-gen-json
- hedis-pile
- heist-aeson
@ -2210,6 +2187,8 @@ dont-distribute-packages:
- http-client-rustls
- http-client-tls_0_3_6_3
- http-enumerator
- http-exchange
- http-exchange-instantiations
- http-io-streams
- http-response-decoder
- http2-client-exe
@ -2230,7 +2209,6 @@ dont-distribute-packages:
- hurl-xml
- huzzy
- hw-all
- hw-aws-sqs-conduit
- hw-json
- hw-json-demo
- hw-json-lens
@ -2283,7 +2261,6 @@ dont-distribute-packages:
- imj-base
- imj-game-hamazed
- imj-measure-stdout
- imm
- imparse
- imperative-edsl
- imperative-edsl-vhdl
@ -2291,6 +2268,7 @@ dont-distribute-packages:
- imprevu-happstack
- improve
- inch
- incipit
- incremental-computing
- incremental-maps
- increments
@ -2391,7 +2369,8 @@ dont-distribute-packages:
- json-query
- json-rpc-client
- json-schema
- json-spec
- json-spec-elm
- json-spec-elm-servant
- json-spec-openapi
- json-togo
- json-tokens
@ -2833,7 +2812,7 @@ dont-distribute-packages:
- nero-wai
- nero-warp
- nested-routes
- net-mqtt_0_8_5_0
- net-mqtt_0_8_6_0
- net-spider
- net-spider-cli
- net-spider-pangraph
@ -2865,6 +2844,7 @@ dont-distribute-packages:
- neuron
- newsletter-mailgun
- newsynth
- ngx-export-distribution
- ngx-export-tools-extra
- nikepub
- nirum
@ -3082,6 +3062,8 @@ dont-distribute-packages:
- polysemy-RandomFu
- polysemy-account
- polysemy-account-api
- polysemy-chronos
- polysemy-conc
- polysemy-db
- polysemy-extra
- polysemy-fskvstore
@ -3089,12 +3071,16 @@ dont-distribute-packages:
- polysemy-hasql-test
- polysemy-http
- polysemy-kvstore-jsonfile
- polysemy-log
- polysemy-log-co
- polysemy-log-di
- polysemy-methodology
- polysemy-methodology-co-log
- polysemy-methodology-composite
- polysemy-path
- polysemy-resume
- polysemy-scoped-fs
- polysemy-time
- polysemy-uncontrolled
- polysemy-video
- polysemy-vinyl
@ -3123,7 +3109,6 @@ dont-distribute-packages:
- potoki-conduit
- potoki-hasql
- potoki-zlib
- powerqueue-sqs
- pqueue-mtl
- practice-room
- pred-set
@ -3168,9 +3153,6 @@ dont-distribute-packages:
- proton
- psc-ide
- psql
- ptera
- ptera-core
- ptera-th
- puffytools
- pugs-compat
- pugs-hsregex
@ -3267,6 +3249,7 @@ dont-distribute-packages:
- rbr
- rc
- rdioh
- react
- react-flux-servant
- reactive
- reactive-banana-sdl
@ -3579,6 +3562,7 @@ dont-distribute-packages:
- shady-gen
- shady-graphics
- shake-bindist
- shake-futhark
- shake-minify-css
- shakebook
- shaker
@ -3733,7 +3717,6 @@ dont-distribute-packages:
- sql-simple-postgresql
- sql-simple-sqlite
- sqlite-simple-typed
- sqsd-local
- squeal-postgresql
- squeal-postgresql-ltree
- squeal-postgresql-uuid-ossp
@ -3752,12 +3735,10 @@ dont-distribute-packages:
- stackage
- stackage-build-plan
- stackage-cabal
- stackage-curator
- stackage-query
- stackage-sandbox
- stackage-setup
- stackage-upload
- stackage2nix
- stackctl
- starrover2
- stateful-mtl
@ -3847,6 +3828,7 @@ dont-distribute-packages:
- tagsoup-navigate
- tagstew
- tahoe-chk
- tahoe-directory
- tahoe-great-black-swamp
- tahoe-ssk
- tak-ai
@ -3918,11 +3900,6 @@ dont-distribute-packages:
- tip-haskell-frontend
- tip-lib
- titan
- tlex
- tlex-core
- tlex-debug
- tlex-encoding
- tlex-th
- tls-extra
- tmpl
- tn
@ -4317,6 +4294,7 @@ dont-distribute-packages:
- zerobin
- zeromq3-conduit
- zeroth
- zeugma
- zifter-cabal
- zifter-git
- zifter-google-java-format

File diff suppressed because it is too large Load Diff

View File

@ -8,13 +8,13 @@
stdenv.mkDerivation rec {
pname = "ngtcp2";
version = "0.17.0";
version = "0.19.1";
src = fetchFromGitHub {
owner = "ngtcp2";
repo = pname;
rev = "v${version}";
hash = "sha256-vY3RooC8ttezru6vAqbG1MU5uZhD8fLnlEYVYS3pFRk=";
hash = "sha256-agiQRy/e5VS+ANxajXYi5huRjQQ2M8eddH/AzmwnHdQ==";
};
outputs = [ "out" "dev" "doc" ];
@ -27,13 +27,6 @@ stdenv.mkDerivation rec {
"-DENABLE_STATIC_LIB=OFF"
];
preConfigure = ''
# https://github.com/ngtcp2/ngtcp2/issues/858
# Fix ngtcp2_crypto_openssl remnants.
substituteInPlace crypto/includes/CMakeLists.txt \
--replace 'ngtcp2/ngtcp2_crypto_openssl.h' 'ngtcp2/ngtcp2_crypto_quictls.h'
'';
doCheck = true;
enableParallelBuilding = true;

View File

@ -5,6 +5,6 @@
# Example: nix-shell ./maintainers/scripts/update.nix --argstr package cacert
import ./generic.nix {
version = "3.93";
hash = "sha256-FfVLtyBI6xBfjA6TagS4medMPbmhm7weAKzuKvlHaoo=";
version = "3.94";
hash = "sha256-RjrhgO6eXunjrU9ikyZlfiNngMyGVXKpMKFlIKutndg=";
}

View File

@ -12,13 +12,13 @@
stdenv.mkDerivation rec {
pname = "pdfhummus";
version = "4.5.11";
version = "4.5.12";
src = fetchFromGitHub {
owner = "galkahana";
repo = "PDF-Writer";
rev = "v${version}";
hash = "sha256-nTLyFGnY07gDoahYe5YqSmU/URzdvRKQ1MsXt3164+c=";
hash = "sha256-n5mzzIDU7Lb2V9YImPvceCBUt9Q+ZeF45CHtW52cGpY=";
};
nativeBuildInputs = [

View File

@ -0,0 +1,929 @@
{
"_readme": [
"This file locks the dependencies of your project to a known state",
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "90272fdd8203a2aef4218d76aca6b2e9",
"packages": [
{
"name": "nikic/php-parser",
"version": "v4.17.1",
"source": {
"type": "git",
"url": "https://github.com/nikic/PHP-Parser.git",
"reference": "a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d",
"reference": "a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d",
"shasum": ""
},
"require": {
"ext-tokenizer": "*",
"php": ">=7.0"
},
"require-dev": {
"ircmaxell/php-yacc": "^0.0.7",
"phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0"
},
"bin": [
"bin/php-parse"
],
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "4.9-dev"
}
},
"autoload": {
"psr-4": {
"PhpParser\\": "lib/PhpParser"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Nikita Popov"
}
],
"description": "A PHP parser written in PHP",
"keywords": [
"parser",
"php"
],
"support": {
"issues": "https://github.com/nikic/PHP-Parser/issues",
"source": "https://github.com/nikic/PHP-Parser/tree/v4.17.1"
},
"time": "2023-08-13T19:53:39+00:00"
},
{
"name": "psr/container",
"version": "2.0.2",
"source": {
"type": "git",
"url": "https://github.com/php-fig/container.git",
"reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963",
"reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963",
"shasum": ""
},
"require": {
"php": ">=7.4.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.0.x-dev"
}
},
"autoload": {
"psr-4": {
"Psr\\Container\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "PHP-FIG",
"homepage": "https://www.php-fig.org/"
}
],
"description": "Common Container Interface (PHP FIG PSR-11)",
"homepage": "https://github.com/php-fig/container",
"keywords": [
"PSR-11",
"container",
"container-interface",
"container-interop",
"psr"
],
"support": {
"issues": "https://github.com/php-fig/container/issues",
"source": "https://github.com/php-fig/container/tree/2.0.2"
},
"time": "2021-11-05T16:47:00+00:00"
},
{
"name": "symfony/console",
"version": "v6.3.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
"reference": "eca495f2ee845130855ddf1cf18460c38966c8b6"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/console/zipball/eca495f2ee845130855ddf1cf18460c38966c8b6",
"reference": "eca495f2ee845130855ddf1cf18460c38966c8b6",
"shasum": ""
},
"require": {
"php": ">=8.1",
"symfony/deprecation-contracts": "^2.5|^3",
"symfony/polyfill-mbstring": "~1.0",
"symfony/service-contracts": "^2.5|^3",
"symfony/string": "^5.4|^6.0"
},
"conflict": {
"symfony/dependency-injection": "<5.4",
"symfony/dotenv": "<5.4",
"symfony/event-dispatcher": "<5.4",
"symfony/lock": "<5.4",
"symfony/process": "<5.4"
},
"provide": {
"psr/log-implementation": "1.0|2.0|3.0"
},
"require-dev": {
"psr/log": "^1|^2|^3",
"symfony/config": "^5.4|^6.0",
"symfony/dependency-injection": "^5.4|^6.0",
"symfony/event-dispatcher": "^5.4|^6.0",
"symfony/lock": "^5.4|^6.0",
"symfony/process": "^5.4|^6.0",
"symfony/var-dumper": "^5.4|^6.0"
},
"type": "library",
"autoload": {
"psr-4": {
"Symfony\\Component\\Console\\": ""
},
"exclude-from-classmap": [
"/Tests/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Eases the creation of beautiful and testable command line interfaces",
"homepage": "https://symfony.com",
"keywords": [
"cli",
"command-line",
"console",
"terminal"
],
"support": {
"source": "https://github.com/symfony/console/tree/v6.3.4"
},
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2023-08-16T10:10:12+00:00"
},
{
"name": "symfony/deprecation-contracts",
"version": "v3.3.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/deprecation-contracts.git",
"reference": "7c3aff79d10325257a001fcf92d991f24fc967cf"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/7c3aff79d10325257a001fcf92d991f24fc967cf",
"reference": "7c3aff79d10325257a001fcf92d991f24fc967cf",
"shasum": ""
},
"require": {
"php": ">=8.1"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "3.4-dev"
},
"thanks": {
"name": "symfony/contracts",
"url": "https://github.com/symfony/contracts"
}
},
"autoload": {
"files": [
"function.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Nicolas Grekas",
"email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "A generic function and convention to trigger deprecation notices",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/deprecation-contracts/tree/v3.3.0"
},
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2023-05-23T14:45:45+00:00"
},
{
"name": "symfony/polyfill-ctype",
"version": "v1.28.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-ctype.git",
"reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb",
"reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb",
"shasum": ""
},
"require": {
"php": ">=7.1"
},
"provide": {
"ext-ctype": "*"
},
"suggest": {
"ext-ctype": "For best performance"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "1.28-dev"
},
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
}
},
"autoload": {
"files": [
"bootstrap.php"
],
"psr-4": {
"Symfony\\Polyfill\\Ctype\\": ""
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Gert de Pagter",
"email": "BackEndTea@gmail.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony polyfill for ctype functions",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
"ctype",
"polyfill",
"portable"
],
"support": {
"source": "https://github.com/symfony/polyfill-ctype/tree/v1.28.0"
},
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2023-01-26T09:26:14+00:00"
},
{
"name": "symfony/polyfill-intl-grapheme",
"version": "v1.28.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-grapheme.git",
"reference": "875e90aeea2777b6f135677f618529449334a612"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/875e90aeea2777b6f135677f618529449334a612",
"reference": "875e90aeea2777b6f135677f618529449334a612",
"shasum": ""
},
"require": {
"php": ">=7.1"
},
"suggest": {
"ext-intl": "For best performance"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "1.28-dev"
},
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
}
},
"autoload": {
"files": [
"bootstrap.php"
],
"psr-4": {
"Symfony\\Polyfill\\Intl\\Grapheme\\": ""
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Nicolas Grekas",
"email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony polyfill for intl's grapheme_* functions",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
"grapheme",
"intl",
"polyfill",
"portable",
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.28.0"
},
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2023-01-26T09:26:14+00:00"
},
{
"name": "symfony/polyfill-intl-normalizer",
"version": "v1.28.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-normalizer.git",
"reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92",
"reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92",
"shasum": ""
},
"require": {
"php": ">=7.1"
},
"suggest": {
"ext-intl": "For best performance"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "1.28-dev"
},
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
}
},
"autoload": {
"files": [
"bootstrap.php"
],
"psr-4": {
"Symfony\\Polyfill\\Intl\\Normalizer\\": ""
},
"classmap": [
"Resources/stubs"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Nicolas Grekas",
"email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony polyfill for intl's Normalizer class and related functions",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
"intl",
"normalizer",
"polyfill",
"portable",
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.28.0"
},
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2023-01-26T09:26:14+00:00"
},
{
"name": "symfony/polyfill-mbstring",
"version": "v1.28.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
"reference": "42292d99c55abe617799667f454222c54c60e229"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/42292d99c55abe617799667f454222c54c60e229",
"reference": "42292d99c55abe617799667f454222c54c60e229",
"shasum": ""
},
"require": {
"php": ">=7.1"
},
"provide": {
"ext-mbstring": "*"
},
"suggest": {
"ext-mbstring": "For best performance"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "1.28-dev"
},
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
}
},
"autoload": {
"files": [
"bootstrap.php"
],
"psr-4": {
"Symfony\\Polyfill\\Mbstring\\": ""
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Nicolas Grekas",
"email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony polyfill for the Mbstring extension",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
"mbstring",
"polyfill",
"portable",
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.28.0"
},
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2023-07-28T09:04:16+00:00"
},
{
"name": "symfony/service-contracts",
"version": "v3.3.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/service-contracts.git",
"reference": "40da9cc13ec349d9e4966ce18b5fbcd724ab10a4"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/service-contracts/zipball/40da9cc13ec349d9e4966ce18b5fbcd724ab10a4",
"reference": "40da9cc13ec349d9e4966ce18b5fbcd724ab10a4",
"shasum": ""
},
"require": {
"php": ">=8.1",
"psr/container": "^2.0"
},
"conflict": {
"ext-psr": "<1.1|>=2"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "3.4-dev"
},
"thanks": {
"name": "symfony/contracts",
"url": "https://github.com/symfony/contracts"
}
},
"autoload": {
"psr-4": {
"Symfony\\Contracts\\Service\\": ""
},
"exclude-from-classmap": [
"/Test/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Nicolas Grekas",
"email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Generic abstractions related to writing services",
"homepage": "https://symfony.com",
"keywords": [
"abstractions",
"contracts",
"decoupling",
"interfaces",
"interoperability",
"standards"
],
"support": {
"source": "https://github.com/symfony/service-contracts/tree/v3.3.0"
},
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2023-05-23T14:45:45+00:00"
},
{
"name": "symfony/string",
"version": "v6.3.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/string.git",
"reference": "13d76d0fb049051ed12a04bef4f9de8715bea339"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/string/zipball/13d76d0fb049051ed12a04bef4f9de8715bea339",
"reference": "13d76d0fb049051ed12a04bef4f9de8715bea339",
"shasum": ""
},
"require": {
"php": ">=8.1",
"symfony/polyfill-ctype": "~1.8",
"symfony/polyfill-intl-grapheme": "~1.0",
"symfony/polyfill-intl-normalizer": "~1.0",
"symfony/polyfill-mbstring": "~1.0"
},
"conflict": {
"symfony/translation-contracts": "<2.5"
},
"require-dev": {
"symfony/error-handler": "^5.4|^6.0",
"symfony/http-client": "^5.4|^6.0",
"symfony/intl": "^6.2",
"symfony/translation-contracts": "^2.5|^3.0",
"symfony/var-exporter": "^5.4|^6.0"
},
"type": "library",
"autoload": {
"files": [
"Resources/functions.php"
],
"psr-4": {
"Symfony\\Component\\String\\": ""
},
"exclude-from-classmap": [
"/Tests/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Nicolas Grekas",
"email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way",
"homepage": "https://symfony.com",
"keywords": [
"grapheme",
"i18n",
"string",
"unicode",
"utf-8",
"utf8"
],
"support": {
"source": "https://github.com/symfony/string/tree/v6.3.5"
},
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2023-09-18T10:38:32+00:00"
},
{
"name": "symfony/var-dumper",
"version": "v6.3.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/var-dumper.git",
"reference": "3d9999376be5fea8de47752837a3e1d1c5f69ef5"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/3d9999376be5fea8de47752837a3e1d1c5f69ef5",
"reference": "3d9999376be5fea8de47752837a3e1d1c5f69ef5",
"shasum": ""
},
"require": {
"php": ">=8.1",
"symfony/deprecation-contracts": "^2.5|^3",
"symfony/polyfill-mbstring": "~1.0"
},
"conflict": {
"symfony/console": "<5.4"
},
"require-dev": {
"ext-iconv": "*",
"symfony/console": "^5.4|^6.0",
"symfony/http-kernel": "^5.4|^6.0",
"symfony/process": "^5.4|^6.0",
"symfony/uid": "^5.4|^6.0",
"twig/twig": "^2.13|^3.0.4"
},
"bin": [
"Resources/bin/var-dump-server"
],
"type": "library",
"autoload": {
"files": [
"Resources/functions/dump.php"
],
"psr-4": {
"Symfony\\Component\\VarDumper\\": ""
},
"exclude-from-classmap": [
"/Tests/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Nicolas Grekas",
"email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Provides mechanisms for walking through any arbitrary PHP variable",
"homepage": "https://symfony.com",
"keywords": [
"debug",
"dump"
],
"support": {
"source": "https://github.com/symfony/var-dumper/tree/v6.3.5"
},
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2023-09-12T10:11:35+00:00"
}
],
"packages-dev": [
{
"name": "bamarni/composer-bin-plugin",
"version": "1.8.2",
"source": {
"type": "git",
"url": "https://github.com/bamarni/composer-bin-plugin.git",
"reference": "92fd7b1e6e9cdae19b0d57369d8ad31a37b6a880"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/bamarni/composer-bin-plugin/zipball/92fd7b1e6e9cdae19b0d57369d8ad31a37b6a880",
"reference": "92fd7b1e6e9cdae19b0d57369d8ad31a37b6a880",
"shasum": ""
},
"require": {
"composer-plugin-api": "^2.0",
"php": "^7.2.5 || ^8.0"
},
"require-dev": {
"composer/composer": "^2.0",
"ext-json": "*",
"phpstan/extension-installer": "^1.1",
"phpstan/phpstan": "^1.8",
"phpstan/phpstan-phpunit": "^1.1",
"phpunit/phpunit": "^8.5 || ^9.5",
"symfony/console": "^2.8.52 || ^3.4.35 || ^4.4 || ^5.0 || ^6.0",
"symfony/finder": "^2.8.52 || ^3.4.35 || ^4.4 || ^5.0 || ^6.0",
"symfony/process": "^2.8.52 || ^3.4.35 || ^4.4 || ^5.0 || ^6.0"
},
"type": "composer-plugin",
"extra": {
"class": "Bamarni\\Composer\\Bin\\BamarniBinPlugin"
},
"autoload": {
"psr-4": {
"Bamarni\\Composer\\Bin\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"description": "No conflicts for your bin dependencies",
"keywords": [
"composer",
"conflict",
"dependency",
"executable",
"isolation",
"tool"
],
"support": {
"issues": "https://github.com/bamarni/composer-bin-plugin/issues",
"source": "https://github.com/bamarni/composer-bin-plugin/tree/1.8.2"
},
"time": "2022-10-31T08:38:03+00:00"
}
],
"aliases": [],
"minimum-stability": "stable",
"stability-flags": [],
"prefer-stable": false,
"prefer-lowest": false,
"platform": {
"php": "^8.0 || ^7.0.8",
"ext-json": "*",
"ext-tokenizer": "*"
},
"platform-dev": [],
"plugin-api-version": "2.6.0"
}

View File

@ -2,16 +2,17 @@
php.buildComposerProject (finalAttrs: {
pname = "psysh";
version = "0.11.20";
version = "0.11.21";
src = fetchFromGitHub {
owner = "bobthecow";
repo = "psysh";
rev = "v${finalAttrs.version}";
hash = "sha256-Bcpmn0rCjNMeGvF1CGg4uatakUtMY1H1o759CK15b0o=";
hash = "sha256-YuBn4mrgOzGeMGfGcyZySAISmQdv3WRGn91PRozyxdI=";
};
vendorHash = "sha256-1XPDgaiWVenGSGluDciQAm9qQTL9vGJk9AqkTviRa+c=";
composerLock = ./composer.lock;
vendorHash = "sha256-FZFeO7UiVssxTf0JX6wdjrAE+jucYnfQJA1eOng39lQ=";
meta = {
changelog = "https://github.com/bobthecow/psysh/releases/tag/v${finalAttrs.version}";

View File

@ -10,7 +10,7 @@
buildPythonPackage rec {
pname = "boschshcpy";
version = "0.2.70";
version = "0.2.72";
format = "setuptools";
disabled = pythonOlder "3.7";
@ -19,7 +19,7 @@ buildPythonPackage rec {
owner = "tschamm";
repo = pname;
rev = version;
hash = "sha256-oL1NgQqK/dDDImDK3RASa2vAUPrenqK8t+MCi2Wwjmk=";
hash = "sha256-Re+OKgarLe4n54nZyBm0EtzMHcGKqDY6r+7rtvRSqsg=";
};
propagatedBuildInputs = [

View File

@ -14,7 +14,7 @@
buildPythonPackage rec {
pname = "dvc-data";
version = "2.17.1";
version = "2.18.1";
format = "pyproject";
disabled = pythonOlder "3.8";
@ -23,7 +23,7 @@ buildPythonPackage rec {
owner = "iterative";
repo = pname;
rev = "refs/tags/${version}";
hash = "sha256-Mb2dX2PXQVLI5HEOyxpfVh/9vL9BkQ8o8Ly3lYZ2eYI=";
hash = "sha256-JL72tenKmsWanHl6+olpx7SkFLmFoTyctl+2TnnKcAI=";
};
SETUPTOOLS_SCM_PRETEND_VERSION = version;

View File

@ -12,14 +12,14 @@
buildPythonPackage rec {
pname = "garth";
version = "0.4.36";
version = "0.4.37";
format = "pyproject";
disabled = pythonOlder "3.9";
src = fetchPypi {
inherit pname version;
hash = "sha256-wntyWW8pGZlRkP+3v3mLQjoq8E0K9THg0w1tsPIytCg=";
hash = "sha256-7mq661cW67EvvJ1s2W5Ybw+oiDz9vdmmt/ljt/llIoo=";
};
nativeBuildInputs = [

View File

@ -14,7 +14,7 @@
buildPythonPackage rec {
pname = "icontract";
version = "2.6.2";
version = "2.6.3";
format = "setuptools";
disabled = pythonOlder "3.6";
@ -22,7 +22,7 @@ buildPythonPackage rec {
owner = "Parquery";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-NUgMt/o9EpSQyOiAhYBVJtQKJn0Pd2lI45bKlo2z7mk=";
hash = "sha256-kLi00Yf/UkSaBTvc+GlgTw263M2SMkyzADnQYLbsMfw=";
};
preCheck = ''
@ -52,12 +52,6 @@ buildPythonPackage rec {
"tests/test_mypy_decorators.py"
];
# Upstream adds some plain text files direct to the package's root directory
# https://github.com/Parquery/icontract/blob/master/setup.py#L63
postInstall = ''
rm -f $out/{LICENSE.txt,README.rst,requirements.txt}
'';
pythonImportsCheck = [ "icontract" ];
meta = with lib; {

View File

@ -27,8 +27,8 @@ let
in
buildPythonPackage rec {
pname = "jax";
version = "0.4.16";
format = "pyproject";
version = "0.4.17";
pyproject = true;
disabled = pythonOlder "3.9";
@ -37,7 +37,7 @@ buildPythonPackage rec {
repo = pname;
# google/jax contains tags for jax and jaxlib. Only use jax tags!
rev = "refs/tags/${pname}-v${version}";
hash = "sha256-q+8CXGxK8JX0bUMK4KJB3qV/EaLHg68D1B5UrtRz0Eg=";
hash = "sha256-Lxi/lBBq7VlsT6CgnXPFcwbRU+T8630rBdm693E2jok=";
};
nativeBuildInputs = [

View File

@ -39,7 +39,7 @@ in
assert cudaSupport -> lib.versionAtLeast cudatoolkit.version "11.1" && lib.versionAtLeast cudnn.version "8.2" && stdenv.isLinux;
let
version = "0.4.16";
version = "0.4.17";
inherit (python) pythonVersion;
@ -60,15 +60,15 @@ let
{
"x86_64-linux" = getSrcFromPypi {
platform = "manylinux2014_x86_64";
hash = "sha256-4XyaDnKEMhAbfPEvN3RCDEjXTWbOL6tWrTlyYeiboVs=";
hash = "sha256-Fg/OaLgqeabFImUujdmhCqycANFZnLfhZmca2QmqE54=";
};
"aarch64-darwin" = getSrcFromPypi {
platform = "macosx_11_0_arm64";
hash = "sha256-IG2pCui/Yj+LDMbQwBVlu7yl2llqnaxMzz/MtBvBr6U=";
hash = "sha256-OSx3n5AsQ+Ggr0kVna/++bWvlSq6ABRj+Yz5WlnvF/8=";
};
"x86_64-darwin" = getSrcFromPypi {
platform = "macosx_10_14_x86_64";
hash = "sha256-x5DqsmHqEb7Dl7dnxT5N0l30GKt5OPZpq3HGX9MFKmo=";
hash = "sha256-1L4axL8b4a4c2PX02kFKbQ3o3jbPLv/bV1jU1neJYHg=";
};
};
@ -78,7 +78,7 @@ let
# https://github.com/google/jax/issues/12879 as to why this specific URL is the correct index.
gpuSrc = fetchurl {
url = "https://storage.googleapis.com/jax-releases/cuda11/jaxlib-${version}+cuda11.cudnn86-cp310-cp310-manylinux2014_x86_64.whl";
hash = "sha256-eLOprP2kv6roodwRKZXVZFQCD1wC26TSTEDJBjMu/Uo=";
hash = "sha256-Ctdlr8mvlMcTnBSiyjEEvle5AGr+o1v6OI7XIqcTENM=";
};
in

View File

@ -54,7 +54,7 @@ let
inherit (cudaPackages) backendStdenv cudatoolkit cudaFlags cudnn nccl;
pname = "jaxlib";
version = "0.4.16";
version = "0.4.17";
meta = with lib; {
description = "JAX is Autograd and XLA, brought together for high-performance machine learning research.";
@ -151,7 +151,7 @@ let
repo = "jax";
# google/jax contains tags for jax and jaxlib. Only use jaxlib tags!
rev = "refs/tags/${pname}-v${version}";
hash = "sha256-q+8CXGxK8JX0bUMK4KJB3qV/EaLHg68D1B5UrtRz0Eg=";
hash = "sha256-Lxi/lBBq7VlsT6CgnXPFcwbRU+T8630rBdm693E2jok=";
};
nativeBuildInputs = [
@ -264,10 +264,10 @@ let
];
sha256 = (if cudaSupport then {
x86_64-linux = "sha256-6HkrEWAPjGPj4zRxahl0FLiV7WZO/6zsdCX8STfV5EE=";
x86_64-linux = "sha256-nRvvFAuP/9D8BWWVPjuZijVtk+F9IrBBHsNc5Daluy4=";
} else {
x86_64-linux = "sha256-MDnuJwJ/xKnC72Qub0ETYj5uQB2r8/AgGm10oqmzzcc=";
aarch64-linux = "sha256-aVUm612VNEsjZLDrtiOPTqSk1t+AhmOx+pOG3bZdOAw=";
x86_64-linux = "sha256-pPIJOELN62GqUuaKpcpaqHu7wbJHiZgtb2PVUPRr1Ek=";
aarch64-linux = "sha256-Q0PYZkOkUYUHVtSHZDlWitslDZbjNq6yRZv/ZkhTmyc=";
}).${stdenv.system} or (throw "jaxlib: unsupported system: ${stdenv.system}");
};

View File

@ -9,6 +9,7 @@
, requests
, tqdm
, urllib3
, bleach
}:
buildPythonPackage rec {
@ -20,14 +21,6 @@ buildPythonPackage rec {
sha256 = "sha256-prNUL1kM80GlrUQdWuAhvpO9ZEQclsdYsVSQNJWjpgA=";
};
# The version bounds in the setup.py file are unnecessarily restrictive.
# They have both python-slugify and slugify, don't know why
patchPhase = ''
substituteInPlace setup.py \
--replace 'urllib3 >= 1.21.1, < 1.25' 'urllib3' \
--replace " 'slugify'," " "
'';
propagatedBuildInputs = [
bleach
certifi
@ -37,6 +30,7 @@ buildPythonPackage rec {
six
tqdm
urllib3
bleach
];
# Tests try to access the network.
@ -52,6 +46,6 @@ buildPythonPackage rec {
description = "Official API for https://www.kaggle.com, accessible using a command line tool implemented in Python 3";
homepage = "https://github.com/Kaggle/kaggle-api";
license = licenses.asl20;
maintainers = with maintainers; [ ];
maintainers = with maintainers; [ mbalatsko ];
};
}

View File

@ -11,14 +11,14 @@
buildPythonPackage rec {
pname = "mrsqm";
version = "0.0.4";
version = "0.0.5";
format = "setuptools";
disable = pythonOlder "3.8";
src = fetchPypi {
inherit pname version;
hash = "sha256-kg9GSgtBpnCF+09jyP5TRwZh0tifxx4WRtQGn8bLH8c=";
hash = "sha256-VlAbyTWQCj6fgndEPI1lQKvL+D6TJnqglIT8dRZyEWc=";
};
buildInputs = [ fftw ];

View File

@ -13,14 +13,14 @@
buildPythonPackage rec {
pname = "rotary-embedding-torch";
version = "0.3.0";
version = "0.3.2";
pyproject = true;
src = fetchFromGitHub {
owner = "lucidrains";
repo = "rotary-embedding-torch";
rev = version;
hash = "sha256-fGyBBPfvVq1iZ2m2NNjmHSK+iy76N/09Pt11YDyOyN4=";
hash = "sha256-EozW8J1i/2ym1hwUMciaWVtp7kSWfG+mC5RkWLJdK3g=";
};
nativeBuildInputs = [

View File

@ -20,7 +20,7 @@
buildPythonPackage rec {
pname = "slack-sdk";
version = "3.22.0";
version = "3.23.0";
format = "setuptools";
disabled = pythonOlder "3.6";
@ -29,7 +29,7 @@ buildPythonPackage rec {
owner = "slackapi";
repo = "python-slack-sdk";
rev = "refs/tags/v${version}";
hash = "sha256-PRJgOAC1IJjQb1c4FAbpV8bxOPL9PTbAxNXo2MABRzc=";
hash = "sha256-OsPwLOnmN3kvPmbM6lOaiTWwWvy7b9pgn1X536dCkWk=";
};
propagatedBuildInputs = [

View File

@ -9,7 +9,7 @@
buildPythonPackage rec {
pname = "ytmusicapi";
version = "1.2.1";
version = "1.3.0";
format = "pyproject";
disabled = pythonOlder "3.8";
@ -18,7 +18,7 @@ buildPythonPackage rec {
owner = "sigma67";
repo = "ytmusicapi";
rev = "refs/tags/${version}";
hash = "sha256-YgV3kCvCOLNXb3cWBVXRuzH4guuvPpXVojOnSnrXj20=";
hash = "sha256-dJckAQ0sWdP7I10khcyKGKsIcDTXQxZtP7B8JHlIZEo=";
};
nativeBuildInputs = [

View File

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "gore";
version = "0.5.6";
version = "0.5.7";
src = fetchFromGitHub {
owner = "motemen";
repo = pname;
rev = "v${version}";
sha256 = "sha256-Z2WOgkgi/JK/s0961FvgboJwYtxbFdRSzzPiE74SVaY=";
sha256 = "sha256-J6rXz62y/qj4GFXnUwpfx9UEUQaUVQjf7KQCSzmNsws=";
};
vendorHash = "sha256-1ftO+Bjc+vqB/azn4K6iRNrCLrz+QjpPzNfja3yvOrs=";
vendorHash = "sha256-MpmDQ++32Rop1yYcibEr7hQJ7YAU1QvITzTSstL5V9w=";
doCheck = false;

View File

@ -1,22 +1,24 @@
{ lib, fetchFromGitHub, ocamlPackages }:
{ lib, fetchFromGitHub, nix-update-script, ocamlPackages }:
with ocamlPackages;
buildDunePackage rec {
pname = "headache";
version = "1.06";
version = "1.07";
src = fetchFromGitHub {
owner = "frama-c";
repo = pname;
rev = "v${version}";
sha256 = "sha256-BA7u09MKYMyspFX8AcAkDVA6UUG5DKAdbIDdt+b3Fc4=";
sha256 = "sha256-RL80ggcJSJFu2UTECUNP6KufRhR8ZnG7sQeYzhrw37g=";
};
propagatedBuildInputs = [
(camomile.override { version = "1.0.2"; })
camomile
];
passthru.updateScript = nix-update-script { };
meta = with lib; {
homepage = "https://github.com/frama-c/${pname}";
description = "Lightweight tool for managing headers in source code files";

View File

@ -2,9 +2,7 @@
buildDunePackage rec {
pname = "ocp-index";
version = "1.3.4";
duneVersion = "3";
version = "1.3.5";
minimalOCamlVersion = "4.08";
@ -12,11 +10,9 @@ buildDunePackage rec {
owner = "OCamlPro";
repo = "ocp-index";
rev = version;
sha256 = "sha256-a7SBGHNKUstfrdHx9KI33tYpvzTwIGhs4Hfie5EeKww=";
hash = "sha256-Zn3BPaMB68V363OljFFdmLyYf+S0wFJK44L8t1TSG1Q=";
};
strictDeps = true;
nativeBuildInputs = [ cppo ];
buildInputs = [ cmdliner re ];

View File

@ -1772,7 +1772,7 @@ dependencies = [
[[package]]
name = "rye"
version = "0.15.0"
version = "0.15.2"
dependencies = [
"age",
"anyhow",

View File

@ -10,13 +10,13 @@
rustPlatform.buildRustPackage rec {
pname = "rye";
version = "0.15.0";
version = "0.15.2";
src = fetchFromGitHub {
owner = "mitsuhiko";
repo = "rye";
rev = "refs/tags/${version}";
hash = "sha256-+19xDXMTJ0C7JsFrbykn9/2zaa71yJJAQpWdBNvgYbQ=";
hash = "sha256-q7/obBE16aKb8BHf5ycXSgXTMLWAFwxSnJ3qV35TdL8=";
};
cargoLock = {

View File

@ -5,16 +5,16 @@
rustPlatform.buildRustPackage rec {
pname = "minesweep-rs";
version = "6.0.31";
version = "6.0.34";
src = fetchFromGitHub {
owner = "cpcloud";
repo = pname;
rev = "v${version}";
hash = "sha256-1jC2tudU5epMOzDR//yjSLNe+5nWzqhWDD2Zxdn5+F4=";
hash = "sha256-qYt4LrSQYFr3C0Mkks5aBOYFp60Y3OjFamXxaD5h+mU=";
};
cargoHash = "sha256-qH464zNpI/Y5SXplTwhPu9TjbqfExQYs/Lh75lPUoh4=";
cargoHash = "sha256-s2WvRXxEm+/QceHpJA41ZRts6NCcG04kib3L78KwBPg=";
meta = with lib; {
description = "Sweep some mines for fun, and probably not for profit";

View File

@ -1,13 +1,11 @@
{ lib, stdenv, fetchurl, desktop-file-utils
, gtk3, libX11, cmake, imagemagick
, pkg-config, perl, wrapGAppsHook, nixosTests
, pkg-config, perl, wrapGAppsHook, nixosTests, writeScript
, isMobile ? false
}:
stdenv.mkDerivation rec {
pname = "sgt-puzzles";
# To find the latest version:
# $ curl -s -i 'https://www.chiark.greenend.org.uk/~sgtatham/puzzles/puzzles.tar.gz' | grep Location
version = "20230918.2d9e414";
src = fetchurl {
@ -61,7 +59,18 @@ stdenv.mkDerivation rec {
install -Dm644 ${sgt-puzzles-menu} -t $out/etc/xdg/menus/applications-merged/
'';
passthru.tests.sgtpuzzles = nixosTests.sgtpuzzles;
passthru = {
tests.sgtpuzzles = nixosTests.sgtpuzzles;
updateScript = writeScript "update-sgtpuzzles" ''
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl pcre common-updater-scripts
set -eu -o pipefail
version="$(curl -sI 'https://www.chiark.greenend.org.uk/~sgtatham/puzzles/puzzles.tar.gz' | grep -Fi Location: | pcregrep -o1 'puzzles-([0-9a-f.]*).tar.gz')"
update-source-version sgtpuzzles "$version"
'';
};
meta = with lib; {
description = "Simon Tatham's portable puzzle collection";

View File

@ -4,15 +4,14 @@
, fetchurl
, bootBash
, gnumake
, gnupatch
, gnused
, gnugrep
, gnutar
, gawk
, gzip
, gcc
, glibc
, binutils
, linux-headers
, diffutils
, tinycc
, derivationWithMeta
, bash
, coreutils
@ -25,19 +24,26 @@ let
url = "mirror://gnu/bash/bash-${version}.tar.gz";
sha256 = "132qng0jy600mv1fs95ylnlisx2wavkkgpb19c6kmz7lnmjhjwhk";
};
patches = [
# flush output for generated code
./mksignames-flush.patch
];
in
bootBash.runCommand "${pname}-${version}" {
inherit pname version;
nativeBuildInputs = [
gcc
binutils
coreutils
tinycc.compiler
gnumake
gnupatch
gnused
gnugrep
gnutar
gawk
gzip
diffutils
];
passthru.runCommand = name: env: buildCommand:
@ -78,22 +84,23 @@ bootBash.runCommand "${pname}-${version}" {
tar xzf ${src}
cd bash-${version}
# Patch
${lib.concatMapStringsSep "\n" (f: "patch -Np1 -i ${f}") patches}
# Configure
export CC="gcc -I${glibc}/include -I${linux-headers}/include"
export LIBRARY_PATH="${glibc}/lib"
export LIBS="-lc -lnss_files -lnss_dns -lresolv"
export ac_cv_func_dlopen=no
export CC="tcc -B ${tinycc.libs}/lib"
export AR="tcc -ar"
export LD=tcc
bash ./configure \
--prefix=$out \
--build=${buildPlatform.config} \
--host=${hostPlatform.config} \
--disable-nls \
--disable-net-redirections
--without-bash-malloc
# Build
make SHELL=bash
make -j $NIX_BUILD_CORES SHELL=bash
# Install
make install
make -j $NIX_BUILD_CORES install
ln -s bash $out/bin/sh
''

View File

@ -0,0 +1,10 @@
--- a/support/mksignames.c
+++ b/support/mksignames.c
@@ -68,6 +68,7 @@ write_signames (stream)
fprintf (stream, "};\n\n");
fprintf (stream, "#define initialize_signames()\n\n");
#endif
+ fflush(stream);
}
int

View File

@ -3,35 +3,29 @@
, hostPlatform
, fetchurl
, bash
, coreutils
, gnumake
, gnupatch
, gnused
, gnugrep
, gnutar
, gawk
, bzip2
, sed
, mesBootstrap ? false, tinycc ? null
, gcc ? null, glibc ? null, binutils ? null, linux-headers
, diffutils
, gnutar
, xz
, tinycc
}:
assert mesBootstrap -> tinycc != null;
assert !mesBootstrap -> gcc != null && glibc != null && binutils != null;
let
pname = "binutils" + lib.optionalString mesBootstrap "-mes";
version = "2.20.1";
rev = "a";
# Based on https://github.com/ZilchOS/bootstrap-from-tcc/blob/2e0c68c36b3437386f786d619bc9a16177f2e149/using-nix/2a1-static-binutils.nix
pname = "binutils";
version = "2.41";
src = fetchurl {
url = "mirror://gnu/binutils/binutils-${version}${rev}.tar.bz2";
sha256 = "0r7dr0brfpchh5ic0z9r4yxqn4ybzmlh25sbp30cacqk8nb7rlvi";
url = "mirror://gnu/binutils/binutils-${version}.tar.xz";
hash = "sha256-rppXieI0WeWWBuZxRyPy0//DHAMXQZHvDQFb3wYAdFA=";
};
patches = [
# Enables building binutils using TCC and Mes C Library
(fetchurl {
url = "https://git.savannah.gnu.org/cgit/guix.git/plain/gnu/packages/patches/binutils-boot-2.20.1a.patch?id=50249cab3a98839ade2433456fe618acc6f804a5";
sha256 = "086sf6an2k56axvs4jlky5n3hs2l3rq8zq5d37h0b69cdyh7igpn";
})
# Make binutils output deterministic by default.
./deterministic.patch
];
@ -40,10 +34,10 @@ let
"--prefix=${placeholder "out"}"
"--build=${buildPlatform.config}"
"--host=${hostPlatform.config}"
"--disable-nls"
"--disable-shared"
"--disable-werror"
"--with-sysroot=/"
"--enable-deterministic-archives"
# depends on bison
"--disable-gprofng"
# Turn on --enable-new-dtags by default to make the linker set
# RUNPATH instead of RPATH on binaries. This is important because
@ -60,15 +54,16 @@ bash.runCommand "${pname}-${version}" {
inherit pname version;
nativeBuildInputs = [
(if mesBootstrap then tinycc.compiler else gcc)
tinycc.compiler
gnumake
gnupatch
gnused
gnugrep
gnutar
gawk
bzip2
sed
] ++ lib.optional (!mesBootstrap) binutils;
diffutils
gnutar
xz
];
passthru.tests.get-version = result:
bash.runCommand "${pname}-get-version-${version}" {} ''
@ -85,32 +80,35 @@ bash.runCommand "${pname}-${version}" {
};
} ''
# Unpack
cp ${src} binutils.tar.bz2
bunzip2 binutils.tar.bz2
cp ${src} binutils.tar.xz
unxz binutils.tar.xz
tar xf binutils.tar
rm binutils.tar
cd binutils-${version}
# Patch
${lib.concatMapStringsSep "\n" (f: "patch -Np1 -i ${f}") patches}
sed -i 's|/bin/sh|${bash}/bin/bash|' \
missing install-sh mkinstalldirs
# see libtool's 74c8993c178a1386ea5e2363a01d919738402f30
sed -i 's/| \$NL2SP/| sort | $NL2SP/' ltmain.sh
# alias makeinfo to true
mkdir aliases
ln -s ${coreutils}/bin/true aliases/makeinfo
export PATH="$(pwd)/aliases/:$PATH"
# Configure
${if mesBootstrap then ''
export CC="tcc -B ${tinycc.libs}/lib -D __GLIBC_MINOR__=6 -D MES_BOOTSTRAP=1"
export AR="tcc -ar"
'' else ''
export CC="gcc -B ${glibc}/lib -I${glibc}/include -I${linux-headers}/include"
export CPP="gcc -E -I${glibc}/include -I${linux-headers}/include"
export AR="ar"
export LIBRARY_PATH="${glibc}/lib"
export LIBS="-lc -lnss_files -lnss_dns -lresolv"
''}
export SED=sed
export CC="tcc -B ${tinycc.libs}/lib"
export AR="tcc -ar"
export lt_cv_sys_max_cmd_len=32768
export CFLAGS="-D__LITTLE_ENDIAN__=1"
bash ./configure ${lib.concatStringsSep " " configureFlags}
# Build
make
make -j $NIX_BUILD_CORES all-libiberty all-gas all-bfd all-libctf all-zlib all-gprof
make all-ld # race condition on ld/.deps/ldwrite.Po, serialize
make -j $NIX_BUILD_CORES
# Install
make install
make -j $NIX_BUILD_CORES install
''

View File

@ -3,7 +3,7 @@
, bash
, tinycc
, gnumake
, gnupatch
, gnutar
, gzip
}:
let
@ -14,16 +14,6 @@ let
url = "https://sourceware.org/pub/bzip2/bzip2-${version}.tar.gz";
sha256 = "0s92986cv0p692icqlw1j42y9nld8zd83qwhzbqd61p1dqbh6nmb";
};
patches = [
# mes libc has no time support, so we remove that.
# It also does not have fch{own,mod}, which we don't care about in the bootstrap
# anyway, so we can null-op those calls.
(fetchurl {
url = "https://github.com/fosslinux/live-bootstrap/raw/87e9d7db9d22b400d1c05247254ac39ee2577e80/sysa/bzip2-1.0.8/patches/mes-libc.patch";
sha256 = "14dciwib28h413skzfkh7samzh8x87dmwhldyxxphff04pvl1j3c";
})
];
in
bash.runCommand "${pname}-${version}" {
inherit pname version;
@ -31,13 +21,13 @@ bash.runCommand "${pname}-${version}" {
nativeBuildInputs = [
tinycc.compiler
gnumake
gnupatch
gnutar
gzip
];
passthru.tests.get-version = result:
bash.runCommand "${pname}-get-version-${version}" {} ''
${result}/bin/bzip2 --version --help
${result}/bin/bzip2 --help
mkdir $out
'';
@ -50,21 +40,16 @@ bash.runCommand "${pname}-${version}" {
};
} ''
# Unpack
cp ${src} bzip2.tar.gz
gunzip bzip2.tar.gz
untar --file bzip2.tar
rm bzip2.tar
tar xzf ${src}
cd bzip2-${version}
# Patch
${lib.concatMapStringsSep "\n" (f: "patch -Np0 -i ${f}") patches}
# Build
make \
CC="tcc -B ${tinycc.libs}/lib -I ." \
-j $NIX_BUILD_CORES \
CC="tcc -B ${tinycc.libs}/lib" \
AR="tcc -ar" \
bzip2 bzip2recover
# Install
make install PREFIX=$out
make install -j $NIX_BUILD_CORES PREFIX=$out
''

View File

@ -0,0 +1,74 @@
{ lib
, buildPlatform
, hostPlatform
, fetchurl
, bash
, tinycc
, gnumake
, gnugrep
, gnused
, gawk
, gnutar
, gzip
}:
let
pname = "coreutils";
version = "9.4";
src = fetchurl {
url = "mirror://gnu/coreutils/coreutils-${version}.tar.gz";
hash = "sha256-X2ANkJOXOwr+JTk9m8GMRPIjJlf0yg2V6jHHAutmtzk=";
};
configureFlags = [
"--prefix=${placeholder "out"}"
"--build=${buildPlatform.config}"
"--host=${hostPlatform.config}"
# musl 1.1.x doesn't use 64bit time_t
"--disable-year2038"
# libstdbuf.so fails in static builds
"--enable-no-install-program=stdbuf"
];
in
bash.runCommand "${pname}-${version}" {
inherit pname version;
nativeBuildInputs = [
tinycc.compiler
gnumake
gnused
gnugrep
gawk
gnutar
gzip
];
passthru.tests.get-version = result:
bash.runCommand "${pname}-get-version-${version}" {} ''
${result}/bin/cat --version
mkdir $out
'';
meta = with lib; {
description = "The GNU Core Utilities";
homepage = "https://www.gnu.org/software/coreutils";
license = licenses.gpl3Plus;
maintainers = teams.minimal-bootstrap.members;
platforms = platforms.unix;
};
} ''
# Unpack
tar xzf ${src}
cd coreutils-${version}
# Configure
export CC="tcc -B ${tinycc.libs}/lib"
export LD=tcc
bash ./configure ${lib.concatStringsSep " " configureFlags}
# Build
make -j $NIX_BUILD_CORES AR="tcc -ar" MAKEINFO="true"
# Install
make -j $NIX_BUILD_CORES install MAKEINFO="true"
''

View File

@ -17,46 +17,46 @@ lib.makeScope
bash = callPackage ./bash {
bootBash = bash_2_05;
gcc = gcc2;
glibc = glibc22;
gawk = gawk-mes;
tinycc = tinycc-musl;
coreutils = coreutils-musl;
gnumake = gnumake-musl;
gnutar = gnutar-musl;
};
binutils = callPackage ./binutils {
bash = bash_2_05;
gcc = gcc2;
binutils = binutils-mes;
glibc = glibc22;
sed = heirloom.sed;
gawk = gawk-mes;
};
binutils-mes = callPackage ./binutils {
bash = bash_2_05;
tinycc = tinycc-mes;
sed = heirloom.sed;
gawk = gawk-mes;
mesBootstrap = true;
tinycc = tinycc-musl;
gnumake = gnumake-musl;
gnutar = gnutar-musl;
};
bzip2 = callPackage ./bzip2 {
bash = bash_2_05;
tinycc = tinycc-mes;
tinycc = tinycc-musl;
gnumake = gnumake-musl;
gnutar = gnutar-musl;
};
coreutils = callPackage ./coreutils { tinycc = tinycc-mes; };
coreutils-musl = callPackage ./coreutils/musl.nix {
bash = bash_2_05;
tinycc = tinycc-musl;
gnumake = gnumake-musl;
gnutar = gnutar-musl;
};
diffutils = callPackage ./diffutils {
bash = bash_2_05;
gcc = gcc2;
glibc = glibc22;
gawk = gawk-mes;
tinycc = tinycc-musl;
gnumake = gnumake-musl;
gnutar = gnutar-musl;
};
findutils = callPackage ./findutils {
bash = bash_2_05;
gcc = gcc2;
glibc = glibc22;
gawk = gawk-mes;
tinycc = tinycc-musl;
gnumake = gnumake-musl;
gnutar = gnutar-musl;
};
gawk-mes = callPackage ./gawk/mes.nix {
@ -67,34 +67,34 @@ lib.makeScope
gawk = callPackage ./gawk {
bash = bash_2_05;
gcc = gcc2;
glibc = glibc22;
tinycc = tinycc-musl;
gnumake = gnumake-musl;
gnutar = gnutar-musl;
bootGawk = gawk-mes;
};
gcc2 = callPackage ./gcc/2.nix {
bash = bash_2_05;
gcc = gcc2-mes;
binutils = binutils-mes;
glibc = glibc22;
};
gcc2-mes = callPackage ./gcc/2.nix {
bash = bash_2_05;
tinycc = tinycc-mes;
binutils = binutils-mes;
mesBootstrap = true;
};
gcc46 = callPackage ./gcc/4.6.nix {
gcc = gcc2;
glibc = glibc22;
tinycc = tinycc-musl;
gnumake = gnumake-musl;
gnutar = gnutar-musl;
# FIXME: not sure why new gawk doesn't work
gawk = gawk-mes;
};
inherit (callPackage ./glibc {
bash = bash_2_05;
gnused = gnused-mes;
gawk = gawk-mes;
}) glibc22;
gnugrep = callPackage ./gnugrep {
@ -104,26 +104,37 @@ lib.makeScope
gnumake = callPackage ./gnumake { tinycc = tinycc-mes; };
gnumake-musl = callPackage ./gnumake/musl.nix {
bash = bash_2_05;
tinycc = tinycc-musl;
gawk = gawk-mes;
gnumakeBoot = gnumake;
};
gnupatch = callPackage ./gnupatch { tinycc = tinycc-mes; };
gnused = callPackage ./gnused {
bash = bash_2_05;
gcc = gcc2;
glibc = glibc22;
tinycc = tinycc-musl;
gnused = gnused-mes;
};
gnused-mes = callPackage ./gnused {
gnused-mes = callPackage ./gnused/mes.nix {
bash = bash_2_05;
tinycc = tinycc-mes;
mesBootstrap = true;
};
gnutar = callPackage ./gnutar {
gnutar = callPackage ./gnutar/mes.nix {
bash = bash_2_05;
tinycc = tinycc-mes;
gnused = gnused-mes;
};
gnutar-musl = callPackage ./gnutar/musl.nix {
bash = bash_2_05;
tinycc = tinycc-musl;
gnused = gnused-mes;
};
gzip = callPackage ./gzip {
bash = bash_2_05;
tinycc = tinycc-mes;
@ -152,6 +163,7 @@ lib.makeScope
musl = callPackage ./musl {
gcc = gcc46;
gnumake = gnumake-musl;
};
stage0-posix = callPackage ./stage0-posix { };
@ -167,9 +179,9 @@ lib.makeScope
xz = callPackage ./xz {
bash = bash_2_05;
tinycc = tinycc-mes;
gawk = gawk-mes;
inherit (heirloom) sed;
tinycc = tinycc-musl;
gnumake = gnumake-musl;
gnutar = gnutar-musl;
};
inherit (callPackage ./utils.nix { }) derivationWithMeta writeTextFile writeText;
@ -178,8 +190,8 @@ lib.makeScope
echo ${bash.tests.get-version}
echo ${bash_2_05.tests.get-version}
echo ${binutils.tests.get-version}
echo ${binutils-mes.tests.get-version}
echo ${bzip2.tests.get-version}
echo ${coreutils-musl.tests.get-version}
echo ${diffutils.tests.get-version}
echo ${findutils.tests.get-version}
echo ${gawk-mes.tests.get-version}
@ -191,6 +203,7 @@ lib.makeScope
echo ${gnused.tests.get-version}
echo ${gnused-mes.tests.get-version}
echo ${gnutar.tests.get-version}
echo ${gnutar-musl.tests.get-version}
echo ${gzip.tests.get-version}
echo ${heirloom.tests.get-version}
echo ${mes.compiler.tests.get-version}

View File

@ -3,38 +3,35 @@
, hostPlatform
, fetchurl
, bash
, gcc
, glibc
, binutils
, linux-headers
, tinycc
, gnumake
, gnugrep
, gnused
, gawk
, gnutar
, gzip
, xz
}:
let
pname = "diffutils";
version = "2.8.1";
# last version that can be built by tinycc-musl 0.9.27
version = "3.8";
src = fetchurl {
url = "mirror://gnu/diffutils/diffutils-${version}.tar.gz";
sha256 = "0nizs9r76aiymzasmj1jngl7s71jfzl9xfziigcls8k9n141f065";
url = "mirror://gnu/diffutils/diffutils-${version}.tar.xz";
hash = "sha256-pr3X0bMSZtEcT03mwbdI1GB6sCMa9RiPwlM9CuJDj+w=";
};
in
bash.runCommand "${pname}-${version}" {
inherit pname version;
nativeBuildInputs = [
gcc
binutils
tinycc.compiler
gnumake
gnused
gnugrep
gawk
gnutar
gzip
xz
];
passthru.tests.get-version = result:
@ -52,21 +49,23 @@ bash.runCommand "${pname}-${version}" {
};
} ''
# Unpack
tar xzf ${src}
cp ${src} diffutils.tar.xz
unxz diffutils.tar.xz
tar xf diffutils.tar
rm diffutils.tar
cd diffutils-${version}
# Configure
export C_INCLUDE_PATH="${glibc}/include:${linux-headers}/include"
export LIBRARY_PATH="${glibc}/lib"
export LIBS="-lc -lnss_files -lnss_dns -lresolv"
export CC="tcc -B ${tinycc.libs}/lib"
export LD=tcc
bash ./configure \
--prefix=$out \
--build=${buildPlatform.config} \
--host=${hostPlatform.config}
# Build
make
make -j $NIX_BUILD_CORES AR="tcc -ar"
# Install
make install
make -j $NIX_BUILD_CORES install
''

View File

@ -3,38 +3,34 @@
, hostPlatform
, fetchurl
, bash
, gcc
, glibc
, binutils
, linux-headers
, tinycc
, gnumake
, gnugrep
, gnused
, gawk
, gnutar
, gzip
, xz
}:
let
pname = "findutils";
version = "4.4.2";
version = "4.9.0";
src = fetchurl {
url = "mirror://gnu/findutils/findutils-${version}.tar.gz";
sha256 = "0amn0bbwqvsvvsh6drfwz20ydc2czk374lzw5kksbh6bf78k4ks3";
url = "mirror://gnu/findutils/findutils-${version}.tar.xz";
hash = "sha256-or+4wJ1DZ3DtxZ9Q+kg+eFsWGjt7nVR1c8sIBl/UYv4=";
};
in
bash.runCommand "${pname}-${version}" {
inherit pname version;
nativeBuildInputs = [
gcc
binutils
tinycc.compiler
gnumake
gnused
gnugrep
gawk
gnutar
gzip
xz
];
passthru.tests.get-version = result:
@ -52,21 +48,28 @@ bash.runCommand "${pname}-${version}" {
};
} ''
# Unpack
tar xzf ${src}
cp ${src} findutils.tar.xz
unxz findutils.tar.xz
tar xf findutils.tar
rm findutils.tar
cd findutils-${version}
# Patch
# configure fails to accurately detect PATH_MAX support
sed -i 's/chdir_long/chdir/' gl/lib/save-cwd.c
# Configure
export C_INCLUDE_PATH="${glibc}/include:${linux-headers}/include"
export LIBRARY_PATH="${glibc}/lib"
export LIBS="-lc -lnss_files -lnss_dns -lresolv"
export CC="tcc -B ${tinycc.libs}/lib"
export AR="tcc -ar"
export LD=tcc
bash ./configure \
--prefix=$out \
--build=${buildPlatform.config} \
--host=${hostPlatform.config}
# Build
make
make -j $NIX_BUILD_CORES
# Install
make install
make -j $NIX_BUILD_CORES install
''

View File

@ -3,10 +3,7 @@
, hostPlatform
, fetchurl
, bash
, gcc
, glibc
, binutils
, linux-headers
, tinycc
, gnumake
, gnugrep
, gnused
@ -17,21 +14,18 @@
let
inherit (import ./common.nix { inherit lib; }) meta;
pname = "gawk";
# >= 4.2.0 fails to cleanly build. may be worth investigating in the future.
# for now this version is sufficient to build glibc 2.16
version = "4.1.4";
version = "5.2.2";
src = fetchurl {
url = "mirror://gnu/gawk/gawk-${version}.tar.gz";
sha256 = "0dadjkpyyizmyd0l098qps8lb39r0vrz3xl3hwz2cmjs5c70h0wc";
hash = "sha256-lFrvfM/xAfILIqEIArwAXplKsrjqPnJMwaGXxi9B9lA=";
};
in
bash.runCommand "${pname}-${version}" {
inherit pname version meta;
nativeBuildInputs = [
gcc
binutils
tinycc.compiler
gnumake
gnused
gnugrep
@ -51,18 +45,17 @@ bash.runCommand "${pname}-${version}" {
cd gawk-${version}
# Configure
export C_INCLUDE_PATH="${glibc}/include:${linux-headers}/include"
export LIBRARY_PATH="${glibc}/lib"
export LIBS="-lc -lnss_files -lnss_dns -lresolv"
export CC="tcc -B ${tinycc.libs}/lib"
export AR="tcc -ar"
export LD=tcc
bash ./configure \
--prefix=$out \
--build=${buildPlatform.config} \
--host=${hostPlatform.config}
# Build
make gawk
make -j $NIX_BUILD_CORES
# Install
install -D gawk $out/bin/gawk
ln -s gawk $out/bin/awk
make -j $NIX_BUILD_CORES install
''

View File

@ -3,9 +3,7 @@
, hostPlatform
, fetchurl
, bash
, gcc
, glibc
, linux-headers
, tinycc
, binutils
, gnumake
, gnupatch
@ -32,23 +30,10 @@ let
};
patches = [
# This patch enables building gcc-4.6.4 using gcc-2.95.3 and glibc-2.2.5
# * Tweak Makefile to allow overriding NATIVE_SYSTEM_HEADER_DIR using #:makeflags
# * Add missing limits.h include.
# * Add SSIZE_MAX define. The SSIZE_MAX define has been added to Mes
# upstream and can be removed with the next Mes release.
# * Remove -fbuilding-libgcc flag, it assumes features being present from a
# newer gcc or glibc.
# * [MES_BOOTSTRAP_GCC]: Disable threads harder.
(fetchurl {
url = "https://git.savannah.gnu.org/cgit/guix.git/plain/gnu/packages/patches/gcc-boot-4.6.4.patch?id=50249cab3a98839ade2433456fe618acc6f804a5";
sha256 = "1zzd8gnihw6znrgb6c6pfsmm0vix89xw3giv1nnsykm57j0v3z0d";
})
./libstdc++-target.patch
# Remove hardcoded NATIVE_SYSTEM_HEADER_DIR
./no-system-headers.patch
];
# To reduce the set of pre-built bootstrap inputs, build
# GMP & co. from GCC.
gmpVersion = "4.3.2";
gmp = fetchurl {
url = "mirror://gnu/gmp/gmp-${gmpVersion}.tar.gz";
@ -71,7 +56,7 @@ bash.runCommand "${pname}-${version}" {
inherit pname version;
nativeBuildInputs = [
gcc
tinycc.compiler
binutils
gnumake
gnupatch
@ -84,10 +69,6 @@ bash.runCommand "${pname}-${version}" {
gzip
];
# condition in ./libcpp/configure requires `env` which is not available in this coreutils
am_cv_CXX_dependencies_compiler_type = "gcc";
am_cv_CC_dependencies_compiler_type = "gcc";
passthru.tests.get-version = result:
bash.runCommand "${pname}-get-version-${version}" {} ''
${result}/bin/gcc --version
@ -118,18 +99,21 @@ bash.runCommand "${pname}-${version}" {
${lib.concatMapStringsSep "\n" (f: "patch -Np1 -i ${f}") patches}
# Configure
export C_INCLUDE_PATH="${gcc}/lib/gcc-lib/${hostPlatform.config}/${gcc.version}/include:${linux-headers}/include:${glibc}/include:$(pwd)/mpfr/src"
export CC="tcc -B ${tinycc.libs}/lib"
export C_INCLUDE_PATH="${tinycc.libs}/include:$(pwd)/mpfr/src"
export CPLUS_INCLUDE_PATH="$C_INCLUDE_PATH"
export LDFLAGS="-B${glibc}/lib -Wl,-dynamic-linker -Wl,${glibc}"
export LDFLAGS_FOR_TARGET=$LDFLAGS
export LIBRARY_PATH="${glibc}/lib:${gcc}/lib"
export LIBS="-lc -lnss_files -lnss_dns -lresolv"
# Avoid "Link tests are not allowed after GCC_NO_EXECUTABLES"
export lt_cv_shlibpath_overrides_runpath=yes
export ac_cv_func_memcpy=yes
export ac_cv_func_strerror=yes
bash ./configure \
--prefix=$out \
--build=${buildPlatform.config} \
--host=${hostPlatform.config} \
--with-native-system-header-dir=${glibc}/include \
--with-build-sysroot=${glibc}/include \
--with-native-system-header-dir=${tinycc.libs}/include \
--with-build-sysroot=${tinycc.libs}/include \
--disable-bootstrap \
--disable-decimal-float \
--disable-libatomic \
@ -146,7 +130,7 @@ bash.runCommand "${pname}-${version}" {
--disable-multilib \
--disable-plugin \
--disable-threads \
--enable-languages=c,c++ \
--enable-languages=c \
--enable-static \
--disable-shared \
--enable-threads=single \
@ -154,8 +138,8 @@ bash.runCommand "${pname}-${version}" {
--disable-build-with-cxx
# Build
make
make -j $NIX_BUILD_CORES
# Install
make install
make -j $NIX_BUILD_CORES install
''

View File

@ -0,0 +1,11 @@
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -440,7 +440,7 @@ LINKER_PLUGIN_API_H = $(srcdir)/../include/plugin-api.h
LTO_SYMTAB_H = $(srcdir)/../include/lto-symtab.h
# Default native SYSTEM_HEADER_DIR, to be overridden by targets.
-NATIVE_SYSTEM_HEADER_DIR = /usr/include
+# NATIVE_SYSTEM_HEADER_DIR = /usr/include
# Default cross SYSTEM_HEADER_DIR, to be overridden by targets.
CROSS_SYSTEM_HEADER_DIR = @CROSS_SYSTEM_HEADER_DIR@

View File

@ -12,13 +12,13 @@
, gzip
, gawk
, heirloom
, binutils-mes
, binutils
, linux-headers
}:
let
pname = "glibc";
buildGlibc = { version, src, patches, configureFlags, gcc, binutils, CC, CPP }:
buildGlibc = { version, src, patches, configureFlags, gcc, CC, CPP }:
bash.runCommand "${pname}-${version}" {
inherit pname version;
@ -114,7 +114,6 @@ in
];
gcc = gcc2-mes;
binutils = binutils-mes;
CC = "gcc -D MES_BOOTSTRAP=1 -D BOOTSTRAP_GLIBC=1 -L $(pwd)";
CPP = "gcc -E -D MES_BOOTSTRAP=1 -D BOOTSTRAP_GLIBC=1";
};

View File

@ -0,0 +1,82 @@
{ lib
, buildPlatform
, hostPlatform
, fetchurl
, bash
, tinycc
, gnumakeBoot
, gnupatch
, gnused
, gnugrep
, gawk
, gnutar
, gzip
}:
let
pname = "gnumake-musl";
version = "4.4.1";
src = fetchurl {
url = "mirror://gnu/make/make-${version}.tar.gz";
hash = "sha256-3Rb7HWe/q3mnL16DkHNcSePo5wtJRaFasfgd23hlj7M=";
};
patches = [
# Replaces /bin/sh with sh, see patch file for reasoning
./0001-No-impure-bin-sh.patch
# Purity: don't look for library dependencies (of the form `-lfoo') in /lib
# and /usr/lib. It's a stupid feature anyway. Likewise, when searching for
# included Makefiles, don't look in /usr/include and friends.
./0002-remove-impure-dirs.patch
];
in
bash.runCommand "${pname}-${version}" {
inherit pname version;
nativeBuildInputs = [
tinycc.compiler
gnumakeBoot
gnupatch
gnused
gnugrep
gawk
gnutar
gzip
];
passthru.tests.get-version = result:
bash.runCommand "${pname}-get-version-${version}" {} ''
${result}/bin/make --version
mkdir $out
'';
meta = with lib; {
description = "A tool to control the generation of non-source files from sources";
homepage = "https://www.gnu.org/software/make";
license = licenses.gpl3Plus;
maintainers = teams.minimal-bootstrap.members;
mainProgram = "make";
platforms = platforms.unix;
};
} ''
# Unpack
tar xzf ${src}
cd make-${version}
# Patch
${lib.concatMapStringsSep "\n" (f: "patch -Np1 -i ${f}") patches}
# Configure
export CC="tcc -B ${tinycc.libs}/lib"
export LD=tcc
bash ./configure \
--prefix=$out \
--build=${buildPlatform.config} \
--host=${hostPlatform.config}
# Build
make AR="tcc -ar"
# Install
make install
''

View File

@ -0,0 +1,12 @@
{ lib }:
{
meta = with lib; {
description = "GNU sed, a batch stream editor";
homepage = "https://www.gnu.org/software/sed";
license = licenses.gpl3Plus;
maintainers = teams.minimal-bootstrap.members;
mainProgram = "sed";
platforms = platforms.unix;
};
}

View File

@ -4,41 +4,34 @@
, fetchurl
, bash
, gnumake
, mesBootstrap ? false, tinycc ? null
, gcc ? null, glibc ? null, binutils ? null, gnused ? null, linux-headers, gnugrep
, tinycc
, gnused
, gnugrep
, gnutar
, gzip
}:
assert mesBootstrap -> tinycc != null;
assert !mesBootstrap -> gcc != null && glibc != null && binutils != null && gnused != null;
let
pname = "gnused" + lib.optionalString mesBootstrap "-mes";
# last version that can be compiled with mes-libc
version = "4.0.9";
inherit (import ./common.nix { inherit lib; }) meta;
pname = "gnused";
# last version that can be bootstrapped with our slightly buggy gnused-mes
version = "4.2";
src = fetchurl {
url = "mirror://gnu/sed/sed-${version}.tar.gz";
sha256 = "0006gk1dw2582xsvgx6y6rzs9zw8b36rhafjwm288zqqji3qfrf3";
};
# Thanks to the live-bootstrap project!
# See https://github.com/fosslinux/live-bootstrap/blob/1bc4296091c51f53a5598050c8956d16e945b0f5/sysa/sed-4.0.9/sed-4.0.9.kaem
makefile = fetchurl {
url = "https://github.com/fosslinux/live-bootstrap/raw/1bc4296091c51f53a5598050c8956d16e945b0f5/sysa/sed-4.0.9/mk/main.mk";
sha256 = "0w1f5ri0g5zla31m6l6xyzbqwdvandqfnzrsw90dd6ak126w3mya";
hash = "sha256-20XNY/0BDmUFN9ZdXfznaJplJ0UjZgbl5ceCk3Jn2YM=";
};
in
bash.runCommand "${pname}-${version}" {
inherit pname version;
inherit pname version meta;
nativeBuildInputs = [
gnumake
] ++ lib.optionals mesBootstrap [
tinycc.compiler
] ++ lib.optionals (!mesBootstrap) [
gcc
glibc
binutils
gnused
gnugrep
gnutar
gzip
];
passthru.tests.get-version = result:
@ -46,51 +39,25 @@ bash.runCommand "${pname}-${version}" {
${result}/bin/sed --version
mkdir ''${out}
'';
meta = with lib; {
description = "GNU sed, a batch stream editor";
homepage = "https://www.gnu.org/software/sed";
license = licenses.gpl3Plus;
maintainers = teams.minimal-bootstrap.members;
mainProgram = "sed";
platforms = platforms.unix;
};
} (''
# Unpack
ungz --file ${src} --output sed.tar
untar --file sed.tar
rm sed.tar
tar xzf ${src}
cd sed-${version}
'' + lib.optionalString mesBootstrap ''
# Configure
cp ${makefile} Makefile
catm config.h
# Build
make \
CC="tcc -B ${tinycc.libs}/lib" \
LIBC=mes
'' + lib.optionalString (!mesBootstrap) ''
# Configure
export CC="gcc -I${glibc}/include -I${linux-headers}/include"
export LIBRARY_PATH="${glibc}/lib"
export LIBS="-lc -lnss_files -lnss_dns -lresolv"
chmod +x configure
export CC="tcc -B ${tinycc.libs}/lib"
export LD=tcc
./configure \
--build=${buildPlatform.config} \
--host=${hostPlatform.config} \
--disable-shared \
--disable-nls \
--disable-dependency-tracking \
--without-included-regex \
--prefix=$out
# Build
make
make AR="tcc -ar"
'' + ''
# Install
make install PREFIX=$out
make install
'')

View File

@ -0,0 +1,59 @@
{ lib
, buildPlatform
, hostPlatform
, fetchurl
, bash
, gnumake
, tinycc
}:
let
inherit (import ./common.nix { inherit lib; }) meta;
pname = "gnused-mes";
# last version that can be compiled with mes-libc
version = "4.0.9";
src = fetchurl {
url = "mirror://gnu/sed/sed-${version}.tar.gz";
sha256 = "0006gk1dw2582xsvgx6y6rzs9zw8b36rhafjwm288zqqji3qfrf3";
};
# Thanks to the live-bootstrap project!
# See https://github.com/fosslinux/live-bootstrap/blob/1bc4296091c51f53a5598050c8956d16e945b0f5/sysa/sed-4.0.9/sed-4.0.9.kaem
makefile = fetchurl {
url = "https://github.com/fosslinux/live-bootstrap/raw/1bc4296091c51f53a5598050c8956d16e945b0f5/sysa/sed-4.0.9/mk/main.mk";
sha256 = "0w1f5ri0g5zla31m6l6xyzbqwdvandqfnzrsw90dd6ak126w3mya";
};
in
bash.runCommand "${pname}-${version}" {
inherit pname version meta;
nativeBuildInputs = [
gnumake
tinycc.compiler
];
passthru.tests.get-version = result:
bash.runCommand "${pname}-get-version-${version}" {} ''
${result}/bin/sed --version
mkdir ''${out}
'';
} (''
# Unpack
ungz --file ${src} --output sed.tar
untar --file sed.tar
rm sed.tar
cd sed-${version}
# Configure
cp ${makefile} Makefile
catm config.h
# Build
make \
CC="tcc -B ${tinycc.libs}/lib" \
LIBC=mes
# Install
make install PREFIX=$out
'')

View File

@ -0,0 +1,70 @@
{ lib
, buildPlatform
, hostPlatform
, fetchurl
, bash
, tinycc
, gnumake
, gnugrep
, gnused
}:
let
# gnutar with musl preserves modify times, allowing make to not try
# rebuilding pregenerated files
pname = "gnutar-musl";
version = "1.12";
src = fetchurl {
url = "mirror://gnu/tar/tar-${version}.tar.gz";
hash = "sha256-xsN+iIsTbM76uQPFEUn0t71lnWnUrqISRfYQU6V6pgo=";
};
in
bash.runCommand "${pname}-${version}" {
inherit pname version;
nativeBuildInputs = [
tinycc.compiler
gnumake
gnused
gnugrep
];
passthru.tests.get-version = result:
bash.runCommand "${pname}-get-version-${version}" {} ''
${result}/bin/tar --version
mkdir $out
'';
meta = with lib; {
description = "GNU implementation of the `tar' archiver";
homepage = "https://www.gnu.org/software/tar";
license = licenses.gpl3Plus;
maintainers = teams.minimal-bootstrap.members;
mainProgram = "tar";
platforms = platforms.unix;
};
} ''
# Unpack
ungz --file ${src} --output tar.tar
untar --file tar.tar
rm tar.tar
cd tar-${version}
# Configure
export CC="tcc -B ${tinycc.libs}/lib"
export LD=tcc
export ac_cv_sizeof_unsigned_long=4
export ac_cv_sizeof_long_long=8
export ac_cv_header_netdb_h=no
bash ./configure \
--prefix=$out \
--build=${buildPlatform.config} \
--host=${hostPlatform.config} \
--disable-nls
# Build
make AR="tcc -ar"
# Install
make install
''

View File

@ -58,6 +58,8 @@ let
# url = "${liveBootstrap}/patches/stdio_flush_on_exit.patch";
# hash = "sha256-/z5ze3h3QTysay8nRvyvwPv3pmTcKptdkBIaMCoeLDg=";
# })
# HACK: always flush stdio immediately
./always-flush.patch
(fetchurl {
url = "${liveBootstrap}/patches/va_list.patch";
hash = "sha256-UmcMIl+YCi3wIeVvjbsCyqFlkyYsM4ECNwTfXP+s7vg=";

View File

@ -0,0 +1,12 @@
diff --git src/env/__libc_start_main.c src/env/__libc_start_main.c
index 8fbe526..9476c22 100644
--- src/env/__libc_start_main.c
+++ src/env/__libc_start_main.c
@@ -91,6 +91,7 @@ static int libc_start_main_stage2(int (*main)(int,char **,char **), int argc, ch
__libc_start_init();
/* Pass control to the application */
+ setbuf(stdout, NULL);
exit(main(argc, argv, envp));
return 0;
}

View File

@ -70,8 +70,8 @@ bash.runCommand "${pname}-${version}" {
--host=${hostPlatform.config}
# Build
make
make -j $NIX_BUILD_CORES
# Install
make install
make -j $NIX_BUILD_CORES install
''

View File

@ -0,0 +1,13 @@
--- tccelf.c
+++ tccelf.c
@@ -710,8 +710,9 @@ ST_FUNC int set_elf_sym(Section *s, addr_t value, unsigned long size,
#if 0
printf("new_bind=%x new_shndx=%x new_vis=%x old_bind=%x old_shndx=%x old_vis=%x\n",
sym_bind, shndx, new_vis, esym_bind, esym->st_shndx, esym_vis);
-#endif
tcc_error_noabort("'%s' defined twice", name);
+#endif
+ goto do_patch;
}
} else {
esym->st_other = other;

View File

@ -0,0 +1,21 @@
--- tccgen.c
+++ tccgen.c
@@ -4941,7 +4941,7 @@ static int post_type(CType *type, AttributeDef *ad, int storage, int td)
next();
n = -1;
t1 = 0;
- if (td & TYPE_PARAM) while (1) {
+ while (1) {
/* XXX The optional type-quals and static should only be accepted
in parameter decls. The '*' as well, and then even only
in prototypes (not function defs). */
@@ -4972,7 +4972,8 @@ static int post_type(CType *type, AttributeDef *ad, int storage, int td)
}
break;
- } else if (tok != ']') {
+ }
+ if (tok != ']') {
if (!local_stack || (storage & VT_STATIC))
vpushi(expr_const());
else {

View File

@ -1,9 +1,3 @@
# Build steps adapted from https://github.com/fosslinux/live-bootstrap/blob/1bc4296091c51f53a5598050c8956d16e945b0f5/sysa/tcc-0.9.27/tcc-musl-pass1.sh
#
# SPDX-FileCopyrightText: 2021-22 fosslinux <fosslinux@aussies.space>
#
# SPDX-License-Identifier: GPL-3.0-or-later
{ lib
, fetchurl
, callPackage
@ -12,42 +6,32 @@
, musl
, gnupatch
, gnutar
, bzip2
, gzip
}:
let
pname = "tinycc-musl";
version = "0.9.27";
# next commit introduces use of realpath (unsupported in mes-libc)
version = "unstable-2023-07-10";
rev = "fd6d2180c5c801bb0b4c5dde27d61503059fc97d";
src = fetchurl {
url = "https://download.savannah.gnu.org/releases/tinycc/tcc-${version}.tar.bz2";
hash = "sha256-3iOvePypDOMt/y3UWzQysjNHQLubt7Bb9g/b/Dls65w=";
url = "https://repo.or.cz/tinycc.git/snapshot/${rev}.tar.gz";
hash = "sha256-R81SNbEmh4s9FNQxCWZwUiMCYRkkwOHAdRf0aMnnRiA=";
};
# Thanks to the live-bootstrap project!
# See https://github.com/fosslinux/live-bootstrap/blob/424aa5be38a3023aa6842883a3954599b1597986/sysa/tcc-0.9.27/tcc-musl-pass1.sh
liveBootstrap = "https://github.com/fosslinux/live-bootstrap/raw/424aa5be38a3023aa6842883a3954599b1597986/sysa/tcc-0.9.27";
patches = [
(fetchurl {
url = "${liveBootstrap}/patches/ignore-duplicate-symbols.patch";
hash = "sha256-6Js8HkzjYlA8ETxeEYRWu+03OJI60NvR5h1QPkcMTlQ=";
})
(fetchurl {
url = "${liveBootstrap}/patches/ignore-static-inside-array.patch";
hash = "sha256-IF4RevLGjzRBuYqhuyG7+x6SVljzMAsYRKicNsmtbDY=";
})
(fetchurl {
url = "${liveBootstrap}/patches/static-link.patch";
hash = "sha256-gX/hJ9a/0Zg29KIBUme+mOA8WrPQvp0SvojP8DN9mSI=";
})
./ignore-duplicate-symbols.patch
./ignore-static-inside-array.patch
./static-link.patch
];
meta = with lib; {
description = "Small, fast, and embeddable C compiler and interpreter";
homepage = "http://savannah.nongnu.org/projects/tinycc";
license = licenses.lgpl21Only;
maintainers = teams.minimal-bootstrap.members;
platforms = [ "i686-linux" ];
};
description = "Small, fast, and embeddable C compiler and interpreter";
homepage = "https://repo.or.cz/w/tinycc.git";
license = licenses.lgpl21Only;
maintainers = teams.minimal-bootstrap.members;
platforms = [ "i686-linux" ];
};
tinycc-musl = bash.runCommand "${pname}-${version}" {
inherit pname version meta;
@ -56,15 +40,12 @@ let
tinycc-bootstrappable.compiler
gnupatch
gnutar
bzip2
gzip
];
} ''
# Unpack
cp ${src} tinycc.tar.bz2
bunzip2 tinycc.tar.bz2
tar xf tinycc.tar
rm tinycc.tar
cd tcc-${version}
tar xzf ${src}
cd tinycc-${builtins.substring 0 7 rev}
# Patch
${lib.concatMapStringsSep "\n" (f: "patch -Np0 -i ${f}") patches}
@ -77,6 +58,13 @@ let
# but when linked with musl it is.
ln -s ${musl}/lib/libtcc1.a ./libtcc1.a
tcc \
-B ${tinycc-bootstrappable.libs}/lib \
-DC2STR \
-o c2str \
conftest.c
./c2str include/tccdefs.h tccdefs_.h
tcc -v \
-static \
-o tcc-musl \
@ -92,6 +80,9 @@ let
-D CONFIG_USE_LIBGCC=1 \
-D TCC_VERSION=\"0.9.27\" \
-D ONE_SOURCE=1 \
-D TCC_MUSL=1 \
-D CONFIG_TCC_PREDEFS=1 \
-D CONFIG_TCC_SEMLOCK=0 \
-B . \
-B ${tinycc-bootstrappable.libs}/lib \
tcc.c
@ -117,13 +108,17 @@ let
-D CONFIG_USE_LIBGCC=1 \
-D TCC_VERSION=\"0.9.27\" \
-D ONE_SOURCE=1 \
-D TCC_MUSL=1 \
-D CONFIG_TCC_PREDEFS=1 \
-D CONFIG_TCC_SEMLOCK=0 \
-B . \
-B ${musl}/lib \
tcc.c
# libtcc1.a
rm -f libtcc1.a
./tcc-musl -c -D HAVE_CONFIG_H=1 lib/libtcc1.c
./tcc-musl -ar cr libtcc1.a libtcc1.o
./tcc-musl -c -D HAVE_CONFIG_H=1 lib/alloca.S
./tcc-musl -ar cr libtcc1.a libtcc1.o alloca.o
# Install
install -D tcc-musl $out/bin/tcc
@ -151,5 +146,10 @@ in
libs = bash.runCommand "${pname}-${version}-libs" {
inherit pname version meta;
} "install -D ${tinycc-musl}/lib/libtcc1.a $out/lib/libtcc1.a";
} ''
mkdir $out
cp -r ${musl}/* $out
chmod +w $out/lib/libtcc1.a
cp ${tinycc-musl}/lib/libtcc1.a $out/lib/libtcc1.a
'';
}

Some files were not shown because too many files have changed in this diff Show More