Merge staging-next into staging
This commit is contained in:
@@ -24515,6 +24515,12 @@
|
||||
github = "peterablehmann";
|
||||
githubId = 36541313;
|
||||
};
|
||||
xiaoxiangmoe = {
|
||||
name = "ZHAO JinXiang";
|
||||
email = "xiaoxiangmoe@gmail.com";
|
||||
github = "xiaoxiangmoe";
|
||||
githubId = 8111351;
|
||||
};
|
||||
xinyangli = {
|
||||
email = "lixinyang411@gmail.com";
|
||||
matrix = "@me:xinyang.life";
|
||||
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
# Building Images with `nixos-rebuild build-image` {#sec-image-nixos-rebuild-build-image}
|
||||
|
||||
Nixpkgs contains a variety of modules to build custom images for different virtualization platforms and cloud providers, such as e.g. `amazon-image.nix` and `proxmox-lxc.nix`.
|
||||
|
||||
While those can be imported individually, `system.build.images` provides an attribute set mapping variant names to image derivations. Available variants are defined - end extendable - in `image.modules`, an attribute set mapping variant names to a list of NixOS modules.
|
||||
|
||||
All of those images can be built via both, their `system.build.image` attribute, and the CLI `nixos-rebuild build-image`. To build i.e. an Amazon image from your existing NixOS configuration:
|
||||
|
||||
```ShellSession
|
||||
$ nixos-rebuild build-image --image-variant amazon
|
||||
$ ls result
|
||||
nixos-image-amazon-25.05pre-git-x86_64-linux.vhd nix-support
|
||||
```
|
||||
|
||||
To get a list of all variants available, run `nixos-rebuild build-image` without arguments.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Building a NixOS (Live) ISO {#sec-building-image}
|
||||
|
||||
Default live installer configurations are available inside `nixos/modules/installer/cd-dvd`.
|
||||
For building other system images, [nixos-generators] is a good place to start looking at.
|
||||
For building other system images, see [Building Images with `nixos-rebuild build-image`](#sec-image-nixos-rebuild-build-image).
|
||||
|
||||
You have two options:
|
||||
|
||||
@@ -14,8 +14,6 @@ on which they immediately depend in order to work correctly.
|
||||
However, if you are confident, you can opt to override those
|
||||
enforced values with `mkForce`.
|
||||
|
||||
[nixos-generators]: https://github.com/nix-community/nixos-generators
|
||||
|
||||
## Practical Instructions {#sec-building-image-instructions}
|
||||
|
||||
To build an ISO image for the channel `nixos-unstable`:
|
||||
@@ -30,7 +28,7 @@ $ nix-build -A config.system.build.isoImage -I nixos-config=modules/installer/cd
|
||||
To check the content of an ISO image, mount it like so:
|
||||
|
||||
```ShellSession
|
||||
# mount -o loop -t iso9660 ./result/iso/cd.iso /mnt/iso
|
||||
# mount -o loop -t iso9660 ./result/iso/nixos-image-25.05pre-git-x86_64-linux.iso /mnt/iso
|
||||
```
|
||||
|
||||
## Additional drivers or firmware {#sec-building-image-drivers}
|
||||
|
||||
@@ -8,5 +8,6 @@ installing.chapter.md
|
||||
changing-config.chapter.md
|
||||
upgrading.chapter.md
|
||||
building-nixos.chapter.md
|
||||
building-images-via-nixos-rebuild-build-image.chapter.md
|
||||
building-images-via-systemd-repart.chapter.md
|
||||
```
|
||||
|
||||
@@ -167,6 +167,9 @@
|
||||
"sec-building-image-tech-notes": [
|
||||
"index.html#sec-building-image-tech-notes"
|
||||
],
|
||||
"sec-image-nixos-rebuild-build-image": [
|
||||
"index.html#sec-image-nixos-rebuild-build-image"
|
||||
],
|
||||
"sec-image-repart": [
|
||||
"index.html#sec-image-repart"
|
||||
],
|
||||
|
||||
@@ -19,6 +19,10 @@
|
||||
- The default PHP version has been updated to 8.3.
|
||||
|
||||
- `nixos-rebuild-ng`, a full rewrite of `nixos-rebuild` in Python, is available for testing. You can enable it by setting [system.rebuild.enableNg](options.html#opt-system.rebuild.enableNg) in your configuration (this will replace the old `nixos-rebuild`), or by adding `nixos-rebuild-ng` to your `environment.systemPackages` (in this case, it will live side-by-side with `nixos-rebuild` as `nixos-rebuild-ng`). It is expected that the next major version of NixOS (25.11) will enable `system.rebuild.enableNg` by default.
|
||||
- A `nixos-rebuild build-image` sub-command has been added.
|
||||
|
||||
It allows users to build platform-specific (disk) images from their NixOS configurations. `nixos-rebuild build-image` works similar to the popular [nix-community/nixos-generators](https://github.com/nix-community/nixos-generators) project. See new [section on image building in the nixpkgs manual](https://nixos.org/manual/nixpkgs/unstable/#sec-image-nixos-rebuild-build-image).
|
||||
|
||||
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
|
||||
|
||||
## New Modules {#sec-release-25.05-new-modules}
|
||||
@@ -143,6 +147,32 @@
|
||||
|
||||
- `python3Packages.opentracing` has been removed due to being unmaintained upstream. [OpenTelemetry](https://opentelemetry.io/) is the recommended replacement.
|
||||
|
||||
- Default file names of images generated by several builders in `system.build` have been changed as outlined in the table below.
|
||||
|
||||
Names are now known at evaluation time and customizable via the new options `image.baseName`, `image.extension`, `image.fileName` and `image.filePath` with the latter returning a path relative to the derivations out path (e.g. `iso/${image.fileName` for iso images).
|
||||
|
||||
| `system.build` Option | Old Filename | New Filename |
|
||||
|--------------------------+------------------------------------------------------------+-----------------------------------------------------------------|
|
||||
| amazonImage | nixos-amazon-image-25.05pre-git-x86_64-linux.vhd | nixos-image-amazon-25.05pre-git-x86_64-linux.vhd |
|
||||
| azureImage | disk.vhd | nixos-image-azure-25.05pre-git-x86_64-linux.vhd |
|
||||
| digitalOceanImage | nixos.qcow2.gz | nixos-image-digital-ocean-25.05pre-git-x86_64-linux.qcow2.gz |
|
||||
| googleComputeImage | nixos-image-25.05pre-git-x86_64-linux.raw.tar.gz | nixos-image-google-compute-25.05pre-git-x86_64-linux.raw.tar.gz |
|
||||
| hypervImage | nixos-25.05pre-git-x86_64-linux.vhdx | nixos-image-hyperv-25.05pre-git-x86_64-linux.vhdx |
|
||||
| isoImage (installer) | nixos-25.05pre-git-x86_64-linux.iso | nixos-image-25.05pre-git-x86_64-linux.iso |
|
||||
| isoImage | nixos.iso | nixos-image-25.05pre-git-x86_64-linux.iso |
|
||||
| kubevirtImage | nixos.qcow2 | nixos-image-kubevirt-25.05pre-git-x86_64-linux.qcow2 |
|
||||
| linodeImage | nixos-image-25.05pre-git-x86_64-linux.img.gz | nixos-image-linode-25.05pre-git-x86_64-linux.img.gz |
|
||||
| metadata (lxc-container) | nixos-system-x86_64-linux.tar.xz | nixos-image-lxc-metadata-25.05pre-git-x86_64-linux.tar.xz |
|
||||
| OCIImage | nixos.qcow2 | nixos-image-oci-25.05pre-git-x86_64-linux.qcow2 |
|
||||
| openstackImage (zfs) | nixos-openstack-image-25.05pre-git-x86_64-linux.root.qcow2 | nixos-image-openstack-zfs-25.05pre-git-x86_64-linux.root.qcow2 |
|
||||
| openstackImage | nixos.qcow2 | nixos-image-openstack-25.05pre-git-x86_64-linux.qcow2 |
|
||||
| sdImage | nixos-sd-image-25.05pre-git-x86_64-linux.img.zst | nixos-image-sd-card-25.05pre-git-x86_64-linux.img.zst |
|
||||
| tarball (lxc-container) | nixos-system-x86_64-linux.tar.xz | nixos-image-lxc-25.05pre-git-x86_64-linux.tar.xz |
|
||||
| tarball (proxmox-lxc) | nixos-system-x86_64-linux.tar.xz | nixos-image-lxc-proxmox-25.05pre-git-x86_64-linux.tar.xz |
|
||||
| vagrantVirtualbox | nixos-25.05pre-git-x86_64-linux.ova | nixos-image-virtualbox-25.05pre-git-x86_64-linux.ova |
|
||||
| virtualBoxOVA | virtualbox-vagrant.box | nixos-image-vagrant-virtualbox-25.05pre-git-x86_64-linux.ova |
|
||||
| vmwareImage | nixos-25.05pre-git-x86_64-linux.vmdk | nixos-image-vmware-25.05pre-git-x86_64-linux.vmdk |
|
||||
|
||||
- the notmuch vim plugin now lives in a separate output of the `notmuch`
|
||||
package. Installing `notmuch` will not bring the notmuch vim package anymore,
|
||||
add `vimPlugins.notmuch-vim` to your (Neo)vim configuration if you want the
|
||||
|
||||
@@ -18,10 +18,10 @@ nix run nixpkgs#upload-ami -- --image-info ./result/nix-support/image-info.json
|
||||
|
||||
## How to build your own NixOS config into an AMI
|
||||
|
||||
I suggest looking at https://github.com/nix-community/nixos-generators for a user-friendly interface.
|
||||
Use `nixos-rebuild build-image` as follows:
|
||||
|
||||
```bash
|
||||
nixos-generate -c ./my-config.nix -f amazon
|
||||
NIXOS_CONFIG="$(pwd)/my-config.nix" nixos-rebuild build-image --image-variant amazon
|
||||
|
||||
export AWS_REGION=us-west-2
|
||||
export AWS_PROFILE=my-profile
|
||||
|
||||
@@ -162,7 +162,7 @@ let
|
||||
'';
|
||||
|
||||
compressFirmware = firmware:
|
||||
if config.hardware.firmwareCompression == "none" || (firmware.compressFirmware or false) == false then firmware
|
||||
if config.hardware.firmwareCompression == "none" || (firmware.compressFirmware or true) == false then firmware
|
||||
else if config.hardware.firmwareCompression == "zstd" then pkgs.compressFirmwareZstd firmware
|
||||
else pkgs.compressFirmwareXz firmware;
|
||||
|
||||
|
||||
@@ -18,13 +18,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "tageditor";
|
||||
version = "3.9.3";
|
||||
version = "3.9.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "martchus";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-KAtOnTf3foOILDfTjVpkCOG6jsyS5fv0/Wv9Zcut2oE=";
|
||||
hash = "sha256-VRQV4bTPG4VFhRHFJamUnYd04ZCaNpaxU27Jcl6Chc4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -3246,8 +3246,8 @@ let
|
||||
mktplcRef = {
|
||||
name = "compare-folders";
|
||||
publisher = "moshfeu";
|
||||
version = "0.24.3";
|
||||
hash = "sha256-eaumF2BIqEYoyL7LQ0Wx3+gkkFGpWKQoN3AisI8wTQY=";
|
||||
version = "0.25.1";
|
||||
hash = "sha256-axNTdnSkMkFs7LSZCc7VinjbrDncsRHlRtDG9+eh2qQ=";
|
||||
};
|
||||
|
||||
meta = {
|
||||
@@ -5333,8 +5333,8 @@ let
|
||||
mktplcRef = {
|
||||
name = "vscode-icons";
|
||||
publisher = "vscode-icons-team";
|
||||
version = "12.9.0";
|
||||
hash = "sha256-ULjZlbGcVbPiokfnx7d4z7cmVVEfy2d+SUch80rZRA4=";
|
||||
version = "12.10.0";
|
||||
hash = "sha256-GNDLuszuJN3P0V25F4gm7yUJsFEQgFMMPMTFLWLIvSo=";
|
||||
};
|
||||
meta = {
|
||||
description = "Bring real icons to your Visual Studio Code";
|
||||
|
||||
@@ -36,7 +36,7 @@ let
|
||||
stripRoot = false;
|
||||
};
|
||||
|
||||
version = "3.3.1";
|
||||
version = "3.4.0";
|
||||
in
|
||||
|
||||
python3.pkgs.buildPythonApplication {
|
||||
@@ -46,7 +46,7 @@ python3.pkgs.buildPythonApplication {
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/qutebrowser/qutebrowser/releases/download/v${version}/qutebrowser-${version}.tar.gz";
|
||||
hash = "sha256-qttkrMxzC8mhXONByaBYCx82OD7Uh09U0xzh2r6U4Xo=";
|
||||
hash = "sha256-gUEkwO0zdDDmE6HaNm1eOJBMsgSa+xUFlxRWylymIj4=";
|
||||
};
|
||||
|
||||
# Needs tox
|
||||
|
||||
@@ -5,16 +5,16 @@
|
||||
}:
|
||||
buildGoModule rec {
|
||||
pname = "helm-dt";
|
||||
version = "0.4.1";
|
||||
version = "0.4.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "vmware-labs";
|
||||
repo = "distribution-tooling-for-helm";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-KrQAlB0ORNzKIG2vxych3gVBytTh3Hhnjsyn1ia1ZQM=";
|
||||
hash = "sha256-m+XTR+LYTXeDTqo/deFAIQjbUqGn6yD/n5cQvJ+jKPc=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-T8Kk+9NAhYOvSq94HOEE53BT7Xh9tU1gJ420o/tiVEo=";
|
||||
vendorHash = "sha256-rovAY4G4ew6JhehyXMz7cDKSEsHu0IQwaNYvClDog2s=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
traefik-crd = {
|
||||
url = "https://k3s.io/k3s-charts/assets/traefik-crd/traefik-crd-27.0.201+up27.0.2.tgz";
|
||||
sha256 = "0vwprcb60y15sc4lmi58gl1zr3yhsq43jlbsfm7gs20ci90frv16";
|
||||
};
|
||||
traefik = {
|
||||
url = "https://k3s.io/k3s-charts/assets/traefik/traefik-27.0.201+up27.0.2.tgz";
|
||||
sha256 = "12dp1r82qfzqfzs4sfxc54rnw8kv42a3w4gpk5v3qkhqm6fkrnn1";
|
||||
};
|
||||
}
|
||||
@@ -1,18 +0,0 @@
|
||||
{
|
||||
"airgap-images-amd64": {
|
||||
"url": "https://github.com/k3s-io/k3s/releases/download/v1.28.15%2Bk3s1/k3s-airgap-images-amd64.tar.zst",
|
||||
"sha256": "0p14llji8m1pfi289w29smx6sbad6qhgxk9drwlyrfdywrhd04ly"
|
||||
},
|
||||
"airgap-images-arm": {
|
||||
"url": "https://github.com/k3s-io/k3s/releases/download/v1.28.15%2Bk3s1/k3s-airgap-images-arm.tar.zst",
|
||||
"sha256": "054apgl2al8822f399ir81jbid9mfs27d4by7xkkpdbqr3fywbr6"
|
||||
},
|
||||
"airgap-images-arm64": {
|
||||
"url": "https://github.com/k3s-io/k3s/releases/download/v1.28.15%2Bk3s1/k3s-airgap-images-arm64.tar.zst",
|
||||
"sha256": "19hzamg68zc1k90a9m6p2jnpy2p7v437kvgqsw198bhy796f6asb"
|
||||
},
|
||||
"images-list": {
|
||||
"url": "https://github.com/k3s-io/k3s/releases/download/v1.28.15%2Bk3s1/k3s-images.txt",
|
||||
"sha256": "05229bfg174pvy525dcy7rvmgv9i9v1nnz5ngq80n7zkxj9cp8m8"
|
||||
}
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
{
|
||||
k3sVersion = "1.28.15+k3s1";
|
||||
k3sCommit = "869dd4d62626f5ba4afe3a923d77b2047c565a43";
|
||||
k3sRepoSha256 = "1nijdii01004v2cgpaw0xnzyrljd4iw00wca1lg6szhqmj28gcfv";
|
||||
k3sVendorHash = "sha256-zWBMZrpRJzzc4yAIWAnWnmVE7qr7bscJjHrHdDD0Ilg=";
|
||||
chartVersions = import ./chart-versions.nix;
|
||||
imagesVersions = builtins.fromJSON (builtins.readFile ./images-versions.json);
|
||||
k3sRootVersion = "0.14.0";
|
||||
k3sRootSha256 = "15cs9faw3jishsb5nhgmb5ldjc47hkwf7hz2126fp8ahf80m0fcl";
|
||||
k3sCNIVersion = "1.5.1-k3s1";
|
||||
k3sCNISha256 = "1bkz78p77aiw64hdvmlgc5zir9x8zha8qprfaab48jxbcsj3dfi7";
|
||||
containerdVersion = "1.7.22-k3s1.28";
|
||||
containerdSha256 = "0jpq03n5q8aydw4y14w9fl4fqixpdcw42gwvmsp3z3qplbvwkfkl";
|
||||
criCtlVersion = "1.26.0-rc.0-k3s1";
|
||||
}
|
||||
@@ -12,17 +12,6 @@ let
|
||||
extraArgs = builtins.removeAttrs args [ "callPackage" ];
|
||||
in
|
||||
{
|
||||
# 1_28 can be built with the same builder as 1_30
|
||||
k3s_1_28 = common (
|
||||
(import ./1_28/versions.nix)
|
||||
// {
|
||||
updateScript = [
|
||||
./update-script.sh
|
||||
"28"
|
||||
];
|
||||
}
|
||||
) extraArgs;
|
||||
|
||||
# 1_29 can be built with the same builder as 1_30
|
||||
k3s_1_29 = common (
|
||||
(import ./1_29/versions.nix)
|
||||
|
||||
@@ -24,7 +24,7 @@ rustPlatform.buildRustPackage {
|
||||
inherit version src;
|
||||
sourceRoot = "${src.name}/coolercontrol-ui/src-tauri";
|
||||
|
||||
cargoHash = "sha256-nS67ABuI2/C08X+TWWoOx7bptIPF1fsvBC1Ucoky1/4=";
|
||||
cargoHash = "sha256-gjR54dZjVonyznfBGb3iNNdmPalE+a53MmkOEZj3+sY=";
|
||||
|
||||
buildFeatures = [ "custom-protocol" ];
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ buildNpmPackage {
|
||||
inherit version src;
|
||||
sourceRoot = "${src.name}/coolercontrol-ui";
|
||||
|
||||
npmDepsHash = "sha256-j+bGOGIG9H/1z0dN8BfvWSi6gPvYmCV7l0ZNH8h3yeU=";
|
||||
npmDepsHash = "sha256-t+QShKaXpQuEzeeu/ljBBEzeYsxqvMpx5waDZ2gyPAI=";
|
||||
|
||||
preBuild = ''
|
||||
autoPatchelf node_modules/sass-embedded-linux-x64/dart-sass/src/dart
|
||||
|
||||
@@ -18,7 +18,7 @@ rustPlatform.buildRustPackage {
|
||||
sourceRoot = "${src.name}/coolercontrold";
|
||||
|
||||
useFetchCargoVendor = true;
|
||||
cargoHash = "sha256-ZAjaegUgNkKygXqskyeUkWpcqi1Jt7pE8GtqWlaP6/I=";
|
||||
cargoHash = "sha256-5gqtSZs/unFobEl1MHec2uhGDrWnO6ITlYbB78VasZg=";
|
||||
|
||||
buildInputs = [ libdrm ];
|
||||
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
}:
|
||||
|
||||
let
|
||||
version = "1.4.4";
|
||||
version = "1.4.5";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "coolercontrol";
|
||||
repo = "coolercontrol";
|
||||
rev = version;
|
||||
hash = "sha256-9l10X4uDv3KJz582QQMhqh38bwDtQVHm9HdAVNC6Kfg=";
|
||||
hash = "sha256-lRw5IcSrLM6aUajt2Ny1IUuGYcAjY1oUDZENyz0wVJI=";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
use anyhow::bail;
|
||||
use backoff::{retry, ExponentialBackoff};
|
||||
use data_encoding::BASE64;
|
||||
use digest::Digest;
|
||||
@@ -6,7 +5,6 @@ use isahc::{
|
||||
config::{CaCertificate, Configurable, RedirectPolicy, SslOption},
|
||||
Body, Request, RequestExt,
|
||||
};
|
||||
use log::info;
|
||||
use nix_nar::{Encoder, NarError};
|
||||
use serde_json::{Map, Value};
|
||||
use sha2::Sha256;
|
||||
@@ -17,7 +15,7 @@ use std::{
|
||||
};
|
||||
use url::Url;
|
||||
|
||||
pub fn get_url(url: &Url) -> Result<Body, anyhow::Error> {
|
||||
pub fn get_url(url: &Url) -> Result<Body, isahc::Error> {
|
||||
let mut request = Request::get(url.as_str()).redirect_policy(RedirectPolicy::Limit(10));
|
||||
|
||||
// Respect SSL_CERT_FILE if environment variable exists
|
||||
@@ -39,27 +37,16 @@ pub fn get_url(url: &Url) -> Result<Body, anyhow::Error> {
|
||||
if let Ok(npm_tokens) = env::var("NIX_NPM_TOKENS") {
|
||||
if let Ok(tokens) = serde_json::from_str::<Map<String, Value>>(&npm_tokens) {
|
||||
if let Some(token) = tokens.get(host).and_then(serde_json::Value::as_str) {
|
||||
info!("Found NPM token for {}. Adding authorization header to request.", host);
|
||||
request = request.header("Authorization", format!("Bearer {token}"));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
let res = request.body(())?.send()?;
|
||||
if !res.status().is_success() {
|
||||
if res.status().is_client_error() {
|
||||
bail!("Client error: {}", res.status());
|
||||
}
|
||||
if res.status().is_server_error() {
|
||||
bail!("Server error: {}", res.status());
|
||||
}
|
||||
bail!("{}", res.status());
|
||||
}
|
||||
Ok(res.into_body())
|
||||
Ok(request.body(())?.send()?.into_body())
|
||||
}
|
||||
|
||||
pub fn get_url_body_with_retry(url: &Url) -> Result<Vec<u8>, anyhow::Error> {
|
||||
pub fn get_url_body_with_retry(url: &Url) -> Result<Vec<u8>, isahc::Error> {
|
||||
retry(ExponentialBackoff::default(), || {
|
||||
get_url(url)
|
||||
.and_then(|mut body| {
|
||||
@@ -69,15 +56,12 @@ pub fn get_url_body_with_retry(url: &Url) -> Result<Vec<u8>, anyhow::Error> {
|
||||
|
||||
Ok(buf)
|
||||
})
|
||||
.map_err(|err| match err.downcast_ref::<isahc::Error>() {
|
||||
Some(isahc_err) => {
|
||||
if isahc_err.is_network() || isahc_err.is_timeout() {
|
||||
backoff::Error::transient(err)
|
||||
} else {
|
||||
backoff::Error::permanent(err)
|
||||
}
|
||||
.map_err(|err| {
|
||||
if err.is_network() || err.is_timeout() {
|
||||
backoff::Error::transient(err)
|
||||
} else {
|
||||
backoff::Error::permanent(err)
|
||||
}
|
||||
None => backoff::Error::permanent(err),
|
||||
})
|
||||
})
|
||||
.map_err(|backoff_err| match backoff_err {
|
||||
|
||||
@@ -0,0 +1,144 @@
|
||||
{
|
||||
copyDesktopItems,
|
||||
electron,
|
||||
fetchFromGitHub,
|
||||
fetchurl,
|
||||
lib,
|
||||
makeDesktopItem,
|
||||
makeWrapper,
|
||||
stdenvNoCC,
|
||||
unzip,
|
||||
buildType ? "stable",
|
||||
commandLineArgs ? "",
|
||||
}:
|
||||
let
|
||||
hostPlatform = stdenvNoCC.hostPlatform;
|
||||
nodePlatform = hostPlatform.parsed.kernel.name; # nodejs's `process.platform`
|
||||
nodeArch = # nodejs's `process.arch`
|
||||
{
|
||||
"x86_64" = "x64";
|
||||
"aarch64" = "arm64";
|
||||
}
|
||||
.${hostPlatform.parsed.cpu.name}
|
||||
or (throw "affine-bin(${buildType}): unsupported CPU family ${hostPlatform.parsed.cpu.name}");
|
||||
in
|
||||
stdenvNoCC.mkDerivation (
|
||||
finalAttrs:
|
||||
(
|
||||
{
|
||||
# https://github.com/toeverything/AFFiNE/releases/tag/v0.18.1
|
||||
version = "0.18.1";
|
||||
githubSourceCode = fetchFromGitHub {
|
||||
owner = "toeverything";
|
||||
repo = "AFFiNE";
|
||||
rev = "8b066a4b398aace25a20508a8e3c1a381721971f";
|
||||
hash = "sha256-TWwojG3lqQlQFX3BKoFjJ27a3T/SawXgNDO6fP6gW4k=";
|
||||
};
|
||||
productName = if buildType == "stable" then "AFFiNE" else "AFFiNE-" + buildType;
|
||||
binName = lib.toLower finalAttrs.productName;
|
||||
pname = "${finalAttrs.binName}-bin";
|
||||
meta =
|
||||
{
|
||||
description = "Workspace with fully merged docs, whiteboards and databases";
|
||||
longDescription = ''
|
||||
AFFiNE is an open-source, all-in-one workspace and an operating
|
||||
system for all the building blocks that assemble your knowledge
|
||||
base and much more -- wiki, knowledge management, presentation
|
||||
and digital assets
|
||||
'';
|
||||
homepage = "https://affine.pro/";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [
|
||||
richar
|
||||
redyf
|
||||
xiaoxiangmoe
|
||||
];
|
||||
platforms = [
|
||||
"aarch64-darwin"
|
||||
"x86_64-darwin"
|
||||
"x86_64-linux"
|
||||
];
|
||||
sourceProvenance = [ lib.sourceTypes.binaryBytecode ];
|
||||
}
|
||||
// lib.optionalAttrs hostPlatform.isLinux {
|
||||
mainProgram = finalAttrs.binName;
|
||||
};
|
||||
|
||||
src = (
|
||||
let
|
||||
inherit (finalAttrs) version;
|
||||
affinePrebuiltBinariesHashes = {
|
||||
darwin-arm64 = "I8lOO97MNLkha0utWPAP4EKv9HiPMWpLi2ibvXjzjhdl7abgSPmMKbv1dGHxMzgMzGbDzhzKqzhYtJI+0Asfzw==";
|
||||
darwin-x64 = "LZdd7yHJx9Hx0Po8NQgeDp0BhIyXGr0QsbF6bWP5pS08c4fdtE9UzNPfJGfzz/snTkWfKMQZop0Ea4fYGosr1Q==";
|
||||
linux-x64 = "+impaFLuvcfpj4QjHwjZ06+fUpsxxRlk4eWO6+E4xkBMrV43gwZGeSeAw2pMgXogRGb/Oy6XUoA7o8tTQt9J6A==";
|
||||
};
|
||||
platform = if hostPlatform.isLinux then "linux" else "macos";
|
||||
in
|
||||
fetchurl {
|
||||
# example: https://github.com/toeverything/AFFiNE/releases/download/v0.18.1/affine-0.18.1-stable-darwin-arm64.zip
|
||||
url = "https://github.com/toeverything/AFFiNE/releases/download/v${version}/affine-${version}-${buildType}-${platform}-${nodeArch}.zip";
|
||||
sha512 = affinePrebuiltBinariesHashes."${nodePlatform}-${nodeArch}";
|
||||
}
|
||||
);
|
||||
|
||||
nativeBuildInputs =
|
||||
[
|
||||
unzip
|
||||
]
|
||||
++ lib.optionals hostPlatform.isLinux [
|
||||
copyDesktopItems
|
||||
makeWrapper
|
||||
];
|
||||
|
||||
installPhase =
|
||||
let
|
||||
inherit (finalAttrs) binName productName;
|
||||
in
|
||||
if hostPlatform.isDarwin then
|
||||
''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/Applications
|
||||
cd ..
|
||||
mv ${productName}.app $out/Applications
|
||||
|
||||
runHook postInstall
|
||||
''
|
||||
else
|
||||
''
|
||||
runHook preInstall
|
||||
|
||||
mkdir --parents $out/lib/${binName}/
|
||||
mv ./{resources,LICENSE*} $out/lib/${binName}/
|
||||
install -Dm644 "${finalAttrs.githubSourceCode}/packages/frontend/apps/electron/resources/icons/icon_${buildType}_64x64.png" $out/share/icons/hicolor/64x64/apps/${binName}.png
|
||||
|
||||
makeWrapper "${electron}/bin/electron" $out/bin/${binName} \
|
||||
--inherit-argv0 \
|
||||
--add-flags $out/lib/${binName}/resources/app.asar \
|
||||
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}" \
|
||||
--add-flags ${lib.escapeShellArg commandLineArgs}
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
}
|
||||
// lib.optionalAttrs hostPlatform.isLinux {
|
||||
desktopItems =
|
||||
let
|
||||
inherit (finalAttrs) binName productName;
|
||||
in
|
||||
[
|
||||
(makeDesktopItem {
|
||||
name = binName;
|
||||
desktopName = productName;
|
||||
comment = "AFFiNE Desktop App";
|
||||
exec = "${binName} %U";
|
||||
terminal = false;
|
||||
icon = binName;
|
||||
startupWMClass = binName;
|
||||
categories = [ "Utility" ];
|
||||
mimeTypes = [ "x-scheme-handler/${binName}" ];
|
||||
})
|
||||
];
|
||||
}
|
||||
)
|
||||
)
|
||||
@@ -1,75 +1,244 @@
|
||||
{
|
||||
lib,
|
||||
fetchurl,
|
||||
stdenvNoCC,
|
||||
cacert,
|
||||
cargo,
|
||||
copyDesktopItems,
|
||||
electron_33,
|
||||
fetchFromGitHub,
|
||||
fetchurl,
|
||||
findutils,
|
||||
jq,
|
||||
lib,
|
||||
makeDesktopItem,
|
||||
makeWrapper,
|
||||
unzip,
|
||||
electron,
|
||||
nodejs_20,
|
||||
rsync,
|
||||
rustPlatform,
|
||||
rustc,
|
||||
stdenv,
|
||||
stdenvNoCC,
|
||||
yarn,
|
||||
zip,
|
||||
buildType ? "stable",
|
||||
commandLineArgs ? "",
|
||||
}:
|
||||
|
||||
stdenvNoCC.mkDerivation (
|
||||
let
|
||||
hostPlatform = stdenvNoCC.hostPlatform;
|
||||
nodePlatform = hostPlatform.parsed.kernel.name; # nodejs's `process.platform`
|
||||
nodeArch = # nodejs's `process.arch`
|
||||
{
|
||||
"x86_64" = "x64";
|
||||
"aarch64" = "arm64";
|
||||
}
|
||||
.${hostPlatform.parsed.cpu.name}
|
||||
or (throw "affine(${buildType}): unsupported CPU family ${hostPlatform.parsed.cpu.name}");
|
||||
electron = electron_33;
|
||||
in
|
||||
stdenv.mkDerivation (
|
||||
finalAttrs:
|
||||
let
|
||||
icon = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/toeverything/AFFiNE/v${finalAttrs.version}/packages/frontend/core/public/favicon-192.png";
|
||||
hash = "sha256-smZ5W7fy3TK3bvjwV4i71j2lVmKSZcyhMhcWfPxNnN4=";
|
||||
};
|
||||
in
|
||||
{
|
||||
pname = "affine";
|
||||
version = "0.17.5";
|
||||
src = fetchurl {
|
||||
url = "https://github.com/toeverything/AFFiNE/releases/download/v${finalAttrs.version}/affine-${finalAttrs.version}-stable-linux-x64.zip";
|
||||
hash = "sha256-lK5DDI9CKRneY4AwMI4r1qlGyYtQG4Xi8Ys4I3jawTk=";
|
||||
};
|
||||
nativeBuildInputs = [
|
||||
copyDesktopItems
|
||||
makeWrapper
|
||||
unzip
|
||||
];
|
||||
postInstall = ''
|
||||
mkdir -p $out/lib
|
||||
cp -r ./resources/* -t $out/lib/
|
||||
mkdir -p $out/share/doc/affine/
|
||||
cp LICENSE* $out/share/doc/affine/
|
||||
install -Dm644 ${icon} $out/share/pixmaps/affine.png
|
||||
makeWrapper "${electron}/bin/electron" $out/bin/affine \
|
||||
--inherit-argv0 \
|
||||
--add-flags $out/lib/app.asar \
|
||||
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}" \
|
||||
--add-flags ${lib.escapeShellArg commandLineArgs}
|
||||
'';
|
||||
desktopItems = [
|
||||
(makeDesktopItem {
|
||||
name = "affine";
|
||||
desktopName = "AFFiNE";
|
||||
exec = "affine %U";
|
||||
terminal = false;
|
||||
icon = "affine";
|
||||
startupWMClass = "affine";
|
||||
categories = [ "Utility" ];
|
||||
})
|
||||
];
|
||||
meta = {
|
||||
description = "Workspace with fully merged docs, whiteboards and databases";
|
||||
longDescription = ''
|
||||
AFFiNE is an open-source, all-in-one workspace and an operating
|
||||
system for all the building blocks that assemble your knowledge
|
||||
base and much more -- wiki, knowledge management, presentation
|
||||
and digital assets
|
||||
(
|
||||
{
|
||||
productName = if buildType == "stable" then "AFFiNE" else "AFFiNE-" + buildType;
|
||||
binName = lib.toLower finalAttrs.productName;
|
||||
pname = finalAttrs.binName;
|
||||
|
||||
# https://github.com/toeverything/AFFiNE/releases/tag/v0.18.1
|
||||
version = "0.18.1";
|
||||
GITHUB_SHA = "8b066a4b398aace25a20508a8e3c1a381721971f";
|
||||
src = fetchFromGitHub {
|
||||
owner = "toeverything";
|
||||
repo = "AFFiNE";
|
||||
rev = finalAttrs.GITHUB_SHA;
|
||||
hash = "sha256-TWwojG3lqQlQFX3BKoFjJ27a3T/SawXgNDO6fP6gW4k=";
|
||||
};
|
||||
|
||||
meta =
|
||||
{
|
||||
description = "Workspace with fully merged docs, whiteboards and databases";
|
||||
longDescription = ''
|
||||
AFFiNE is an open-source, all-in-one workspace and an operating
|
||||
system for all the building blocks that assemble your knowledge
|
||||
base and much more -- wiki, knowledge management, presentation
|
||||
and digital assets
|
||||
'';
|
||||
homepage = "https://affine.pro/";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ xiaoxiangmoe ];
|
||||
platforms = [
|
||||
"aarch64-darwin"
|
||||
"aarch64-linux"
|
||||
"x86_64-darwin"
|
||||
"x86_64-linux"
|
||||
];
|
||||
sourceProvenance = [ lib.sourceTypes.fromSource ];
|
||||
}
|
||||
// lib.optionalAttrs hostPlatform.isLinux {
|
||||
mainProgram = finalAttrs.binName;
|
||||
};
|
||||
|
||||
env = {
|
||||
BUILD_TYPE = buildType;
|
||||
};
|
||||
cargoDeps = rustPlatform.fetchCargoVendor {
|
||||
src = finalAttrs.src;
|
||||
hash = "sha256-5s/X9CD/H9rSn7SqMHioLg1KRP7y9fsozdFRY3hNiP8=";
|
||||
};
|
||||
yarnOfflineCache = stdenvNoCC.mkDerivation {
|
||||
name = "yarn-offline-cache";
|
||||
src = finalAttrs.src;
|
||||
nativeBuildInputs = [
|
||||
yarn
|
||||
cacert
|
||||
];
|
||||
supportedArchitectures = builtins.toJSON {
|
||||
os = [
|
||||
"darwin"
|
||||
"linux"
|
||||
];
|
||||
cpu = [
|
||||
"arm64"
|
||||
"x64"
|
||||
];
|
||||
libc = [
|
||||
"glibc"
|
||||
"musl"
|
||||
];
|
||||
};
|
||||
buildPhase = ''
|
||||
export HOME="$NIX_BUILD_TOP"
|
||||
export CI=1
|
||||
|
||||
mkdir -p $out
|
||||
yarn config set enableTelemetry false
|
||||
yarn config set cacheFolder $out
|
||||
yarn config set enableGlobalCache false
|
||||
yarn config set supportedArchitectures --json "$supportedArchitectures"
|
||||
|
||||
yarn install --immutable --mode=skip-build
|
||||
'';
|
||||
dontInstall = true;
|
||||
outputHashMode = "recursive";
|
||||
outputHash = "sha256-HueTia+1ApfvbBK/b+iE84TB1DCWIDLoQ9XhjYlGCUs=";
|
||||
};
|
||||
nativeBuildInputs =
|
||||
[
|
||||
nodejs_20
|
||||
yarn
|
||||
cargo
|
||||
rustc
|
||||
findutils
|
||||
zip
|
||||
jq
|
||||
rsync
|
||||
]
|
||||
++ lib.optionals hostPlatform.isLinux [
|
||||
copyDesktopItems
|
||||
makeWrapper
|
||||
];
|
||||
|
||||
patchPhase = ''
|
||||
runHook prePatchPhase
|
||||
|
||||
sed -i '/packagerConfig/a \ electronZipDir: process.env.ELECTRON_FORGE_ELECTRON_ZIP_DIR,' packages/frontend/apps/electron/forge.config.mjs
|
||||
|
||||
runHook postPatchPhase
|
||||
'';
|
||||
homepage = "https://affine.pro/";
|
||||
downloadPage = "https://affine.pro/download";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [
|
||||
richar
|
||||
redyf
|
||||
];
|
||||
mainProgram = "affine";
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
}
|
||||
|
||||
configurePhase =
|
||||
let
|
||||
electronContentPath =
|
||||
electron + (if hostPlatform.isLinux then "/libexec/electron/" else "/Applications/");
|
||||
in
|
||||
''
|
||||
runHook preConfigurePhase
|
||||
|
||||
export HOME="$NIX_BUILD_TOP"
|
||||
export CI=1
|
||||
|
||||
# cargo config
|
||||
mkdir -p .cargo
|
||||
cat $cargoDeps/.cargo/config.toml >> .cargo/config.toml
|
||||
ln -s $cargoDeps @vendor@
|
||||
|
||||
# yarn config
|
||||
yarn config set enableTelemetry false
|
||||
yarn config set enableGlobalCache false
|
||||
yarn config set cacheFolder $yarnOfflineCache
|
||||
|
||||
# electron config
|
||||
ELECTRON_VERSION_IN_LOCKFILE=$(yarn why electron --json | tail --lines 1 | jq --raw-output '.children | to_entries | first | .key ' | cut -d : -f 2)
|
||||
rsync --archive --chmod=u+w ${electronContentPath} $HOME/.electron-prebuilt-zip-tmp
|
||||
export ELECTRON_FORGE_ELECTRON_ZIP_DIR=$PWD/.electron_zip_dir
|
||||
mkdir -p $ELECTRON_FORGE_ELECTRON_ZIP_DIR
|
||||
(cd $HOME/.electron-prebuilt-zip-tmp && zip --recurse-paths - .) > $ELECTRON_FORGE_ELECTRON_ZIP_DIR/electron-v$ELECTRON_VERSION_IN_LOCKFILE-${nodePlatform}-${nodeArch}.zip
|
||||
export ELECTRON_SKIP_BINARY_DOWNLOAD=1
|
||||
|
||||
runHook postConfigurePhase
|
||||
'';
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
# first build
|
||||
yarn workspaces focus @affine/electron @affine/monorepo
|
||||
CARGO_NET_OFFLINE=true yarn workspace @affine/native build
|
||||
BUILD_TYPE=${buildType} SKIP_NX_CACHE=1 yarn workspace @affine/electron generate-assets
|
||||
|
||||
# second build
|
||||
yarn config set nmMode classic
|
||||
yarn config set nmHoistingLimits workspaces
|
||||
find . -name 'node_modules' -type d -prune -exec rm -rf '{}' +
|
||||
yarn workspaces focus @affine/electron @affine/monorepo
|
||||
BUILD_TYPE=${buildType} SKIP_WEB_BUILD=1 SKIP_BUNDLE=1 HOIST_NODE_MODULES=1 yarn workspace @affine/electron make
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
installPhase =
|
||||
let
|
||||
inherit (finalAttrs) binName productName;
|
||||
in
|
||||
if hostPlatform.isDarwin then
|
||||
''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/Applications
|
||||
mv packages/frontend/apps/electron/out/${buildType}/${productName}-darwin-${nodeArch}/${productName}.app $out/Applications
|
||||
|
||||
runHook postInstall
|
||||
''
|
||||
else
|
||||
''
|
||||
runHook preInstall
|
||||
|
||||
mkdir --parents $out/lib/${binName}/
|
||||
mv packages/frontend/apps/electron/out/${buildType}/${productName}-linux-${nodeArch}/{resources,LICENSE*} $out/lib/${binName}/
|
||||
install -Dm644 packages/frontend/apps/electron/resources/icons/icon_${buildType}_64x64.png $out/share/icons/hicolor/64x64/apps/${binName}.png
|
||||
|
||||
makeWrapper "${electron}/bin/electron" $out/bin/${binName} \
|
||||
--inherit-argv0 \
|
||||
--add-flags $out/lib/${binName}/resources/app.asar \
|
||||
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}" \
|
||||
--add-flags ${lib.escapeShellArg commandLineArgs}
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
}
|
||||
// (lib.optionalAttrs hostPlatform.isLinux {
|
||||
desktopItems =
|
||||
let
|
||||
inherit (finalAttrs) binName productName;
|
||||
in
|
||||
[
|
||||
(makeDesktopItem {
|
||||
name = binName;
|
||||
desktopName = productName;
|
||||
comment = "AFFiNE Desktop App";
|
||||
exec = "${binName} %U";
|
||||
terminal = false;
|
||||
icon = binName;
|
||||
startupWMClass = binName;
|
||||
categories = [ "Utility" ];
|
||||
mimeTypes = [ "x-scheme-handler/${binName}" ];
|
||||
})
|
||||
];
|
||||
})
|
||||
)
|
||||
)
|
||||
|
||||
@@ -6,10 +6,10 @@
|
||||
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "arcticons-sans";
|
||||
version = "0.590";
|
||||
version = "0.591";
|
||||
|
||||
src = fetchzip {
|
||||
hash = "sha256-0iSkTfUMgrKi6LF+9KAihPus0biGuOFsYN51ydYAF5E=";
|
||||
hash = "sha256-fMsAvrH4NVdXoywW66fJhNWDDY5JxDxPJgvaUD9lEpw=";
|
||||
url = "https://github.com/arcticons-team/arcticons-font/archive/refs/tags/${finalAttrs.version}.zip";
|
||||
};
|
||||
|
||||
|
||||
@@ -0,0 +1,72 @@
|
||||
diff --git a/Src/Autosubst/GenAutomation.hs b/Src/Autosubst/GenAutomation.hs
|
||||
index f1c205c..6f48895 100755
|
||||
--- a/Src/Autosubst/GenAutomation.hs
|
||||
+++ b/Src/Autosubst/GenAutomation.hs
|
||||
@@ -7,6 +7,7 @@ import Autosubst.Names
|
||||
import Autosubst.Syntax
|
||||
import Autosubst.Tactics
|
||||
import Autosubst.Types
|
||||
+import Control.Monad
|
||||
import Control.Monad.Except
|
||||
import Control.Monad.Reader
|
||||
import Control.Monad.State.Lazy
|
||||
diff --git a/Src/Autosubst/GenCode.hs b/Src/Autosubst/GenCode.hs
|
||||
index 9145915..d4b7569 100755
|
||||
--- a/Src/Autosubst/GenCode.hs
|
||||
+++ b/Src/Autosubst/GenCode.hs
|
||||
@@ -5,6 +5,7 @@ module Autosubst.GenCode (generateCode) where
|
||||
import Autosubst.Generator
|
||||
import Autosubst.ModularGenerator
|
||||
import Autosubst.Types
|
||||
+import Control.Monad
|
||||
import Control.Monad.Except
|
||||
import Control.Monad.Reader
|
||||
import Control.Monad.RWS hiding ((<>))
|
||||
diff --git a/Src/Autosubst/GenM.hs b/Src/Autosubst/GenM.hs
|
||||
index 59483c1..3a4a447 100755
|
||||
--- a/Src/Autosubst/GenM.hs
|
||||
+++ b/Src/Autosubst/GenM.hs
|
||||
@@ -2,6 +2,7 @@
|
||||
{-# LANGUAGE MultiParamTypeClasses #-}
|
||||
module Autosubst.GenM where
|
||||
|
||||
+import Control.Monad
|
||||
import Control.Monad.Except
|
||||
import Control.Monad.Reader
|
||||
import Control.Monad.RWS
|
||||
diff --git a/Src/Autosubst/Generator.hs b/Src/Autosubst/Generator.hs
|
||||
index 576db42..264b836 100755
|
||||
--- a/Src/Autosubst/Generator.hs
|
||||
+++ b/Src/Autosubst/Generator.hs
|
||||
@@ -8,6 +8,7 @@ import Autosubst.Names
|
||||
import Autosubst.Syntax
|
||||
import Autosubst.Tactics
|
||||
import Autosubst.Types
|
||||
+import Control.Monad
|
||||
import Control.Monad.Except
|
||||
import Control.Monad.Reader
|
||||
import Control.Monad.RWS hiding ((<>))
|
||||
diff --git a/Src/Autosubst/ModularGenerator.hs b/Src/Autosubst/ModularGenerator.hs
|
||||
index 323c1b1..dae8346 100755
|
||||
--- a/Src/Autosubst/ModularGenerator.hs
|
||||
+++ b/Src/Autosubst/ModularGenerator.hs
|
||||
@@ -7,6 +7,7 @@ import Autosubst.Names
|
||||
import Autosubst.Syntax
|
||||
import Autosubst.Tactics
|
||||
import Autosubst.Types
|
||||
+import Control.Monad
|
||||
import Control.Monad.Except
|
||||
import Control.Monad.Reader
|
||||
import Control.Monad.State.Lazy
|
||||
diff --git a/Src/Autosubst/Tactics.hs b/Src/Autosubst/Tactics.hs
|
||||
index ef3545c..cdd38fb 100755
|
||||
--- a/Src/Autosubst/Tactics.hs
|
||||
+++ b/Src/Autosubst/Tactics.hs
|
||||
@@ -2,6 +2,7 @@
|
||||
{-# LANGUAGE MultiParamTypeClasses #-}
|
||||
module Autosubst.Tactics where
|
||||
|
||||
+import Control.Monad
|
||||
import Control.Monad.Except
|
||||
import Control.Monad.Reader
|
||||
import Control.Monad.RWS hiding ((<>))
|
||||
@@ -0,0 +1,49 @@
|
||||
{
|
||||
lib,
|
||||
haskellPackages,
|
||||
fetchFromGitHub,
|
||||
}:
|
||||
|
||||
haskellPackages.mkDerivation {
|
||||
pname = "autosubst2";
|
||||
version = "0-unstable-2022-07-04";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "uds-psl";
|
||||
repo = "autosubst2";
|
||||
rev = "8a71e1dc4dea81f13a9572ea302064eb374566c6";
|
||||
hash = "sha256-3n87NBi3NbuDb44/oEnzjNk/TAHUwATJYuaw70k/tpk=";
|
||||
};
|
||||
patches = [ ./imports.patch ];
|
||||
|
||||
isLibrary = true;
|
||||
isExecutable = true;
|
||||
libraryHaskellDepends = with haskellPackages; [
|
||||
base
|
||||
parsec
|
||||
containers
|
||||
mtl
|
||||
array
|
||||
wl-pprint
|
||||
graphviz
|
||||
text
|
||||
];
|
||||
executableHaskellDepends = with haskellPackages; [
|
||||
base
|
||||
optparse-applicative
|
||||
wl-pprint
|
||||
directory
|
||||
];
|
||||
testHaskellDepends = with haskellPackages; [
|
||||
base
|
||||
QuickCheck
|
||||
containers
|
||||
];
|
||||
doCheck = false;
|
||||
|
||||
homepage = "https://github.com/uds-psl/autosubst2";
|
||||
description = "Tool for generating de Bruijn boilerplate Coq code to handle substitutions in languages with binders";
|
||||
maintainers = with lib.maintainers; [ chen ];
|
||||
license = lib.licenses.bsd3;
|
||||
mainProgram = "as2-exe";
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
{
|
||||
"name": "awk-language-server",
|
||||
"description": "AWK Language Server",
|
||||
"version": "0.10.6",
|
||||
"author": "Stanislav Chernov <ch-e-st@yandex.ru>",
|
||||
"publisher": "beaglefoot",
|
||||
"license": "MIT",
|
||||
"keywords": [
|
||||
"language-server",
|
||||
"language-server-protocol",
|
||||
"lsp",
|
||||
"awk",
|
||||
"gawk"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=16.0.0"
|
||||
},
|
||||
"bin": "./server/out/cli.js",
|
||||
"main": "./server/out/server.js",
|
||||
"typings": "./server/out/server.d.ts",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/Beaglefoot/awk-language-server"
|
||||
},
|
||||
"dependencies": {
|
||||
"minimist": "1.2.6",
|
||||
"tree-sitter-awk": "0.7.2",
|
||||
"vscode-languageserver": "^7.0.0",
|
||||
"vscode-languageserver-textdocument": "^1.0.1",
|
||||
"web-tree-sitter": "0.22.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/minimist": "1.2.2",
|
||||
"@types/jest": "27.0.1",
|
||||
"@types/node": "^12.12.0",
|
||||
"jest": "27.1.1",
|
||||
"prettier": "2.3.2",
|
||||
"ts-jest": "27.0.5",
|
||||
"typescript": "^4.3.2"
|
||||
},
|
||||
"scripts": {
|
||||
"build:completion": "man gawk | gawk -f scripts/build_completion_list.awk > docs.json",
|
||||
"prepublishOnly": "cd .. && yarn build:server:force",
|
||||
"clean:client": "rm -rfv client/out/*",
|
||||
"clean:server": "rm -rfv server/out/*",
|
||||
"build": "yarn build:server && yarn build:client",
|
||||
"build:client": "tsc -b client/tsconfig.json",
|
||||
"build:client:force": "yarn clean:client && yarn build:client --verbose --force",
|
||||
"build:server": "tsc -b server/tsconfig.json",
|
||||
"build:server:force": "yarn clean:server && yarn build:server --verbose --force",
|
||||
"postinstall": "cd client && yarn && cd ../server && yarn && cd ..",
|
||||
"test": "jest",
|
||||
"test:server": "jest server/tests",
|
||||
"test:ci": "jest --runInBand",
|
||||
"check:types": "tsc --noEmit -p server/tsconfig.json",
|
||||
"check:style": "prettier --check **/*.ts"
|
||||
},
|
||||
"private": true
|
||||
}
|
||||
@@ -0,0 +1,67 @@
|
||||
{
|
||||
lib,
|
||||
mkYarnPackage,
|
||||
fetchYarnDeps,
|
||||
fetchFromGitHub,
|
||||
jq,
|
||||
}:
|
||||
|
||||
mkYarnPackage rec {
|
||||
name = "awk-language-server";
|
||||
version = "0.10.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Beaglefoot";
|
||||
repo = "awk-language-server";
|
||||
rev = "server-${version}";
|
||||
hash = "sha256-YtduDfMAUAoQY9tgyhgERFwx9TEgD52KdeHnX2MrjjI=";
|
||||
sparseCheckout = [ "server" ];
|
||||
postFetch = ''
|
||||
# combine both yarn lock files
|
||||
tail -n+4 $out/server/yarn.lock >> $out/yarn.lock
|
||||
|
||||
# recontextualize server/package.json to be one folder up
|
||||
sed -i 's|\./|./server/|' $out/server/package.json
|
||||
|
||||
# combine both package.json files
|
||||
${lib.getExe jq} -s '.[0] * .[1]' \
|
||||
$out/server/package.json \
|
||||
$out/package.json \
|
||||
> package.json
|
||||
mv -f package.json $out/
|
||||
'';
|
||||
};
|
||||
|
||||
packageJSON = ./package.json;
|
||||
yarnLock = ./yarn.lock;
|
||||
|
||||
offlineCache = fetchYarnDeps {
|
||||
yarnLock = ./yarn.lock;
|
||||
hash = "sha256-PaebqpXQGBxqcaxun8zi6TPeIgHmY+2fjsE/3LaWPN8=";
|
||||
};
|
||||
|
||||
distPhase = "true";
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
export HOME=$(mktemp -d)
|
||||
yarn --offline build:server
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
chmod +x $out/bin/awk-language-server
|
||||
'';
|
||||
|
||||
passthru.updateScript = ./update.sh;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Language Server for AWK and associated VSCode client extension";
|
||||
homepage = "https://github.com/Beaglefoot/awk-language-server";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ mathiassven ];
|
||||
mainProgram = "awk-language-server";
|
||||
};
|
||||
}
|
||||
+30
@@ -0,0 +1,30 @@
|
||||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -i bash -p common-updater-scripts coreutils gnused prefetch-yarn-deps
|
||||
|
||||
set -e
|
||||
|
||||
# update src version and hash
|
||||
version="$(list-git-tags | sort -V | tail -1 | sed 's|server-||')"
|
||||
|
||||
update-source-version awk-language-server "$version"
|
||||
|
||||
# update vendored yarn.lock & package.json
|
||||
newSrc="$(nix-build --no-out-link -A awk-language-server.src)"
|
||||
|
||||
nixFile="$(nix-instantiate --eval --strict -A 'awk-language-server.meta.position' \
|
||||
| sed -re 's/^"(.*):[0-9]+"$/\1/')"
|
||||
|
||||
nixFileDir="$(dirname "$nixFile")"
|
||||
|
||||
cp --force --no-preserve=mode "$newSrc"/{yarn.lock,package.json} "$nixFileDir/"
|
||||
|
||||
# update offlineCache hash
|
||||
oldCacheSriHash="$(nix-instantiate --eval --strict \
|
||||
-A 'awk-language-server.offlineCache.drvAttrs.outputHash')"
|
||||
|
||||
newCacheHash="$(prefetch-yarn-deps "$nixFileDir/yarn.lock")"
|
||||
|
||||
newCacheSriHash="$(nix-hash --to-sri --type sha256 "$newCacheHash")"
|
||||
|
||||
sed -i "s|$oldCacheSriHash|\"$newCacheSriHash\"|" "$nixFile"
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -19,13 +19,13 @@ let
|
||||
in
|
||||
buildBazelPackage rec {
|
||||
pname = "bant";
|
||||
version = "0.1.8";
|
||||
version = "0.1.9";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "hzeller";
|
||||
repo = "bant";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-CMqh2v6Y/jvrDC2M4Q+pC0FkNJ95gbGTR1UC6zviwV4=";
|
||||
hash = "sha256-TIVbf5qZNohZAFugi/E7m1Sgekn82/qqtx8jSHo75Js=";
|
||||
};
|
||||
|
||||
bazelFlags = [
|
||||
@@ -40,8 +40,8 @@ buildBazelPackage rec {
|
||||
fetchAttrs = {
|
||||
hash =
|
||||
{
|
||||
aarch64-linux = "sha256-2QMg/Ko3HgqKhI2g4PZ+UWOujDACLZHxyec1zAm58yg=";
|
||||
x86_64-linux = "sha256-SfQ6dlC+JVYXIpuvMNyQJkY6+zq8Md2+LsiRstJWMdY=";
|
||||
aarch64-linux = "sha256-8pLgn67kwVNdqhUXYsdi7OsArCZZmW55UPzUBlIyBbk=";
|
||||
x86_64-linux = "sha256-dUNdvSJA3SlIIRWmhaq3Hu0+84mBBhxbU/eBDXIv/iI=";
|
||||
}
|
||||
.${system} or (throw "No hash for system: ${system}");
|
||||
};
|
||||
|
||||
@@ -6,16 +6,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "bbctl";
|
||||
version = "0.12.2";
|
||||
version = "0.13.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "beeper";
|
||||
repo = "bridge-manager";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-Q8RgfkPw8KPkfORaPCwM18rNhzNm4UcH4hSdfYe4FZo=";
|
||||
hash = "sha256-bNnansZNshWp70LQQsa6+bS+LJxpCzdTkL2pX+ksrP0=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-uz4pao8Y/Sb3fffi9d0lbWQEUMohbthA6t6k6PfQz2M=";
|
||||
vendorHash = "sha256-yTNUxwnulQ+WbHdQbeNDghH4RPXurQMIgKDyXfrMxG8=";
|
||||
|
||||
meta = {
|
||||
description = "Tool for running self-hosted bridges with the Beeper Matrix server.";
|
||||
|
||||
@@ -0,0 +1,59 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
cmake,
|
||||
autoconf,
|
||||
pkg-config,
|
||||
libz,
|
||||
bzip2,
|
||||
xz,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "bio-gappa";
|
||||
version = "0.8.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "lczech";
|
||||
repo = "gappa";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-VAp9e5Cu3tTeWSOTZ8kPG1eOyocYZiJsy/s+MWbCMLI=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pkg-config
|
||||
autoconf
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
libz
|
||||
bzip2
|
||||
xz
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p $out/bin
|
||||
install -Dm755 ../bin/gappa $out/bin/gappa
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/lczech/gappa";
|
||||
description = "Toolkit for analyzing and visualizing phylogenetic (placement) data";
|
||||
longDescription = ''
|
||||
gappa is a collection of commands for working with phylogenetic data. Its
|
||||
main focus are evolutionary placements of short environmental sequences
|
||||
on a reference phylogenetic tree. Such data are typically produced by
|
||||
tools such as EPA-ng, RAxML-EPA or pplacer, and usually stored in jplace
|
||||
files.
|
||||
'';
|
||||
platforms = platforms.all;
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ bzizou ];
|
||||
mainProgram = "gappa";
|
||||
};
|
||||
})
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
lib,
|
||||
gccStdenv,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
bison,
|
||||
flex,
|
||||
@@ -9,7 +9,7 @@
|
||||
ncurses,
|
||||
}:
|
||||
|
||||
gccStdenv.mkDerivation rec {
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "boxes";
|
||||
version = "2.3.1";
|
||||
|
||||
@@ -43,7 +43,7 @@ gccStdenv.mkDerivation rec {
|
||||
"GLOBALCONF=${placeholder "out"}/share/boxes/boxes-config"
|
||||
'';
|
||||
|
||||
makeFlags = [ "CC=${gccStdenv.cc.targetPrefix}cc" ];
|
||||
makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ];
|
||||
|
||||
installPhase = ''
|
||||
install -Dm755 -t $out/bin out/boxes
|
||||
|
||||
@@ -36,6 +36,8 @@ rustPlatform.buildRustPackage rec {
|
||||
"--bins"
|
||||
"--lib" # Integration tests require root.
|
||||
"--exclude"
|
||||
"hypervisor" # /dev/kvm
|
||||
"--exclude"
|
||||
"net_util" # /dev/net/tun
|
||||
"--exclude"
|
||||
"vmm" # /dev/kvm
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "cosmic-wallpapers";
|
||||
version = "1.0.0-alpha.3";
|
||||
version = "1.0.0-alpha.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pop-os";
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
{
|
||||
bash,
|
||||
buildNpmPackage,
|
||||
fetchFromGitHub,
|
||||
fetchpatch,
|
||||
fetchurl,
|
||||
lib,
|
||||
makeBinaryWrapper,
|
||||
@@ -56,8 +58,8 @@ let
|
||||
}
|
||||
{
|
||||
subdir = "v7";
|
||||
rev = "9d8b914a";
|
||||
hash = "sha256-M+rPJ/Xo2olhqB5ViynGRaesMLLfG/1ltUoLnepMPnM=";
|
||||
rev = "e1267803";
|
||||
hash = "sha256-iIds0GnCHAyeIEdSD4aCCgDtnnwARh3NE470CywseS0=";
|
||||
}
|
||||
];
|
||||
|
||||
@@ -90,12 +92,19 @@ buildNpmPackage {
|
||||
makeBinaryWrapper
|
||||
rdfind
|
||||
unzip
|
||||
bash
|
||||
];
|
||||
|
||||
patches = [
|
||||
# fix httpSafePort setting
|
||||
# https://github.com/cryptpad/cryptpad/pull/1571
|
||||
./0001-env.js-fix-httpSafePort-handling.patch
|
||||
# https://github.com/cryptpad/cryptpad/pull/1740
|
||||
(fetchpatch {
|
||||
name = "Add `--check`, `--rdfind`, `--no-rdfind` options to `install-onlyoffice.sh`";
|
||||
url = "https://github.com/cryptpad/cryptpad/commit/f38668735e777895db2eadd3413cff386fb12c0c.patch";
|
||||
hash = "sha256-J4AK1XIa3q+/lD74p2c9O7jt0VEtofTmfAaQNU71sp8=";
|
||||
})
|
||||
];
|
||||
|
||||
# cryptpad build tries to write in cache dir
|
||||
@@ -121,7 +130,11 @@ buildNpmPackage {
|
||||
mkdir -p "$out_cryptpad/www/common/onlyoffice/dist"
|
||||
${lib.concatMapStringsSep "\n" onlyoffice_install onlyoffice_versions}
|
||||
${x2t_install}
|
||||
rdfind -makehardlinks true -makeresultsfile false "$out_cryptpad/www/common/onlyoffice/dist"
|
||||
# Run upstream's `install-onlyoffice.sh` script in `--check` mode to
|
||||
# verify that we've installed the correct versions of the various
|
||||
# OnlyOffice components.
|
||||
patchShebangs --build $out_cryptpad/install-onlyoffice.sh
|
||||
$out_cryptpad/install-onlyoffice.sh --accept-license --check --rdfind
|
||||
|
||||
# cryptpad assumes it runs in the source directory and also outputs
|
||||
# its state files there, which is not exactly great for us.
|
||||
|
||||
@@ -0,0 +1,152 @@
|
||||
{
|
||||
SDL2,
|
||||
cmake,
|
||||
fetchFromGitHub,
|
||||
glm,
|
||||
lib,
|
||||
runCommand,
|
||||
stdenv,
|
||||
unstableGitUpdater,
|
||||
writeShellScript,
|
||||
zlib,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "descent3-unwrapped";
|
||||
# I’m using an unstable version here because we need to use -additionaldir in
|
||||
# the wrapped version of Descent 3. Once there’s a stable version of Descent
|
||||
# 3 that supports the -additionaldir command-line option, we can stop using
|
||||
# an unstable version of Descent 3.
|
||||
version = "1.5.0-beta-unstable-2024-10-29";
|
||||
src = fetchFromGitHub {
|
||||
owner = "DescentDevelopers";
|
||||
repo = "Descent3";
|
||||
rev = "d51ce964c7a925333ea64f00cf8d9ae15ee63a6b";
|
||||
fetchSubmodules = true;
|
||||
leaveDotGit = true;
|
||||
# Descent 3 is supposed to display its Git commit hash in the bottom right
|
||||
# corner of the main menu. That feature only works if either the .git
|
||||
# directory or a git-hash.txt file exists at build time. We don’t want .git
|
||||
# to exist at build time (see #8567), so we create a git-hash.txt file and
|
||||
# then delete the .git directory.
|
||||
#
|
||||
# Technically, we could simplify the code by reading the value of src.rev.
|
||||
# src.rev contains a Git commit hash at the moment, but it won’t contain a
|
||||
# Git commit hash in the future when we switch to a stable version of
|
||||
# Descent 3.
|
||||
#
|
||||
# Upstream expects git-hash.txt to contain a short commit hash, but I’ve
|
||||
# decided to use a full commit hash. Full commit hashes are more
|
||||
# reproducible. The short hash “1234” might correspond to one commit today,
|
||||
# but correspond to two commits tomorrow. Full commit hashes don’t have
|
||||
# that problem.
|
||||
#
|
||||
# Also, upstream expects git-hash.txt to contain no newlines. If
|
||||
# git-hash.txt contains a newline, then Descent 3 will fail to build.
|
||||
postFetch = ''
|
||||
cd "$out"
|
||||
git rev-parse --verify HEAD | tr --delete '\n' > git-hash.txt
|
||||
rm -r .git
|
||||
'';
|
||||
hash = "sha256-C6r06cntQ14jPFO9EUzLisZjsl22cIaJb8I7xFzXrNc=";
|
||||
};
|
||||
|
||||
hardeningDisable = [ "format" ];
|
||||
nativeBuildInputs = [ cmake ];
|
||||
buildInputs = [
|
||||
SDL2
|
||||
glm
|
||||
zlib
|
||||
];
|
||||
cmakeFlags = [ "-DFORCE_PORTABLE_INSTALL=OFF" ];
|
||||
# This is a workaround for a problem that will eventually get fixed upstream.
|
||||
postInstall = ''
|
||||
cd "$out"
|
||||
mv lib/* share/
|
||||
rmdir lib
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
# The idea here is to make sure that we don’t forget to update meta.license
|
||||
# when reviewing a pull request from @r-ryantm.
|
||||
tests.licenseInfoIsUpToDate = runCommand "${pname}-license-info-is-up-to-date" { } ''
|
||||
function on_success {
|
||||
echo Test succeeded. > "$out"
|
||||
}
|
||||
|
||||
function on_failure {
|
||||
echo \
|
||||
It looks like at least one of Descent 3’s licensing-related files \
|
||||
changed. Before you continue to update this package, you should \
|
||||
check to see if meta.license needs to be updated. Once you’ve done \
|
||||
that, you can update the hashes in the \
|
||||
passthru.tests.licenseInfoIsUpToDate script and then try running the \
|
||||
package tests again. >&2
|
||||
return 1
|
||||
}
|
||||
|
||||
cd ${lib.strings.escapeShellArg src}
|
||||
sha256sum --check << EOF && on_success || on_failure
|
||||
8b1ba204bb69a0ade2bfcf65ef294a920f6bb361b317dba43c7ef29d96332b9b LICENSE
|
||||
55d65dbf5d785111cf7029941cb7f72dbef084509e6126bcc58b6bb20203f8c6 THIRD_PARTY.md
|
||||
EOF
|
||||
'';
|
||||
updateScript = unstableGitUpdater {
|
||||
shallowClone = false;
|
||||
# unstableGitUpdater assumes that the version number should be 0 if there
|
||||
# isn’t any tags in the repo’s default branch. For most packages, that is
|
||||
# the correct decision, but for Descent 3 it’s not. Descent 3’s source
|
||||
# code lived in private repos until 2024. In 2024, a new public repo was
|
||||
# created [1], but the old commit history wasn’t imported into the new
|
||||
# repo. Version 1.5.0-beta from 2005 [2] was the last release that was
|
||||
# created from one of the private repos.*
|
||||
#
|
||||
# *Technically, there was one release that came after the 2005 one. There
|
||||
# was a Linux version and a macOS version of Descent 3 that were released
|
||||
# on Steam in 2020 [3][4][5]. Those versions don’t count because they
|
||||
# haven’t been fully merged into the public repo yet [6].
|
||||
#
|
||||
# [1]: <https://github.com/DescentDevelopers/Descent3/commit/637df31ca1e47371fb8ca822f928734c13afd8cf>
|
||||
# [2]: <http://descent3.com/downloads.php>
|
||||
# [3]: <https://www.patreon.com/posts/project-descent-33611585>
|
||||
# [4]: <https://steamdb.info/depot/273592>
|
||||
# [5]: <https://steamdb.info/depot/273593>
|
||||
# [6]: <https://github.com/DescentDevelopers/Descent3/issues/240>
|
||||
tagConverter = writeShellScript "${pname}-tag-converter.sh" ''
|
||||
read -r input_tag
|
||||
if [ "$input_tag" = 0 ]
|
||||
then
|
||||
printf '%s' 1.5.0-beta
|
||||
else
|
||||
printf '%s' "$input_tag"
|
||||
fi
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Game engine for a 6DOF first-person shooter";
|
||||
homepage = "https://github.com/DescentDevelopers/Descent3";
|
||||
license = with lib.licenses; [
|
||||
# See LICENSE and header that’s at the top of many source files.
|
||||
gpl3Plus
|
||||
# See THIRD_PARTY.md.
|
||||
isc
|
||||
mit
|
||||
];
|
||||
mainProgram = "Descent3";
|
||||
maintainers = [ lib.maintainers.jayman2000 ];
|
||||
platforms = lib.platforms.all;
|
||||
badPlatforms = [
|
||||
# Descent 3 stores modules in HOG2 archives. It extracts those modules
|
||||
# and then tries to dlopen() them at runtime.
|
||||
lib.systems.inspect.platformPatterns.isStatic
|
||||
# When you build Descent 3 on Darwin, it produces a different directory
|
||||
# structure (no bin/ directory) [1]. I’m sure that this derivation could be
|
||||
# updated to account for that different directory structure, but I don’t
|
||||
# have any Darwin systems to test things on at the moment.
|
||||
#
|
||||
# [1]: <https://logs.ofborg.org/?key=nixos/nixpkgs.355710&attempt_id=747dd630-5068-4ba9-9c50-6f150634ef1a>
|
||||
] ++ lib.platforms.darwin;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
{
|
||||
descent3-unwrapped,
|
||||
lib,
|
||||
makeBinaryWrapper,
|
||||
runCommand,
|
||||
}:
|
||||
|
||||
runCommand "descent3-${descent3-unwrapped.version}"
|
||||
{
|
||||
pname = "descent3";
|
||||
inherit (descent3-unwrapped) version;
|
||||
nativeBuildInputs = [ makeBinaryWrapper ];
|
||||
passthru.unwrapped = descent3-unwrapped;
|
||||
|
||||
meta = descent3-unwrapped.meta // {
|
||||
# The code that produces the wrapper is in the Nixpkgs repo, and the
|
||||
# Nixpkgs repo is MIT Licensed.
|
||||
license = [ lib.licenses.mit ];
|
||||
longDescription = ''
|
||||
Playing Descent 3 using the Nix package manager is a little bit awkward
|
||||
at the moment. This wrapper makes it slightly less awkward. Here’s how
|
||||
you use this wrapper:
|
||||
|
||||
1. Install the `descent3` package, or start an ephemeral shell with the
|
||||
`descent3` package.
|
||||
|
||||
2. Find the documentation folder for `descent3-unwrapped` by running this
|
||||
command:
|
||||
|
||||
```bash
|
||||
nix-instantiate --eval --expr '(import <nixpkgs> { }).descent3-unwrapped + "/share/doc/Descent3"'
|
||||
```
|
||||
|
||||
3. Open `<descent3-unwrapped-doc-folder>/USAGE.md`.
|
||||
|
||||
4. Follow steps 1–6 of Descent 3’s usage instructions.
|
||||
|
||||
5. Change directory into the `D3-open-source` folder:
|
||||
|
||||
```bash
|
||||
cd <path-to-D3-open-source>
|
||||
```
|
||||
|
||||
6. Start Descent 3 by running this command:
|
||||
|
||||
```bash
|
||||
Descent3
|
||||
```
|
||||
'';
|
||||
};
|
||||
}
|
||||
''
|
||||
mkdir --parents "$out/bin"
|
||||
descent3_unwrapped=${lib.strings.escapeShellArg descent3-unwrapped}
|
||||
makeBinaryWrapper \
|
||||
"$descent3_unwrapped/bin/Descent3" \
|
||||
"$out/bin/Descent3" \
|
||||
--append-flags -additionaldir \
|
||||
--append-flags "$descent3_unwrapped/share"
|
||||
''
|
||||
@@ -9,14 +9,14 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "dita-ot";
|
||||
version = "4.2.3";
|
||||
version = "4.2.4";
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
buildInputs = [ openjdk17 ];
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://github.com/dita-ot/dita-ot/releases/download/${finalAttrs.version}/dita-ot-${finalAttrs.version}.zip";
|
||||
hash = "sha256-siHz81OuKVF77NsDpldAhq7YxzBFvo9RwGPe/mqkquQ=";
|
||||
hash = "sha256-XAuqW4crJldkVJaW/tF7m/nnpV86z78d456/1hwLdU0=";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
|
||||
@@ -6,16 +6,16 @@
|
||||
|
||||
buildNpmPackage rec {
|
||||
pname = "eask-cli";
|
||||
version = "0.10.1";
|
||||
version = "0.10.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "emacs-eask";
|
||||
repo = "cli";
|
||||
rev = version;
|
||||
hash = "sha256-FgmeAsqbnlw7yOMslAJnZWuG3nDDjcXlS2pI3X9x1PA=";
|
||||
hash = "sha256-G6bJoNKEz0Lpp3vfJJ86r942dWdMhQLJn10YXjUKJtI=";
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-IgL58W4j3xbtVpGz316DpnYPyZD5dmDvg7Z1Irr3jig=";
|
||||
npmDepsHash = "sha256-xZBnjhLHceLvYD9uPz5G9EupBBUAkBghxo5au0GxdWg=";
|
||||
|
||||
dontBuild = true;
|
||||
|
||||
|
||||
@@ -7,16 +7,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "frp";
|
||||
version = "0.61.0";
|
||||
version = "0.61.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "fatedier";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-ZanHYU7UEPsI/KAygxcTszUB4emnrrqxiuuLsCVk+cM=";
|
||||
hash = "sha256-HPhT+crjQELQMDpBywWy+POplKxfLrHCAWkTRRhogqA=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-ySONxi45Ckq0y4BNyTcm8s6KcnXW+k6thqL7qh6mbBc=";
|
||||
vendorHash = "sha256-Pwa5idGOn1kTxhouxYwNlKafYU541/rQolm+2CJnLo4=";
|
||||
|
||||
doCheck = false;
|
||||
|
||||
|
||||
@@ -5,11 +5,11 @@
|
||||
}:
|
||||
let
|
||||
pname = "handheld-daemon-ui";
|
||||
version = "3.3.0";
|
||||
version = "3.3.5";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/hhd-dev/hhd-ui/releases/download/v${version}/hhd-ui.Appimage";
|
||||
hash = "sha256-Fc2MwZoy1CKiWvh/Z1P0OnfkyWy4aT6I1aIY8gEf69U=";
|
||||
hash = "sha256-g8LB24WxpbsGDFHRI0c80m9XXZghKYiRyuRRoYvb34g=";
|
||||
};
|
||||
extractedFiles = appimageTools.extractType2 { inherit pname version src; };
|
||||
in
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
source 'https://rubygems.org'
|
||||
gem 'hexapdf'
|
||||
@@ -0,0 +1,19 @@
|
||||
GEM
|
||||
remote: https://rubygems.org/
|
||||
specs:
|
||||
cmdparse (3.0.7)
|
||||
geom2d (0.4.1)
|
||||
hexapdf (1.0.2)
|
||||
cmdparse (~> 3.0, >= 3.0.3)
|
||||
geom2d (~> 0.4, >= 0.4.1)
|
||||
openssl (>= 2.2.1)
|
||||
openssl (3.2.0)
|
||||
|
||||
PLATFORMS
|
||||
ruby
|
||||
|
||||
DEPENDENCIES
|
||||
hexapdf
|
||||
|
||||
BUNDLED WITH
|
||||
2.5.9
|
||||
@@ -0,0 +1,47 @@
|
||||
{
|
||||
cmdparse = {
|
||||
groups = [ "default" ];
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "0f87jny4zk21iyrkyyw4kpnq8ymrwjay02ipagwapimy237cmigp";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.0.7";
|
||||
};
|
||||
geom2d = {
|
||||
groups = [ "default" ];
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "1nafcfznjqycxd062cais64ydgl99xddh4zy4hp7bwn4j3m9h2ga";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.4.1";
|
||||
};
|
||||
hexapdf = {
|
||||
dependencies = [
|
||||
"cmdparse"
|
||||
"geom2d"
|
||||
"openssl"
|
||||
];
|
||||
groups = [ "default" ];
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "13dbscnf7c3jlghlkgl01b7hzgx2ps26m57qmhyv5g626n342i4c";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.0.2";
|
||||
};
|
||||
openssl = {
|
||||
groups = [ "default" ];
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "054d6ybgjdzxw567m7rbnd46yp6gkdbc5ihr536vxd3p15vbhjrw";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.2.0";
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
{
|
||||
lib,
|
||||
bundlerApp,
|
||||
bundlerUpdateScript,
|
||||
ruby,
|
||||
}:
|
||||
|
||||
bundlerApp {
|
||||
pname = "hexapdf";
|
||||
exes = [ "hexapdf" ];
|
||||
|
||||
inherit ruby;
|
||||
gemdir = ./.;
|
||||
|
||||
passthru.updateScript = bundlerUpdateScript "hexapdf";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Versatile PDF creation and manipulation library";
|
||||
homepage = "https://hexapdf.gettalong.org/";
|
||||
changelog = "https://github.com/gettalong/hexapdf/blob/master/CHANGELOG.md";
|
||||
license = licenses.agpl3Only;
|
||||
maintainers = with maintainers; [ bbenno ];
|
||||
platforms = platforms.unix;
|
||||
mainProgram = "hexapdf";
|
||||
};
|
||||
}
|
||||
@@ -11,11 +11,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "htslib";
|
||||
version = "1.19.1";
|
||||
version = "1.21";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/samtools/htslib/releases/download/${version}/${pname}-${version}.tar.bz2";
|
||||
sha256 = "sha256-Ii1001dPtnsVjGmIyYDuqrqKBlb15P+3a1+lfwNZM+w=";
|
||||
sha256 = "sha256-hLUQ5zX0ljZB8m/YjIq97oH/TLYhaDEK5xZjaqwPGCM=";
|
||||
};
|
||||
|
||||
# perl is only used during the check phase.
|
||||
|
||||
@@ -50,9 +50,15 @@ let
|
||||
|
||||
# The geodata website is not versioned, so we use the internet archive
|
||||
geodata =
|
||||
let
|
||||
inherit (sources.components.geonames) timestamp;
|
||||
date =
|
||||
"${lib.substring 0 4 timestamp}-${lib.substring 4 2 timestamp}-${lib.substring 6 2 timestamp}T"
|
||||
+ "${lib.substring 8 2 timestamp}:${lib.substring 10 2 timestamp}:${lib.substring 12 2 timestamp}Z";
|
||||
in
|
||||
runCommand "immich-geodata"
|
||||
{
|
||||
outputHash = "sha256-imqSfzXaEMNo9T9tZr80sr/89n19kiFc8qwidFzRUaY=";
|
||||
outputHash = sources.components.geonames.hash;
|
||||
outputHashMode = "recursive";
|
||||
nativeBuildInputs = [
|
||||
cacert
|
||||
@@ -64,15 +70,15 @@ let
|
||||
}
|
||||
''
|
||||
mkdir $out
|
||||
url="https://web.archive.org/web/20240724153050/http://download.geonames.org/export/dump"
|
||||
url="https://web.archive.org/web/${timestamp}/http://download.geonames.org/export/dump"
|
||||
curl -Lo ./cities500.zip "$url/cities500.zip"
|
||||
curl -Lo $out/admin1CodesASCII.txt "$url/admin1CodesASCII.txt"
|
||||
curl -Lo $out/admin2Codes.txt "$url/admin2Codes.txt"
|
||||
curl -Lo $out/ne_10m_admin_0_countries.geojson \
|
||||
https://raw.githubusercontent.com/nvkelso/natural-earth-vector/ca96624a56bd078437bca8184e78163e5039ad19/geojson/ne_10m_admin_0_countries.geojson
|
||||
https://github.com/nvkelso/natural-earth-vector/raw/ca96624a56bd078437bca8184e78163e5039ad19/geojson/ne_10m_admin_0_countries.geojson
|
||||
|
||||
unzip ./cities500.zip -d $out/
|
||||
echo "2024-07-24T15:30:50Z" > $out/geodata-date.txt
|
||||
echo "${date}" > $out/geodata-date.txt
|
||||
'';
|
||||
|
||||
src = fetchFromGitHub {
|
||||
@@ -241,7 +247,10 @@ buildNpmPackage' {
|
||||
meta = {
|
||||
description = "Self-hosted photo and video backup solution";
|
||||
homepage = "https://immich.app/";
|
||||
license = lib.licenses.agpl3Only;
|
||||
license = with lib.licenses; [
|
||||
agpl3Only
|
||||
cc-by-40 # geonames
|
||||
];
|
||||
maintainers = with lib.maintainers; [
|
||||
dotlambda
|
||||
jvanbruegge
|
||||
|
||||
@@ -17,6 +17,10 @@
|
||||
"open-api/typescript-sdk": {
|
||||
"npmDepsHash": "sha256-GtqS59I+By1u6WcR+lDj2HKXVwh7jw5/N6MRdUctlaM=",
|
||||
"version": "1.122.3"
|
||||
},
|
||||
"geonames": {
|
||||
"timestamp": "20241215052013",
|
||||
"hash": "sha256-Gv85Y5KAkeqNU8iMMKwepI5o14Z0s5aQbLJVxhtjY14="
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -i bash -p curl jq prefetch-npm-deps nix-prefetch-github coreutils
|
||||
#!nix-shell -i bash -p curl jq prefetch-npm-deps nix-prefetch-github coreutils ripgrep
|
||||
|
||||
set -euo pipefail
|
||||
cd "$(dirname "${BASH_SOURCE[0]}")"
|
||||
@@ -39,6 +39,24 @@ for npm_component in cli server web "open-api/typescript-sdk"; do
|
||||
'.components += {($npm_component): {npmDepsHash: $hash, version: $version}}' \
|
||||
"$sources_tmp")" > "$sources_tmp"
|
||||
done
|
||||
|
||||
rm "$lock"
|
||||
|
||||
url="http://download.geonames.org/export/dump"
|
||||
curl -s "http://web.archive.org/save/$url/cities500.zip"
|
||||
curl -s "http://web.archive.org/save/$url/admin1CodesASCII.txt"
|
||||
curl -s "http://web.archive.org/save/$url/admin1Codes.txt"
|
||||
timestamp=$(curl -s \
|
||||
"http://archive.org/wayback/available?url=$url/cities500.zip" \
|
||||
| jq -r ".archived_snapshots.closest.timestamp")
|
||||
echo "$(jq --arg timestamp "$timestamp" --arg hash "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" \
|
||||
'.components += {geonames: {timestamp: $timestamp, hash: $hash}}' \
|
||||
"$sources_tmp")" > "$sources_tmp"
|
||||
|
||||
cp "$sources_tmp" sources.json
|
||||
set +o pipefail
|
||||
output="$(nix-build ../../../.. -A immich.geodata 2>&1 || true)"
|
||||
set -o pipefail
|
||||
hash=$(echo "$output" | rg 'got:\s+(sha256-.*)$' -or '$1')
|
||||
echo "$(jq --arg hash "$hash" '.components.geonames.hash = $hash' "$sources_tmp")" > "$sources_tmp"
|
||||
|
||||
mv "$sources_tmp" sources.json
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
}:
|
||||
buildGoModule rec {
|
||||
pname = "infrastructure-agent";
|
||||
version = "1.58.0";
|
||||
version = "1.58.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "newrelic";
|
||||
repo = "infrastructure-agent";
|
||||
rev = version;
|
||||
hash = "sha256-L2er3DJ9zZb8AosHwOdNEsvQc7XPwQfGaa8d72iJOik=";
|
||||
hash = "sha256-ckGouBmpjsS3qcTw3Br3N/uJf7KgowUyawr2bPsMJ5I=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-0WLL15CXRi/flp4EV3Qt0wO1VaUmAokzsChpiqjs+YQ=";
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
}:
|
||||
|
||||
let
|
||||
version = "7.0.2-7";
|
||||
version = "7.0.2-8";
|
||||
in
|
||||
|
||||
(ffmpeg_7-full.override {
|
||||
@@ -14,7 +14,7 @@ in
|
||||
owner = "jellyfin";
|
||||
repo = "jellyfin-ffmpeg";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-l1oCilqWE3NpSzrNHAepglL3BHXZ2yxcQfupFJ3zwvg=";
|
||||
hash = "sha256-gpbMVVMV1ywbSb6A3IGFS/vnBk9EXTNzaW1r8Ygo1RY=";
|
||||
};
|
||||
}).overrideAttrs (old: {
|
||||
pname = "jellyfin-ffmpeg";
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
{
|
||||
lib,
|
||||
stdenvNoCC,
|
||||
fetchurl,
|
||||
unzip,
|
||||
}:
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "lilex";
|
||||
version = "2.530";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/mishamyrt/Lilex/releases/download/${version}/Lilex.zip";
|
||||
hash = "sha256-sBn8DaXj7OXHNaoEAhjTuMmUVUbS0zNZi1h7EjembEo=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ unzip ];
|
||||
|
||||
unpackPhase = ''
|
||||
runHook preUnpack
|
||||
unzip $src
|
||||
runHook postUnpack
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
find . -name '*.ttf' -exec install -m444 -Dt $out/share/fonts/truetype {} +
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Open source programming font";
|
||||
homepage = "https://github.com/mishamyrt/Lilex";
|
||||
license = licenses.ofl;
|
||||
maintainers = with maintainers; [ redyf ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
||||
@@ -46,6 +46,11 @@ stdenv.mkDerivation rec {
|
||||
# Add a workaround for linux-headers-5.18 until upstream adapts:
|
||||
# https://sourceforge.net/p/lirc/git/merge-requests/45/
|
||||
./linux-headers-5.18.patch
|
||||
|
||||
# remove check for `Ubuntu` in /proc/version which will override
|
||||
# --with-systemdsystemunitdir
|
||||
# https://sourceforge.net/p/lirc/tickets/385/
|
||||
./ubuntu.diff
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index d28c673..1cd0548 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -434,16 +434,7 @@ AC_CHECK_LIB([udev], [udev_device_new_from_device_id], [
|
||||
LIBS="$LIBS $LIBUDEV_LIBS"
|
||||
])
|
||||
|
||||
-dnl Ubuntu's systemd pkg-config seems broken beyond repair. So:
|
||||
-kernelversion=`cat /proc/version || echo "non-linux"`
|
||||
-AS_CASE([$kernelversion],
|
||||
- [*Ubuntu*],[
|
||||
- AC_MSG_NOTICE([Hardwiring Ubuntu systemd setup])
|
||||
- AC_SUBST([systemdsystemunitdir], [/lib/systemd/system])
|
||||
- AM_CONDITIONAL([WITH_SYSTEMDSYSTEMUNITDIR], [true])
|
||||
- ],[*],[
|
||||
- SYSTEMD_SYSTEMUNITDIR
|
||||
-])
|
||||
+SYSTEMD_SYSTEMUNITDIR
|
||||
|
||||
AC_ARG_WITH(lockdir,
|
||||
[ --with-lockdir=DIR Old-school device lock files in DIR (/var/lock{/lockdev})],
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "litmusctl";
|
||||
version = "1.12.0";
|
||||
version = "1.13.0";
|
||||
|
||||
nativeBuildInputs = [
|
||||
installShellFiles
|
||||
@@ -22,7 +22,7 @@ buildGoModule rec {
|
||||
owner = "litmuschaos";
|
||||
repo = "litmusctl";
|
||||
rev = "${version}";
|
||||
hash = "sha256-pqkUaR/r9GKvTt8hEjqgSuEcNuSeRE+rtlj47uS5/dY=";
|
||||
hash = "sha256-lPdejdnBefhYgv52I7BOm1VTgqHSp8u1lgJJxK5GWSA=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-7FYOQ89aUFPX+5NCPYKg+YGCXstQ6j9DK4V2mCgklu0=";
|
||||
|
||||
@@ -17,11 +17,11 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "logisim-evolution";
|
||||
version = "3.8.0";
|
||||
version = "3.9.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/logisim-evolution/logisim-evolution/releases/download/v${finalAttrs.version}/logisim-evolution-${finalAttrs.version}-all.jar";
|
||||
hash = "sha256-TFm+fa3CMp0OMhnKBc6cLIWGQbIG/OpOOCG7ea7wbCw=";
|
||||
hash = "sha256-QxU1h6LKzWy25wtXgEufPT0KsIsLhrKnq9CRcS4Mlzc=";
|
||||
};
|
||||
dontUnpack = true;
|
||||
|
||||
|
||||
@@ -1,18 +1,25 @@
|
||||
{ lib, stdenv, fetchurl }:
|
||||
stdenv.mkDerivation rec {
|
||||
{
|
||||
fetchurl,
|
||||
lib,
|
||||
stdenv,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "matio";
|
||||
version = "1.5.27";
|
||||
version = "1.5.28";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/matio/${pname}-${version}.tar.gz";
|
||||
sha256 = "sha256-CmqgCxjEUStjqNJ5BrB5yMbtQdSyhE96SuWY4Y0i07M=";
|
||||
url = "mirror://sourceforge/matio/matio-${finalAttrs.version}.tar.gz";
|
||||
hash = "sha256-naaYk0ohVprwWOY0hWRmb0UCnmwrCHjKDY+WCb93uNg=";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
meta = {
|
||||
changelog = "https://sourceforge.net/p/matio/news/";
|
||||
description = "C library for reading and writing Matlab MAT files";
|
||||
homepage = "http://matio.sourceforge.net/";
|
||||
license = licenses.bsd2;
|
||||
license = lib.licenses.bsd2;
|
||||
maintainers = [ ];
|
||||
mainProgram = "matdump";
|
||||
platforms = platforms.all;
|
||||
platforms = lib.platforms.all;
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "nfs-ganesha";
|
||||
version = "6.3";
|
||||
version = "6.4";
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
|
||||
owner = "nfs-ganesha";
|
||||
repo = "nfs-ganesha";
|
||||
rev = "V${version}";
|
||||
hash = "sha256-4gPhmBC42uCcaEhdJj9ZWw4ECB9UYwP+c2ndBFbBK0k=";
|
||||
hash = "sha256-iT/6p4T4xrGsK2zBs5TDfEIhcCwNfUalQFLlCOODp24=";
|
||||
};
|
||||
|
||||
preConfigure = "cd src";
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
}:
|
||||
buildGoModule rec {
|
||||
pname = "nom";
|
||||
version = "2.6.1";
|
||||
version = "2.6.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "guyfedwards";
|
||||
repo = "nom";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-V4ppqHQjPkkRKHkDHzEr05vOyv3BhiLnYxEftIn08XU=";
|
||||
hash = "sha256-oaManxhksEBwbe1jmkRmOJMhYFiulGTVCuto4RMznvg=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-xolhwdWRjYZMgwI4jq0fGzvxnNjx6EplvZC7XMvBw+M=";
|
||||
|
||||
@@ -5,23 +5,24 @@
|
||||
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "nordzy-cursor-theme";
|
||||
version = "0.6.0";
|
||||
version = "2.3.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "alvatip";
|
||||
owner = "guillaumeboehm";
|
||||
repo = "Nordzy-cursors";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-q9PEEyxejRQ8UCwbqsfOCL7M70pLCOLyCx8gEFmZkWA=";
|
||||
sha256 = "sha256-3HUSl0CQcay4V9pO35cmOEZvrgNOJ3WNZahs+hJjUJU=";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/share/icons
|
||||
cp -r Nordzy-cursors{,-white,-lefthand} $out/share/icons
|
||||
cp -r xcursors/* $out/share/icons
|
||||
cp -r hyprcursors/themes/* $out/share/icons
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Cursor theme using the Nord color palette and based on Vimix and cz-Viator";
|
||||
homepage = "https://github.com/alvatip/Nordzy-cursors";
|
||||
homepage = "https://github.com/guillaumeboehm/Nordzy-cursors";
|
||||
license = licenses.gpl3;
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [
|
||||
|
||||
@@ -6,16 +6,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "nova-password";
|
||||
version = "0.5.7";
|
||||
version = "0.5.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "sapcc";
|
||||
repo = "nova-password";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-tjjP+LmYaqpzmTk3tgFqZlG1KEeAkfI7RxzSm97jWVU=";
|
||||
hash = "sha256-+qFbBjjbp1Nazpo21oOytvEPzn6Nmc4Cr8du045Ab/E=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-MwemuOaXGl0eF+lVtMCgbBeJGILmaeEHcbu+xp8Lm70=";
|
||||
vendorHash = "sha256-tRBWniPM/IPR/JKi7R46tnx9rgyCb5hOkOR1oy7iVcc=";
|
||||
|
||||
meta = {
|
||||
description = "Decrypt the admin password generated for the VM in OpenStack";
|
||||
|
||||
Generated
-2422
File diff suppressed because it is too large
Load Diff
@@ -20,14 +20,8 @@ rustPlatform.buildRustPackage rec {
|
||||
hash = "sha256-05dNBzf1f92bVNLbRaUB6KUae+wY3V8mUxDgAb+g1T4=";
|
||||
};
|
||||
|
||||
cargoLock = {
|
||||
lockFile = ./Cargo.lock;
|
||||
outputHashes = {
|
||||
"alvr_common-20.11.1" = "sha256-d4KldPii8W1HcfnMSD8Fn+IGO/a3r8747APPjRCnbe8=";
|
||||
"openxr-0.19.0" = "sha256-kbEYoN4UvUEaZA9LJWEKx1X1r+l91GjTWs1hNXhr7cw=";
|
||||
"settings-schema-0.2.0" = "sha256-luEdAKDTq76dMeo5kA+QDTHpRMFUg3n0qvyQ7DkId0k=";
|
||||
};
|
||||
};
|
||||
useFetchCargoVendor = true;
|
||||
cargoHash = "sha256-fw26EbdCnz7KtDmCDpvfy4fjYORL2KcnhzQBJDdNEuI=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
{
|
||||
blas,
|
||||
boost,
|
||||
cmake,
|
||||
fetchFromGitHub,
|
||||
gfortran12,
|
||||
lib,
|
||||
stdenv,
|
||||
tbb,
|
||||
zlib,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "papilo";
|
||||
version = "2.3.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "scipopt";
|
||||
repo = "papilo";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-rB8kRyBxd+zn3XFueTQoN16jbFpXMvneqatQm8Hh2Hg=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
blas
|
||||
boost
|
||||
cmake
|
||||
gfortran12
|
||||
zlib
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
propagatedBuildInputs = [ tbb ];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
doCheck = true;
|
||||
|
||||
meta = {
|
||||
homepage = "https://scipopt.org/";
|
||||
description = "Parallel Presolve for Integer and Linear Optimization";
|
||||
license = with lib.licenses; [ lgpl3Plus ];
|
||||
mainProgram = "papilo";
|
||||
maintainers = with lib.maintainers; [ david-r-cox ];
|
||||
platforms = lib.platforms.unix;
|
||||
};
|
||||
})
|
||||
@@ -0,0 +1,32 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
qt5,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "penguin-subtitle-player";
|
||||
version = "1.6.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "carsonip";
|
||||
repo = "Penguin-Subtitle-Player";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-AhdShg/eWqF44W1r+KmcHzbGKF2TNSD/wPKj+x4oQkM=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ qt5.wrapQtAppsHook ];
|
||||
|
||||
buildInputs = [ qt5.qmake ];
|
||||
|
||||
meta = {
|
||||
description = "Open-source, cross-platform and standalone subtitle player";
|
||||
homepage = "https://github.com/carsonip/Penguin-Subtitle-Player";
|
||||
license = lib.licenses.gpl3Only;
|
||||
maintainers = with lib.maintainers; [ eljamm ];
|
||||
platforms = lib.platforms.all;
|
||||
mainProgram = "PenguinSubtitlePlayer";
|
||||
};
|
||||
})
|
||||
@@ -21,13 +21,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "pmix";
|
||||
version = "5.0.4";
|
||||
version = "5.0.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
repo = "openpmix";
|
||||
owner = "openpmix";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-QsJm+4GnV5qrXVG3AwQxWas51AHcqycKjTpSG2/oOGU=";
|
||||
hash = "sha256-iyvD6uR+kHAs5uLD3NPBVSQUslAsH40dwtszhAsJvqw=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
||||
@@ -18,13 +18,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "prrte";
|
||||
version = "3.0.7";
|
||||
version = "3.0.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "openpmix";
|
||||
repo = "prrte";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-Jw9/M2rpGTA19qssDaZV+9FYlIvz8wgL5oUDdWwidHI=";
|
||||
hash = "sha256-4Xc6We0mXpKCwfHlmqi+WbFjdQegWHGzWrEnMVqkqtU=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
||||
@@ -14,17 +14,17 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "pylyzer";
|
||||
version = "0.0.73";
|
||||
version = "0.0.74";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mtshiba";
|
||||
repo = "pylyzer";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-rpF0xrk1PvgfJ0EOHWnCuSWfzLVzXErnKizbvFBP+pg=";
|
||||
hash = "sha256-NVCFwISPRTNgs4hn9ezp2Xb4r7xytziIByVSKyqt/lo=";
|
||||
};
|
||||
|
||||
useFetchCargoVendor = true;
|
||||
cargoHash = "sha256-pU230ghfHsJEcADoZH8/yP+fYDv21FPlwA0//SvHJWY=";
|
||||
cargoHash = "sha256-mNFRP6mT4mKKKg05nJcdd8qy6YFxWVADHIU9uGrEcng=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
git
|
||||
@@ -76,7 +76,7 @@ rustPlatform.buildRustPackage rec {
|
||||
meta = {
|
||||
description = "Fast static code analyzer & language server for Python";
|
||||
homepage = "https://github.com/mtshiba/pylyzer";
|
||||
changelog = "https://github.com/mtshiba/pylyzer/releases/tag/v${version}";
|
||||
changelog = "https://github.com/mtshiba/pylyzer/releases/tag/${src.tag}";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ natsukium ];
|
||||
mainProgram = "pylyzer";
|
||||
|
||||
@@ -63,7 +63,7 @@ stdenv.mkDerivation rec {
|
||||
];
|
||||
|
||||
passthru = {
|
||||
updateScript = unstableGitUpdater { rev-prefix = "v"; };
|
||||
updateScript = unstableGitUpdater { tagPrefix = "v"; };
|
||||
tests = {
|
||||
inherit (nixosTests) rtorrent;
|
||||
};
|
||||
|
||||
@@ -5,14 +5,14 @@
|
||||
}:
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "stylance-cli";
|
||||
version = "0.5.2";
|
||||
version = "0.5.3";
|
||||
|
||||
src = fetchCrate {
|
||||
inherit pname version;
|
||||
hash = "sha256-2RLdO2TxIa/ngji5tzKzSfpq2qErI7gaQqObDTMrd/g=";
|
||||
hash = "sha256-YN7Y8dxwpZel1SeEgyckh4ZPuRqcAsNvc/fGRgvzeDw=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-26EKLvqc9x7JT6EDkH9KbQJ+xX/CUslLmEF4XxnPbFY=";
|
||||
cargoHash = "sha256-VKfQzsTTKIbh+X0suXyUXDsd8sDSRsc5SnO8qxcxGPQ=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Library and cli tool for working with scoped CSS in rust";
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
Index: tcptrace-6.6.1/Makefile.in
|
||||
===================================================================
|
||||
--- tcptrace-6.6.1.orig/Makefile.in
|
||||
--- tcptrace-6.6.1/Makefile.in
|
||||
@@ -286,9 +286,9 @@
|
||||
# just a quick installation rule
|
||||
INSTALL = ./install-sh -c
|
||||
install: tcptrace install-man
|
||||
- $(INSTALL) -m 755 -o bin -g bin tcptrace ${BINDIR}/tcptrace
|
||||
+ $(INSTALL) -m 755 tcptrace ${BINDIR}/tcptrace
|
||||
install-man:
|
||||
- $(INSTALL) -m 444 -o bin -g bin tcptrace.man $(MANDIR)/man1/tcptrace.1
|
||||
+ $(INSTALL) -m 444 tcptrace.man $(MANDIR)/man1/tcptrace.1
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,54 @@
|
||||
{
|
||||
stdenv,
|
||||
fetchurl,
|
||||
lib,
|
||||
libpcap,
|
||||
}:
|
||||
stdenv.mkDerivation (final: {
|
||||
name = "tcptrace";
|
||||
version = "6.6.7";
|
||||
|
||||
srcs = [
|
||||
(fetchurl {
|
||||
# Home page was down on 2024-02-01, so use Debian mirror as fallback.
|
||||
urls = [
|
||||
"http://www.tcptrace.org/download/tcptrace-${final.version}.tar.gz"
|
||||
"mirror://debian/pool/main/t/tcptrace/tcptrace_${final.version}.orig.tar.gz"
|
||||
];
|
||||
hash = "sha256-YzgKQFGTPKCJeUdqnfxvlZMIvJ9g1FJVIC44jrVpEL0=";
|
||||
})
|
||||
(fetchurl {
|
||||
url = "mirror://debian/pool/main/t/tcptrace/tcptrace_6.6.7-6.debian.tar.xz";
|
||||
hash = "sha256-8rkwzdXcDOc3kACvrlyTQsnSw6AJgy6xA0YrECu63gY=";
|
||||
})
|
||||
];
|
||||
sourceRoot = "tcptrace-${final.version}";
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
"man"
|
||||
];
|
||||
|
||||
setOutputFlags = false;
|
||||
|
||||
patches = [ ./fix-owners.patch ];
|
||||
prePatch = ''
|
||||
patches_deb=(../debian/patches/bug*)
|
||||
patches+=" ''${patches_deb[*]}"
|
||||
'';
|
||||
|
||||
buildInputs = [ libpcap ];
|
||||
makeFlags = [
|
||||
"BINDIR=${placeholder "out"}/bin"
|
||||
"MANDIR=${placeholder "man"}/share/man"
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "Tool for analysis of TCP dump files";
|
||||
homepage = "http://www.tcptrace.org/";
|
||||
license = lib.licenses.gpl2Plus;
|
||||
maintainers = [ lib.maintainers.gmacon ];
|
||||
mainProgram = "tcptrace";
|
||||
platforms = lib.platforms.unix;
|
||||
};
|
||||
})
|
||||
@@ -8,17 +8,17 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "typstyle";
|
||||
version = "0.12.10";
|
||||
version = "0.12.12";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Enter-tainer";
|
||||
repo = "typstyle";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-nrsfp0T4QYLZw5F5R4iTewUjlZOErc/15c0O6O9BFBE=";
|
||||
hash = "sha256-oQnZm+BkccHN3xXSe1yBus3m4JKyCBKM9kkJz+QryR0=";
|
||||
};
|
||||
|
||||
useFetchCargoVendor = true;
|
||||
cargoHash = "sha256-gPsZRdksX+7sZWK7V/q17oZmN2kgQkApC66/3KowDCI=";
|
||||
cargoHash = "sha256-pbsB9mQafgI6PudjeCzOSpk3+iZkkdp/V1zgH8pP7us=";
|
||||
|
||||
# Disabling tests requiring network access
|
||||
checkFlags = [
|
||||
@@ -36,7 +36,7 @@ rustPlatform.buildRustPackage rec {
|
||||
};
|
||||
|
||||
meta = {
|
||||
changelog = "https://github.com/Enter-tainer/typstyle/blob/v${version}/CHANGELOG.md";
|
||||
changelog = "https://github.com/Enter-tainer/typstyle/blob/${src.tag}/CHANGELOG.md";
|
||||
description = "Format your typst source code";
|
||||
homepage = "https://github.com/Enter-tainer/typstyle";
|
||||
license = lib.licenses.asl20;
|
||||
|
||||
@@ -17,13 +17,13 @@
|
||||
}:
|
||||
let
|
||||
pname = "v2raya";
|
||||
version = "2.2.5.8";
|
||||
version = "2.2.6.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "v2rayA";
|
||||
repo = "v2rayA";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-yFN7mG5qS7BAuCSvSSZFFiyytd7XZ4kJvctc8cU72Oc=";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-Du7DqOkneOFBiPK5BeQtnKRsX0Tcuhq8iiugDMGTk7o=";
|
||||
postFetch = "sed -i -e 's/npmmirror/yarnpkg/g' $out/gui/yarn.lock";
|
||||
};
|
||||
|
||||
@@ -34,7 +34,7 @@ let
|
||||
|
||||
offlineCache = fetchYarnDeps {
|
||||
yarnLock = "${src}/gui/yarn.lock";
|
||||
hash = "sha256-AZIYkW2u1l9IaDpR9xiKNpc0sGAarLKwHf5kGnzdpKw=";
|
||||
hash = "sha256-AexW4FFGkQBQlci/FAm9rpfbPn76v+O3nMX3xHymhPw=";
|
||||
};
|
||||
|
||||
env.OUTPUT_DIR = placeholder "out";
|
||||
@@ -60,7 +60,7 @@ buildGoModule {
|
||||
|
||||
sourceRoot = "${src.name}/service";
|
||||
|
||||
vendorHash = "sha256-Oa7YmxcZr5scbhNeqGxJOkryL2uHQQ3RkLGWJaIXq3s=";
|
||||
vendorHash = "sha256-kK99Y0CgesvlaM2WsFIPgdtWo2975m9TqyJXoNv43yU=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
@@ -87,12 +87,12 @@ buildGoModule {
|
||||
--prefix XDG_DATA_DIRS ":" ${assetsDir}/share
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
meta = {
|
||||
description = "Linux web GUI client of Project V which supports V2Ray, Xray, SS, SSR, Trojan and Pingtunnel";
|
||||
homepage = "https://github.com/v2rayA/v2rayA";
|
||||
mainProgram = "v2rayA";
|
||||
license = licenses.agpl3Only;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ ChaosAttractor ];
|
||||
license = lib.licenses.agpl3Only;
|
||||
platforms = lib.platforms.linux;
|
||||
maintainers = with lib.maintainers; [ ChaosAttractor ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -8,13 +8,13 @@
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "vulnix";
|
||||
version = "1.10.1-unstable-2024-04-02";
|
||||
version = "1.10.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "nix-community";
|
||||
repo = "vulnix";
|
||||
rev = "ebd8ea84553c0fd95bc3042584b495560821500f";
|
||||
hash = "sha256-huC520cLPjcmnbh+qOamyVfiIJNrCUpwK+orEp+X2LQ=";
|
||||
rev = "9abfc80da0b4135e982332e448a3969f3b28785b";
|
||||
hash = "sha256-gSgAGN7LlciW4uY3VS49CbZ9WuRUcduJ5V7JesA8OVo=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
@@ -67,6 +67,6 @@ python3Packages.buildPythonApplication rec {
|
||||
mainProgram = "vulnix";
|
||||
homepage = "https://github.com/nix-community/vulnix";
|
||||
license = licenses.bsd3;
|
||||
maintainers = with maintainers; [ ckauhaus ];
|
||||
maintainers = with maintainers; [ henrirosten ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -21,13 +21,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "xed-editor";
|
||||
version = "3.6.9";
|
||||
version = "3.8.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxmint";
|
||||
repo = "xed";
|
||||
rev = version;
|
||||
hash = "sha256-QPP7LWAiyKt7YBX88qlLS7PucQODH/c/j5WAbO9SF6k=";
|
||||
hash = "sha256-q6lhgax3W51rtgmmROcrzxgaxz5J9r7CcPwhYDt/A5Y=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
||||
@@ -240,6 +240,14 @@ self: super: {
|
||||
];
|
||||
}) super.statistics;
|
||||
|
||||
# Work around -Werror failures until a more permanent solution is released
|
||||
# https://github.com/haskell-cryptography/HsOpenSSL/issues/88
|
||||
# https://github.com/haskell-cryptography/HsOpenSSL/issues/93
|
||||
# https://github.com/haskell-cryptography/HsOpenSSL/issues/95
|
||||
HsOpenSSL = appendConfigureFlags [
|
||||
"--ghc-option=-optc=-Wno-incompatible-pointer-types"
|
||||
] super.HsOpenSSL;
|
||||
|
||||
# There are numerical tests on random data, that may fail occasionally
|
||||
lapack = dontCheck super.lapack;
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchgit
|
||||
, fetchpatch
|
||||
, cmake
|
||||
, pkg-config
|
||||
, libusb1
|
||||
@@ -29,6 +30,16 @@ stdenv.mkDerivation rec {
|
||||
hash = "sha256-U37M5P7itTF1262oW+txbKxcw2lhYHAwy1ML51SDVMs=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
# http://developer.intra2net.com/mailarchive/html/libftdi/2024/msg00024.html
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=2319133
|
||||
name = "swig-4.3.0-fix.patch";
|
||||
url = "https://src.fedoraproject.org/rpms/libftdi/raw/9051ea9ea767eced58b69d855a5d700a5d4602cc/f/libftdi-1.5-swig-4.3.patch";
|
||||
hash = "sha256-X5tqiPewnyAyvLzR6s0VbNpZKLd0idtPGU4ro36CZHI=";
|
||||
})
|
||||
];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
nativeBuildInputs = [ cmake pkg-config ]
|
||||
@@ -59,14 +70,6 @@ stdenv.mkDerivation rec {
|
||||
cp -r doc/html "$out/share/doc/libftdi1/"
|
||||
'';
|
||||
|
||||
postFixup = optionalString cppSupport ''
|
||||
# This gets misassigned to the C++ version's path for some reason
|
||||
for fileToFix in $out/{bin/libftdi1-config,lib/pkgconfig/libftdi1.pc}; do
|
||||
substituteInPlace $fileToFix \
|
||||
--replace "$out/include/libftdipp1" "$out/include/libftdi1"
|
||||
done
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Library to talk to FTDI chips using libusb";
|
||||
homepage = "https://www.intra2net.com/en/developer/libftdi/";
|
||||
|
||||
@@ -23,6 +23,10 @@ buildDunePackage rec {
|
||||
|
||||
doCheck = true;
|
||||
|
||||
preCheck = ''
|
||||
export DUNE_CACHE=disabled
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Hexdump in OCaml";
|
||||
homepage = "https://github.com/dinosaure/hxd";
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ lib, fetchFromGitHub, buildDunePackage, logs, zarith }:
|
||||
{ lib, fetchFromGitHub, fetchpatch, buildDunePackage, logs, zarith }:
|
||||
|
||||
buildDunePackage rec {
|
||||
pname = "ocplib-simplex";
|
||||
@@ -11,6 +11,13 @@ buildDunePackage rec {
|
||||
hash = "sha256-fLTht+TlyJIsIAsRLmmkFKsnbSeW3BgyAyURFdnGfko=";
|
||||
};
|
||||
|
||||
# Fix tests with dune 3.17.0
|
||||
# See https://github.com/OCamlPro/ocplib-simplex/issues/35
|
||||
patches = (fetchpatch {
|
||||
url = "https://github.com/OCamlPro/ocplib-simplex/commit/456a744bddd397daade7959d4a49cfadafdadd33.patch";
|
||||
hash = "sha256-tQUXOoRGe1AIzHcm6j2MopROxn75OE9YUP+CwcKUbVg=";
|
||||
});
|
||||
|
||||
propagatedBuildInputs = [ logs zarith ];
|
||||
|
||||
doCheck = true;
|
||||
|
||||
@@ -17,6 +17,11 @@ buildDunePackage {
|
||||
melange
|
||||
];
|
||||
doCheck = true;
|
||||
# Fix tests with dune 3.17.0
|
||||
# See https://github.com/reasonml/reason-react/issues/870
|
||||
preCheck = ''
|
||||
export DUNE_CACHE=disabled
|
||||
'';
|
||||
meta = reason-react-ppx.meta // {
|
||||
description = "Reason bindings for React.js";
|
||||
};
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
poetry-core,
|
||||
pytest-cov-stub,
|
||||
pytestCheckHook,
|
||||
pythonOlder,
|
||||
}:
|
||||
@@ -25,11 +26,6 @@ buildPythonPackage rec {
|
||||
hash = "sha256-m2jsXLrj2yS2Wi2dSwyxBv/nXmU738gd5iJ1JVfakUg=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace pyproject.toml \
|
||||
--replace-fail "-v -Wdefault --cov=airthings_ble --cov-report=term-missing:skip-covered" ""
|
||||
'';
|
||||
|
||||
build-system = [ poetry-core ];
|
||||
|
||||
dependencies = [
|
||||
@@ -38,7 +34,10 @@ buildPythonPackage rec {
|
||||
bleak-retry-connector
|
||||
] ++ lib.optionals (pythonOlder "3.11") [ async-timeout ];
|
||||
|
||||
nativeCheckInputs = [ pytestCheckHook ];
|
||||
nativeCheckInputs = [
|
||||
pytest-cov-stub
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "airthings_ble" ];
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
poetry-core,
|
||||
pytest-cov-stub,
|
||||
pytestCheckHook,
|
||||
pythonOlder,
|
||||
sensor-state-data,
|
||||
@@ -13,31 +14,29 @@
|
||||
buildPythonPackage rec {
|
||||
pname = "bluemaestro-ble";
|
||||
version = "0.2.3";
|
||||
format = "pyproject";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.9";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Bluetooth-Devices";
|
||||
repo = pname;
|
||||
repo = "bluemaestro-ble";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-mJ5JNGN4F9U3WMJQDwiZwuxE0zOirwo1sWF3/bVwXhY=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ poetry-core ];
|
||||
build-system = [ poetry-core ];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
dependencies = [
|
||||
bluetooth-data-tools
|
||||
bluetooth-sensor-state-data
|
||||
sensor-state-data
|
||||
];
|
||||
|
||||
nativeCheckInputs = [ pytestCheckHook ];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace pyproject.toml \
|
||||
--replace " --cov=bluemaestro_ble --cov-report=term-missing:skip-covered" ""
|
||||
'';
|
||||
nativeCheckInputs = [
|
||||
pytest-cov-stub
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "bluemaestro_ble" ];
|
||||
|
||||
@@ -45,7 +44,7 @@ buildPythonPackage rec {
|
||||
description = "Library for bluemaestro BLE devices";
|
||||
homepage = "https://github.com/Bluetooth-Devices/bluemaestro-ble";
|
||||
changelog = "https://github.com/Bluetooth-Devices/bluemaestro-ble/blob/v${version}/CHANGELOG.md";
|
||||
license = with licenses; [ mit ];
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ fab ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
cryptography,
|
||||
fetchFromGitHub,
|
||||
poetry-core,
|
||||
pytest-cov-stub,
|
||||
pytestCheckHook,
|
||||
pythonOlder,
|
||||
pytz,
|
||||
@@ -26,11 +27,6 @@ buildPythonPackage rec {
|
||||
hash = "sha256-TlZyNGfHNKN+6tCKepLS+fbgfq3a1uzeCXl25khl6d8=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace pyproject.toml \
|
||||
--replace-fail " --cov=bthome_ble --cov-report=term-missing:skip-covered" ""
|
||||
'';
|
||||
|
||||
build-system = [ poetry-core ];
|
||||
|
||||
dependencies = [
|
||||
@@ -41,7 +37,10 @@ buildPythonPackage rec {
|
||||
pytz
|
||||
];
|
||||
|
||||
nativeCheckInputs = [ pytestCheckHook ];
|
||||
nativeCheckInputs = [
|
||||
pytest-cov-stub
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "bthome_ble" ];
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "craft-cli";
|
||||
version = "2.10.1";
|
||||
version = "2.12.0";
|
||||
|
||||
pyproject = true;
|
||||
|
||||
@@ -21,7 +21,7 @@ buildPythonPackage rec {
|
||||
owner = "canonical";
|
||||
repo = "craft-cli";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-XKRV5VJLC3B5gcNr/icOxWB6pDXDT7MV5wM/vEQHVm4=";
|
||||
hash = "sha256-edN0eEXBaYDUqSc7Xv22MpG9wkHqI6x1HtRkQ468yH8=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
||||
@@ -13,14 +13,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "cytoolz";
|
||||
version = "1.0.0";
|
||||
version = "1.0.1";
|
||||
pyproject = true;
|
||||
|
||||
disabled = isPy27 || isPyPy;
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-60U7MBghUvmRelGJt9mQRrbOkM34rrD+/0smg+YA3v0=";
|
||||
hash = "sha256-icwxYbieG7Ptdjb3TtLlWYT9NVFpBPyHjK4hbkKyx9Y=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -1,93 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
arrow,
|
||||
blessed,
|
||||
buildPythonPackage,
|
||||
croniter,
|
||||
django,
|
||||
django-picklefield,
|
||||
django-redis,
|
||||
fetchFromGitHub,
|
||||
future,
|
||||
pkgs,
|
||||
poetry-core,
|
||||
pytest-django,
|
||||
pytest-mock,
|
||||
pytestCheckHook,
|
||||
pythonOlder,
|
||||
redis,
|
||||
setuptools,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "django-q";
|
||||
version = "1.3.9";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Koed00";
|
||||
repo = "django-q";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-gFSrAl3QGoJEJfvTTvLQgViPPjeJ6BfvgEwgLLo+uAA=";
|
||||
};
|
||||
|
||||
patches = [ ./pep-621.patch ];
|
||||
|
||||
build-system = [
|
||||
poetry-core
|
||||
];
|
||||
|
||||
pythonRelaxDeps = [
|
||||
"redis"
|
||||
];
|
||||
|
||||
dependencies = [
|
||||
django-picklefield
|
||||
arrow
|
||||
blessed
|
||||
django
|
||||
future
|
||||
setuptools # for pkg_resources
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
croniter
|
||||
django-redis
|
||||
pytest-django
|
||||
pytest-mock
|
||||
pytestCheckHook
|
||||
] ++ django-redis.optional-dependencies.hiredis;
|
||||
|
||||
pythonImportsCheck = [ "django_q" ];
|
||||
|
||||
preCheck = ''
|
||||
${pkgs.redis}/bin/redis-server &
|
||||
REDIS_PID=$!
|
||||
'';
|
||||
|
||||
postCheck = ''
|
||||
kill $REDIS_PID
|
||||
'';
|
||||
|
||||
# don't bother with two more servers to test
|
||||
disabledTests = [
|
||||
"test_disque"
|
||||
"test_mongo"
|
||||
];
|
||||
|
||||
doCheck = !stdenv.hostPlatform.isDarwin;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Multiprocessing distributed task queue for Django";
|
||||
homepage = "https://django-q.readthedocs.org";
|
||||
changelog = "https://github.com/Koed00/django-q/releases/tag/v${version}";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ gador ];
|
||||
# django-q is unmaintained at the moment
|
||||
# https://github.com/Koed00/django-q/issues/733
|
||||
broken = lib.versionAtLeast redis.version "5";
|
||||
};
|
||||
}
|
||||
@@ -1,24 +0,0 @@
|
||||
diff --git a/pyproject.toml b/pyproject.toml
|
||||
index 9a83e90..07068ac 100644
|
||||
--- a/pyproject.toml
|
||||
+++ b/pyproject.toml
|
||||
@@ -67,13 +67,15 @@ pytest-cov = "^2.12.0"
|
||||
black = { version = "^21.5b1", allow-prereleases = true }
|
||||
isort = {extras = ["requirements_deprecated_finder"], version = "^5.8.0"}
|
||||
|
||||
-[tool.poetry.extras]
|
||||
+[build-system]
|
||||
requires = ["poetry_core>=1.0.0"]
|
||||
-build-backend = ["poetry.core.masonry.api"]
|
||||
+build-backend = "poetry.core.masonry.api"
|
||||
+
|
||||
+[tool.poetry.extras]
|
||||
testing = ["django-redis", "croniter", "hiredis", "psutil", "iron-mq", "boto3", "pymongo"]
|
||||
rollbar = ["django-q-rollbar"]
|
||||
sentry = ["django-q-sentry"]
|
||||
|
||||
[tool.isort]
|
||||
profile = "black"
|
||||
-multi_line_output = 3
|
||||
\ No newline at end of file
|
||||
+multi_line_output = 3
|
||||
@@ -0,0 +1,99 @@
|
||||
{
|
||||
lib,
|
||||
arrow,
|
||||
blessed,
|
||||
bson,
|
||||
buildPythonPackage,
|
||||
croniter,
|
||||
django,
|
||||
django-picklefield,
|
||||
django-redis,
|
||||
fetchFromGitHub,
|
||||
hiredis,
|
||||
pkgs,
|
||||
poetry-core,
|
||||
pytest-django,
|
||||
pytestCheckHook,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "django-q2";
|
||||
version = "1.7.4";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "django-q2";
|
||||
repo = "django-q2";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-mp/IZkfT64xW42B1TEO6lSHxvLQbeH4td8vqZH7wUxM=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace django_q/tests/settings.py \
|
||||
--replace-fail "HiredisParser" "_HiredisParser"
|
||||
'';
|
||||
|
||||
build-system = [
|
||||
poetry-core
|
||||
];
|
||||
|
||||
dependencies = [
|
||||
arrow
|
||||
bson # required for mongodb but undocumented
|
||||
django
|
||||
django-picklefield
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
blessed
|
||||
croniter
|
||||
django-redis
|
||||
# pyredis refuses to load with hiredis<3.0.0
|
||||
(hiredis.overrideAttrs (
|
||||
new: old: {
|
||||
version = "3.1.0";
|
||||
src = old.src.override {
|
||||
rev = "refs/tags/v${new.version}";
|
||||
hash = "sha256-ID5OJdARd2N2GYEpcYOpxenpZlhWnWr5fAClAgqEgGg=";
|
||||
};
|
||||
}
|
||||
))
|
||||
pytest-django
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "django_q" ];
|
||||
|
||||
preCheck = ''
|
||||
${pkgs.redis}/bin/redis-server &
|
||||
REDIS_PID=$!
|
||||
'';
|
||||
|
||||
postCheck = ''
|
||||
kill $REDIS_PID
|
||||
'';
|
||||
|
||||
env = {
|
||||
MONGO_HOST = "127.0.0.1";
|
||||
REDIS_HOST = "127.0.0.1";
|
||||
};
|
||||
|
||||
disabledTests = [
|
||||
# requires a running mongodb
|
||||
"test_mongo"
|
||||
];
|
||||
|
||||
disabledTestPaths = [
|
||||
"django_q/tests/test_commands.py"
|
||||
];
|
||||
|
||||
pytestFlagsArray = [ "-vv" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Multiprocessing distributed task queue for Django based on Django-Q";
|
||||
homepage = "https://github.com/django-q2/django-q2";
|
||||
changelog = "https://github.com/django-q2/django-q2/releases/tag/v${version}";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ SuperSandro2000 ];
|
||||
};
|
||||
}
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "galois";
|
||||
version = "0.4.2";
|
||||
version = "0.4.3";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
@@ -21,8 +21,8 @@ buildPythonPackage rec {
|
||||
src = fetchFromGitHub {
|
||||
owner = "mhostetter";
|
||||
repo = "galois";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-DbmrrNw7XwTL4i6pJIfkBOUs+KGEmdV2FmQa1xfOHYU=";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-1gKL97oS06vgq4gpQSXeMfKzAtjAGQnB48W5BOiMBHA=";
|
||||
};
|
||||
|
||||
pythonRelaxDeps = [
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "google-cloud-datastore";
|
||||
version = "2.20.1";
|
||||
version = "2.20.2";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
@@ -25,7 +25,7 @@ buildPythonPackage rec {
|
||||
src = fetchPypi {
|
||||
pname = "google_cloud_datastore";
|
||||
inherit version;
|
||||
hash = "sha256-B5ULnIhlCHxWX0X6P916BdTD2ZrfeeEMP1lv8Ip9m7o=";
|
||||
hash = "sha256-lmXQCXKdlVEynZR29NW9qcEdNGkkPqiiwNlJC2WqiZ8=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
fetchFromGitHub,
|
||||
home-assistant-bluetooth,
|
||||
poetry-core,
|
||||
pytest-cov-stub,
|
||||
pytestCheckHook,
|
||||
pythonOlder,
|
||||
sensor-state-data,
|
||||
@@ -25,11 +26,6 @@ buildPythonPackage rec {
|
||||
hash = "sha256-w21paR1VTV/ZFnl9SKkJmFFDZMPgA3d7P6blceVvnVk=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace pyproject.toml \
|
||||
--replace-fail " --cov=govee_ble --cov-report=term-missing:skip-covered" ""
|
||||
'';
|
||||
|
||||
build-system = [ poetry-core ];
|
||||
|
||||
dependencies = [
|
||||
@@ -39,7 +35,10 @@ buildPythonPackage rec {
|
||||
sensor-state-data
|
||||
];
|
||||
|
||||
nativeCheckInputs = [ pytestCheckHook ];
|
||||
nativeCheckInputs = [
|
||||
pytest-cov-stub
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "govee_ble" ];
|
||||
|
||||
|
||||
@@ -7,6 +7,8 @@
|
||||
home-assistant-bluetooth,
|
||||
mac-vendor-lookup,
|
||||
poetry-core,
|
||||
pytest-asyncio,
|
||||
pytest-cov-stub,
|
||||
pytestCheckHook,
|
||||
pythonOlder,
|
||||
}:
|
||||
@@ -25,21 +27,20 @@ buildPythonPackage rec {
|
||||
hash = "sha256-1liSWxduYpjIMu7226EH4bsc7gca5g/fyL79W4ZMdU4=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace pyproject.toml \
|
||||
--replace-fail " --cov=ibeacon_ble --cov-report=term-missing:skip-covered" ""
|
||||
'';
|
||||
build-system = [ poetry-core ];
|
||||
|
||||
nativeBuildInputs = [ poetry-core ];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
dependencies = [
|
||||
aiohttp
|
||||
aiooui
|
||||
home-assistant-bluetooth
|
||||
mac-vendor-lookup
|
||||
];
|
||||
|
||||
nativeCheckInputs = [ pytestCheckHook ];
|
||||
nativeCheckInputs = [
|
||||
pytest-asyncio
|
||||
pytest-cov-stub
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "ibeacon_ble" ];
|
||||
|
||||
@@ -47,7 +48,7 @@ buildPythonPackage rec {
|
||||
description = "Library for iBeacon BLE devices";
|
||||
homepage = "https://github.com/Bluetooth-Devices/ibeacon-ble";
|
||||
changelog = "https://github.com/Bluetooth-Devices/ibeacon-ble/blob/v${version}/CHANGELOG.md";
|
||||
license = with licenses; [ mit ];
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ fab ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -13,14 +13,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "imgw-pib";
|
||||
version = "1.0.6";
|
||||
version = "1.0.7";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bieniu";
|
||||
repo = "imgw-pib";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-0ttGUsu00y/uuTXzPYkgh1QLMYOwPI/m8Qwk5Ty0Y3A=";
|
||||
tag = version;
|
||||
hash = "sha256-vhLBnUjCq9OUQViVWJT6jgcEeRYsjz307x1o28ZUv0g=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "incomfort-client";
|
||||
version = "0.6.3-1";
|
||||
version = "0.6.4";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
@@ -20,8 +20,8 @@ buildPythonPackage rec {
|
||||
src = fetchFromGitHub {
|
||||
owner = "zxdavb";
|
||||
repo = "incomfort-client";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-I6MAFvODkw2QadzXJacFl/TwA6exfBB1PSDslmT7Ysw=";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-fyQKkwHQEvRNTh1IBqE0/YSskBfrFEequ+VxoHSeShA=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
fetchFromGitHub,
|
||||
home-assistant-bluetooth,
|
||||
poetry-core,
|
||||
pytest-cov-stub,
|
||||
pytestCheckHook,
|
||||
pythonOlder,
|
||||
sensor-state-data,
|
||||
@@ -14,32 +15,30 @@
|
||||
buildPythonPackage rec {
|
||||
pname = "inkbird-ble";
|
||||
version = "0.5.8";
|
||||
format = "pyproject";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.9";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Bluetooth-Devices";
|
||||
repo = pname;
|
||||
repo = "inkbird-ble";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-cUqU4XaY7CORhzy0AGjXI5c5ka+PnF4cHdyopyEBcLo=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ poetry-core ];
|
||||
build-system = [ poetry-core ];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
dependencies = [
|
||||
bluetooth-data-tools
|
||||
bluetooth-sensor-state-data
|
||||
home-assistant-bluetooth
|
||||
sensor-state-data
|
||||
];
|
||||
|
||||
nativeCheckInputs = [ pytestCheckHook ];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace pyproject.toml \
|
||||
--replace " --cov=inkbird_ble --cov-report=term-missing:skip-covered" ""
|
||||
'';
|
||||
nativeCheckInputs = [
|
||||
pytest-cov-stub
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "inkbird_ble" ];
|
||||
|
||||
@@ -47,7 +46,7 @@ buildPythonPackage rec {
|
||||
description = "Library for Inkbird BLE devices";
|
||||
homepage = "https://github.com/Bluetooth-Devices/inkbird-ble";
|
||||
changelog = "https://github.com/Bluetooth-Devices/inkbird-ble/blob/v${version}/CHANGELOG.md";
|
||||
license = with licenses; [ mit ];
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ fab ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
poetry-core,
|
||||
pytest-cov-stub,
|
||||
pytestCheckHook,
|
||||
pythonOlder,
|
||||
sensor-state-data,
|
||||
@@ -13,31 +14,29 @@
|
||||
buildPythonPackage rec {
|
||||
pname = "kegtron-ble";
|
||||
version = "0.4.0";
|
||||
format = "pyproject";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.9";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Bluetooth-Devices";
|
||||
repo = pname;
|
||||
repo = "kegtron-ble";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-O5I5shW8nL2RAQptS2Bp/GI/4L6o0xXXmwYvRq0MM8o=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ poetry-core ];
|
||||
build-system = [ poetry-core ];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
dependencies = [
|
||||
bluetooth-data-tools
|
||||
bluetooth-sensor-state-data
|
||||
sensor-state-data
|
||||
];
|
||||
|
||||
nativeCheckInputs = [ pytestCheckHook ];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace pyproject.toml \
|
||||
--replace " --cov=kegtron_ble --cov-report=term-missing:skip-covered" ""
|
||||
'';
|
||||
nativeCheckInputs = [
|
||||
pytest-cov-stub
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "kegtron_ble" ];
|
||||
|
||||
@@ -45,7 +44,7 @@ buildPythonPackage rec {
|
||||
description = "Library for Kegtron BLE devices";
|
||||
homepage = "https://github.com/Bluetooth-Devices/kegtron-ble";
|
||||
changelog = "https://github.com/Bluetooth-Devices/kegtron-ble/blob/v${version}/CHANGELOG.md";
|
||||
license = with licenses; [ mit ];
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ fab ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
{
|
||||
lib,
|
||||
async-timeout,
|
||||
bleak,
|
||||
bleak-retry-connector,
|
||||
bleak,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
poetry-core,
|
||||
pytest-cov-stub,
|
||||
pytestCheckHook,
|
||||
pythonOlder,
|
||||
}:
|
||||
@@ -13,31 +14,29 @@
|
||||
buildPythonPackage rec {
|
||||
pname = "ld2410-ble";
|
||||
version = "0.2.0";
|
||||
format = "pyproject";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.9";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "930913";
|
||||
repo = pname;
|
||||
repo = "ld2410-ble";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-wQnE2hNT0UOnPJbHq1eayIO8g0XRZvEH6V19DL6RqoA=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace pyproject.toml \
|
||||
--replace " --cov=ld2410_ble --cov-report=term-missing:skip-covered" ""
|
||||
'';
|
||||
build-system = [ poetry-core ];
|
||||
|
||||
nativeBuildInputs = [ poetry-core ];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
dependencies = [
|
||||
async-timeout
|
||||
bleak
|
||||
bleak-retry-connector
|
||||
];
|
||||
|
||||
nativeCheckInputs = [ pytestCheckHook ];
|
||||
nativeCheckInputs = [
|
||||
pytest-cov-stub
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "ld2410_ble" ];
|
||||
|
||||
@@ -45,7 +44,7 @@ buildPythonPackage rec {
|
||||
description = "Library for the LD2410B modules from HiLinks";
|
||||
homepage = "https://github.com/930913/ld2410-ble";
|
||||
changelog = "https://github.com/930913/ld2410-ble/blob/v${version}/CHANGELOG.md";
|
||||
license = with licenses; [ mit ];
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ fab ];
|
||||
};
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user