mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-22 15:03:28 +00:00
Merge master into staging-next
This commit is contained in:
commit
77ed9318b3
@ -2,242 +2,301 @@
|
|||||||
|
|
||||||
## Darwin (macOS) {#sec-darwin}
|
## Darwin (macOS) {#sec-darwin}
|
||||||
|
|
||||||
Some common issues when packaging software for Darwin:
|
The Darwin `stdenv` differs from most other ones in Nixpkgs in a few key ways.
|
||||||
|
These differences reflect the default assumptions for building software on that platform.
|
||||||
|
In many cases, you can ignore these differences because the software you are packaging is already written with them in mind.
|
||||||
|
When you do that, write your derivation as normal. You don’t have to include any Darwin-specific special cases.
|
||||||
|
The easiest way to know whether your derivation requires special handling for Darwin is to write it as if it doesn’t and see if it works.
|
||||||
|
If it does, you’re done; skip the rest of this.
|
||||||
|
|
||||||
- The Darwin `stdenv` uses clang instead of gcc. When referring to the compiler `$CC` or `cc` will work in both cases. Some builds hardcode gcc/g++ in their build scripts, that can usually be fixed with using something like `makeFlags = [ "CC=cc" ];` or by patching the build scripts.
|
- Darwin uses Clang by default instead of GCC. Packages that refer to `$CC` or `cc` should just work in most cases.
|
||||||
|
Some packages may hardcode `gcc` or `g++`. You can usually fix that by setting `makeFlags = [ "CC=cc" "CXX=C++" ]`.
|
||||||
|
If that does not work, you will have to patch the build scripts yourself to use the correct compiler for Darwin.
|
||||||
|
- Darwin needs an SDK to build software.
|
||||||
|
The SDK provides a default set of frameworks and libraries to build software, most of which are specific to Darwin.
|
||||||
|
There are multiple versions of the SDK packages in Nixpkgs, but one is included by default in the `stdenv`.
|
||||||
|
Usually, you don’t have to change or pick a different SDK. When in doubt, use the default.
|
||||||
|
- The SDK used by your build can be found using the `DEVELOPER_DIR` environment variable.
|
||||||
|
There are also versions of this variable available when cross-compiling depending on the SDK’s role.
|
||||||
|
The `SDKROOT` variable is also set with the path to the SDK’s libraries and frameworks.
|
||||||
|
`SDKROOT` is always a sub-folder of `DEVELOPER_DIR`.
|
||||||
|
- Darwin includes a platform-specific tool called `xcrun` to help builds locate binaries they need.
|
||||||
|
A version of `xcrun` is part of the `stdenv` on Darwin.
|
||||||
|
If your package invokes `xcrun` via an absolute path (such as `/usr/bin/xcrun`), you will need to patch the build scripts to use `xcrun` instead.
|
||||||
|
|
||||||
```nix
|
To reiterate: you usually don’t have to worry about this stuff.
|
||||||
stdenv.mkDerivation {
|
Start with writing your derivation as if everything is already set up for you (because in most cases it already is).
|
||||||
name = "libfoo-1.2.3";
|
If you run into issues or failures, continue reading below for how to deal with the most common issues you may encounter.
|
||||||
# ...
|
|
||||||
buildPhase = ''
|
|
||||||
$CC -o hello hello.c
|
|
||||||
'';
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
- On Darwin, libraries are linked using absolute paths, libraries are resolved by their `install_name` at link time. Sometimes packages won’t set this correctly causing the library lookups to fail at runtime. This can be fixed by adding extra linker flags or by running `install_name_tool -id` during the `fixupPhase`.
|
### Darwin Issue Troubleshooting {#sec-darwin-troubleshooting}
|
||||||
|
|
||||||
```nix
|
#### Package requires a non-default SDK or fails to build due to missing frameworks or symbols {#sec-darwin-troubleshooting-using-sdks}
|
||||||
stdenv.mkDerivation {
|
|
||||||
name = "libfoo-1.2.3";
|
|
||||||
# ...
|
|
||||||
makeFlags = lib.optional stdenv.hostPlatform.isDarwin "LDFLAGS=-Wl,-install_name,$(out)/lib/libfoo.dylib";
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
- Even if the libraries are linked using absolute paths and resolved via their `install_name` correctly, tests can sometimes fail to run binaries. This happens because the `checkPhase` runs before the libraries are installed.
|
In some cases, you may have to use a non-default SDK.
|
||||||
|
This can happen when a package requires APIs that are not present in the default SDK.
|
||||||
|
For example, Metal Performance Shaders were added in macOS 12.
|
||||||
|
If the default SDK is 11.3, then a package that requires Metal Performance Shaders will fail to build due to missing frameworks and symbols.
|
||||||
|
|
||||||
This can usually be solved by running the tests after the `installPhase` or alternatively by using `DYLD_LIBRARY_PATH`. More information about this variable can be found in the *dyld(1)* manpage.
|
To use a non-default SDK, add it to your derivation’s `buildInputs`.
|
||||||
|
It is not necessary to override the SDK in the `stdenv` nor is it necessary to override the SDK used by your dependencies.
|
||||||
|
If your derivation needs a non-default SDK at build time (e.g., for a `depsBuildBuild` compiler), see the cross-compilation documentation for which input you should use.
|
||||||
|
|
||||||
```
|
When determining whether to use a non-default SDK, consider the following:
|
||||||
dyld: Library not loaded: /nix/store/7hnmbscpayxzxrixrgxvvlifzlxdsdir-jq-1.5-lib/lib/libjq.1.dylib
|
|
||||||
Referenced from: /private/tmp/nix-build-jq-1.5.drv-0/jq-1.5/tests/../jq
|
|
||||||
Reason: image not found
|
|
||||||
./tests/jqtest: line 5: 75779 Abort trap: 6
|
|
||||||
```
|
|
||||||
|
|
||||||
```nix
|
- Try building your derivation with the default SDK. If it works, you’re done.
|
||||||
stdenv.mkDerivation {
|
- If the package specifies a specific version, use that. See below for how to map Xcode version to SDK version.
|
||||||
name = "libfoo-1.2.3";
|
- If the package’s documentation indicates it supports optional features on newer SDKs, consider using the SDK that enables those features.
|
||||||
# ...
|
If you’re not sure, use the default SDK.
|
||||||
doInstallCheck = true;
|
|
||||||
installCheckTarget = "check";
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
- Some packages assume Xcode is available and use `xcrun` to resolve build tools like `clang`, etc. The Darwin stdenv includes `xcrun`, and it will return the path to any binary available in a build.
|
Note: It is possible to have multiple, different SDK versions in your inputs.
|
||||||
|
When that happens, the one with the highest version is always used.
|
||||||
|
|
||||||
```nix
|
```nix
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "libfoo-1.2.3";
|
name = "libfoo-1.2.3";
|
||||||
# ...
|
|
||||||
nativeBuildInputs = [ bison ];
|
|
||||||
buildCommand = ''
|
|
||||||
xcrun bison foo.y # produces foo.tab.c
|
|
||||||
# ...
|
|
||||||
'';
|
|
||||||
}
|
|
||||||
```
|
|
||||||
The package `xcbuild` can be used to build projects that really depend on Xcode. However, this replacement is not 100% compatible with Xcode and can occasionally cause issues.
|
|
||||||
|
|
||||||
Note: Some packages may hardcode an absolute path to `xcrun`, `xcodebuild`, or `xcode-select`. Those paths should be removed or replaced.
|
|
||||||
|
|
||||||
```nix
|
|
||||||
stdenv.mkDerivation {
|
|
||||||
name = "libfoo-1.2.3";
|
|
||||||
prePatch = ''
|
|
||||||
substituteInPlace Makefile \
|
|
||||||
--replace-fail /usr/bin/xcrun xcrun
|
|
||||||
# or: --replace-fail /usr/bin/xcrun '${lib.getExe' buildPackages.xcbuild "xcrun"}'
|
|
||||||
'';
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
- Multiple SDKs are available for use in nixpkgs. Each platform has a default SDK (10.12.2 for x86_64-darwin and 11.3 for aarch64-darwin), which is available as the `apple-sdk` package.
|
|
||||||
|
|
||||||
The SDK provides the necessary headers and text-based stubs to link common frameworks and libraries (such as libSystem, which is effectively Darwin’s libc). Projects will sometimes indicate which SDK to use by the Xcode version. As a rule of thumb, subtract one from the Xcode version to get the available SDK in nixpkgs.
|
|
||||||
|
|
||||||
The `DEVELOPER_DIR` variable in the build environment has the path to the SDK in the build environment. The `SDKROOT` variable there contains a sysroot with the framework, header, and library paths. You can reference an SDK’s sysroot from Nix using the `sdkroot` attribute on the SDK package. Note that it is preferable to use `SDKROOT` because the latter will be resolved to the highest SDK version of any available to your derivation.
|
|
||||||
|
|
||||||
```nix
|
|
||||||
stdenv.mkDerivation {
|
|
||||||
name = "libfoo-1.2.3";
|
|
||||||
# ...
|
|
||||||
env.PACKAGE_SPECIFIC_SDK_VAR = apple-sdk_10_15.sdkroot;
|
|
||||||
# or
|
|
||||||
buildInputs = [ apple-sdk_10_15 ];
|
|
||||||
postPatch = ''
|
|
||||||
export PACKAGE_SPECIFIC_SDK_VAR=$SDKROOT
|
|
||||||
'';
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
The following is a list of Xcode versions, the SDK version in nixpkgs, and the attribute to use to add it. Generally, only the last SDK release for a major version is packaged (each _x_ in 10._x_ until 10.15 is considered a major version).
|
|
||||||
|
|
||||||
| Xcode version | SDK version | nixpkgs attribute |
|
|
||||||
|--------------------|---------------------------------------------------|-------------------|
|
|
||||||
| Varies by platform | 10.12.2 (x86_64-darwin)<br/>11.3 (aarch64-darwin) | `apple-sdk` |
|
|
||||||
| 8.0–8.3.3 | 10.12.2 | `apple-sdk_10_12` |
|
|
||||||
| 9.0–9.4.1 | 10.13.2 | `apple-sdk_10_13` |
|
|
||||||
| 10.0–10.3 | 10.14.6 | `apple-sdk_10_14` |
|
|
||||||
| 11.0–11.7 | 10.15.6 | `apple-sdk_10_15` |
|
|
||||||
| 12.0–12.5.1 | 11.3 | `apple-sdk_11` |
|
|
||||||
| 13.0–13.4.1 | 12.3 | `apple-sdk_12` |
|
|
||||||
| 14.0–14.3.1 | 13.3 | `apple-sdk_13` |
|
|
||||||
| 15.0–15.4 | 14.4 | `apple-sdk_14` |
|
|
||||||
| 16.0 | 15.0 | `apple-sdk_15` |
|
|
||||||
|
|
||||||
To use a non-default SDK, add it to your build inputs.
|
|
||||||
|
|
||||||
```nix
|
|
||||||
stdenv.mkDerivation {
|
|
||||||
name = "libfoo-1.2.3";
|
|
||||||
# ...
|
|
||||||
buildInputs = [ apple-sdk_15 ]; # Uses the 15.0 SDK instead of the default SDK for the platform.
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
If your derivation has multiple SDKs its inputs (e.g., because they have been propagated by its dependencies), it will use the highest SDK version available.
|
|
||||||
|
|
||||||
```nix
|
|
||||||
stdenv.mkDerivation {
|
|
||||||
name = "libfoo-1.2.3"; # Upstream specifies that it needs Xcode 12 to build, so use the 11.3 SDK.
|
|
||||||
# ...
|
|
||||||
buildInputs = [ apple-sdk_11 ];
|
|
||||||
nativeBuildInputs = [ swift ]; # Propagates the 13.3 SDK, so the 13.3 SDK package will be used instead of the 11.3 SDK.
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
- When a package indicates a minimum supported version, also called the deployment target, you can set it in your derivation using `darwinMinVersionHook`. If you need to set a minimum version higher than the default SDK, you should also add the corresponding SDK to your `buildInputs`.
|
|
||||||
|
|
||||||
The deployment target controls how Darwin handles availability and access to some APIs. In most cases, if a deployment target is newer than the first availability of an API, that API will be linked directly. Otherwise, the API will be weakly linked and checked at runtime.
|
|
||||||
|
|
||||||
```nix
|
|
||||||
stdenv.mkDerivation {
|
|
||||||
name = "libfoo-1.2.3"; # Upstream specifies the minimum supported version as 12.5.
|
|
||||||
buildInputs = [ (darwinMinVersionHook "12.5") ];
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
If your derivation has multiple versions of this hook in its inputs (e.g., because it has been propagated by one of your dependencies), it will use the highest deployment target available.
|
|
||||||
|
|
||||||
```nix
|
|
||||||
stdenv.mkDerivation {
|
|
||||||
name = "libfoo-1.2.3"; # Upstream specifies the minimum supported version as 10.15.
|
|
||||||
buildInputs = [ qt6.qtbase (darwinMinVersionHook "10.15") ];
|
|
||||||
}
|
|
||||||
# Qt 6 specifies a minimum version of 12.0, so the minimum version resolves to 12.0.
|
|
||||||
```
|
|
||||||
|
|
||||||
|
|
||||||
- You should rely on the default SDK when possible. If a package specifies a required SDK version, use that version (e.g., libuv requires 11.0, so it should use `apple-sdk_11`). When a package supports multiple SDKs, determine which SDK package to use based on the following rules of thumb:
|
|
||||||
|
|
||||||
- If a package supports multiple SDK versions, use the lowest supported SDK version by the package (but no lower than the default SDK). That ensures maximal platform compatibility for the package.
|
|
||||||
|
|
||||||
- If a package specifies a range of supported SDK versions _and_ a minimum supported version, assume the package is using availability checks to support the indicated minimum version. Add the highest supported SDK and a `darwinMinVersionHook` set to the minimum version supported by the upstream package.
|
|
||||||
|
|
||||||
Warning: Avoid using newer SDKs than an upstream package supports. When a binary is linked on Darwin, the SDK version used to build it is recorded in the binary. Runtime behavior can vary based on the SDK version, which may work fine but can also result in unexpected behavior or crashes when building with an unsupported SDK.
|
|
||||||
|
|
||||||
```nix
|
|
||||||
stdenv.mkDerivation {
|
|
||||||
name = "foo-1.2.3";
|
|
||||||
# ...
|
|
||||||
buildInputs = [ apple-sdk_15 (darwinMinVersionHook "10.15") ]; # Upstream builds with the 15.0 SDK but supports 10.15.
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
- Libraries that require a minimum version can propagate an appropriate SDK and `darwinMinVersionHook`. Derivations using that library will automatically use an appropriate SDK and minimum version. Even if the library builds with a newer SDK, it should propagate the minimum supported SDK. Derivations that need a newer SDK can add it to their `buildInputs`.
|
|
||||||
|
|
||||||
```nix
|
|
||||||
stdenv.mkDerivation {
|
|
||||||
name = "libfoo-1.2.3";
|
|
||||||
# ...
|
|
||||||
buildInputs = [ apple-sdk_15 ]; # Upstream builds with the 15.0 SDK but supports 10.15.
|
|
||||||
propagatedBuildInputs = [ apple-sdk_10_15 (darwinMinVersionHook "10.15") ];
|
|
||||||
}
|
|
||||||
# ...
|
# ...
|
||||||
stdenv.mkDerivation {
|
buildInputs = [ apple-sdk_14 ];
|
||||||
name = "bar-1.2.3";
|
}
|
||||||
# ...
|
```
|
||||||
buildInputs = [ libfoo ]; # Builds with the 10.15 SDK
|
|
||||||
}
|
#### What is a “deployment target” (or minimum version)? {#sec-darwin-troubleshooting-using-deployment-targets}
|
||||||
|
|
||||||
|
The “deployment target” refers to the minimum version of macOS that is expected to run an application.
|
||||||
|
In most cases, the default is fine, and you don’t have to do anything else.
|
||||||
|
If you’re not sure, don’t do anything, and that will probably be fine.
|
||||||
|
|
||||||
|
Some packages require setting a non-default deployment target (or minimum version) to gain access to certain APIs.
|
||||||
|
You do that using the `darwinMinVersionHook`, which takes the deployment target version as a parameter.
|
||||||
|
There are primarily two ways to determine the deployment target.
|
||||||
|
|
||||||
|
- The upstream documentation will specify a deployment target or minimum version. Use that.
|
||||||
|
- The build will fail because an API requires a certain version. Use that.
|
||||||
|
- In all other cases, you probably don’t need to specify a minimum version. The default is usually good enough.
|
||||||
|
|
||||||
|
```nix
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
name = "libfoo-1.2.3"; # Upstream specifies the minimum supported version as 12.5.
|
||||||
|
buildInputs = [ (darwinMinVersionHook "12.5") ];
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Note: It is possible to have multiple, different instances of `darwinMinVerisonHook` in your inputs.
|
||||||
|
When that happens, the one with the highest version is always used.
|
||||||
|
|
||||||
|
#### Picking an SDK version {#sec-darwin-troubleshooting-picking-sdk-version}
|
||||||
|
|
||||||
|
The following is a list of Xcode versions, the SDK version in Nixpkgs, and the attribute to use to add it.
|
||||||
|
Check your package’s documentation (platform support or installation instructions) to find which Xcode or SDK version to use.
|
||||||
|
Generally, only the last SDK release for a major version is packaged (each _x_ in 10._x_ until 10.15 is considered a major version).
|
||||||
|
|
||||||
|
| Xcode version | SDK version | Nixpkgs attribute |
|
||||||
|
|--------------------|---------------------------------------------------|-------------------|
|
||||||
|
| Varies by platform | 10.12.2 (x86_64-darwin)<br/>11.3 (aarch64-darwin) | `apple-sdk` |
|
||||||
|
| 8.0–8.3.3 | 10.12.2 | `apple-sdk_10_12` |
|
||||||
|
| 9.0–9.4.1 | 10.13.2 | `apple-sdk_10_13` |
|
||||||
|
| 10.0–10.3 | 10.14.6 | `apple-sdk_10_14` |
|
||||||
|
| 11.0–11.7 | 10.15.6 | `apple-sdk_10_15` |
|
||||||
|
| 12.0–12.5.1 | 11.3 | `apple-sdk_11` |
|
||||||
|
| 13.0–13.4.1 | 12.3 | `apple-sdk_12` |
|
||||||
|
| 14.0–14.3.1 | 13.3 | `apple-sdk_13` |
|
||||||
|
| 15.0–15.4 | 14.4 | `apple-sdk_14` |
|
||||||
|
| 16.0 | 15.0 | `apple-sdk_15` |
|
||||||
|
|
||||||
|
|
||||||
|
#### Darwin Default SDK versions {#sec-darwin-troubleshooting-darwin-defaults}
|
||||||
|
|
||||||
|
The current default versions of the deployment target (minimum version) and SDK are indicated by Darwin-specific attributes on the platform. Because of the ways that minimum version and SDK can be changed that are not visible to Nix, they should be treated as lower bounds.
|
||||||
|
If you need to parameterize over a specific version, create a function that takes the version as a parameter instead of relying on these attributes.
|
||||||
|
|
||||||
|
- `darwinMinVersion` defaults to 10.12 on x86_64-darwin and 11.0 on aarch64-darwin.
|
||||||
|
It sets the default deployment target.
|
||||||
|
- `darwinSdkVersion` defaults to 10.12 on x86-64-darwin and 11.0 on aarch64-darwin.
|
||||||
|
Only the major version determines the SDK version, resulting in the 10.12.2 and 11.3 SDKs being used on these platforms respectively.
|
||||||
|
|
||||||
|
|
||||||
|
#### `xcrun` cannot find a binary {#sec-darwin-troubleshooting-xcrun}
|
||||||
|
|
||||||
|
`xcrun` searches `PATH` and the SDK’s toolchain for binaries to run.
|
||||||
|
If it cannot find a required binary, it will fail. When that happens, add the package for that binary to your derivation’s `nativeBuildInputs` (or `nativeCheckInputs` if the failure is happening when running tests).
|
||||||
|
|
||||||
|
```nix
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
name = "libfoo-1.2.3";
|
||||||
# ...
|
# ...
|
||||||
stdenv.mkDerivation {
|
nativeBuildInputs = [ bison ];
|
||||||
name = "baz-1.2.3";
|
buildCommand = ''
|
||||||
|
xcrun bison foo.y # produces foo.tab.c
|
||||||
# ...
|
# ...
|
||||||
buildInputs = [ apple-sdk_12 libfoo ]; # Builds with the 12.3 SDK
|
'';
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
- Many SDK libraries and frameworks use text-based stubs to link against system libraries and frameworks, but several are built from source (typically corresponding to the source releases for the latest release of macOS). Several of these are propagated to your package automatically. They can be accessed via the `darwin` package set along with others that are not propagated by default.
|
#### Package requires `xcodebuild` {#sec-darwin-troubleshooting-xcodebuild}
|
||||||
|
|
||||||
- libiconv
|
The xcbuild package provides an `xcodebuild` command for packages that really depend on Xcode.
|
||||||
- libresolv
|
This replacement is not 100% compatible and may run into some issues, but it is able to build many packages.
|
||||||
- libsbuf
|
To use `xcodebuild`, add `xcbuildHook` to your package’s `nativeBuildInputs`.
|
||||||
|
It will provide a `buildPhase` for your derivation.
|
||||||
|
You can use `xcbuildFlags` to specify flags to `xcodebuild` such as the required schema.
|
||||||
|
If a schema has spaces in its name, you must set `__structuredAttrs` to `true`.
|
||||||
|
See MoltenVK for an example of setting up xcbuild.
|
||||||
|
|
||||||
Other common libraries are available in Darwin-specific versions with modifications from Apple. Note that these packages may be made the default on Darwin in the future.
|
```nix
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
name = "libfoo-1.2.3";
|
||||||
|
xcbuildFlags = [
|
||||||
|
"-configuration"
|
||||||
|
"Release"
|
||||||
|
"-project"
|
||||||
|
"libfoo-project.xcodeproj"
|
||||||
|
"-scheme"
|
||||||
|
"libfoo Package (macOS only)"
|
||||||
|
];
|
||||||
|
__structuredAttrs = true;
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
- ICU (compatible with the top-level icu package, but it also provides `libicucore.B.dylib` with an ABI compatible with the Darwin system version)
|
##### Fixing absolute paths to `xcodebuild`, `xcrun`, and `PlistBuddy` {#sec-darwin-troubleshooting-xcodebuild-absolute-paths}
|
||||||
- libpcap (compatible with the top-level libpcap, but it includes Darwin-specific extensions)
|
|
||||||
|
|
||||||
- The legacy SDKs packages are still available in the `darwin` package set under their existing names, but all packages in these SDKs (frameworks, libraries, etc) are stub packages for evaluation compatibility.
|
Many build systems hardcode the absolute paths to `xcodebuild`, `xcrun`, and `PlistBuddy` as `/usr/bin/xcodebuild`, `/usr/bin/xcrun`, and `/usr/libexec/PlistBuddy` respectively.
|
||||||
|
These paths will need to be replaced with relative paths and the xcbuild package if `xcodebuild` or `PListBuddy` are used.
|
||||||
|
|
||||||
In most cases, a derivation can be updated by deleting all of its SDK inputs (frameworks, libraries, etc). If you had to override the SDK, see below for how to do that using the new SDK pattern. If your derivation depends on the layout of the old frameworks or other internal details, you have more work to do.
|
```nix
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
name = "libfoo-1.2.3";
|
||||||
|
postPatch = ''
|
||||||
|
subsituteInPlace Makefile \
|
||||||
|
--replace-fail '/usr/bin/xcodebuild' 'xcodebuild' \
|
||||||
|
--replace-fail '/usr/bin/xcrun' 'xcrun' \
|
||||||
|
--replace-fail '/usr/bin/PListBuddy' 'PListBuddy'
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
When a package depended on the location of frameworks, references to those framework packages can usually be replaced with `${apple-sdk.sdkroot}/System` or `$SDKROOT/System`. For example, if you substituted `${darwin.apple_sdk.frameworks.OpenGL}/Library/Frameworks/OpenGL.framework` in your derivation, you should replace it with `${apple-sdk.sdkroot}/System/Library/Frameworks/OpenGL.framework` or `$SDKROOT/System/Library/Frameworks`. The latter is preferred because it supports using the SDK that is resolved when multiple SDKs are propagated (see above).
|
#### How to use libiconv on Darwin {#sec-darwin-troubleshooting-libiconv}
|
||||||
|
|
||||||
Note: the new SDK pattern uses the name `apple-sdk` to better align with nixpkgs naming conventions. The old SDK pattern uses `apple_sdk`.
|
The libiconv package is included in the SDK by default along with libresolv and libsbuf.
|
||||||
|
You do not need to do anything to use these packages. They are available automatically.
|
||||||
|
If your derivation needs the `iconv` binary, add the `libiconv` package to your `nativeBuildInputs` (or `nativeCheckInputs` for tests).
|
||||||
|
|
||||||
- There are two legacy patterns that are being phased out. These patterns were used in the past to change the SDK version. They have been reimplemented to use the `apple-sdk` packages.
|
#### Library install name issues {#sec-darwin-troubleshooting-install-name}
|
||||||
|
|
||||||
- `pkgs.darwin.apple_sdk_11_0.callPackage` - this pattern was used to provide frameworks from the 11.0 SDK. It now adds the `apple-sdk_11` package to your derivation’s build inputs.
|
Libraries on Darwin are usually linked with absolute paths.
|
||||||
- `overrideSDK` - this stdenv adapter would try to replace the frameworks used by your derivation and its transitive dependencies. It now adds the `apple-sdk_11` package for `11.0` or the `apple-sdk_12` package for `12.3`. If `darwinMinVersion` is specified, it will add `darwinMinVersionHook` with the specified minimum version. No other SDK versions are supported.
|
This is determined by something called an “install name”, which is resolved at link time.
|
||||||
|
Sometimes packages will not set this correctly, causing binaries linking to it not to find their libraries at runtime.
|
||||||
|
This can be fixed by adding extra linker flags or by using `install_name_tool` to set it in `fixupPhase`.
|
||||||
|
|
||||||
- Darwin supports cross-compilation between Darwin platforms. Cross-compilation from Linux is not currently supported but may be supported in the future. To cross-compile to Darwin, you can set `crossSystem` or use one of the Darwin systems in `pkgsCross`. The `darwinMinVersionHook` and the SDKs support cross-compilation. If you need to specify a different SDK version for a `depsBuildBuild` compiler, add it to your `nativeBuildInputs`.
|
##### Setting the install name via linker flags {#sec-darwin-troubleshooting-install-name-linker-flags}
|
||||||
|
|
||||||
```nix
|
```nix
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "libfoo-1.2.3";
|
name = "libfoo-1.2.3";
|
||||||
# ...
|
# ...
|
||||||
depsBuildBuild = [ buildPackages.stdenv.cc ];
|
makeFlags = lib.optional stdenv.hostPlatform.isDarwin "LDFLAGS=-Wl,-install_name,$(out)/lib/libfoo.dylib";
|
||||||
nativeBuildInputs = [ apple-sdk_12 ];
|
}
|
||||||
buildInputs = [ apple-sdk_13 ];
|
```
|
||||||
depsTargetTargetPropagated = [ apple-sdk_14 ];
|
|
||||||
}
|
|
||||||
# The build-build clang will use the 12.3 SDK while the package build itself will use the 13.3 SDK.
|
|
||||||
# Derivations that add this package as an input will have the 14.4 SDK propagated to them.
|
|
||||||
```
|
|
||||||
|
|
||||||
The different target SDK and hooks are mangled based on role:
|
##### Setting the install name using `install_name_tool` {#sec-darwin-troubleshooting-install-name-install_name_tool}
|
||||||
|
|
||||||
- `DEVELOPER_DIR_FOR_BUILD` and `MACOSX_DEPLOYMENT_TARGET_FOR_BUILD` for the build platform;
|
```nix
|
||||||
- `DEVELOPER_DIR` and `MACOSX_DEPLOYMENT_TARGET` for the host platform; and
|
stdenv.mkDerivation {
|
||||||
- `DEVELOPER_DIR_FOR_TARGET` and `MACOSX_DEPLOYMENT_TARGET_FOR_TARGET` for the build platform.
|
name = "libfoo-1.2.3";
|
||||||
|
# ...
|
||||||
|
postFixup = ''
|
||||||
|
# `-id <install_name>` takes the install name. The last parameter is the path to the library.
|
||||||
|
${stdenv.cc.targetPrefix}install_name_tool -id "$out/lib/libfoo.dylib" "$out/lib/libfoo.dylib"
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
In static compilation situations, it is possible for the build and host platform to be the same platform but have different SDKs with the same version (one dynamic and one static). cc-wrapper takes care of handling this distinction.
|
Even if libraries are linked using absolute paths and resolved via their install name correctly, tests in `checkPhase` can sometimes fail to run binaries because they are linked against libraries that have not yet been installed.
|
||||||
|
This can usually be solved by running the tests after the `installPhase` or by using `DYLD_LIBRARY_PATH` (see {manpage}`dyld(1)` for more on setting `DYLD_LIBRARY_PATH`).
|
||||||
|
|
||||||
- The current default versions of the deployment target (minimum version) and SDK are indicated by Darwin-specific attributes on the platform. Because of the ways that minimum version and SDK can be changed that are not visible to Nix, they should be treated as lower bounds. If you need to parameterize over a specific version, create a function that takes the version as a parameter instead of relying on these attributes.
|
##### Setting the install name using `fixDarwinDylibNames` hook {#sec-darwin-troubleshooting-install-name-fixDarwinDylibNames}
|
||||||
|
|
||||||
- `darwinMinVersion` defaults to 10.12 on x86_64-darwin and 11.0 on aarch64-darwin. It sets the default `MACOSX_DEPLOYMENT_TARGET`.
|
If your package has numerous dylibs needing fixed, while it is preferable to fix the issue in the package’s build, you can update them all by adding the `fixDarwinDylibNames` hook to your `nativeBuildInputs`.
|
||||||
- `darwinSdkVersion` defaults to 10.12 on x86-64-darwin and 11.0 on aarch64-darwin. Only the major version determines the SDK version, resulting in the 10.12.2 and 11.3 SDKs being used on these platforms respectively.
|
This hook will scan your package’s outputs for dylibs and correct their install names.
|
||||||
|
Note that if any binaries in your outputs linked those dylibs, you may need to use `install_name_tool` to replace references to them with the correct paths.
|
||||||
|
|
||||||
|
#### Propagating an SDK (advanced, compilers-only) {#sec-darwin-troubleshooting-propagating-sdks}
|
||||||
|
|
||||||
|
The SDK is a package, and it can be propagated.
|
||||||
|
`darwinMinVersionHook` with a version specified can also be propagated.
|
||||||
|
However, most packages should *not* do this.
|
||||||
|
The exception is compilers.
|
||||||
|
When you propagate an SDK, it becomes part of your derivation’s public API, and changing the SDK or removing it can be a breaking change.
|
||||||
|
That is why propagating it is only recommended for compilers.
|
||||||
|
|
||||||
|
When authoring a compiler derivation, propagate the SDK only for the ways you expect users to use your compiler.
|
||||||
|
Depending on your expected use cases, you may have to do one or all of these.
|
||||||
|
|
||||||
|
- Put it in `depsTargetTargetPropagated` when your compiler is expected to be added to `nativeBuildInputs`.
|
||||||
|
That will ensure the SDK is effectively part of the target derivation’s `buildInputs`.
|
||||||
|
- If your compiler uses a hook, put it in the hook’s `depsTargetTargetPropagated` instead.
|
||||||
|
The effect should be the same as the above.
|
||||||
|
- If your package uses the builder pattern, update your builder to add the SDK to the derivation’s `buildInputs`.
|
||||||
|
|
||||||
|
If you’re not sure whether to propagate an SDK, don’t.
|
||||||
|
If your package is a compiler or language, and you’re not sure, ask @NixOS/darwin-maintainers for help deciding.
|
||||||
|
|
||||||
|
### Dealing with `darwin.apple_sdk.frameworks` {#sec-darwin-legacy-frameworks}
|
||||||
|
|
||||||
|
You may see references to `darwin.apple_sdk.frameworks`.
|
||||||
|
This is the legacy SDK pattern, and it is being phased out.
|
||||||
|
All packages in `darwin.apple_sdk`, `darwin.apple_sdk_11_0`, and `darwin.apple_sdk_12_3` are stubs that do nothing.
|
||||||
|
If your derivation references them, you can delete them. The default SDK should be enough to build your package.
|
||||||
|
|
||||||
|
Note: the new SDK pattern uses the name `apple-sdk` to better align with Nixpkgs naming conventions.
|
||||||
|
The legacy SDK pattern uses `apple_sdk`.
|
||||||
|
You always know you are using the old SDK pattern if the name is `apple_sdk`.
|
||||||
|
|
||||||
|
Some derivations may depend on the location of frameworks in those old packages.
|
||||||
|
To update your derivation to find them in the new SDK, use `$SDKROOT` instead in `preConfigure`.
|
||||||
|
For example, if you substitute `${darwin.apple_sdk.frameworks.OpenGL}/Library/Frameworks/OpenGL.framework` in `postPatch`, replace it with `$SDKROOT/System/Library/Frameworks/OpenGL.framework` in `preConfigure`.
|
||||||
|
|
||||||
|
Note that if your derivation is changing a system path (such as `/System/Library/Frameworks/OpenGL.framework`), you may be able to remove the path.
|
||||||
|
Compilers and binutils targeting Darwin look for system paths in the SDK sysroot.
|
||||||
|
Some of them (such as Zig or `bindgen` for Rust) depend on it.
|
||||||
|
|
||||||
|
#### Updating legacy SDK overrides {#sec-darwin-legacy-frameworks-overrides}
|
||||||
|
|
||||||
|
The legacy SDK provided two ways of overriding the default SDK.
|
||||||
|
These are both being phased out along with the legacy SDKs.
|
||||||
|
They have been updated to set up the new SDK for you, but you should replace them with doing that directly.
|
||||||
|
|
||||||
|
- `pkgs.darwin.apple_sdk_11_0.callPackage` - this pattern was used to provide frameworks from the 11.0 SDK.
|
||||||
|
It now adds the `apple-sdk_11` package to your derivation’s build inputs.
|
||||||
|
- `overrideSDK` - this stdenv adapter would try to replace the frameworks used by your derivation and its transitive dependencies.
|
||||||
|
It now adds the `apple-sdk_11` package for `11.0` or the `apple-sdk_12` package for `12.3`.
|
||||||
|
If `darwinMinVersion` is specified, it will add `darwinMinVersionHook` with the specified minimum version.
|
||||||
|
No other SDK versions are supported.
|
||||||
|
|
||||||
|
### Darwin Cross-Compilation {#sec-darwin-legacy-cross-compilation}
|
||||||
|
|
||||||
|
Darwin supports cross-compilation between Darwin platforms.
|
||||||
|
Cross-compilation from Linux is not currently supported but may be supported in the future.
|
||||||
|
To cross-compile to Darwin, you can set `crossSystem` or use one of the Darwin systems in `pkgsCross`.
|
||||||
|
The `darwinMinVersionHook` and the SDKs support cross-compilation.
|
||||||
|
If you need to specify a different SDK version for a `depsBuildBuild` compiler, add it to your `nativeBuildInputs`.
|
||||||
|
|
||||||
|
```nix
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
name = "libfoo-1.2.3";
|
||||||
|
# ...
|
||||||
|
depsBuildBuild = [ buildPackages.stdenv.cc ];
|
||||||
|
nativeBuildInputs = [ apple-sdk_12 ];
|
||||||
|
buildInputs = [ apple-sdk_13 ];
|
||||||
|
depsTargetTargetPropagated = [ apple-sdk_14 ];
|
||||||
|
}
|
||||||
|
# The build-build `clang` will use the 12.3 SDK while the package build itself will use the 13.3 SDK.
|
||||||
|
# Derivations that add this package as an input will have the 14.4 SDK propagated to them.
|
||||||
|
```
|
||||||
|
|
||||||
|
The different target SDK and hooks are mangled based on role:
|
||||||
|
|
||||||
|
- `DEVELOPER_DIR_FOR_BUILD` and `MACOSX_DEPLOYMENT_TARGET_FOR_BUILD` for the build platform;
|
||||||
|
- `DEVELOPER_DIR` and `MACOSX_DEPLOYMENT_TARGET` for the host platform; and
|
||||||
|
- `DEVELOPER_DIR_FOR_TARGET` and `MACOSX_DEPLOYMENT_TARGET_FOR_TARGET` for the build platform.
|
||||||
|
|
||||||
|
In static compilation situations, it is possible for the build and host platform to be the same platform but have different SDKs with the same version (one dynamic and one static).
|
||||||
|
cc-wrapper and bintools-wrapper take care of handling this distinction.
|
||||||
|
@ -12543,6 +12543,12 @@
|
|||||||
githubId = 40217331;
|
githubId = 40217331;
|
||||||
name = "LizeLive";
|
name = "LizeLive";
|
||||||
};
|
};
|
||||||
|
llakala = {
|
||||||
|
email = "elevenaka11@gmail.com";
|
||||||
|
github = "llakala";
|
||||||
|
githubId = 78693624;
|
||||||
|
name = "llakala";
|
||||||
|
};
|
||||||
lluchs = {
|
lluchs = {
|
||||||
email = "lukas.werling@gmail.com";
|
email = "lukas.werling@gmail.com";
|
||||||
github = "lluchs";
|
github = "lluchs";
|
||||||
@ -21896,6 +21902,12 @@
|
|||||||
githubId = 1391883;
|
githubId = 1391883;
|
||||||
name = "Tom Hall";
|
name = "Tom Hall";
|
||||||
};
|
};
|
||||||
|
thtrf = {
|
||||||
|
email = "thtrf@proton.me";
|
||||||
|
github = "thtrf";
|
||||||
|
githubId = 82712122;
|
||||||
|
name = "thtrf";
|
||||||
|
};
|
||||||
Thunderbottom = {
|
Thunderbottom = {
|
||||||
email = "chinmaydpai@gmail.com";
|
email = "chinmaydpai@gmail.com";
|
||||||
github = "Thunderbottom";
|
github = "Thunderbottom";
|
||||||
|
@ -12,14 +12,19 @@ in
|
|||||||
options.programs.localsend = {
|
options.programs.localsend = {
|
||||||
enable = lib.mkEnableOption "localsend, an open source cross-platform alternative to AirDrop";
|
enable = lib.mkEnableOption "localsend, an open source cross-platform alternative to AirDrop";
|
||||||
|
|
||||||
openFirewall = lib.mkEnableOption "opening the firewall port ${toString firewallPort} for receiving files" // {
|
package = lib.mkPackageOption pkgs "localsend" { };
|
||||||
default = true;
|
|
||||||
};
|
openFirewall =
|
||||||
|
lib.mkEnableOption "opening the firewall port ${toString firewallPort} for receiving files"
|
||||||
|
// {
|
||||||
|
default = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
environment.systemPackages = [ pkgs.localsend ];
|
environment.systemPackages = [ cfg.package ];
|
||||||
networking.firewall.allowedTCPPorts = lib.optionals cfg.openFirewall [ firewallPort ];
|
networking.firewall.allowedTCPPorts = lib.optionals cfg.openFirewall [ firewallPort ];
|
||||||
|
networking.firewall.allowedUDPPorts = lib.optionals cfg.openFirewall [ firewallPort ];
|
||||||
};
|
};
|
||||||
|
|
||||||
meta.maintainers = with lib.maintainers; [ pandapip1 ];
|
meta.maintainers = with lib.maintainers; [ pandapip1 ];
|
||||||
|
@ -101,7 +101,12 @@ in {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
systemd.packages = [ cfg.package ];
|
systemd = {
|
||||||
|
packages = [ cfg.package ];
|
||||||
|
tmpfiles.rules = [
|
||||||
|
"d /etc/openvpn3/configs 0750 openvpn openvpn - -"
|
||||||
|
];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
meta.maintainers = with lib.maintainers; [ shamilton progrm_jarvis ];
|
meta.maintainers = with lib.maintainers; [ shamilton progrm_jarvis ];
|
||||||
|
@ -1,37 +1,31 @@
|
|||||||
{ config, lib, pkgs, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
with lib;
|
|
||||||
|
|
||||||
let
|
let
|
||||||
|
|
||||||
cfg = config.services.teamviewer;
|
cfg = config.services.teamviewer;
|
||||||
|
|
||||||
in
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|
||||||
###### interface
|
|
||||||
|
|
||||||
options = {
|
options = {
|
||||||
|
services.teamviewer = {
|
||||||
services.teamviewer.enable = mkEnableOption "TeamViewer daemon";
|
enable = lib.mkEnableOption "TeamViewer daemon & system package";
|
||||||
|
package = lib.mkPackageOption pkgs "teamviewer" { };
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
###### implementation
|
config = lib.mkIf (cfg.enable) {
|
||||||
|
environment.systemPackages = [ cfg.package ];
|
||||||
|
|
||||||
config = mkIf (cfg.enable) {
|
services.dbus.packages = [ cfg.package ];
|
||||||
|
|
||||||
environment.systemPackages = [ pkgs.teamviewer ];
|
|
||||||
|
|
||||||
services.dbus.packages = [ pkgs.teamviewer ];
|
|
||||||
|
|
||||||
systemd.services.teamviewerd = {
|
systemd.services.teamviewerd = {
|
||||||
description = "TeamViewer remote control daemon";
|
description = "TeamViewer remote control daemon";
|
||||||
|
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
wants = [ "network-online.target" ];
|
wants = [ "network-online.target" ];
|
||||||
after = [ "network-online.target" "network.target" "dbus.service" ];
|
after = [
|
||||||
|
"network-online.target"
|
||||||
|
"network.target"
|
||||||
|
"dbus.service"
|
||||||
|
];
|
||||||
requires = [ "dbus.service" ];
|
requires = [ "dbus.service" ];
|
||||||
preStart = "mkdir -pv /var/lib/teamviewer /var/log/teamviewer";
|
preStart = "mkdir -pv /var/lib/teamviewer /var/log/teamviewer";
|
||||||
|
|
||||||
@ -39,12 +33,11 @@ in
|
|||||||
startLimitBurst = 10;
|
startLimitBurst = 10;
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
Type = "simple";
|
Type = "simple";
|
||||||
ExecStart = "${pkgs.teamviewer}/bin/teamviewerd -f";
|
ExecStart = "${cfg.package}/bin/teamviewerd -f";
|
||||||
PIDFile = "/run/teamviewerd.pid";
|
PIDFile = "/run/teamviewerd.pid";
|
||||||
ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
|
ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
|
||||||
Restart = "on-abort";
|
Restart = "on-abort";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -16,6 +16,7 @@ import ./make-test-python.nix (
|
|||||||
machine.wait_for_open_port(53317)
|
machine.wait_for_open_port(53317)
|
||||||
machine.wait_for_window("LocalSend", 10)
|
machine.wait_for_window("LocalSend", 10)
|
||||||
machine.succeed("netstat --listening --program --tcp | grep -P 'tcp.*53317.*localsend'")
|
machine.succeed("netstat --listening --program --tcp | grep -P 'tcp.*53317.*localsend'")
|
||||||
|
machine.succeed("netstat --listening --program --udp | grep -P 'udp.*53317.*localsend'")
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
@ -1049,26 +1049,26 @@ let
|
|||||||
sources = {
|
sources = {
|
||||||
"x86_64-linux" = {
|
"x86_64-linux" = {
|
||||||
arch = "linux-x64";
|
arch = "linux-x64";
|
||||||
hash = "sha256-X6Oszc88F0ENABwX63uwxbJ4VPQOQzZbJA87znVg5d8=";
|
hash = "sha256-+/0ZQkRS6AD8u5+t2hiPwQxzwhEc+n2F0GVk1s0n74U=";
|
||||||
};
|
};
|
||||||
"x86_64-darwin" = {
|
"x86_64-darwin" = {
|
||||||
arch = "darwin-x64";
|
arch = "darwin-x64";
|
||||||
hash = "sha256-NH3kGmNZpKofNplw+FRJFvV3m36HRuIqGR3zt6X5x60=";
|
hash = "sha256-FZbTBPn12pv9bQWqfWwPapFLTpp5nclp0RH/WZc6/r4=";
|
||||||
};
|
};
|
||||||
"aarch64-linux" = {
|
"aarch64-linux" = {
|
||||||
arch = "linux-arm64";
|
arch = "linux-arm64";
|
||||||
hash = "sha256-hlFAMz17cl2/1CK7/dgrLktcPZYAcccIWIpkAVdwpkI=";
|
hash = "sha256-e6zfflFgxVuikWwQuU6ImEuVk8xgi2HyY8uZwBoQiLU=";
|
||||||
};
|
};
|
||||||
"aarch64-darwin" = {
|
"aarch64-darwin" = {
|
||||||
arch = "darwin-arm64";
|
arch = "darwin-arm64";
|
||||||
hash = "sha256-oVkmdw0sHv5Y+ysT4zWW6qFDh/h4/TcgSAauh1KrE1c=";
|
hash = "sha256-SfA9wkvYT2Vb3GpJRjWE6lzZAXdFCnEKoKl0hjT0Llw=";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
name = "continue";
|
name = "continue";
|
||||||
publisher = "Continue";
|
publisher = "Continue";
|
||||||
version = "0.8.44";
|
version = "0.8.54";
|
||||||
}
|
}
|
||||||
// sources.${stdenv.system};
|
// sources.${stdenv.system};
|
||||||
nativeBuildInputs = lib.optionals stdenv.hostPlatform.isLinux [ autoPatchelfHook ];
|
nativeBuildInputs = lib.optionals stdenv.hostPlatform.isLinux [ autoPatchelfHook ];
|
||||||
@ -1740,8 +1740,8 @@ let
|
|||||||
mktplcRef = {
|
mktplcRef = {
|
||||||
name = "prettier-vscode";
|
name = "prettier-vscode";
|
||||||
publisher = "esbenp";
|
publisher = "esbenp";
|
||||||
version = "10.4.0";
|
version = "11.0.0";
|
||||||
hash = "sha256-8+90cZpqyH+wBgPFaX5GaU6E02yBWUoB+T9C2z2Ix8c=";
|
hash = "sha256-pNjkJhof19cuK0PsXJ/Q/Zb2H7eoIkfXJMLZJ4lDn7k=";
|
||||||
};
|
};
|
||||||
meta = {
|
meta = {
|
||||||
changelog = "https://marketplace.visualstudio.com/items/esbenp.prettier-vscode/changelog";
|
changelog = "https://marketplace.visualstudio.com/items/esbenp.prettier-vscode/changelog";
|
||||||
@ -3627,8 +3627,14 @@ let
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
ms-vscode-remote.vscode-remote-extensionpack =
|
||||||
|
callPackage ./ms-vscode-remote.vscode-remote-extensionpack
|
||||||
|
{ };
|
||||||
|
|
||||||
ms-vsliveshare.vsliveshare = callPackage ./ms-vsliveshare.vsliveshare { };
|
ms-vsliveshare.vsliveshare = callPackage ./ms-vsliveshare.vsliveshare { };
|
||||||
|
|
||||||
|
ms-windows-ai-studio.windows-ai-studio = callPackage ./ms-windows-ai-studio.windows-ai-studio { };
|
||||||
|
|
||||||
mshr-h.veriloghdl = buildVscodeMarketplaceExtension {
|
mshr-h.veriloghdl = buildVscodeMarketplaceExtension {
|
||||||
mktplcRef = {
|
mktplcRef = {
|
||||||
name = "veriloghdl";
|
name = "veriloghdl";
|
||||||
@ -4151,6 +4157,23 @@ let
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
sainnhe.gruvbox-material = buildVscodeMarketplaceExtension {
|
||||||
|
mktplcRef = {
|
||||||
|
name = "gruvbox-material";
|
||||||
|
publisher = "sainnhe";
|
||||||
|
version = "6.5.2";
|
||||||
|
hash = "sha256-D+SZEQQwjZeuyENOYBJGn8tqS3cJiWbEkmEqhNRY/i4=";
|
||||||
|
};
|
||||||
|
meta = {
|
||||||
|
changelog = "https://marketplace.visualstudio.com/items/sainnhe.gruvbox-material/changelog";
|
||||||
|
description = "Gruvbox Material theme VSCode extension with Material palette";
|
||||||
|
downloadPage = "https://marketplace.visualstudio.com/items?itemName=sainnhe.gruvbox-material";
|
||||||
|
homepage = "https://github.com/sainnhe/gruvbox-material-vscode";
|
||||||
|
license = lib.licenses.mit;
|
||||||
|
maintainers = with lib.maintainers; [ thtrf ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
samuelcolvin.jinjahtml = buildVscodeMarketplaceExtension {
|
samuelcolvin.jinjahtml = buildVscodeMarketplaceExtension {
|
||||||
mktplcRef = {
|
mktplcRef = {
|
||||||
name = "jinjahtml";
|
name = "jinjahtml";
|
||||||
@ -4301,8 +4324,8 @@ let
|
|||||||
mktplcRef = {
|
mktplcRef = {
|
||||||
publisher = "shd101wyy";
|
publisher = "shd101wyy";
|
||||||
name = "markdown-preview-enhanced";
|
name = "markdown-preview-enhanced";
|
||||||
version = "0.8.14";
|
version = "0.8.15";
|
||||||
hash = "sha256-vCuuPB/GTkM2xCBn1UF3CZwP49Ge/8eelHhg67EG7tQ=";
|
hash = "sha256-aW2Ri73xIl/1q/Yoi5qg25fjx7l55QfXAn+M+JuoN+A=";
|
||||||
};
|
};
|
||||||
meta = {
|
meta = {
|
||||||
description = "Provides a live preview of markdown using either markdown-it or pandoc";
|
description = "Provides a live preview of markdown using either markdown-it or pandoc";
|
||||||
@ -4531,8 +4554,8 @@ let
|
|||||||
mktplcRef = {
|
mktplcRef = {
|
||||||
name = "code-spell-checker";
|
name = "code-spell-checker";
|
||||||
publisher = "streetsidesoftware";
|
publisher = "streetsidesoftware";
|
||||||
version = "4.0.14";
|
version = "4.0.15";
|
||||||
hash = "sha256-b87sBCprMMfxsP8lyMM3yI82YvKZd5Jc+Z/x7uflnL0=";
|
hash = "sha256-Zow0laXwORa3V5Hy40pWDa/+Xq7kQbgn/Ia6PrJxI6E=";
|
||||||
};
|
};
|
||||||
meta = {
|
meta = {
|
||||||
changelog = "https://marketplace.visualstudio.com/items/streetsidesoftware.code-spell-checker/changelog";
|
changelog = "https://marketplace.visualstudio.com/items/streetsidesoftware.code-spell-checker/changelog";
|
||||||
|
@ -0,0 +1,20 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
vscode-utils,
|
||||||
|
}:
|
||||||
|
|
||||||
|
vscode-utils.buildVscodeMarketplaceExtension {
|
||||||
|
mktplcRef = {
|
||||||
|
name = "vscode-remote-extensionpack";
|
||||||
|
publisher = "ms-vscode-remote";
|
||||||
|
version = "0.26.0";
|
||||||
|
hash = "sha256-YUo0QbJILa9BzWub6Wi6cDD/Zsy/H8LZ8j+9H+5pVHY=";
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "A Visual Studio Code extension pack that lets you open any folder in a container, on a remote machine, or in WSL and take advantage of VS Code's full feature set";
|
||||||
|
homepage = "https://github.com/Microsoft/vscode-remote-release";
|
||||||
|
license = lib.licenses.unfree;
|
||||||
|
maintainers = with lib.maintainers; [ drupol ];
|
||||||
|
};
|
||||||
|
}
|
@ -0,0 +1,20 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
vscode-utils,
|
||||||
|
}:
|
||||||
|
|
||||||
|
vscode-utils.buildVscodeMarketplaceExtension {
|
||||||
|
mktplcRef = {
|
||||||
|
name = "windows-ai-studio";
|
||||||
|
publisher = "ms-windows-ai-studio";
|
||||||
|
version = "0.6.1";
|
||||||
|
hash = "sha256-BAA7wSfyJ4y8how+NnaGdCf/BCU6aOmI8ew8qpcQCnY=";
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "A Visual Studio Code an extension to help developers and AI engineers to easily build AI apps through developing and testing with generative AI models locally or in the cloud";
|
||||||
|
homepage = "https://github.com/Microsoft/windows-ai-studio";
|
||||||
|
license = lib.licenses.unfree;
|
||||||
|
maintainers = with lib.maintainers; [ drupol ];
|
||||||
|
};
|
||||||
|
}
|
@ -548,7 +548,9 @@ in stdenv.mkDerivation (finalAttrs: {
|
|||||||
|
|
||||||
buildTargets = [ "build-nocheck" ];
|
buildTargets = [ "build-nocheck" ];
|
||||||
|
|
||||||
doCheck = true;
|
# Disable tests for the Qt5 build, as they seem even more flaky
|
||||||
|
# than usual, and we will drop the Qt5 build after 24.11 anyway.
|
||||||
|
doCheck = !(kdeIntegration && qtMajor == "5");
|
||||||
|
|
||||||
preCheck = ''
|
preCheck = ''
|
||||||
export HOME=$(pwd)
|
export HOME=$(pwd)
|
||||||
|
@ -105,11 +105,11 @@
|
|||||||
md5name = "89c5c6665337f56fd2db36bc3805a5619709d51fb136e51937072f63fcc717a7-cppunit-1.15.1.tar.gz";
|
md5name = "89c5c6665337f56fd2db36bc3805a5619709d51fb136e51937072f63fcc717a7-cppunit-1.15.1.tar.gz";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "curl-8.9.0.tar.xz";
|
name = "curl-8.10.1.tar.xz";
|
||||||
url = "https://dev-www.libreoffice.org/src/curl-8.9.0.tar.xz";
|
url = "https://dev-www.libreoffice.org/src/curl-8.10.1.tar.xz";
|
||||||
sha256 = "ff09b2791ca56d25fd5c3f3a4927dce7c8a9dc4182200c487ca889fba1fdd412";
|
sha256 = "73a4b0e99596a09fa5924a4fb7e4b995a85fda0d18a2c02ab9cf134bebce04ee";
|
||||||
md5 = "";
|
md5 = "";
|
||||||
md5name = "ff09b2791ca56d25fd5c3f3a4927dce7c8a9dc4182200c487ca889fba1fdd412-curl-8.9.0.tar.xz";
|
md5name = "73a4b0e99596a09fa5924a4fb7e4b995a85fda0d18a2c02ab9cf134bebce04ee-curl-8.10.1.tar.xz";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "libe-book-0.1.3.tar.xz";
|
name = "libe-book-0.1.3.tar.xz";
|
||||||
@ -147,11 +147,11 @@
|
|||||||
md5name = "b430435a6e8487888b761dc848b7981626eb814884963ffe25eb26a139301e9a-libetonyek-0.1.10.tar.xz";
|
md5name = "b430435a6e8487888b761dc848b7981626eb814884963ffe25eb26a139301e9a-libetonyek-0.1.10.tar.xz";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "expat-2.6.2.tar.xz";
|
name = "expat-2.6.3.tar.xz";
|
||||||
url = "https://dev-www.libreoffice.org/src/expat-2.6.2.tar.xz";
|
url = "https://dev-www.libreoffice.org/src/expat-2.6.3.tar.xz";
|
||||||
sha256 = "ee14b4c5d8908b1bec37ad937607eab183d4d9806a08adee472c3c3121d27364";
|
sha256 = "274db254a6979bde5aad404763a704956940e465843f2a9bd9ed7af22e2c0efc";
|
||||||
md5 = "";
|
md5 = "";
|
||||||
md5name = "ee14b4c5d8908b1bec37ad937607eab183d4d9806a08adee472c3c3121d27364-expat-2.6.2.tar.xz";
|
md5name = "274db254a6979bde5aad404763a704956940e465843f2a9bd9ed7af22e2c0efc-expat-2.6.3.tar.xz";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "Firebird-3.0.7.33374-0.tar.bz2";
|
name = "Firebird-3.0.7.33374-0.tar.bz2";
|
||||||
@ -658,11 +658,11 @@
|
|||||||
md5name = "bb2dc4898180bea79863d5487e5f9c7c34297414bad54bcd0f0852aee9cfdb87-lxml-5.2.2.tar.gz";
|
md5name = "bb2dc4898180bea79863d5487e5f9c7c34297414bad54bcd0f0852aee9cfdb87-lxml-5.2.2.tar.gz";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "mariadb-connector-c-3.3.8-src.tar.gz";
|
name = "mariadb-connector-c-3.3.11-src.tar.gz";
|
||||||
url = "https://dev-www.libreoffice.org/src/mariadb-connector-c-3.3.8-src.tar.gz";
|
url = "https://dev-www.libreoffice.org/src/mariadb-connector-c-3.3.11-src.tar.gz";
|
||||||
sha256 = "f9f076b4aa9fb22cc94b24f82c80f9ef063805ecd6533a2eb5d5060cf93833e8";
|
sha256 = "f7ba02f70aa2ae2b13e9ee5acc78423f6bede38998afb91326a62be46cf5956a";
|
||||||
md5 = "";
|
md5 = "";
|
||||||
md5name = "f9f076b4aa9fb22cc94b24f82c80f9ef063805ecd6533a2eb5d5060cf93833e8-mariadb-connector-c-3.3.8-src.tar.gz";
|
md5name = "f7ba02f70aa2ae2b13e9ee5acc78423f6bede38998afb91326a62be46cf5956a-mariadb-connector-c-3.3.11-src.tar.gz";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "mdds-2.1.1.tar.xz";
|
name = "mdds-2.1.1.tar.xz";
|
||||||
@ -742,11 +742,11 @@
|
|||||||
md5name = "48969323e94e3be3b03c6a132942dcba7ef8d545f2ad35401709019f696c3c4e-openldap-2.6.8.tgz";
|
md5name = "48969323e94e3be3b03c6a132942dcba7ef8d545f2ad35401709019f696c3c4e-openldap-2.6.8.tgz";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "openssl-3.0.14.tar.gz";
|
name = "openssl-3.0.15.tar.gz";
|
||||||
url = "https://dev-www.libreoffice.org/src/openssl-3.0.14.tar.gz";
|
url = "https://dev-www.libreoffice.org/src/openssl-3.0.15.tar.gz";
|
||||||
sha256 = "eeca035d4dd4e84fc25846d952da6297484afa0650a6f84c682e39df3a4123ca";
|
sha256 = "23c666d0edf20f14249b3d8f0368acaee9ab585b09e1de82107c66e1f3ec9533";
|
||||||
md5 = "";
|
md5 = "";
|
||||||
md5name = "eeca035d4dd4e84fc25846d952da6297484afa0650a6f84c682e39df3a4123ca-openssl-3.0.14.tar.gz";
|
md5name = "23c666d0edf20f14249b3d8f0368acaee9ab585b09e1de82107c66e1f3ec9533-openssl-3.0.15.tar.gz";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "liborcus-0.19.2.tar.xz";
|
name = "liborcus-0.19.2.tar.xz";
|
||||||
@ -777,25 +777,25 @@
|
|||||||
md5name = "ea1480efada2fd948bc75366f7c349e1c96d3297d09a3fe62626e38e234a625e-pixman-0.42.2.tar.gz";
|
md5name = "ea1480efada2fd948bc75366f7c349e1c96d3297d09a3fe62626e38e234a625e-pixman-0.42.2.tar.gz";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "libpng-1.6.43.tar.xz";
|
name = "libpng-1.6.44.tar.xz";
|
||||||
url = "https://dev-www.libreoffice.org/src/libpng-1.6.43.tar.xz";
|
url = "https://dev-www.libreoffice.org/src/libpng-1.6.44.tar.xz";
|
||||||
sha256 = "6a5ca0652392a2d7c9db2ae5b40210843c0bbc081cbd410825ab00cc59f14a6c";
|
sha256 = "60c4da1d5b7f0aa8d158da48e8f8afa9773c1c8baa5d21974df61f1886b8ce8e";
|
||||||
md5 = "";
|
md5 = "";
|
||||||
md5name = "6a5ca0652392a2d7c9db2ae5b40210843c0bbc081cbd410825ab00cc59f14a6c-libpng-1.6.43.tar.xz";
|
md5name = "60c4da1d5b7f0aa8d158da48e8f8afa9773c1c8baa5d21974df61f1886b8ce8e-libpng-1.6.44.tar.xz";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "tiff-4.6.0t.tar.xz";
|
name = "tiff-4.7.0.tar.xz";
|
||||||
url = "https://dev-www.libreoffice.org/src/tiff-4.6.0t.tar.xz";
|
url = "https://dev-www.libreoffice.org/src/tiff-4.7.0.tar.xz";
|
||||||
sha256 = "d6da35c9986a4ec845eb96258b3693f8df515f7eb4c1e597ceb03e22788f305b";
|
sha256 = "273a0a73b1f0bed640afee4a5df0337357ced5b53d3d5d1c405b936501f71017";
|
||||||
md5 = "";
|
md5 = "";
|
||||||
md5name = "d6da35c9986a4ec845eb96258b3693f8df515f7eb4c1e597ceb03e22788f305b-tiff-4.6.0t.tar.xz";
|
md5name = "273a0a73b1f0bed640afee4a5df0337357ced5b53d3d5d1c405b936501f71017-tiff-4.7.0.tar.xz";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "poppler-24.06.0.tar.xz";
|
name = "poppler-24.08.0.tar.xz";
|
||||||
url = "https://dev-www.libreoffice.org/src/poppler-24.06.0.tar.xz";
|
url = "https://dev-www.libreoffice.org/src/poppler-24.08.0.tar.xz";
|
||||||
sha256 = "0cdabd495cada11f6ee9e75c793f80daf46367b66c25a63ee8c26d0f9ec40c76";
|
sha256 = "97453fbddf0c9a9eafa0ea45ac710d3d49bcf23a62e864585385d3c0b4403174";
|
||||||
md5 = "";
|
md5 = "";
|
||||||
md5name = "0cdabd495cada11f6ee9e75c793f80daf46367b66c25a63ee8c26d0f9ec40c76-poppler-24.06.0.tar.xz";
|
md5name = "97453fbddf0c9a9eafa0ea45ac710d3d49bcf23a62e864585385d3c0b4403174-poppler-24.08.0.tar.xz";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "poppler-data-0.4.12.tar.gz";
|
name = "poppler-data-0.4.12.tar.gz";
|
||||||
@ -805,18 +805,18 @@
|
|||||||
md5name = "c835b640a40ce357e1b83666aabd95edffa24ddddd49b8daff63adb851cdab74-poppler-data-0.4.12.tar.gz";
|
md5name = "c835b640a40ce357e1b83666aabd95edffa24ddddd49b8daff63adb851cdab74-poppler-data-0.4.12.tar.gz";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "postgresql-13.15.tar.bz2";
|
name = "postgresql-13.16.tar.bz2";
|
||||||
url = "https://dev-www.libreoffice.org/src/postgresql-13.15.tar.bz2";
|
url = "https://dev-www.libreoffice.org/src/postgresql-13.16.tar.bz2";
|
||||||
sha256 = "42edd415446d33b8c242be76d1ad057531b2264b2e86939339b7075c6e4ec925";
|
sha256 = "c9cbbb6129f02328204828066bb3785c00a85c8ca8fd329c2a8a53c1f5cd8865";
|
||||||
md5 = "";
|
md5 = "";
|
||||||
md5name = "42edd415446d33b8c242be76d1ad057531b2264b2e86939339b7075c6e4ec925-postgresql-13.15.tar.bz2";
|
md5name = "c9cbbb6129f02328204828066bb3785c00a85c8ca8fd329c2a8a53c1f5cd8865-postgresql-13.16.tar.bz2";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "Python-3.9.19.tar.xz";
|
name = "Python-3.9.20.tar.xz";
|
||||||
url = "https://dev-www.libreoffice.org/src/Python-3.9.19.tar.xz";
|
url = "https://dev-www.libreoffice.org/src/Python-3.9.20.tar.xz";
|
||||||
sha256 = "d4892cd1618f6458cb851208c030df1482779609d0f3939991bd38184f8c679e";
|
sha256 = "6b281279efd85294d2d6993e173983a57464c0133956fbbb5536ec9646beaf0c";
|
||||||
md5 = "";
|
md5 = "";
|
||||||
md5name = "d4892cd1618f6458cb851208c030df1482779609d0f3939991bd38184f8c679e-Python-3.9.19.tar.xz";
|
md5name = "6b281279efd85294d2d6993e173983a57464c0133956fbbb5536ec9646beaf0c-Python-3.9.20.tar.xz";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "libqxp-0.0.2.tar.xz";
|
name = "libqxp-0.0.2.tar.xz";
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{ fetchurl, ... }:
|
{ fetchurl, ... }:
|
||||||
fetchurl {
|
fetchurl {
|
||||||
sha256 = "1vbi2qbap3ccychc0sfn32z46klyzjh0hhk4in0sd7qkl97y6lvn";
|
sha256 = "1xlfs1380h9axqx37kp9nwq4bwlg08rm136ayzglaz57vx87vxsg";
|
||||||
url = "https://download.documentfoundation.org/libreoffice/src/24.8.0/libreoffice-help-24.8.0.3.tar.xz";
|
url = "https://download.documentfoundation.org/libreoffice/src/24.8.2/libreoffice-help-24.8.2.1.tar.xz";
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{ fetchurl, ... }:
|
{ fetchurl, ... }:
|
||||||
fetchurl {
|
fetchurl {
|
||||||
sha256 = "1hbqgpgih3j9ic1dljxz3mz0rsjf0iyws7qm7g1hb35ns664c4av";
|
sha256 = "1ky4ph9g7x9k68px6x4dgfnf5wqbxqabkp75pjhsj521nsp1nc5b";
|
||||||
url = "https://download.documentfoundation.org/libreoffice/src/24.8.0/libreoffice-24.8.0.3.tar.xz";
|
url = "https://download.documentfoundation.org/libreoffice/src/24.8.2/libreoffice-24.8.2.1.tar.xz";
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{ fetchurl, ... }:
|
{ fetchurl, ... }:
|
||||||
fetchurl {
|
fetchurl {
|
||||||
sha256 = "0p75xijrmp44kcda33xg5dr06xl1fcxwhxgvlcj396rkn2k0c9sy";
|
sha256 = "1yvfcwj9dr2216b9fyi89849jy4lw3jg2yqrx4dm30qdn07jqf3j";
|
||||||
url = "https://download.documentfoundation.org/libreoffice/src/24.8.0/libreoffice-translations-24.8.0.3.tar.xz";
|
url = "https://download.documentfoundation.org/libreoffice/src/24.8.2/libreoffice-translations-24.8.2.1.tar.xz";
|
||||||
}
|
}
|
||||||
|
@ -1 +1 @@
|
|||||||
"24.8.0.3"
|
"24.8.2.1"
|
||||||
|
@ -105,11 +105,11 @@
|
|||||||
md5name = "89c5c6665337f56fd2db36bc3805a5619709d51fb136e51937072f63fcc717a7-cppunit-1.15.1.tar.gz";
|
md5name = "89c5c6665337f56fd2db36bc3805a5619709d51fb136e51937072f63fcc717a7-cppunit-1.15.1.tar.gz";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "curl-8.7.1.tar.xz";
|
name = "curl-8.10.1.tar.xz";
|
||||||
url = "https://dev-www.libreoffice.org/src/curl-8.7.1.tar.xz";
|
url = "https://dev-www.libreoffice.org/src/curl-8.10.1.tar.xz";
|
||||||
sha256 = "6fea2aac6a4610fbd0400afb0bcddbe7258a64c63f1f68e5855ebc0c659710cd";
|
sha256 = "73a4b0e99596a09fa5924a4fb7e4b995a85fda0d18a2c02ab9cf134bebce04ee";
|
||||||
md5 = "";
|
md5 = "";
|
||||||
md5name = "6fea2aac6a4610fbd0400afb0bcddbe7258a64c63f1f68e5855ebc0c659710cd-curl-8.7.1.tar.xz";
|
md5name = "73a4b0e99596a09fa5924a4fb7e4b995a85fda0d18a2c02ab9cf134bebce04ee-curl-8.10.1.tar.xz";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "libe-book-0.1.3.tar.xz";
|
name = "libe-book-0.1.3.tar.xz";
|
||||||
@ -147,11 +147,11 @@
|
|||||||
md5name = "b430435a6e8487888b761dc848b7981626eb814884963ffe25eb26a139301e9a-libetonyek-0.1.10.tar.xz";
|
md5name = "b430435a6e8487888b761dc848b7981626eb814884963ffe25eb26a139301e9a-libetonyek-0.1.10.tar.xz";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "expat-2.6.2.tar.xz";
|
name = "expat-2.6.3.tar.xz";
|
||||||
url = "https://dev-www.libreoffice.org/src/expat-2.6.2.tar.xz";
|
url = "https://dev-www.libreoffice.org/src/expat-2.6.3.tar.xz";
|
||||||
sha256 = "ee14b4c5d8908b1bec37ad937607eab183d4d9806a08adee472c3c3121d27364";
|
sha256 = "274db254a6979bde5aad404763a704956940e465843f2a9bd9ed7af22e2c0efc";
|
||||||
md5 = "";
|
md5 = "";
|
||||||
md5name = "ee14b4c5d8908b1bec37ad937607eab183d4d9806a08adee472c3c3121d27364-expat-2.6.2.tar.xz";
|
md5name = "274db254a6979bde5aad404763a704956940e465843f2a9bd9ed7af22e2c0efc-expat-2.6.3.tar.xz";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "Firebird-3.0.7.33374-0.tar.bz2";
|
name = "Firebird-3.0.7.33374-0.tar.bz2";
|
||||||
@ -630,11 +630,11 @@
|
|||||||
md5name = "4003c56b3d356d21b1db7775318540fad6bfedaf5f117e8f7c010811219be3cf-xmlsec1-1.3.2.tar.gz";
|
md5name = "4003c56b3d356d21b1db7775318540fad6bfedaf5f117e8f7c010811219be3cf-xmlsec1-1.3.2.tar.gz";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "libxml2-2.12.8.tar.xz";
|
name = "libxml2-2.12.9.tar.xz";
|
||||||
url = "https://dev-www.libreoffice.org/src/libxml2-2.12.8.tar.xz";
|
url = "https://dev-www.libreoffice.org/src/libxml2-2.12.9.tar.xz";
|
||||||
sha256 = "43ad877b018bc63deb2468d71f95219c2fac196876ef36d1bee51d226173ec93";
|
sha256 = "59912db536ab56a3996489ea0299768c7bcffe57169f0235e7f962a91f483590";
|
||||||
md5 = "";
|
md5 = "";
|
||||||
md5name = "43ad877b018bc63deb2468d71f95219c2fac196876ef36d1bee51d226173ec93-libxml2-2.12.8.tar.xz";
|
md5name = "59912db536ab56a3996489ea0299768c7bcffe57169f0235e7f962a91f483590-libxml2-2.12.9.tar.xz";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "libxslt-1.1.39.tar.xz";
|
name = "libxslt-1.1.39.tar.xz";
|
||||||
@ -658,11 +658,11 @@
|
|||||||
md5name = "2455cfaeb7ac70338b3257f41e21f0724f4b5b0c0e7702da67ee6c3640835b67-lxml-4.9.2.tgz";
|
md5name = "2455cfaeb7ac70338b3257f41e21f0724f4b5b0c0e7702da67ee6c3640835b67-lxml-4.9.2.tgz";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "mariadb-connector-c-3.3.8-src.tar.gz";
|
name = "mariadb-connector-c-3.3.11-src.tar.gz";
|
||||||
url = "https://dev-www.libreoffice.org/src/mariadb-connector-c-3.3.8-src.tar.gz";
|
url = "https://dev-www.libreoffice.org/src/mariadb-connector-c-3.3.11-src.tar.gz";
|
||||||
sha256 = "f9f076b4aa9fb22cc94b24f82c80f9ef063805ecd6533a2eb5d5060cf93833e8";
|
sha256 = "f7ba02f70aa2ae2b13e9ee5acc78423f6bede38998afb91326a62be46cf5956a";
|
||||||
md5 = "";
|
md5 = "";
|
||||||
md5name = "f9f076b4aa9fb22cc94b24f82c80f9ef063805ecd6533a2eb5d5060cf93833e8-mariadb-connector-c-3.3.8-src.tar.gz";
|
md5name = "f7ba02f70aa2ae2b13e9ee5acc78423f6bede38998afb91326a62be46cf5956a-mariadb-connector-c-3.3.11-src.tar.gz";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "mdds-2.1.1.tar.xz";
|
name = "mdds-2.1.1.tar.xz";
|
||||||
@ -700,11 +700,11 @@
|
|||||||
md5name = "19279f70707bbe5ffa619f2dc319f888cec0c4a8d339dc0a21330517bd6f521d-mythes-1.2.5.tar.xz";
|
md5name = "19279f70707bbe5ffa619f2dc319f888cec0c4a8d339dc0a21330517bd6f521d-mythes-1.2.5.tar.xz";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "nss-3.99-with-nspr-4.35.tar.gz";
|
name = "nss-3.101.2-with-nspr-4.35.tar.gz";
|
||||||
url = "https://dev-www.libreoffice.org/src/nss-3.99-with-nspr-4.35.tar.gz";
|
url = "https://dev-www.libreoffice.org/src/nss-3.101.2-with-nspr-4.35.tar.gz";
|
||||||
sha256 = "5f29fea64b3234b33a615b6df40469e239a4168ac0909106bd00e6490b274c31";
|
sha256 = "ff602c1fa86a4f841b27109918dfff60f41582e1caf6dbd651cfa72bdc8a64aa";
|
||||||
md5 = "";
|
md5 = "";
|
||||||
md5name = "5f29fea64b3234b33a615b6df40469e239a4168ac0909106bd00e6490b274c31-nss-3.99-with-nspr-4.35.tar.gz";
|
md5name = "ff602c1fa86a4f841b27109918dfff60f41582e1caf6dbd651cfa72bdc8a64aa-nss-3.101.2-with-nspr-4.35.tar.gz";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "libodfgen-0.1.8.tar.xz";
|
name = "libodfgen-0.1.8.tar.xz";
|
||||||
@ -742,11 +742,11 @@
|
|||||||
md5name = "cd775f625c944ed78a3da18a03b03b08eea73c8aabc97b41bb336e9a10954930-openldap-2.6.7.tgz";
|
md5name = "cd775f625c944ed78a3da18a03b03b08eea73c8aabc97b41bb336e9a10954930-openldap-2.6.7.tgz";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "openssl-3.0.14.tar.gz";
|
name = "openssl-3.0.15.tar.gz";
|
||||||
url = "https://dev-www.libreoffice.org/src/openssl-3.0.14.tar.gz";
|
url = "https://dev-www.libreoffice.org/src/openssl-3.0.15.tar.gz";
|
||||||
sha256 = "eeca035d4dd4e84fc25846d952da6297484afa0650a6f84c682e39df3a4123ca";
|
sha256 = "23c666d0edf20f14249b3d8f0368acaee9ab585b09e1de82107c66e1f3ec9533";
|
||||||
md5 = "";
|
md5 = "";
|
||||||
md5name = "eeca035d4dd4e84fc25846d952da6297484afa0650a6f84c682e39df3a4123ca-openssl-3.0.14.tar.gz";
|
md5name = "23c666d0edf20f14249b3d8f0368acaee9ab585b09e1de82107c66e1f3ec9533-openssl-3.0.15.tar.gz";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "liborcus-0.19.2.tar.xz";
|
name = "liborcus-0.19.2.tar.xz";
|
||||||
@ -777,25 +777,25 @@
|
|||||||
md5name = "ea1480efada2fd948bc75366f7c349e1c96d3297d09a3fe62626e38e234a625e-pixman-0.42.2.tar.gz";
|
md5name = "ea1480efada2fd948bc75366f7c349e1c96d3297d09a3fe62626e38e234a625e-pixman-0.42.2.tar.gz";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "libpng-1.6.43.tar.xz";
|
name = "libpng-1.6.44.tar.xz";
|
||||||
url = "https://dev-www.libreoffice.org/src/libpng-1.6.43.tar.xz";
|
url = "https://dev-www.libreoffice.org/src/libpng-1.6.44.tar.xz";
|
||||||
sha256 = "6a5ca0652392a2d7c9db2ae5b40210843c0bbc081cbd410825ab00cc59f14a6c";
|
sha256 = "60c4da1d5b7f0aa8d158da48e8f8afa9773c1c8baa5d21974df61f1886b8ce8e";
|
||||||
md5 = "";
|
md5 = "";
|
||||||
md5name = "6a5ca0652392a2d7c9db2ae5b40210843c0bbc081cbd410825ab00cc59f14a6c-libpng-1.6.43.tar.xz";
|
md5name = "60c4da1d5b7f0aa8d158da48e8f8afa9773c1c8baa5d21974df61f1886b8ce8e-libpng-1.6.44.tar.xz";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "tiff-4.6.0.tar.xz";
|
name = "tiff-4.7.0.tar.xz";
|
||||||
url = "https://dev-www.libreoffice.org/src/tiff-4.6.0.tar.xz";
|
url = "https://dev-www.libreoffice.org/src/tiff-4.7.0.tar.xz";
|
||||||
sha256 = "e178649607d1e22b51cf361dd20a3753f244f022eefab1f2f218fc62ebaf87d2";
|
sha256 = "273a0a73b1f0bed640afee4a5df0337357ced5b53d3d5d1c405b936501f71017";
|
||||||
md5 = "";
|
md5 = "";
|
||||||
md5name = "e178649607d1e22b51cf361dd20a3753f244f022eefab1f2f218fc62ebaf87d2-tiff-4.6.0.tar.xz";
|
md5name = "273a0a73b1f0bed640afee4a5df0337357ced5b53d3d5d1c405b936501f71017-tiff-4.7.0.tar.xz";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "poppler-23.09.0.tar.xz";
|
name = "poppler-24.08.0.tar.xz";
|
||||||
url = "https://dev-www.libreoffice.org/src/poppler-23.09.0.tar.xz";
|
url = "https://dev-www.libreoffice.org/src/poppler-24.08.0.tar.xz";
|
||||||
sha256 = "80d1d44dd8bdf4ac1a47d56c5065075eb9991790974b1ed7d14b972acde88e55";
|
sha256 = "97453fbddf0c9a9eafa0ea45ac710d3d49bcf23a62e864585385d3c0b4403174";
|
||||||
md5 = "";
|
md5 = "";
|
||||||
md5name = "80d1d44dd8bdf4ac1a47d56c5065075eb9991790974b1ed7d14b972acde88e55-poppler-23.09.0.tar.xz";
|
md5name = "97453fbddf0c9a9eafa0ea45ac710d3d49bcf23a62e864585385d3c0b4403174-poppler-24.08.0.tar.xz";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "poppler-data-0.4.12.tar.gz";
|
name = "poppler-data-0.4.12.tar.gz";
|
||||||
@ -805,18 +805,18 @@
|
|||||||
md5name = "c835b640a40ce357e1b83666aabd95edffa24ddddd49b8daff63adb851cdab74-poppler-data-0.4.12.tar.gz";
|
md5name = "c835b640a40ce357e1b83666aabd95edffa24ddddd49b8daff63adb851cdab74-poppler-data-0.4.12.tar.gz";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "postgresql-13.14.tar.bz2";
|
name = "postgresql-13.16.tar.bz2";
|
||||||
url = "https://dev-www.libreoffice.org/src/postgresql-13.14.tar.bz2";
|
url = "https://dev-www.libreoffice.org/src/postgresql-13.16.tar.bz2";
|
||||||
sha256 = "b8df078551898960bd500dc5d38a177e9905376df81fe7f2b660a1407fa6a5ed";
|
sha256 = "c9cbbb6129f02328204828066bb3785c00a85c8ca8fd329c2a8a53c1f5cd8865";
|
||||||
md5 = "";
|
md5 = "";
|
||||||
md5name = "b8df078551898960bd500dc5d38a177e9905376df81fe7f2b660a1407fa6a5ed-postgresql-13.14.tar.bz2";
|
md5name = "c9cbbb6129f02328204828066bb3785c00a85c8ca8fd329c2a8a53c1f5cd8865-postgresql-13.16.tar.bz2";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "Python-3.8.19.tar.xz";
|
name = "Python-3.8.20.tar.xz";
|
||||||
url = "https://dev-www.libreoffice.org/src/Python-3.8.19.tar.xz";
|
url = "https://dev-www.libreoffice.org/src/Python-3.8.20.tar.xz";
|
||||||
sha256 = "d2807ac69f69b84fd46a0b93bbd02a4fa48d3e70f4b2835ff0f72a2885040076";
|
sha256 = "6fb89a7124201c61125c0ab4cf7f6894df339a40c02833bfd28ab4d7691fafb4";
|
||||||
md5 = "";
|
md5 = "";
|
||||||
md5name = "d2807ac69f69b84fd46a0b93bbd02a4fa48d3e70f4b2835ff0f72a2885040076-Python-3.8.19.tar.xz";
|
md5name = "6fb89a7124201c61125c0ab4cf7f6894df339a40c02833bfd28ab4d7691fafb4-Python-3.8.20.tar.xz";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "libqxp-0.0.2.tar.xz";
|
name = "libqxp-0.0.2.tar.xz";
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{ fetchurl, ... }:
|
{ fetchurl, ... }:
|
||||||
fetchurl {
|
fetchurl {
|
||||||
sha256 = "090pi8dnj5izpvng94hgmjid14n7xvy3rlqqvang3pqdn35xnpsl";
|
sha256 = "0g31xfmmxjd5c1xg203gflzvq2d2jlgfi9gmg1wxl18l9gjk4hds";
|
||||||
url = "https://download.documentfoundation.org/libreoffice/src/24.2.5/libreoffice-help-24.2.5.2.tar.xz";
|
url = "https://download.documentfoundation.org/libreoffice/src/24.2.7/libreoffice-help-24.2.7.2.tar.xz";
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{ fetchurl, ... }:
|
{ fetchurl, ... }:
|
||||||
fetchurl {
|
fetchurl {
|
||||||
sha256 = "03halzc9w4z8pfs8krpswp2qzrqq9rhnmms8v8ny88am87vy85lw";
|
sha256 = "1r8h8g5fs7z0fvf7f6fq44rw90q4v2z23kkwzdh1s8gaxlnb3sgm";
|
||||||
url = "https://download.documentfoundation.org/libreoffice/src/24.2.5/libreoffice-24.2.5.2.tar.xz";
|
url = "https://download.documentfoundation.org/libreoffice/src/24.2.7/libreoffice-24.2.7.2.tar.xz";
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{ fetchurl, ... }:
|
{ fetchurl, ... }:
|
||||||
fetchurl {
|
fetchurl {
|
||||||
sha256 = "0fri41y59zhm8lq0kh6hvf5rpdjdqx0lg1sl40mhh1d6lf1izc1w";
|
sha256 = "0g2wp8s3gxhy3l685jv3h63gzaljfclgcah437922dl60kpm9yjq";
|
||||||
url = "https://download.documentfoundation.org/libreoffice/src/24.2.5/libreoffice-translations-24.2.5.2.tar.xz";
|
url = "https://download.documentfoundation.org/libreoffice/src/24.2.7/libreoffice-translations-24.2.7.2.tar.xz";
|
||||||
}
|
}
|
||||||
|
@ -1 +1 @@
|
|||||||
"24.2.5.2"
|
"24.2.7.2"
|
||||||
|
@ -87,7 +87,7 @@ let
|
|||||||
destination = "/etc/profile";
|
destination = "/etc/profile";
|
||||||
text = ''
|
text = ''
|
||||||
export PS1='${name}-fhsenv:\u@\h:\w\$ '
|
export PS1='${name}-fhsenv:\u@\h:\w\$ '
|
||||||
export LOCALE_ARCHIVE='/usr/lib/locale/locale-archive'
|
export LOCALE_ARCHIVE="''${LOCALE_ARCHIVE:-/usr/lib/locale/locale-archive}"
|
||||||
export PATH="/run/wrappers/bin:/usr/bin:/usr/sbin:$PATH"
|
export PATH="/run/wrappers/bin:/usr/bin:/usr/sbin:$PATH"
|
||||||
export TZDIR='/etc/zoneinfo'
|
export TZDIR='/etc/zoneinfo'
|
||||||
|
|
||||||
|
@ -1,34 +1,41 @@
|
|||||||
{
|
{
|
||||||
lib,
|
lib,
|
||||||
fetchFromGitHub,
|
|
||||||
python3Packages,
|
|
||||||
appstream,
|
appstream,
|
||||||
blueprint-compiler,
|
blueprint-compiler,
|
||||||
desktop-file-utils,
|
desktop-file-utils,
|
||||||
gobject-introspection,
|
fetchFromGitHub,
|
||||||
|
glib,
|
||||||
glib-networking,
|
glib-networking,
|
||||||
|
gobject-introspection,
|
||||||
|
gtk4,
|
||||||
libadwaita,
|
libadwaita,
|
||||||
meson,
|
meson,
|
||||||
ninja,
|
ninja,
|
||||||
pkg-config,
|
pkg-config,
|
||||||
|
python3Packages,
|
||||||
wrapGAppsHook4,
|
wrapGAppsHook4,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
python3Packages.buildPythonApplication rec {
|
python3Packages.buildPythonApplication rec {
|
||||||
pname = "cartridges";
|
pname = "cartridges";
|
||||||
version = "2.9.3";
|
version = "2.10.1";
|
||||||
pyproject = false;
|
pyproject = false;
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "kra-mo";
|
owner = "kra-mo";
|
||||||
repo = "cartridges";
|
repo = "cartridges";
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-37i8p6KaS/G7ybw850XYaPiG83/Lffn/+21xVk5xva0=";
|
hash = "sha256-uwU0jW5+33hiqpuG83r0GVfANl6ltDLa3s4s0IJHRoQ=";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
strictDeps = true;
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
appstream
|
appstream
|
||||||
blueprint-compiler
|
blueprint-compiler
|
||||||
desktop-file-utils
|
desktop-file-utils # for `desktop-file-validate`
|
||||||
|
glib # for `glib-compile-schemas`
|
||||||
|
gtk4 # for `gtk-update-icon-cache`
|
||||||
gobject-introspection
|
gobject-introspection
|
||||||
meson
|
meson
|
||||||
ninja
|
ninja
|
||||||
@ -49,12 +56,19 @@ python3Packages.buildPythonApplication rec {
|
|||||||
];
|
];
|
||||||
|
|
||||||
dontWrapGApps = true;
|
dontWrapGApps = true;
|
||||||
makeWrapperArgs = [ ''''${gappsWrapperArgs[@]}'' ];
|
makeWrapperArgs = [ "\${gappsWrapperArgs[@]}" ];
|
||||||
|
|
||||||
postFixup = ''
|
postFixup = ''
|
||||||
wrapPythonProgramsIn $out/libexec $out $pythonPath
|
wrapPythonProgramsIn $out/libexec $out $pythonPath
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
# NOTE: `postCheck` is intentionally not used here, as the entire checkPhase
|
||||||
|
# is skipped by `buildPythonApplication`
|
||||||
|
# https://github.com/NixOS/nixpkgs/blob/9d4343b7b27a3e6f08fc22ead568233ff24bbbde/pkgs/development/interpreters/python/mk-python-derivation.nix#L296
|
||||||
|
postInstallCheck = ''
|
||||||
|
mesonCheckPhase
|
||||||
|
'';
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "GTK4 + Libadwaita game launcher";
|
description = "GTK4 + Libadwaita game launcher";
|
||||||
longDescription = ''
|
longDescription = ''
|
||||||
@ -64,7 +78,7 @@ python3Packages.buildPythonApplication rec {
|
|||||||
You can sort and hide games or download cover art from SteamGridDB.
|
You can sort and hide games or download cover art from SteamGridDB.
|
||||||
'';
|
'';
|
||||||
homepage = "https://apps.gnome.org/Cartridges/";
|
homepage = "https://apps.gnome.org/Cartridges/";
|
||||||
changelog = "https://github.com/kra-mo/cartridges/releases/tag/${lib.removePrefix "refs/tags/" src.rev}";
|
changelog = "https://github.com/kra-mo/cartridges/releases/tag/${version}";
|
||||||
license = lib.licenses.gpl3Plus;
|
license = lib.licenses.gpl3Plus;
|
||||||
maintainers = with lib.maintainers; [ getchoo ];
|
maintainers = with lib.maintainers; [ getchoo ];
|
||||||
mainProgram = "cartridges";
|
mainProgram = "cartridges";
|
||||||
|
49
pkgs/by-name/cr/crates-tui/package.nix
Normal file
49
pkgs/by-name/cr/crates-tui/package.nix
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
rustPlatform,
|
||||||
|
fetchFromGitHub,
|
||||||
|
pkg-config,
|
||||||
|
openssl,
|
||||||
|
versionCheckHook,
|
||||||
|
nix-update-script,
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
version = "0.1.20";
|
||||||
|
in
|
||||||
|
rustPlatform.buildRustPackage {
|
||||||
|
pname = "crates-tui";
|
||||||
|
inherit version;
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "ratatui";
|
||||||
|
repo = "crates-tui";
|
||||||
|
rev = "refs/tags/v${version}";
|
||||||
|
hash = "sha256-K3ttXoSS4GZyHnqS95op8kmbAi4/KjKa0P6Nzqqpjyw=";
|
||||||
|
};
|
||||||
|
|
||||||
|
cargoHash = "sha256-ztLBM6CR2WMKR9cfBY95BvSaD05C+AEa6C/nOdDxqf0=";
|
||||||
|
|
||||||
|
nativeBuildInputs = [ pkg-config ];
|
||||||
|
buildInputs = [ openssl ];
|
||||||
|
|
||||||
|
nativeInstallCheckInputs = [ versionCheckHook ];
|
||||||
|
doInstallCheck = true;
|
||||||
|
|
||||||
|
passthru.updateScript = nix-update-script { };
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "TUI for exploring crates.io using Ratatui";
|
||||||
|
homepage = "https://github.com/ratatui/crates-tui";
|
||||||
|
license = with lib.licenses; [ mit ];
|
||||||
|
# See Cargo.toml: workspaces.metadata.dist.targets
|
||||||
|
# Other platforms may work but YMMV
|
||||||
|
platforms = [
|
||||||
|
"x86_64-linux"
|
||||||
|
"aarch64-darwin"
|
||||||
|
"x86_64-darwin"
|
||||||
|
"x86_64-windows"
|
||||||
|
];
|
||||||
|
maintainers = with lib.maintainers; [ pluiedev ];
|
||||||
|
mainProgram = "crates-tui";
|
||||||
|
};
|
||||||
|
}
|
78
pkgs/by-name/gi/git-warp-time/package.nix
Normal file
78
pkgs/by-name/gi/git-warp-time/package.nix
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
stdenv,
|
||||||
|
fetchurl,
|
||||||
|
|
||||||
|
# nativeBuildInputs
|
||||||
|
zstd,
|
||||||
|
pkg-config,
|
||||||
|
jq,
|
||||||
|
cargo,
|
||||||
|
rustc,
|
||||||
|
rustPlatform,
|
||||||
|
|
||||||
|
# buildInputs
|
||||||
|
libgit2,
|
||||||
|
typos,
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
|
pname = "git-warp-time";
|
||||||
|
version = "0.8.4";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "https://github.com/alerque/git-warp-time/releases/download/v${finalAttrs.version}/git-warp-time-${finalAttrs.version}.tar.zst";
|
||||||
|
sha256 = "sha256-Xh30nA77cJ7+UfKlIslnyD+93AtnQ+8P3sCFsG0DAUk=";
|
||||||
|
};
|
||||||
|
|
||||||
|
cargoDeps = rustPlatform.fetchCargoTarball {
|
||||||
|
inherit (finalAttrs) src;
|
||||||
|
nativeBuildInputs = [ zstd ];
|
||||||
|
dontConfigure = true;
|
||||||
|
hash = "sha256-ozy8Mfl5fTJL2Sr22tCSnK30SOKaC9cL+g4lX6ivi9Q=";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
zstd
|
||||||
|
pkg-config
|
||||||
|
jq
|
||||||
|
cargo
|
||||||
|
rustc
|
||||||
|
rustPlatform.cargoSetupHook
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
libgit2
|
||||||
|
typos
|
||||||
|
];
|
||||||
|
|
||||||
|
env = {
|
||||||
|
LIBGIT2_NO_VENDOR = "1";
|
||||||
|
};
|
||||||
|
|
||||||
|
outputs = [
|
||||||
|
"out"
|
||||||
|
"doc"
|
||||||
|
"man"
|
||||||
|
"dev"
|
||||||
|
];
|
||||||
|
|
||||||
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Utility to reset filesystem timestamps based on Git history";
|
||||||
|
longDescription = ''
|
||||||
|
A CLI utility that resets the timestamps of files in a Git repository
|
||||||
|
working directory to the exact timestamp of the last commit which
|
||||||
|
modified each file.
|
||||||
|
'';
|
||||||
|
homepage = "https://github.com/alerque/git-warp-time";
|
||||||
|
changelog = "https://github.com/alerque/git-warp-time/raw/v${finalAttrs.version}/CHANGELOG.md";
|
||||||
|
platforms = lib.platforms.unix;
|
||||||
|
maintainers = with lib.maintainers; [
|
||||||
|
alerque
|
||||||
|
];
|
||||||
|
license = lib.licenses.gpl3Only;
|
||||||
|
mainProgram = "git-warp-time";
|
||||||
|
};
|
||||||
|
})
|
@ -11,16 +11,16 @@
|
|||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "ov";
|
pname = "ov";
|
||||||
version = "0.36.0";
|
version = "0.37.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "noborus";
|
owner = "noborus";
|
||||||
repo = "ov";
|
repo = "ov";
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-0dnaZZmciKnN+rVKitqAf3Bt2vtWP+/fB1tuCuMRvio=";
|
hash = "sha256-PZYYr2763L/BOn05TSDr3tkjQQkg2Niic3rJrFSevu0=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorHash = "sha256-Ktusm7NldO5dTiLBIZ7fzsQ69kyTmKs9OJXZPP1oSws=";
|
vendorHash = "sha256-Xntel9WXwCY5iqC9JvrE/iSIXff504fCUP5kYc6pf7Y=";
|
||||||
|
|
||||||
ldflags = [
|
ldflags = [
|
||||||
"-s"
|
"-s"
|
||||||
|
@ -1,9 +1,10 @@
|
|||||||
{
|
{
|
||||||
lib,
|
lib,
|
||||||
stdenv,
|
stdenv,
|
||||||
fetchzip,
|
fetchurl,
|
||||||
|
|
||||||
# nativeBuildInputs
|
# nativeBuildInputs
|
||||||
|
zstd,
|
||||||
pkg-config,
|
pkg-config,
|
||||||
jq,
|
jq,
|
||||||
cargo,
|
cargo,
|
||||||
@ -32,18 +33,20 @@ stdenv.mkDerivation (finalAttrs: {
|
|||||||
pname = "sile";
|
pname = "sile";
|
||||||
version = "0.15.5";
|
version = "0.15.5";
|
||||||
|
|
||||||
src = fetchzip {
|
src = fetchurl {
|
||||||
url = "https://github.com/sile-typesetter/sile/releases/download/v${finalAttrs.version}/sile-${finalAttrs.version}.zip";
|
url = "https://github.com/sile-typesetter/sile/releases/download/v${finalAttrs.version}/sile-${finalAttrs.version}.tar.zst";
|
||||||
sha256 = "sha256-zP+MGCXGEg19U6tMrHIdgAAfKQT21vFtmoEROXgxUB0=";
|
sha256 = "sha256-0gE3sC0WMC0odnD9KFrSisO406+RZGCqa8jL/5Mhufk=";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoDeps = rustPlatform.fetchCargoTarball {
|
cargoDeps = rustPlatform.fetchCargoTarball {
|
||||||
inherit (finalAttrs) src;
|
inherit (finalAttrs) src;
|
||||||
|
nativeBuildInputs = [ zstd ];
|
||||||
dontConfigure = true;
|
dontConfigure = true;
|
||||||
hash = "sha256-hmgDG29C5JfQX2acMr8c3lmswa1u5XHauRWFd4QGmOo=";
|
hash = "sha256-hmgDG29C5JfQX2acMr8c3lmswa1u5XHauRWFd4QGmOo=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
zstd
|
||||||
pkg-config
|
pkg-config
|
||||||
jq
|
jq
|
||||||
cargo
|
cargo
|
||||||
|
@ -6,16 +6,16 @@ rustPlatform.buildRustPackage rec {
|
|||||||
pname = "typos-lsp";
|
pname = "typos-lsp";
|
||||||
# Please update the corresponding VSCode extension too.
|
# Please update the corresponding VSCode extension too.
|
||||||
# See pkgs/applications/editors/vscode/extensions/tekumara.typos-vscode/default.nix
|
# See pkgs/applications/editors/vscode/extensions/tekumara.typos-vscode/default.nix
|
||||||
version = "0.1.27";
|
version = "0.1.30";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "tekumara";
|
owner = "tekumara";
|
||||||
repo = "typos-lsp";
|
repo = "typos-lsp";
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-WiU6SRhW7LBDFJ/6qv0X/H86FiTYadN02iyi87oQRBY=";
|
hash = "sha256-MnN7cMbvQef3UEQzsrH6i0O+f1nnfHJVI8O8NmBUpuo=";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoHash = "sha256-v9CwoLfqww5UNsVONAWb2D9F/ljq/YXTCCjrJaJWENE=";
|
cargoHash = "sha256-F9e6GLWcZNJZo2kc8f2o1tCvv0JeAJnmltAuSTqQKwY=";
|
||||||
|
|
||||||
# fix for compilation on aarch64
|
# fix for compilation on aarch64
|
||||||
# see https://github.com/NixOS/nixpkgs/issues/145726
|
# see https://github.com/NixOS/nixpkgs/issues/145726
|
||||||
|
74
pkgs/by-name/vg/vgmtrans/package.nix
Normal file
74
pkgs/by-name/vg/vgmtrans/package.nix
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
stdenv,
|
||||||
|
fetchFromGitHub,
|
||||||
|
fetchpatch2,
|
||||||
|
cmake,
|
||||||
|
ninja,
|
||||||
|
qt6,
|
||||||
|
spdlog,
|
||||||
|
zlib-ng,
|
||||||
|
minizip-ng,
|
||||||
|
libbass,
|
||||||
|
libbassmidi,
|
||||||
|
}:
|
||||||
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
|
pname = "vgmtrans";
|
||||||
|
version = "1.2";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "vgmtrans";
|
||||||
|
repo = "vgmtrans";
|
||||||
|
rev = "refs/tags/v${finalAttrs.version}";
|
||||||
|
hash = "sha256-HVC45B1DFThZRkPVrroiay+9ufkOrTMUZoNIuC1CjjM=";
|
||||||
|
};
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
# https://github.com/vgmtrans/vgmtrans/pull/567
|
||||||
|
(fetchpatch2 {
|
||||||
|
name = "fix-version-string.patch";
|
||||||
|
url = "https://github.com/vgmtrans/vgmtrans/commit/5ad8a60a19476d2ae9a7c409b83ab6d5e1ff827f.patch?full_index=1";
|
||||||
|
hash = "sha256-I5ykYzj3tUBQ2e3TAnCm5Ry1Hmmi2IVneFQCe5/JV/A=";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
cmake
|
||||||
|
ninja
|
||||||
|
qt6.wrapQtAppsHook
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
qt6.qtbase
|
||||||
|
qt6.qtsvg
|
||||||
|
libbass
|
||||||
|
libbassmidi
|
||||||
|
];
|
||||||
|
|
||||||
|
preConfigure = ''
|
||||||
|
rm -r lib/{spdlog,zlib-ng,minizip-ng}
|
||||||
|
ln -s ${spdlog.src} lib/spdlog
|
||||||
|
ln -s ${zlib-ng.src} lib/zlib-ng
|
||||||
|
ln -s ${minizip-ng.src} lib/minizip-ng
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Tool to convert proprietary, sequenced videogame music to industry-standard formats";
|
||||||
|
homepage = "https://github.com/vgmtrans/vgmtrans";
|
||||||
|
license = with lib.licenses; [
|
||||||
|
zlib
|
||||||
|
libpng
|
||||||
|
bsd3 # oki_adpcm_state
|
||||||
|
];
|
||||||
|
# See CMakePresets.json
|
||||||
|
platforms = [
|
||||||
|
"x86_64-linux"
|
||||||
|
"x86_64-darwin"
|
||||||
|
"aarch64-darwin"
|
||||||
|
"x86_64-windows"
|
||||||
|
"aarch64-windows"
|
||||||
|
];
|
||||||
|
maintainers = with lib.maintainers; [ pluiedev ];
|
||||||
|
mainProgram = "vgmtrans";
|
||||||
|
};
|
||||||
|
})
|
@ -4,15 +4,15 @@
|
|||||||
fetchFromGitHub,
|
fetchFromGitHub,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "wine-discord-ipc-bridge";
|
pname = "wine-discord-ipc-bridge";
|
||||||
version = "unstable-2023-08-09";
|
version = "0.0.3";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "0e4ef622";
|
owner = "0e4ef622";
|
||||||
repo = "wine-discord-ipc-bridge";
|
repo = "wine-discord-ipc-bridge";
|
||||||
rev = "f8198c9d52e708143301017a296f7557c4387127";
|
rev = "refs/tags/v${finalAttrs.version}";
|
||||||
hash = "sha256-tAknITFlG63+gI5cN9SfUIUZkbIq/MgOPoGIcvoNo4Q=";
|
hash = "sha256-jzsbOKMakNQ6RNMlioX088fGzFBDxOP45Atlsfm2RKg=";
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
@ -33,6 +33,6 @@ stdenv.mkDerivation {
|
|||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
maintainers = [ maintainers.uku3lig ];
|
maintainers = [ maintainers.uku3lig ];
|
||||||
mainProgram = "winediscordipcbridge";
|
mainProgram = "winediscordipcbridge";
|
||||||
platforms = [ "mingw32" ];
|
platforms = [ "i686-windows" ];
|
||||||
};
|
};
|
||||||
}
|
})
|
||||||
|
@ -48,7 +48,11 @@ stdenv.mkDerivation (finalAttrs: {
|
|||||||
# # …
|
# # …
|
||||||
# rm -r ../pkgs/by-name/xa/xar/patches
|
# rm -r ../pkgs/by-name/xa/xar/patches
|
||||||
# git format-patch --zero-commit --output-directory ../pkgs/by-name/xa/xar/patches main
|
# git format-patch --zero-commit --output-directory ../pkgs/by-name/xa/xar/patches main
|
||||||
patches = lib.filesystem.listFilesRecursive ./patches;
|
patches =
|
||||||
|
# Avoid Darwin rebuilds on staging-next
|
||||||
|
lib.filter (
|
||||||
|
p: stdenv.hostPlatform.isDarwin -> baseNameOf p != "0020-Fall-back-to-readlink-on-Linux.patch"
|
||||||
|
) (lib.filesystem.listFilesRecursive ./patches);
|
||||||
|
|
||||||
# We do not use or modify files outside of the xar subdirectory.
|
# We do not use or modify files outside of the xar subdirectory.
|
||||||
patchFlags = [ "-p2" ];
|
patchFlags = [ "-p2" ];
|
||||||
|
@ -0,0 +1,48 @@
|
|||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Randy Eckenrode <randy@largeandhighquality.com>
|
||||||
|
Date: Wed, 30 Oct 2024 20:19:20 -0400
|
||||||
|
Subject: [PATCH 20/20] Fall back to readlink on Linux
|
||||||
|
|
||||||
|
---
|
||||||
|
xar/lib/archive.c | 21 +++++++++++++++++++++
|
||||||
|
1 file changed, 21 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/xar/lib/archive.c b/xar/lib/archive.c
|
||||||
|
index b7f9cbf..3a79c74 100644
|
||||||
|
--- a/xar/lib/archive.c
|
||||||
|
+++ b/xar/lib/archive.c
|
||||||
|
@@ -507,10 +507,31 @@ xar_t xar_fdopen_digest_verify(int fd, int32_t flags, void *expected_toc_digest,
|
||||||
|
// If there are hardlinks, the path we pick is the most recently opened by
|
||||||
|
// the filesystem; which is effectively random.
|
||||||
|
char path_buff[PATH_MAX];
|
||||||
|
+#if defined(__APPLE__)
|
||||||
|
if (fcntl(fd, F_GETPATH, path_buff) < 0) {
|
||||||
|
close(fd);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
+#elif defined(__linux__)
|
||||||
|
+ // Linux has to get the path to the file via `/proc`.
|
||||||
|
+ char proc_buff[PATH_MAX];
|
||||||
|
+ if (snprintf(proc_buff, PATH_MAX, "/proc/self/fd/%i", fd) < 0) {
|
||||||
|
+ close(fd);
|
||||||
|
+ return NULL;
|
||||||
|
+ }
|
||||||
|
+ if (readlink(proc_buff, &path_buff, PATH_MAX) < 0) {
|
||||||
|
+ close(fd);
|
||||||
|
+ return NULL;
|
||||||
|
+ }
|
||||||
|
+ // The filename is the file’s when the fd was created. Check to make sure it still exists.
|
||||||
|
+ struct stat stat_buff;
|
||||||
|
+ if (stat(path_buff, &stat_buff) < 0) {
|
||||||
|
+ close(fd);
|
||||||
|
+ return NULL;
|
||||||
|
+ }
|
||||||
|
+#else
|
||||||
|
+#error "Unknown platform. Please update with an implementation of `F_GETPATH`."
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
// Don't trust the position of the descriptor we were given, reset it back to 0
|
||||||
|
if (lseek(fd, 0, SEEK_SET) != 0) {
|
||||||
|
--
|
||||||
|
2.47.0
|
||||||
|
|
@ -2,6 +2,7 @@
|
|||||||
{
|
{
|
||||||
workspaceStateFile = ./workspace-state.json;
|
workspaceStateFile = ./workspace-state.json;
|
||||||
hashes = {
|
hashes = {
|
||||||
|
"big-num" = "0wj45pmiafhbj5ch7b4s41ldycps0hcj29d0z6fanhiy7ljlhk35";
|
||||||
"data" = "1jf2y9dbg1qvxkkabdkihdnr1kmznq79h18j65a7iw1hljdp8hyg";
|
"data" = "1jf2y9dbg1qvxkkabdkihdnr1kmznq79h18j65a7iw1hljdp8hyg";
|
||||||
"Foundation" = "0hcpc15v38l32qc2sh4gqj909b1f90knln9yz3mfiyf6xi7iy6q7";
|
"Foundation" = "0hcpc15v38l32qc2sh4gqj909b1f90knln9yz3mfiyf6xi7iy6q7";
|
||||||
"KeychainAccess" = "0m57pq1vn5qarmlx5x4kfv0yzjylafl3ipih5p60zyfsx6k5b55l";
|
"KeychainAccess" = "0m57pq1vn5qarmlx5x4kfv0yzjylafl3ipih5p60zyfsx6k5b55l";
|
||||||
@ -10,6 +11,8 @@
|
|||||||
"PromiseKit" = "19pkhk505pz03hqmv8h1lgm83iw5jha6j1v06fyzz0xar2ywv6vg";
|
"PromiseKit" = "19pkhk505pz03hqmv8h1lgm83iw5jha6j1v06fyzz0xar2ywv6vg";
|
||||||
"Rainbow" = "0iv31azny668vpsjgmldgkgn9cp8i5h9rlc6w5bs8q63nwq19wb0";
|
"Rainbow" = "0iv31azny668vpsjgmldgkgn9cp8i5h9rlc6w5bs8q63nwq19wb0";
|
||||||
"swift-argument-parser" = "19b4pkcx4xf0iwg0nbr7wvkkbwl6h8sch848gid6l98728glmcw9";
|
"swift-argument-parser" = "19b4pkcx4xf0iwg0nbr7wvkkbwl6h8sch848gid6l98728glmcw9";
|
||||||
|
"swift-crypto" = "020b8q4ss2k7a65r5dgh59z40i6sn7ij1allxkh8c8a9d0jzn313";
|
||||||
|
"swift-srp" = "0nsinkgf050z1wkzmaxaf5qkvplsgyqwps9xi9zkbcg6y7143xy1";
|
||||||
"SwiftSoup" = "14klizw8jhmxhxays1b1yh4bp0nbb3l4l1pj6sdnf0iqs0wladv8";
|
"SwiftSoup" = "14klizw8jhmxhxays1b1yh4bp0nbb3l4l1pj6sdnf0iqs0wladv8";
|
||||||
"Version" = "0s5bwr1li6dnsnalfyraq1kzhqmmn9qwp1mld4msrn3q5vvjmql9";
|
"Version" = "0s5bwr1li6dnsnalfyraq1kzhqmmn9qwp1mld4msrn3q5vvjmql9";
|
||||||
"Yams" = "11abhcfkmqm3cmh7vp7rqzvxd1zj02j2866a2pp6v9m89456xb76";
|
"Yams" = "11abhcfkmqm3cmh7vp7rqzvxd1zj02j2866a2pp6v9m89456xb76";
|
@ -2,6 +2,23 @@
|
|||||||
"object": {
|
"object": {
|
||||||
"artifacts": [],
|
"artifacts": [],
|
||||||
"dependencies": [
|
"dependencies": [
|
||||||
|
{
|
||||||
|
"basedOn": null,
|
||||||
|
"packageRef": {
|
||||||
|
"identity": "big-num",
|
||||||
|
"kind": "remoteSourceControl",
|
||||||
|
"location": "https://github.com/adam-fowler/big-num",
|
||||||
|
"name": "big-num"
|
||||||
|
},
|
||||||
|
"state": {
|
||||||
|
"checkoutState": {
|
||||||
|
"revision": "5c5511ad06aeb2b97d0868f7394e14a624bfb1c7",
|
||||||
|
"version": "2.0.2"
|
||||||
|
},
|
||||||
|
"name": "sourceControlCheckout"
|
||||||
|
},
|
||||||
|
"subpath": "big-num"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"basedOn": null,
|
"basedOn": null,
|
||||||
"packageRef": {
|
"packageRef": {
|
||||||
@ -137,6 +154,40 @@
|
|||||||
},
|
},
|
||||||
"subpath": "swift-argument-parser"
|
"subpath": "swift-argument-parser"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"basedOn": null,
|
||||||
|
"packageRef": {
|
||||||
|
"identity": "swift-crypto",
|
||||||
|
"kind": "remoteSourceControl",
|
||||||
|
"location": "https://github.com/apple/swift-crypto",
|
||||||
|
"name": "swift-crypto"
|
||||||
|
},
|
||||||
|
"state": {
|
||||||
|
"checkoutState": {
|
||||||
|
"revision": "ddb07e896a2a8af79512543b1c7eb9797f8898a5",
|
||||||
|
"version": "1.1.7"
|
||||||
|
},
|
||||||
|
"name": "sourceControlCheckout"
|
||||||
|
},
|
||||||
|
"subpath": "swift-crypto"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"basedOn": null,
|
||||||
|
"packageRef": {
|
||||||
|
"identity": "swift-srp",
|
||||||
|
"kind": "remoteSourceControl",
|
||||||
|
"location": "https://github.com/xcodesOrg/swift-srp",
|
||||||
|
"name": "swift-srp"
|
||||||
|
},
|
||||||
|
"state": {
|
||||||
|
"checkoutState": {
|
||||||
|
"branch": "main",
|
||||||
|
"revision": "543aa0122a0257b992f6c7d62d18a26e3dffb8fe"
|
||||||
|
},
|
||||||
|
"name": "sourceControlCheckout"
|
||||||
|
},
|
||||||
|
"subpath": "swift-srp"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"basedOn": null,
|
"basedOn": null,
|
||||||
"packageRef": {
|
"packageRef": {
|
@ -1,35 +1,32 @@
|
|||||||
{ lib
|
{
|
||||||
, stdenv
|
lib,
|
||||||
, fetchFromGitHub
|
fetchFromGitHub,
|
||||||
, swift
|
swiftPackages,
|
||||||
, swiftpm
|
swift,
|
||||||
, swiftpm2nix
|
swiftpm,
|
||||||
, makeWrapper
|
swiftpm2nix,
|
||||||
, CryptoKit
|
makeWrapper,
|
||||||
, LocalAuthentication
|
aria2,
|
||||||
, libcompression
|
|
||||||
, aria2
|
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
generated = swiftpm2nix.helpers ./generated;
|
generated = swiftpm2nix.helpers ./generated;
|
||||||
|
stdenv = swiftPackages.stdenv;
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "xcodes";
|
pname = "xcodes";
|
||||||
version = "1.5.0";
|
version = "1.6.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "XcodesOrg";
|
owner = "XcodesOrg";
|
||||||
repo = "xcodes";
|
repo = "xcodes";
|
||||||
rev = finalAttrs.version;
|
rev = finalAttrs.version;
|
||||||
hash = "sha256-vksfvrx0TqtjcOHn38Ey3P6jIFYF4CbD3SVICVFINSU=";
|
hash = "sha256-TwPfASRU98rifyA/mINFfoY0MbbwmAh8JneVpJa38CA=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ swift swiftpm makeWrapper ];
|
nativeBuildInputs = [
|
||||||
|
swift
|
||||||
buildInputs = [
|
swiftpm
|
||||||
CryptoKit
|
makeWrapper
|
||||||
LocalAuthentication
|
|
||||||
libcompression
|
|
||||||
];
|
];
|
||||||
|
|
||||||
configurePhase = generated.configure;
|
configurePhase = generated.configure;
|
||||||
@ -45,16 +42,19 @@ stdenv.mkDerivation (finalAttrs: {
|
|||||||
runHook postInstall
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with lib; {
|
meta = {
|
||||||
changelog = "https://github.com/XcodesOrg/xcodes/releases/tag/${finalAttrs.version}";
|
changelog = "https://github.com/XcodesOrg/xcodes/releases/tag/${finalAttrs.version}";
|
||||||
description = "Command-line tool to install and switch between multiple versions of Xcode";
|
description = "Command-line tool to install and switch between multiple versions of Xcode";
|
||||||
homepage = "https://github.com/XcodesOrg/xcodes";
|
homepage = "https://github.com/XcodesOrg/xcodes";
|
||||||
license = with licenses; [
|
license = with lib.licenses; [
|
||||||
mit
|
mit
|
||||||
# unxip
|
# unxip
|
||||||
lgpl3Only
|
lgpl3Only
|
||||||
];
|
];
|
||||||
maintainers = with maintainers; [ _0x120581f emilytrau ];
|
maintainers = with lib.maintainers; [
|
||||||
platforms = platforms.darwin;
|
_0x120581f
|
||||||
|
emilytrau
|
||||||
|
];
|
||||||
|
platforms = lib.platforms.darwin;
|
||||||
};
|
};
|
||||||
})
|
})
|
@ -35,6 +35,19 @@ let
|
|||||||
hash = "sha256-Hul2ELwnaDV8TDRMDXoFisle31GATDkf3PdkR2K9QTs=";
|
hash = "sha256-Hul2ELwnaDV8TDRMDXoFisle31GATDkf3PdkR2K9QTs=";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
bassmidi = {
|
||||||
|
h = "bassmidi.h";
|
||||||
|
version = "2.4.15.3";
|
||||||
|
so = {
|
||||||
|
i686_linux = "libs/x86/libbassmidi.so";
|
||||||
|
x86_64-linux = "libs/x86_64/libbassmidi.so";
|
||||||
|
armv7l-linux = "libs/armhf/libbassmidi.so";
|
||||||
|
aarch64-linux = "libs/aarch64/libbassmidi.so";
|
||||||
|
};
|
||||||
|
url = "https://web.archive.org/web/20240501180447/http://www.un4seen.com/files/bassmidi24-linux.zip";
|
||||||
|
hash = "sha256-HrF1chhGk32bKN3jwal44Tz/ENGe/zORsrLPeGAv1OE=";
|
||||||
|
};
|
||||||
|
|
||||||
bassmix = {
|
bassmix = {
|
||||||
h = "bassmix.h";
|
h = "bassmix.h";
|
||||||
version = "2.4.12";
|
version = "2.4.12";
|
||||||
|
@ -28,14 +28,14 @@
|
|||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "guidata";
|
pname = "guidata";
|
||||||
version = "3.6.3";
|
version = "3.7.1";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "PlotPyStack";
|
owner = "PlotPyStack";
|
||||||
repo = "guidata";
|
repo = "guidata";
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-KfeA6XNbzHZM4dyvAYlPOQIwWHwFT3Akj34zmgf8tb8=";
|
hash = "sha256-Qao10NyqFLysx/9AvORX+EIrQlnQJQhSYkVHeTwIutQ=";
|
||||||
};
|
};
|
||||||
|
|
||||||
build-system = [
|
build-system = [
|
||||||
|
@ -88,8 +88,6 @@ buildPythonPackage rec {
|
|||||||
postgresqlTestHook
|
postgresqlTestHook
|
||||||
];
|
];
|
||||||
|
|
||||||
pytestFlagsArray = [ "tests/unit_tests" ];
|
|
||||||
|
|
||||||
disabledTests = [
|
disabledTests = [
|
||||||
# test is flaky due to pydantic error on the exception
|
# test is flaky due to pydantic error on the exception
|
||||||
"test_doesnt_warn_valid_schema"
|
"test_doesnt_warn_valid_schema"
|
||||||
@ -116,9 +114,7 @@ buildPythonPackage rec {
|
|||||||
"tests/test_pregel.py"
|
"tests/test_pregel.py"
|
||||||
];
|
];
|
||||||
|
|
||||||
passthru = {
|
passthru.updateScript = langgraph-sdk.updateScript;
|
||||||
updateScript = langgraph-sdk.updateScript;
|
|
||||||
};
|
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "Build resilient language agents as graphs";
|
description = "Build resilient language agents as graphs";
|
||||||
|
@ -5,12 +5,13 @@
|
|||||||
buildPythonPackage,
|
buildPythonPackage,
|
||||||
fetchFromGitHub,
|
fetchFromGitHub,
|
||||||
pythonOlder,
|
pythonOlder,
|
||||||
|
setuptools,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "millheater";
|
pname = "millheater";
|
||||||
version = "0.11.8";
|
version = "0.12.0";
|
||||||
format = "setuptools";
|
pyproject = true;
|
||||||
|
|
||||||
disabled = pythonOlder "3.10";
|
disabled = pythonOlder "3.10";
|
||||||
|
|
||||||
@ -18,10 +19,12 @@ buildPythonPackage rec {
|
|||||||
owner = "Danielhiversen";
|
owner = "Danielhiversen";
|
||||||
repo = "pymill";
|
repo = "pymill";
|
||||||
rev = "refs/tags/${version}";
|
rev = "refs/tags/${version}";
|
||||||
hash = "sha256-BSrnUhe6SFtalUGldC24eJTqJAF5FdUWo3rwWNT1uCw=";
|
hash = "sha256-8PrTypJuWNuFz1NZLuyqOpWFsN5OLshj7S10YgcGusQ=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
build-system = [ setuptools ];
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
aiohttp
|
aiohttp
|
||||||
async-timeout
|
async-timeout
|
||||||
];
|
];
|
||||||
|
46
pkgs/development/python-modules/netifaces2/default.nix
Normal file
46
pkgs/development/python-modules/netifaces2/default.nix
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
buildPythonPackage,
|
||||||
|
rustPlatform,
|
||||||
|
fetchFromGitHub,
|
||||||
|
pythonOlder,
|
||||||
|
pytestCheckHook,
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
pname = "netifaces2";
|
||||||
|
version = "0.0.22";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "SamuelYvon";
|
||||||
|
repo = "netifaces-2";
|
||||||
|
rev = "refs/tags/V${version}";
|
||||||
|
hash = "sha256-XO3HWq8FOVzvpbK8mIBOup6hFMnhDpqOK/5bPziPZQ8=";
|
||||||
|
};
|
||||||
|
in
|
||||||
|
buildPythonPackage {
|
||||||
|
inherit pname version src;
|
||||||
|
pyproject = true;
|
||||||
|
|
||||||
|
disabled = pythonOlder "3.7";
|
||||||
|
|
||||||
|
cargoDeps = rustPlatform.fetchCargoTarball {
|
||||||
|
inherit pname version src;
|
||||||
|
hash = "sha256-dkqI0P61ciGqPtBc/6my7osaxxO9pEgovZhlpo1HdkU=";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = with rustPlatform; [
|
||||||
|
cargoSetupHook
|
||||||
|
maturinBuildHook
|
||||||
|
];
|
||||||
|
|
||||||
|
nativeCheckInputs = [ pytestCheckHook ];
|
||||||
|
pythonImportsCheck = [ "netifaces" ];
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Portable network interface information";
|
||||||
|
homepage = "https://github.com/SamuelYvon/netifaces-2";
|
||||||
|
license = with lib.licenses; [ mit ];
|
||||||
|
platforms = with lib.platforms; unix ++ windows;
|
||||||
|
maintainers = with lib.maintainers; [ pluiedev ];
|
||||||
|
};
|
||||||
|
}
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
buildFishPlugin rec {
|
buildFishPlugin rec {
|
||||||
pname = "bass";
|
pname = "bass";
|
||||||
version = "unstable-2021-02-18";
|
version = "1.0-unstable-2021-02-18";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "edc";
|
owner = "edc";
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
}:
|
}:
|
||||||
buildFishPlugin {
|
buildFishPlugin {
|
||||||
pname = "bobthefish";
|
pname = "bobthefish";
|
||||||
version = "unstable-2023-06-16";
|
version = "0-unstable-2023-06-16";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "oh-my-fish";
|
owner = "oh-my-fish";
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
}:
|
}:
|
||||||
buildFishPlugin {
|
buildFishPlugin {
|
||||||
pname = "bobthefisher";
|
pname = "bobthefisher";
|
||||||
version = "unstable-2023-10-25";
|
version = "0-unstable-2023-10-25";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "Scrumplex";
|
owner = "Scrumplex";
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
buildFishPlugin {
|
buildFishPlugin {
|
||||||
pname = "clownfish";
|
pname = "clownfish";
|
||||||
version = "unstable-2021-01-17";
|
version = "0-unstable-2021-01-17";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "IlanCosman";
|
owner = "IlanCosman";
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
buildFishPlugin rec {
|
buildFishPlugin rec {
|
||||||
pname = "colored-man-pages";
|
pname = "colored-man-pages";
|
||||||
version = "unstable-2022-04-30";
|
version = "0-unstable-2022-04-30";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "patrickf1";
|
owner = "patrickf1";
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
buildFishPlugin {
|
buildFishPlugin {
|
||||||
pname = "foreign-env";
|
pname = "foreign-env";
|
||||||
version = "unstable-2020-02-09";
|
version = "0-unstable-2020-02-09";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "oh-my-fish";
|
owner = "oh-my-fish";
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
}:
|
}:
|
||||||
buildFishPlugin rec {
|
buildFishPlugin rec {
|
||||||
pname = "fzf";
|
pname = "fzf";
|
||||||
version = "unstable-2021-05-12";
|
version = "0.16.6-unstable-2021-05-12";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "jethrokuan";
|
owner = "jethrokuan";
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
buildFishPlugin {
|
buildFishPlugin {
|
||||||
pname = "grc";
|
pname = "grc";
|
||||||
version = "unstable-2022-05-24";
|
version = "0-unstable-2022-05-24";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "oh-my-fish";
|
owner = "oh-my-fish";
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
}:
|
}:
|
||||||
buildFishPlugin rec {
|
buildFishPlugin rec {
|
||||||
pname = "humantime-fish";
|
pname = "humantime-fish";
|
||||||
version = "unstable-2022-04-08";
|
version = "1.0.0-unstable-2022-04-08";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "jorgebucaran";
|
owner = "jorgebucaran";
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
buildFishPlugin rec {
|
buildFishPlugin rec {
|
||||||
pname = "hydro";
|
pname = "hydro";
|
||||||
version = "unstable-2024-03-24";
|
version = "0-unstable-2024-03-24";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "jorgebucaran";
|
owner = "jorgebucaran";
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
}:
|
}:
|
||||||
buildFishPlugin rec {
|
buildFishPlugin rec {
|
||||||
pname = "z";
|
pname = "z";
|
||||||
version = "unstable-2022-04-08";
|
version = "0-unstable-2022-04-08";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "jethrokuan";
|
owner = "jethrokuan";
|
||||||
|
@ -2024,11 +2024,6 @@ with pkgs;
|
|||||||
|
|
||||||
xcodeenv = callPackage ../development/mobile/xcodeenv { };
|
xcodeenv = callPackage ../development/mobile/xcodeenv { };
|
||||||
|
|
||||||
xcodes = swiftPackages.callPackage ../development/tools/xcodes {
|
|
||||||
inherit (swiftPackages.apple_sdk.frameworks) CryptoKit LocalAuthentication;
|
|
||||||
inherit (swiftPackages.apple_sdk) libcompression;
|
|
||||||
};
|
|
||||||
|
|
||||||
gomobile = callPackage ../development/mobile/gomobile { };
|
gomobile = callPackage ../development/mobile/gomobile { };
|
||||||
|
|
||||||
titaniumenv = callPackage ../development/mobile/titaniumenv { };
|
titaniumenv = callPackage ../development/mobile/titaniumenv { };
|
||||||
@ -9945,6 +9940,7 @@ with pkgs;
|
|||||||
|
|
||||||
libbass = (callPackage ../development/libraries/audio/libbass { }).bass;
|
libbass = (callPackage ../development/libraries/audio/libbass { }).bass;
|
||||||
libbass_fx = (callPackage ../development/libraries/audio/libbass { }).bass_fx;
|
libbass_fx = (callPackage ../development/libraries/audio/libbass { }).bass_fx;
|
||||||
|
libbassmidi = (callPackage ../development/libraries/audio/libbass { }).bassmidi;
|
||||||
libbassmix = (callPackage ../development/libraries/audio/libbass { }).bassmix;
|
libbassmix = (callPackage ../development/libraries/audio/libbass { }).bassmix;
|
||||||
|
|
||||||
libbluray = callPackage ../development/libraries/libbluray {
|
libbluray = callPackage ../development/libraries/libbluray {
|
||||||
|
@ -9001,6 +9001,8 @@ self: super: with self; {
|
|||||||
|
|
||||||
netifaces = callPackage ../development/python-modules/netifaces { };
|
netifaces = callPackage ../development/python-modules/netifaces { };
|
||||||
|
|
||||||
|
netifaces2 = callPackage ../development/python-modules/netifaces2 { };
|
||||||
|
|
||||||
netmiko = callPackage ../development/python-modules/netmiko { };
|
netmiko = callPackage ../development/python-modules/netmiko { };
|
||||||
|
|
||||||
netio = callPackage ../development/python-modules/netio { };
|
netio = callPackage ../development/python-modules/netio { };
|
||||||
|
Loading…
Reference in New Issue
Block a user