diff --git a/.github/workflows/check-by-name.yml b/.github/workflows/check-by-name.yml index 7a3598dbe2a4..faf0eb475176 100644 --- a/.github/workflows/check-by-name.yml +++ b/.github/workflows/check-by-name.yml @@ -21,6 +21,16 @@ jobs: with: # pull_request_target checks out the base branch by default ref: refs/pull/${{ github.event.pull_request.number }}/merge + # Fetches the merge commit and its parents + fetch-depth: 2 + - name: Determining PR git hashes + run: | + echo "mergedSha=$(git rev-parse HEAD)" >> "$GITHUB_ENV" + + # For pull_request_target this is the same as $GITHUB_SHA + echo "baseSha=$(git rev-parse HEAD^1)" >> "$GITHUB_ENV" + + echo "headSha=$(git rev-parse HEAD^2)" >> "$GITHUB_ENV" - uses: cachix/install-nix-action@v23 - name: Determining channel to use for dependencies run: | @@ -51,4 +61,83 @@ jobs: # Passing --max-jobs 0 makes sure that we won't build anything nix-build "$nixpkgs" -A tests.nixpkgs-check-by-name --max-jobs 0 - name: Running nixpkgs-check-by-name - run: result/bin/nixpkgs-check-by-name . + run: | + echo "Checking whether the check succeeds on the base branch $GITHUB_BASE_REF" + git checkout -q "$baseSha" + if baseOutput=$(result/bin/nixpkgs-check-by-name . 2>&1); then + baseSuccess=1 + else + baseSuccess= + fi + printf "%s\n" "$baseOutput" + + echo "Checking whether the check would succeed after merging this pull request" + git checkout -q "$mergedSha" + if mergedOutput=$(result/bin/nixpkgs-check-by-name . 2>&1); then + mergedSuccess=1 + exitCode=0 + else + mergedSuccess= + exitCode=1 + fi + printf "%s\n" "$mergedOutput" + + resultToEmoji() { + if [[ -n "$1" ]]; then + echo ":heavy_check_mark:" + else + echo ":x:" + fi + } + + # Print a markdown summary in GitHub actions + { + echo "| Nixpkgs version | Check result |" + echo "| --- | --- |" + echo "| Latest base commit | $(resultToEmoji "$baseSuccess") |" + echo "| After merging this PR | $(resultToEmoji "$mergedSuccess") |" + echo "" + + if [[ -n "$baseSuccess" ]]; then + if [[ -n "$mergedSuccess" ]]; then + echo "The check succeeds on both the base branch and after merging this PR" + else + echo "The check succeeds on the base branch, but would fail after merging this PR:" + echo "\`\`\`" + echo "$mergedOutput" + echo "\`\`\`" + echo "" + fi + else + if [[ -n "$mergedSuccess" ]]; then + echo "The check fails on the base branch, but this PR fixes it, nicely done!" + else + echo "The check fails on both the base branch and after merging this PR, unknown if only this PRs changes would satisfy the check, the base branch needs to be fixed first." + echo "" + echo "Failure on the base branch:" + echo "\`\`\`" + echo "$baseOutput" + echo "\`\`\`" + echo "" + echo "Failure after merging this PR:" + echo "\`\`\`" + echo "$mergedOutput" + echo "\`\`\`" + echo "" + fi + fi + + echo "### Details" + echo "- nixpkgs-check-by-name tool:" + echo " - Channel: $channel" + echo " - Nixpkgs commit: [$rev](https://github.com/${GITHUB_REPOSITORY}/commit/$rev)" + echo " - Store path: \`$(realpath result)\`" + echo "- Tested Nixpkgs:" + echo " - Base branch $GITHUB_BASE_REF" + echo " - Latest base branch commit: [$baseSha](https://github.com/${GITHUB_REPOSITORY}/commit/$baseSha)" + echo " - Latest PR commit: [$headSha](https://github.com/${GITHUB_REPOSITORY}/commit/$headSha)" + echo " - Merge commit: [$mergedSha](https://github.com/${GITHUB_REPOSITORY}/commit/$mergedSha)" + } >> "$GITHUB_STEP_SUMMARY" + + exit "$exitCode" + diff --git a/doc/languages-frameworks/vim.section.md b/doc/languages-frameworks/vim.section.md index 5e25c1ed423e..1f3727f552c8 100644 --- a/doc/languages-frameworks/vim.section.md +++ b/doc/languages-frameworks/vim.section.md @@ -212,9 +212,9 @@ Note: this is not possible anymore for Neovim. ## Adding new plugins to nixpkgs {#adding-new-plugins-to-nixpkgs} -Nix expressions for Vim plugins are stored in [pkgs/applications/editors/vim/plugins](https://github.com/NixOS/nixpkgs/tree/master/pkgs/applications/editors/vim/plugins). For the vast majority of plugins, Nix expressions are automatically generated by running [`./update.py`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/vim/plugins/update.py). This creates a [generated.nix](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/vim/plugins/generated.nix) file based on the plugins listed in [vim-plugin-names](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/vim/plugins/vim-plugin-names). +Nix expressions for Vim plugins are stored in [pkgs/applications/editors/vim/plugins](https://github.com/NixOS/nixpkgs/tree/master/pkgs/applications/editors/vim/plugins). For the vast majority of plugins, Nix expressions are automatically generated by running [`nix-shell -p vimPluginsUpdater --run vim-plugins-updater`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/vim/plugins/updater.nix). This creates a [generated.nix](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/vim/plugins/generated.nix) file based on the plugins listed in [vim-plugin-names](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/vim/plugins/vim-plugin-names). -After running `./update.py`, if nvim-treesitter received an update, also run [`nvim-treesitter/update.py`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/vim/plugins/update.py) to update the tree sitter grammars for `nvim-treesitter`. +After running the updater, if nvim-treesitter received an update, also run [`nvim-treesitter/update.py`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/vim/plugins/update.py) to update the tree sitter grammars for `nvim-treesitter`. Some plugins require overrides in order to function properly. Overrides are placed in [overrides.nix](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/vim/plugins/overrides.nix). Overrides are most often required when a plugin requires some dependencies, or extra steps are required during the build process. For example `deoplete-fish` requires both `deoplete-nvim` and `vim-fish`, and so the following override was added: @@ -241,7 +241,8 @@ GITHUB_API_TOKEN=my_token ./pkgs/applications/editors/vim/plugins/update.py Alternatively, set the number of processes to a lower count to avoid rate-limiting. ```sh -./pkgs/applications/editors/vim/plugins/update.py --proc 1 + +nix-shell -p vimPluginsUpdater --run 'vim-plugins-updater --proc 1' ``` ## How to maintain an out-of-tree overlay of vim plugins ? {#vim-out-of-tree-overlays} @@ -250,7 +251,7 @@ You can use the updater script to generate basic packages out of a custom vim plugin list: ``` -pkgs/applications/editors/vim/plugins/update.py -i vim-plugin-names -o generated.nix --no-commit +nix-shell -p vimPluginsUpdater --run vim-plugins-updater -i vim-plugin-names -o generated.nix --no-commit ``` with the contents of `vim-plugin-names` being for example: @@ -264,7 +265,7 @@ You can then reference the generated vim plugins via: ```nix myVimPlugins = pkgs.vimPlugins.extend ( - (pkgs.callPackage generated.nix {}) + (pkgs.callPackage ./generated.nix {}) ); ``` diff --git a/lib/fileset/README.md b/lib/fileset/README.md index 6e57f1f8f2b4..2ef7b81e8850 100644 --- a/lib/fileset/README.md +++ b/lib/fileset/README.md @@ -41,9 +41,16 @@ An attribute set with these values: - `_type` (constant string `"fileset"`): Tag to indicate this value is a file set. -- `_internalVersion` (constant `2`, the current version): +- `_internalVersion` (constant `3`, the current version): Version of the representation. +- `_internalIsEmptyWithoutBase` (bool): + Whether this file set is the empty file set without a base path. + If `true`, `_internalBase*` and `_internalTree` are not set. + This is the only way to represent an empty file set without needing a base path. + + Such a value can be used as the identity element for `union` and the return value of `unions []` and co. + - `_internalBase` (path): Any files outside of this path cannot influence the set of files. This is always a directory. @@ -111,6 +118,26 @@ Arguments: - (+) This can be removed later, if we discover it's too restrictive - (-) It leads to errors when a sensible result could sometimes be returned, such as in the above example. +### Empty file set without a base + +There is a special representation for an empty file set without a base path. +This is used for return values that should be empty but when there's no base path that would makes sense. + +Arguments: +- Alternative: This could also be represented using `_internalBase = /.` and `_internalTree = null`. + - (+) Removes the need for a special representation. + - (-) Due to [influence tracking](#influence-tracking), + `union empty ./.` would have `/.` as the base path, + which would then prevent `toSource { root = ./.; fileset = union empty ./.; }` from working, + which is not as one would expect. + - (-) With the assumption that there can be multiple filesystem roots (as established with the [path library](../path/README.md)), + this would have to cause an error with `union empty pathWithAnotherFilesystemRoot`, + which is not as one would expect. +- Alternative: Do not have such a value and error when it would be needed as a return value + - (+) Removes the need for a special representation. + - (-) Leaves us with no identity element for `union` and no reasonable return value for `unions []`. + From a set theory perspective, which has a well-known notion of empty sets, this is unintuitive. + ### Empty directories File sets can only represent a _set_ of local files, directories on their own are not representable. diff --git a/lib/fileset/default.nix b/lib/fileset/default.nix index 88c8dcd1a70b..ab26112c9470 100644 --- a/lib/fileset/default.nix +++ b/lib/fileset/default.nix @@ -156,7 +156,7 @@ If a directory does not recursively contain any file, it is omitted from the sto lib.fileset.toSource: `root` is of type ${typeOf root}, but it should be a path instead.'' # Currently all Nix paths have the same filesystem root, but this could change in the future. # See also ../path/README.md - else if rootFilesystemRoot != filesetFilesystemRoot then + else if ! fileset._internalIsEmptyWithoutBase && rootFilesystemRoot != filesetFilesystemRoot then throw '' lib.fileset.toSource: Filesystem roots are not the same for `fileset` and `root` ("${toString root}"): `root`: root "${toString rootFilesystemRoot}" @@ -170,7 +170,7 @@ If a directory does not recursively contain any file, it is omitted from the sto lib.fileset.toSource: `root` (${toString root}) is a file, but it should be a directory instead. Potential solutions: - If you want to import the file into the store _without_ a containing directory, use string interpolation or `builtins.path` instead of this function. - If you want to import the file into the store _with_ a containing directory, set `root` to the containing directory, such as ${toString (dirOf root)}, and set `fileset` to the file path.'' - else if ! hasPrefix root fileset._internalBase then + else if ! fileset._internalIsEmptyWithoutBase && ! hasPrefix root fileset._internalBase then throw '' lib.fileset.toSource: `fileset` could contain files in ${toString fileset._internalBase}, which is not under the `root` (${toString root}). Potential solutions: - Set `root` to ${toString fileset._internalBase} or any directory higher up. This changes the layout of the resulting store path. @@ -264,9 +264,6 @@ If a directory does not recursively contain any file, it is omitted from the sto filesets: if ! isList filesets then throw "lib.fileset.unions: Expected argument to be a list, but got a ${typeOf filesets}." - else if filesets == [ ] then - # TODO: This could be supported, but requires an extra internal representation for the empty file set, which would be special for not having a base path. - throw "lib.fileset.unions: Expected argument to be a list with at least one element, but it contains no elements." else pipe filesets [ # Annotate the elements with context, used by _coerceMany for better errors diff --git a/lib/fileset/internal.nix b/lib/fileset/internal.nix index 2c329edb390d..b3dbc5b33dc3 100644 --- a/lib/fileset/internal.nix +++ b/lib/fileset/internal.nix @@ -28,6 +28,7 @@ let drop elemAt filter + findFirst findFirstIndex foldl' head @@ -64,7 +65,7 @@ rec { # - Increment this version # - Add an additional migration function below # - Update the description of the internal representation in ./README.md - _currentVersion = 2; + _currentVersion = 3; # Migrations between versions. The 0th element converts from v0 to v1, and so on migrations = [ @@ -89,8 +90,34 @@ rec { _internalVersion = 2; } ) + + # Convert v2 into v3: filesetTree's now have a representation for an empty file set without a base path + ( + filesetV2: + filesetV2 // { + # All v1 file sets are not the new empty file set + _internalIsEmptyWithoutBase = false; + _internalVersion = 3; + } + ) ]; + _noEvalMessage = '' + lib.fileset: Directly evaluating a file set is not supported. Use `lib.fileset.toSource` to turn it into a usable source instead.''; + + # The empty file set without a base path + _emptyWithoutBase = { + _type = "fileset"; + + _internalVersion = _currentVersion; + + # The one and only! + _internalIsEmptyWithoutBase = true; + + # Double __ to make it be evaluated and ordered first + __noEval = throw _noEvalMessage; + }; + # Create a fileset, see ./README.md#fileset # Type: path -> filesetTree -> fileset _create = base: tree: @@ -103,14 +130,15 @@ rec { _type = "fileset"; _internalVersion = _currentVersion; + + _internalIsEmptyWithoutBase = false; _internalBase = base; _internalBaseRoot = parts.root; _internalBaseComponents = components parts.subpath; _internalTree = tree; # Double __ to make it be evaluated and ordered first - __noEval = throw '' - lib.fileset: Directly evaluating a file set is not supported. Use `lib.fileset.toSource` to turn it into a usable source instead.''; + __noEval = throw _noEvalMessage; }; # Coerce a value to a fileset, erroring when the value cannot be coerced. @@ -155,14 +183,20 @@ rec { _coerce "${functionContext}: ${context}" value ) list; - firstBaseRoot = (head filesets)._internalBaseRoot; + # Find the first value with a base, there may be none! + firstWithBase = findFirst (fileset: ! fileset._internalIsEmptyWithoutBase) null filesets; + # This value is only accessed if first != null + firstBaseRoot = firstWithBase._internalBaseRoot; # Finds the first element with a filesystem root different than the first element, if any differentIndex = findFirstIndex (fileset: - firstBaseRoot != fileset._internalBaseRoot + # The empty value without a base doesn't have a base path + ! fileset._internalIsEmptyWithoutBase + && firstBaseRoot != fileset._internalBaseRoot ) null filesets; in - if differentIndex != null then + # Only evaluates `differentIndex` if there are any elements with a base + if firstWithBase != null && differentIndex != null then throw '' ${functionContext}: Filesystem roots are not the same: ${(head list).context}: root "${toString firstBaseRoot}" @@ -311,7 +345,7 @@ rec { # Special case because the code below assumes that the _internalBase is always included in the result # which shouldn't be done when we have no files at all in the base # This also forces the tree before returning the filter, leads to earlier error messages - if tree == null then + if fileset._internalIsEmptyWithoutBase || tree == null then empty else nonEmpty; @@ -321,7 +355,12 @@ rec { # Type: [ Fileset ] -> Fileset _unionMany = filesets: let - first = head filesets; + # All filesets that have a base, aka not the ones that are the empty value without a base + filesetsWithBase = filter (fileset: ! fileset._internalIsEmptyWithoutBase) filesets; + + # The first fileset that has a base. + # This value is only accessed if there are at all. + firstWithBase = head filesetsWithBase; # To be able to union filesetTree's together, they need to have the same base path. # Base paths can be unioned by taking their common prefix, @@ -332,14 +371,14 @@ rec { # so this cannot cause a stack overflow due to a build-up of unevaluated thunks. commonBaseComponents = foldl' (components: el: commonPrefix components el._internalBaseComponents) - first._internalBaseComponents + firstWithBase._internalBaseComponents # We could also not do the `tail` here to avoid a list allocation, # but then we'd have to pay for a potentially expensive # but unnecessary `commonPrefix` call - (tail filesets); + (tail filesetsWithBase); # The common base path assembled from a filesystem root and the common components - commonBase = append first._internalBaseRoot (join commonBaseComponents); + commonBase = append firstWithBase._internalBaseRoot (join commonBaseComponents); # A list of filesetTree's that all have the same base path # This is achieved by nesting the trees into the components they have over the common base path @@ -351,14 +390,18 @@ rec { setAttrByPath (drop (length commonBaseComponents) fileset._internalBaseComponents) fileset._internalTree - ) filesets; + ) filesetsWithBase; # Folds all trees together into a single one using _unionTree # We do not use a fold here because it would cause a thunk build-up # which could cause a stack overflow for a large number of trees resultTree = _unionTrees trees; in - _create commonBase resultTree; + # If there's no values with a base, we have no files + if filesetsWithBase == [ ] then + _emptyWithoutBase + else + _create commonBase resultTree; # The union of multiple filesetTree's with the same base path. # Later elements are only evaluated if necessary. diff --git a/lib/fileset/tests.sh b/lib/fileset/tests.sh index 0ea96859e7a3..525b8aaa9170 100755 --- a/lib/fileset/tests.sh +++ b/lib/fileset/tests.sh @@ -282,24 +282,27 @@ expectFailure 'toSource { root = ./.; fileset = ./a; }' 'lib.fileset.toSource: ` # File sets cannot be evaluated directly expectFailure 'union ./. ./.' 'lib.fileset: Directly evaluating a file set is not supported. Use `lib.fileset.toSource` to turn it into a usable source instead.' +expectFailure '_emptyWithoutBase' 'lib.fileset: Directly evaluating a file set is not supported. Use `lib.fileset.toSource` to turn it into a usable source instead.' # Past versions of the internal representation are supported expectEqual '_coerce ": value" { _type = "fileset"; _internalVersion = 0; _internalBase = ./.; }' \ - '{ _internalBase = ./.; _internalBaseComponents = path.subpath.components (path.splitRoot ./.).subpath; _internalBaseRoot = /.; _internalVersion = 2; _type = "fileset"; }' + '{ _internalBase = ./.; _internalBaseComponents = path.subpath.components (path.splitRoot ./.).subpath; _internalBaseRoot = /.; _internalIsEmptyWithoutBase = false; _internalVersion = 3; _type = "fileset"; }' expectEqual '_coerce ": value" { _type = "fileset"; _internalVersion = 1; }' \ - '{ _type = "fileset"; _internalVersion = 2; }' + '{ _type = "fileset"; _internalIsEmptyWithoutBase = false; _internalVersion = 3; }' +expectEqual '_coerce ": value" { _type = "fileset"; _internalVersion = 2; }' \ + '{ _type = "fileset"; _internalIsEmptyWithoutBase = false; _internalVersion = 3; }' # Future versions of the internal representation are unsupported -expectFailure '_coerce ": value" { _type = "fileset"; _internalVersion = 3; }' ': value is a file set created from a future version of the file set library with a different internal representation: -\s*- Internal version of the file set: 3 -\s*- Internal version of the library: 2 +expectFailure '_coerce ": value" { _type = "fileset"; _internalVersion = 4; }' ': value is a file set created from a future version of the file set library with a different internal representation: +\s*- Internal version of the file set: 4 +\s*- Internal version of the library: 3 \s*Make sure to update your Nixpkgs to have a newer version of `lib.fileset`.' # _create followed by _coerce should give the inputs back without any validation expectEqual '{ inherit (_coerce "" (_create ./. "directory")) _internalVersion _internalBase _internalTree; -}' '{ _internalBase = ./.; _internalTree = "directory"; _internalVersion = 2; }' +}' '{ _internalBase = ./.; _internalTree = "directory"; _internalVersion = 3; }' #### Resulting store path #### @@ -311,6 +314,12 @@ tree=( ) checkFileset './.' +# The empty value without a base should also result in an empty result +tree=( + [a]=0 +) +checkFileset '_emptyWithoutBase' + # Directories recursively containing no files are not included tree=( [e/]=0 @@ -408,13 +417,30 @@ expectFailure 'toSource { root = ./.; fileset = unions [ ./. ./b ]; }' 'lib.file # unions needs a list with at least 1 element expectFailure 'toSource { root = ./.; fileset = unions null; }' 'lib.fileset.unions: Expected argument to be a list, but got a null.' -expectFailure 'toSource { root = ./.; fileset = unions [ ]; }' 'lib.fileset.unions: Expected argument to be a list with at least one element, but it contains no elements.' # The tree of later arguments should not be evaluated if a former argument already includes all files tree=() checkFileset 'union ./. (_create ./. (abort "This should not be used!"))' checkFileset 'unions [ ./. (_create ./. (abort "This should not be used!")) ]' +# unions doesn't include any files for an empty list or only empty values without a base +tree=( + [x]=0 + [y/z]=0 +) +checkFileset 'unions [ ]' +checkFileset 'unions [ _emptyWithoutBase ]' +checkFileset 'unions [ _emptyWithoutBase _emptyWithoutBase ]' +checkFileset 'union _emptyWithoutBase _emptyWithoutBase' + +# The empty value without a base is the left and right identity of union +tree=( + [x]=1 + [y/z]=0 +) +checkFileset 'union ./x _emptyWithoutBase' +checkFileset 'union _emptyWithoutBase ./x' + # union doesn't include files that weren't specified tree=( [x]=1 @@ -467,12 +493,13 @@ for i in $(seq 1000); do tree[$i/a]=1 tree[$i/b]=0 done -( - # Locally limit the maximum stack size to 100 * 1024 bytes - # If unions was implemented recursively, this would stack overflow - ulimit -s 100 - checkFileset 'unions (mapAttrsToList (name: _: ./. + "/${name}/a") (builtins.readDir ./.))' -) +# This is actually really hard to test: +# A lot of files would be needed to cause a stack overflow. +# And while we could limit the maximum stack size using `ulimit -s`, +# that turns out to not be very deterministic: https://github.com/NixOS/nixpkgs/pull/256417#discussion_r1339396686. +# Meanwhile, the test infra here is not the fastest, creating 10000 would be too slow. +# So, just using 1000 files for now. +checkFileset 'unions (mapAttrsToList (name: _: ./. + "/${name}/a") (builtins.readDir ./.))' # TODO: Once we have combinators and a property testing library, derive property tests from https://en.wikipedia.org/wiki/Algebra_of_sets diff --git a/maintainers/scripts/luarocks-packages.csv b/maintainers/scripts/luarocks-packages.csv index 52ac8a934319..3ce3f3d73433 100644 --- a/maintainers/scripts/luarocks-packages.csv +++ b/maintainers/scripts/luarocks-packages.csv @@ -89,6 +89,7 @@ lyaml,,,,,,lblasc magick,,,,,,donovanglover markdown,,,,,, mediator_lua,,,,,, +middleclass,,,,,, mpack,,,,,, moonscript,https://github.com/leafo/moonscript.git,dev-1,,,,arobyn nvim-client,https://github.com/neovim/lua-client.git,,,,, diff --git a/maintainers/scripts/pluginupdate.py b/maintainers/scripts/pluginupdate.py index 6a607eb62480..18b354f0be9c 100644 --- a/maintainers/scripts/pluginupdate.py +++ b/maintainers/scripts/pluginupdate.py @@ -321,8 +321,14 @@ def load_plugins_from_csv( return plugins -def run_nix_expr(expr): - with CleanEnvironment() as nix_path: + +def run_nix_expr(expr, nixpkgs: str): + ''' + :param expr nix expression to fetch current plugins + :param nixpkgs Path towards a nixpkgs checkout + ''' + # local_pkgs = str(Path(__file__).parent.parent.parent) + with CleanEnvironment(nixpkgs) as nix_path: cmd = [ "nix", "eval", @@ -396,9 +402,9 @@ class Editor: """CSV spec""" print("the update member function should be overriden in subclasses") - def get_current_plugins(self) -> List[Plugin]: + def get_current_plugins(self, nixpkgs) -> List[Plugin]: """To fill the cache""" - data = run_nix_expr(self.get_plugins) + data = run_nix_expr(self.get_plugins, nixpkgs) plugins = [] for name, attr in data.items(): p = Plugin(name, attr["rev"], attr["submodules"], attr["sha256"]) @@ -414,7 +420,7 @@ class Editor: raise NotImplementedError() def get_update(self, input_file: str, outfile: str, config: FetchConfig): - cache: Cache = Cache(self.get_current_plugins(), self.cache_file) + cache: Cache = Cache(self.get_current_plugins(self.nixpkgs), self.cache_file) _prefetch = functools.partial(prefetch, cache=cache) def update() -> dict: @@ -453,6 +459,12 @@ class Editor: By default from {self.default_in} to {self.default_out}""" ), ) + common.add_argument( + "--nixpkgs", + type=str, + default=os.getcwd(), + help="Adjust log level", + ) common.add_argument( "--input-names", "-i", @@ -541,22 +553,27 @@ class Editor: command = args.command or "update" log.setLevel(LOG_LEVELS[args.debug]) log.info("Chose to run command: %s", command) + self.nixpkgs = args.nixpkgs - if not args.no_commit: - self.nixpkgs_repo = git.Repo(self.root, search_parent_directories=True) + self.nixpkgs_repo = git.Repo(args.nixpkgs, search_parent_directories=True) getattr(self, command)(args) class CleanEnvironment(object): + def __init__(self, nixpkgs): + self.local_pkgs = nixpkgs + def __enter__(self) -> str: - self.old_environ = os.environ.copy() + """ local_pkgs = str(Path(__file__).parent.parent.parent) + """ + self.old_environ = os.environ.copy() self.empty_config = NamedTemporaryFile() self.empty_config.write(b"{}") self.empty_config.flush() - os.environ["NIXPKGS_CONFIG"] = self.empty_config.name - return f"localpkgs={local_pkgs}" + # os.environ["NIXPKGS_CONFIG"] = self.empty_config.name + return f"localpkgs={self.local_pkgs}" def __exit__(self, exc_type: Any, exc_value: Any, traceback: Any) -> None: os.environ.update(self.old_environ) @@ -758,7 +775,8 @@ def commit(repo: git.Repo, message: str, files: List[Path]) -> None: def update_plugins(editor: Editor, args): - """The main entry function of this module. All input arguments are grouped in the `Editor`.""" + """The main entry function of this module. + All input arguments are grouped in the `Editor`.""" log.info("Start updating plugins") fetch_config = FetchConfig(args.proc, args.github_token) diff --git a/maintainers/scripts/update-luarocks-packages b/maintainers/scripts/update-luarocks-packages index 791cd8a1d89d..32c2b44260b3 100755 --- a/maintainers/scripts/update-luarocks-packages +++ b/maintainers/scripts/update-luarocks-packages @@ -2,11 +2,11 @@ #!nix-shell update-luarocks-shell.nix -i python3 # format: -# $ nix run nixpkgs.python3Packages.black -c black update.py +# $ nix run nixpkgs#python3Packages.black -- update.py # type-check: -# $ nix run nixpkgs.python3Packages.mypy -c mypy update.py +# $ nix run nixpkgs#python3Packages.mypy -- update.py # linted: -# $ nix run nixpkgs.python3Packages.flake8 -c flake8 --ignore E501,E265,E402 update.py +# $ nix run nixpkgs#python3Packages.flake8 -- --ignore E501,E265,E402 update.py import inspect import os @@ -25,14 +25,14 @@ from pathlib import Path log = logging.getLogger() log.addHandler(logging.StreamHandler()) -ROOT = Path(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))).parent.parent # type: ignore +ROOT = Path(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))).parent.parent # type: ignore import pluginupdate from pluginupdate import update_plugins, FetchConfig, CleanEnvironment -PKG_LIST="maintainers/scripts/luarocks-packages.csv" -TMP_FILE="$(mktemp)" -GENERATED_NIXFILE="pkgs/development/lua-modules/generated-packages.nix" -LUAROCKS_CONFIG="maintainers/scripts/luarocks-config.lua" +PKG_LIST = "maintainers/scripts/luarocks-packages.csv" +TMP_FILE = "$(mktemp)" +GENERATED_NIXFILE = "pkgs/development/lua-modules/generated-packages.nix" +LUAROCKS_CONFIG = "maintainers/scripts/luarocks-config.lua" HEADER = """/* {GENERATED_NIXFILE} is an auto-generated file -- DO NOT EDIT! Regenerate it with: @@ -40,36 +40,40 @@ nixpkgs$ ./maintainers/scripts/update-luarocks-packages You can customize the generated packages in pkgs/development/lua-modules/overrides.nix */ -""".format(GENERATED_NIXFILE=GENERATED_NIXFILE) +""".format( + GENERATED_NIXFILE=GENERATED_NIXFILE +) -FOOTER=""" +FOOTER = """ } /* GENERATED - do not edit this file */ """ + @dataclass class LuaPlugin: name: str - '''Name of the plugin, as seen on luarocks.org''' + """Name of the plugin, as seen on luarocks.org""" src: str - '''address to the git repository''' + """address to the git repository""" ref: Optional[str] - '''git reference (branch name/tag)''' + """git reference (branch name/tag)""" version: Optional[str] - '''Set it to pin a package ''' + """Set it to pin a package """ server: Optional[str] - '''luarocks.org registers packages under different manifests. + """luarocks.org registers packages under different manifests. Its value can be 'http://luarocks.org/dev' - ''' + """ luaversion: Optional[str] - '''Attribue of the lua interpreter if a package is available only for a specific lua version''' + """Attribue of the lua interpreter if a package is available only for a specific lua version""" maintainers: Optional[str] - ''' Optional string listing maintainers separated by spaces''' + """ Optional string listing maintainers separated by spaces""" @property def normalized_name(self) -> str: return self.name.replace(".", "-") + # rename Editor to LangUpdate/ EcosystemUpdater class LuaEditor(pluginupdate.Editor): def get_current_plugins(self): @@ -77,11 +81,13 @@ class LuaEditor(pluginupdate.Editor): def load_plugin_spec(self, input_file) -> List[LuaPlugin]: luaPackages = [] - csvfilename=input_file + csvfilename = input_file log.info("Loading package descriptions from %s", csvfilename) - with open(csvfilename, newline='') as csvfile: - reader = csv.DictReader(csvfile,) + with open(csvfilename, newline="") as csvfile: + reader = csv.DictReader( + csvfile, + ) for row in reader: # name,server,version,luaversion,maintainers plugin = LuaPlugin(**row) @@ -91,23 +97,19 @@ class LuaEditor(pluginupdate.Editor): def update(self, args): update_plugins(self, args) - def generate_nix( - self, - results: List[Tuple[LuaPlugin, str]], - outfilename: str - ): - + def generate_nix(self, results: List[Tuple[LuaPlugin, str]], outfilename: str): with tempfile.NamedTemporaryFile("w+") as f: f.write(HEADER) header2 = textwrap.dedent( - # header2 = inspect.cleandoc( - """ + # header2 = inspect.cleandoc( + """ { self, stdenv, lib, fetchurl, fetchgit, callPackage, ... } @ args: final: prev: { - """) + """ + ) f.write(header2) - for (plugin, nix_expr) in results: + for plugin, nix_expr in results: f.write(f"{plugin.normalized_name} = {nix_expr}") f.write(FOOTER) f.flush() @@ -156,19 +158,20 @@ class LuaEditor(pluginupdate.Editor): # luaPackages.append(plugin) pass + def generate_pkg_nix(plug: LuaPlugin): - ''' + """ Generate nix expression for a luarocks package Our cache key associates "p.name-p.version" to its rockspec - ''' + """ log.debug("Generating nix expression for %s", plug.name) custom_env = os.environ.copy() - custom_env['LUAROCKS_CONFIG'] = LUAROCKS_CONFIG + custom_env["LUAROCKS_CONFIG"] = LUAROCKS_CONFIG # we add --dev else luarocks wont find all the "scm" (=dev) versions of the # packages - # , "--dev" - cmd = [ "luarocks", "nix" ] + # , "--dev" + cmd = ["luarocks", "nix"] if plug.maintainers: cmd.append(f"--maintainers={plug.maintainers}") @@ -176,7 +179,10 @@ def generate_pkg_nix(plug: LuaPlugin): # if plug.server == "src": if plug.src != "": if plug.src is None: - msg = "src must be set when 'version' is set to \"src\" for package %s" % plug.name + msg = ( + "src must be set when 'version' is set to \"src\" for package %s" + % plug.name + ) log.error(msg) raise RuntimeError(msg) log.debug("Updating from source %s", plug.src) @@ -185,7 +191,6 @@ def generate_pkg_nix(plug: LuaPlugin): else: cmd.append(plug.name) if plug.version and plug.version != "src": - cmd.append(plug.version) if plug.server != "src" and plug.server: @@ -194,23 +199,26 @@ def generate_pkg_nix(plug: LuaPlugin): if plug.luaversion: cmd.append(f"--lua-version={plug.luaversion}") - log.debug("running %s", ' '.join(cmd)) + log.debug("running %s", " ".join(cmd)) output = subprocess.check_output(cmd, env=custom_env, text=True) output = "callPackage(" + output.strip() + ") {};\n\n" return (plug, output) -def main(): - editor = LuaEditor("lua", ROOT, '', - default_in = ROOT.joinpath(PKG_LIST), - default_out = ROOT.joinpath(GENERATED_NIXFILE) - ) +def main(): + editor = LuaEditor( + "lua", + ROOT, + "", + default_in=ROOT.joinpath(PKG_LIST), + default_out=ROOT.joinpath(GENERATED_NIXFILE), + ) editor.run() -if __name__ == "__main__": +if __name__ == "__main__": main() # vim: set ft=python noet fdm=manual fenc=utf-8 ff=unix sts=0 sw=4 ts=4 : diff --git a/nixos/modules/services/x11/display-managers/sddm.nix b/nixos/modules/services/x11/display-managers/sddm.nix index 47e60236eaeb..25470e2d3c2f 100644 --- a/nixos/modules/services/x11/display-managers/sddm.nix +++ b/nixos/modules/services/x11/display-managers/sddm.nix @@ -33,6 +33,8 @@ let # Implementation is done via pkgs/applications/display-managers/sddm/sddm-default-session.patch DefaultSession = optionalString (dmcfg.defaultSession != null) "${dmcfg.defaultSession}.desktop"; + + DisplayServer = if cfg.wayland.enable then "wayland" else "x11"; }; Theme = { @@ -62,6 +64,7 @@ let Wayland = { EnableHiDPI = cfg.enableHidpi; SessionDir = "${dmcfg.sessionData.desktops}/share/wayland-sessions"; + CompositorCommand = lib.optionalString cfg.wayland.enable cfg.wayland.compositorCommand; }; } // lib.optionalAttrs dmcfg.autoLogin.enable { Autologin = { @@ -184,6 +187,32 @@ in ''; }; }; + + # Experimental Wayland support + wayland = { + enable = mkEnableOption "experimental Wayland support"; + + compositorCommand = mkOption { + type = types.str; + internal = true; + + # This is basically the upstream default, but with Weston referenced by full path + # and the configuration generated from NixOS options. + default = let westonIni = (pkgs.formats.ini {}).generate "weston.ini" { + libinput = { + enable-tap = xcfg.libinput.mouse.tapping; + left-handed = xcfg.libinput.mouse.leftHanded; + }; + keyboard = { + keymap_model = xcfg.xkbModel; + keymap_layout = xcfg.layout; + keymap_variant = xcfg.xkbVariant; + keymap_options = xcfg.xkbOptions; + }; + }; in "${pkgs.weston}/bin/weston --shell=fullscreen-shell.so -c ${westonIni}"; + description = lib.mdDoc "Command used to start the selected compositor"; + }; + }; }; }; diff --git a/pkgs/applications/display-managers/sddm/default.nix b/pkgs/applications/display-managers/sddm/default.nix index 04826274bb69..94550f69d941 100644 --- a/pkgs/applications/display-managers/sddm/default.nix +++ b/pkgs/applications/display-managers/sddm/default.nix @@ -1,4 +1,4 @@ -{ mkDerivation, lib, fetchFromGitHub +{ mkDerivation, lib, fetchFromGitHub, fetchpatch , cmake, extra-cmake-modules, pkg-config, qttools , libxcb, libXau, pam, qtbase, qtdeclarative, qtquickcontrols2, systemd, xkeyboardconfig }: @@ -16,6 +16,25 @@ mkDerivation rec { patches = [ ./sddm-ignore-config-mtime.patch ./sddm-default-session.patch + + # FIXME: all of the following are Wayland related backports, drop in next release + # Don't use Qt virtual keyboard on Wayland + (fetchpatch { + url = "https://github.com/sddm/sddm/commit/07631f2ef00a52d883d0fd47ff7d1e1a6bc6358f.patch"; + hash = "sha256-HTSw3YeT4z9ldr4sLmsnrPQ+LA8/a6XxrF+KUFqXUlM="; + }) + + # Fix running sddm-greeter manually in Wayland sessions + (fetchpatch { + url = "https://github.com/sddm/sddm/commit/e27b70957505dc7b986ab2fa68219af546c63344.patch"; + hash = "sha256-6hzrFeS2epL9vzLOA29ZA/dD3Jd4rPMBHhNp+FBq1bA="; + }) + + # Prefer GreeterEnvironment over PAM environment + (fetchpatch { + url = "https://github.com/sddm/sddm/commit/9e7791d5fb375933d20f590daba9947195515b26.patch"; + hash = "sha256-JNsVTJNZV6T+SPqPkaFf3wg8NDqXGx8NZ4qQfZWOli4="; + }) ]; postPatch = '' diff --git a/pkgs/applications/editors/atom/default.nix b/pkgs/applications/editors/atom/default.nix deleted file mode 100644 index 29c4bb6c884c..000000000000 --- a/pkgs/applications/editors/atom/default.nix +++ /dev/null @@ -1,96 +0,0 @@ -{ lib, stdenv, pkgs, fetchurl, wrapGAppsHook, glib, gtk3, atomEnv }: - -let - versions = { - atom = { - version = "1.60.0"; - sha256 = "sha256-XHwCWQYrnUkR0lN7/Or/Uxb53hEWmIQKkNfNSX34kaY="; - }; - - atom-beta = { - version = "1.61.0"; - beta = 0; - sha256 = "sha256-viY/is7Nh3tlIkHhUBWtgMAjD6HDiC0pyJpUjsP5pRY="; - broken = true; - }; - }; - - common = pname: {version, sha256, beta ? null, broken ? false}: - let fullVersion = version + lib.optionalString (beta != null) "-beta${toString beta}"; - name = "${pname}-${fullVersion}"; - in stdenv.mkDerivation { - inherit name; - version = fullVersion; - - src = fetchurl { - url = "https://github.com/atom/atom/releases/download/v${fullVersion}/atom-amd64.deb"; - name = "${name}.deb"; - inherit sha256; - }; - - nativeBuildInputs = [ - wrapGAppsHook # Fix error: GLib-GIO-ERROR **: No GSettings schemas are installed on the system - ]; - - buildInputs = [ - gtk3 # Fix error: GLib-GIO-ERROR **: Settings schema 'org.gtk.Settings.FileChooser' is not installed - ]; - - dontBuild = true; - dontConfigure = true; - - unpackPhase = '' - ar p $src data.tar.xz | tar xJ ./usr/ - ''; - - installPhase = '' - runHook preInstall - - mkdir -p $out - mv usr/bin usr/share $out - rm -rf $out/share/lintian - - runHook postInstall - ''; - - preFixup = '' - gappsWrapperArgs+=( - # needed for gio executable to be able to delete files - --prefix "PATH" : "${glib.bin}/bin" - ) - ''; - - postFixup = '' - share=$out/share/${pname} - - patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - --set-rpath "${atomEnv.libPath}:$share" \ - $share/atom - patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - --set-rpath "${atomEnv.libPath}" \ - $share/resources/app/apm/bin/node - patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - $share/resources/app.asar.unpacked/node_modules/symbols-view/vendor/ctags-linux - - dugite=$share/resources/app.asar.unpacked/node_modules/dugite - rm -f $dugite/git/bin/git - ln -s ${pkgs.git}/bin/git $dugite/git/bin/git - rm -f $dugite/git/libexec/git-core/git - ln -s ${pkgs.git}/bin/git $dugite/git/libexec/git-core/git - - find $share -name "*.node" -exec patchelf --set-rpath "${atomEnv.libPath}:$share" {} \; - - sed -i -e "s|Exec=.*$|Exec=$out/bin/${pname}|" $out/share/applications/${pname}.desktop - ''; - - meta = with lib; { - description = "A hackable text editor for the 21st Century"; - homepage = "https://atom.io/"; - sourceProvenance = with sourceTypes; [ binaryNativeCode ]; - license = licenses.mit; - maintainers = with maintainers; [ offline ysndr ]; - platforms = platforms.x86_64; - inherit broken; - }; - }; -in lib.mapAttrs common versions diff --git a/pkgs/applications/editors/atom/env.nix b/pkgs/applications/editors/atom/env.nix deleted file mode 100644 index a5ca5775aae3..000000000000 --- a/pkgs/applications/editors/atom/env.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ stdenv, lib, zlib, glib, alsa-lib, dbus, gtk3, atk, pango, freetype, fontconfig -, gdk-pixbuf, cairo, cups, expat, libgpg-error, nspr -, nss, xorg, libcap, systemd, libnotify, libsecret, libuuid, at-spi2-atk -, at-spi2-core, libdbusmenu, libdrm, mesa -}: - -let - packages = [ - stdenv.cc.cc zlib glib dbus gtk3 atk pango freetype - fontconfig gdk-pixbuf cairo cups expat libgpg-error alsa-lib nspr nss - xorg.libXrender xorg.libX11 xorg.libXext xorg.libXdamage xorg.libXtst - xorg.libXcomposite xorg.libXi xorg.libXfixes xorg.libXrandr - xorg.libXcursor xorg.libxkbfile xorg.libXScrnSaver libcap systemd libnotify - xorg.libxcb libsecret libuuid at-spi2-atk at-spi2-core libdbusmenu - libdrm - mesa # required for libgbm - ]; - - libPathNative = lib.makeLibraryPath packages; - libPath64 = lib.makeSearchPathOutput "lib" "lib64" packages; - libPath = "${libPathNative}:${libPath64}"; - -in { inherit packages libPath; } diff --git a/pkgs/applications/editors/neovim/default.nix b/pkgs/applications/editors/neovim/default.nix index 9bf6fb51bdff..4b77b2b7c666 100644 --- a/pkgs/applications/editors/neovim/default.nix +++ b/pkgs/applications/editors/neovim/default.nix @@ -7,6 +7,7 @@ , buildPackages , treesitter-parsers ? import ./treesitter-parsers.nix { inherit fetchurl; } , CoreServices +, fixDarwinDylibNames , glibcLocales ? null, procps ? null # now defaults to false because some tests can be flaky (clipboard etc), see @@ -16,8 +17,29 @@ }: let + nvim-lpeg-dylib = luapkgs: if stdenv.isDarwin + then (luapkgs.lpeg.overrideAttrs (oa: { + preConfigure = '' + # neovim wants clang .dylib + sed -i makefile -e "s/CC = gcc/CC = clang/" + sed -i makefile -e "s/-bundle/-dynamiclib/" + ''; + preBuild = '' + # there seems to be implicit calls to Makefile from luarocks, we need to + # add a stage to build our dylib + make macosx + mkdir -p $out/lib + mv lpeg.so $out/lib/lpeg.dylib + ''; + nativeBuildInputs = + oa.nativeBuildInputs + ++ ( + lib.optional stdenv.isDarwin fixDarwinDylibNames + ); + })) + else luapkgs.lpeg; requiredLuaPkgs = ps: (with ps; [ - lpeg + (nvim-lpeg-dylib ps) luabitop mpack ] ++ lib.optionals doCheck [ @@ -40,10 +62,11 @@ let deterministicStringIds = true; self = deterministicLuajit; }; - in deterministicLuajit.withPackages(ps: [ ps.mpack ps.lpeg ]) + in deterministicLuajit.withPackages(ps: [ ps.mpack (nvim-lpeg-dylib ps) ]) else lua.luaOnBuild; pyEnv = python3.withPackages(ps: with ps; [ pynvim msgpack ]); + in stdenv.mkDerivation rec { pname = "neovim-unwrapped"; diff --git a/pkgs/applications/editors/pulsar/default.nix b/pkgs/applications/editors/pulsar/default.nix index e0b967f8043c..33dd4f2bb7a3 100644 --- a/pkgs/applications/editors/pulsar/default.nix +++ b/pkgs/applications/editors/pulsar/default.nix @@ -1,22 +1,32 @@ { lib , stdenv , git -, runtimeShell , fetchurl , wrapGAppsHook +, alsa-lib +, at-spi2-atk +, cairo +, cups +, dbus +, expat +, gdk-pixbuf , glib , gtk3 -, atomEnv +, mesa +, nss +, nspr , xorg +, libdrm +, libsecret , libxkbcommon -, hunspell +, pango +, systemd , hunspellDicts , useHunspell ? true , languages ? [ "en_US" ] , withNemoAction ? true , makeDesktopItem , copyDesktopItems -, makeWrapper , asar , python3 }: @@ -32,13 +42,35 @@ let aarch64-linux.hash = "sha256-GdPnmhMZR3Y2WB2j98JEWomdKFZuTgxN8oga/tBwA4U="; }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); - additionalLibs = lib.makeLibraryPath [ + newLibpath = lib.makeLibraryPath [ + alsa-lib + at-spi2-atk + cairo + cups + dbus + expat + gdk-pixbuf + glib + gtk3 + libsecret + mesa + nss + nspr + libdrm + xorg.libX11 + xorg.libxcb + xorg.libXcomposite + xorg.libXdamage + xorg.libXext + xorg.libXfixes + xorg.libXrandr xorg.libxshmfence libxkbcommon xorg.libxkbfile + pango stdenv.cc.cc.lib + systemd ]; - newLibpath = "${atomEnv.libPath}:${additionalLibs}"; # Hunspell hunspellDirs = builtins.map (lang: "${hunspellDicts.${lang}}/share/hunspell") languages; diff --git a/pkgs/applications/editors/vim/plugins/generated.nix b/pkgs/applications/editors/vim/plugins/generated.nix index 46aac09ec344..f529df13170a 100644 --- a/pkgs/applications/editors/vim/plugins/generated.nix +++ b/pkgs/applications/editors/vim/plugins/generated.nix @@ -173,12 +173,12 @@ final: prev: LazyVim = buildVimPlugin { pname = "LazyVim"; - version = "2023-09-29"; + version = "2023-10-01"; src = fetchFromGitHub { owner = "LazyVim"; repo = "LazyVim"; - rev = "6f9adbd4fba4132bd4f12404bd2b90c4a28ff136"; - sha256 = "0d7grxa6pvsi5az4p22dvb6sxjhwx78ivbf80zq0dzvv96dvlyzx"; + rev = "dd95de5dbe31ecb106305920cbd0e24e26c17afe"; + sha256 = "1vmh1b8mwpwvfyigxhc5pnda1ddyccqgjz3jmn2pm101bwgg6424"; }; meta.homepage = "https://github.com/LazyVim/LazyVim/"; }; @@ -305,12 +305,12 @@ final: prev: SchemaStore-nvim = buildVimPlugin { pname = "SchemaStore.nvim"; - version = "2023-09-29"; + version = "2023-09-30"; src = fetchFromGitHub { owner = "b0o"; repo = "SchemaStore.nvim"; - rev = "9a4e2f8da367ab671a6d7bf8b5b82e125c71a645"; - sha256 = "1p3kpsjvn9snisak89h0yifkyxq07vqg2c0f7vm3hzc99bs0zrxz"; + rev = "daf2f4397e97c0f12b89068eec35078c61069ceb"; + sha256 = "1yzg8qld4w4xzdb0v3vls47kf753d8d8lfcsz6fl40sprwdfj8px"; }; meta.homepage = "https://github.com/b0o/SchemaStore.nvim/"; }; @@ -991,12 +991,12 @@ final: prev: base46 = buildVimPlugin { pname = "base46"; - version = "2023-09-14"; + version = "2023-10-01"; src = fetchFromGitHub { owner = "nvchad"; repo = "base46"; - rev = "fc7aafe0d0348323d3fd41689cde95af86d4c7ba"; - sha256 = "0b0r9hf7a7a4ipsqcc7q97ijk8p5a9lq9kqh93a92kq1x2qhlf2j"; + rev = "104510cb339071f4350acdc30d1630ce15dca8b1"; + sha256 = "0bwgdvfvwikvlbb97n0iddpk3bw6nwl02596nb567s4xkijx91nk"; }; meta.homepage = "https://github.com/nvchad/base46/"; }; @@ -2023,12 +2023,12 @@ final: prev: coc-nvim = buildVimPlugin { pname = "coc.nvim"; - version = "2023-09-21"; + version = "2023-09-30"; src = fetchFromGitHub { owner = "neoclide"; repo = "coc.nvim"; - rev = "e4cee8e6c310663d2d81489dd9155889bbcd8d12"; - sha256 = "1a59l2lq1rhfhy5iwapv82mz6jzna0z9nl03xi0brfipknhlmsjh"; + rev = "7b9e1ef0a1399907c51d23b6080b94a5aba4a654"; + sha256 = "10gdqqz71gbna9wy3awbncbn7m0g6wfn1256bx7ga8b3bsl3nmch"; }; meta.homepage = "https://github.com/neoclide/coc.nvim/"; }; @@ -2551,12 +2551,12 @@ final: prev: dashboard-nvim = buildVimPlugin { pname = "dashboard-nvim"; - version = "2023-09-27"; + version = "2023-09-30"; src = fetchFromGitHub { owner = "nvimdev"; repo = "dashboard-nvim"; - rev = "6b112d40ccf2a7aa6605ce325338c66612c4f7ec"; - sha256 = "01zlvxafp6vxng14zna9r33586d1pw8ihcl73r631x2jsmyi5zpp"; + rev = "b2637e92a294068d79cde7929094f050981c5969"; + sha256 = "0y7s03in2y68c7n81q9a8mfba6s6dz2j8hp7a3kqldy8mhz4mqad"; }; meta.homepage = "https://github.com/nvimdev/dashboard-nvim/"; }; @@ -3021,24 +3021,24 @@ final: prev: dressing-nvim = buildVimPlugin { pname = "dressing.nvim"; - version = "2023-09-29"; + version = "2023-09-30"; src = fetchFromGitHub { owner = "stevearc"; repo = "dressing.nvim"; - rev = "73a7d54b5289000108c7f52402a36cf380fced67"; - sha256 = "1yafysdnl6irxcwwmir26iff6y2lv2axlss01n3jm6n6fknbvfjy"; + rev = "8f4d62b7817455896a3c73cab642002072c114bc"; + sha256 = "0cjn0w4v1n31qgxvwnd7ix1lxjdqhrbllb543lhdc1p48a00sqx1"; }; meta.homepage = "https://github.com/stevearc/dressing.nvim/"; }; dropbar-nvim = buildVimPlugin { pname = "dropbar.nvim"; - version = "2023-09-29"; + version = "2023-09-30"; src = fetchFromGitHub { owner = "Bekaboo"; repo = "dropbar.nvim"; - rev = "7a91b7ba15fcf78ba0d0081cbce7e31a73963b1c"; - sha256 = "0k2m566r86l8hhk9czpcv80bpgzsdk7fna6nna3gf2s8z1ymgbs4"; + rev = "9c2bc34bf78bbbf1633b41358e9a203a58b7d19f"; + sha256 = "06l68i8zjgpmzq0yqxbmgl2ncswqpyxxfivjjsm1s1lx5jya97j1"; }; meta.homepage = "https://github.com/Bekaboo/dropbar.nvim/"; }; @@ -3081,12 +3081,12 @@ final: prev: edgy-nvim = buildVimPlugin { pname = "edgy.nvim"; - version = "2023-07-25"; + version = "2023-09-30"; src = fetchFromGitHub { owner = "folke"; repo = "edgy.nvim"; - rev = "4ccc1c67ae2b1a0c55f18c83d03b714e2bb1bae4"; - sha256 = "0s0h8s2wwg2niacp401j7l3c0knl44awf32clq15h1hcabqvvkn3"; + rev = "70e334c9cd7915aedde3255ade01ceeebe735b53"; + sha256 = "0zcm2p3qwiz2vkj4h4jy30dvphb6j6j8kyl3pzaxkiwlqlslsfma"; }; meta.homepage = "https://github.com/folke/edgy.nvim/"; }; @@ -3287,12 +3287,12 @@ final: prev: feline-nvim = buildVimPlugin { pname = "feline.nvim"; - version = "2023-06-19"; + version = "2023-09-29"; src = fetchFromGitHub { owner = "freddiehaddad"; repo = "feline.nvim"; - rev = "c32c2ffcee38f14e157582552fa9ee41c24452d2"; - sha256 = "1mlwjxyb0w3pdg9ny7q6wjdhq1l35a1g4ylp28vfpnrvhfbbxzvy"; + rev = "ee9f8afdbe8654001b200530903f1dcbcc3394e6"; + sha256 = "1x7c6shkx5gxqv7lcby40gkx5f7sr4rgv23pxbzk0l2xy6nsvvmd"; }; meta.homepage = "https://github.com/freddiehaddad/feline.nvim/"; }; @@ -3384,12 +3384,12 @@ final: prev: flash-nvim = buildVimPlugin { pname = "flash.nvim"; - version = "2023-09-28"; + version = "2023-10-01"; src = fetchFromGitHub { owner = "folke"; repo = "flash.nvim"; - rev = "0256d8ecab33a9aa69fdaaf885db22e1103e2a3a"; - sha256 = "10y0346rpxf8yc3f9wacmbsdvziwy7wv35l4i2a04vrwyqxgz2m4"; + rev = "eccef9f34ac332e0f1652d7559fe5cbeab614201"; + sha256 = "1s3vjrz4lcz7lqdxxizj1fdrjax1p5farvi4fr0058k18s8hqqmz"; }; meta.homepage = "https://github.com/folke/flash.nvim/"; }; @@ -3468,12 +3468,12 @@ final: prev: flutter-tools-nvim = buildVimPlugin { pname = "flutter-tools.nvim"; - version = "2023-09-20"; + version = "2023-10-01"; src = fetchFromGitHub { owner = "akinsho"; repo = "flutter-tools.nvim"; - rev = "0b01c71ecf05a2edd955b5b53d808bc64f143069"; - sha256 = "05lcwwq48ab661aw0mbs72vg0v10qlzjspcyhhvdmzajsgwcdqxs"; + rev = "1119125206075c4703f2147f964ed0a45f84c6ab"; + sha256 = "1nm24s024ahfgsgplj5gxan009kxdalwwzdvg1vbysavgxhfzwra"; }; meta.homepage = "https://github.com/akinsho/flutter-tools.nvim/"; }; @@ -3516,12 +3516,12 @@ final: prev: friendly-snippets = buildVimPlugin { pname = "friendly-snippets"; - version = "2023-09-03"; + version = "2023-10-01"; src = fetchFromGitHub { owner = "rafamadriz"; repo = "friendly-snippets"; - rev = "ebf6d6e83494cdd88a54a429340256f4dbb6a052"; - sha256 = "01z4xqb46xlycbv0w7akrf7rajy9rnl0jml0vk9dngblgcf1x2sp"; + rev = "43727c2ff84240e55d4069ec3e6158d74cb534b6"; + sha256 = "1sjk17gn919aa84dkjfagwwjsas9zfkbrk840bjf580k8m83d9m8"; }; meta.homepage = "https://github.com/rafamadriz/friendly-snippets/"; }; @@ -3792,12 +3792,12 @@ final: prev: gitsigns-nvim = buildNeovimPlugin { pname = "gitsigns.nvim"; - version = "2023-09-24"; + version = "2023-10-01"; src = fetchFromGitHub { owner = "lewis6991"; repo = "gitsigns.nvim"; - rev = "bdeba1cec3faddd89146690c10b9a87949c0ee66"; - sha256 = "0amphagvmvdjrp13nxzl8jjs38dy1qicv71g91h998yjfc7av42l"; + rev = "e2ca739be75447fb5ccc9bfeb64f7afbc2cee5e6"; + sha256 = "0x9mwarz61xggw4xdxllzgardi2qxp33bk24x59rqpkb8135bjrz"; }; meta.homepage = "https://github.com/lewis6991/gitsigns.nvim/"; }; @@ -3852,12 +3852,12 @@ final: prev: go-nvim = buildVimPlugin { pname = "go.nvim"; - version = "2023-09-22"; + version = "2023-09-30"; src = fetchFromGitHub { owner = "ray-x"; repo = "go.nvim"; - rev = "019936780060efc64c0f22a47afd08fbbe82e026"; - sha256 = "05r63f4jgql9drvi4176czmqxcpqfkr0i05vm0mlvak6gfrzc6xk"; + rev = "2f573a297bea3a483a3607ae7c607a8a08d27993"; + sha256 = "0knxirf1kimjck9f8mx26m8s9v2vbjmacnr29rm9la96fs5bg2n4"; }; meta.homepage = "https://github.com/ray-x/go.nvim/"; }; @@ -3984,12 +3984,12 @@ final: prev: gruvbox-nvim = buildVimPlugin { pname = "gruvbox.nvim"; - version = "2023-09-28"; + version = "2023-09-30"; src = fetchFromGitHub { owner = "ellisonleao"; repo = "gruvbox.nvim"; - rev = "e810b46367a89e8b733cd100d12a6c8b2fc022c3"; - sha256 = "1rnzyfwrbcq4i5s7p6w1ig85rjfy7yc0zv3gpwwngjrw2zpnldcs"; + rev = "61b0b3be2f0cfd521667403a0367298144d6c165"; + sha256 = "1dphrf8bq088d47macxhx2ql9bq5s9axs9cqwqbp6vkmr4zcx072"; }; meta.homepage = "https://github.com/ellisonleao/gruvbox.nvim/"; }; @@ -4067,12 +4067,12 @@ final: prev: haskell-tools-nvim = buildNeovimPlugin { pname = "haskell-tools.nvim"; - version = "2023-09-27"; + version = "2023-10-01"; src = fetchFromGitHub { owner = "MrcJkb"; repo = "haskell-tools.nvim"; - rev = "ba67f50e8632f1df02526255e2aaf0239cc44e6e"; - sha256 = "1i2m51q4ccarxqdvj91mf338kagmzk09yq1r8p85ihad5pmijp23"; + rev = "8b472cf9abf5c2996843894d1231aed5f6653bc2"; + sha256 = "1msyfigc97vxsbinm404vzd68biy5hgj61ppz2lc96xbyq7r66xd"; }; meta.homepage = "https://github.com/MrcJkb/haskell-tools.nvim/"; }; @@ -4414,12 +4414,12 @@ final: prev: indent-blankline-nvim = buildVimPlugin { pname = "indent-blankline.nvim"; - version = "2023-09-29"; + version = "2023-10-01"; src = fetchFromGitHub { owner = "lukas-reineke"; repo = "indent-blankline.nvim"; - rev = "2ec42d26c933e7a129fe056dfc11a207afff252d"; - sha256 = "1l2iqv7vb1v93rb9hqchgqlkss7lg5kiwwgb7x5czlxq2xyw7n7x"; + rev = "3d26bc7ab0e8dfddc0f40c840a8f925dddc2fef6"; + sha256 = "1p3bxdrj2xibyqw37b1247sz5nqx460d3lr4py3fn0cdgrf3420s"; }; meta.homepage = "https://github.com/lukas-reineke/indent-blankline.nvim/"; }; @@ -4775,12 +4775,12 @@ final: prev: lazy-nvim = buildVimPlugin { pname = "lazy.nvim"; - version = "2023-09-29"; + version = "2023-09-30"; src = fetchFromGitHub { owner = "folke"; repo = "lazy.nvim"; - rev = "6a2c47e6424a3f1e373bfeb714b716f6be13501c"; - sha256 = "1m3nswn0i4ai7r9p76nxra7kxsx4lp41pyq6bb832a3zn3q6qxlk"; + rev = "59335c5b9d116f5d3948f833288a89e2a829a005"; + sha256 = "04x04mzs3cc736l4phsws981nsga8hws3ca46pniz5h3qhj8zfwa"; }; meta.homepage = "https://github.com/folke/lazy.nvim/"; }; @@ -4799,12 +4799,12 @@ final: prev: lean-nvim = buildVimPlugin { pname = "lean.nvim"; - version = "2023-09-24"; + version = "2023-09-30"; src = fetchFromGitHub { owner = "Julian"; repo = "lean.nvim"; - rev = "e639c7eb0f7f2a707b29f50b827e1a3a4b2ada9c"; - sha256 = "0rfwqip0747h4ppkxzzsqjvdkrr0rrhmpc3qbli18qwqx2vxc7hg"; + rev = "cd33d84e954ac15b42020889d1d0d6a9cc0e9e9c"; + sha256 = "11gkkc32ha1n6b7x88mvnw1afkp45mx8abpa1c4hkc2x7666sxc5"; }; meta.homepage = "https://github.com/Julian/lean.nvim/"; }; @@ -5254,12 +5254,12 @@ final: prev: lspsaga-nvim = buildVimPlugin { pname = "lspsaga.nvim"; - version = "2023-09-26"; + version = "2023-10-01"; src = fetchFromGitHub { owner = "nvimdev"; repo = "lspsaga.nvim"; - rev = "b7873e556a5451c5febc0d46ba80767b2beea49e"; - sha256 = "1m1ryhg6cnbxs4xzwn6bj98g10qf14shwdwgplwbyl2yjr5r94hv"; + rev = "f8a6d7cfe185637616d7fdee676dd543ae5fde55"; + sha256 = "0vwk2nn8mm113lk6sywdgfp6k0887d14pys9w8b6k4hm8xw5zfzq"; }; meta.homepage = "https://github.com/nvimdev/lspsaga.nvim/"; }; @@ -5411,12 +5411,12 @@ final: prev: mason-lspconfig-nvim = buildVimPlugin { pname = "mason-lspconfig.nvim"; - version = "2023-09-29"; + version = "2023-10-01"; src = fetchFromGitHub { owner = "williamboman"; repo = "mason-lspconfig.nvim"; - rev = "81e30dd629de24cbb26d08073ee938ab40006695"; - sha256 = "145nyyi128h25gdlidpwhkha3xf9sr66pxz76z2ncl8hccjpim35"; + rev = "48025d62f45af52ba47e4193b854864839392e4c"; + sha256 = "1n3xlfjjjwng0rhlgvl0dj25fhlfk35vscwmz1kpdad627lzg83b"; }; meta.homepage = "https://github.com/williamboman/mason-lspconfig.nvim/"; }; @@ -5915,12 +5915,12 @@ final: prev: neo-tree-nvim = buildVimPlugin { pname = "neo-tree.nvim"; - version = "2023-09-25"; + version = "2023-09-30"; src = fetchFromGitHub { owner = "nvim-neo-tree"; repo = "neo-tree.nvim"; - rev = "a73b92c504ebfbbc3be522209ac60949942057c6"; - sha256 = "1amxljg4c1vhddmrxjw00dm685vd4zsj2r3gf0yk14nl8y7yj3b6"; + rev = "7e2a3caf999e2028abb643eb0472f351b2777591"; + sha256 = "0mqrvk1aqs72vpwsy9ys9c3v3xbi1f7k4n692nm1v58v6d70gffk"; }; meta.homepage = "https://github.com/nvim-neo-tree/neo-tree.nvim/"; }; @@ -5939,12 +5939,12 @@ final: prev: neoconf-nvim = buildVimPlugin { pname = "neoconf.nvim"; - version = "2023-09-29"; + version = "2023-09-30"; src = fetchFromGitHub { owner = "folke"; repo = "neoconf.nvim"; - rev = "86ed5b91927b65352e3d8f315f8256a180805377"; - sha256 = "1j84jblykjsc6rk530zsdfsjwfgfdnfn7m1knzwyxjh983g4879a"; + rev = "466ba6f645f63f91ac84d3dd986acede5d107f39"; + sha256 = "0vqprdkbr8vgdfqhjwnqjfw76sfrr4akfn589kyzwpvncb6ygwv1"; }; meta.homepage = "https://github.com/folke/neoconf.nvim/"; }; @@ -5963,12 +5963,12 @@ final: prev: neodev-nvim = buildVimPlugin { pname = "neodev.nvim"; - version = "2023-09-29"; + version = "2023-10-01"; src = fetchFromGitHub { owner = "folke"; repo = "neodev.nvim"; - rev = "58b1c0740e8ad79ce71e2649a449bb90536435cf"; - sha256 = "06vflyl0c2b789lm6hgmr0gdvzzmjai8lgllr9cxm73ggh1lgqkf"; + rev = "41581561a0ffc6ea6a191ee90a23f8c1c7f470fb"; + sha256 = "1q0vfzbzdyc1cnfa2icgrs4zkjajxbqzqypa4q8sfh3cgq364l92"; }; meta.homepage = "https://github.com/folke/neodev.nvim/"; }; @@ -5999,12 +5999,12 @@ final: prev: neogit = buildVimPlugin { pname = "neogit"; - version = "2023-09-28"; + version = "2023-09-29"; src = fetchFromGitHub { owner = "NeogitOrg"; repo = "neogit"; - rev = "e238f075a81806dc2dce803422beef42540a312e"; - sha256 = "16dl1jlzf9f49bv3ifsc27si07cqbd51wn7nj62pppqbbp0ayfz9"; + rev = "8b06f91ae973fd68fde074f15a887f9a3a3411cb"; + sha256 = "120h0n3md78hzddyd77b47k7dicnij8zb1rw624b9956612slg07"; }; meta.homepage = "https://github.com/NeogitOrg/neogit/"; }; @@ -6216,12 +6216,12 @@ final: prev: neotest-haskell = buildVimPlugin { pname = "neotest-haskell"; - version = "2023-09-24"; + version = "2023-10-01"; src = fetchFromGitHub { owner = "MrcJkb"; repo = "neotest-haskell"; - rev = "e45d5af30e636daea47866b9a44a56ab382d9b64"; - sha256 = "1jirv3cahfm8sj43hs587x4w6wdzraafjp7zqn8l3il4yd36lj7g"; + rev = "6f8f89cef7e5ed811e8e2f2031f8a214d5dd6c0a"; + sha256 = "0b27zr14y9cx9za3akzpmvgri8y0jw302i7xwkc89wbxxkyjszi2"; }; meta.homepage = "https://github.com/MrcJkb/neotest-haskell/"; }; @@ -6552,12 +6552,12 @@ final: prev: no-neck-pain-nvim = buildVimPlugin { pname = "no-neck-pain.nvim"; - version = "2023-06-24"; + version = "2023-09-30"; src = fetchFromGitHub { owner = "shortcuts"; repo = "no-neck-pain.nvim"; - rev = "fb27d3bff0834d9178250b439d46bfa04b4e1ae2"; - sha256 = "0ri8qwhx4fsrs3im01nr0v05pg3c17k7zfgdmps61s6f1n0rpjf4"; + rev = "a3a76540533909aa42b4f9430c5b1976a6508f81"; + sha256 = "1yrni32ailamah5rbf6haypvik2wm4ywxrlrk3d12wl2hd9g7yxq"; }; meta.homepage = "https://github.com/shortcuts/no-neck-pain.nvim/"; }; @@ -6720,12 +6720,12 @@ final: prev: nvim-base16 = buildVimPlugin { pname = "nvim-base16"; - version = "2023-09-12"; + version = "2023-09-30"; src = fetchFromGitHub { owner = "RRethy"; repo = "nvim-base16"; - rev = "96e308958625a84940d5e443475465abf99c7bd9"; - sha256 = "1cz3nby9l2fg9ppl8pbgbcz70yzj87rci2lbzy9qm2mbj5y232sf"; + rev = "88f209605b7857ce5911e8aaa503a210876e935d"; + sha256 = "1767iwhbgi7lrfwn4wsk96h8x8dyfgbp11wffm8c42yhjwwmp0kl"; }; meta.homepage = "https://github.com/RRethy/nvim-base16/"; }; @@ -7151,12 +7151,12 @@ final: prev: nvim-lint = buildVimPlugin { pname = "nvim-lint"; - version = "2023-09-21"; + version = "2023-09-30"; src = fetchFromGitHub { owner = "mfussenegger"; repo = "nvim-lint"; - rev = "67f74e630a84ecfa73a82783c487bdedd8cecdc3"; - sha256 = "1rmpyjbv7a4ipy9nndarp5xv0azkqpw3c51fjw6fpx0yhlk72slc"; + rev = "1065763f115a7765ef237347ad676ba348d7193a"; + sha256 = "0wlfq7xpi60nrqxx2v0h2pjv9jhx5alir8z9q1h7vcnf2hykj45c"; }; meta.homepage = "https://github.com/mfussenegger/nvim-lint/"; }; @@ -7187,12 +7187,12 @@ final: prev: nvim-lspconfig = buildVimPlugin { pname = "nvim-lspconfig"; - version = "2023-09-29"; + version = "2023-10-01"; src = fetchFromGitHub { owner = "neovim"; repo = "nvim-lspconfig"; - rev = "61b40df9c17943e43e7e698873caab0e7dbcdadc"; - sha256 = "1dwrns9i46p3b53dkbhs76gic7i1s49mvdc2ka31qpx3yqks10g1"; + rev = "eb1b53162755888ff75e495797071644d983bff7"; + sha256 = "04kgsf3rhr0wk3vyx6lawlxj5icvaryx925flh72f234vkhigmq2"; }; meta.homepage = "https://github.com/neovim/nvim-lspconfig/"; }; @@ -7535,36 +7535,36 @@ final: prev: nvim-tree-lua = buildVimPlugin { pname = "nvim-tree.lua"; - version = "2023-09-26"; + version = "2023-10-01"; src = fetchFromGitHub { owner = "nvim-tree"; repo = "nvim-tree.lua"; - rev = "934469b9b6df369e198fb3016969e56393b0dc07"; - sha256 = "1z2bwxqyzvniyqg5003b4azaakdh6dcwfssiakk7681fnngj2iqn"; + rev = "113e0950c88b81b01d253d8f3da17bbd0e6716bb"; + sha256 = "1nmx68gjc59cn6lapvml12x4yj9iqaqdb8q3ad5w3gfnmva03sjd"; }; meta.homepage = "https://github.com/nvim-tree/nvim-tree.lua/"; }; nvim-treesitter = buildVimPlugin { pname = "nvim-treesitter"; - version = "2023-09-29"; + version = "2023-10-01"; src = fetchFromGitHub { owner = "nvim-treesitter"; repo = "nvim-treesitter"; - rev = "16ea2969ea0a5ba902fceece9b2db10c7c9ba2d6"; - sha256 = "0m1v1wiizqp7wfndjba6l52n3z4hkzsvq2imvgy7myqg091hj4hk"; + rev = "776e4d341b5416c995e74c3abbf75f9cec26aa5e"; + sha256 = "02pk5di7lxvbwzi2ajq7kj6rfrxd46635jccw6xf5fbxcl84cqsb"; }; meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter/"; }; nvim-treesitter-context = buildVimPlugin { pname = "nvim-treesitter-context"; - version = "2023-09-27"; + version = "2023-10-01"; src = fetchFromGitHub { owner = "nvim-treesitter"; repo = "nvim-treesitter-context"; - rev = "44d270e9d1647088de596a2e04fdc806a50cd838"; - sha256 = "0zkjgqsgcv956jf63jhdipb2ra1j5mfxw08nlz8ni4vccd9yw5qa"; + rev = "bc19b78e9c705d67be98d56e9fab96470af45f33"; + sha256 = "1xfdiyz0a07zpmavyinq3mc3f81xw99n7847ijwb3rwpmiqs7hns"; }; meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter-context/"; }; @@ -7619,12 +7619,12 @@ final: prev: nvim-treesitter-textsubjects = buildVimPlugin { pname = "nvim-treesitter-textsubjects"; - version = "2023-08-03"; + version = "2023-09-30"; src = fetchFromGitHub { owner = "RRethy"; repo = "nvim-treesitter-textsubjects"; - rev = "df75fcec548014f158cda6498ac38c4622c221e1"; - sha256 = "0fx8b9w03zn6v8db2w6h29y8hpbjckvm27nh49vvsis3icqyk7iv"; + rev = "48b3bf54e32f23e2299c59ff76fa3b0599565b39"; + sha256 = "11nmxnqr8dnn1l24gcrm4bpvpmy4ibsi6x46iz5y2vp7pzrj6cf9"; }; meta.homepage = "https://github.com/RRethy/nvim-treesitter-textsubjects/"; }; @@ -7643,12 +7643,12 @@ final: prev: nvim-ts-context-commentstring = buildVimPlugin { pname = "nvim-ts-context-commentstring"; - version = "2023-09-14"; + version = "2023-09-30"; src = fetchFromGitHub { owner = "joosepalviste"; repo = "nvim-ts-context-commentstring"; - rev = "95e9ba9de4289d221666b66fd930d157c7ca08c6"; - sha256 = "0acr7d16h22xk5c2dfv2wmwa9p5g5k06pqghkzym8bv70ag4lr8g"; + rev = "0c136439fb93fd94db9106250ff6f6858101422b"; + sha256 = "0cmszvwxbis2m36zwb7bcq0yfw19ska31j1r7k7pn55skr605527"; }; meta.homepage = "https://github.com/joosepalviste/nvim-ts-context-commentstring/"; }; @@ -7822,12 +7822,12 @@ final: prev: oil-nvim = buildVimPlugin { pname = "oil.nvim"; - version = "2023-09-29"; + version = "2023-09-30"; src = fetchFromGitHub { owner = "stevearc"; repo = "oil.nvim"; - rev = "bfc5a4c48f4a53b95648e41d91e49b83fb03e919"; - sha256 = "0jgj24lrgr6jbvwln5lb3qx6b1kw8hxa0k09pqzrmpwzp6h6zmyc"; + rev = "956d7fc89b0bd1f9ea6515ca10c1e2a293e4d8fd"; + sha256 = "0gbrnnji01pdz7x78cbdnvs6y4gpb298f239i5b41mr9vdc55ysl"; fetchSubmodules = true; }; meta.homepage = "https://github.com/stevearc/oil.nvim/"; @@ -8617,12 +8617,12 @@ final: prev: rest-nvim = buildNeovimPlugin { pname = "rest.nvim"; - version = "2023-09-25"; + version = "2023-09-30"; src = fetchFromGitHub { owner = "rest-nvim"; repo = "rest.nvim"; - rev = "16c1c8d80a6a65c409be4342130a8a61a7497f98"; - sha256 = "13nrxchxca1xj5cdw7dy4r5xfgq251ym1aj3kdykn4gakqgs6mxz"; + rev = "35d949df1928b44b6d941fd9015eb3f973845b1f"; + sha256 = "13lcd7wgdfd1hy1jkqbwvkcpyz9caxj9gdrn03ckba5lcbbnf08k"; }; meta.homepage = "https://github.com/rest-nvim/rest.nvim/"; }; @@ -9678,12 +9678,12 @@ final: prev: telescope-frecency-nvim = buildVimPlugin { pname = "telescope-frecency.nvim"; - version = "2023-09-17"; + version = "2023-10-01"; src = fetchFromGitHub { owner = "nvim-telescope"; repo = "telescope-frecency.nvim"; - rev = "eaaabc90ed082b84a2e9b0ce4ab8c6753b7c50f9"; - sha256 = "1hmm956km88zns0w0wpk1yphxh0bjhxzwln7f9igiz7wgq0b10nr"; + rev = "4bdd9bafc7ac2c6fed03e92efac1e6b4632eda28"; + sha256 = "01a4hdgjf3i0qywz45rvzga02hphb2zl5cnpafw0igzb3lrsxqqk"; }; meta.homepage = "https://github.com/nvim-telescope/telescope-frecency.nvim/"; }; @@ -10365,12 +10365,12 @@ final: prev: unison = buildVimPlugin { pname = "unison"; - version = "2023-09-27"; + version = "2023-09-29"; src = fetchFromGitHub { owner = "unisonweb"; repo = "unison"; - rev = "58bbcb098cc57fc876c33a7ded70df41a226a2c3"; - sha256 = "0nlggvc0nq6033jvb9p5kvczqdwbgdpk0dcf79072pih4mqxnfw2"; + rev = "5fa80db737fa357d9f9f14a36cdc10cbb1cb7651"; + sha256 = "1001rbbwhfbb26ji36kpkc3ji1gsgf3xmlr990bxv8wh33qib2rf"; }; meta.homepage = "https://github.com/unisonweb/unison/"; }; @@ -10857,12 +10857,12 @@ final: prev: vim-android = buildVimPlugin { pname = "vim-android"; - version = "2023-08-24"; + version = "2023-09-30"; src = fetchFromGitHub { owner = "hsanson"; repo = "vim-android"; - rev = "31c593b8025f62f184418dd658c3a358a8d0ef70"; - sha256 = "14l7v8jg4kq8qh9j64nxir4a7d9ls0zp6zk3rjzbzf9viqyw1bp5"; + rev = "26990f9fa27b23ca5faf83e14d56711c0fec40ea"; + sha256 = "1iy9ap2i9lmqcjaqb38syb240m834ifacv79cjiwzxcpr23vq4r1"; }; meta.homepage = "https://github.com/hsanson/vim-android/"; }; @@ -14761,12 +14761,12 @@ final: prev: vim-test = buildVimPlugin { pname = "vim-test"; - version = "2023-09-15"; + version = "2023-09-30"; src = fetchFromGitHub { owner = "vim-test"; repo = "vim-test"; - rev = "a007258adc7b319943bf71dfead88d2ad721b923"; - sha256 = "0sk2bfk54ds22sri1a3jw4fmn2nw1cr06hlwmclxd8gpaxqv6rmh"; + rev = "53c6c72f3a0c6a24a74e659eaa769d7057ef2ecd"; + sha256 = "0y36ckap8z07b3ayj53l9drz1m4wrg0fd12q8p0cyhhghf0g8s2i"; }; meta.homepage = "https://github.com/vim-test/vim-test/"; }; @@ -15578,12 +15578,12 @@ final: prev: vista-vim = buildVimPlugin { pname = "vista.vim"; - version = "2023-09-14"; + version = "2023-10-01"; src = fetchFromGitHub { owner = "liuchengxu"; repo = "vista.vim"; - rev = "40daf5e97be70a90465182fbbdfba92442bfd8e1"; - sha256 = "17kgca407nzvaddp5416rri46sk6dry1kmxp8kishha3x6fx0iym"; + rev = "58dabc027909330970ac549e52bf799a723878c5"; + sha256 = "0xb385781kll7hrhgm7nw7frjx2fwd2gzriwn9gby2s7m6yx8xib"; }; meta.homepage = "https://github.com/liuchengxu/vista.vim/"; }; @@ -15927,12 +15927,12 @@ final: prev: zk-nvim = buildVimPlugin { pname = "zk-nvim"; - version = "2023-07-09"; + version = "2023-09-30"; src = fetchFromGitHub { owner = "mickael-menu"; repo = "zk-nvim"; - rev = "797618aa07f58ceba6f79fb6e777e8e45c51e1ce"; - sha256 = "1hr1k3h3pwh7iga7zdd62hkwgnvivsr6z9nbs8ypks3r34rw60xx"; + rev = "e9e5e21dbeacd0e753728c7ea45b7a7582d9080a"; + sha256 = "0ycx8ad6a9xyc2i4gzjccbl5pzvg1y7rqhpxf4mys5vh5j7iisvv"; }; meta.homepage = "https://github.com/mickael-menu/zk-nvim/"; }; @@ -15963,12 +15963,12 @@ final: prev: catppuccin-nvim = buildVimPlugin { pname = "catppuccin-nvim"; - version = "2023-09-29"; + version = "2023-09-30"; src = fetchFromGitHub { owner = "catppuccin"; repo = "nvim"; - rev = "18267654c665310c665d3b7c6bc43d5f5ea5e410"; - sha256 = "0gncnwp8h64z33g97ra9vaad5lfknfn3w87p7axhbjw6fdsy99ii"; + rev = "7a4bcdadafc59a5bedbd866c643fa486d8cca4a1"; + sha256 = "0v8syhgyvl4zs484dycz65qrclds2cd6f9ja85xy4gzfhisnc6s3"; }; meta.homepage = "https://github.com/catppuccin/nvim/"; }; @@ -16035,12 +16035,12 @@ final: prev: nightfly = buildVimPlugin { pname = "nightfly"; - version = "2023-09-29"; + version = "2023-10-01"; src = fetchFromGitHub { owner = "bluz71"; repo = "vim-nightfly-colors"; - rev = "28108adbd8674fe2788aa918c4a520a355654be3"; - sha256 = "1r82v8pzih9bp5bkad58q3w8r302l26id3471470sab7808cv8a8"; + rev = "60d7e7749c21dec4e77c70672c3882dc5653d02c"; + sha256 = "1z8d6i81n2j8ynfpa8gvlw27svjgv4rxs1ham4rl90vraryqgpl1"; }; meta.homepage = "https://github.com/bluz71/vim-nightfly-colors/"; }; diff --git a/pkgs/applications/editors/vim/plugins/nvim-treesitter/update.py b/pkgs/applications/editors/vim/plugins/nvim-treesitter/update.py index bbacc6959c25..37414b073538 100755 --- a/pkgs/applications/editors/vim/plugins/nvim-treesitter/update.py +++ b/pkgs/applications/editors/vim/plugins/nvim-treesitter/update.py @@ -7,8 +7,6 @@ from concurrent.futures import ThreadPoolExecutor from os import environ from os.path import dirname, join -lockfile = json.load(open(join(environ["NVIM_TREESITTER"], "lockfile.json"))) - configs = json.loads( subprocess.check_output( [ @@ -58,20 +56,26 @@ def generate_grammar(item): return generated -generated_file = """# generated by pkgs/applications/editors/vim/plugins/nvim-treesitter/update.py +def update_grammars(lockfile: str): -{ buildGrammar, """ + generated_file = """# generated by pkgs/applications/editors/vim/plugins/nvim-treesitter/update.py -generated_file += subprocess.check_output(["nurl", "-Ls", ", "], text=True) + { buildGrammar, """ -generated_file += """ }: + generated_file += subprocess.check_output(["nurl", "-Ls", ", "], text=True) -{ -""" + generated_file += """ }: -for generated in ThreadPoolExecutor().map(generate_grammar, lockfile.items()): - generated_file += generated + { + """ + for generated in ThreadPoolExecutor().map(generate_grammar, lockfile.items()): + generated_file += generated + generated_file += "}\n" + generated_file += "}\n" -generated_file += "}\n" + open(join(dirname(__file__), "generated.nix"), "w").write(generated_file) -open(join(dirname(__file__), "generated.nix"), "w").write(generated_file) + +if __name__ == "__main__": + # TODO add lockfile + update_grammars() diff --git a/pkgs/applications/editors/vim/plugins/update-shell.nix b/pkgs/applications/editors/vim/plugins/update-shell.nix deleted file mode 100644 index eae7db7f53ec..000000000000 --- a/pkgs/applications/editors/vim/plugins/update-shell.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ pkgs ? import ../../../../.. { } }: - -# Ideally, pkgs points to default.nix file of Nixpkgs official tree -with pkgs; -let - pyEnv = python3.withPackages (ps: [ ps.gitpython ]); -in - -mkShell { - packages = [ - bash - pyEnv - nix - nix-prefetch-scripts - ]; -} diff --git a/pkgs/applications/editors/vim/plugins/update.py b/pkgs/applications/editors/vim/plugins/update.py index 7af126f36507..9770b27252cd 100755 --- a/pkgs/applications/editors/vim/plugins/update.py +++ b/pkgs/applications/editors/vim/plugins/update.py @@ -1,97 +1,109 @@ -#!/usr/bin/env nix-shell -#!nix-shell update-shell.nix -i python3 - +#!/usr/bin/env python +# run with: +# $ nix run .\#vimPluginsUpdater # format: -# $ nix run nixpkgs.python3Packages.black -c black update.py +# $ nix run nixpkgs#python3Packages.black -- update.py # type-check: -# $ nix run nixpkgs.python3Packages.mypy -c mypy update.py +# $ nix run nixpkgs#python3Packages.mypy -- update.py # linted: -# $ nix run nixpkgs.python3Packages.flake8 -c flake8 --ignore E501,E265,E402 update.py +# $ nix run nixpkgs#python3Packages.flake8 -- --ignore E501,E265,E402 update.py -# If you see `HTTP Error 429: too many requests` errors while running this script, -# refer to: +# If you see `HTTP Error 429: too many requests` errors while running this +# script, refer to: # # https://github.com/NixOS/nixpkgs/blob/master/doc/languages-frameworks/vim.section.md#updating-plugins-in-nixpkgs-updating-plugins-in-nixpkgs # -# (or the equivalent file /doc/languages-frameworks/vim.section.md from Nixpkgs master tree). +# (or the equivalent file /doc/languages-frameworks/vim.section.md +# from Nixpkgs master tree). # import inspect import os -import sys import logging -import subprocess import textwrap +import json from typing import List, Tuple from pathlib import Path -import git log = logging.getLogger() sh = logging.StreamHandler() -formatter = logging.Formatter('%(name)s:%(levelname)s: %(message)s') +formatter = logging.Formatter("%(name)s:%(levelname)s: %(message)s") sh.setFormatter(formatter) log.addHandler(sh) # Import plugin update library from maintainers/scripts/pluginupdate.py ROOT = Path(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))) -# Ideally, ROOT.(parent^5) points to root of Nixpkgs official tree -sys.path.insert(0, os.path.join(ROOT.parent.parent.parent.parent.parent, "maintainers", "scripts")) import pluginupdate +import importlib from pluginupdate import run_nix_expr, PluginDesc +from treesitter import update_grammars - -GET_PLUGINS_LUA = """ -with import {}; -lib.attrNames lua51Packages""" - HEADER = ( "# GENERATED by ./pkgs/applications/editors/vim/plugins/update.py. Do not edit!" ) -def isNeovimPlugin(plug: pluginupdate.Plugin) -> bool: - ''' - Whether it's a neovim-only plugin - We can check if it's available in lua packages - ''' - global luaPlugins - if plug.normalized_name in luaPlugins: - log.debug("%s is a neovim plugin", plug) - return True - return False +NVIM_TREESITTER_GENERATED_NIX = \ + "pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix" class VimEditor(pluginupdate.Editor): nvim_treesitter_updated = False - def generate_nix(self, plugins: List[Tuple[PluginDesc, pluginupdate.Plugin]], outfile: str): + def generate_nix( + self, plugins: List[Tuple[PluginDesc, pluginupdate.Plugin]], outfile: str + ): sorted_plugins = sorted(plugins, key=lambda v: v[0].name.lower()) - nvim_treesitter_rev = pluginupdate.run_nix_expr("(import { }).vimPlugins.nvim-treesitter.src.rev") + nvim_treesitter_rev = pluginupdate.run_nix_expr( + "(import { }).vimPlugins.nvim-treesitter.src.rev", + self.nixpkgs + ) with open(outfile, "w+") as f: f.write(HEADER) - f.write(textwrap.dedent(""" + f.write( + textwrap.dedent( + """ { lib, buildVimPlugin, buildNeovimPlugin, fetchFromGitHub, fetchgit }: final: prev: { """ - )) + ) + ) for pdesc, plugin in sorted_plugins: content = self.plugin2nix(pdesc, plugin) f.write(content) - if plugin.name == "nvim-treesitter" and plugin.commit != nvim_treesitter_rev: + if ( + plugin.name == "nvim-treesitter" and plugin.commit != nvim_treesitter_rev + ): self.nvim_treesitter_updated = True f.write("\n}\n") print(f"updated {outfile}") def plugin2nix(self, pdesc: PluginDesc, plugin: pluginupdate.Plugin) -> str: + GET_PLUGINS_LUA = """ + with import {}; + lib.attrNames lua51Packages""" + luaPlugins = run_nix_expr(GET_PLUGINS_LUA, self.nixpkgs) repo = pdesc.repo - isNeovim = isNeovimPlugin(plugin) + + def _isNeovimPlugin(plug: pluginupdate.Plugin) -> bool: + """ + Whether it's a neovim-only plugin + We can check if it's available in lua packages + """ + # global luaPlugins + if plug.normalized_name in luaPlugins: + log.debug("%s is a neovim plugin", plug) + return True + return False + + isNeovim = _isNeovimPlugin(plugin) content = f" {plugin.normalized_name} = " src_nix = repo.as_nix(plugin) @@ -103,23 +115,28 @@ class VimEditor(pluginupdate.Editor): }}; """.format( - buildFn="buildNeovimPlugin" if isNeovim else "buildVimPlugin", plugin=plugin, src_nix=src_nix, repo=repo) + buildFn="buildNeovimPlugin" if isNeovim else "buildVimPlugin", + plugin=plugin, + src_nix=src_nix, + repo=repo, + ) log.debug(content) return content - def update(self, args): pluginupdate.update_plugins(self, args) if self.nvim_treesitter_updated: print("updating nvim-treesitter grammars") nvim_treesitter_dir = ROOT.joinpath("nvim-treesitter") - subprocess.check_call([nvim_treesitter_dir.joinpath("update.py")]) + lockfile = json.load(open(args.nixpkgs.join(NVIM_TREESITTER_GENERATED_FILE, "lockfile.json"))) + + nvim_treesitter.update_grammars(lockfile) if self.nixpkgs_repo: index = self.nixpkgs_repo.index for diff in index.diff(None): - if diff.a_path == "pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix": + if diff.a_path == NVIM_TREESITTER_GENERATED_NIX: msg = "vimPlugins.nvim-treesitter: update grammars" print(f"committing to nixpkgs: {msg}") index.add([str(nvim_treesitter_dir.joinpath("generated.nix"))]) @@ -131,11 +148,11 @@ class VimEditor(pluginupdate.Editor): def main(): global luaPlugins - luaPlugins = run_nix_expr(GET_PLUGINS_LUA) - with open(f"{ROOT}/get-plugins.nix") as f: + log.debug(f"Loading from {ROOT}/../get-plugins.nix") + with open(f"{ROOT}/../get-plugins.nix") as f: GET_PLUGINS = f.read() - editor = VimEditor("vim", ROOT, GET_PLUGINS) + editor = VimEditor("vim", Path("pkgs/applications/editors/vim/plugins"), GET_PLUGINS) editor.run() diff --git a/pkgs/applications/editors/vim/plugins/updater.nix b/pkgs/applications/editors/vim/plugins/updater.nix new file mode 100644 index 000000000000..e82650a040f2 --- /dev/null +++ b/pkgs/applications/editors/vim/plugins/updater.nix @@ -0,0 +1,47 @@ +{ buildPythonApplication +, nix +, makeWrapper +, python3Packages +, lib + +# optional +, vimPlugins +, neovim +}: +let + my_neovim = neovim.override { + configure.packages.all.start = [ vimPlugins.nvim-treesitter ]; + }; + +in +buildPythonApplication { + format = "other"; + pname = "vim-plugins-updater"; + version = "0.1"; + + nativeBuildInputs = [ + makeWrapper + python3Packages.wrapPython + ]; + + pythonPath = [ + python3Packages.gitpython + ]; + + dontUnpack = true; + + installPhase = '' + mkdir -p $out/bin $out/lib + cp ${./update.py} $out/bin/vim-plugins-updater + cp ${./get-plugins.nix} $out/get-plugins.nix + cp ${./nvim-treesitter/update.py} $out/lib/treesitter.py + cp ${../../../../../maintainers/scripts/pluginupdate.py} $out/lib/pluginupdate.py + + # wrap python scripts + makeWrapperArgs+=( --prefix PATH : "${lib.makeBinPath [ nix my_neovim ]}" --prefix PYTHONPATH : "$out/lib" ) + wrapPythonPrograms + ''; + + meta.mainProgram = "vim-plugins-updater"; +} + diff --git a/pkgs/applications/editors/vscode/extensions/default.nix b/pkgs/applications/editors/vscode/extensions/default.nix index 1f5d14282d20..d0a6df037831 100644 --- a/pkgs/applications/editors/vscode/extensions/default.nix +++ b/pkgs/applications/editors/vscode/extensions/default.nix @@ -700,8 +700,8 @@ let mktplcRef = { name = "ruff"; publisher = "charliermarsh"; - version = "2023.38.0"; - sha256 = "sha256-Gcw+X8e8MrTflotHUwkrdP/DD/6AX/kEgtRiqvqyqRM="; + version = "2023.40.0"; + sha256 = "sha256-Ym76WtKvz18NgxH9o8O/Ozn+/AtqLvjJs8ffLhPOWkQ="; }; meta = { license = lib.licenses.mit; diff --git a/pkgs/applications/editors/vscode/generic.nix b/pkgs/applications/editors/vscode/generic.nix index 39e4fbc966d7..e8ae861bf2fb 100644 --- a/pkgs/applications/editors/vscode/generic.nix +++ b/pkgs/applications/editors/vscode/generic.nix @@ -1,6 +1,6 @@ { stdenv, lib, makeDesktopItem , unzip, libsecret, libXScrnSaver, libxshmfence, buildPackages -, atomEnv, at-spi2-atk, autoPatchelfHook +, at-spi2-atk, autoPatchelfHook, alsa-lib, mesa, nss, nspr, xorg , systemd, fontconfig, libdbusmenu, glib, buildFHSEnv, wayland , libglvnd, libkrb5 @@ -67,7 +67,7 @@ let }; buildInputs = [ libsecret libXScrnSaver libxshmfence ] - ++ lib.optionals (!stdenv.isDarwin) ([ at-spi2-atk libkrb5 ] ++ atomEnv.packages); + ++ lib.optionals (!stdenv.isDarwin) [ alsa-lib at-spi2-atk libkrb5 mesa nss nspr systemd xorg.libxkbfile ]; runtimeDependencies = lib.optionals stdenv.isLinux [ (lib.getLib systemd) fontconfig.lib libdbusmenu wayland libsecret ]; diff --git a/pkgs/applications/emulators/duckstation/001-fix-test-inclusion.diff b/pkgs/applications/emulators/duckstation/001-fix-test-inclusion.diff new file mode 100644 index 000000000000..b2dabe0262db --- /dev/null +++ b/pkgs/applications/emulators/duckstation/001-fix-test-inclusion.diff @@ -0,0 +1,11 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 879d46bc..95570f6b 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -20,5 +20,5 @@ if(BUILD_REGTEST) + endif() + + if(BUILD_TESTS) +- add_subdirectory(common-tests EXCLUDE_FROM_ALL) ++ add_subdirectory(common-tests) + endif() diff --git a/pkgs/applications/emulators/duckstation/002-hardcode-vars.diff b/pkgs/applications/emulators/duckstation/002-hardcode-vars.diff new file mode 100644 index 000000000000..f0b7bb67a0ee --- /dev/null +++ b/pkgs/applications/emulators/duckstation/002-hardcode-vars.diff @@ -0,0 +1,19 @@ +diff --git a/src/scmversion/gen_scmversion.sh b/src/scmversion/gen_scmversion.sh +index 9c1dacab..d1f895ee 100755 +--- a/src/scmversion/gen_scmversion.sh ++++ b/src/scmversion/gen_scmversion.sh +@@ -10,10 +10,10 @@ else + fi + + +-HASH=$(git rev-parse HEAD) +-BRANCH=$(git rev-parse --abbrev-ref HEAD | tr -d '\r\n') +-TAG=$(git describe --tags --dirty --exclude latest --exclude preview --exclude legacy --exclude previous-latest | tr -d '\r\n') +-DATE=$(git log -1 --date=iso8601-strict --format=%cd) ++HASH="@gitHash@" ++BRANCH="@gitBranch@" ++TAG="@gitTag@" ++DATE="@gitDate@" + + cd $CURDIR + diff --git a/pkgs/applications/emulators/duckstation/default.nix b/pkgs/applications/emulators/duckstation/default.nix index 87470f561413..e7980e20dddd 100644 --- a/pkgs/applications/emulators/duckstation/default.nix +++ b/pkgs/applications/emulators/duckstation/default.nix @@ -8,31 +8,45 @@ , curl , extra-cmake-modules , libXrandr +, libbacktrace , makeDesktopItem -, mesa # for libgbm , ninja , pkg-config , qtbase , qtsvg , qttools , qtwayland +, substituteAll , vulkan-loader , wayland , wrapQtAppsHook , enableWayland ? true }: -stdenv.mkDerivation { +stdenv.mkDerivation (finalAttrs: { pname = "duckstation"; - version = "unstable-2023-04-14"; + version = "unstable-2023-09-30"; src = fetchFromGitHub { owner = "stenzek"; repo = "duckstation"; - rev = "5fee6f5abee7f3aad65da5523e57896e10e2a53a"; - sha256 = "sha256-sRs/b4GVXhF3zrOef8DSBKJJGYECUER/nNWZAqv7suA="; + rev = "d5608bf12df7a7e03750cb94a08a3d7999034ae2"; + hash = "sha256-ktfZgacjkN6GQb1vLmyTZMr8QmmH12qAvFSIBTjgRSs="; }; + patches = [ + # Tests are not built by default + ./001-fix-test-inclusion.diff + # Patching yet another script that fills data based on git commands... + (substituteAll { + src = ./002-hardcode-vars.diff; + gitHash = finalAttrs.src.rev; + gitBranch = "master"; + gitTag = "0.1-5889-gd5608bf1"; + gitDate = "2023-09-30T23:20:09+10:00"; + }) + ]; + nativeBuildInputs = [ cmake copyDesktopItems @@ -49,7 +63,7 @@ stdenv.mkDerivation { SDL2 curl libXrandr - mesa + libbacktrace qtbase qtsvg vulkan-loader @@ -60,10 +74,12 @@ stdenv.mkDerivation { ] ++ cubeb.passthru.backendLibs; + strictDeps = true; + cmakeFlags = [ - "-DUSE_DRMKMS=ON" - ] - ++ lib.optionals enableWayland [ "-DUSE_WAYLAND=ON" ]; + (lib.cmakeBool "BUILD_TESTS" true) + (lib.cmakeBool "ENABLE_WAYLAND" enableWayland) + ]; desktopItems = [ (makeDesktopItem { @@ -79,6 +95,13 @@ stdenv.mkDerivation { }) ]; + doCheck = true; + checkPhase = '' + runHook preCheck + bin/common-tests + runHook postCheck + ''; + installPhase = '' runHook preInstall @@ -92,23 +115,16 @@ stdenv.mkDerivation { runHook postInstall ''; - doCheck = true; - checkPhase = '' - runHook preCheck - bin/common-tests - runHook postCheck - ''; - qtWrapperArgs = [ "--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath ([ vulkan-loader ] ++ cubeb.passthru.backendLibs)}" ]; - meta = with lib; { + meta = { homepage = "https://github.com/stenzek/duckstation"; description = "Fast PlayStation 1 emulator for x86-64/AArch32/AArch64"; - license = licenses.gpl3Only; + license = lib.licenses.gpl3Only; mainProgram = "duckstation-qt"; - maintainers = with maintainers; [ guibou AndersonTorres ]; - platforms = platforms.linux; + maintainers = with lib.maintainers; [ guibou AndersonTorres ]; + platforms = lib.platforms.linux; }; -} +}) diff --git a/pkgs/applications/emulators/mame/default.nix b/pkgs/applications/emulators/mame/default.nix index 6edfd2e149d6..730ed7b7ac0a 100644 --- a/pkgs/applications/emulators/mame/default.nix +++ b/pkgs/applications/emulators/mame/default.nix @@ -38,14 +38,14 @@ let in stdenv.mkDerivation rec { pname = "mame"; - version = "0.258"; + version = "0.259"; srcVersion = builtins.replaceStrings [ "." ] [ "" ] version; src = fetchFromGitHub { owner = "mamedev"; repo = "mame"; rev = "mame${srcVersion}"; - hash = "sha256-5wsPlI3xTCeadxvOjjNSGtaa8F7M6gZobsv2Ks8DSGE="; + hash = "sha256-F8psPvwuaILXZF7dCStJApVTD9zzzBwjf1CKGelHlqE="; }; outputs = [ "out" "tools" ]; diff --git a/pkgs/applications/graphics/nomacs/default.nix b/pkgs/applications/graphics/nomacs/default.nix index 7c909de9f84c..3169d5f0d4f1 100644 --- a/pkgs/applications/graphics/nomacs/default.nix +++ b/pkgs/applications/graphics/nomacs/default.nix @@ -1,10 +1,9 @@ -{ stdenv -, lib -, mkDerivation +{ lib +, stdenv , fetchFromGitHub -, fetchpatch , cmake , pkg-config +, wrapQtAppsHook , qtbase , qttools @@ -18,32 +17,24 @@ , quazip }: -mkDerivation rec { +stdenv.mkDerivation rec { pname = "nomacs"; - version = "3.17.2206"; + version = "3.17.2285"; src = fetchFromGitHub { owner = "nomacs"; repo = "nomacs"; rev = version; - sha256 = "1bq7bv4p7w67172y893lvpk90d6fgdpnylynbj2kn8m2hs6khya4"; + hash = "sha256-/K7LRPwNy2PG7tIGD0tiKnEOPZ491lxFRlgf4xWYtxs="; }; - patches = [ - # Add support for Quazip 1.x. - (fetchpatch { - url = "https://github.com/nomacs/nomacs/pull/576.patch"; - sha256 = "11ryjvd9jbb0cqagai4a6980jfq8lrcbyw2d7z9yld1f42w9kbxm"; - stripLen = 1; - }) - ]; - setSourceRoot = '' sourceRoot=$(echo */ImageLounge) ''; nativeBuildInputs = [cmake - pkg-config]; + pkg-config + wrapQtAppsHook]; buildInputs = [qtbase qttools @@ -62,13 +53,16 @@ mkDerivation rec { "-DENABLE_TRANSLATIONS=ON" "-DUSE_SYSTEM_QUAZIP=ON"]; + postInstall = lib.optionalString stdenv.isDarwin '' + mkdir -p $out/lib + mv $out/libnomacsCore.dylib $out/lib/libnomacsCore.dylib + ''; + meta = with lib; { homepage = "https://nomacs.org"; description = "Qt-based image viewer"; maintainers = with lib.maintainers; [ mindavi ]; license = licenses.gpl3Plus; inherit (qtbase.meta) platforms; - # Broken on hydra since 2020-08-15: https://hydra.nixos.org/build/125495291 (bump from 3.16 to 3.17 prerelease) - broken = stdenv.isDarwin; }; } diff --git a/pkgs/applications/misc/azuredatastudio/default.nix b/pkgs/applications/misc/azuredatastudio/default.nix index 7e366d19d54c..f90bed6390f2 100644 --- a/pkgs/applications/misc/azuredatastudio/default.nix +++ b/pkgs/applications/misc/azuredatastudio/default.nix @@ -4,21 +4,31 @@ , copyDesktopItems , makeDesktopItem , makeWrapper -, libuuid -, libunwind -, libxkbcommon -, icu -, openssl -, zlib -, curl -, at-spi2-core +, alsa-lib , at-spi2-atk +, at-spi2-core +, cairo +, cups +, curl +, dbus +, expat +, gdk-pixbuf +, glib , gnutar -, atomEnv -, libkrb5 +, gtk3 +, icu , libdrm +, libunwind +, libuuid +, libxkbcommon , mesa +, nspr +, nss +, openssl +, pango +, systemd , xorg +, zlib }: # from justinwoo/azuredatastudio-nix @@ -115,20 +125,34 @@ stdenv.mkDerivation rec { sqltoolsservicePath = "${targetPath}/resources/app/extensions/mssql/sqltoolsservice/Linux/4.7.1.6"; rpath = lib.concatStringsSep ":" [ - atomEnv.libPath - ( - lib.makeLibraryPath [ - libuuid - at-spi2-core - at-spi2-atk - stdenv.cc.cc.lib - libkrb5 - libdrm - libxkbcommon - mesa - xorg.libxshmfence - ] - ) + (lib.makeLibraryPath [ + alsa-lib + at-spi2-atk + cairo + cups + dbus + expat + gdk-pixbuf + glib + gtk3 + mesa + nss + nspr + libdrm + xorg.libX11 + xorg.libxcb + xorg.libXcomposite + xorg.libXdamage + xorg.libXext + xorg.libXfixes + xorg.libXrandr + xorg.libxshmfence + libxkbcommon + xorg.libxkbfile + pango + stdenv.cc.cc.lib + systemd + ]) targetPath sqltoolsserviceRpath ]; diff --git a/pkgs/applications/misc/sidequest/default.nix b/pkgs/applications/misc/sidequest/default.nix index 7c6f9249a2dc..b5898c48cd90 100644 --- a/pkgs/applications/misc/sidequest/default.nix +++ b/pkgs/applications/misc/sidequest/default.nix @@ -1,4 +1,31 @@ -{ stdenv, lib, fetchurl, buildFHSEnv, makeDesktopItem, makeWrapper, atomEnv, libuuid, libxkbcommon, libxshmfence, at-spi2-atk, icu, openssl, zlib }: +{ stdenv +, lib +, fetchurl +, buildFHSEnv +, makeDesktopItem +, makeWrapper +, alsa-lib +, at-spi2-atk +, cairo +, cups +, dbus +, expat +, gdk-pixbuf +, glib +, gtk3 +, mesa +, nss +, nspr +, libdrm +, xorg +, libxkbcommon +, libxshmfence +, pango +, systemd +, icu +, openssl +, zlib +}: let pname = "sidequest"; version = "0.10.33"; @@ -21,20 +48,46 @@ nativeBuildInputs = [ makeWrapper ]; - buildCommand = '' + installPhase = '' mkdir -p "$out/lib/SideQuest" "$out/bin" tar -xJf "$src" -C "$out/lib/SideQuest" --strip-components 1 ln -s "$out/lib/SideQuest/sidequest" "$out/bin" + ''; - fixupPhase - - # mkdir -p "$out/share/applications" - # ln -s "${desktopItem}/share/applications/*" "$out/share/applications" - + postFixup = let + libPath = lib.makeLibraryPath [ + alsa-lib + at-spi2-atk + cairo + cups + dbus + expat + gdk-pixbuf + glib + gtk3 + mesa + nss + nspr + libdrm + xorg.libX11 + xorg.libxcb + xorg.libXcomposite + xorg.libXdamage + xorg.libXext + xorg.libXfixes + xorg.libXrandr + xorg.libxshmfence + libxkbcommon + xorg.libxkbfile + pango + stdenv.cc.cc.lib + systemd + ]; + in '' patchelf \ --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - --set-rpath "${atomEnv.libPath}/lib:${lib.makeLibraryPath [libuuid at-spi2-atk]}:$out/lib/SideQuest" \ + --set-rpath "${libPath}:$out/lib/SideQuest" \ "$out/lib/SideQuest/sidequest" ''; }; diff --git a/pkgs/applications/misc/simplenote/default.nix b/pkgs/applications/misc/simplenote/default.nix index 35f153393518..82008de9576b 100644 --- a/pkgs/applications/misc/simplenote/default.nix +++ b/pkgs/applications/misc/simplenote/default.nix @@ -1,5 +1,4 @@ -{ atomEnv -, autoPatchelfHook +{ autoPatchelfHook , dpkg , fetchurl , makeDesktopItem @@ -7,7 +6,13 @@ , lib , stdenv , udev +, alsa-lib +, mesa +, nss +, nspr +, systemd , wrapGAppsHook +, xorg }: let @@ -40,9 +45,7 @@ let inherit pname version meta; src = fetchurl { - url = - "https://github.com/Automattic/simplenote-electron/releases/download/" - + "v${version}/Simplenote-linux-${version}-amd64.deb"; + url = "https://github.com/Automattic/simplenote-electron/releases/download/v${version}/Simplenote-linux-${version}-amd64.deb"; inherit sha256; }; @@ -61,6 +64,7 @@ let dontPatchELF = true; dontWrapGApps = true; + # TODO: migrate off autoPatchelfHook and use nixpkgs' electron nativeBuildInputs = [ autoPatchelfHook dpkg @@ -68,7 +72,16 @@ let wrapGAppsHook ]; - buildInputs = atomEnv.packages; + buildInputs = [ + alsa-lib + mesa + xorg.libXScrnSaver + xorg.libXtst + nss + nspr + stdenv.cc.cc + systemd + ]; unpackPhase = "dpkg-deb -x $src ."; diff --git a/pkgs/applications/misc/tui-journal/default.nix b/pkgs/applications/misc/tui-journal/default.nix index ca61f0aedecc..25e3058da9aa 100644 --- a/pkgs/applications/misc/tui-journal/default.nix +++ b/pkgs/applications/misc/tui-journal/default.nix @@ -11,16 +11,16 @@ rustPlatform.buildRustPackage rec { pname = "tui-journal"; - version = "0.3.1"; + version = "0.3.2"; src = fetchFromGitHub { owner = "AmmarAbouZor"; repo = "tui-journal"; rev = "v${version}"; - hash = "sha256-DKactqPyZTDmD4F15wKHvwuzsZUj6y1MJuPyASnia/c="; + hash = "sha256-ASozznbqtQc9bIzxbL94t2CHY2/PeXfR1DKfhTmsX74="; }; - cargoHash = "sha256-dLyI2cmIz1ucKdhAEs3Nz1tamcJUDZtdv4Fk/Wo+Zxs="; + cargoHash = "sha256-H+j/i0Gfk7O2TLdw5FYHOrLy/jfMSF4cpzMtQ2XJn2M="; nativeBuildInputs = [ pkg-config diff --git a/pkgs/applications/networking/cluster/ocm/default.nix b/pkgs/applications/networking/cluster/ocm/default.nix index e8180fa770cc..ac44c8efffdb 100644 --- a/pkgs/applications/networking/cluster/ocm/default.nix +++ b/pkgs/applications/networking/cluster/ocm/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "ocm"; - version = "0.1.68"; + version = "0.1.69"; src = fetchFromGitHub { owner = "openshift-online"; repo = "ocm-cli"; rev = "v${version}"; - sha256 = "sha256-pJ/QWdKLVKFQuaGO9sNf6lhMMgqk9VZS9NLtUz+2+t8="; + sha256 = "sha256-JKR58is8SzNmEQ8x1om1anReLIbNCHJkkzZQ1SiQ5J4="; }; vendorHash = "sha256-3HLTuWf4mK3r92s2mPE2yl/rrPxgcsB9EmrxkiJsMaE="; diff --git a/pkgs/applications/networking/instant-messengers/mattermost-desktop/default.nix b/pkgs/applications/networking/instant-messengers/mattermost-desktop/default.nix index 9ea8397e2446..7e3d8fc7a359 100644 --- a/pkgs/applications/networking/instant-messengers/mattermost-desktop/default.nix +++ b/pkgs/applications/networking/instant-messengers/mattermost-desktop/default.nix @@ -1,15 +1,8 @@ { lib , stdenv , fetchurl -, atomEnv , electron_26 -, systemd -, pulseaudio -, libxshmfence -, libnotify -, libappindicator-gtk3 , makeWrapper -, autoPatchelfHook }: let @@ -38,18 +31,7 @@ stdenv.mkDerivation { src = fetchurl (srcs."${system}" or (throw "Unsupported system ${system}")); - nativeBuildInputs = [ makeWrapper autoPatchelfHook ]; - - buildInputs = atomEnv.packages ++ [ - libxshmfence - ]; - - runtimeDependencies = [ - (lib.getLib systemd) - pulseaudio - libnotify - libappindicator-gtk3 - ]; + nativeBuildInputs = [ makeWrapper ]; installPhase = '' runHook preInstall diff --git a/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix b/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix index 9c49d1f594f6..164830391311 100644 --- a/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix +++ b/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix @@ -2,13 +2,13 @@ (if stdenv.isDarwin then darwin.apple_sdk_11_0.llvmPackages_14.stdenv else stdenv).mkDerivation rec { pname = "signalbackup-tools"; - version = "20230929"; + version = "20231002-1"; src = fetchFromGitHub { owner = "bepaald"; repo = pname; rev = version; - hash = "sha256-5U8znPKCe4auQRfysVUzXawnvnSj86MD3J2vfAwxofE="; + hash = "sha256-aZ3KuUjBsgww7CFdSuYMurLc5sDruEX4xuQWDBaCfPk="; }; postPatch = '' diff --git a/pkgs/applications/networking/instant-messengers/teams/default.nix b/pkgs/applications/networking/instant-messengers/teams/default.nix index c79b6f0b03da..ce52a641124e 100644 --- a/pkgs/applications/networking/instant-messengers/teams/default.nix +++ b/pkgs/applications/networking/instant-messengers/teams/default.nix @@ -1,24 +1,9 @@ { lib , stdenv -, runtimeShell , fetchurl -, autoPatchelfHook -, wrapGAppsHook -, dpkg -, atomEnv -, libuuid -, libappindicator-gtk3 -, pulseaudio -, at-spi2-atk -, coreutils -, gawk -, xdg-utils -, systemd -, asar , xar , cpio , makeWrapper -, enableRectOverlay ? false }: let diff --git a/pkgs/applications/networking/instant-messengers/wire-desktop/default.nix b/pkgs/applications/networking/instant-messengers/wire-desktop/default.nix index 27a4a65605ed..2d1456842456 100644 --- a/pkgs/applications/networking/instant-messengers/wire-desktop/default.nix +++ b/pkgs/applications/networking/instant-messengers/wire-desktop/default.nix @@ -1,5 +1,4 @@ -{ atomEnv -, autoPatchelfHook +{ autoPatchelfHook , dpkg , fetchurl , makeDesktopItem @@ -11,7 +10,11 @@ , cpio , xar , libdbusmenu -, libxshmfence +, alsa-lib +, mesa +, nss +, nspr +, systemd }: let @@ -64,8 +67,7 @@ let inherit pname version meta; src = fetchurl { - url = "https://wire-app.wire.com/linux/debian/pool/main/" - + "Wire-${version}_amd64.deb"; + url = "https://wire-app.wire.com/linux/debian/pool/main/Wire-${version}_amd64.deb"; inherit hash; }; @@ -85,6 +87,7 @@ let dontPatchELF = true; dontWrapGApps = true; + # TODO: migrate off autoPatchelfHook and use nixpkgs' electron nativeBuildInputs = [ autoPatchelfHook dpkg @@ -92,7 +95,13 @@ let wrapGAppsHook ]; - buildInputs = [ libxshmfence ] ++ atomEnv.packages; + buildInputs = [ + alsa-lib + mesa + nss + nspr + systemd + ]; unpackPhase = '' runHook preUnpack @@ -132,8 +141,7 @@ let inherit pname version meta; src = fetchurl { - url = "https://github.com/wireapp/wire-desktop/releases/download/" - + "macos%2F${version}/Wire.pkg"; + url = "https://github.com/wireapp/wire-desktop/releases/download/macos%2F${version}/Wire.pkg"; inherit hash; }; diff --git a/pkgs/applications/networking/syncthing/default.nix b/pkgs/applications/networking/syncthing/default.nix index cb150fb2ed4a..daa54ae05a3a 100644 --- a/pkgs/applications/networking/syncthing/default.nix +++ b/pkgs/applications/networking/syncthing/default.nix @@ -13,16 +13,16 @@ let common = { stname, target, postInstall ? "" }: buildGoModule rec { pname = stname; - version = "1.24.0"; + version = "1.25.0"; src = fetchFromGitHub { owner = "syncthing"; repo = "syncthing"; rev = "v${version}"; - hash = "sha256-5vr9qWMHBYpu8wHpV1JZcX1kEPi+mYeZ7ZQBqXASp9I="; + hash = "sha256-HDzAqnWRfBlRHVf3V7+Y1IPH4QmZiRpxpEzOUgOYgUk="; }; - vendorHash = "sha256-BZwZ6npmWFU0lvynjRZOBOhtxqic0djoSUdCOLbUwjE="; + vendorHash = "sha256-I/ul8ocHPlvtgbTR+/1FyqF0IbHZZSoAFe/0RFJtOYk="; nativeBuildInputs = lib.optionals stdenv.isDarwin [ # Recent versions of macOS seem to require binaries to be signed when diff --git a/pkgs/applications/networking/termius/default.nix b/pkgs/applications/networking/termius/default.nix index 8b0e3e1b6dc1..f2d8b8d68541 100644 --- a/pkgs/applications/networking/termius/default.nix +++ b/pkgs/applications/networking/termius/default.nix @@ -1,14 +1,15 @@ -{ atomEnv -, autoPatchelfHook +{ autoPatchelfHook , squashfsTools +, alsa-lib , fetchurl , makeDesktopItem , makeWrapper , stdenv , lib +, libsecret +, mesa , udev , wrapGAppsHook -, libxshmfence }: stdenv.mkDerivation rec { @@ -41,9 +42,14 @@ stdenv.mkDerivation rec { dontPatchELF = true; dontWrapGApps = true; + # TODO: migrate off autoPatchelfHook and use nixpkgs' electron nativeBuildInputs = [ autoPatchelfHook squashfsTools makeWrapper wrapGAppsHook ]; - buildInputs = atomEnv.packages ++ [ libxshmfence ]; + buildInputs = [ + alsa-lib + libsecret + mesa + ]; unpackPhase = '' runHook preUnpack diff --git a/pkgs/applications/office/trilium/desktop.nix b/pkgs/applications/office/trilium/desktop.nix index 949e7505b893..dd3f41df5230 100644 --- a/pkgs/applications/office/trilium/desktop.nix +++ b/pkgs/applications/office/trilium/desktop.nix @@ -1,6 +1,7 @@ { stdenv, lib, unzip, autoPatchelfHook -, fetchurl, atomEnv, makeWrapper -, makeDesktopItem, copyDesktopItems, wrapGAppsHook, libxshmfence +, fetchurl, makeWrapper +, alsa-lib, mesa, nss, nspr, systemd +, makeDesktopItem, copyDesktopItems, wrapGAppsHook , metaCommon }: @@ -24,6 +25,7 @@ let src = fetchurl linuxSource; + # TODO: migrate off autoPatchelfHook and use nixpkgs' electron nativeBuildInputs = [ autoPatchelfHook makeWrapper @@ -31,7 +33,14 @@ let copyDesktopItems ]; - buildInputs = atomEnv.packages ++ [ libxshmfence ]; + buildInputs = [ + alsa-lib + mesa + nss + nspr + stdenv.cc.cc + systemd + ]; desktopItems = [ (makeDesktopItem { @@ -64,8 +73,9 @@ let ''; # LD_LIBRARY_PATH "shouldn't" be needed, remove when possible :) + # Error: libstdc++.so.6: cannot open shared object file: No such file or directory preFixup = '' - gappsWrapperArgs+=(--prefix LD_LIBRARY_PATH : ${atomEnv.libPath}) + gappsWrapperArgs+=(--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath buildInputs}) ''; dontStrip = true; diff --git a/pkgs/applications/science/chemistry/openmolcas/default.nix b/pkgs/applications/science/chemistry/openmolcas/default.nix index 695d5502b5eb..f8ebf5251fc0 100644 --- a/pkgs/applications/science/chemistry/openmolcas/default.nix +++ b/pkgs/applications/science/chemistry/openmolcas/default.nix @@ -104,7 +104,7 @@ stdenv.mkDerivation { "-DTOOLS=ON" "-DHDF5=ON" "-DFDE=ON" - "-DEXTERNAL_LIBXC=${libxc}" + "-DEXTERNAL_LIBXC=${lib.getDev libxc}" "-DDMRG=ON" "-DNEVPT2=ON" "-DCMAKE_SKIP_BUILD_RPATH=ON" diff --git a/pkgs/applications/science/molecular-dynamics/lammps/default.nix b/pkgs/applications/science/molecular-dynamics/lammps/default.nix index f11e9bdeeb13..7924d044c2ab 100644 --- a/pkgs/applications/science/molecular-dynamics/lammps/default.nix +++ b/pkgs/applications/science/molecular-dynamics/lammps/default.nix @@ -44,15 +44,16 @@ }: stdenv.mkDerivation (finalAttrs: { - # LAMMPS has weird versioning converted to ISO 8601 format - version = "2Aug2023"; + # LAMMPS has weird versioning convention. Updates should go smoothly with: + # nix-update --commit lammps --version-regex 'stable_(.*)' + version = "2Aug2023_update1"; pname = "lammps"; src = fetchFromGitHub { owner = "lammps"; repo = "lammps"; rev = "stable_${finalAttrs.version}"; - hash = "sha256-6T4YAa4iN3pJpODGPW+faR16xxyYYdkHLavtiPUbZ4o="; + hash = "sha256-Zmn87a726qdidBfyvJlYleYv9jqyFAakxjGrg3lipc0="; }; preConfigure = '' cd cmake diff --git a/pkgs/applications/version-management/gitea/default.nix b/pkgs/applications/version-management/gitea/default.nix index 423df13fbebb..f21e58603368 100644 --- a/pkgs/applications/version-management/gitea/default.nix +++ b/pkgs/applications/version-management/gitea/default.nix @@ -20,12 +20,12 @@ buildGoModule rec { pname = "gitea"; - version = "1.20.4"; + version = "1.20.5"; # not fetching directly from the git repo, because that lacks several vendor files for the web UI src = fetchurl { url = "https://dl.gitea.com/gitea/${version}/gitea-src-${version}.tar.gz"; - hash = "sha256-96LI7/4FZy17KED2xc4UFyW4e47DZMuSnMw7loYYB8c="; + hash = "sha256-cH/AHsFXOdvfSfj9AZUd3l/RlYE06o1ByZu0vvGQuXw="; }; vendorHash = null; diff --git a/pkgs/applications/video/obs-studio/plugins/obs-move-transition.nix b/pkgs/applications/video/obs-studio/plugins/obs-move-transition.nix index 18338343abdf..9ffa56533f32 100644 --- a/pkgs/applications/video/obs-studio/plugins/obs-move-transition.nix +++ b/pkgs/applications/video/obs-studio/plugins/obs-move-transition.nix @@ -7,13 +7,13 @@ stdenv.mkDerivation rec { pname = "obs-move-transition"; - version = "2.9.1"; + version = "2.9.4"; src = fetchFromGitHub { owner = "exeldro"; repo = "obs-move-transition"; rev = version; - sha256 = "sha256-8c+ifFESdNgND+93pOCwkNSvvPtzvNPtvQIp8oW6CQE="; + sha256 = "sha256-TY+sR7IaOlbFeeh7GL5dgM779pcpiCqzBo7VTK8Uz0E="; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/applications/video/obs-studio/plugins/obs-shaderfilter.nix b/pkgs/applications/video/obs-studio/plugins/obs-shaderfilter.nix index ea412261e0ab..195b2d6e1769 100644 --- a/pkgs/applications/video/obs-studio/plugins/obs-shaderfilter.nix +++ b/pkgs/applications/video/obs-studio/plugins/obs-shaderfilter.nix @@ -8,13 +8,13 @@ stdenv.mkDerivation rec { pname = "obs-shaderfilter"; - version = "v1.22"; + version = "2.0.0"; src = fetchFromGitHub { owner = "exeldro"; repo = "obs-shaderfilter"; rev = version; - sha256 = "sha256-CqqYzGRhlHO8Zva+so8uo9+EIlzTfoFVl3NzZMsE7Xc="; + sha256 = "sha256-CEe/NUIYhVdvs7/ZvrvuwKPRNofWE+WZxN6yN8RACs8="; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/by-name/as/ast-grep/package.nix b/pkgs/by-name/as/ast-grep/package.nix new file mode 100644 index 000000000000..d275939e87cc --- /dev/null +++ b/pkgs/by-name/as/ast-grep/package.nix @@ -0,0 +1,47 @@ +{ lib +, rustPlatform +, fetchFromGitHub +, stdenv +}: + +rustPlatform.buildRustPackage rec { + pname = "ast-grep"; + version = "0.12.2"; + + src = fetchFromGitHub { + owner = "ast-grep"; + repo = "ast-grep"; + rev = version; + hash = "sha256-N9hfHgzqwV/G3/xNY2Vx1i2dW6BcABJ/4lkhnLuvIns="; + }; + + cargoHash = "sha256-3ntsPC6OWtSN3MH+3wN2BgOqH69jiW93/xfLY+niARI="; + + # error: linker `aarch64-linux-gnu-gcc` not found + postPatch = '' + rm .cargo/config.toml + ''; + + checkFlags = [ + # disable flaky test + "--skip=test::test_load_parser_mac" + + # BUG: Broke by 0.12.1 update (https://github.com/NixOS/nixpkgs/pull/257385) + # Please check if this is fixed in future updates of the package + "--skip=verify::test_case::tests::test_unmatching_id" + ] ++ lib.optionals (with stdenv.hostPlatform; (isDarwin && isx86_64) || (isLinux && isAarch64)) [ + # x86_64-darwin: source/benches/fixtures/json-mac.so\' (no such file), \'/private/tmp/nix-build-.../source/benches/fixtures/json-mac.so\' (mach-o file, but is an incompatible architecture (have \'arm64\', need \'x86_64h\' or \'x86_64\'))" }) + # aarch64-linux: /build/source/benches/fixtures/json-linux.so: cannot open shared object file: No such file or directory" + "--skip=test::test_load_parser" + "--skip=test::test_register_lang" + ]; + + meta = with lib; { + mainProgram = "sg"; + description = "A fast and polyglot tool for code searching, linting, rewriting at large scale"; + homepage = "https://ast-grep.github.io/"; + changelog = "https://github.com/ast-grep/ast-grep/blob/${src.rev}/CHANGELOG.md"; + license = licenses.mit; + maintainers = with maintainers; [ montchr lord-valen cafkafk ]; + }; +} diff --git a/pkgs/by-name/gi/girouette/package.nix b/pkgs/by-name/gi/girouette/package.nix index 8cfd7dbf8ae1..2c2a733c3117 100644 --- a/pkgs/by-name/gi/girouette/package.nix +++ b/pkgs/by-name/gi/girouette/package.nix @@ -37,7 +37,7 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/gourlaysama/girouette"; changelog = "https://github.com/gourlaysama/girouette/blob/${src.rev}/CHANGELOG.md"; license = with licenses; [ asl20 mit ]; - maintainers = with maintainers; [ linuxissuper ]; + maintainers = with maintainers; [ linuxissuper cafkafk ]; mainProgram = "girouette"; }; } diff --git a/pkgs/by-name/ku/kubectl-neat/package.nix b/pkgs/by-name/ku/kubectl-neat/package.nix new file mode 100644 index 000000000000..c0ce31abb926 --- /dev/null +++ b/pkgs/by-name/ku/kubectl-neat/package.nix @@ -0,0 +1,29 @@ +{ lib, buildGoModule, fetchFromGitHub, bash }: + +buildGoModule rec { + pname = "kubectl-neat"; + version = "2.0.3"; + + src = fetchFromGitHub { + owner = "itaysk"; + repo = "kubectl-neat"; + rev = "v${version}"; + hash = "sha256-j8v0zJDBqHzmLamIZPW9UvMe9bv/m3JUQKY+wsgMTFk="; + }; + + vendorHash = "sha256-vGXoYR0DT9V1BD/FN/4szOal0clsLlqReTFkAd2beMw="; + + postBuild = '' + # Replace path to bash in a script + # Without this change, there's a problem when running tests + sed 's,#!/bin/bash,#!${bash}/bin/bash,' -i test/kubectl-stub + ''; + + meta = with lib; { + description = "Clean up Kubernetes yaml and json output to make it readable"; + homepage = "https://github.com/itaysk/kubectl-neat"; + changelog = "https://github.com/itaysk/kubectl-neat/releases/tag/v${version}"; + license = licenses.asl20; + maintainers = [ maintainers.koralowiec ]; + }; +} diff --git a/pkgs/by-name/nu/nuget/package.nix b/pkgs/by-name/nu/nuget/package.nix new file mode 100644 index 000000000000..ff262c68ff64 --- /dev/null +++ b/pkgs/by-name/nu/nuget/package.nix @@ -0,0 +1,50 @@ +{ stdenv, fetchFromGitHub, makeWrapper, mono, lib }: + +stdenv.mkDerivation (attrs: { + pname = "Nuget"; + version = "6.6.1.2"; + + src = fetchFromGitHub { + owner = "mono"; + repo = "linux-packaging-nuget"; + rev = "upstream/${attrs.version}.bin"; + sha256 = "sha256-9/dSeVshHbpYIgGE/8OzrB4towrWVB3UxDi8Esmbu7Y="; + }; + + nativeBuildInputs = [ + makeWrapper + ]; + + installPhase = '' + runHook preInstall + + mkdir -p $out/lib/${attrs.pname} + cp -r . $out/lib/${attrs.pname}/ + + mkdir -p $out/bin + makeWrapper \ + "${mono}/bin/mono" \ + "$out/bin/nuget" \ + --add-flags "$out/lib/${attrs.pname}/nuget.exe" + + runHook postInstall + ''; + + meta = with lib; { + description = "A package manager for the .NET platform"; + homepage = "https://www.mono-project.com/"; + longDescription = '' + NuGet is the package manager for the .NET platform. + This derivation bundles the Mono NuGet CLI, which is mostly used by + older projects based on .NET Framework. + + Newer .NET projects can use the dotnet CLI, which has most of this + packages functionality built-in. + ''; + # https://learn.microsoft.com/en-us/nuget/resources/nuget-faq#what-is-the-license-for-nuget-exe- + license = licenses.mit; + sourceProvenance = [ sourceTypes.binaryBytecode ]; + maintainers = [ maintainers.mdarocha ]; + platforms = [ "x86_64-linux" ]; + }; +}) diff --git a/pkgs/by-name/or/orchard/package.nix b/pkgs/by-name/or/orchard/package.nix index 07e48c586701..17220ed79299 100644 --- a/pkgs/by-name/or/orchard/package.nix +++ b/pkgs/by-name/or/orchard/package.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "orchard"; - version = "0.12.0"; + version = "0.13.1"; src = fetchFromGitHub { owner = "cirruslabs"; repo = pname; rev = version; - hash = "sha256-+QNYlZ3/GiDtCySZPOlrDy03lkdGGvbFCWidQhbZJYQ="; + hash = "sha256-b9AHsyMiR3gTXGRbmIUX9uSd7u3dFoUZ/CtKrYpuzno="; # populate values that require us to use git. By doing this in postFetch we # can delete .git afterwards and maintain better reproducibility of the src. leaveDotGit = true; diff --git a/pkgs/data/themes/where-is-my-sddm-theme/default.nix b/pkgs/data/themes/where-is-my-sddm-theme/default.nix index 8151ca0cc133..13ea576b3fbf 100644 --- a/pkgs/data/themes/where-is-my-sddm-theme/default.nix +++ b/pkgs/data/themes/where-is-my-sddm-theme/default.nix @@ -23,13 +23,13 @@ in stdenvNoCC.mkDerivation rec { pname = "where-is-my-sddm-theme"; - version = "1.5.0"; + version = "1.5.1"; src = fetchFromGitHub { owner = "stepanzubkov"; repo = pname; rev = "v${version}"; - hash = "sha256-kW6W8DELi9Xqn9xWLlcKmxk4tO5FKdApaYTZimQ+7B0="; + hash = "sha256-T6b+rxjlxZCQ/KDaxBM8ZryA3n6a+3jo+J2nETBYslM="; }; propagatedUserEnvPkgs = [ qtgraphicaleffects ]; diff --git a/pkgs/development/beam-modules/elixir-ls/default.nix b/pkgs/development/beam-modules/elixir-ls/default.nix index 949331f2fe48..3240a8eebc37 100644 --- a/pkgs/development/beam-modules/elixir-ls/default.nix +++ b/pkgs/development/beam-modules/elixir-ls/default.nix @@ -49,6 +49,10 @@ mixRelease { substitute release/language_server.sh $out/bin/elixir-ls \ --replace 'exec "''${dir}/launch.sh"' "exec $out/lib/launch.sh" chmod +x $out/bin/elixir-ls + + substitute release/debugger.sh $out/bin/elixir-debugger \ + --replace 'exec "''${dir}/launch.sh"' "exec $out/lib/launch.sh" + chmod +x $out/bin/elixir-debugger # prepare the launcher substituteInPlace $out/lib/launch.sh \ --replace "ERL_LIBS=\"\$SCRIPTPATH:\$ERL_LIBS\"" \ diff --git a/pkgs/development/libraries/faudio/default.nix b/pkgs/development/libraries/faudio/default.nix index 7f95b9995499..2c23409dc869 100644 --- a/pkgs/development/libraries/faudio/default.nix +++ b/pkgs/development/libraries/faudio/default.nix @@ -4,13 +4,13 @@ stdenv.mkDerivation rec { pname = "faudio"; - version = "23.09"; + version = "23.10"; src = fetchFromGitHub { owner = "FNA-XNA"; repo = "FAudio"; rev = version; - sha256 = "sha256-Sl+dOM1YMDwCN07ThR/JFwhNS10P7+uQJNUQAvFdYa8="; + sha256 = "sha256-h4wPUUYG8IZr2jHUlKFO2K3QKGiX9AzyLc2Ma5hR8Tk="; }; nativeBuildInputs = [cmake]; diff --git a/pkgs/development/libraries/kde-frameworks/kio/default.nix b/pkgs/development/libraries/kde-frameworks/kio/default.nix index 3b07654fb802..e0913a16a1f9 100644 --- a/pkgs/development/libraries/kde-frameworks/kio/default.nix +++ b/pkgs/development/libraries/kde-frameworks/kio/default.nix @@ -28,5 +28,11 @@ mkDerivation { outputs = [ "out" "dev" ]; patches = [ ./0001-Remove-impure-smbd-search-path.patch + + # Fix a crash when saving files. + (fetchpatch { + url = "https://invent.kde.org/frameworks/kio/-/commit/48322f44323a1fc09305d66d9093fe6c3780709e.patch"; + hash = "sha256-4NxI2mD/TdthvrzgatCAlM6VN3N38i3IJUHh0Bs8Fjk="; + }) ]; } diff --git a/pkgs/development/lua-modules/generated-packages.nix b/pkgs/development/lua-modules/generated-packages.nix index e242952e691b..383ab0f665bc 100644 --- a/pkgs/development/lua-modules/generated-packages.nix +++ b/pkgs/development/lua-modules/generated-packages.nix @@ -2501,6 +2501,29 @@ buildLuarocksPackage { }; }) {}; +middleclass = callPackage({ luaOlder, buildLuarocksPackage, fetchurl, lua }: +buildLuarocksPackage { + pname = "middleclass"; + version = "4.1.1-0"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/middleclass-4.1.1-0.rockspec"; + sha256 = "10xzs48lr1dy7cx99581r956gl16px0a9gbdlfar41n19r96mhb1"; + }).outPath; + src = fetchurl { + url = "https://github.com/kikito/middleclass/archive/v4.1.1.tar.gz"; + sha256 = "11ahv0b9wgqfnabv57rb7ilsvn2vcvxb1czq6faqrsqylvr5l7nh"; + }; + + disabled = (luaOlder "5.1"); + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "https://github.com/kikito/middleclass"; + description = "A simple OOP library for Lua"; + license.fullName = "MIT"; + }; +}) {}; + moonscript = callPackage({ lpeg, luaOlder, fetchgit, lua, buildLuarocksPackage, argparse, luafilesystem }: buildLuarocksPackage { pname = "moonscript"; diff --git a/pkgs/development/mobile/maestro/default.nix b/pkgs/development/mobile/maestro/default.nix index 118041d43cfa..c43260770e5b 100644 --- a/pkgs/development/mobile/maestro/default.nix +++ b/pkgs/development/mobile/maestro/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "maestro"; - version = "1.33.0"; + version = "1.33.1"; src = fetchurl { url = "https://github.com/mobile-dev-inc/maestro/releases/download/cli-${version}/maestro.zip"; - sha256 = "0xv7kbnr3q7w3lvlhwqwbpxz18wsb22k51xrq2dp73wdqk3jd36v"; + sha256 = "142h53qwmibi9bpdwla9ard771vcri8yibnynvgj5nvfgapj2p4z"; }; dontUnpack = true; diff --git a/pkgs/development/ocaml-modules/lun/default.nix b/pkgs/development/ocaml-modules/lun/default.nix new file mode 100644 index 000000000000..aab83d4c3cdb --- /dev/null +++ b/pkgs/development/ocaml-modules/lun/default.nix @@ -0,0 +1,20 @@ +{ lib, buildDunePackage, fetchurl }: + +buildDunePackage rec { + pname = "lun"; + version = "0.0.1"; + + minimalOCamlVersion = "4.12.0"; + + src = fetchurl { + url = "https://github.com/robur-coop/lun/releases/download/v${version}/lun-${version}.tbz"; + hash = "sha256-zKi63/g7Rw/c+xhAEW+Oim8suGzeL0TtKM8my/aSp5M="; + }; + + meta = { + description = "Optics in OCaml"; + homepage = "https://git.robur.coop/robur/lun"; + license = lib.licenses.isc; + maintainers = with lib.maintainers; [ marsam ]; + }; +} diff --git a/pkgs/development/ocaml-modules/lun/ppx.nix b/pkgs/development/ocaml-modules/lun/ppx.nix new file mode 100644 index 000000000000..fc138f1a6f8a --- /dev/null +++ b/pkgs/development/ocaml-modules/lun/ppx.nix @@ -0,0 +1,17 @@ +{ lib, buildDunePackage, fetchurl, fmt, lun, ppxlib }: + +buildDunePackage { + pname = "ppx_lun"; + inherit (lun) version src; + + propagatedBuildInputs = [ lun ppxlib ]; + + checkInputs = [ fmt ]; + + doCheck = true; + + meta = lun.meta // { + description = "Optics with lun package and PPX"; + license = lib.licenses.mit; + }; +} diff --git a/pkgs/development/python-modules/aioboto3/default.nix b/pkgs/development/python-modules/aioboto3/default.nix new file mode 100644 index 000000000000..6494bf65a6e7 --- /dev/null +++ b/pkgs/development/python-modules/aioboto3/default.nix @@ -0,0 +1,73 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, poetry-core +, poetry-dynamic-versioning +, aiobotocore +, chalice +, cryptography +, boto3 +, pytestCheckHook +, pytest-asyncio +, requests +, aiofiles +, moto +, dill +}: + +buildPythonPackage rec { + pname = "aioboto3"; + version = "11.3.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "terrycain"; + repo = "aioboto3"; + rev = "v${version}"; + hash = "sha256-jU9sKhbUdVeOvOXQnXR/S/4sBwTNcQCc9ZduO+HDXho="; + }; + + postPatch = '' + substituteInPlace pyproject.toml \ + --replace poetry.masonry.api poetry.core.masonry.api \ + --replace "poetry>=0.12" "poetry-core>=0.12" + ''; + + nativeBuildInputs = [ + poetry-core + poetry-dynamic-versioning + ]; + + propagatedBuildInputs = [ + aiobotocore + boto3 + ]; + + passthru.optional-dependencies = { + chalice = [ + chalice + ]; + s3cse = [ + cryptography + ]; + }; + + nativeCheckInputs = [ + pytestCheckHook + pytest-asyncio + requests + aiofiles + moto + dill + ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies); + + pythonImportsCheck = [ "aioboto3" ]; + + meta = with lib; { + description = "Wrapper to use boto3 resources with the aiobotocore async backend"; + homepage = "https://github.com/terrycain/aioboto3"; + changelog = "https://github.com/terrycain/aioboto3/blob/${src.rev}/CHANGELOG.rst"; + license = licenses.asl20; + maintainers = with maintainers; [ mbalatsko ]; + }; +} diff --git a/pkgs/development/python-modules/clevercsv/default.nix b/pkgs/development/python-modules/clevercsv/default.nix index 6f7d682ba033..6ad07d8ec62e 100644 --- a/pkgs/development/python-modules/clevercsv/default.nix +++ b/pkgs/development/python-modules/clevercsv/default.nix @@ -20,14 +20,14 @@ buildPythonPackage rec { pname = "clevercsv"; - version = "0.8.1"; + version = "0.8.2"; format = "setuptools"; src = fetchFromGitHub { owner = "alan-turing-institute"; repo = "CleverCSV"; rev = "refs/tags/v${version}"; - hash = "sha256-kCkMZnHbFUuBBvlQ5rn0tNeL7uTAq0aodpj2JvPo968="; + hash = "sha256-yyPUNFDq9W5OW1muHtQ10QgAHhXI8w7CY77fsWhIy0k="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/gitignore-parser/default.nix b/pkgs/development/python-modules/gitignore-parser/default.nix index 8ccc6a1cfba8..571d4e924651 100644 --- a/pkgs/development/python-modules/gitignore-parser/default.nix +++ b/pkgs/development/python-modules/gitignore-parser/default.nix @@ -7,7 +7,7 @@ buildPythonPackage rec { pname = "gitignore-parser"; - version = "0.1.6"; + version = "0.1.7"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -16,7 +16,7 @@ buildPythonPackage rec { owner = "mherrmann"; repo = "gitignore_parser"; rev = "refs/tags/v${version}"; - hash = "sha256-RAtXh57WU67fKQhhItdOm25BYfh3ucc0eyWUHGksnLg="; + hash = "sha256-Zw7BuhdUzd0pjlRHf3KbkOUhLuBVvlKhWIzZocKOU30="; }; nativeCheckInputs = [ diff --git a/pkgs/development/python-modules/google-cloud-bigquery-datatransfer/default.nix b/pkgs/development/python-modules/google-cloud-bigquery-datatransfer/default.nix index 7c4a0df032e2..d64bd1bf7340 100644 --- a/pkgs/development/python-modules/google-cloud-bigquery-datatransfer/default.nix +++ b/pkgs/development/python-modules/google-cloud-bigquery-datatransfer/default.nix @@ -14,14 +14,14 @@ buildPythonPackage rec { pname = "google-cloud-bigquery-datatransfer"; - version = "3.12.0"; + version = "3.12.1"; format = "setuptools"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-5jxcN69FPuAZ7xiBcBu5+aE+q4OU9OlM+i9bd6vMnJI="; + hash = "sha256-uEWnQIGs4yybuukzgrAqaduFYKNW9h/WouX2MzSVgUg="; }; propagatedBuildInputs = [ @@ -43,6 +43,11 @@ buildPythonPackage rec { "google.cloud.bigquery_datatransfer_v1" ]; + disabledTests = [ + # Tests require project ID + "test_list_data_sources" + ]; + meta = with lib; { description = "BigQuery Data Transfer API client library"; homepage = "https://github.com/googleapis/python-bigquery-datatransfer"; diff --git a/pkgs/development/python-modules/google-cloud-os-config/default.nix b/pkgs/development/python-modules/google-cloud-os-config/default.nix index a25ef3587d84..4c71548c0df8 100644 --- a/pkgs/development/python-modules/google-cloud-os-config/default.nix +++ b/pkgs/development/python-modules/google-cloud-os-config/default.nix @@ -11,14 +11,14 @@ buildPythonPackage rec { pname = "google-cloud-os-config"; - version = "1.15.2"; + version = "1.15.3"; format = "setuptools"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-WgrqxnVsbA0ppvfcqxW+kA8vjn71bMU9qAyZraqYt8g="; + hash = "sha256-KNM4wASyfgoBqhXa5k+8tf+AN9VljHDDK0U849N5qHI="; }; propagatedBuildInputs = [ @@ -37,8 +37,10 @@ buildPythonPackage rec { ]; disabledTests = [ + # Test requires a project ID "test_patch_deployment" "test_patch_job" + "test_list_patch_jobs" ]; meta = with lib; { diff --git a/pkgs/development/python-modules/google-cloud-texttospeech/default.nix b/pkgs/development/python-modules/google-cloud-texttospeech/default.nix index a1d430c022db..6872b953efca 100644 --- a/pkgs/development/python-modules/google-cloud-texttospeech/default.nix +++ b/pkgs/development/python-modules/google-cloud-texttospeech/default.nix @@ -12,14 +12,14 @@ buildPythonPackage rec { pname = "google-cloud-texttospeech"; - version = "2.14.1"; + version = "2.14.2"; format = "setuptools"; disabled = pythonOlder "3.8"; src = fetchPypi { inherit pname version; - hash = "sha256-3XFvKnaK1nUCz9mbmSXFH/1uFr6TtBCr7v/arBkL/oE="; + hash = "sha256-ojc4NmmI+vTSZSAPV8XeQxLvo9FLtDS5Km5UFxP12QY="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/gspread/default.nix b/pkgs/development/python-modules/gspread/default.nix index 6cc48c1c828d..285a552ac933 100644 --- a/pkgs/development/python-modules/gspread/default.nix +++ b/pkgs/development/python-modules/gspread/default.nix @@ -12,7 +12,7 @@ buildPythonPackage rec { pname = "gspread"; - version = "5.11.2"; + version = "5.11.3"; format = "pyproject"; disabled = pythonOlder "3.7"; @@ -21,7 +21,7 @@ buildPythonPackage rec { owner = "burnash"; repo = "gspread"; rev = "refs/tags/v${version}"; - hash = "sha256-geP01U34HzBSmA8FTTaTMlv508hzGBXFiASjGw3uUmQ="; + hash = "sha256-O6uhT8zfCGiGr0v8pEMZ4uLuDAdFpiTie7EC3rphZQI="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/pex/default.nix b/pkgs/development/python-modules/pex/default.nix index a9462cd8e2cc..3eba4ff82878 100644 --- a/pkgs/development/python-modules/pex/default.nix +++ b/pkgs/development/python-modules/pex/default.nix @@ -7,14 +7,14 @@ buildPythonPackage rec { pname = "pex"; - version = "2.1.147"; + version = "2.1.148"; format = "pyproject"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-oTzMMTbq+prKNE8hhBWsRvhxBD+Ca/M1pVuppSByjp4="; + hash = "sha256-XRER28ObI9TsZ5h5LkAXhExGq+c4hpoEun2hagkpUXk="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/podcastparser/default.nix b/pkgs/development/python-modules/podcastparser/default.nix index 758aabf34cbf..d844a19f902e 100644 --- a/pkgs/development/python-modules/podcastparser/default.nix +++ b/pkgs/development/python-modules/podcastparser/default.nix @@ -2,11 +2,15 @@ , buildPythonPackage , fetchFromGitHub , pytestCheckHook +, pythonOlder }: buildPythonPackage rec { pname = "podcastparser"; version = "0.6.10"; + format = "setuptools"; + + disabled = pythonOlder "3.7"; src = fetchFromGitHub { owner = "gpodder"; @@ -16,17 +20,22 @@ buildPythonPackage rec { }; postPatch = '' - rm pytest.ini + substituteInPlace pytest.ini \ + --replace "--cov=podcastparser --cov-report html --doctest-modules" "" ''; nativeCheckInputs = [ pytestCheckHook ]; - meta = { - description = "podcastparser is a simple, fast and efficient podcast parser written in Python."; + pythonImportsCheck = [ + "podcastparser" + ]; + + meta = with lib; { + description = "Module to parse podcasts"; homepage = "http://gpodder.org/podcastparser/"; - license = lib.licenses.bsd2; - maintainers = with lib.maintainers; [ mic92 ]; + license = licenses.bsd2; + maintainers = with maintainers; [ mic92 ]; }; } diff --git a/pkgs/development/python-modules/schedule/default.nix b/pkgs/development/python-modules/schedule/default.nix index bdcb2010742a..443b0f73d2df 100644 --- a/pkgs/development/python-modules/schedule/default.nix +++ b/pkgs/development/python-modules/schedule/default.nix @@ -7,14 +7,14 @@ buildPythonPackage rec { pname = "schedule"; - version = "1.2.0"; + version = "1.2.1"; format = "setuptools"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-tK1peq+6cYTJ62oeLrxB94FUckKs3ozq6aCiWwTAki0="; + hash = "sha256-hDvAU4uZyT8CuLUOPjmIbAby0AOyT0jhqkyt+j80Enk="; }; buildInputs = [ diff --git a/pkgs/development/tools/build-managers/msbuild/default.nix b/pkgs/development/tools/build-managers/msbuild/default.nix index 83cdcead353f..1b561470af79 100644 --- a/pkgs/development/tools/build-managers/msbuild/default.nix +++ b/pkgs/development/tools/build-managers/msbuild/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, fetchpatch, makeWrapper, glibcLocales, mono, dotnetPackages, unzip, dotnetCorePackages, writeText, roslyn }: +{ lib, stdenv, fetchurl, fetchpatch, makeWrapper, glibcLocales, mono, nuget, unzip, dotnetCorePackages, writeText, roslyn }: let @@ -42,7 +42,7 @@ stdenv.mkDerivation rec { ]; buildInputs = [ - dotnetPackages.Nuget + nuget glibcLocales ]; diff --git a/pkgs/development/tools/changie/default.nix b/pkgs/development/tools/changie/default.nix index eaad0131f97e..734a766c431b 100644 --- a/pkgs/development/tools/changie/default.nix +++ b/pkgs/development/tools/changie/default.nix @@ -6,13 +6,13 @@ buildGoModule rec { pname = "changie"; - version = "1.13.1"; + version = "1.14.0"; src = fetchFromGitHub { owner = "miniscruff"; repo = "changie"; rev = "v${version}"; - hash = "sha256-euwOATFDY+5kwNLhdNbpIv5p3zoJtuoh5JzzIRj2MyM="; + hash = "sha256-ulbpitTCIuRg50GAin54RNVMUl8ZuwYW1SnenvemckA="; }; vendorHash = "sha256-giOL4/ZofaylhX+s7y75RR7d3WDxNCmr25JHBZZkH9s="; diff --git a/pkgs/development/tools/electron/binary/default.nix b/pkgs/development/tools/electron/binary/default.nix index 6cdcac1a70db..94c7b2750a90 100644 --- a/pkgs/development/tools/electron/binary/default.nix +++ b/pkgs/development/tools/electron/binary/default.nix @@ -1,29 +1,9 @@ -{ lib, stdenv -, libXScrnSaver -, makeWrapper -, fetchurl -, wrapGAppsHook -, glib -, gtk3 -, unzip -, atomEnv -, libuuid -, at-spi2-atk -, at-spi2-core -, libdrm -, mesa -, libxkbcommon -, libappindicator-gtk3 -, libxshmfence -, libglvnd -, wayland -}@args: +{ callPackage }: let - mkElectron = import ./generic.nix args; + mkElectron = callPackage ./generic.nix { }; in rec { - electron-bin = electron_26-bin; electron_10-bin = mkElectron "10.4.7" { diff --git a/pkgs/development/tools/electron/binary/generic.nix b/pkgs/development/tools/electron/binary/generic.nix index 615ec9243bb2..f7e8f6461a4c 100644 --- a/pkgs/development/tools/electron/binary/generic.nix +++ b/pkgs/development/tools/electron/binary/generic.nix @@ -1,4 +1,5 @@ -{ lib, stdenv +{ lib +, stdenv , libXScrnSaver , makeWrapper , fetchurl @@ -6,17 +7,23 @@ , glib , gtk3 , unzip -, atomEnv -, libuuid , at-spi2-atk -, at-spi2-core , libdrm , mesa , libxkbcommon -, libappindicator-gtk3 , libxshmfence , libglvnd -, wayland +, alsa-lib +, cairo +, cups +, dbus +, expat +, gdk-pixbuf +, nss +, nspr +, xorg +, pango +, systemd }: version: hashes: @@ -64,13 +71,35 @@ let passthru.headers = headersFetcher version hashes.headers; }; - electronLibPath = with lib; makeLibraryPath ( - [ libuuid at-spi2-atk at-spi2-core libappindicator-gtk3 wayland ] - ++ optionals (versionAtLeast version "9.0.0") [ libdrm mesa ] - ++ optionals (versionOlder version "10.0.0") [ libXScrnSaver ] - ++ optionals (versionAtLeast version "11.0.0") [ libxkbcommon ] - ++ optionals (versionAtLeast version "12.0.0") [ libxshmfence ] - ++ optionals (versionAtLeast version "17.0.0") [ libglvnd ] + electronLibPath = lib.makeLibraryPath ([ + alsa-lib + at-spi2-atk + cairo + cups + dbus + expat + gdk-pixbuf + glib + gtk3 + nss + nspr + xorg.libX11 + xorg.libxcb + xorg.libXcomposite + xorg.libXdamage + xorg.libXext + xorg.libXfixes + xorg.libXrandr + xorg.libxkbfile + pango + stdenv.cc.cc.lib + systemd + ] + ++ lib.optionals (lib.versionAtLeast version "9.0.0") [ libdrm mesa ] + ++ lib.optionals (lib.versionOlder version "10.0.0") [ libXScrnSaver ] + ++ lib.optionals (lib.versionAtLeast version "11.0.0") [ libxkbcommon ] + ++ lib.optionals (lib.versionAtLeast version "12.0.0") [ libxshmfence ] + ++ lib.optionals (lib.versionAtLeast version "17.0.0") [ libglvnd ] ); linux = { @@ -95,7 +124,7 @@ let postFixup = '' patchelf \ --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - --set-rpath "${atomEnv.libPath}:${electronLibPath}:$out/libexec/electron" \ + --set-rpath "${electronLibPath}:$out/libexec/electron" \ $out/libexec/electron/.electron-wrapped \ ${lib.optionalString (lib.versionAtLeast version "15.0.0") "$out/libexec/electron/.chrome_crashpad_handler-wrapped" } ''; diff --git a/pkgs/development/tools/misc/ast-grep/default.nix b/pkgs/development/tools/misc/ast-grep/default.nix deleted file mode 100644 index 0b0b7e47ba93..000000000000 --- a/pkgs/development/tools/misc/ast-grep/default.nix +++ /dev/null @@ -1,38 +0,0 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, stdenv -}: - -rustPlatform.buildRustPackage rec { - pname = "ast-grep"; - version = "0.11.1"; - - src = fetchFromGitHub { - owner = "ast-grep"; - repo = "ast-grep"; - rev = version; - hash = "sha256-1ThEJ8VEcXNScY4zmmXz7BVYs6irE1h9HDxkVvmVq1k="; - }; - - cargoHash = "sha256-3myUFgKktvD9S0Bp7ixsZb59p3iDwmiEKUFD7wB+7IM="; - - # error: linker `aarch64-linux-gnu-gcc` not found - postPatch = '' - rm .cargo/config.toml - ''; - - checkFlags = [ - # disable flaky test - "--skip=test::test_load_parser_mac" - ]; - - meta = with lib; { - mainProgram = "sg"; - description = "A fast and polyglot tool for code searching, linting, rewriting at large scale"; - homepage = "https://ast-grep.github.io/"; - changelog = "https://github.com/ast-grep/ast-grep/blob/${src.rev}/CHANGELOG.md"; - license = licenses.mit; - maintainers = with maintainers; [ montchr lord-valen cafkafk ]; - }; -} diff --git a/pkgs/development/tools/misc/orogene/default.nix b/pkgs/development/tools/misc/orogene/default.nix index 0afbcb04f2e1..2433507f3f5f 100644 --- a/pkgs/development/tools/misc/orogene/default.nix +++ b/pkgs/development/tools/misc/orogene/default.nix @@ -9,17 +9,17 @@ rustPlatform.buildRustPackage rec { pname = "orogene"; - version = "0.3.32"; + version = "0.3.33"; src = fetchFromGitHub { owner = "orogene"; repo = "orogene"; rev = "v${version}"; - hash = "sha256-UB/FI5LUyksKzAgzsza5NTDtYWou69hqj0M2GWV/FcA="; + hash = "sha256-HG+/m/ZomlGu/ATHqZjhjo/pjncVBZLOP6UlcCOyLKc="; fetchSubmodules = true; }; - cargoHash = "sha256-/Yb1QTsye60qL6B3TM6Wd1W8n4XMxMhu42CLvJcqIYw="; + cargoHash = "sha256-iygP+x1uEHUpUGaxQjt50sFd5ZWpFxOqPvnkGqIvh6A="; nativeBuildInputs = [ pkg-config diff --git a/pkgs/development/tools/misc/src-cli/default.nix b/pkgs/development/tools/misc/src-cli/default.nix index d8d3ffd4bf53..28088a89b338 100644 --- a/pkgs/development/tools/misc/src-cli/default.nix +++ b/pkgs/development/tools/misc/src-cli/default.nix @@ -10,16 +10,16 @@ buildGoModule rec { pname = "src-cli"; - version = "5.1.2"; + version = "5.2.0"; src = fetchFromGitHub { owner = "sourcegraph"; repo = "src-cli"; rev = version; - hash = "sha256-byfmZQDYn76/0K/ByKePXF+eWVZNCnAqu5k6UN7Iijg="; + hash = "sha256-QUcN71Zvg9BSQHXu8ANye9BOX5cDgMgl2jfhUgz/GVE="; }; - vendorHash = "sha256-DASjCyOY9+USRYrnIS+Li4zhBnZNoyxUgN9LqhIAMh8="; + vendorHash = "sha256-YhaxgEGYKrRZagnpoMi/mGWXVkbp5fUjQ73xDFdTElw="; subPackages = [ "cmd/src" diff --git a/pkgs/development/tools/pyenv/default.nix b/pkgs/development/tools/pyenv/default.nix index 4ccb71973cb1..a314b2f533be 100644 --- a/pkgs/development/tools/pyenv/default.nix +++ b/pkgs/development/tools/pyenv/default.nix @@ -6,13 +6,13 @@ stdenv.mkDerivation rec { pname = "pyenv"; - version = "2.3.26"; + version = "2.3.28"; src = fetchFromGitHub { owner = "pyenv"; repo = "pyenv"; rev = "refs/tags/v${version}"; - hash = "sha256-3pLH8/k+9T8lDBw/qd9WcYE4o3SwG/WXGWR0sLGUWLE="; + hash = "sha256-KxYxHNoXk4RVA5+mpE3hjrl1c+7Ei/km/zrMIvvV+1M="; }; postPatch = '' diff --git a/pkgs/development/tools/rye/Cargo.lock b/pkgs/development/tools/rye/Cargo.lock index 5aaf89105bb3..a02a66d065f7 100644 --- a/pkgs/development/tools/rye/Cargo.lock +++ b/pkgs/development/tools/rye/Cargo.lock @@ -1772,7 +1772,7 @@ dependencies = [ [[package]] name = "rye" -version = "0.14.0" +version = "0.15.0" dependencies = [ "age", "anyhow", diff --git a/pkgs/development/tools/rye/default.nix b/pkgs/development/tools/rye/default.nix index d41418bd46be..dab404cf5c48 100644 --- a/pkgs/development/tools/rye/default.nix +++ b/pkgs/development/tools/rye/default.nix @@ -10,13 +10,13 @@ rustPlatform.buildRustPackage rec { pname = "rye"; - version = "0.14.0"; + version = "0.15.0"; src = fetchFromGitHub { owner = "mitsuhiko"; repo = "rye"; rev = "refs/tags/${version}"; - hash = "sha256-4BLseGLNWZN5AE+Ol6f3DOLtWJ3VdUsba1ONLsNEDXU="; + hash = "sha256-+19xDXMTJ0C7JsFrbykn9/2zaa71yJJAQpWdBNvgYbQ="; }; cargoLock = { diff --git a/pkgs/development/tools/symfony-cli/default.nix b/pkgs/development/tools/symfony-cli/default.nix index 2a1bbbeed512..d626027ee186 100644 --- a/pkgs/development/tools/symfony-cli/default.nix +++ b/pkgs/development/tools/symfony-cli/default.nix @@ -2,14 +2,14 @@ buildGoModule rec { pname = "symfony-cli"; - version = "5.5.9"; + version = "5.5.10"; vendorHash = "sha256-eeVi/O4p7bF4CPqJBCpLfx1Yc5vZZ3b8RV5ERcIL8H4="; src = fetchFromGitHub { owner = "symfony-cli"; repo = "symfony-cli"; rev = "v${version}"; - hash = "sha256-dQ7ImNSnWD2u9cY9VEBlum45YqlhHgczAkD70QJFr68="; + hash = "sha256-n0R+J41lJYxswMnknYAAEKwwIqOremZF73cRBYfD3CE="; }; ldflags = [ diff --git a/pkgs/development/tools/vendir/default.nix b/pkgs/development/tools/vendir/default.nix index 0a7ff7210505..482ff69ee0ab 100644 --- a/pkgs/development/tools/vendir/default.nix +++ b/pkgs/development/tools/vendir/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "vendir"; - version = "0.34.4"; + version = "0.35.0"; src = fetchFromGitHub { owner = "vmware-tanzu"; repo = "carvel-vendir"; rev = "v${version}"; - sha256 = "sha256-HdKMPXZIz1n8+170E3Aj7BYquVGgnPwRKJ5CZcqN35M="; + sha256 = "sha256-aN8O+5zzGGLWAPk/oNFOnBBv2rsljWaxTKlC19XTt58="; }; vendorHash = null; diff --git a/pkgs/servers/dns/coredns/default.nix b/pkgs/servers/dns/coredns/default.nix index 8078018625a2..c5e3a9445557 100644 --- a/pkgs/servers/dns/coredns/default.nix +++ b/pkgs/servers/dns/coredns/default.nix @@ -33,7 +33,7 @@ in buildGoModule rec { modBuildPhase = '' for plugin in ${builtins.toString (attrsToPlugins externalPlugins)}; do echo $plugin >> plugin.cfg; done for src in ${builtins.toString (attrsToSources externalPlugins)}; do go get $src; done - go generate + GOOS= GOARCH= go generate go mod vendor ''; @@ -46,7 +46,7 @@ in buildGoModule rec { chmod -R u+w vendor mv -t . vendor/go.{mod,sum} vendor/plugin.cfg - go generate + GOOS= GOARCH= go generate ''; postPatch = '' diff --git a/pkgs/servers/monitoring/nagios/plugins/check_ssl_cert.nix b/pkgs/servers/monitoring/nagios/plugins/check_ssl_cert.nix index 8a42cec07a80..708623bc9ffc 100644 --- a/pkgs/servers/monitoring/nagios/plugins/check_ssl_cert.nix +++ b/pkgs/servers/monitoring/nagios/plugins/check_ssl_cert.nix @@ -37,7 +37,7 @@ stdenv.mkDerivation rec { postInstall = '' wrapProgram $out/bin/check_ssl_cert \ - --prefix PATH : "${lib.makeBinPath [ openssl file which curl bc coreutils bind nmap iproute2 netcat-gnu python3 ]}" + --prefix PATH : "${lib.makeBinPath ([ openssl file which curl bc coreutils bind nmap netcat-gnu python3 ] ++ lib.optional stdenv.isLinux iproute2) }" ''; meta = with lib; { diff --git a/pkgs/servers/monitoring/prometheus/pushgateway.nix b/pkgs/servers/monitoring/prometheus/pushgateway.nix index b32c5a89c6f7..1b3818510076 100644 --- a/pkgs/servers/monitoring/prometheus/pushgateway.nix +++ b/pkgs/servers/monitoring/prometheus/pushgateway.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "pushgateway"; - version = "1.6.0"; + version = "1.6.2"; src = fetchFromGitHub { owner = "prometheus"; repo = "pushgateway"; rev = "v${version}"; - sha256 = "sha256-sJ4TTyo+A3CEUcTJv3LlUU60pc/a/PgB0Mk6R5wpTgM="; + sha256 = "sha256-IwSzxpIBXIsOllAd0faP+uzpYZ8HcWJQBOgYZj9SZHM="; }; - vendorHash = "sha256-oDvFp7FYam/hsiEesfTuNgXciH4JAUKkMiECn4FPqmE="; + vendorHash = "sha256-xpbGavt0gzOVZMHVdPtZ+rRVbovJ4xaqaAmYVipLzSs="; ldflags = [ "-s" diff --git a/pkgs/servers/sql/postgresql/ext/age.nix b/pkgs/servers/sql/postgresql/ext/age.nix index 5e88b2fdebca..c0de0c30d5a7 100644 --- a/pkgs/servers/sql/postgresql/ext/age.nix +++ b/pkgs/servers/sql/postgresql/ext/age.nix @@ -1,14 +1,23 @@ -{ lib, stdenv, fetchFromGitHub, bison, flex, postgresql }: +{ lib, stdenv, bison, fetchFromGitHub, flex, perl, postgresql }: +let + hashes = { + "15" = "sha256-1vmwoflbU3++PFDcsLt9gyLkuzMRGNCD7vWl7/6Q+SE="; + "14" = "sha256-w93Q499sZRk4q85A9yqKQjGUd9Pl8UL8K1D3W7mHRTU="; + "13" = "sha256-Sot7FR0oW7kWA680pNCMCmlflu4RfJTSWZn9mrXrpzw="; + "12" = "sha256-XezcXoHHLCD1/2OHmKhxome2pdjOsYAfZlpvOoU3aS4="; + "11" = "sha256-ZkNAIMO69BxF3knQ+jcUBVuDgcoZXZccF5O+acpZ81M="; + }; +in stdenv.mkDerivation rec { pname = "age"; - version = "1.1.0-rc0"; + version = "1.4.0-rc0"; src = fetchFromGitHub { owner = "apache"; repo = "age"; - rev = "v${version}"; - sha256 = "sha256-7qQGiiFkGbS/j7ouP2Joj5EGT+ferIgYYMoTe9jmTqQ="; + rev = "PG${lib.versions.major postgresql.version}/v${builtins.replaceStrings ["."] ["_"] version}"; + hash = hashes.${lib.versions.major postgresql.version} or (throw "Source for Age is not available for ${postgresql.version}"); }; buildInputs = [ postgresql ]; @@ -16,6 +25,7 @@ stdenv.mkDerivation rec { makeFlags = [ "BISON=${bison}/bin/bison" "FLEX=${flex}/bin/flex" + "PERL=${perl}/bin/perl" ]; installPhase = '' @@ -54,11 +64,10 @@ stdenv.mkDerivation rec { }; meta = with lib; { - # Only supports PostgreSQL 11 https://github.com/apache/age/issues/225 - broken = versions.major postgresql.version != "11"; + broken = !builtins.elem (versions.major postgresql.version) (builtins.attrNames hashes); description = "A graph database extension for PostgreSQL"; homepage = "https://age.apache.org/"; - changelog = "https://github.com/apache/age/raw/v${version}/RELEASE"; + changelog = "https://github.com/apache/age/raw/v${src.rev}/RELEASE"; maintainers = with maintainers; [ ]; platforms = postgresql.meta.platforms; license = licenses.asl20; diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix index a66cf9ce1335..1a8c59deebff 100644 --- a/pkgs/servers/x11/xorg/overrides.nix +++ b/pkgs/servers/x11/xorg/overrides.nix @@ -134,7 +134,15 @@ self: super: }; }); - libxcvt = addMainProgram super.libxcvt { mainProgram = "cvt"; }; + libxcvt = super.libxcvt.overrideAttrs ({ meta ? {}, ... }: { + meta = meta // { + homepage = "https://gitlab.freedesktop.org/xorg/lib/libxcvt"; + mainProgram = "cvt"; + badPlatforms = meta.badPlatforms or [] ++ [ + lib.systems.inspect.platformPatterns.isStatic + ]; + }; + }); libX11 = super.libX11.overrideAttrs (attrs: { outputs = [ "out" "dev" "man" ]; diff --git a/pkgs/tools/filesystems/littlefs-fuse/default.nix b/pkgs/tools/filesystems/littlefs-fuse/default.nix index daec12b50411..637e24483d8e 100644 --- a/pkgs/tools/filesystems/littlefs-fuse/default.nix +++ b/pkgs/tools/filesystems/littlefs-fuse/default.nix @@ -2,12 +2,12 @@ stdenv.mkDerivation rec { pname = "littlefs-fuse"; - version = "2.4.1"; + version = "2.7.2"; src = fetchFromGitHub { owner = "littlefs-project"; repo = pname; rev = "v${version}"; - hash = "sha256-+EUZluBtgZiziTEIfXIhkRIBu/Pe78qmL18TQHkfHO4="; + hash = "sha256-ybaZbAomrIaEdYfQtbZirkozRarEUxjsf6hgTMu5uIY="; }; buildInputs = [ fuse ]; installPhase = '' diff --git a/pkgs/tools/misc/esphome/default.nix b/pkgs/tools/misc/esphome/default.nix index e8995c38baee..b791cac21bd4 100644 --- a/pkgs/tools/misc/esphome/default.nix +++ b/pkgs/tools/misc/esphome/default.nix @@ -16,14 +16,14 @@ let in python.pkgs.buildPythonApplication rec { pname = "esphome"; - version = "2023.9.2"; + version = "2023.9.3"; format = "setuptools"; src = fetchFromGitHub { owner = pname; repo = pname; rev = "refs/tags/${version}"; - hash = "sha256-DWzeK5NIkf8zsK4auD2A5pU5F0pBtkTe2B1UdXwyfOI="; + hash = "sha256-SyXEiGh1/s9EJ0UPYC8R04JUYkCPhCtNUcGvVCycKGM="; }; postPatch = '' diff --git a/pkgs/tools/misc/hakuneko/default.nix b/pkgs/tools/misc/hakuneko/default.nix index 128cddd8c682..bb7bf24cb659 100644 --- a/pkgs/tools/misc/hakuneko/default.nix +++ b/pkgs/tools/misc/hakuneko/default.nix @@ -1,5 +1,4 @@ -{ atomEnv -, autoPatchelfHook +{ autoPatchelfHook , dpkg , fetchurl , makeDesktopItem @@ -8,6 +7,11 @@ , stdenv , lib , wrapGAppsHook +, alsa-lib +, nss +, nspr +, systemd +, xorg }: let desktopItem = makeDesktopItem { @@ -39,6 +43,7 @@ stdenv.mkDerivation rec { dontPatchELF = true; dontWrapGApps = true; + # TODO: migrate off autoPatchelfHook and use nixpkgs' electron nativeBuildInputs = [ autoPatchelfHook dpkg @@ -46,7 +51,14 @@ stdenv.mkDerivation rec { wrapGAppsHook ]; - buildInputs = atomEnv.packages; + buildInputs = [ + alsa-lib + nss + nspr + xorg.libXScrnSaver + xorg.libXtst + systemd + ]; unpackPhase = '' # The deb file contains a setuid binary, so 'dpkg -x' doesn't work here diff --git a/pkgs/tools/misc/mapcidr/default.nix b/pkgs/tools/misc/mapcidr/default.nix index 773aa7589fa5..cbaf2ee51b4c 100644 --- a/pkgs/tools/misc/mapcidr/default.nix +++ b/pkgs/tools/misc/mapcidr/default.nix @@ -5,16 +5,16 @@ buildGoModule rec { pname = "mapcidr"; - version = "1.1.9"; + version = "1.1.10"; src = fetchFromGitHub { owner = "projectdiscovery"; repo = pname; rev = "refs/tags/v${version}"; - hash = "sha256-/DKUB7ylOUh1kj1l5C6TbhfgmagJcTBFCoqjQIsbWg4="; + hash = "sha256-4VBIcdlK3tHUNQT8FRJuzlUcgM17SSFWYi4zys7zgZU="; }; - vendorHash = "sha256-YQEXOxu2IPvXNvqw0bzHnx0ALC/W4x9sU4m1GgvVH+g="; + vendorHash = "sha256-HBX8Npd4jy5YXx70GV8h3woM6ArcgMWqu8dybj/wdRU="; modRoot = "."; subPackages = [ diff --git a/pkgs/tools/networking/grpc_cli/default.nix b/pkgs/tools/networking/grpc_cli/default.nix index 4c673dc41f28..f8803e3f7999 100644 --- a/pkgs/tools/networking/grpc_cli/default.nix +++ b/pkgs/tools/networking/grpc_cli/default.nix @@ -2,12 +2,12 @@ stdenv.mkDerivation rec { pname = "grpc_cli"; - version = "1.58.1"; + version = "1.59.0"; src = fetchFromGitHub { owner = "grpc"; repo = "grpc"; rev = "v${version}"; - hash = "sha256-h1Zg5f+3NyyvrStEPXqTNSly7TSEPbE1/SqrZfS37Bk="; + hash = "sha256-++8QWJJuwGUcm6pKxik6+jqzvXbMx8LHSV5CSgJ8IVo="; fetchSubmodules = true; }; nativeBuildInputs = [ automake cmake autoconf ]; diff --git a/pkgs/tools/networking/sing-box/default.nix b/pkgs/tools/networking/sing-box/default.nix index 8533d8c1a90f..8aa2896be1d7 100644 --- a/pkgs/tools/networking/sing-box/default.nix +++ b/pkgs/tools/networking/sing-box/default.nix @@ -11,16 +11,16 @@ buildGoModule rec { pname = "sing-box"; - version = "1.5.0"; + version = "1.5.1"; src = fetchFromGitHub { owner = "SagerNet"; repo = pname; rev = "v${version}"; - hash = "sha256-Q5WSIh5k8cQPUlV0DHbg/g3aHVtsEb/lCWODg9SLTyM="; + hash = "sha256-Vc7TLkADOlMs4nMRCI2DAd4h40eYhcOP/EzM7uWqZ+A="; }; - vendorHash = "sha256-YGnrZbc9oK//EVUtfBkQnuTfdn7kcTuOZM0+67BiWrA="; + vendorHash = "sha256-bcjhBAW4/NLQ/l7gmD9169DCYJwDH1j0vtEShJqKRiw="; tags = [ "with_quic" diff --git a/pkgs/tools/security/cloudlist/default.nix b/pkgs/tools/security/cloudlist/default.nix index d9f97553b0f6..b3e13d1691e8 100644 --- a/pkgs/tools/security/cloudlist/default.nix +++ b/pkgs/tools/security/cloudlist/default.nix @@ -5,20 +5,21 @@ buildGoModule rec { pname = "cloudlist"; - version = "1.0.3"; + version = "1.0.4"; src = fetchFromGitHub { owner = "projectdiscovery"; repo = pname; - rev = "v${version}"; - sha256 = "sha256-PWOC+Y+tCr5LqWJpSVoIeOquO2vMb06KW25pBEER3Ys="; + rev = "refs/tags/v${version}"; + sha256 = "sha256-m0b7gtbI9i1tD8HduEAF+Mo2UpI4gqldEO8q4u+Wo3E="; }; - vendorHash = "sha256-FesvXH29thy6B9VXZnuvllJ+9VQR4i6q1JzrULaU82s="; + vendorHash = "sha256-GHQnI4T6y/p+BlQyrNJmIaSek0sC1J3UwcuvDQH5gCI="; meta = with lib; { description = "Tool for listing assets from multiple cloud providers"; homepage = "https://github.com/projectdiscovery/cloudlist"; + changelog = "https://github.com/projectdiscovery/cloudlist/releases/tag/v${version}"; license = licenses.mit; maintainers = with maintainers; [ fab ]; }; diff --git a/pkgs/tools/security/jwx/default.nix b/pkgs/tools/security/jwx/default.nix index 2ccf3d7bfd47..01ca4c302f9b 100644 --- a/pkgs/tools/security/jwx/default.nix +++ b/pkgs/tools/security/jwx/default.nix @@ -5,13 +5,13 @@ buildGoModule rec { pname = "jwx"; - version = "2.0.12"; + version = "2.0.13"; src = fetchFromGitHub { owner = "lestrrat-go"; repo = pname; rev = "v${version}"; - hash = "sha256-2Lx9pu5KQut9eXIQYDjFW/pMDzR0eSKMFtSGOPQAkN4="; + hash = "sha256-jtNG/d70Q67IKKEfRBewl40cxH6wYj3CPfx+S/vuQnQ="; }; vendorHash = "sha256-o3EHPIXGLz/io0d8jhl9cxzctP3CeOjEDMQl1SY9lXg="; diff --git a/pkgs/tools/text/papeer/default.nix b/pkgs/tools/text/papeer/default.nix index 9bca2da6ffce..4084d49373fd 100644 --- a/pkgs/tools/text/papeer/default.nix +++ b/pkgs/tools/text/papeer/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "papeer"; - version = "0.7.2"; + version = "0.8.1"; src = fetchFromGitHub { owner = "lapwat"; repo = pname; rev = "v${version}"; - hash = "sha256-Kdy660FuPjXYF/uqndljmIvA6r+lo3D86W9pK6KqXl0="; + hash = "sha256-nEt2rxI9slrEkbpMpXQM6+jO0QWQsuLdOswXPCSozJs="; }; vendorHash = "sha256-3QRSdkx9p0H+zPB//bpWCBKKjKjrx0lHMk5lFm+U7pA="; diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 7b6f8aa04ad7..608e7f5b29a4 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -109,6 +109,10 @@ mapAliases ({ asterisk_19 = throw "asterisk_19: Asterisk 19 is end of life and has been removed"; # Added 2023-04-19 at_spi2_atk = throw "'at_spi2_atk' has been renamed to/replaced by 'at-spi2-atk'"; # Converted to throw 2022-02-22 at_spi2_core = throw "'at_spi2_core' has been renamed to/replaced by 'at-spi2-core'"; # Converted to throw 2022-02-22 + atom = throw "'atom' has been removed because discontinued and deprecated. Consider using 'pulsar', a maintained fork"; # Added 2023-10-01 + atom-beta = throw "'atom-beta' has been removed because discontinued and deprecated. Consider using 'pulsar', a maintained fork"; # Added 2023-10-01 + atomEnv = throw "'atomEnv' has been removed because 'atom' is discontinued and deprecated. Consider using 'pulsar', a maintained fork"; # Added 2023-10-01 + atomPackages = throw "'atomPackages' has been removed because 'atom' is discontinued and deprecated. Consider using 'pulsar', a maintained fork"; # Added 2023-10-01 aucdtect = throw "aucdtect: Upstream no longer provides download urls"; # Added 2020-12-26 audacity-gtk2 = throw "'audacity-gtk2' has been removed to/replaced by 'audacity'"; # Added 2022-10-09 audacity-gtk3 = throw "'audacity-gtk3' has been removed to/replaced by 'audacity'"; # Added 2022-10-09 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6ad83db64549..ea573fcab287 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -126,6 +126,13 @@ with pkgs; common-updater-scripts = callPackage ../common-updater/scripts.nix { }; + # vimPluginsUpdater = callPackage ../applications/editors/vim/plugins/updater.nix { + # inherit (writers) writePython3Bin; + # }; + vimPluginsUpdater = callPackage ../applications/editors/vim/plugins/updater.nix { + inherit (python3Packages) buildPythonApplication ; + }; + genericUpdater = callPackage ../common-updater/generic-updater.nix { }; _experimental-update-script-combinators = callPackage ../common-updater/combinators.nix { }; @@ -274,8 +281,6 @@ with pkgs; asnmap = callPackage ../tools/security/asnmap { }; - ast-grep = callPackage ../development/tools/misc/ast-grep { }; - astrolog = callPackage ../applications/science/astronomy/astrolog { }; astronomer = callPackage ../tools/misc/astronomer { }; @@ -30629,12 +30634,6 @@ with pkgs; atlassian-cli = callPackage ../applications/office/atlassian-cli { }; - atomEnv = callPackage ../applications/editors/atom/env.nix { }; - - atomPackages = dontRecurseIntoAttrs (callPackage ../applications/editors/atom { }); - - inherit (atomPackages) atom atom-beta; - pulsar = callPackage ../applications/editors/pulsar { }; asap = callPackage ../tools/audio/asap { }; diff --git a/pkgs/top-level/dotnet-packages.nix b/pkgs/top-level/dotnet-packages.nix index 661603b2ba1f..89fba136259e 100644 --- a/pkgs/top-level/dotnet-packages.nix +++ b/pkgs/top-level/dotnet-packages.nix @@ -10,12 +10,14 @@ , mono , overrides ? {} , boogie +, nuget }: let self = dotnetPackages // overrides; dotnetPackages = with self; { # ALIASES FOR MOVED PACKAGES Boogie = boogie; + Nuget = nuget; # BINARY PACKAGES @@ -168,27 +170,6 @@ let self = dotnetPackages // overrides; dotnetPackages = with self; { outputFiles = [ "*" ]; }; - Nuget = buildDotnetPackage rec { - pname = "Nuget"; - version = "6.3.1.1"; - - src = fetchFromGitHub { - owner = "mono"; - repo = "linux-packaging-nuget"; - rev = "upstream/${version}.bin"; - sha256 = "sha256-D7F4B23HK5ElY68PYKVDsyi8OF0DLqqUqQzj5CpMfkc="; - }; - - # configurePhase breaks the binary and results in - # `File does not contain a valid CIL image.` - dontConfigure = true; - dontBuild = true; - dontPlacateNuget = true; - - outputFiles = [ "*" ]; - exeFiles = [ "nuget.exe" ]; - }; - Paket = fetchNuGet { pname = "Paket"; version = "5.179.1"; diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix index 71fc1d9a460f..fb9aa161a3e2 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -964,6 +964,8 @@ let lua-ml = callPackage ../development/ocaml-modules/lua-ml { }; + lun = callPackage ../development/ocaml-modules/lun { }; + lustre-v6 = callPackage ../development/ocaml-modules/lustre-v6 { }; lutils = callPackage ../development/ocaml-modules/lutils { }; @@ -1486,6 +1488,8 @@ let ppx_irmin = callPackage ../development/ocaml-modules/irmin/ppx.nix { }; + ppx_lun = callPackage ../development/ocaml-modules/lun/ppx.nix { }; + ppx_monad = callPackage ../development/ocaml-modules/ppx_monad { }; ppx_repr = callPackage ../development/ocaml-modules/repr/ppx.nix { }; diff --git a/pkgs/top-level/packages-config.nix b/pkgs/top-level/packages-config.nix index 223e31b3b72f..889ddccb0e1b 100644 --- a/pkgs/top-level/packages-config.nix +++ b/pkgs/top-level/packages-config.nix @@ -9,7 +9,6 @@ packageOverrides = super: with super; lib.mapAttrs (_: set: recurseIntoAttrs set) { inherit (super) apacheHttpdPackages - atomPackages fdbPackages fusePackages gns3Packages diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 169650fa64a0..2b82dc60e18d 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -168,6 +168,8 @@ self: super: with self; { aiobafi6 = callPackage ../development/python-modules/aiobafi6 { }; + aioboto3 = callPackage ../development/python-modules/aioboto3 { }; + aioblescan = callPackage ../development/python-modules/aioblescan { }; aiocache = callPackage ../development/python-modules/aiocache { }; diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix index 93f7ec0e8d9d..ad5f351b9c87 100644 --- a/pkgs/top-level/release.nix +++ b/pkgs/top-level/release.nix @@ -77,6 +77,7 @@ let jobs.stdenv.x86_64-darwin jobs.vim.x86_64-darwin jobs.cachix.x86_64-darwin + jobs.darwin.linux-builder.x86_64-darwin # UI apps # jobs.firefox-unwrapped.x86_64-darwin @@ -157,6 +158,7 @@ let jobs.vim.x86_64-darwin jobs.inkscape.x86_64-darwin jobs.qt5.qtmultimedia.x86_64-darwin + jobs.darwin.linux-builder.x86_64-darwin /* jobs.tests.cc-wrapper.default.x86_64-darwin jobs.tests.cc-wrapper.gcc7Stdenv.x86_64-darwin