mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-25 00:12:56 +00:00
Merge remote-tracking branch 'origin/staging-next' into staging
Conflicts: pkgs/top-level/all-packages.nix
This commit is contained in:
commit
3bbe9a9459
4
.github/workflows/periodic-merge-24h.yml
vendored
4
.github/workflows/periodic-merge-24h.yml
vendored
@ -32,6 +32,10 @@ jobs:
|
||||
into: staging-next-21.05
|
||||
- from: staging-next-21.05
|
||||
into: staging-21.05
|
||||
- from: release-21.11
|
||||
into: staging-next-21.11
|
||||
- from: staging-next-21.11
|
||||
into: staging-21.11
|
||||
name: ${{ matrix.pairs.from }} → ${{ matrix.pairs.into }}
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
@ -1,8 +1,11 @@
|
||||
#!/bin/sh
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
# This script is used to test that the module system is working as expected.
|
||||
# By default it test the version of nixpkgs which is defined in the NIX_PATH.
|
||||
|
||||
set -o errexit -o noclobber -o nounset -o pipefail
|
||||
shopt -s failglob inherit_errexit
|
||||
|
||||
# https://stackoverflow.com/a/246128/6605742
|
||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
||||
|
||||
@ -13,101 +16,96 @@ fail=0
|
||||
|
||||
evalConfig() {
|
||||
local attr=$1
|
||||
shift;
|
||||
local script="import ./default.nix { modules = [ $@ ];}"
|
||||
shift
|
||||
local script="import ./default.nix { modules = [ $* ];}"
|
||||
nix-instantiate --timeout 1 -E "$script" -A "$attr" --eval-only --show-trace --read-write-mode
|
||||
}
|
||||
|
||||
reportFailure() {
|
||||
local attr=$1
|
||||
shift;
|
||||
local script="import ./default.nix { modules = [ $@ ];}"
|
||||
shift
|
||||
local script="import ./default.nix { modules = [ $* ];}"
|
||||
echo 2>&1 "$ nix-instantiate -E '$script' -A '$attr' --eval-only"
|
||||
evalConfig "$attr" "$@"
|
||||
fail=$((fail + 1))
|
||||
evalConfig "$attr" "$@" || true
|
||||
((++fail))
|
||||
}
|
||||
|
||||
checkConfigOutput() {
|
||||
local outputContains=$1
|
||||
shift;
|
||||
shift
|
||||
if evalConfig "$@" 2>/dev/null | grep --silent "$outputContains" ; then
|
||||
pass=$((pass + 1))
|
||||
return 0;
|
||||
((++pass))
|
||||
else
|
||||
echo 2>&1 "error: Expected result matching '$outputContains', while evaluating"
|
||||
reportFailure "$@"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
checkConfigError() {
|
||||
local errorContains=$1
|
||||
local err=""
|
||||
shift;
|
||||
if err==$(evalConfig "$@" 2>&1 >/dev/null); then
|
||||
shift
|
||||
if err="$(evalConfig "$@" 2>&1 >/dev/null)"; then
|
||||
echo 2>&1 "error: Expected error code, got exit code 0, while evaluating"
|
||||
reportFailure "$@"
|
||||
return 1
|
||||
else
|
||||
if echo "$err" | grep -zP --silent "$errorContains" ; then
|
||||
pass=$((pass + 1))
|
||||
return 0;
|
||||
((++pass))
|
||||
else
|
||||
echo 2>&1 "error: Expected error matching '$errorContains', while evaluating"
|
||||
reportFailure "$@"
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
# Check boolean option.
|
||||
checkConfigOutput "false" config.enable ./declare-enable.nix
|
||||
checkConfigOutput '^false$' config.enable ./declare-enable.nix
|
||||
checkConfigError 'The option .* does not exist. Definition values:\n\s*- In .*: true' config.enable ./define-enable.nix
|
||||
|
||||
# Check integer types.
|
||||
# unsigned
|
||||
checkConfigOutput "42" config.value ./declare-int-unsigned-value.nix ./define-value-int-positive.nix
|
||||
checkConfigOutput '^42$' config.value ./declare-int-unsigned-value.nix ./define-value-int-positive.nix
|
||||
checkConfigError 'A definition for option .* is not of type.*unsigned integer.*. Definition values:\n\s*- In .*: -23' config.value ./declare-int-unsigned-value.nix ./define-value-int-negative.nix
|
||||
# positive
|
||||
checkConfigError 'A definition for option .* is not of type.*positive integer.*. Definition values:\n\s*- In .*: 0' config.value ./declare-int-positive-value.nix ./define-value-int-zero.nix
|
||||
# between
|
||||
checkConfigOutput "42" config.value ./declare-int-between-value.nix ./define-value-int-positive.nix
|
||||
checkConfigOutput '^42$' config.value ./declare-int-between-value.nix ./define-value-int-positive.nix
|
||||
checkConfigError 'A definition for option .* is not of type.*between.*-21 and 43.*inclusive.*. Definition values:\n\s*- In .*: -23' config.value ./declare-int-between-value.nix ./define-value-int-negative.nix
|
||||
|
||||
# Check either types
|
||||
# types.either
|
||||
checkConfigOutput "42" config.value ./declare-either.nix ./define-value-int-positive.nix
|
||||
checkConfigOutput "\"24\"" config.value ./declare-either.nix ./define-value-string.nix
|
||||
checkConfigOutput '^42$' config.value ./declare-either.nix ./define-value-int-positive.nix
|
||||
checkConfigOutput '^"24"$' config.value ./declare-either.nix ./define-value-string.nix
|
||||
# types.oneOf
|
||||
checkConfigOutput "42" config.value ./declare-oneOf.nix ./define-value-int-positive.nix
|
||||
checkConfigOutput "[ ]" config.value ./declare-oneOf.nix ./define-value-list.nix
|
||||
checkConfigOutput "\"24\"" config.value ./declare-oneOf.nix ./define-value-string.nix
|
||||
checkConfigOutput '^42$' config.value ./declare-oneOf.nix ./define-value-int-positive.nix
|
||||
checkConfigOutput '^\[ \]$' config.value ./declare-oneOf.nix ./define-value-list.nix
|
||||
checkConfigOutput '^"24"$' config.value ./declare-oneOf.nix ./define-value-string.nix
|
||||
|
||||
# Check mkForce without submodules.
|
||||
set -- config.enable ./declare-enable.nix ./define-enable.nix
|
||||
checkConfigOutput "true" "$@"
|
||||
checkConfigOutput "false" "$@" ./define-force-enable.nix
|
||||
checkConfigOutput "false" "$@" ./define-enable-force.nix
|
||||
checkConfigOutput '^true$' "$@"
|
||||
checkConfigOutput '^false$' "$@" ./define-force-enable.nix
|
||||
checkConfigOutput '^false$' "$@" ./define-enable-force.nix
|
||||
|
||||
# Check mkForce with option and submodules.
|
||||
checkConfigError 'attribute .*foo.* .* not found' config.attrsOfSub.foo.enable ./declare-attrsOfSub-any-enable.nix
|
||||
checkConfigOutput 'false' config.attrsOfSub.foo.enable ./declare-attrsOfSub-any-enable.nix ./define-attrsOfSub-foo.nix
|
||||
checkConfigOutput '^false$' config.attrsOfSub.foo.enable ./declare-attrsOfSub-any-enable.nix ./define-attrsOfSub-foo.nix
|
||||
set -- config.attrsOfSub.foo.enable ./declare-attrsOfSub-any-enable.nix ./define-attrsOfSub-foo-enable.nix
|
||||
checkConfigOutput 'true' "$@"
|
||||
checkConfigOutput 'false' "$@" ./define-force-attrsOfSub-foo-enable.nix
|
||||
checkConfigOutput 'false' "$@" ./define-attrsOfSub-force-foo-enable.nix
|
||||
checkConfigOutput 'false' "$@" ./define-attrsOfSub-foo-force-enable.nix
|
||||
checkConfigOutput 'false' "$@" ./define-attrsOfSub-foo-enable-force.nix
|
||||
checkConfigOutput '^true$' "$@"
|
||||
checkConfigOutput '^false$' "$@" ./define-force-attrsOfSub-foo-enable.nix
|
||||
checkConfigOutput '^false$' "$@" ./define-attrsOfSub-force-foo-enable.nix
|
||||
checkConfigOutput '^false$' "$@" ./define-attrsOfSub-foo-force-enable.nix
|
||||
checkConfigOutput '^false$' "$@" ./define-attrsOfSub-foo-enable-force.nix
|
||||
|
||||
# Check overriding effect of mkForce on submodule definitions.
|
||||
checkConfigError 'attribute .*bar.* .* not found' config.attrsOfSub.bar.enable ./declare-attrsOfSub-any-enable.nix ./define-attrsOfSub-foo.nix
|
||||
checkConfigOutput 'false' config.attrsOfSub.bar.enable ./declare-attrsOfSub-any-enable.nix ./define-attrsOfSub-foo.nix ./define-attrsOfSub-bar.nix
|
||||
checkConfigOutput '^false$' config.attrsOfSub.bar.enable ./declare-attrsOfSub-any-enable.nix ./define-attrsOfSub-foo.nix ./define-attrsOfSub-bar.nix
|
||||
set -- config.attrsOfSub.bar.enable ./declare-attrsOfSub-any-enable.nix ./define-attrsOfSub-foo.nix ./define-attrsOfSub-bar-enable.nix
|
||||
checkConfigOutput 'true' "$@"
|
||||
checkConfigOutput '^true$' "$@"
|
||||
checkConfigError 'attribute .*bar.* .* not found' "$@" ./define-force-attrsOfSub-foo-enable.nix
|
||||
checkConfigError 'attribute .*bar.* .* not found' "$@" ./define-attrsOfSub-force-foo-enable.nix
|
||||
checkConfigOutput 'true' "$@" ./define-attrsOfSub-foo-force-enable.nix
|
||||
checkConfigOutput 'true' "$@" ./define-attrsOfSub-foo-enable-force.nix
|
||||
checkConfigOutput '^true$' "$@" ./define-attrsOfSub-foo-force-enable.nix
|
||||
checkConfigOutput '^true$' "$@" ./define-attrsOfSub-foo-enable-force.nix
|
||||
|
||||
# Check mkIf with submodules.
|
||||
checkConfigError 'attribute .*foo.* .* not found' config.attrsOfSub.foo.enable ./declare-enable.nix ./declare-attrsOfSub-any-enable.nix
|
||||
@ -115,16 +113,16 @@ set -- config.attrsOfSub.foo.enable ./declare-enable.nix ./declare-attrsOfSub-an
|
||||
checkConfigError 'attribute .*foo.* .* not found' "$@" ./define-if-attrsOfSub-foo-enable.nix
|
||||
checkConfigError 'attribute .*foo.* .* not found' "$@" ./define-attrsOfSub-if-foo-enable.nix
|
||||
checkConfigError 'attribute .*foo.* .* not found' "$@" ./define-attrsOfSub-foo-if-enable.nix
|
||||
checkConfigOutput 'false' "$@" ./define-attrsOfSub-foo-enable-if.nix
|
||||
checkConfigOutput 'true' "$@" ./define-enable.nix ./define-if-attrsOfSub-foo-enable.nix
|
||||
checkConfigOutput 'true' "$@" ./define-enable.nix ./define-attrsOfSub-if-foo-enable.nix
|
||||
checkConfigOutput 'true' "$@" ./define-enable.nix ./define-attrsOfSub-foo-if-enable.nix
|
||||
checkConfigOutput 'true' "$@" ./define-enable.nix ./define-attrsOfSub-foo-enable-if.nix
|
||||
checkConfigOutput '^false$' "$@" ./define-attrsOfSub-foo-enable-if.nix
|
||||
checkConfigOutput '^true$' "$@" ./define-enable.nix ./define-if-attrsOfSub-foo-enable.nix
|
||||
checkConfigOutput '^true$' "$@" ./define-enable.nix ./define-attrsOfSub-if-foo-enable.nix
|
||||
checkConfigOutput '^true$' "$@" ./define-enable.nix ./define-attrsOfSub-foo-if-enable.nix
|
||||
checkConfigOutput '^true$' "$@" ./define-enable.nix ./define-attrsOfSub-foo-enable-if.nix
|
||||
|
||||
# Check disabledModules with config definitions and option declarations.
|
||||
set -- config.enable ./define-enable.nix ./declare-enable.nix
|
||||
checkConfigOutput "true" "$@"
|
||||
checkConfigOutput "false" "$@" ./disable-define-enable.nix
|
||||
checkConfigOutput '^true$' "$@"
|
||||
checkConfigOutput '^false$' "$@" ./disable-define-enable.nix
|
||||
checkConfigError "The option .*enable.* does not exist. Definition values:\n\s*- In .*: true" "$@" ./disable-declare-enable.nix
|
||||
checkConfigError "attribute .*enable.* in selection path .*config.enable.* not found" "$@" ./disable-define-enable.nix ./disable-declare-enable.nix
|
||||
checkConfigError "attribute .*enable.* in selection path .*config.enable.* not found" "$@" ./disable-enable-modules.nix
|
||||
@ -132,7 +130,7 @@ checkConfigError "attribute .*enable.* in selection path .*config.enable.* not f
|
||||
# Check _module.args.
|
||||
set -- config.enable ./declare-enable.nix ./define-enable-with-custom-arg.nix
|
||||
checkConfigError 'while evaluating the module argument .*custom.* in .*define-enable-with-custom-arg.nix.*:' "$@"
|
||||
checkConfigOutput "true" "$@" ./define-_module-args-custom.nix
|
||||
checkConfigOutput '^true$' "$@" ./define-_module-args-custom.nix
|
||||
|
||||
# Check that using _module.args on imports cause infinite recursions, with
|
||||
# the proper error context.
|
||||
@ -143,77 +141,77 @@ checkConfigError 'infinite recursion encountered' "$@"
|
||||
# Check _module.check.
|
||||
set -- config.enable ./declare-enable.nix ./define-enable.nix ./define-attrsOfSub-foo.nix
|
||||
checkConfigError 'The option .* does not exist. Definition values:\n\s*- In .*' "$@"
|
||||
checkConfigOutput "true" "$@" ./define-module-check.nix
|
||||
checkConfigOutput '^true$' "$@" ./define-module-check.nix
|
||||
|
||||
# Check coerced value.
|
||||
checkConfigOutput "\"42\"" config.value ./declare-coerced-value.nix
|
||||
checkConfigOutput "\"24\"" config.value ./declare-coerced-value.nix ./define-value-string.nix
|
||||
checkConfigOutput '^"42"$' config.value ./declare-coerced-value.nix
|
||||
checkConfigOutput '^"24"$' config.value ./declare-coerced-value.nix ./define-value-string.nix
|
||||
checkConfigError 'A definition for option .* is not.*string or signed integer convertible to it.*. Definition values:\n\s*- In .*: \[ \]' config.value ./declare-coerced-value.nix ./define-value-list.nix
|
||||
|
||||
# Check coerced value with unsound coercion
|
||||
checkConfigOutput "12" config.value ./declare-coerced-value-unsound.nix
|
||||
checkConfigOutput '^12$' config.value ./declare-coerced-value-unsound.nix
|
||||
checkConfigError 'A definition for option .* is not of type .*. Definition values:\n\s*- In .*: "1000"' config.value ./declare-coerced-value-unsound.nix ./define-value-string-bigint.nix
|
||||
checkConfigError 'json.exception.parse_error' config.value ./declare-coerced-value-unsound.nix ./define-value-string-arbitrary.nix
|
||||
|
||||
# Check mkAliasOptionModule.
|
||||
checkConfigOutput "true" config.enable ./alias-with-priority.nix
|
||||
checkConfigOutput "true" config.enableAlias ./alias-with-priority.nix
|
||||
checkConfigOutput "false" config.enable ./alias-with-priority-can-override.nix
|
||||
checkConfigOutput "false" config.enableAlias ./alias-with-priority-can-override.nix
|
||||
checkConfigOutput '^true$' config.enable ./alias-with-priority.nix
|
||||
checkConfigOutput '^true$' config.enableAlias ./alias-with-priority.nix
|
||||
checkConfigOutput '^false$' config.enable ./alias-with-priority-can-override.nix
|
||||
checkConfigOutput '^false$' config.enableAlias ./alias-with-priority-can-override.nix
|
||||
|
||||
# submoduleWith
|
||||
|
||||
## specialArgs should work
|
||||
checkConfigOutput "foo" config.submodule.foo ./declare-submoduleWith-special.nix
|
||||
checkConfigOutput '^"foo"$' config.submodule.foo ./declare-submoduleWith-special.nix
|
||||
|
||||
## shorthandOnlyDefines config behaves as expected
|
||||
checkConfigOutput "true" config.submodule.config ./declare-submoduleWith-shorthand.nix ./define-submoduleWith-shorthand.nix
|
||||
checkConfigOutput '^true$' config.submodule.config ./declare-submoduleWith-shorthand.nix ./define-submoduleWith-shorthand.nix
|
||||
checkConfigError 'is not of type `boolean' config.submodule.config ./declare-submoduleWith-shorthand.nix ./define-submoduleWith-noshorthand.nix
|
||||
checkConfigError "You're trying to declare a value of type \`bool'\n\s*rather than an attribute-set for the option" config.submodule.config ./declare-submoduleWith-noshorthand.nix ./define-submoduleWith-shorthand.nix
|
||||
checkConfigOutput "true" config.submodule.config ./declare-submoduleWith-noshorthand.nix ./define-submoduleWith-noshorthand.nix
|
||||
checkConfigOutput '^true$' config.submodule.config ./declare-submoduleWith-noshorthand.nix ./define-submoduleWith-noshorthand.nix
|
||||
|
||||
## submoduleWith should merge all modules in one swoop
|
||||
checkConfigOutput "true" config.submodule.inner ./declare-submoduleWith-modules.nix
|
||||
checkConfigOutput "true" config.submodule.outer ./declare-submoduleWith-modules.nix
|
||||
checkConfigOutput '^true$' config.submodule.inner ./declare-submoduleWith-modules.nix
|
||||
checkConfigOutput '^true$' config.submodule.outer ./declare-submoduleWith-modules.nix
|
||||
# Should also be able to evaluate the type name (which evaluates freeformType,
|
||||
# which evaluates all the modules defined by the type)
|
||||
checkConfigOutput "submodule" options.submodule.type.description ./declare-submoduleWith-modules.nix
|
||||
checkConfigOutput '^"submodule"$' options.submodule.type.description ./declare-submoduleWith-modules.nix
|
||||
|
||||
## submodules can be declared using (evalModules {...}).type
|
||||
checkConfigOutput "true" config.submodule.inner ./declare-submodule-via-evalModules.nix
|
||||
checkConfigOutput "true" config.submodule.outer ./declare-submodule-via-evalModules.nix
|
||||
checkConfigOutput '^true$' config.submodule.inner ./declare-submodule-via-evalModules.nix
|
||||
checkConfigOutput '^true$' config.submodule.outer ./declare-submodule-via-evalModules.nix
|
||||
# Should also be able to evaluate the type name (which evaluates freeformType,
|
||||
# which evaluates all the modules defined by the type)
|
||||
checkConfigOutput "submodule" options.submodule.type.description ./declare-submodule-via-evalModules.nix
|
||||
checkConfigOutput '^"submodule"$' options.submodule.type.description ./declare-submodule-via-evalModules.nix
|
||||
|
||||
## Paths should be allowed as values and work as expected
|
||||
checkConfigOutput "true" config.submodule.enable ./declare-submoduleWith-path.nix
|
||||
checkConfigOutput '^true$' config.submodule.enable ./declare-submoduleWith-path.nix
|
||||
|
||||
# Check that disabledModules works recursively and correctly
|
||||
checkConfigOutput "true" config.enable ./disable-recursive/main.nix
|
||||
checkConfigOutput "true" config.enable ./disable-recursive/{main.nix,disable-foo.nix}
|
||||
checkConfigOutput "true" config.enable ./disable-recursive/{main.nix,disable-bar.nix}
|
||||
checkConfigOutput '^true$' config.enable ./disable-recursive/main.nix
|
||||
checkConfigOutput '^true$' config.enable ./disable-recursive/{main.nix,disable-foo.nix}
|
||||
checkConfigOutput '^true$' config.enable ./disable-recursive/{main.nix,disable-bar.nix}
|
||||
checkConfigError 'The option .* does not exist. Definition values:\n\s*- In .*: true' config.enable ./disable-recursive/{main.nix,disable-foo.nix,disable-bar.nix}
|
||||
|
||||
# Check that imports can depend on derivations
|
||||
checkConfigOutput "true" config.enable ./import-from-store.nix
|
||||
checkConfigOutput '^true$' config.enable ./import-from-store.nix
|
||||
|
||||
# Check that configs can be conditional on option existence
|
||||
checkConfigOutput true config.enable ./define-option-dependently.nix ./declare-enable.nix ./declare-int-positive-value.nix
|
||||
checkConfigOutput 360 config.value ./define-option-dependently.nix ./declare-enable.nix ./declare-int-positive-value.nix
|
||||
checkConfigOutput 7 config.value ./define-option-dependently.nix ./declare-int-positive-value.nix
|
||||
checkConfigOutput true config.set.enable ./define-option-dependently-nested.nix ./declare-enable-nested.nix ./declare-int-positive-value-nested.nix
|
||||
checkConfigOutput 360 config.set.value ./define-option-dependently-nested.nix ./declare-enable-nested.nix ./declare-int-positive-value-nested.nix
|
||||
checkConfigOutput 7 config.set.value ./define-option-dependently-nested.nix ./declare-int-positive-value-nested.nix
|
||||
checkConfigOutput '^true$' config.enable ./define-option-dependently.nix ./declare-enable.nix ./declare-int-positive-value.nix
|
||||
checkConfigOutput '^360$' config.value ./define-option-dependently.nix ./declare-enable.nix ./declare-int-positive-value.nix
|
||||
checkConfigOutput '^7$' config.value ./define-option-dependently.nix ./declare-int-positive-value.nix
|
||||
checkConfigOutput '^true$' config.set.enable ./define-option-dependently-nested.nix ./declare-enable-nested.nix ./declare-int-positive-value-nested.nix
|
||||
checkConfigOutput '^360$' config.set.value ./define-option-dependently-nested.nix ./declare-enable-nested.nix ./declare-int-positive-value-nested.nix
|
||||
checkConfigOutput '^7$' config.set.value ./define-option-dependently-nested.nix ./declare-int-positive-value-nested.nix
|
||||
|
||||
# Check attrsOf and lazyAttrsOf. Only lazyAttrsOf should be lazy, and only
|
||||
# attrsOf should work with conditional definitions
|
||||
# In addition, lazyAttrsOf should honor an options emptyValue
|
||||
checkConfigError "is not lazy" config.isLazy ./declare-attrsOf.nix ./attrsOf-lazy-check.nix
|
||||
checkConfigOutput "true" config.isLazy ./declare-lazyAttrsOf.nix ./attrsOf-lazy-check.nix
|
||||
checkConfigOutput "true" config.conditionalWorks ./declare-attrsOf.nix ./attrsOf-conditional-check.nix
|
||||
checkConfigOutput "false" config.conditionalWorks ./declare-lazyAttrsOf.nix ./attrsOf-conditional-check.nix
|
||||
checkConfigOutput "empty" config.value.foo ./declare-lazyAttrsOf.nix ./attrsOf-conditional-check.nix
|
||||
checkConfigOutput '^true$' config.isLazy ./declare-lazyAttrsOf.nix ./attrsOf-lazy-check.nix
|
||||
checkConfigOutput '^true$' config.conditionalWorks ./declare-attrsOf.nix ./attrsOf-conditional-check.nix
|
||||
checkConfigOutput '^false$' config.conditionalWorks ./declare-lazyAttrsOf.nix ./attrsOf-conditional-check.nix
|
||||
checkConfigOutput '^"empty"$' config.value.foo ./declare-lazyAttrsOf.nix ./attrsOf-conditional-check.nix
|
||||
|
||||
|
||||
# Even with multiple assignments, a type error should be thrown if any of them aren't valid
|
||||
@ -222,69 +220,69 @@ checkConfigError 'A definition for option .* is not of type .*' \
|
||||
|
||||
## Freeform modules
|
||||
# Assigning without a declared option should work
|
||||
checkConfigOutput 24 config.value ./freeform-attrsOf.nix ./define-value-string.nix
|
||||
checkConfigOutput '^"24"$' config.value ./freeform-attrsOf.nix ./define-value-string.nix
|
||||
# No freeform assigments shouldn't make it error
|
||||
checkConfigOutput '{ }' config ./freeform-attrsOf.nix
|
||||
checkConfigOutput '^{ }$' config ./freeform-attrsOf.nix
|
||||
# but only if the type matches
|
||||
checkConfigError 'A definition for option .* is not of type .*' config.value ./freeform-attrsOf.nix ./define-value-list.nix
|
||||
# and properties should be applied
|
||||
checkConfigOutput yes config.value ./freeform-attrsOf.nix ./define-value-string-properties.nix
|
||||
checkConfigOutput '^"yes"$' config.value ./freeform-attrsOf.nix ./define-value-string-properties.nix
|
||||
# Options should still be declarable, and be able to have a type that doesn't match the freeform type
|
||||
checkConfigOutput false config.enable ./freeform-attrsOf.nix ./define-value-string.nix ./declare-enable.nix
|
||||
checkConfigOutput 24 config.value ./freeform-attrsOf.nix ./define-value-string.nix ./declare-enable.nix
|
||||
checkConfigOutput '^false$' config.enable ./freeform-attrsOf.nix ./define-value-string.nix ./declare-enable.nix
|
||||
checkConfigOutput '^"24"$' config.value ./freeform-attrsOf.nix ./define-value-string.nix ./declare-enable.nix
|
||||
# and this should work too with nested values
|
||||
checkConfigOutput false config.nest.foo ./freeform-attrsOf.nix ./freeform-nested.nix
|
||||
checkConfigOutput bar config.nest.bar ./freeform-attrsOf.nix ./freeform-nested.nix
|
||||
checkConfigOutput '^false$' config.nest.foo ./freeform-attrsOf.nix ./freeform-nested.nix
|
||||
checkConfigOutput '^"bar"$' config.nest.bar ./freeform-attrsOf.nix ./freeform-nested.nix
|
||||
# Check whether a declared option can depend on an freeform-typed one
|
||||
checkConfigOutput null config.foo ./freeform-attrsOf.nix ./freeform-str-dep-unstr.nix
|
||||
checkConfigOutput 24 config.foo ./freeform-attrsOf.nix ./freeform-str-dep-unstr.nix ./define-value-string.nix
|
||||
checkConfigOutput '^null$' config.foo ./freeform-attrsOf.nix ./freeform-str-dep-unstr.nix
|
||||
checkConfigOutput '^"24"$' config.foo ./freeform-attrsOf.nix ./freeform-str-dep-unstr.nix ./define-value-string.nix
|
||||
# Check whether an freeform-typed value can depend on a declared option, this can only work with lazyAttrsOf
|
||||
checkConfigError 'infinite recursion encountered' config.foo ./freeform-attrsOf.nix ./freeform-unstr-dep-str.nix
|
||||
checkConfigError 'The option .* is used but not defined' config.foo ./freeform-lazyAttrsOf.nix ./freeform-unstr-dep-str.nix
|
||||
checkConfigOutput 24 config.foo ./freeform-lazyAttrsOf.nix ./freeform-unstr-dep-str.nix ./define-value-string.nix
|
||||
checkConfigOutput '^"24"$' config.foo ./freeform-lazyAttrsOf.nix ./freeform-unstr-dep-str.nix ./define-value-string.nix
|
||||
|
||||
## types.anything
|
||||
# Check that attribute sets are merged recursively
|
||||
checkConfigOutput null config.value.foo ./types-anything/nested-attrs.nix
|
||||
checkConfigOutput null config.value.l1.foo ./types-anything/nested-attrs.nix
|
||||
checkConfigOutput null config.value.l1.l2.foo ./types-anything/nested-attrs.nix
|
||||
checkConfigOutput null config.value.l1.l2.l3.foo ./types-anything/nested-attrs.nix
|
||||
checkConfigOutput '^null$' config.value.foo ./types-anything/nested-attrs.nix
|
||||
checkConfigOutput '^null$' config.value.l1.foo ./types-anything/nested-attrs.nix
|
||||
checkConfigOutput '^null$' config.value.l1.l2.foo ./types-anything/nested-attrs.nix
|
||||
checkConfigOutput '^null$' config.value.l1.l2.l3.foo ./types-anything/nested-attrs.nix
|
||||
# Attribute sets that are coercible to strings shouldn't be recursed into
|
||||
checkConfigOutput foo config.value.outPath ./types-anything/attrs-coercible.nix
|
||||
checkConfigOutput '^"foo"$' config.value.outPath ./types-anything/attrs-coercible.nix
|
||||
# Multiple lists aren't concatenated together
|
||||
checkConfigError 'The option .* has conflicting definitions' config.value ./types-anything/lists.nix
|
||||
# Check that all equalizable atoms can be used as long as all definitions are equal
|
||||
checkConfigOutput 0 config.value.int ./types-anything/equal-atoms.nix
|
||||
checkConfigOutput false config.value.bool ./types-anything/equal-atoms.nix
|
||||
checkConfigOutput '""' config.value.string ./types-anything/equal-atoms.nix
|
||||
checkConfigOutput / config.value.path ./types-anything/equal-atoms.nix
|
||||
checkConfigOutput null config.value.null ./types-anything/equal-atoms.nix
|
||||
checkConfigOutput 0.1 config.value.float ./types-anything/equal-atoms.nix
|
||||
checkConfigOutput '^0$' config.value.int ./types-anything/equal-atoms.nix
|
||||
checkConfigOutput '^false$' config.value.bool ./types-anything/equal-atoms.nix
|
||||
checkConfigOutput '^""$' config.value.string ./types-anything/equal-atoms.nix
|
||||
checkConfigOutput '^/$' config.value.path ./types-anything/equal-atoms.nix
|
||||
checkConfigOutput '^null$' config.value.null ./types-anything/equal-atoms.nix
|
||||
checkConfigOutput '^0.1$' config.value.float ./types-anything/equal-atoms.nix
|
||||
# Functions can't be merged together
|
||||
checkConfigError "The option .value.multiple-lambdas.<function body>. has conflicting option types" config.applied.multiple-lambdas ./types-anything/functions.nix
|
||||
checkConfigOutput '<LAMBDA>' config.value.single-lambda ./types-anything/functions.nix
|
||||
checkConfigOutput 'null' config.applied.merging-lambdas.x ./types-anything/functions.nix
|
||||
checkConfigOutput 'null' config.applied.merging-lambdas.y ./types-anything/functions.nix
|
||||
checkConfigOutput '^<LAMBDA>$' config.value.single-lambda ./types-anything/functions.nix
|
||||
checkConfigOutput '^null$' config.applied.merging-lambdas.x ./types-anything/functions.nix
|
||||
checkConfigOutput '^null$' config.applied.merging-lambdas.y ./types-anything/functions.nix
|
||||
# Check that all mk* modifiers are applied
|
||||
checkConfigError 'attribute .* not found' config.value.mkiffalse ./types-anything/mk-mods.nix
|
||||
checkConfigOutput '{ }' config.value.mkiftrue ./types-anything/mk-mods.nix
|
||||
checkConfigOutput 1 config.value.mkdefault ./types-anything/mk-mods.nix
|
||||
checkConfigOutput '{ }' config.value.mkmerge ./types-anything/mk-mods.nix
|
||||
checkConfigOutput true config.value.mkbefore ./types-anything/mk-mods.nix
|
||||
checkConfigOutput 1 config.value.nested.foo ./types-anything/mk-mods.nix
|
||||
checkConfigOutput baz config.value.nested.bar.baz ./types-anything/mk-mods.nix
|
||||
checkConfigOutput '^{ }$' config.value.mkiftrue ./types-anything/mk-mods.nix
|
||||
checkConfigOutput '^1$' config.value.mkdefault ./types-anything/mk-mods.nix
|
||||
checkConfigOutput '^{ }$' config.value.mkmerge ./types-anything/mk-mods.nix
|
||||
checkConfigOutput '^true$' config.value.mkbefore ./types-anything/mk-mods.nix
|
||||
checkConfigOutput '^1$' config.value.nested.foo ./types-anything/mk-mods.nix
|
||||
checkConfigOutput '^"baz"$' config.value.nested.bar.baz ./types-anything/mk-mods.nix
|
||||
|
||||
## types.functionTo
|
||||
checkConfigOutput "input is input" config.result ./functionTo/trivial.nix
|
||||
checkConfigOutput "a b" config.result ./functionTo/merging-list.nix
|
||||
checkConfigOutput '^"input is input"$' config.result ./functionTo/trivial.nix
|
||||
checkConfigOutput '^"a b"$' config.result ./functionTo/merging-list.nix
|
||||
checkConfigError 'A definition for option .fun.\[function body\]. is not of type .string.. Definition values:\n\s*- In .*wrong-type.nix' config.result ./functionTo/wrong-type.nix
|
||||
checkConfigOutput "b a" config.result ./functionTo/list-order.nix
|
||||
checkConfigOutput "a c" config.result ./functionTo/merging-attrs.nix
|
||||
checkConfigOutput '^"b a"$' config.result ./functionTo/list-order.nix
|
||||
checkConfigOutput '^"a c"$' config.result ./functionTo/merging-attrs.nix
|
||||
|
||||
# moduleType
|
||||
checkConfigOutput "a b" config.resultFoo ./declare-variants.nix ./define-variant.nix
|
||||
checkConfigOutput "a y z" config.resultFooBar ./declare-variants.nix ./define-variant.nix
|
||||
checkConfigOutput "a b c" config.resultFooFoo ./declare-variants.nix ./define-variant.nix
|
||||
checkConfigOutput '^"a b"$' config.resultFoo ./declare-variants.nix ./define-variant.nix
|
||||
checkConfigOutput '^"a y z"$' config.resultFooBar ./declare-variants.nix ./define-variant.nix
|
||||
checkConfigOutput '^"a b c"$' config.resultFooFoo ./declare-variants.nix ./define-variant.nix
|
||||
|
||||
cat <<EOF
|
||||
====== module tests ======
|
||||
@ -292,7 +290,7 @@ $pass Pass
|
||||
$fail Fail
|
||||
EOF
|
||||
|
||||
if test $fail -ne 0; then
|
||||
if [ "$fail" -ne 0 ]; then
|
||||
exit 1
|
||||
fi
|
||||
exit 0
|
||||
|
@ -1,5 +1,6 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
shopt -s inherit_errexit
|
||||
|
||||
# Use
|
||||
# || die
|
||||
@ -9,17 +10,18 @@ die() {
|
||||
}
|
||||
|
||||
if test -n "${TEST_LIB:-}"; then
|
||||
export NIX_PATH=nixpkgs="$(dirname "$TEST_LIB")"
|
||||
NIX_PATH=nixpkgs="$(dirname "$TEST_LIB")"
|
||||
else
|
||||
export NIX_PATH=nixpkgs="$(cd $(dirname ${BASH_SOURCE[0]})/../..; pwd)"
|
||||
NIX_PATH=nixpkgs="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.."; pwd)"
|
||||
fi
|
||||
export NIX_PATH
|
||||
|
||||
work="$(mktemp -d)"
|
||||
clean_up() {
|
||||
rm -rf "$work"
|
||||
}
|
||||
trap clean_up EXIT
|
||||
cd $work
|
||||
cd "$work"
|
||||
|
||||
touch {README.md,module.o,foo.bar}
|
||||
|
||||
@ -29,7 +31,7 @@ touch {README.md,module.o,foo.bar}
|
||||
dir="$(nix eval --impure --raw --expr '(with import <nixpkgs/lib>; "${
|
||||
cleanSource ./.
|
||||
}")')"
|
||||
(cd $dir; find) | sort -f | diff -U10 - <(cat <<EOF
|
||||
(cd "$dir"; find) | sort -f | diff -U10 - <(cat <<EOF
|
||||
.
|
||||
./foo.bar
|
||||
./README.md
|
||||
@ -40,7 +42,7 @@ EOF
|
||||
dir="$(nix eval --impure --raw --expr '(with import <nixpkgs/lib>; "${
|
||||
cleanSourceWith { src = '"$work"'; filter = path: type: ! hasSuffix ".bar" path; }
|
||||
}")')"
|
||||
(cd $dir; find) | sort -f | diff -U10 - <(cat <<EOF
|
||||
(cd "$dir"; find) | sort -f | diff -U10 - <(cat <<EOF
|
||||
.
|
||||
./module.o
|
||||
./README.md
|
||||
@ -50,7 +52,7 @@ EOF
|
||||
dir="$(nix eval --impure --raw --expr '(with import <nixpkgs/lib>; "${
|
||||
cleanSourceWith { src = cleanSource '"$work"'; filter = path: type: ! hasSuffix ".bar" path; }
|
||||
}")')"
|
||||
(cd $dir; find) | sort -f | diff -U10 - <(cat <<EOF
|
||||
(cd "$dir"; find) | sort -f | diff -U10 - <(cat <<EOF
|
||||
.
|
||||
./README.md
|
||||
EOF
|
||||
|
@ -12466,7 +12466,7 @@
|
||||
githubId = 6016963;
|
||||
name = "Patrick Winter";
|
||||
};
|
||||
winterqt = {
|
||||
winter = {
|
||||
email = "nixos@winter.cafe";
|
||||
github = "winterqt";
|
||||
githubId = 78392041;
|
||||
|
@ -2013,6 +2013,16 @@ Superuser created successfully.
|
||||
file.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
hydrus has been upgraded from version <literal>438</literal>
|
||||
to <literal>463</literal>. Since upgrading between releases
|
||||
this old is advised against, be sure to have a backup of your
|
||||
data before upgrading. For details, see
|
||||
<link xlink:href="https://hydrusnetwork.github.io/hydrus/help/getting_started_installing.html#big_updates">the
|
||||
hydrus manual</link>.
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</section>
|
||||
</section>
|
||||
|
@ -24,8 +24,29 @@
|
||||
</section>
|
||||
<section xml:id="sec-release-22.05-incompatibilities">
|
||||
<title>Backward Incompatibilities</title>
|
||||
<para>
|
||||
</para>
|
||||
<itemizedlist spacing="compact">
|
||||
<listitem>
|
||||
<para>
|
||||
<literal>pkgs.ghc</literal> now refers to
|
||||
<literal>pkgs.targetPackages.haskellPackages.ghc</literal>.
|
||||
This <emphasis>only</emphasis> makes a difference if you are
|
||||
cross-compiling and will ensure that
|
||||
<literal>pkgs.ghc</literal> always runs on the host platform
|
||||
and compiles for the target platform (similar to
|
||||
<literal>pkgs.gcc</literal> for example).
|
||||
<literal>haskellPackages.ghc</literal> still behaves as
|
||||
before, running on the build platform and compiling for the
|
||||
host platform (similar to <literal>stdenv.cc</literal>). This
|
||||
means you don’t have to adjust your derivations if you use
|
||||
<literal>haskellPackages.callPackage</literal>, but when using
|
||||
<literal>pkgs.callPackage</literal> and taking
|
||||
<literal>ghc</literal> as an input, you should now use
|
||||
<literal>buildPackages.ghc</literal> instead to ensure cross
|
||||
compilation keeps working (or switch to
|
||||
<literal>haskellPackages.callPackage</literal>).
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</section>
|
||||
<section xml:id="sec-release-22.05-notable-changes">
|
||||
<title>Other Notable Changes</title>
|
||||
|
@ -547,3 +547,5 @@ In addition to numerous new and upgraded packages, this release has the followin
|
||||
- `julia` now refers to `julia-stable` instead of `julia-lts`. In practice this means it has been upgraded from `1.0.4` to `1.5.4`.
|
||||
|
||||
- RetroArch has been upgraded from version `1.8.5` to `1.9.13.2`. Since the previous release was quite old, if you're having issues after the upgrade, please delete your `$XDG_CONFIG_HOME/retroarch/retroarch.cfg` file.
|
||||
|
||||
- hydrus has been upgraded from version `438` to `463`. Since upgrading between releases this old is advised against, be sure to have a backup of your data before upgrading. For details, see [the hydrus manual](https://hydrusnetwork.github.io/hydrus/help/getting_started_installing.html#big_updates).
|
||||
|
@ -10,4 +10,16 @@ In addition to numerous new and upgraded packages, this release has the followin
|
||||
|
||||
## Backward Incompatibilities {#sec-release-22.05-incompatibilities}
|
||||
|
||||
* `pkgs.ghc` now refers to `pkgs.targetPackages.haskellPackages.ghc`.
|
||||
This *only* makes a difference if you are cross-compiling and will
|
||||
ensure that `pkgs.ghc` always runs on the host platform and compiles
|
||||
for the target platform (similar to `pkgs.gcc` for example).
|
||||
`haskellPackages.ghc` still behaves as before, running on the build
|
||||
platform and compiling for the host platform (similar to `stdenv.cc`).
|
||||
This means you don't have to adjust your derivations if you use
|
||||
`haskellPackages.callPackage`, but when using `pkgs.callPackage` and
|
||||
taking `ghc` as an input, you should now use `buildPackages.ghc`
|
||||
instead to ensure cross compilation keeps working (or switch to
|
||||
`haskellPackages.callPackage`).
|
||||
|
||||
## Other Notable Changes {#sec-release-22.05-notable-changes}
|
||||
|
@ -77,6 +77,7 @@ let
|
||||
|
||||
unitConfig = {
|
||||
ConditionPathExists = "!/var/lib/acme/.minica/key.pem";
|
||||
StartLimitIntervalSec = 0;
|
||||
};
|
||||
|
||||
serviceConfig = commonServiceConfig // {
|
||||
@ -235,6 +236,7 @@ let
|
||||
|
||||
unitConfig = {
|
||||
ConditionPathExists = "!/var/lib/acme/${cert}/key.pem";
|
||||
StartLimitIntervalSec = 0;
|
||||
};
|
||||
|
||||
serviceConfig = commonServiceConfig // {
|
||||
|
@ -40,7 +40,7 @@ let
|
||||
};
|
||||
|
||||
frequency = mkOption {
|
||||
type = types.enum [ "daily" "weekly" "monthly" "yearly" ];
|
||||
type = types.enum [ "hourly" "daily" "weekly" "monthly" "yearly" ];
|
||||
default = "daily";
|
||||
description = ''
|
||||
How often to rotate the logs.
|
||||
@ -155,7 +155,7 @@ in
|
||||
systemd.services.logrotate = {
|
||||
description = "Logrotate Service";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
startAt = "*-*-* *:05:00";
|
||||
startAt = "hourly";
|
||||
script = ''
|
||||
exec ${pkgs.logrotate}/sbin/logrotate ${configFile}
|
||||
'';
|
||||
|
@ -222,7 +222,7 @@ in
|
||||
serviceConfig = {
|
||||
User = "monero";
|
||||
Group = "monero";
|
||||
ExecStart = "${pkgs.monero}/bin/monerod --config-file=${configFile} --non-interactive";
|
||||
ExecStart = "${pkgs.monero-cli}/bin/monerod --config-file=${configFile} --non-interactive";
|
||||
Restart = "always";
|
||||
SuccessExitStatus = [ 0 1 ];
|
||||
};
|
||||
|
@ -171,34 +171,27 @@ in
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
systemd.packages = [ cfg.package ];
|
||||
systemd.services.caddy = {
|
||||
description = "Caddy web server";
|
||||
# upstream unit: https://github.com/caddyserver/dist/blob/master/init/caddy.service
|
||||
after = [ "network-online.target" ];
|
||||
wants = [ "network-online.target" ]; # systemd-networkd-wait-online.service
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
startLimitIntervalSec = 14400;
|
||||
startLimitBurst = 10;
|
||||
|
||||
serviceConfig = {
|
||||
ExecStart = "${cfg.package}/bin/caddy run ${optionalString cfg.resume "--resume"} --config ${configJSON}";
|
||||
ExecReload = "${cfg.package}/bin/caddy reload --config ${configJSON}";
|
||||
Type = "simple";
|
||||
# https://www.freedesktop.org/software/systemd/man/systemd.service.html#ExecStart=
|
||||
# If the empty string is assigned to this option, the list of commands to start is reset, prior assignments of this option will have no effect.
|
||||
ExecStart = [ "" "${cfg.package}/bin/caddy run ${optionalString cfg.resume "--resume"} --config ${configJSON}" ];
|
||||
ExecReload = [ "" "${cfg.package}/bin/caddy reload --config ${configJSON}" ];
|
||||
|
||||
User = cfg.user;
|
||||
Group = cfg.group;
|
||||
ReadWriteDirectories = cfg.dataDir;
|
||||
Restart = "on-abnormal";
|
||||
AmbientCapabilities = "cap_net_bind_service";
|
||||
CapabilityBoundingSet = "cap_net_bind_service";
|
||||
|
||||
# TODO: attempt to upstream these options
|
||||
NoNewPrivileges = true;
|
||||
LimitNPROC = 512;
|
||||
LimitNOFILE = 1048576;
|
||||
PrivateTmp = true;
|
||||
PrivateDevices = true;
|
||||
ProtectHome = true;
|
||||
ProtectSystem = "full";
|
||||
ReadWriteDirectories = cfg.dataDir;
|
||||
KillMode = "mixed";
|
||||
KillSignal = "SIGQUIT";
|
||||
TimeoutStopSec = "5s";
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -202,6 +202,13 @@ in
|
||||
blueberry
|
||||
warpinator
|
||||
|
||||
# cinnamon xapps
|
||||
xviewer
|
||||
xreader
|
||||
xed
|
||||
xplayer
|
||||
pix
|
||||
|
||||
# external apps shipped with linux-mint
|
||||
hexchat
|
||||
gnome-calculator
|
||||
|
@ -6,11 +6,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "bitwig-studio";
|
||||
version = "4.0.7";
|
||||
version = "4.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://downloads.bitwig.com/stable/${version}/${pname}-${version}.deb";
|
||||
sha256 = "sha256-NAiwHLYhTAQH6xZw5u8bM7MOILcMclQMKtJc7MGJb+Q=";
|
||||
sha256 = "sha256-h6TNlfKgN7CPhtY8DxESrydtEsdVPT+Uf+VKcqKVuXw=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ dpkg makeWrapper wrapGAppsHook ];
|
||||
|
@ -29,9 +29,9 @@ mkDerivation rec {
|
||||
qtWrapperArgs = [
|
||||
# MuseScore JACK backend loads libjack at runtime.
|
||||
"--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libjack2 ]}"
|
||||
# Work around crash on update from 3.4.2 to 3.5.0
|
||||
# https://bugreports.qt.io/browse/QTBUG-85967
|
||||
"--set QML_DISABLE_DISK_CACHE 1"
|
||||
# There are some issues with using the wayland backend, see:
|
||||
# https://musescore.org/en/node/321936
|
||||
"--set QT_QPA_PLATFORM xcb"
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ cmake pkg-config ];
|
||||
@ -49,7 +49,7 @@ mkDerivation rec {
|
||||
description = "Music notation and composition software";
|
||||
homepage = "https://musescore.org/";
|
||||
license = licenses.gpl2;
|
||||
maintainers = with maintainers; [ vandenoever turion ];
|
||||
maintainers = with maintainers; [ vandenoever turion doronbehar ];
|
||||
platforms = platforms.linux;
|
||||
repositories.git = "https://github.com/musescore/MuseScore";
|
||||
};
|
||||
|
@ -0,0 +1,25 @@
|
||||
From a4bf7df795146c843696daee8c02826ba0034298 Mon Sep 17 00:00:00 2001
|
||||
From: Florian Klink <flokli@flokli.de>
|
||||
Date: Sun, 21 Nov 2021 12:04:48 +0100
|
||||
Subject: [PATCH] setup.py: remove dbus-python from list
|
||||
|
||||
I wasn't able to convince setuptools to find this.
|
||||
---
|
||||
setup.py | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
diff --git a/setup.py b/setup.py
|
||||
index 61d6831..013fff3 100644
|
||||
--- a/setup.py
|
||||
+++ b/setup.py
|
||||
@@ -42,7 +42,6 @@ setuptools.setup(
|
||||
install_requires=[
|
||||
'docopt',
|
||||
'chardet',
|
||||
- 'dbus-python',
|
||||
'docopt',
|
||||
'requests',
|
||||
'setproctitle',
|
||||
--
|
||||
2.33.1
|
||||
|
@ -1,43 +1,64 @@
|
||||
{ fetchFromGitHub, lib, pythonPackages
|
||||
, mp3Support ? true, lame ? null
|
||||
, opusSupport ? true, opusTools ? null
|
||||
, faacSupport ? false, faac ? null
|
||||
, flacSupport ? true, flac ? null
|
||||
, soxSupport ? true, sox ? null
|
||||
, vorbisSupport ? true, vorbis-tools ? null
|
||||
{ fetchFromGitHub
|
||||
, lib
|
||||
, python3Packages
|
||||
, mp3Support ? true
|
||||
, lame
|
||||
, opusSupport ? true
|
||||
, opusTools
|
||||
, faacSupport ? false
|
||||
, faac
|
||||
, flacSupport ? true
|
||||
, flac
|
||||
, soxSupport ? true
|
||||
, sox
|
||||
, vorbisSupport ? true
|
||||
, vorbis-tools
|
||||
, pulseaudio
|
||||
}:
|
||||
|
||||
assert mp3Support -> lame != null;
|
||||
assert opusSupport -> opusTools != null;
|
||||
assert faacSupport -> faac != null;
|
||||
assert flacSupport -> flac != null;
|
||||
assert soxSupport -> sox != null;
|
||||
assert vorbisSupport -> vorbis-tools != null;
|
||||
|
||||
let
|
||||
zeroconf = pythonPackages.callPackage ./zeroconf.nix { };
|
||||
in
|
||||
pythonPackages.buildPythonApplication {
|
||||
python3Packages.buildPythonApplication {
|
||||
pname = "pulseaudio-dlna";
|
||||
version = "unstable-2017-11-01";
|
||||
version = "unstable-2021-11-09";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "masmu";
|
||||
owner = "Cygn";
|
||||
repo = "pulseaudio-dlna";
|
||||
rev = "4472928dd23f274193f14289f59daec411023ab0";
|
||||
sha256 = "1dfn7036vrq49kxv4an7rayypnm5dlawsf02pfsldw877hzdamqk";
|
||||
rev = "637a2e7bba2277137c5f12fb58e63100dab7cbe6";
|
||||
sha256 = "sha256-Oda+zQQJE2D3fiNWTzxYvI8cZVHG5JAoV2Wf5Z6IU3M=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with pythonPackages; [
|
||||
dbus-python docopt requests setproctitle protobuf psutil futures
|
||||
chardet notify2 netifaces pyroute2 pygobject2 lxml setuptools ]
|
||||
++ [ zeroconf ]
|
||||
++ lib.optional mp3Support lame
|
||||
++ lib.optional opusSupport opusTools
|
||||
++ lib.optional faacSupport faac
|
||||
++ lib.optional flacSupport flac
|
||||
++ lib.optional soxSupport sox
|
||||
++ lib.optional vorbisSupport vorbis-tools;
|
||||
patches = [
|
||||
./0001-setup.py-remove-dbus-python-from-list.patch
|
||||
];
|
||||
|
||||
propagatedBuildInputs = with python3Packages; [
|
||||
dbus-python
|
||||
docopt
|
||||
requests
|
||||
setproctitle
|
||||
protobuf
|
||||
psutil
|
||||
chardet
|
||||
netifaces
|
||||
notify2
|
||||
pyroute2
|
||||
pygobject3
|
||||
PyChromecast
|
||||
lxml
|
||||
setuptools
|
||||
zeroconf
|
||||
]
|
||||
++ lib.optional mp3Support lame
|
||||
++ lib.optional opusSupport opusTools
|
||||
++ lib.optional faacSupport faac
|
||||
++ lib.optional flacSupport flac
|
||||
++ lib.optional soxSupport sox
|
||||
++ lib.optional vorbisSupport vorbis-tools;
|
||||
|
||||
# pulseaudio-dlna shells out to pactl to configure sinks and sources.
|
||||
# As pactl might not be in $PATH, add --suffix it (so pactl configured by the
|
||||
# user get priority)
|
||||
makeWrapperArgs = [ "--suffix PATH : ${lib.makeBinPath [ pulseaudio ]}" ];
|
||||
|
||||
# upstream has no tests
|
||||
checkPhase = ''
|
||||
@ -46,7 +67,7 @@ pythonPackages.buildPythonApplication {
|
||||
|
||||
meta = with lib; {
|
||||
description = "A lightweight streaming server which brings DLNA / UPNP and Chromecast support to PulseAudio and Linux";
|
||||
homepage = "https://github.com/masmu/pulseaudio-dlna";
|
||||
homepage = "https://github.com/Cygn/pulseaudio-dlna";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ mog ];
|
||||
platforms = platforms.linux;
|
||||
|
@ -8,13 +8,13 @@
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "vorta";
|
||||
version = "0.7.8";
|
||||
version = "0.8.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "borgbase";
|
||||
repo = "vorta";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-qNBswy1dsCE6TEQLr/r7nnZWegDD8BD9pMkcpcuT7Q0=";
|
||||
sha256 = "sha256-ut4HCfLU/P22y5QbNakTV4d4CnFRxJvn+cnJ0ZGpTlw=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ wrapQtAppsHook ];
|
||||
@ -24,7 +24,6 @@ python3Packages.buildPythonApplication rec {
|
||||
peewee
|
||||
pyqt5
|
||||
python-dateutil
|
||||
APScheduler
|
||||
psutil
|
||||
qdarkstyle
|
||||
secretstorage
|
||||
|
@ -1,25 +0,0 @@
|
||||
{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, unbound, openssl, boost
|
||||
, lmdb, miniupnpc, readline }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "dero";
|
||||
version = "0.11.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "deroproject";
|
||||
repo = "dero";
|
||||
rev = "v${version}";
|
||||
sha256 = "1v8b9wbmqbpyf4jpc0v276qzk3hc5fpddcmwvv5k5yfi30nmbh5c";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake pkg-config ];
|
||||
buildInputs = [ boost miniupnpc openssl lmdb unbound readline ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Secure, private blockchain with smart contracts based on Monero";
|
||||
homepage = "https://dero.io/";
|
||||
license = licenses.bsd3;
|
||||
maintainers = with maintainers; [ fpletz ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
@ -8,7 +8,7 @@
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "monero";
|
||||
pname = "monero-cli";
|
||||
version = "0.17.2.3";
|
||||
|
||||
src = fetchFromGitHub {
|
@ -5,7 +5,7 @@
|
||||
, qtmultimedia, qtxmlpatterns
|
||||
, qtquickcontrols, qtquickcontrols2
|
||||
, qtmacextras
|
||||
, monero, miniupnpc, unbound, readline
|
||||
, monero-cli, miniupnpc, unbound, readline
|
||||
, boost, libunwind, libsodium, pcsclite
|
||||
, randomx, zeromq, libgcrypt, libgpg-error
|
||||
, hidapi, rapidjson, quirc
|
||||
@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
|
||||
qtbase qtdeclarative qtgraphicaleffects
|
||||
qtmultimedia qtquickcontrols qtquickcontrols2
|
||||
qtxmlpatterns
|
||||
monero miniupnpc unbound readline
|
||||
monero-cli miniupnpc unbound readline
|
||||
randomx libgcrypt libgpg-error
|
||||
boost libunwind libsodium pcsclite
|
||||
zeromq hidapi rapidjson quirc
|
||||
@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
|
||||
postUnpack = ''
|
||||
# copy monero sources here
|
||||
# (needs to be writable)
|
||||
cp -r ${monero.source}/* source/monero
|
||||
cp -r ${monero-cli.source}/* source/monero
|
||||
chmod -R +w source/monero
|
||||
'';
|
||||
|
||||
@ -58,7 +58,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
# use monerod from the monero package
|
||||
substituteInPlace src/daemon/DaemonManager.cpp \
|
||||
--replace 'QApplication::applicationDirPath() + "' '"${monero}/bin'
|
||||
--replace 'QApplication::applicationDirPath() + "' '"${monero-cli}/bin'
|
||||
|
||||
# 1: only build external deps, *not* the full monero
|
||||
# 2: use nixpkgs libraries
|
||||
|
@ -38,13 +38,13 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cudatext";
|
||||
version = "1.148.0";
|
||||
version = "1.150.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Alexey-T";
|
||||
repo = "CudaText";
|
||||
rev = version;
|
||||
sha256 = "sha256-/wvtIPF/1HneW0zuT7+VCixemkw91MdU0S66bz2y48U=";
|
||||
sha256 = "sha256-6XG4v2S7InKA6OVrV+q1lT/CzNxmzVQfmAAo2cqbqBY=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
@ -11,13 +11,13 @@
|
||||
},
|
||||
"ATFlatControls": {
|
||||
"owner": "Alexey-T",
|
||||
"rev": "2021.10.19",
|
||||
"sha256": "sha256-NO1q4qDXZ0x0G6AtcRP9xnFDWuBzOvxq8G7I76LgaBw="
|
||||
"rev": "2021.11.11",
|
||||
"sha256": "sha256-lbRRiA8CHWmosJefTHrP2cTgU8nlK1SmNcppG6Bl54I="
|
||||
},
|
||||
"ATSynEdit": {
|
||||
"owner": "Alexey-T",
|
||||
"rev": "2021.10.27",
|
||||
"sha256": "sha256-7DlnO7IeCFLU1A+HJt4CFXoHWfhAr52tBvfPNHieXMM="
|
||||
"rev": "2021.11.25",
|
||||
"sha256": "sha256-CbH0C+UOJ9X2wKG5IEbgitda06lazujYM8l961k7C7g="
|
||||
},
|
||||
"ATSynEdit_Cmp": {
|
||||
"owner": "Alexey-T",
|
||||
@ -31,8 +31,8 @@
|
||||
},
|
||||
"ATSynEdit_Ex": {
|
||||
"owner": "Alexey-T",
|
||||
"rev": "2021.09.03",
|
||||
"sha256": "sha256-XYFnTfRa0n9XF9l/hL6z5RFZgdpVP9o1If4qln905Yc="
|
||||
"rev": "2021.11.25",
|
||||
"sha256": "sha256-6hk9wNdoz1d3VpuW7yHyIQnnYseEAfgjCNGl6+o0Hjs="
|
||||
},
|
||||
"Python-for-Lazarus": {
|
||||
"owner": "Alexey-T",
|
||||
|
@ -10,14 +10,14 @@
|
||||
|
||||
python3Packages.buildPythonPackage rec {
|
||||
pname = "hydrus";
|
||||
version = "462";
|
||||
version = "463";
|
||||
format = "other";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "hydrusnetwork";
|
||||
repo = "hydrus";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-eHUztpnDs1kxaBlTO7BRbO3eH+On9m7aJtbNw2b9Ado=";
|
||||
sha256 = "sha256-GT5aIMskOVn4eAd4612YYA8uAQC8tuJzpEHNhc7pMuc=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -18,13 +18,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cherrytree";
|
||||
version = "0.99.42";
|
||||
version = "0.99.43";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "giuspen";
|
||||
repo = "cherrytree";
|
||||
rev = version;
|
||||
sha256 = "sha256-PKjl9n6J0iNdcA56CZ/nAzvgRNwqRLTHjwi3HQYWIMU=";
|
||||
sha256 = "sha256-KSIdA585WbmvHXituCJoHpVRobfCZ62m5t7BWI6jIYk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -18,13 +18,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "dbeaver";
|
||||
version = "21.2.5"; # When updating also update fetchedMavenDeps.sha256
|
||||
version = "21.3.0"; # When updating also update fetchedMavenDeps.sha256
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dbeaver";
|
||||
repo = "dbeaver";
|
||||
rev = version;
|
||||
sha256 = "bLZYwf6dtbzS0sWKfQQzv4NqRQZqLkJaT24eW3YOsdQ=";
|
||||
sha256 = "iKxnuMm5hpreP706N+XxaBrDVVwVFRWKNmiCyXkOUCQ=";
|
||||
};
|
||||
|
||||
fetchedMavenDeps = stdenv.mkDerivation {
|
||||
|
@ -22,18 +22,21 @@ let
|
||||
});
|
||||
werkzeug = self.callPackage ../../../development/python-modules/werkzeug/1.nix { };
|
||||
flask = self.callPackage ../../../development/python-modules/flask/1.nix { };
|
||||
sqlsoup = super.sqlsoup.overrideAttrs ({ meta ? {}, ... }: {
|
||||
meta = meta // { broken = false; };
|
||||
});
|
||||
};
|
||||
};
|
||||
in
|
||||
python3'.pkgs.buildPythonPackage rec {
|
||||
pname = "privacyIDEA";
|
||||
version = "3.6.2";
|
||||
version = "3.6.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = pname;
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-kv6XqsbGkaGEhfNxSOjCe6JbFOJnuqwM8CR/J9lJjks=";
|
||||
sha256 = "sha256-SsOEmbyEAKU3pdzsyqi5SwDgJMGEAzyCywoio9iFQAA=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
@ -2,19 +2,23 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "todoist";
|
||||
version = "0.15.0";
|
||||
version = "0.16.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "sachaos";
|
||||
repo = "todoist";
|
||||
rev = "v${version}";
|
||||
sha256 = "0d3c621jaqxd6i58xm6nvi0avrh5mk23r169i95bn73igzw62w33";
|
||||
sha256 = "sha256-cfhwbL7RaeD5LWxlfqnHfPPPkC5AA3Z034p+hlFBWtg=";
|
||||
};
|
||||
|
||||
vendorSha256 = "0cznb8glh36dwyyn1gx1ggkwa9zffrrxg52k78brnaczsl0rsmky";
|
||||
vendorSha256 = "sha256-ly+OcRo8tGeNX4FnqNVaqjPx/A1FALOnScxs04lIOiU=";
|
||||
|
||||
doCheck = false;
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace main.go --replace '0.15.0' '${version}'
|
||||
'';
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/sachaos/todoist";
|
||||
description = "Todoist CLI Client";
|
||||
|
@ -2,16 +2,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "ttyper";
|
||||
version = "0.3.0";
|
||||
version = "0.3.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "max-niederman";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-9vcoK2mFEivTSZE3KoQRHUr3AfQ/aN5eWP//Jagw3gU=";
|
||||
sha256 = "sha256-lluBxYZQWygX9aujNK251bDilNNErVNr4WDoyqSPTiQ=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-VzO32b5oAoXR/Ei9up00XRM63I5kuG68TeX4KBCXIdo=";
|
||||
cargoSha256 = "sha256-GQNNl8/Y/jHDBGJQ7LWNpgbOgWaV/3UAMgYLJFJmQ3Y=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Terminal-based typing test";
|
||||
|
@ -8,16 +8,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "wtf";
|
||||
version = "0.39.2";
|
||||
version = "0.40.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "wtfutil";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-nP56HzjtIg9EIOBda9TQl8soUqlGfRmixidWrmQ7+vs=";
|
||||
};
|
||||
sha256 = "0hd5gnydxfncsmm7c58lvhkpnyxknvicc8f58xfh74azf363wcvm";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-yD4BUauYvyGk/D0Gr5Z15xWPtI/ZR9xTbmeS6RAxw1o=";
|
||||
vendorSha256 = "1pkdfg042kg3b6m5rf044gz5yg6vp3bbsay1mrrbaysnb3gs51dq";
|
||||
|
||||
doCheck = false;
|
||||
|
||||
@ -35,6 +35,7 @@ buildGoModule rec {
|
||||
meta = with lib; {
|
||||
description = "The personal information dashboard for your terminal";
|
||||
homepage = "https://wtfutil.com/";
|
||||
changelog = "https://github.com/wtfutil/wtf/raw/v${version}/CHANGELOG.md";
|
||||
license = licenses.mpl20;
|
||||
maintainers = with maintainers; [ kalbasit ];
|
||||
platforms = platforms.linux ++ platforms.darwin;
|
||||
|
@ -87,11 +87,11 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "appgate-sdp";
|
||||
version = "5.4.2";
|
||||
version = "5.5.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://bin.appgate-sdp.com/${versions.majorMinor version}/client/appgate-sdp_${version}_amd64.deb";
|
||||
sha256 = "sha256-wAhcTRO/Cd4MG1lfPNDq92yGcu3NOfymucddy92VaXo=";
|
||||
sha256 = "sha256-lWInks3DBkSpKQh+dcNyn43iY5vvE67FLadohBbF6n4=";
|
||||
};
|
||||
|
||||
# just patch interpreter
|
||||
@ -156,4 +156,3 @@ stdenv.mkDerivation rec {
|
||||
maintainers = with maintainers; [ ymatsiuk ];
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -13,18 +13,19 @@
|
||||
, pcre
|
||||
, SDL2
|
||||
, AppKit
|
||||
, zip
|
||||
, zlib
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "lagrange";
|
||||
version = "1.7.3";
|
||||
version = "1.9.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "skyjake";
|
||||
repo = "lagrange";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-peBdmz/aucrKO5Vsj8WkHkpGpLm4inQHee133Zph3MM=";
|
||||
sha256 = "sha256-T4LZcdQHqykcv1HnTHMt5LE/1gwKPjN3f0ZmqSCID/A=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
@ -32,18 +33,13 @@ stdenv.mkDerivation rec {
|
||||
rm -r lib/fribidi lib/harfbuzz
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ cmake pkg-config ];
|
||||
nativeBuildInputs = [ cmake pkg-config zip ];
|
||||
|
||||
buildInputs = [ fribidi harfbuzz libunistring libwebp mpg123 openssl pcre SDL2 zlib ]
|
||||
++ lib.optional stdenv.isDarwin AppKit;
|
||||
|
||||
hardeningDisable = lib.optional (!stdenv.cc.isClang) "format";
|
||||
|
||||
cmakeFlags = [
|
||||
"-DENABLE_HARFBUZZ_MINIMAL:BOOL=OFF"
|
||||
"-DENABLE_FRIBIDI_BUILD:BOOL=OFF"
|
||||
];
|
||||
|
||||
installPhase = lib.optionalString stdenv.isDarwin ''
|
||||
mkdir -p $out/Applications
|
||||
mv Lagrange.app $out/Applications
|
||||
|
@ -9,16 +9,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "ncgopher";
|
||||
version = "0.2.0";
|
||||
version = "0.3.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jansc";
|
||||
repo = "ncgopher";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-Yny5zZe5x7/pWda839HcFkHFuL/jl1Q7ykTZzKy871I=";
|
||||
sha256 = "sha256-1tiijW3q/8zS9437G9gJDzBtxqVE3QUxgw74P7rcv98=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-C4V1WsAUFtr+N64zyBk1V0E8gTM/U54q03J6Nj8ReLk=";
|
||||
cargoSha256 = "sha256-LA8LjY8oZslGFQhKR8fJ2heYxSBqUnmeejXKRvZXjIs=";
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [
|
||||
|
@ -40,11 +40,12 @@ python3Packages.buildPythonApplication rec {
|
||||
|
||||
pytestFlagsArray = [
|
||||
"tests"
|
||||
# test_string__month_day_hour_minute_second fails on darwin
|
||||
"--deselect=tests/client_test/ttypes_test.py::TestTimestamp::test_string__month_day_hour_minute_second"
|
||||
# TestScrollBarWithScrollable.test_wrapping_bug fails
|
||||
"--deselect=tests/tui_test/scroll_test.py::TestScrollBarWithScrollable::test_wrapping_bug"
|
||||
# https://github.com/rndusr/stig/issues/214
|
||||
"--deselect=tests/completion_test/classes_test.py::TestCandidates::test_candidates_are_sorted_case_insensitively"
|
||||
] ++ lib.optionals stdenv.isDarwin [
|
||||
"--deselect=tests/client_test/ttypes_test.py::TestTimestamp::test_string__month_day_hour_minute_second"
|
||||
"--deselect=tests/client_test/aiotransmission_test/api_torrent_test.py"
|
||||
"--deselect=tests/client_test/aiotransmission_test/rpc_test.py"
|
||||
];
|
||||
|
@ -61,6 +61,28 @@ stdenv.mkDerivation rec {
|
||||
];
|
||||
|
||||
preConfigure = ''
|
||||
# binutils 2.37 fixes
|
||||
fixupList=(
|
||||
cint/demo/gl/make0
|
||||
cint/demo/exception/Makefile
|
||||
cint/demo/makecint/KRcc/Makefile
|
||||
cint/demo/makecint/Stub2/Make2
|
||||
cint/demo/makecint/Array/Makefile
|
||||
cint/demo/makecint/DArray/Makefile
|
||||
cint/demo/makecint/ReadFile/Makefile
|
||||
cint/demo/makecint/stl/Makefile
|
||||
cint/demo/makecint/Stub2/Make1
|
||||
cint/cint/include/makemat
|
||||
cint/cint/lib/WildCard/Makefile
|
||||
cint/cint/include/make.arc
|
||||
cint/cint/lib/qt/Makefile
|
||||
cint/cint/lib/pthread/Makefile
|
||||
graf2d/asimage/src/libAfterImage/Makefile.in
|
||||
)
|
||||
for toFix in "''${fixupList[@]}"; do
|
||||
substituteInPlace "$toFix" --replace "clq" "cq"
|
||||
done
|
||||
|
||||
patchShebangs build/unix/
|
||||
ln -s ${lib.getDev stdenv.cc.libc}/include/AvailabilityMacros.h cint/cint/include/
|
||||
''
|
||||
|
@ -14,7 +14,7 @@ let
|
||||
if stdenv.hostPlatform.system == "i686-linux" then "SSE2" else
|
||||
if stdenv.hostPlatform.system == "x86_64-linux" then "SSE4.1" else
|
||||
if stdenv.hostPlatform.system == "x86_64-darwin" then "SSE4.1" else
|
||||
if stdenv.hostPlatform.system == "aarch64-linux" then "ARM_NEON" else
|
||||
if stdenv.hostPlatform.system == "aarch64-linux" then "ARM_NEON_ASIMD" else
|
||||
"None";
|
||||
|
||||
in stdenv.mkDerivation rec {
|
||||
|
@ -10,13 +10,13 @@
|
||||
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "iterm2";
|
||||
version = "3.4.13";
|
||||
version = "3.4.14";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "gnachman";
|
||||
repo = "iTerm2";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-GOUdXBQCvM0oJ2/3zgKqDpfyCkHNwd1Qdopg5Mpyekg=";
|
||||
sha256 = "sha256-sDCnBO7xDpecu2cSjpHwync2DVsj9EKUmgpqEVLtxRM=";
|
||||
};
|
||||
|
||||
patches = [ ./disable_updates.patch ];
|
||||
|
@ -2,16 +2,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "glitter";
|
||||
version = "1.5.6";
|
||||
version = "1.5.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "milo123459";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-RP/8E2wqEFArWrZ1nfDhTKt2Ak1bl6PhalaHcQobfTk=";
|
||||
sha256 = "sha256-0hKwGZingOa4nB9VTErbOTSBLc4pcxDUnK5lltVZiYk=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-6OGkcTGKCMgxMFDJ625NeVmKjRRwiRkQdE+oXRN3FHw=";
|
||||
cargoSha256 = "sha256-08heeRIGzPmORh8KTyBx9GPfOZw2RR85PjkGvbaGA50=";
|
||||
|
||||
# tests require it to be in a git repository
|
||||
preCheck = ''
|
||||
|
@ -1,24 +1,31 @@
|
||||
{ lib
|
||||
, fetchurl
|
||||
, fetchFromGitea
|
||||
, buildPythonApplication
|
||||
, pbr
|
||||
, requests
|
||||
, setuptools
|
||||
, genericUpdater
|
||||
, common-updater-scripts
|
||||
}:
|
||||
|
||||
buildPythonApplication rec {
|
||||
pname = "git-review";
|
||||
version = "2.1.0";
|
||||
version = "2.2.0";
|
||||
|
||||
# Manually set version because prb wants to get it from the git
|
||||
# upstream repository (and we are installing from tarball instead)
|
||||
PBR_VERSION = version;
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://opendev.org/opendev/${pname}/archive/${version}.tar.gz";
|
||||
hash = "sha256-3A1T+/iXhNeMS2Aww5jISoiNExdv9N9/kwyATSuwVTE=";
|
||||
src = fetchFromGitea {
|
||||
domain = "opendev.org";
|
||||
owner = "opendev";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-2+X5fPxB2FIp1fwqEUc+W0gH2NjhF/V+La+maE+XEpo=";
|
||||
};
|
||||
|
||||
outputs = [ "out" "man" ];
|
||||
|
||||
nativeBuildInputs = [
|
||||
pbr
|
||||
];
|
||||
@ -35,6 +42,11 @@ buildPythonApplication rec {
|
||||
|
||||
pythonImportsCheck = [ "git_review" ];
|
||||
|
||||
passthru.updateScript = genericUpdater {
|
||||
inherit pname version;
|
||||
versionLister = "${common-updater-scripts}/bin/list-git-tags ${src.meta.homepage}";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "Tool to submit code to Gerrit";
|
||||
homepage = "https://opendev.org/opendev/git-review";
|
||||
|
@ -13,14 +13,14 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "pijul";
|
||||
version = "1.0.0-alpha.55";
|
||||
version = "1.0.0-alpha.56";
|
||||
|
||||
src = fetchCrate {
|
||||
inherit version pname;
|
||||
sha256 = "sha256-1nnn0cdDe+WOetGtRe7dMEyuCcbfRHdJWFxQ4bTXebQ=";
|
||||
sha256 = "zV4F4dbjJ58yGiupUwj5Z0HrKR78Mzch8Zs98YfxSTQ=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-j9xf97qPdhtakIwhAql0/Go5fPxlyWKAVLk5CMBfAbs=";
|
||||
cargoSha256 = "JQGBTCNu9U2Kq6tc7VT07LEbzLW+jdVWrK5e2qjzGRA=";
|
||||
|
||||
doCheck = false;
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
@ -47,13 +47,13 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "mkvtoolnix";
|
||||
version = "62.0.0";
|
||||
version = "63.0.0";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "mbunkus";
|
||||
repo = "mkvtoolnix";
|
||||
rev = "release-${version}";
|
||||
sha256 = "0pjf1lkpjirqanazm7a28b8bsyin4i1kd1s4y169zsilzb28kpiz";
|
||||
sha256 = "0jniy2kkg4fkrgyw2k8jcpq872qzkrxkbpbc7ksadm2rdygsa3xh";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ];
|
||||
|
||||
preInstall = ''
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
install -d ${placeholder "out"}/bin
|
||||
runHook postInstall
|
||||
|
@ -1,7 +1,7 @@
|
||||
{ lib, fetchzip }:
|
||||
|
||||
let
|
||||
version = "1.082";
|
||||
version = "1.084";
|
||||
in
|
||||
fetchzip {
|
||||
name = "recursive-${version}";
|
||||
@ -14,7 +14,7 @@ fetchzip {
|
||||
unzip -j $downloadedFile \*.ttf -d $out/share/fonts/truetype
|
||||
'';
|
||||
|
||||
sha256 = "1hjyjvzhfgqw58py4gk58fwyp5pxr3j8j76ppj6apg4dndfhs0lp";
|
||||
sha256 = "sha256-YL09RVU9pgP0/aGRKECHzd5t1VmNDPtOFcRygWqIisg=";
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://recursive.design/";
|
||||
|
@ -1,11 +1,11 @@
|
||||
{ lib, fetchzip }:
|
||||
|
||||
let
|
||||
version = "0.60";
|
||||
version = "0.61";
|
||||
in fetchzip {
|
||||
name = "sudo-font-${version}";
|
||||
url = "https://github.com/jenskutilek/sudo-font/releases/download/v${version}/sudo.zip";
|
||||
sha256 = "1zhl9yhx0dzkzc31i60lmcrizq8f3rkc7dbng5fal6iy8dwhnkmg";
|
||||
sha256 = "sha256-4GDlx2zhwkcsxJPq0IrS1owmw+RKy09X3Q0zzA9l79w=";
|
||||
|
||||
postFetch = ''
|
||||
mkdir -p $out/share/fonts/
|
||||
|
@ -1,28 +1,18 @@
|
||||
{ lib, stdenv, fetchFromGitHub, fetchpatch, inkscape, xcursorgen }:
|
||||
{ lib, stdenv, fetchFromGitHub, inkscape, xcursorgen }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "1.1";
|
||||
package-name = "numix-cursor-theme";
|
||||
name = "${package-name}-${version}";
|
||||
pname = "numix-cursor-theme";
|
||||
version = "1.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "numixproject";
|
||||
repo = package-name;
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "0p8h48wsy3z5dz9vdnp01fpn6q8ky0h74l5qgixlip557bsa1spi";
|
||||
sha256 = "1q3w5i0h3ly6i7s9pqjdrb14kp89i78s0havri7lhiqyxizjvcvh";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ inkscape xcursorgen ];
|
||||
|
||||
patches = [
|
||||
# Remove when https://github.com/numixproject/numix-cursor-theme/pull/7 is merged
|
||||
(fetchpatch {
|
||||
url = "https://github.com/stephaneyfx/numix-cursor-theme/commit/3b647bf768cebb8f127b88e3786f6a9640460197.patch";
|
||||
sha256 = "174kmhlvv76wwvndkys78aqc32051sqg3wzc0xg6b7by4agrbg76";
|
||||
name = "support-inkscape-1-in-numix-cursor-theme.patch";
|
||||
})
|
||||
];
|
||||
|
||||
buildPhase = ''
|
||||
patchShebangs .
|
||||
HOME=$TMP ./build.sh
|
||||
|
@ -12,13 +12,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "bulky";
|
||||
version = "1.7";
|
||||
version = "1.9";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxmint";
|
||||
repo = "bulky";
|
||||
rev = version;
|
||||
sha256 = "sha256-+3OoeuGuyiHWlUrxm5A7CmNR+ijxdlmecmvqk+i+h08=";
|
||||
hash = "sha256-OCBFhlnEXZROp47KDiy7Y6l4GDVCCP+i1IFYQa7esyg=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@ -55,6 +55,6 @@ stdenv.mkDerivation rec {
|
||||
homepage = "https://github.com/linuxmint/bulky";
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.mkg20001 ];
|
||||
maintainers = teams.cinnamon.members;
|
||||
};
|
||||
}
|
||||
|
@ -50,23 +50,28 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cinnamon-common";
|
||||
version = "4.8.6";
|
||||
version = "5.2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxmint";
|
||||
repo = "cinnamon";
|
||||
rev = version;
|
||||
hash = "sha256-4DMXQYH1/RjLhgrn55I7Vkk6+gGsR+OVmiwxVHUIyro=";
|
||||
hash = "sha256-B2Du2zis0xWeeyh3kSyz1doWImk9Fuk4qQ8HNZZdqdw=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
./use-sane-install-dir.patch
|
||||
./libdir.patch
|
||||
|
||||
(fetchpatch {
|
||||
url = "https://github.com/linuxmint/cinnamon/commit/77ed66050f7df889fcb7a10b702c7b8bcdeaa130.patch";
|
||||
sha256 = "sha256-OegLxz6Xr/nxVwVOAd2oOY62ohZ3r6uYn1+YED5EBHQ=";
|
||||
})
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
# TODO: review if we really need this all
|
||||
(python3.withPackages (pp: with pp; [ dbus-python setproctitle pygobject3 pycairo xapp pillow pytz tinycss2 python-pam pexpect distro ]))
|
||||
(python3.withPackages (pp: with pp; [ dbus-python setproctitle pygobject3 pycairo xapp pillow pytz tinycss2 python-pam pexpect distro requests ]))
|
||||
atk
|
||||
cacert
|
||||
cinnamon-control-center
|
||||
|
@ -29,17 +29,18 @@
|
||||
, meson
|
||||
, ninja
|
||||
, cinnamon-translations
|
||||
, python3
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cinnamon-control-center";
|
||||
version = "4.8.2";
|
||||
version = "5.2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxmint";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-vALThDY0uN9bV7b1fga3MK7b2/l5uL33+B2x6oSLPRE=";
|
||||
hash = "sha256-j7+2uLcHr7bO7i8OGqkw3ifawZULNyihhJ+h2D5gx/k=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
@ -74,6 +75,8 @@ stdenv.mkDerivation rec {
|
||||
sed 's|TZ_DIR "/usr/share/zoneinfo/"|TZ_DIR "${tzdata}/share/zoneinfo/"|g' -i ./panels/datetime/test-timezone.c
|
||||
sed 's|TZ_DATA_FILE "/usr/share/zoneinfo/zone.tab"|TZ_DATA_FILE "${tzdata}/share/zoneinfo/zone.tab"|g' -i ./panels/datetime/tz.h
|
||||
sed 's|"/usr/share/i18n/locales/"|"${glibc}/share/i18n/locales/"|g' -i panels/datetime/test-endianess.c
|
||||
|
||||
patchShebangs meson_install_schemas.py
|
||||
'';
|
||||
|
||||
# it needs to have access to that file, otherwise we can't run tests after build
|
||||
@ -103,6 +106,7 @@ stdenv.mkDerivation rec {
|
||||
ninja
|
||||
wrapGAppsHook
|
||||
gettext
|
||||
python3
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
|
@ -17,13 +17,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cinnamon-desktop";
|
||||
version = "4.8.1";
|
||||
version = "5.2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxmint";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-FLruY1lxzB3iJ/So3jSjrbv9e8VoN/0+U2YDXju/u3E=";
|
||||
hash = "sha256-gOlSmcHjBjnLdDpgC5mZ4M3eUBTG3BuET6Kr/Xby14A=";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
@ -10,13 +10,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cinnamon-menus";
|
||||
version = "4.8.2";
|
||||
version = "5.2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxmint";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-9VSrqCjC8U3js1gqjl5QFctWYECATxN+AdfMdHLxYUY=";
|
||||
hash = "sha256-ioluv/GdWCNGP2jQqsyEbHncCFm8iu69yR8QVKQTJk8=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
|
@ -27,13 +27,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cinnamon-screensaver";
|
||||
version = "4.8.1";
|
||||
version = "5.2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxmint";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-gvSGxSYKnRqJhj2unRYRHp6qGw/O9SxKPzhw5xjCSSQ=";
|
||||
hash = "sha256-weQ5sw5SY89JFIxamCeLiSLy8xCXGg0Yxj/5Ca5r+6o=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -21,20 +21,19 @@
|
||||
, xapps
|
||||
, xmlto
|
||||
, xorg
|
||||
, cmake
|
||||
, libexecinfo
|
||||
, pango
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cinnamon-session";
|
||||
version = "4.8.0";
|
||||
version = "5.2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxmint";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-lrwR8VSdPzHoc9MeBEQPbVfWNhPZDJ2wYizKSVpobmk=";
|
||||
hash = "sha256-E5ascwLnpa5NSBAPo9dXRhoraUntzDPHVV32uDU4U8k=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
@ -85,7 +84,6 @@ stdenv.mkDerivation rec {
|
||||
# TODO: https://github.com/NixOS/nixpkgs/issues/36468
|
||||
"-Dc_args=-I${glib.dev}/include/gio-unix-2.0"
|
||||
"-Dgconf=false"
|
||||
"-DENABLE_IPV6=true"
|
||||
# use locales from cinnamon-translations
|
||||
"--localedir=${cinnamon-translations}/share/locale"
|
||||
];
|
||||
|
@ -13,7 +13,8 @@
|
||||
, wrapGAppsHook
|
||||
, pkg-config
|
||||
, pulseaudio
|
||||
, lib, stdenv
|
||||
, lib
|
||||
, stdenv
|
||||
, systemd
|
||||
, upower
|
||||
, dconf
|
||||
@ -35,7 +36,7 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cinnamon-settings-daemon";
|
||||
version = "4.8.5";
|
||||
version = "5.2.0";
|
||||
|
||||
/* csd-power-manager.c:50:10: fatal error: csd-power-proxy.h: No such file or directory
|
||||
#include "csd-power-proxy.h"
|
||||
@ -50,7 +51,7 @@ stdenv.mkDerivation rec {
|
||||
owner = "linuxmint";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-PAWVTjGFs8yKXgNQ2ucDnEDS+n7bp2n3lhGl9gHXfdQ=";
|
||||
hash = "sha256-6omif4UxMrXWxL+R9lQ8ogxotW+3E9Kp99toH3PJtaU=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
@ -121,6 +122,6 @@ stdenv.mkDerivation rec {
|
||||
description = "The settings daemon for the Cinnamon desktop";
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.mkg20001 ];
|
||||
maintainers = teams.cinnamon.members;
|
||||
};
|
||||
}
|
||||
|
@ -6,13 +6,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cinnamon-translations";
|
||||
version = "5.0.0";
|
||||
version = "5.2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxmint";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-qBLg0z0ZoS7clclKsIxMG6378Q1iv1NnhS9cz3f4cEc=";
|
||||
hash = "sha256-t3PydmS2+LU++2NcosgMr9KTXW0Qy1Re9+YcS3KMDi8=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -25,23 +25,24 @@
|
||||
, makeWrapper
|
||||
, which
|
||||
, libxml2
|
||||
, gtk4
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cjs";
|
||||
version = "4.8.2";
|
||||
version = "5.2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxmint";
|
||||
repo = "cjs";
|
||||
rev = version;
|
||||
hash = "sha256-6+zlWL0DmyP+RFp1ECA4XGbgYUlsMqqyTd6z46w99Ug=";
|
||||
hash = "sha256-06sTk513qVMdznSHJzzB3XIPTcfjgxTB2o+ALqwPpHM=";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson # ADDING cmake breaks the build, ignore meson warning
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
makeWrapper
|
||||
@ -50,6 +51,7 @@ stdenv.mkDerivation rec {
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
gtk4
|
||||
gobject-introspection
|
||||
cairo
|
||||
readline
|
||||
|
@ -30,7 +30,9 @@ lib.makeScope pkgs.newScope (self: with self; {
|
||||
mint-x-icons = callPackage ./mint-x-icons { };
|
||||
mint-y-icons = callPackage ./mint-y-icons { };
|
||||
muffin = callPackage ./muffin { };
|
||||
pix = callPackage ./pix { };
|
||||
xapps = callPackage ./xapps { };
|
||||
warpinator = callPackage ./warpinator { };
|
||||
xreader = callPackage ./xreader { };
|
||||
xviewer = callPackage ./xviewer { };
|
||||
})
|
||||
|
@ -1,4 +1,5 @@
|
||||
{ stdenv
|
||||
, lib
|
||||
, fetchurl
|
||||
, glib
|
||||
, nixos-artwork
|
||||
@ -6,11 +7,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "mint-artwork";
|
||||
version = "1.4.3";
|
||||
version = "1.5.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://packages.linuxmint.com/pool/main/m/mint-artwork/mint-artwork_${version}.tar.xz";
|
||||
sha256 = "126asxpg722qfg2wkwcr7bhsplchq3jn6bkdwf1scpc5za8dd62j";
|
||||
hash = "sha256-ZRJK1fzIF36BdUlVhLwdFdfgQvN2ashzjgpCxoOIbK8=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@ -36,4 +37,12 @@ stdenv.mkDerivation rec {
|
||||
mv etc $out/etc
|
||||
mv usr/share $out/share
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/linuxmint/mint-artwork";
|
||||
description = "Artwork for the cinnamon desktop";
|
||||
license = licenses.gpl3; # from debian/copyright
|
||||
platforms = platforms.linux;
|
||||
maintainers = teams.cinnamon.members;
|
||||
};
|
||||
}
|
||||
|
@ -7,14 +7,14 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "mint-themes";
|
||||
version = "1.8.6";
|
||||
version = "1.8.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxmint";
|
||||
repo = pname;
|
||||
# commit is named 1.8.6, tags=404
|
||||
rev = "fa0b9530f6e68c390aecd622b229072fcd08f05f";
|
||||
sha256 = "0pgv5hglsscip5s7nv0mn301vkn0j6wp4rv34vr941yai1jfk2wb";
|
||||
# they don't exactly do tags, it's just a named commit
|
||||
rev = "a833fba6917043bf410dee4364c9a36af1ce4c83";
|
||||
hash = "sha256-8abjjD0XoApvqB8SNlWsqIEp7ozgiERGS0kWglw2DWA=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -10,14 +10,14 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "mint-x-icons";
|
||||
version = "1.5.5";
|
||||
version = "1.6.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxmint";
|
||||
repo = pname;
|
||||
# commit is named 1.5.5, tags=404
|
||||
rev = "ecfbeb62bba41e85a61099df467c4700ac63c1e0";
|
||||
sha256 = "1yxm7h7giag5hmymgxsg16vc0rhxb2vn3piaksc463mic4vwfa3i";
|
||||
# they don't exactly do tags, it's just a named commit
|
||||
rev = "286eb4acdfc3e3c77572dfd0cd70ffd4208d3a35";
|
||||
hash = "sha256-mZkCEBC1O2mW8rM1kpOWdC5CwIeafyBS95cMY6x1yco=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -8,14 +8,14 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "mint-y-icons";
|
||||
version = "1.4.3";
|
||||
version = "1.5.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxmint";
|
||||
repo = pname;
|
||||
# commit is named 1.4.3, tags=404
|
||||
rev = "c997af402d425889f2e4277966eebe473f7451f7";
|
||||
sha256 = "0yfas949xm85a28vgjqm9ym3bhhynrq256w9vfs8aiqq9nbm18mf";
|
||||
# they don't exactly do tags, it's just a named commit
|
||||
rev = "9489bd161e9503d071227dd36057386a34cfc0a3";
|
||||
hash = "sha256-53yTCWNSJjCpVvrxLfsiaCPNDEZWxJgGVAmVNMNql2M=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -35,13 +35,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "muffin";
|
||||
version = "4.8.1";
|
||||
version = "5.2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxmint";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-zRW+hnoaKKTe4zIJpY1D0Ahc8k5zRbvYBF5Y4vZ6Rbs=";
|
||||
hash = "sha256-WAp0HbfRtwsPjJX1kPBqUStqLaudQPZ8E+h4jmggmw8=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
|
@ -22,7 +22,7 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "nemo";
|
||||
version = "5.0.3";
|
||||
version = "5.2.0";
|
||||
|
||||
# TODO: add plugins support (see https://github.com/NixOS/nixpkgs/issues/78327)
|
||||
|
||||
@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
|
||||
owner = "linuxmint";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-Ah1Rp/o4LPdYm+wj2W5ljjMkCI3PgoAHrlM8yEQP77o=";
|
||||
hash = "sha256-ehcqRlI1d/KWNas36dz+hb7KU1H8wtQHTpg2fz1XdXU=";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
75
pkgs/desktops/cinnamon/pix/default.nix
Normal file
75
pkgs/desktops/cinnamon/pix/default.nix
Normal file
@ -0,0 +1,75 @@
|
||||
{ stdenv
|
||||
, lib
|
||||
, fetchFromGitHub
|
||||
, autoreconfHook
|
||||
, cinnamon-desktop
|
||||
, file
|
||||
, gdk-pixbuf
|
||||
, glib
|
||||
, gobject-introspection
|
||||
, gtk-doc
|
||||
, gtk3
|
||||
, intltool
|
||||
, itstool
|
||||
, libtool
|
||||
, libxml2
|
||||
, pkg-config
|
||||
, shared-mime-info
|
||||
, wrapGAppsHook
|
||||
, xapps
|
||||
, yelp-tools
|
||||
, libsecret
|
||||
, webkitgtk
|
||||
, libwebp
|
||||
, librsvg
|
||||
, json-glib
|
||||
, gnome
|
||||
, clutter
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "pix";
|
||||
version = "2.6.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxmint";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "qBF5lc7ZNwuTr6x4c4pJA6a7oXqOYsYA1lpTmQkylT0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
wrapGAppsHook
|
||||
autoreconfHook
|
||||
cinnamon-desktop
|
||||
gdk-pixbuf
|
||||
gnome.gnome-common
|
||||
gobject-introspection
|
||||
gtk-doc
|
||||
intltool
|
||||
itstool
|
||||
libtool
|
||||
pkg-config
|
||||
yelp-tools
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
glib
|
||||
gtk3
|
||||
xapps
|
||||
libsecret
|
||||
webkitgtk
|
||||
libwebp
|
||||
librsvg
|
||||
json-glib
|
||||
clutter
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A generic image viewer from Linux Mint";
|
||||
homepage = "https://github.com/linuxmint/pix";
|
||||
license = licenses.gpl2Only;
|
||||
platforms = platforms.linux;
|
||||
maintainers = teams.cinnamon.members;
|
||||
};
|
||||
}
|
@ -14,7 +14,7 @@
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "warpinator";
|
||||
version = "1.0.8";
|
||||
version = "1.2.5";
|
||||
|
||||
format = "other";
|
||||
|
||||
@ -22,7 +22,7 @@ python3.pkgs.buildPythonApplication rec {
|
||||
owner = "linuxmint";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "0n1b50j2w76qnhfj5yg5q2j7fgxr9gbmzpazmbml4q41h8ybcmxm";
|
||||
hash = "sha256-pTLM4CrkBLEZS9IdM9IBSGH0WPOj1rlAgvWLOUy6MxY=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@ -54,6 +54,10 @@ python3.pkgs.buildPythonApplication rec {
|
||||
netifaces
|
||||
];
|
||||
|
||||
mesonFlags = [
|
||||
"-Dbundle-zeroconf=false"
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
chmod +x install-scripts/*
|
||||
patchShebangs .
|
||||
@ -73,6 +77,6 @@ python3.pkgs.buildPythonApplication rec {
|
||||
description = "Share files across the LAN";
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.mkg20001 ];
|
||||
maintainers = teams.cinnamon.members;
|
||||
};
|
||||
}
|
||||
|
@ -21,7 +21,7 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "xapps";
|
||||
version = "2.2.3";
|
||||
version = "2.2.5";
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
|
||||
owner = "linuxmint";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-hrSyoHA3XQXQb9N3YJ+NNfBjJNOuUhXhKEimh/n73MM=";
|
||||
hash = "sha256-Ev+gTl9jY1HLbXKnCsVVSsY8ZrHyzsIkp+JTaXOTm6I=";
|
||||
};
|
||||
|
||||
# TODO: https://github.com/NixOS/nixpkgs/issues/36468
|
||||
|
76
pkgs/desktops/cinnamon/xreader/default.nix
Normal file
76
pkgs/desktops/cinnamon/xreader/default.nix
Normal file
@ -0,0 +1,76 @@
|
||||
{ stdenv
|
||||
, lib
|
||||
, fetchFromGitHub
|
||||
, glib
|
||||
, gobject-introspection
|
||||
, intltool
|
||||
, shared-mime-info
|
||||
, gtk3
|
||||
, wrapGAppsHook
|
||||
, libxml2
|
||||
, xapps
|
||||
, meson
|
||||
, pkg-config
|
||||
, cairo
|
||||
, libsecret
|
||||
, poppler
|
||||
, libspectre
|
||||
, libgxps
|
||||
, webkitgtk
|
||||
, nodePackages
|
||||
, ninja
|
||||
, gsettings-desktop-schemas
|
||||
, djvulibre
|
||||
, backends ? [ "pdf" "ps" /* "dvi" "t1lib" */ "djvu" "tiff" "pixbuf" "comics" "xps" "epub" ]
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "xreader";
|
||||
version = "3.0.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxmint";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "vyZhKsuASbkc6IBtfbhTIHOQ0XYNFaCVua+jS4B5LWk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
shared-mime-info
|
||||
wrapGAppsHook
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
gobject-introspection
|
||||
intltool
|
||||
];
|
||||
|
||||
mesonFlags = [
|
||||
"-Dmathjax-directory=${nodePackages.mathjax}"
|
||||
"-Dc_args=-I${glib.dev}/include/gio-unix-2.0"
|
||||
] ++ (map (x: "-D${x}=true") backends);
|
||||
|
||||
buildInputs = [
|
||||
glib
|
||||
gtk3
|
||||
xapps
|
||||
cairo
|
||||
libxml2
|
||||
libsecret
|
||||
poppler
|
||||
libspectre
|
||||
libgxps
|
||||
webkitgtk
|
||||
nodePackages.mathjax
|
||||
djvulibre
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A document viewer capable of displaying multiple and single page
|
||||
document formats like PDF and Postscript";
|
||||
homepage = "https://github.com/linuxmint/xreader";
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.linux;
|
||||
maintainers = teams.cinnamon.members;
|
||||
};
|
||||
}
|
@ -65,6 +65,6 @@ stdenv.mkDerivation rec {
|
||||
homepage = "https://github.com/linuxmint/xviewer";
|
||||
license = licenses.gpl2Only;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ tu-maurice ];
|
||||
maintainers = with maintainers; [ tu-maurice ] ++ teams.cinnamon.members;
|
||||
};
|
||||
}
|
||||
|
@ -21,7 +21,6 @@
|
||||
, libsoup
|
||||
, vte
|
||||
, webkitgtk
|
||||
, zeitgeist
|
||||
, ctags
|
||||
, libgit2-glib
|
||||
, wrapGAppsHook
|
||||
@ -74,7 +73,6 @@ stdenv.mkDerivation rec {
|
||||
libsoup
|
||||
vte
|
||||
webkitgtk
|
||||
zeitgeist
|
||||
];
|
||||
|
||||
# install script fails with UnicodeDecodeError because of printing a fancy elipsis character
|
||||
|
@ -13,7 +13,6 @@
|
||||
, libhandy
|
||||
, granite
|
||||
, gettext
|
||||
, clutter-gtk
|
||||
, elementary-icon-theme
|
||||
, wrapGAppsHook
|
||||
}:
|
||||
@ -46,7 +45,6 @@ stdenv.mkDerivation rec {
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
clutter-gtk
|
||||
elementary-icon-theme
|
||||
granite
|
||||
gtk3
|
||||
|
@ -1,36 +1,20 @@
|
||||
{ lib, stdenv, fetchFromGitHub, z3, ocamlPackages, makeWrapper, installShellFiles }:
|
||||
|
||||
let
|
||||
# FStar requires sedlex < 2.4
|
||||
# see https://github.com/FStarLang/FStar/issues/2343
|
||||
sedlex-2_3 = ocamlPackages.sedlex_2.overrideAttrs (_: rec {
|
||||
pname = "sedlex";
|
||||
version = "2.3";
|
||||
src = fetchFromGitHub {
|
||||
owner = "ocaml-community";
|
||||
repo = "sedlex";
|
||||
rev = "v${version}";
|
||||
sha256 = "WXUXUuIaBUrFPQOKtZ7dgDZYdpEVnoJck0dkrCi8g0c=";
|
||||
};
|
||||
});
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "fstar";
|
||||
version = "2021.10.16";
|
||||
version = "2021.11.27";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "FStarLang";
|
||||
repo = "FStar";
|
||||
rev = "v${version}";
|
||||
sha256 = "03b693s7s7dzflv5qkf61gd8ji9bn6fq4pxd8pd3a6ppkwj6b5vc";
|
||||
sha256 = "sha256-OpY7vDb37ym4srsmD+deXiuofUJKRyKXG7g3zsJKvHo=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper installShellFiles ];
|
||||
|
||||
buildInputs = [
|
||||
z3
|
||||
sedlex-2_3
|
||||
] ++ (with ocamlPackages; [
|
||||
ocaml
|
||||
findlib
|
||||
@ -43,6 +27,7 @@ stdenv.mkDerivation rec {
|
||||
menhir
|
||||
menhirLib
|
||||
pprint
|
||||
sedlex_2
|
||||
ppxlib
|
||||
ppx_deriving
|
||||
ppx_deriving_yojson
|
||||
|
@ -3,6 +3,8 @@
|
||||
, ncurses5
|
||||
, ncurses6, gmp, libiconv, numactl
|
||||
, llvmPackages
|
||||
, coreutils
|
||||
, targetPackages
|
||||
|
||||
# minimal = true; will remove files that aren't strictly necessary for
|
||||
# regular builds and GHC bootstrapping.
|
||||
@ -140,6 +142,19 @@ let
|
||||
libEnvVar = lib.optionalString stdenv.hostPlatform.isDarwin "DY"
|
||||
+ "LD_LIBRARY_PATH";
|
||||
|
||||
runtimeDeps = [
|
||||
targetPackages.stdenv.cc
|
||||
targetPackages.stdenv.cc.bintools
|
||||
coreutils # for cat
|
||||
]
|
||||
++ lib.optionals useLLVM [
|
||||
(lib.getBin llvmPackages.llvm)
|
||||
]
|
||||
# On darwin, we need unwrapped bintools as well (for otool)
|
||||
++ lib.optionals (stdenv.targetPlatform.linker == "cctools") [
|
||||
targetPackages.stdenv.cc.bintools.bintools
|
||||
];
|
||||
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
@ -156,7 +171,6 @@ stdenv.mkDerivation rec {
|
||||
|
||||
nativeBuildInputs = [ perl ];
|
||||
propagatedBuildInputs =
|
||||
lib.optionals useLLVM [ llvmPackages.llvm ]
|
||||
# Because musl bindists currently provide no way to tell where
|
||||
# libgmp is (see not [musl bindists have no .buildinfo]), we need
|
||||
# to propagate `gmp`, otherwise programs built by this ghc will
|
||||
@ -177,7 +191,7 @@ stdenv.mkDerivation rec {
|
||||
# fixing the above-mentioned release issue,
|
||||
# and for GHC >= 9.* it is not clear as of writing whether that switch
|
||||
# will be made there too.
|
||||
++ lib.optionals stdenv.hostPlatform.isMusl [ gmp ]; # musl bindist needs this
|
||||
lib.optionals stdenv.hostPlatform.isMusl [ gmp ]; # musl bindist needs this
|
||||
|
||||
# Set LD_LIBRARY_PATH or equivalent so that the programs running as part
|
||||
# of the bindist installer can find the libraries they expect.
|
||||
@ -278,6 +292,15 @@ stdenv.mkDerivation rec {
|
||||
# calls install-strip ...
|
||||
dontBuild = true;
|
||||
|
||||
# Patch scripts to include runtime dependencies in $PATH.
|
||||
postInstall = ''
|
||||
for i in "$out/bin/"*; do
|
||||
test ! -h "$i" || continue
|
||||
isScript "$i" || continue
|
||||
sed -i -e '2i export PATH="${lib.makeBinPath runtimeDeps}:$PATH"' "$i"
|
||||
done
|
||||
'';
|
||||
|
||||
# Apparently necessary for the ghc Alpine (musl) bindist:
|
||||
# When we strip, and then run the
|
||||
# patchelf --set-rpath "${libPath}:$(patchelf --print-rpath $p)" $p
|
||||
@ -360,7 +383,6 @@ stdenv.mkDerivation rec {
|
||||
|
||||
doInstallCheck = true;
|
||||
installCheckPhase = ''
|
||||
unset ${libEnvVar}
|
||||
# Sanity check, can ghc create executables?
|
||||
cd $TMP
|
||||
mkdir test-ghc; cd test-ghc
|
||||
@ -369,7 +391,9 @@ stdenv.mkDerivation rec {
|
||||
module Main where
|
||||
main = putStrLn \$([|"yes"|])
|
||||
EOF
|
||||
$out/bin/ghc --make main.hs || exit 1
|
||||
# can't use env -i here because otherwise we don't find -lgmp on musl
|
||||
env ${libEnvVar}= PATH= \
|
||||
$out/bin/ghc --make main.hs || exit 1
|
||||
echo compilation ok
|
||||
[ $(./main) == "yes" ]
|
||||
'';
|
||||
@ -378,6 +402,8 @@ stdenv.mkDerivation rec {
|
||||
targetPrefix = "";
|
||||
enableShared = true;
|
||||
|
||||
inherit llvmPackages;
|
||||
|
||||
# Our Cabal compiler name
|
||||
haskellCompilerName = "ghc-${version}";
|
||||
};
|
||||
|
@ -3,6 +3,8 @@
|
||||
, ncurses5
|
||||
, ncurses6, gmp, libiconv, numactl
|
||||
, llvmPackages
|
||||
, coreutils
|
||||
, targetPackages
|
||||
|
||||
# minimal = true; will remove files that aren't strictly necessary for
|
||||
# regular builds and GHC bootstrapping.
|
||||
@ -155,6 +157,19 @@ let
|
||||
libEnvVar = lib.optionalString stdenv.hostPlatform.isDarwin "DY"
|
||||
+ "LD_LIBRARY_PATH";
|
||||
|
||||
runtimeDeps = [
|
||||
targetPackages.stdenv.cc
|
||||
targetPackages.stdenv.cc.bintools
|
||||
coreutils # for cat
|
||||
]
|
||||
++ lib.optionals useLLVM [
|
||||
(lib.getBin llvmPackages.llvm)
|
||||
]
|
||||
# On darwin, we need unwrapped bintools as well (for otool)
|
||||
++ lib.optionals (stdenv.targetPlatform.linker == "cctools") [
|
||||
targetPackages.stdenv.cc.bintools.bintools
|
||||
];
|
||||
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
@ -175,9 +190,6 @@ stdenv.mkDerivation rec {
|
||||
# and update this comment accordingly.
|
||||
|
||||
nativeBuildInputs = [ perl ];
|
||||
propagatedBuildInputs =
|
||||
lib.optionals useLLVM [ llvmPackages.llvm ]
|
||||
;
|
||||
|
||||
# Set LD_LIBRARY_PATH or equivalent so that the programs running as part
|
||||
# of the bindist installer can find the libraries they expect.
|
||||
@ -278,6 +290,15 @@ stdenv.mkDerivation rec {
|
||||
# calls install-strip ...
|
||||
dontBuild = true;
|
||||
|
||||
# Patch scripts to include runtime dependencies in $PATH.
|
||||
postInstall = ''
|
||||
for i in "$out/bin/"*; do
|
||||
test ! -h "$i" || continue
|
||||
isScript "$i" || continue
|
||||
sed -i -e '2i export PATH="${lib.makeBinPath runtimeDeps}:$PATH"' "$i"
|
||||
done
|
||||
'';
|
||||
|
||||
# Apparently necessary for the ghc Alpine (musl) bindist:
|
||||
# When we strip, and then run the
|
||||
# patchelf --set-rpath "${libPath}:$(patchelf --print-rpath $p)" $p
|
||||
@ -360,7 +381,6 @@ stdenv.mkDerivation rec {
|
||||
|
||||
doInstallCheck = true;
|
||||
installCheckPhase = ''
|
||||
unset ${libEnvVar}
|
||||
# Sanity check, can ghc create executables?
|
||||
cd $TMP
|
||||
mkdir test-ghc; cd test-ghc
|
||||
@ -369,7 +389,7 @@ stdenv.mkDerivation rec {
|
||||
module Main where
|
||||
main = putStrLn \$([|"yes"|])
|
||||
EOF
|
||||
$out/bin/ghc --make main.hs || exit 1
|
||||
env -i $out/bin/ghc --make main.hs || exit 1
|
||||
echo compilation ok
|
||||
[ $(./main) == "yes" ]
|
||||
'';
|
||||
@ -378,6 +398,8 @@ stdenv.mkDerivation rec {
|
||||
targetPrefix = "";
|
||||
enableShared = true;
|
||||
|
||||
inherit llvmPackages;
|
||||
|
||||
# Our Cabal compiler name
|
||||
haskellCompilerName = "ghc-${version}";
|
||||
};
|
||||
|
@ -11,7 +11,9 @@
|
||||
, # GHC can be built with system libffi or a bundled one.
|
||||
libffi ? null
|
||||
|
||||
, useLLVM ? !stdenv.targetPlatform.isx86
|
||||
, useLLVM ? !(stdenv.targetPlatform.isx86
|
||||
|| stdenv.targetPlatform.isPowerPC
|
||||
|| stdenv.targetPlatform.isSparc)
|
||||
, # LLVM is conceptually a run-time-only depedendency, but for
|
||||
# non-x86, we need LLVM to bootstrap later stages, so it becomes a
|
||||
# build-time dependency too.
|
||||
@ -120,6 +122,8 @@ let
|
||||
++ lib.optional (!enableIntegerSimple) gmp
|
||||
++ lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv;
|
||||
|
||||
# TODO(@sternenseemann): is buildTarget LLVM unnecessary?
|
||||
# GHC doesn't seem to have {LLC,OPT}_HOST
|
||||
toolsForTarget = [
|
||||
pkgsBuildTarget.targetPackages.stdenv.cc
|
||||
] ++ lib.optional useLLVM buildTargetLlvmPackages.llvm;
|
||||
@ -132,15 +136,6 @@ let
|
||||
useLdGold = targetPlatform.linker == "gold" ||
|
||||
(targetPlatform.linker == "bfd" && (targetPackages.stdenv.cc.bintools.bintools.hasGold or false) && !targetPlatform.isMusl);
|
||||
|
||||
runtimeDeps = [
|
||||
targetPackages.stdenv.cc.bintools
|
||||
coreutils
|
||||
]
|
||||
# On darwin, we need unwrapped bintools as well (for otool)
|
||||
++ lib.optionals (stdenv.targetPlatform.linker == "cctools") [
|
||||
targetPackages.stdenv.cc.bintools.bintools
|
||||
];
|
||||
|
||||
# Makes debugging easier to see which variant is at play in `nix-store -q --tree`.
|
||||
variantSuffix = lib.concatStrings [
|
||||
(lib.optionalString stdenv.hostPlatform.isMusl "-musl")
|
||||
@ -196,6 +191,7 @@ stdenv.mkDerivation (rec {
|
||||
postPatch = "patchShebangs .";
|
||||
|
||||
# GHC is a bit confused on its cross terminology.
|
||||
# TODO(@sternenseemann): investigate coreutils dependencies and pass absolute paths
|
||||
preConfigure = ''
|
||||
for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do
|
||||
export "''${env#TARGET_}=''${!env}"
|
||||
@ -212,6 +208,19 @@ stdenv.mkDerivation (rec {
|
||||
export RANLIB="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ranlib"
|
||||
export READELF="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}readelf"
|
||||
export STRIP="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}strip"
|
||||
'' + lib.optionalString (stdenv.targetPlatform.linker == "cctools") ''
|
||||
export OTOOL="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}otool"
|
||||
export INSTALL_NAME_TOOL="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}install_name_tool"
|
||||
'' + lib.optionalString useLLVM ''
|
||||
export LLC="${lib.getBin llvmPackages.llvm}/bin/llc"
|
||||
export OPT="${lib.getBin llvmPackages.llvm}/bin/opt"
|
||||
'' + lib.optionalString (targetCC.isClang || (useLLVM && stdenv.targetPlatform.isDarwin)) (let
|
||||
# LLVM backend on Darwin needs clang, if we are already using clang, might as well set the environment variable.
|
||||
# See also https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/codegens.html#llvm-code-generator-fllvm
|
||||
clang = if targetCC.isClang then targetCC else llvmPackages.clang;
|
||||
in ''
|
||||
export CLANG="${clang}/bin/${clang.targetPrefix}clang"
|
||||
'') + ''
|
||||
|
||||
echo -n "${buildMK}" > mk/build.mk
|
||||
sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
|
||||
@ -290,9 +299,6 @@ stdenv.mkDerivation (rec {
|
||||
|
||||
buildInputs = [ perl bash ] ++ (libDeps hostPlatform);
|
||||
|
||||
propagatedBuildInputs = [ targetPackages.stdenv.cc ]
|
||||
++ lib.optional useLLVM llvmPackages.llvm;
|
||||
|
||||
depsTargetTarget = map lib.getDev (libDeps targetPlatform);
|
||||
depsTargetTargetPropagated = map (lib.getOutput "out") (libDeps targetPlatform);
|
||||
|
||||
@ -320,13 +326,6 @@ stdenv.mkDerivation (rec {
|
||||
postInstall = ''
|
||||
# Install the bash completion file.
|
||||
install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc
|
||||
|
||||
# Patch scripts to include "readelf" and "cat" in $PATH.
|
||||
for i in "$out/bin/"*; do
|
||||
test ! -h $i || continue
|
||||
egrep --quiet '^#!' <(head -n 1 $i) || continue
|
||||
sed -i -e '2i export PATH="$PATH:${lib.makeBinPath runtimeDeps}"' $i
|
||||
done
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
|
@ -2,6 +2,8 @@
|
||||
, fetchurl, perl, gcc
|
||||
, ncurses5, ncurses6, gmp, glibc, libiconv
|
||||
, llvmPackages
|
||||
, coreutils
|
||||
, targetPackages
|
||||
}:
|
||||
|
||||
# Prebuilt only does native
|
||||
@ -30,6 +32,19 @@ let
|
||||
|
||||
downloadsUrl = "https://downloads.haskell.org/ghc";
|
||||
|
||||
runtimeDeps = [
|
||||
targetPackages.stdenv.cc
|
||||
targetPackages.stdenv.cc.bintools
|
||||
coreutils # for cat
|
||||
]
|
||||
++ lib.optionals useLLVM [
|
||||
(lib.getBin llvmPackages.llvm)
|
||||
]
|
||||
# On darwin, we need unwrapped bintools as well (for otool)
|
||||
++ lib.optionals (stdenv.targetPlatform.linker == "cctools") [
|
||||
targetPackages.stdenv.cc.bintools.bintools
|
||||
];
|
||||
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
@ -62,7 +77,6 @@ stdenv.mkDerivation rec {
|
||||
or (throw "cannot bootstrap GHC on this platform"));
|
||||
|
||||
nativeBuildInputs = [ perl ];
|
||||
propagatedBuildInputs = lib.optionals useLLVM [ llvmPackages.llvm ];
|
||||
|
||||
# Cannot patchelf beforehand due to relative RPATHs that anticipate
|
||||
# the final install location/
|
||||
@ -130,6 +144,15 @@ stdenv.mkDerivation rec {
|
||||
# calls install-strip ...
|
||||
dontBuild = true;
|
||||
|
||||
# Patch scripts to include runtime dependencies in $PATH.
|
||||
postInstall = ''
|
||||
for i in "$out/bin/"*; do
|
||||
test ! -h "$i" || continue
|
||||
isScript "$i" || continue
|
||||
sed -i -e '2i export PATH="${lib.makeBinPath runtimeDeps}:$PATH"' "$i"
|
||||
done
|
||||
'';
|
||||
|
||||
# On Linux, use patchelf to modify the executables so that they can
|
||||
# find editline/gmp.
|
||||
postFixup = lib.optionalString stdenv.isLinux ''
|
||||
@ -163,7 +186,6 @@ stdenv.mkDerivation rec {
|
||||
|
||||
doInstallCheck = true;
|
||||
installCheckPhase = ''
|
||||
unset ${libEnvVar}
|
||||
# Sanity check, can ghc create executables?
|
||||
cd $TMP
|
||||
mkdir test-ghc; cd test-ghc
|
||||
@ -172,7 +194,7 @@ stdenv.mkDerivation rec {
|
||||
module Main where
|
||||
main = putStrLn \$([|"yes"|])
|
||||
EOF
|
||||
$out/bin/ghc --make main.hs || exit 1
|
||||
env -i $out/bin/ghc --make main.hs || exit 1
|
||||
echo compilation ok
|
||||
[ $(./main) == "yes" ]
|
||||
'';
|
||||
@ -181,14 +203,15 @@ stdenv.mkDerivation rec {
|
||||
targetPrefix = "";
|
||||
enableShared = true;
|
||||
|
||||
inherit llvmPackages;
|
||||
|
||||
# Our Cabal compiler name
|
||||
haskellCompilerName = "ghc-${version}";
|
||||
};
|
||||
|
||||
meta = rec {
|
||||
license = lib.licenses.bsd3;
|
||||
platforms = ["x86_64-linux" "aarch64-linux" "i686-linux" "x86_64-darwin"];
|
||||
hydraPlatforms = builtins.filter (p: p != "aarch64-linux") platforms;
|
||||
platforms = ["x86_64-linux" "i686-linux" "x86_64-darwin"];
|
||||
# build segfaults, use ghc8102Binary which has proper musl support instead
|
||||
broken = stdenv.hostPlatform.isMusl;
|
||||
maintainers = with lib.maintainers; [
|
||||
|
@ -10,7 +10,9 @@
|
||||
, # GHC can be built with system libffi or a bundled one.
|
||||
libffi ? null
|
||||
|
||||
, useLLVM ? !stdenv.targetPlatform.isx86
|
||||
, useLLVM ? !(stdenv.targetPlatform.isx86
|
||||
|| stdenv.targetPlatform.isPowerPC
|
||||
|| stdenv.targetPlatform.isSparc)
|
||||
, # LLVM is conceptually a run-time-only depedendency, but for
|
||||
# non-x86, we need LLVM to bootstrap later stages, so it becomes a
|
||||
# build-time dependency too.
|
||||
@ -128,6 +130,8 @@ let
|
||||
++ lib.optional (!enableIntegerSimple) gmp
|
||||
++ lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv;
|
||||
|
||||
# TODO(@sternenseemann): is buildTarget LLVM unnecessary?
|
||||
# GHC doesn't seem to have {LLC,OPT}_HOST
|
||||
toolsForTarget = [
|
||||
pkgsBuildTarget.targetPackages.stdenv.cc
|
||||
] ++ lib.optional useLLVM buildTargetLlvmPackages.llvm;
|
||||
@ -140,15 +144,6 @@ let
|
||||
useLdGold = targetPlatform.linker == "gold" ||
|
||||
(targetPlatform.linker == "bfd" && (targetPackages.stdenv.cc.bintools.bintools.hasGold or false) && !targetPlatform.isMusl);
|
||||
|
||||
runtimeDeps = [
|
||||
targetPackages.stdenv.cc.bintools
|
||||
coreutils
|
||||
]
|
||||
# On darwin, we need unwrapped bintools as well (for otool)
|
||||
++ lib.optionals (stdenv.targetPlatform.linker == "cctools") [
|
||||
targetPackages.stdenv.cc.bintools.bintools
|
||||
];
|
||||
|
||||
# Makes debugging easier to see which variant is at play in `nix-store -q --tree`.
|
||||
variantSuffix = lib.concatStrings [
|
||||
(lib.optionalString stdenv.hostPlatform.isMusl "-musl")
|
||||
@ -197,6 +192,7 @@ stdenv.mkDerivation (rec {
|
||||
postPatch = "patchShebangs .";
|
||||
|
||||
# GHC is a bit confused on its cross terminology.
|
||||
# TODO(@sternenseemann): investigate coreutils dependencies and pass absolute paths
|
||||
preConfigure =
|
||||
# Aarch64 allow backward bootstrapping since earlier versions are unstable.
|
||||
# Same for musl, as earlier versions do not provide a musl bindist for bootstrapping.
|
||||
@ -220,6 +216,16 @@ stdenv.mkDerivation (rec {
|
||||
export RANLIB="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ranlib"
|
||||
export READELF="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}readelf"
|
||||
export STRIP="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}strip"
|
||||
'' + lib.optionalString useLLVM ''
|
||||
export LLC="${lib.getBin llvmPackages.llvm}/bin/llc"
|
||||
export OPT="${lib.getBin llvmPackages.llvm}/bin/opt"
|
||||
'' + lib.optionalString (targetCC.isClang || (useLLVM && stdenv.targetPlatform.isDarwin)) (let
|
||||
# LLVM backend on Darwin needs clang, if we are already using clang, might as well set the environment variable.
|
||||
# See also https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/codegens.html#llvm-code-generator-fllvm
|
||||
clang = if targetCC.isClang then targetCC else llvmPackages.clang;
|
||||
in ''
|
||||
export CLANG="${clang}/bin/${clang.targetPrefix}clang"
|
||||
'') + ''
|
||||
|
||||
echo -n "${buildMK dontStrip}" > mk/build.mk
|
||||
sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
|
||||
@ -293,9 +299,6 @@ stdenv.mkDerivation (rec {
|
||||
|
||||
buildInputs = [ perl bash ] ++ (libDeps hostPlatform);
|
||||
|
||||
propagatedBuildInputs = [ targetPackages.stdenv.cc ]
|
||||
++ lib.optional useLLVM llvmPackages.llvm;
|
||||
|
||||
depsTargetTarget = map lib.getDev (libDeps targetPlatform);
|
||||
depsTargetTargetPropagated = map (lib.getOutput "out") (libDeps targetPlatform);
|
||||
|
||||
@ -319,13 +322,6 @@ stdenv.mkDerivation (rec {
|
||||
postInstall = ''
|
||||
# Install the bash completion file.
|
||||
install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc
|
||||
|
||||
# Patch scripts to include "readelf" and "cat" in $PATH.
|
||||
for i in "$out/bin/"*; do
|
||||
test ! -h $i || continue
|
||||
egrep --quiet '^#!' <(head -n 1 $i) || continue
|
||||
sed -i -e '2i export PATH="$PATH:${lib.makeBinPath runtimeDeps}"' $i
|
||||
done
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
@ -345,7 +341,17 @@ stdenv.mkDerivation (rec {
|
||||
guibou
|
||||
] ++ lib.teams.haskell.members;
|
||||
timeout = 24 * 3600;
|
||||
inherit (ghc.meta) license platforms;
|
||||
inherit (ghc.meta) license;
|
||||
# hardcode platforms because the bootstrap GHC differs depending on the platform,
|
||||
# with differing platforms available for each of them; See HACK comment in
|
||||
# 8.10.2-binary.nix for an explanation of the musl special casing.
|
||||
platforms = [
|
||||
"x86_64-linux"
|
||||
] ++ lib.optionals (!hostPlatform.isMusl) [
|
||||
"i686-linux"
|
||||
"aarch64-linux"
|
||||
"x86_64-darwin"
|
||||
];
|
||||
# integer-simple builds are broken with musl when bootstrapping using
|
||||
# GHC 8.10.2 and below, however it is not possible to reverse bootstrap
|
||||
# GHC 8.8.4 with GHC 8.10.7.
|
||||
|
@ -12,7 +12,9 @@
|
||||
, # GHC can be built with system libffi or a bundled one.
|
||||
libffi ? null
|
||||
|
||||
, useLLVM ? !stdenv.targetPlatform.isx86
|
||||
, useLLVM ? !(stdenv.targetPlatform.isx86
|
||||
|| stdenv.targetPlatform.isPowerPC
|
||||
|| stdenv.targetPlatform.isSparc)
|
||||
, # LLVM is conceptually a run-time-only depedendency, but for
|
||||
# non-x86, we need LLVM to bootstrap later stages, so it becomes a
|
||||
# build-time dependency too.
|
||||
@ -115,6 +117,8 @@ let
|
||||
++ lib.optional (!enableIntegerSimple) gmp
|
||||
++ lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv;
|
||||
|
||||
# TODO(@sternenseemann): is buildTarget LLVM unnecessary?
|
||||
# GHC doesn't seem to have {LLC,OPT}_HOST
|
||||
toolsForTarget = [
|
||||
pkgsBuildTarget.targetPackages.stdenv.cc
|
||||
] ++ lib.optional useLLVM buildTargetLlvmPackages.llvm;
|
||||
@ -127,15 +131,6 @@ let
|
||||
useLdGold = targetPlatform.linker == "gold" ||
|
||||
(targetPlatform.linker == "bfd" && (targetPackages.stdenv.cc.bintools.bintools.hasGold or false) && !targetPlatform.isMusl);
|
||||
|
||||
runtimeDeps = [
|
||||
targetPackages.stdenv.cc.bintools
|
||||
coreutils
|
||||
]
|
||||
# On darwin, we need unwrapped bintools as well (for otool)
|
||||
++ lib.optionals (stdenv.targetPlatform.linker == "cctools") [
|
||||
targetPackages.stdenv.cc.bintools.bintools
|
||||
];
|
||||
|
||||
# Makes debugging easier to see which variant is at play in `nix-store -q --tree`.
|
||||
variantSuffix = lib.concatStrings [
|
||||
(lib.optionalString stdenv.hostPlatform.isMusl "-musl")
|
||||
@ -162,6 +157,7 @@ stdenv.mkDerivation (rec {
|
||||
LANG = "en_US.UTF-8";
|
||||
|
||||
# GHC is a bit confused on its cross terminology.
|
||||
# TODO(@sternenseemann): investigate coreutils dependencies and pass absolute paths
|
||||
preConfigure = ''
|
||||
for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do
|
||||
export "''${env#TARGET_}=''${!env}"
|
||||
@ -178,6 +174,19 @@ stdenv.mkDerivation (rec {
|
||||
export RANLIB="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ranlib"
|
||||
export READELF="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}readelf"
|
||||
export STRIP="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}strip"
|
||||
'' + lib.optionalString (stdenv.targetPlatform.linker == "cctools") ''
|
||||
export OTOOL="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}otool"
|
||||
export INSTALL_NAME_TOOL="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}install_name_tool"
|
||||
'' + lib.optionalString useLLVM ''
|
||||
export LLC="${lib.getBin llvmPackages.llvm}/bin/llc"
|
||||
export OPT="${lib.getBin llvmPackages.llvm}/bin/opt"
|
||||
'' + lib.optionalString (targetCC.isClang || (useLLVM && stdenv.targetPlatform.isDarwin)) (let
|
||||
# LLVM backend on Darwin needs clang, if we are already using clang, might as well set the environment variable.
|
||||
# See also https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/codegens.html#llvm-code-generator-fllvm
|
||||
clang = if targetCC.isClang then targetCC else llvmPackages.clang;
|
||||
in ''
|
||||
export CLANG="${clang}/bin/${clang.targetPrefix}clang"
|
||||
'') + ''
|
||||
|
||||
echo -n "${buildMK}" > mk/build.mk
|
||||
sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
|
||||
@ -255,9 +264,6 @@ stdenv.mkDerivation (rec {
|
||||
|
||||
buildInputs = [ perl bash ] ++ (libDeps hostPlatform);
|
||||
|
||||
propagatedBuildInputs = [ targetPackages.stdenv.cc ]
|
||||
++ lib.optional useLLVM llvmPackages.llvm;
|
||||
|
||||
depsTargetTarget = map lib.getDev (libDeps targetPlatform);
|
||||
depsTargetTargetPropagated = map (lib.getOutput "out") (libDeps targetPlatform);
|
||||
|
||||
@ -285,13 +291,6 @@ stdenv.mkDerivation (rec {
|
||||
postInstall = ''
|
||||
# Install the bash completion file.
|
||||
install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc
|
||||
|
||||
# Patch scripts to include "readelf" and "cat" in $PATH.
|
||||
for i in "$out/bin/"*; do
|
||||
test ! -h $i || continue
|
||||
egrep --quiet '^#!' <(head -n 1 $i) || continue
|
||||
sed -i -e '2i export PATH="$PATH:${lib.makeBinPath runtimeDeps}"' $i
|
||||
done
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
|
@ -12,7 +12,10 @@
|
||||
, # GHC can be built with system libffi or a bundled one.
|
||||
libffi ? null
|
||||
|
||||
, useLLVM ? !stdenv.targetPlatform.isx86
|
||||
, useLLVM ? !(stdenv.targetPlatform.isx86
|
||||
|| stdenv.targetPlatform.isPowerPC
|
||||
|| stdenv.targetPlatform.isSparc
|
||||
|| (stdenv.targetPlatform.isAarch64 && stdenv.targetPlatform.isDarwin))
|
||||
, # LLVM is conceptually a run-time-only depedendency, but for
|
||||
# non-x86, we need LLVM to bootstrap later stages, so it becomes a
|
||||
# build-time dependency too.
|
||||
@ -115,6 +118,8 @@ let
|
||||
++ lib.optional (!enableIntegerSimple) gmp
|
||||
++ lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv;
|
||||
|
||||
# TODO(@sternenseemann): is buildTarget LLVM unnecessary?
|
||||
# GHC doesn't seem to have {LLC,OPT}_HOST
|
||||
toolsForTarget = [
|
||||
pkgsBuildTarget.targetPackages.stdenv.cc
|
||||
] ++ lib.optional useLLVM buildTargetLlvmPackages.llvm;
|
||||
@ -126,15 +131,6 @@ let
|
||||
# see #84670 and #49071 for more background.
|
||||
useLdGold = targetPlatform.linker == "gold" || (targetPlatform.linker == "bfd" && !targetPlatform.isMusl);
|
||||
|
||||
runtimeDeps = [
|
||||
targetPackages.stdenv.cc.bintools
|
||||
coreutils
|
||||
]
|
||||
# On darwin, we need unwrapped bintools as well (for otool)
|
||||
++ lib.optionals (stdenv.targetPlatform.linker == "cctools") [
|
||||
targetPackages.stdenv.cc.bintools.bintools
|
||||
];
|
||||
|
||||
# Makes debugging easier to see which variant is at play in `nix-store -q --tree`.
|
||||
variantSuffix = lib.concatStrings [
|
||||
(lib.optionalString stdenv.hostPlatform.isMusl "-musl")
|
||||
@ -161,6 +157,7 @@ stdenv.mkDerivation (rec {
|
||||
LANG = "en_US.UTF-8";
|
||||
|
||||
# GHC is a bit confused on its cross terminology.
|
||||
# TODO(@sternenseemann): investigate coreutils dependencies and pass absolute paths
|
||||
preConfigure = ''
|
||||
for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do
|
||||
export "''${env#TARGET_}=''${!env}"
|
||||
@ -177,6 +174,19 @@ stdenv.mkDerivation (rec {
|
||||
export RANLIB="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ranlib"
|
||||
export READELF="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}readelf"
|
||||
export STRIP="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}strip"
|
||||
'' + lib.optionalString (stdenv.targetPlatform.linker == "cctools") ''
|
||||
export OTOOL="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}otool"
|
||||
export INSTALL_NAME_TOOL="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}install_name_tool"
|
||||
'' + lib.optionalString useLLVM ''
|
||||
export LLC="${lib.getBin llvmPackages.llvm}/bin/llc"
|
||||
export OPT="${lib.getBin llvmPackages.llvm}/bin/opt"
|
||||
'' + lib.optionalString (targetCC.isClang || (useLLVM && stdenv.targetPlatform.isDarwin)) (let
|
||||
# LLVM backend on Darwin needs clang, if we are already using clang, might as well set the environment variable.
|
||||
# See also https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/codegens.html#llvm-code-generator-fllvm
|
||||
clang = if targetCC.isClang then targetCC else llvmPackages.clang;
|
||||
in ''
|
||||
export CLANG="${clang}/bin/${clang.targetPrefix}clang"
|
||||
'') + ''
|
||||
|
||||
echo -n "${buildMK}" > mk/build.mk
|
||||
sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
|
||||
@ -258,9 +268,6 @@ stdenv.mkDerivation (rec {
|
||||
|
||||
buildInputs = [ perl bash ] ++ (libDeps hostPlatform);
|
||||
|
||||
propagatedBuildInputs = [ targetPackages.stdenv.cc ]
|
||||
++ lib.optional useLLVM llvmPackages.llvm;
|
||||
|
||||
depsTargetTarget = map lib.getDev (libDeps targetPlatform);
|
||||
depsTargetTargetPropagated = map (lib.getOutput "out") (libDeps targetPlatform);
|
||||
|
||||
@ -288,13 +295,6 @@ stdenv.mkDerivation (rec {
|
||||
postInstall = ''
|
||||
# Install the bash completion file.
|
||||
install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc
|
||||
|
||||
# Patch scripts to include "readelf" and "cat" in $PATH.
|
||||
for i in "$out/bin/"*; do
|
||||
test ! -h $i || continue
|
||||
egrep --quiet '^#!' <(head -n 1 $i) || continue
|
||||
sed -i -e '2i export PATH="$PATH:${lib.makeBinPath runtimeDeps}"' $i
|
||||
done
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
|
@ -17,7 +17,10 @@
|
||||
!stdenv.targetPlatform.isWindows
|
||||
, elfutils # for DWARF support
|
||||
|
||||
, useLLVM ? !stdenv.targetPlatform.isx86 || stdenv.targetPlatform.isiOS
|
||||
, useLLVM ? !(stdenv.targetPlatform.isx86
|
||||
|| stdenv.targetPlatform.isPowerPC
|
||||
|| stdenv.targetPlatform.isSparc
|
||||
|| (stdenv.targetPlatform.isAarch64 && stdenv.targetPlatform.isDarwin))
|
||||
, # LLVM is conceptually a run-time-only depedendency, but for
|
||||
# non-x86, we need LLVM to bootstrap later stages, so it becomes a
|
||||
# build-time dependency too.
|
||||
@ -128,6 +131,8 @@ let
|
||||
++ lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv
|
||||
++ lib.optional enableDwarf elfutils;
|
||||
|
||||
# TODO(@sternenseemann): is buildTarget LLVM unnecessary?
|
||||
# GHC doesn't seem to have {LLC,OPT}_HOST
|
||||
toolsForTarget = [
|
||||
pkgsBuildTarget.targetPackages.stdenv.cc
|
||||
] ++ lib.optional useLLVM buildTargetLlvmPackages.llvm;
|
||||
@ -140,15 +145,6 @@ let
|
||||
useLdGold = targetPlatform.linker == "gold" ||
|
||||
(targetPlatform.linker == "bfd" && (targetPackages.stdenv.cc.bintools.bintools.hasGold or false) && !targetPlatform.isMusl);
|
||||
|
||||
runtimeDeps = [
|
||||
targetPackages.stdenv.cc.bintools
|
||||
coreutils
|
||||
]
|
||||
# On darwin, we need unwrapped bintools as well (for otool)
|
||||
++ lib.optionals (stdenv.targetPlatform.linker == "cctools") [
|
||||
targetPackages.stdenv.cc.bintools.bintools
|
||||
];
|
||||
|
||||
# Makes debugging easier to see which variant is at play in `nix-store -q --tree`.
|
||||
variantSuffix = lib.concatStrings [
|
||||
(lib.optionalString stdenv.hostPlatform.isMusl "-musl")
|
||||
@ -174,6 +170,7 @@ stdenv.mkDerivation (rec {
|
||||
postPatch = "patchShebangs .";
|
||||
|
||||
# GHC is a bit confused on its cross terminology.
|
||||
# TODO(@sternenseemann): investigate coreutils dependencies and pass absolute paths
|
||||
preConfigure = ''
|
||||
for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do
|
||||
export "''${env#TARGET_}=''${!env}"
|
||||
@ -191,6 +188,19 @@ stdenv.mkDerivation (rec {
|
||||
export RANLIB="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ranlib"
|
||||
export READELF="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}readelf"
|
||||
export STRIP="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}strip"
|
||||
'' + lib.optionalString (stdenv.targetPlatform.linker == "cctools") ''
|
||||
export OTOOL="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}otool"
|
||||
export INSTALL_NAME_TOOL="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}install_name_tool"
|
||||
'' + lib.optionalString useLLVM ''
|
||||
export LLC="${lib.getBin llvmPackages.llvm}/bin/llc"
|
||||
export OPT="${lib.getBin llvmPackages.llvm}/bin/opt"
|
||||
'' + lib.optionalString (targetCC.isClang || (useLLVM && stdenv.targetPlatform.isDarwin)) (let
|
||||
# LLVM backend on Darwin needs clang, if we are already using clang, might as well set the environment variable.
|
||||
# See also https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/codegens.html#llvm-code-generator-fllvm
|
||||
clang = if targetCC.isClang then targetCC else llvmPackages.clang;
|
||||
in ''
|
||||
export CLANG="${clang}/bin/${clang.targetPrefix}clang"
|
||||
'') + ''
|
||||
|
||||
# otherwise haddock fails when generating the compiler docs
|
||||
export LANG=C.UTF-8
|
||||
@ -278,9 +288,6 @@ stdenv.mkDerivation (rec {
|
||||
|
||||
buildInputs = [ perl bash ] ++ (libDeps hostPlatform);
|
||||
|
||||
propagatedBuildInputs = [ targetPackages.stdenv.cc ]
|
||||
++ lib.optional useLLVM llvmPackages.llvm;
|
||||
|
||||
depsTargetTarget = map lib.getDev (libDeps targetPlatform);
|
||||
depsTargetTargetPropagated = map (lib.getOutput "out") (libDeps targetPlatform);
|
||||
|
||||
@ -308,13 +315,6 @@ stdenv.mkDerivation (rec {
|
||||
postInstall = ''
|
||||
# Install the bash completion file.
|
||||
install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc
|
||||
|
||||
# Patch scripts to include "readelf" and "cat" in $PATH.
|
||||
for i in "$out/bin/"*; do
|
||||
test ! -h $i || continue
|
||||
egrep --quiet '^#!' <(head -n 1 $i) || continue
|
||||
sed -i -e '2i export PATH="$PATH:${lib.makeBinPath runtimeDeps}"' $i
|
||||
done
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
|
@ -2,12 +2,12 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "julia-bin";
|
||||
version = "1.6.3";
|
||||
version = "1.6.4";
|
||||
|
||||
src = {
|
||||
x86_64-linux = fetchurl {
|
||||
url = "https://julialang-s3.julialang.org/bin/linux/x64/${lib.versions.majorMinor version}/julia-${version}-linux-x86_64.tar.gz";
|
||||
sha256 = "0jrijj9snfx70692z2301rjassvwjcsjbxdsjyif9hyp9hrrqif7";
|
||||
sha256 = "0ci1dd8g1pgpp6j1v971zg8xpw120hdjblf9zcyhgs4pfvj4l92j";
|
||||
};
|
||||
}.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
|
||||
|
||||
@ -19,7 +19,6 @@ stdenv.mkDerivation rec {
|
||||
'';
|
||||
patches = [
|
||||
# Source release Nix patch(es) relevant for binary releases as well.
|
||||
./patches/1.6-bin/0002-nix-Skip-tempname-test-broken-in-sandbox.patch
|
||||
./patches/1.6-bin/0005-nix-Enable-parallel-unit-tests-for-sandbox.patch
|
||||
];
|
||||
postPatch = ''
|
||||
|
@ -1,28 +0,0 @@
|
||||
From ffe227676352a910754d96d92e9b06e475f28ff1 Mon Sep 17 00:00:00 2001
|
||||
From: Pontus Stenetorp <pontus@stenetorp.se>
|
||||
Date: Thu, 8 Apr 2021 04:25:19 +0000
|
||||
Subject: [PATCH 2/6] nix: Skip `tempname` test broken in sandbox
|
||||
|
||||
Reported upstream:
|
||||
|
||||
https://github.com/JuliaLang/julia/issues/38873
|
||||
---
|
||||
test/file.jl | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/test/file.jl b/test/file.jl
|
||||
index 0f39bc7c14..bd4dd78f62 100644
|
||||
--- a/test/file.jl
|
||||
+++ b/test/file.jl
|
||||
@@ -95,7 +95,7 @@ end
|
||||
@test dirname(t) == tempdir()
|
||||
mktempdir() do d
|
||||
t = tempname(d)
|
||||
- @test dirname(t) == d
|
||||
+ @test_skip dirname(t) == d
|
||||
end
|
||||
@test_throws ArgumentError tempname(randstring())
|
||||
end
|
||||
--
|
||||
2.29.3
|
||||
|
@ -16,12 +16,13 @@ let compcert = mkCoqDerivation rec {
|
||||
|
||||
defaultVersion = with versions; switch coq.version [
|
||||
{ case = range "8.8" "8.11"; out = "3.8"; }
|
||||
{ case = range "8.12" "8.13"; out = "3.9"; }
|
||||
{ case = range "8.12" "8.14"; out = "3.10"; }
|
||||
] null;
|
||||
|
||||
release = {
|
||||
"3.8".sha256 = "1gzlyxvw64ca12qql3wnq3bidcx9ygsklv9grjma3ib4hvg7vnr7";
|
||||
"3.9".sha256 = "1srcz2dqrvmbvv5cl66r34zqkm0hsbryk7gd3i9xx4slahc9zvdb";
|
||||
"3.10".sha256 = "sha256:19rmx8r8v46101ij5myfrz60arqjy7q3ra3fb8mxqqi3c8c4l4j6";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
@ -5,13 +5,19 @@ with lib; mkCoqDerivation {
|
||||
pname = "coqhammer";
|
||||
owner = "lukaszcz";
|
||||
defaultVersion = with versions; switch coq.coq-version [
|
||||
{ case = "8.13"; out = "1.3.1-coq8.13"; }
|
||||
{ case = "8.12"; out = "1.3.1-coq8.12"; }
|
||||
{ case = "8.11"; out = "1.3.1-coq8.11"; }
|
||||
{ case = "8.10"; out = "1.3.1-coq8.10"; }
|
||||
{ case = "8.14"; out = "1.3.2-coq8.14"; }
|
||||
{ case = "8.13"; out = "1.3.2-coq8.13"; }
|
||||
{ case = "8.12"; out = "1.3.2-coq8.12"; }
|
||||
{ case = "8.11"; out = "1.3.2-coq8.11"; }
|
||||
{ case = "8.10"; out = "1.3.2-coq8.10"; }
|
||||
{ case = "8.9"; out = "1.1.1-coq8.9"; }
|
||||
{ case = "8.8"; out = "1.1-coq8.8"; }
|
||||
] null;
|
||||
release."1.3.2-coq8.14".sha256 = "sha256:1pvs4p95lr31jb86f33p2q9v8zq3xbci1fk6s6a2g2snfxng1574";
|
||||
release."1.3.2-coq8.13".sha256 = "sha256:0krsm8qj9lgfbggxv2jhkbk3vy2cz63qypnarnl31fdmpykchi4b";
|
||||
release."1.3.2-coq8.12".sha256 = "sha256:08mnr13lrdnpims6kf8pk6axf4s8qqs0a71hzg3frkx21d6nawhh";
|
||||
release."1.3.2-coq8.11".sha256 = "sha256:1z54lmr180rdkv549f0dygxlmamsx3fygvsm0d7rz9j88f2z8kc5";
|
||||
release."1.3.2-coq8.10".sha256 = "sha256:08d63ckiwjx07hy5smg5c7a6b3m3a8ra4ljk3z6597633dx85cd0";
|
||||
release."1.3.1-coq8.13".sha256 = "033j6saw24anb1lqbgsg1zynxi2rnxq7pgqwh11k8r8y3xisz78w";
|
||||
release."1.3.1-coq8.12".sha256 = "0xy3vy4rv8w5ydwb9nq8y4dcimd91yr0hak2j4kn02svssg1kv1y";
|
||||
release."1.3.1-coq8.11".sha256 = "0i9nlcayq0ac95vc09d1w8sd221gdjs0g215n086qscqjwimnz8j";
|
||||
|
@ -4,8 +4,7 @@ with haskellLib;
|
||||
|
||||
self: super: {
|
||||
|
||||
# This compiler version needs llvm 9.x.
|
||||
llvmPackages = pkgs.lib.dontRecurseIntoAttrs pkgs.llvmPackages_9;
|
||||
llvmPackages = pkgs.lib.dontRecurseIntoAttrs self.ghc.llvmPackages;
|
||||
|
||||
# Disable GHC 8.10.x core libraries.
|
||||
array = null;
|
||||
|
@ -4,8 +4,7 @@ with haskellLib;
|
||||
|
||||
self: super: {
|
||||
|
||||
# This compiler version needs llvm 6.x.
|
||||
llvmPackages = pkgs.lib.dontRecurseIntoAttrs pkgs.llvmPackages_6;
|
||||
llvmPackages = pkgs.lib.dontRecurseIntoAttrs self.ghc.llvmPackages;
|
||||
|
||||
# Disable GHC 8.6.x core libraries.
|
||||
array = null;
|
||||
|
@ -4,8 +4,7 @@ with haskellLib;
|
||||
|
||||
self: super: {
|
||||
|
||||
# This compiler version needs llvm 7.x.
|
||||
llvmPackages = pkgs.lib.dontRecurseIntoAttrs pkgs.llvmPackages_7;
|
||||
llvmPackages = pkgs.lib.dontRecurseIntoAttrs self.ghc.llvmPackages;
|
||||
|
||||
# Disable GHC 8.8.x core libraries.
|
||||
array = null;
|
||||
|
@ -4,8 +4,7 @@ with haskellLib;
|
||||
|
||||
self: super: {
|
||||
|
||||
# This compiler version needs llvm 10.x.
|
||||
llvmPackages = pkgs.lib.dontRecurseIntoAttrs pkgs.llvmPackages_10;
|
||||
llvmPackages = pkgs.lib.dontRecurseIntoAttrs self.ghc.llvmPackages;
|
||||
|
||||
# Disable GHC 9.0.x core libraries.
|
||||
array = null;
|
||||
|
@ -4,8 +4,7 @@ with haskellLib;
|
||||
|
||||
self: super: {
|
||||
|
||||
# This compiler version needs llvm 10.x.
|
||||
llvmPackages = pkgs.lib.dontRecurseIntoAttrs pkgs.llvmPackages_10;
|
||||
llvmPackages = pkgs.lib.dontRecurseIntoAttrs self.ghc.llvmPackages;
|
||||
|
||||
# Disable GHC 9.2.x core libraries.
|
||||
array = null;
|
||||
|
@ -11,7 +11,7 @@ with haskellLib;
|
||||
|
||||
self: super: {
|
||||
|
||||
llvmPackages = pkgs.lib.dontRecurseIntoAttrs pkgs.llvmPackages_10;
|
||||
llvmPackages = pkgs.lib.dontRecurseIntoAttrs self.ghc.llvmPackages;
|
||||
|
||||
# Disable GHC 8.7.x core libraries.
|
||||
array = null;
|
||||
|
@ -1,14 +1,8 @@
|
||||
{ lib, stdenv, ghc, llvmPackages, packages, symlinkJoin, makeWrapper
|
||||
# Include LLVM by default if GHC doesn't have native code generation support
|
||||
# See https://gitlab.haskell.org/ghc/ghc/-/wikis/platforms
|
||||
, useLLVM ? !(lib.any lib.id ([
|
||||
stdenv.targetPlatform.isx86
|
||||
stdenv.targetPlatform.isPowerPC
|
||||
stdenv.targetPlatform.isSparc
|
||||
] ++ lib.optionals (lib.versionAtLeast ghc.version "9.2") [
|
||||
(stdenv.targetPlatform.isAarch64 && stdenv.targetPlatform.isDarwin)
|
||||
# TODO(@sternenseemann): Is armv7a supported for iOS?
|
||||
]))
|
||||
# GHC will have LLVM available if necessary for the respective target,
|
||||
# so useLLVM only needs to be changed if -fllvm is to be used for a
|
||||
# platform that has NCG support
|
||||
, useLLVM ? false
|
||||
, postBuild ? ""
|
||||
, ghcLibdir ? null # only used by ghcjs, when resolving plugins
|
||||
}:
|
||||
|
@ -36,9 +36,10 @@ stdenv.mkDerivation ({
|
||||
# Some packages use the style
|
||||
# opts = -i ../../path/to/package
|
||||
# rather than the declarative pkgs attribute so we have to rewrite the path.
|
||||
postPatch = ''
|
||||
patchPhase = ''
|
||||
runHook prePatch
|
||||
sed -i ${ipkgName}.ipkg -e "/^opts/ s|-i \\.\\./|-i ${idris-with-packages}/libs/|g"
|
||||
runHook postPatch
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
|
@ -235,7 +235,7 @@ let
|
||||
homepage = "https://www.gnu.org/software/octave/";
|
||||
license = lib.licenses.gpl3Plus;
|
||||
maintainers = with lib.maintainers; [ raskin doronbehar ];
|
||||
description = "Scientific Pragramming Language";
|
||||
description = "Scientific Programming Language";
|
||||
# https://savannah.gnu.org/bugs/?func=detailitem&item_id=56425 is the best attempt to fix JIT
|
||||
broken = enableJIT;
|
||||
platforms = if overridePlatforms == null then
|
||||
|
@ -2,8 +2,8 @@
|
||||
|
||||
let
|
||||
base = callPackage ./generic.nix (_args // {
|
||||
version = "7.4.25";
|
||||
sha256 = "sha256-J5klcMrz4uUyOrezeFPETBUpsdMeqU2Xdu+pHVp4ExM=";
|
||||
version = "7.4.26";
|
||||
sha256 = "0k803j5wf4jv72px0zqz2z2hxyk2w3jr6xyczy568dx4z2l8i2yn";
|
||||
});
|
||||
|
||||
in
|
||||
|
@ -2,8 +2,8 @@
|
||||
|
||||
let
|
||||
base = callPackage ./generic.nix (_args // {
|
||||
version = "8.0.12";
|
||||
sha256 = "sha256-tIhtsd8yLcj7Eo2LNK5+lPb8aC7LKf9PWlkdTen+rb8=";
|
||||
version = "8.0.13";
|
||||
sha256 = "0djqh650clz4fy1zifazf0jq383znksydx23f1s48prrlixrshf2";
|
||||
});
|
||||
|
||||
in
|
||||
|
@ -12,13 +12,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "aws-c-auth";
|
||||
version = "0.6.5";
|
||||
version = "0.6.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "awslabs";
|
||||
repo = "aws-c-auth";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-d3UdZucicp+Z0EjWNE5Xa/EMIGPk6GtQc7f0H8RBHA8=";
|
||||
sha256 = "sha256-cZyWe3kX5JiB6th1VkkBFKa2MEilRtU+tHvu7c9e+Yw=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "aws-c-cal";
|
||||
version = "0.5.11";
|
||||
version = "0.5.12";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "awslabs";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-rmEsDsY50IKpCpQTvAFEkgCtuHwwgwMwcRpBUyyZGGc=";
|
||||
sha256 = "sha256-KzuaT9c1l9Uhyj6IEy8JfDYzEYI2OcUkq+KRDoJx+Cc=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
@ -7,13 +7,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "aws-c-common";
|
||||
version = "0.6.14";
|
||||
version = "0.6.17";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "awslabs";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-JEaRB0k6zyk5UKuB2hEZUAsnp2SuI9mrok/EvwclUJk=";
|
||||
sha256 = "sha256-+FzTEpotxco4+9gLVUL+rkCWoMjRCorKQ47JINHsnNA=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
@ -10,13 +10,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "aws-c-http";
|
||||
version = "0.6.8";
|
||||
version = "0.6.10";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "awslabs";
|
||||
repo = "aws-c-http";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-JqFvKoWW/2UV0jcR50QlD+LEPwQ4qwPoaPpioAuwf90=";
|
||||
sha256 = "sha256-R+teEKSQjSFYt3+XXvooAy4GJwN4yzEhJtiuknBZIgU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "aws-c-io";
|
||||
version = "0.10.12";
|
||||
version = "0.10.13";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "awslabs";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-8v38NN9qrgdrshMx3l2wLrl7l77HjsW2GPu8IwkclJQ=";
|
||||
sha256 = "sha256-wdsSxEY9FwJoqdi0S8TNoyq8oxoZORKWeorsSpn+1IY=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
@ -11,13 +11,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "aws-c-mqtt";
|
||||
version = "0.7.8";
|
||||
version = "0.7.9";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "awslabs";
|
||||
repo = "aws-c-mqtt";
|
||||
rev = "v${version}";
|
||||
sha256 = "19j6nw2v36c4yff4p0fbf0748s06fd5r9cp2yakry9ybn1ada99c";
|
||||
sha256 = "sha256-YMAqK4DOFA5TkMNwLHRk1m14V8lN6X5SDAwrTYWdGMc=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user