Merge master into staging-next

This commit is contained in:
github-actions[bot] 2023-01-29 18:01:12 +00:00 committed by GitHub
commit 7b3f0537af
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
60 changed files with 9272 additions and 925 deletions

View file

@ -13,6 +13,7 @@ with import <nixpkgs> {};
let let
androidComposition = androidenv.composeAndroidPackages { androidComposition = androidenv.composeAndroidPackages {
cmdLineToolsVersion = "8.0";
toolsVersion = "26.1.1"; toolsVersion = "26.1.1";
platformToolsVersion = "30.0.5"; platformToolsVersion = "30.0.5";
buildToolsVersions = [ "30.0.3" ]; buildToolsVersions = [ "30.0.3" ];
@ -42,7 +43,10 @@ exceptions are the tools, platform-tools and build-tools sub packages.
The following parameters are supported: The following parameters are supported:
* `toolsVersion`, specifies the version of the tools package to use * `cmdLineToolsVersion `, specifies the version of the `cmdline-tools` package to use
* `toolsVersion`, specifies the version of the `tools` package. Notice `tools` is
obsolete, and currently only `26.1.1` is available, so there's not a lot of
options here, however, you can set it as `null` if you don't want it.
* `platformsToolsVersion` specifies the version of the `platform-tools` plugin * `platformsToolsVersion` specifies the version of the `platform-tools` plugin
* `buildToolsVersions` specifies the versions of the `build-tools` plugins to * `buildToolsVersions` specifies the versions of the `build-tools` plugins to
use. use.

View file

@ -952,6 +952,7 @@ let
''; '';
} else { } else {
name = "RenameInterface"; name = "RenameInterface";
nodes = { };
testScript = ""; testScript = "";
}; };
# even with disabled networkd, systemd.network.links should work # even with disabled networkd, systemd.network.links should work

View file

@ -62,7 +62,7 @@ let
rm -rf bin/gdb/linux rm -rf bin/gdb/linux
ln -s ${gdb} bin/gdb/linux ln -s ${gdb} bin/gdb/linux
ls -d $PWD/bin/lldb/linux/lib/python3.8/lib-dynload/* | ls -d $PWD/bin/lldb/linux/x64/lib/python3.8/lib-dynload/* |
xargs patchelf \ xargs patchelf \
--replace-needed libssl.so.10 libssl.so \ --replace-needed libssl.so.10 libssl.so \
--replace-needed libcrypto.so.10 libcrypto.so --replace-needed libcrypto.so.10 libcrypto.so

View file

@ -3,26 +3,26 @@
"clion": { "clion": {
"update-channel": "CLion RELEASE", "update-channel": "CLion RELEASE",
"url-template": "https://download.jetbrains.com/cpp/CLion-{version}.tar.gz", "url-template": "https://download.jetbrains.com/cpp/CLion-{version}.tar.gz",
"version": "2022.3.1", "version": "2022.3.2",
"sha256": "cd057a0aa96cf5b4216a436136a1002e6f3dc578bcd8a69f98d6908381b03526", "sha256": "896e9cc5b908aa51e091201c320f6f08033f9064382e44b107fccc554ed94895",
"url": "https://download.jetbrains.com/cpp/CLion-2022.3.1.tar.gz", "url": "https://download.jetbrains.com/cpp/CLion-2022.3.2.tar.gz",
"build_number": "223.8214.51" "build_number": "223.8617.54"
}, },
"datagrip": { "datagrip": {
"update-channel": "DataGrip RELEASE", "update-channel": "DataGrip RELEASE",
"url-template": "https://download.jetbrains.com/datagrip/datagrip-{version}.tar.gz", "url-template": "https://download.jetbrains.com/datagrip/datagrip-{version}.tar.gz",
"version": "2022.3.2", "version": "2022.3.3",
"sha256": "e542111e490fbbc80d3aebcbbc343b29e17bf6766d7b708675618d8e49b6ee83", "sha256": "a5575ff7e80dd4e9390eb64fc54ed4a924403950da0c38da548de3c4bd97b34b",
"url": "https://download.jetbrains.com/datagrip/datagrip-2022.3.2.tar.gz", "url": "https://download.jetbrains.com/datagrip/datagrip-2022.3.3.tar.gz",
"build_number": "223.8214.62" "build_number": "223.8617.3"
}, },
"gateway": { "gateway": {
"update-channel": "Gateway RELEASE", "update-channel": "Gateway RELEASE",
"url-template": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-{version}.tar.gz", "url-template": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-{version}.tar.gz",
"version": "2022.3.1", "version": "2022.3.2",
"sha256": "7bfe02c1b414c2fc095deab35fa40ed29a129bfa76efc3e31a2785f0f37fa778", "sha256": "987f6dca9518da262f556ba1a5afe6190cc5c13a6692c194b4f9ee05d4e66318",
"url": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-223.8214.51.tar.gz", "url": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-223.8617.56.tar.gz",
"build_number": "223.8214.51" "build_number": "223.8617.56"
}, },
"goland": { "goland": {
"update-channel": "GoLand RELEASE", "update-channel": "GoLand RELEASE",
@ -35,18 +35,18 @@
"idea-community": { "idea-community": {
"update-channel": "IntelliJ IDEA RELEASE", "update-channel": "IntelliJ IDEA RELEASE",
"url-template": "https://download.jetbrains.com/idea/ideaIC-{version}.tar.gz", "url-template": "https://download.jetbrains.com/idea/ideaIC-{version}.tar.gz",
"version": "2022.3.1", "version": "2022.3.2",
"sha256": "4c3514642ce6c86e5343cc29b01c06ddc9c55f134bcb6650de5d7d36205799e8", "sha256": "02bc35281eb4e1285eeb9d797ec2b31ec7370e320ad0e89f6f1fa704d78ec4bf",
"url": "https://download.jetbrains.com/idea/ideaIC-2022.3.1.tar.gz", "url": "https://download.jetbrains.com/idea/ideaIC-2022.3.2.tar.gz",
"build_number": "223.8214.52" "build_number": "223.8617.56"
}, },
"idea-ultimate": { "idea-ultimate": {
"update-channel": "IntelliJ IDEA RELEASE", "update-channel": "IntelliJ IDEA RELEASE",
"url-template": "https://download.jetbrains.com/idea/ideaIU-{version}.tar.gz", "url-template": "https://download.jetbrains.com/idea/ideaIU-{version}.tar.gz",
"version": "2022.3.1", "version": "2022.3.2",
"sha256": "ce807ba3a776e14f85dbd38f2744fc97e54318561eddd1c265f0d2cacc2565da", "sha256": "6fa3aff1c730bb79bf3e2e29edcce6d4cdbccfa631524c6253de518be6b6f3d2",
"url": "https://download.jetbrains.com/idea/ideaIU-2022.3.1.tar.gz", "url": "https://download.jetbrains.com/idea/ideaIU-2022.3.2.tar.gz",
"build_number": "223.8214.52" "build_number": "223.8617.56"
}, },
"mps": { "mps": {
"update-channel": "MPS RELEASE", "update-channel": "MPS RELEASE",
@ -68,26 +68,26 @@
"pycharm-community": { "pycharm-community": {
"update-channel": "PyCharm RELEASE", "update-channel": "PyCharm RELEASE",
"url-template": "https://download.jetbrains.com/python/pycharm-community-{version}.tar.gz", "url-template": "https://download.jetbrains.com/python/pycharm-community-{version}.tar.gz",
"version": "2022.3.1", "version": "2022.3.2",
"sha256": "b243103f27cfb763106a2f5667d8f201562154755ce9746e81e88c80acd7b316", "sha256": "0ae72d1931a6effbeb2329f6e5c35859d933798a494479f066ef0a7b2be6b553",
"url": "https://download.jetbrains.com/python/pycharm-community-2022.3.1.tar.gz", "url": "https://download.jetbrains.com/python/pycharm-community-2022.3.2.tar.gz",
"build_number": "223.8214.51" "build_number": "223.8617.48"
}, },
"pycharm-professional": { "pycharm-professional": {
"update-channel": "PyCharm RELEASE", "update-channel": "PyCharm RELEASE",
"url-template": "https://download.jetbrains.com/python/pycharm-professional-{version}.tar.gz", "url-template": "https://download.jetbrains.com/python/pycharm-professional-{version}.tar.gz",
"version": "2022.3.1", "version": "2022.3.2",
"sha256": "8f845077cc0fa3582348ee3d76a69ff001391b3f3d63a9b279b8039fd6e07622", "sha256": "56430090dd471e106fdc48463027d89de624759f8757248ced9776978854e4f6",
"url": "https://download.jetbrains.com/python/pycharm-professional-2022.3.1.tar.gz", "url": "https://download.jetbrains.com/python/pycharm-professional-2022.3.2.tar.gz",
"build_number": "223.8214.51" "build_number": "223.8617.48"
}, },
"rider": { "rider": {
"update-channel": "Rider RELEASE", "update-channel": "Rider RELEASE",
"url-template": "https://download.jetbrains.com/rider/JetBrains.Rider-{version}.tar.gz", "url-template": "https://download.jetbrains.com/rider/JetBrains.Rider-{version}.tar.gz",
"version": "2022.3.1", "version": "2022.3.2",
"sha256": "d785f02e355983c6762248860052a81f75b392e25b585ff5a913aeaa2a2a3010", "sha256": "ad853b75bc1e1379593bece3a5fbecec21d1de30263d0d5fef067a352b7d27ef",
"url": "https://download.jetbrains.com/rider/JetBrains.Rider-2022.3.1.tar.gz", "url": "https://download.jetbrains.com/rider/JetBrains.Rider-2022.3.2.tar.gz",
"build_number": "223.8214.53" "build_number": "223.8617.53"
}, },
"ruby-mine": { "ruby-mine": {
"update-channel": "RubyMine RELEASE", "update-channel": "RubyMine RELEASE",
@ -110,26 +110,26 @@
"clion": { "clion": {
"update-channel": "CLion RELEASE", "update-channel": "CLion RELEASE",
"url-template": "https://download.jetbrains.com/cpp/CLion-{version}.dmg", "url-template": "https://download.jetbrains.com/cpp/CLion-{version}.dmg",
"version": "2022.3.1", "version": "2022.3.2",
"sha256": "e6246c929e0d0b9340b66dd282572d67db7bf6031d5789f197be8817de54b186", "sha256": "482461646f61f355c7fd976e655bf77dadfa545483c6ab47352ff22eb1193e33",
"url": "https://download.jetbrains.com/cpp/CLion-2022.3.1.dmg", "url": "https://download.jetbrains.com/cpp/CLion-2022.3.2.dmg",
"build_number": "223.8214.51" "build_number": "223.8617.54"
}, },
"datagrip": { "datagrip": {
"update-channel": "DataGrip RELEASE", "update-channel": "DataGrip RELEASE",
"url-template": "https://download.jetbrains.com/datagrip/datagrip-{version}.dmg", "url-template": "https://download.jetbrains.com/datagrip/datagrip-{version}.dmg",
"version": "2022.3.2", "version": "2022.3.3",
"sha256": "3c91269f04bd6f6df0ae8f2042c029097f56c2ccbc45db95b4f66e87e9d4a320", "sha256": "e9da8036c7d268368b3f82034389481730cb663b809659b1fa1ab91fd9bdc8cd",
"url": "https://download.jetbrains.com/datagrip/datagrip-2022.3.2.dmg", "url": "https://download.jetbrains.com/datagrip/datagrip-2022.3.3.dmg",
"build_number": "223.8214.62" "build_number": "223.8617.3"
}, },
"gateway": { "gateway": {
"update-channel": "Gateway RELEASE", "update-channel": "Gateway RELEASE",
"url-template": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-{version}.dmg", "url-template": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-{version}.dmg",
"version": "2022.3.1", "version": "2022.3.2",
"sha256": "4b86b523b02f2df5150bc965bcef7e1a0bf7a7e6d2233a3a2603529a8577dd43", "sha256": "26ff68ea27952c1adc651ad5f2fae7ad4ca7b744f70f582bdf1bd4c1d17132f4",
"url": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-223.8214.51.dmg", "url": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-223.8617.56.dmg",
"build_number": "223.8214.51" "build_number": "223.8617.56"
}, },
"goland": { "goland": {
"update-channel": "GoLand RELEASE", "update-channel": "GoLand RELEASE",
@ -142,18 +142,18 @@
"idea-community": { "idea-community": {
"update-channel": "IntelliJ IDEA RELEASE", "update-channel": "IntelliJ IDEA RELEASE",
"url-template": "https://download.jetbrains.com/idea/ideaIC-{version}.dmg", "url-template": "https://download.jetbrains.com/idea/ideaIC-{version}.dmg",
"version": "2022.3.1", "version": "2022.3.2",
"sha256": "8ea8b1ceebde397950592708b55f277ca43856b4013f597ccbf385bb75a42c72", "sha256": "14b3f587e868adfb132791e17e3b1978a2fb5fd55447eae589c4d95d70c9ace7",
"url": "https://download.jetbrains.com/idea/ideaIC-2022.3.1.dmg", "url": "https://download.jetbrains.com/idea/ideaIC-2022.3.2.dmg",
"build_number": "223.8214.52" "build_number": "223.8617.56"
}, },
"idea-ultimate": { "idea-ultimate": {
"update-channel": "IntelliJ IDEA RELEASE", "update-channel": "IntelliJ IDEA RELEASE",
"url-template": "https://download.jetbrains.com/idea/ideaIU-{version}.dmg", "url-template": "https://download.jetbrains.com/idea/ideaIU-{version}.dmg",
"version": "2022.3.1", "version": "2022.3.2",
"sha256": "5278cf5ded9464b284fa568f2b453eb5b207a0c75e26354bfb66ef8e96be85e6", "sha256": "54d51ba7b65f84545faa7f8fc001b2bce48ef3ddb76006a44de9e95c6b395b8c",
"url": "https://download.jetbrains.com/idea/ideaIU-2022.3.1.dmg", "url": "https://download.jetbrains.com/idea/ideaIU-2022.3.2.dmg",
"build_number": "223.8214.52" "build_number": "223.8617.56"
}, },
"mps": { "mps": {
"update-channel": "MPS RELEASE", "update-channel": "MPS RELEASE",
@ -175,26 +175,26 @@
"pycharm-community": { "pycharm-community": {
"update-channel": "PyCharm RELEASE", "update-channel": "PyCharm RELEASE",
"url-template": "https://download.jetbrains.com/python/pycharm-community-{version}.dmg", "url-template": "https://download.jetbrains.com/python/pycharm-community-{version}.dmg",
"version": "2022.3.1", "version": "2022.3.2",
"sha256": "adfb73d85ffb30c2abf715a6c6a0a2ed64a047a3016021a2cb61838457c66a81", "sha256": "0a5a396b71533ab7ec77b2f10e08a20a970ac5712cfeb3378728020ec84be416",
"url": "https://download.jetbrains.com/python/pycharm-community-2022.3.1.dmg", "url": "https://download.jetbrains.com/python/pycharm-community-2022.3.2.dmg",
"build_number": "223.8214.51" "build_number": "223.8617.48"
}, },
"pycharm-professional": { "pycharm-professional": {
"update-channel": "PyCharm RELEASE", "update-channel": "PyCharm RELEASE",
"url-template": "https://download.jetbrains.com/python/pycharm-professional-{version}.dmg", "url-template": "https://download.jetbrains.com/python/pycharm-professional-{version}.dmg",
"version": "2022.3.1", "version": "2022.3.2",
"sha256": "2e3bff74a53df74ceee0ac182ffc2f22248317ced0a33f8c0014b1ed504d9650", "sha256": "6537fe033c13fb9b06da7583c875b0dc5f20660e5b349edc39bd8fdddffaf0f3",
"url": "https://download.jetbrains.com/python/pycharm-professional-2022.3.1.dmg", "url": "https://download.jetbrains.com/python/pycharm-professional-2022.3.2.dmg",
"build_number": "223.8214.51" "build_number": "223.8617.48"
}, },
"rider": { "rider": {
"update-channel": "Rider RELEASE", "update-channel": "Rider RELEASE",
"url-template": "https://download.jetbrains.com/rider/JetBrains.Rider-{version}.dmg", "url-template": "https://download.jetbrains.com/rider/JetBrains.Rider-{version}.dmg",
"version": "2022.3.1", "version": "2022.3.2",
"sha256": "9d73b21e558db89ac24a406187cb96e506e320ca0154e8db6aeac7ff960c8944", "sha256": "896dadb76b44bacef79b31619719107f8cf0e729331bda2d6b9f80e8be6dea92",
"url": "https://download.jetbrains.com/rider/JetBrains.Rider-2022.3.1.dmg", "url": "https://download.jetbrains.com/rider/JetBrains.Rider-2022.3.2.dmg",
"build_number": "223.8214.53" "build_number": "223.8617.53"
}, },
"ruby-mine": { "ruby-mine": {
"update-channel": "RubyMine RELEASE", "update-channel": "RubyMine RELEASE",
@ -217,26 +217,26 @@
"clion": { "clion": {
"update-channel": "CLion RELEASE", "update-channel": "CLion RELEASE",
"url-template": "https://download.jetbrains.com/cpp/CLion-{version}-aarch64.dmg", "url-template": "https://download.jetbrains.com/cpp/CLion-{version}-aarch64.dmg",
"version": "2022.3.1", "version": "2022.3.2",
"sha256": "85ee94f4dac126ee2b87ab225f9be6fa828a0c17e067b896f541fd25599411ef", "sha256": "0d3d8ccce520a26781a2d126b887d5a829e97987b728104203528510ff9a4423",
"url": "https://download.jetbrains.com/cpp/CLion-2022.3.1-aarch64.dmg", "url": "https://download.jetbrains.com/cpp/CLion-2022.3.2-aarch64.dmg",
"build_number": "223.8214.51" "build_number": "223.8617.54"
}, },
"datagrip": { "datagrip": {
"update-channel": "DataGrip RELEASE", "update-channel": "DataGrip RELEASE",
"url-template": "https://download.jetbrains.com/datagrip/datagrip-{version}-aarch64.dmg", "url-template": "https://download.jetbrains.com/datagrip/datagrip-{version}-aarch64.dmg",
"version": "2022.3.2", "version": "2022.3.3",
"sha256": "13c8503f190e82b00949b26312873976a10c64dcca036ecc6ce9547b69341658", "sha256": "ef76c7d61c64f7f0f831ef2774bd908e68d651a20648fc4e63618e24a81be6dd",
"url": "https://download.jetbrains.com/datagrip/datagrip-2022.3.2-aarch64.dmg", "url": "https://download.jetbrains.com/datagrip/datagrip-2022.3.3-aarch64.dmg",
"build_number": "223.8214.62" "build_number": "223.8617.3"
}, },
"gateway": { "gateway": {
"update-channel": "Gateway RELEASE", "update-channel": "Gateway RELEASE",
"url-template": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-{version}-aarch64.dmg", "url-template": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-{version}-aarch64.dmg",
"version": "2022.3.1", "version": "2022.3.2",
"sha256": "555ca346ec41de06223d3a4b5e9247809e07c8339bff0d139b624634c812c8e5", "sha256": "776ff0a5f0293cd4b4c29380199757b359e6e195a57b69d2cef73f9cc44ee456",
"url": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-223.8214.51-aarch64.dmg", "url": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-223.8617.56-aarch64.dmg",
"build_number": "223.8214.51" "build_number": "223.8617.56"
}, },
"goland": { "goland": {
"update-channel": "GoLand RELEASE", "update-channel": "GoLand RELEASE",
@ -249,18 +249,18 @@
"idea-community": { "idea-community": {
"update-channel": "IntelliJ IDEA RELEASE", "update-channel": "IntelliJ IDEA RELEASE",
"url-template": "https://download.jetbrains.com/idea/ideaIC-{version}-aarch64.dmg", "url-template": "https://download.jetbrains.com/idea/ideaIC-{version}-aarch64.dmg",
"version": "2022.3.1", "version": "2022.3.2",
"sha256": "394478e3f2a2ea1788a5c2ef9c5a9db72531462b4db921483d24a08f7c260a43", "sha256": "808fa52e8dceacb8beb6b84705ac44ded04b67d07c1310449d7cd5c7afbdea46",
"url": "https://download.jetbrains.com/idea/ideaIC-2022.3.1-aarch64.dmg", "url": "https://download.jetbrains.com/idea/ideaIC-2022.3.2-aarch64.dmg",
"build_number": "223.8214.52" "build_number": "223.8617.56"
}, },
"idea-ultimate": { "idea-ultimate": {
"update-channel": "IntelliJ IDEA RELEASE", "update-channel": "IntelliJ IDEA RELEASE",
"url-template": "https://download.jetbrains.com/idea/ideaIU-{version}-aarch64.dmg", "url-template": "https://download.jetbrains.com/idea/ideaIU-{version}-aarch64.dmg",
"version": "2022.3.1", "version": "2022.3.2",
"sha256": "1e9454c2500e1ec0d490e19d175a30f4441ffd30200a5a1041ecbeff3c66c7e4", "sha256": "ea6da172fc8f27b7bad5475f0e1fc3359c492885bba8b6de59be727cb7b65284",
"url": "https://download.jetbrains.com/idea/ideaIU-2022.3.1-aarch64.dmg", "url": "https://download.jetbrains.com/idea/ideaIU-2022.3.2-aarch64.dmg",
"build_number": "223.8214.52" "build_number": "223.8617.56"
}, },
"mps": { "mps": {
"update-channel": "MPS RELEASE", "update-channel": "MPS RELEASE",
@ -282,26 +282,26 @@
"pycharm-community": { "pycharm-community": {
"update-channel": "PyCharm RELEASE", "update-channel": "PyCharm RELEASE",
"url-template": "https://download.jetbrains.com/python/pycharm-community-{version}-aarch64.dmg", "url-template": "https://download.jetbrains.com/python/pycharm-community-{version}-aarch64.dmg",
"version": "2022.3.1", "version": "2022.3.2",
"sha256": "6574cfd20a586fcbdfbac2ea0fa903ea078c1702fd9e5145c33c7c8dc4506388", "sha256": "5a0fcb9fdc94896cd5651d9d60fa708596aebe374bc35944b3ff6133f4eb5aae",
"url": "https://download.jetbrains.com/python/pycharm-community-2022.3.1-aarch64.dmg", "url": "https://download.jetbrains.com/python/pycharm-community-2022.3.2-aarch64.dmg",
"build_number": "223.8214.51" "build_number": "223.8617.48"
}, },
"pycharm-professional": { "pycharm-professional": {
"update-channel": "PyCharm RELEASE", "update-channel": "PyCharm RELEASE",
"url-template": "https://download.jetbrains.com/python/pycharm-professional-{version}-aarch64.dmg", "url-template": "https://download.jetbrains.com/python/pycharm-professional-{version}-aarch64.dmg",
"version": "2022.3.1", "version": "2022.3.2",
"sha256": "640e4088d976820808d4571c8060b473ab6cfde34699d5913ec3c528ca70faac", "sha256": "3237e19f920880a92712d7a61df5eadd6b8e1652cf97115078289468e17332a4",
"url": "https://download.jetbrains.com/python/pycharm-professional-2022.3.1-aarch64.dmg", "url": "https://download.jetbrains.com/python/pycharm-professional-2022.3.2-aarch64.dmg",
"build_number": "223.8214.51" "build_number": "223.8617.48"
}, },
"rider": { "rider": {
"update-channel": "Rider RELEASE", "update-channel": "Rider RELEASE",
"url-template": "https://download.jetbrains.com/rider/JetBrains.Rider-{version}-aarch64.dmg", "url-template": "https://download.jetbrains.com/rider/JetBrains.Rider-{version}-aarch64.dmg",
"version": "2022.3.1", "version": "2022.3.2",
"sha256": "d25ba49504c22e8669b8e15033cb6e944e9948ecbb0394ba4bbd5804f1f6657f", "sha256": "a680b91d6c909f913317c91b1912b1b822c121d14d78962f7f44f7473e54b5a2",
"url": "https://download.jetbrains.com/rider/JetBrains.Rider-2022.3.1-aarch64.dmg", "url": "https://download.jetbrains.com/rider/JetBrains.Rider-2022.3.2-aarch64.dmg",
"build_number": "223.8214.53" "build_number": "223.8617.53"
}, },
"ruby-mine": { "ruby-mine": {
"update-channel": "RubyMine RELEASE", "update-channel": "RubyMine RELEASE",

View file

@ -2580,8 +2580,8 @@ let
mktplcRef = { mktplcRef = {
name = "code-spell-checker"; name = "code-spell-checker";
publisher = "streetsidesoftware"; publisher = "streetsidesoftware";
version = "2.14.0"; version = "2.15.0";
sha256 = "sha256-DvcQ0wNmWqmMen7jYVP0tCDz/wdzBb56An+OaD3d4xA="; sha256 = "sha256-YfcO/01nO+92xZEJgYyLYAkqXMqfV/QDkcN9Dnjp5ZA=";
}; };
meta = with lib; { meta = with lib; {
changelog = "https://marketplace.visualstudio.com/items/streetsidesoftware.code-spell-checker/changelog"; changelog = "https://marketplace.visualstudio.com/items/streetsidesoftware.code-spell-checker/changelog";

View file

@ -30,25 +30,31 @@ stdenv.mkDerivation rec {
sha256 = "sha256-IMCS6bJqOzPeAFZyQtjzd1rQ5ugIevqoFUW6Y0w1Pzs="; sha256 = "sha256-IMCS6bJqOzPeAFZyQtjzd1rQ5ugIevqoFUW6Y0w1Pzs=";
}; };
buildInputs = [ strictDeps = true;
vulkan-headers
vulkan-tools nativeBuildInputs = [
vulkan-loader
glslang
glfw
libjpeg
pkg-config
rsync
cmake
clang clang
cmake
glslang
llvm llvm
llvmPackages.openmp llvmPackages.openmp
pugixml pkg-config
freetype rsync
];
buildInputs = [
exiv2 exiv2
ffmpeg ffmpeg
libvorbis freetype
glfw
libjpeg
libmad libmad
libvorbis
llvmPackages.openmp
pugixml
vulkan-headers
vulkan-loader
vulkan-tools
]; ];
dontUseCmakeConfigure = true; dontUseCmakeConfigure = true;
@ -60,5 +66,7 @@ stdenv.mkDerivation rec {
homepage = "https://github.com/hanatos/vkdt"; homepage = "https://github.com/hanatos/vkdt";
license = licenses.bsd2; license = licenses.bsd2;
maintainers = with maintainers; [ paperdigits ]; maintainers = with maintainers; [ paperdigits ];
platforms = platforms.linux;
broken = stdenv.isAarch64;
}; };
} }

View file

@ -45,10 +45,10 @@
# Those pieces of software we entirely ignore upstream's handling of, and just # Those pieces of software we entirely ignore upstream's handling of, and just
# make sure they're in the path if desired. # make sure they're in the path if desired.
let let
k3sVersion = "1.26.0+k3s2"; # k3s git tag k3sVersion = "1.26.1+k3s1"; # k3s git tag
k3sCommit = "f0ec6a4c127b2c671b271974a2f21783f0e3c525"; # k3s git commit at the above version k3sCommit = "f10af367c3c96863c081ada4018e94e085c9404d"; # k3s git commit at the above version
k3sRepoSha256 = "0yc2k45s321hjir3c2wabqihk96wbjxp274dpbh9kv3471j89lkm"; k3sRepoSha256 = "13h20yb9gyrclhv2r0vv7fnsr73i06686rm6r0pcvy72hw26i848";
k3sVendorSha256 = "sha256-ptC39SgzCA4CULA+VmcMGlPG8KsLRbWlVI/jQrrF/RU="; k3sVendorSha256 = "sha256-WvkuXHG6NM9eScuu7qG3HDZbBPAJ6xVPz3RRuAxP994=";
# nix generated by update.sh # nix generated by update.sh
# Based on the traefik charts here: https://github.com/k3s-io/k3s/blob/d71ab6317e22dd34673faa307a412a37a16767f6/scripts/download#L29-L32 # Based on the traefik charts here: https://github.com/k3s-io/k3s/blob/d71ab6317e22dd34673faa307a412a37a16767f6/scripts/download#L29-L32
@ -65,8 +65,8 @@ let
k3sCNISha256 = "14mb3zsqibj1sn338gjmsyksbm0mxv9p016dij7zidccx2rzn6nl"; k3sCNISha256 = "14mb3zsqibj1sn338gjmsyksbm0mxv9p016dij7zidccx2rzn6nl";
# taken from ./scripts/version.sh VERSION_CONTAINERD # taken from ./scripts/version.sh VERSION_CONTAINERD
containerdVersion = "1.6.14-k3s1"; containerdVersion = "1.6.15-k3s1";
containerdSha256 = "01zs2xbpmww6hdh248px4dlh1n7xy9gzj2b8afyfmv3c2m2alf5p"; containerdSha256 = "1bzmryqqdpmxl4471wda5q9hqjlgzcmsbwxcwd2ap34qx27my1qd";
# run `grep github.com/kubernetes-sigs/cri-tools go.mod | head -n1 | awk '{print $4}'` in the k3s repo at the tag # run `grep github.com/kubernetes-sigs/cri-tools go.mod | head -n1 | awk '{print $4}'` in the k3s repo at the tag
criCtlVersion = "1.26.0-rc.0-k3s1"; criCtlVersion = "1.26.0-rc.0-k3s1";

View file

@ -10,13 +10,13 @@
buildGoModule rec { buildGoModule rec {
pname = "werf"; pname = "werf";
version = "1.2.197"; version = "1.2.198";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "werf"; owner = "werf";
repo = "werf"; repo = "werf";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-cRpXdV/aHxVxMd54nmf9bMogiC9V8ryvCtSe+6Vx/Hk="; hash = "sha256-fJDcVqHVN+2KXoqFCTACDevFtOllEGDMcQO/oDb6GMI=";
}; };
vendorHash = "sha256-GjcmpHyjhjCWE5gQR/oTHfhHYg5WRu8uhgAuWhdxlYk="; vendorHash = "sha256-GjcmpHyjhjCWE5gQR/oTHfhHYg5WRu8uhgAuWhdxlYk=";
@ -64,6 +64,10 @@ buildGoModule rec {
integration/suites \ integration/suites \
pkg/true_git/*test.go \ pkg/true_git/*test.go \
test/e2e test/e2e
'' + lib.optionalString (stdenv.isLinux && stdenv.isAarch64) ''
# Remove failing tests.
rm -rf \
cmd/werf/docs/replacers/kubectl/kubectl_test.go
'' + lib.optionalString (CGO_ENABLED == 0) '' '' + lib.optionalString (CGO_ENABLED == 0) ''
# A workaround for osusergo. # A workaround for osusergo.
export USER=nixbld export USER=nixbld

View file

@ -30,7 +30,7 @@
openjdk17.overrideAttrs (oldAttrs: rec { openjdk17.overrideAttrs (oldAttrs: rec {
pname = "jetbrains-jdk-jcef"; pname = "jetbrains-jdk-jcef";
javaVersion = "17.0.5"; javaVersion = "17.0.5";
build = "653.14"; build = "653.25";
# To get the new tag: # To get the new tag:
# git clone https://github.com/jetbrains/jetbrainsruntime # git clone https://github.com/jetbrains/jetbrainsruntime
# cd jetbrainsruntime # cd jetbrainsruntime
@ -43,7 +43,7 @@ openjdk17.overrideAttrs (oldAttrs: rec {
owner = "JetBrains"; owner = "JetBrains";
repo = "JetBrainsRuntime"; repo = "JetBrainsRuntime";
rev = "jb${version}"; rev = "jb${version}";
hash = "sha256-7Nx7Y12oMfs4zeQMSfnUaDCW1xJYMEkcoTapSpmVCfU="; hash = "sha256-/3NzluFpzKC8mFQxrKY9WlgBh9asbEE7lrGJy/ZJXRU=";
}; };
BOOT_JDK = openjdk17-bootstrap.home; BOOT_JDK = openjdk17-bootstrap.home;

View file

@ -5,14 +5,14 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "svdtools"; pname = "svdtools";
version = "0.2.7"; version = "0.2.8";
src = fetchCrate { src = fetchCrate {
inherit version pname; inherit version pname;
sha256 = "sha256-pRY9lL04BcZDYeFcdArIp2PcWiCZBurCYpYtYhPqFsg="; sha256 = "sha256-x0C+1Ld4RImmS6x9l9jQaZ/sEd3iLFmmwOWNfA+xYsk=";
}; };
cargoSha256 = "sha256-9XymDE9ON11VfZObrMiARmpJay2g2mKEf0l2eojbjL8="; cargoSha256 = "sha256-U1YiQdfk/SgRicAND0X8KdHKgX7wHnYspWNF270WDrE=";
meta = with lib; { meta = with lib; {
description = "Tools to handle vendor-supplied, often buggy SVD files"; description = "Tools to handle vendor-supplied, often buggy SVD files";

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "cmark"; pname = "cmark";
version = "0.30.2"; version = "0.30.3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "jgm"; owner = "commonmark";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "sha256-IkNybUe/XYwAvPowym3aqfVyvNdw2t/brRjhOrjVRpA="; sha256 = "sha256-/7TzaZYP8lndkfRPgCpBbazUBytVLXxqWHYktIsGox0=";
}; };
nativeBuildInputs = [ cmake ]; nativeBuildInputs = [ cmake ];
@ -29,9 +29,10 @@ stdenv.mkDerivation rec {
meta = with lib; { meta = with lib; {
description = "CommonMark parsing and rendering library and program in C"; description = "CommonMark parsing and rendering library and program in C";
homepage = "https://github.com/jgm/cmark"; homepage = "https://github.com/commonmark/cmark";
changelog = "https://github.com/commonmark/cmark/raw/${version}/changelog.txt";
maintainers = [ maintainers.michelk ]; maintainers = [ maintainers.michelk ];
platforms = platforms.unix; platforms = platforms.all;
license = licenses.bsd2; license = licenses.bsd2;
}; };
} }

View file

@ -24,13 +24,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gtksourceview"; pname = "gtksourceview";
version = "5.6.1"; version = "5.6.2";
outputs = [ "out" "dev" "devdoc" ]; outputs = [ "out" "dev" "devdoc" ];
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "ZZ2cydA0oRTwfn4TTugNd97ASXyxUWrlNpEZwvy52hY="; sha256 = "HxRsFW8TWmBJnZeeNXfJm24VoRFEV2er5iGbs0xUXHc=";
}; };
patches = [ patches = [

View file

@ -5,13 +5,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "libnats"; pname = "libnats";
version = "3.5.0"; version = "3.6.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "nats-io"; owner = "nats-io";
repo = "nats.c"; repo = "nats.c";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-mdOvJkCdJ2QEsVUdxVCpIDLn4+6JM6OeJfasJxqqID8="; sha256 = "sha256-L/RS/M0TQJEMXRvdwo03st1VAlIlJ/fCmTvx+0+gCGE=";
}; };
nativeBuildInputs = [ cmake ]; nativeBuildInputs = [ cmake ];

View file

@ -6,14 +6,14 @@
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "0.7.22"; version = "0.7.23";
pname = "libsolv"; pname = "libsolv";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "openSUSE"; owner = "openSUSE";
repo = "libsolv"; repo = "libsolv";
rev = version; rev = version;
sha256 = "sha256-rqWQJz3gZuhcNblyFWiYCC17miNY8F5xguAJwDk3xFE="; sha256 = "sha256-i1g4arr8rII9SzdyITD6xS9CAVN6zP73gFwnZdkc5os=";
}; };
cmakeFlags = [ cmakeFlags = [

View file

@ -4,13 +4,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "pmix"; pname = "pmix";
version = "3.2.3"; version = "3.2.4";
src = fetchFromGitHub { src = fetchFromGitHub {
repo = "openpmix"; repo = "openpmix";
owner = "openpmix"; owner = "openpmix";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-w3j4zgEAn6RxIHAvy0B3MPFTV46ocCvc0Z36tN1T+rc="; sha256 = "sha256-79zTZm549VRsqeziCuBT6l4jTJ6D/gZaMAvgHZm7jn4=";
}; };
postPatch = '' postPatch = ''

View file

@ -8,13 +8,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "s2n-tls"; pname = "s2n-tls";
version = "1.3.33"; version = "1.3.34";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "aws"; owner = "aws";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-MfVRAv5Ss+QMjY3IhFJakUO05w6j5WaAM0cCdtLIgAk="; sha256 = "sha256-CaVo2OxfB7ImMOgPuyvKQFbTeEm3PqD8CV96jUEZ8U0=";
}; };
nativeBuildInputs = [ cmake ]; nativeBuildInputs = [ cmake ];

View file

@ -9,13 +9,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "sentry-native"; pname = "sentry-native";
version = "0.5.3"; version = "0.5.4";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "getsentry"; owner = "getsentry";
repo = "sentry-native"; repo = "sentry-native";
rev = version; rev = version;
hash = "sha256-zeJGgtqEITK1fQtqFXwh+kpaS9Ky+RSY/uxZ2as8YyM="; hash = "sha256-qRtr+Og75eowKJjezRSGlRp9Ps2A75zY80IqZMRa4Sw=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View file

@ -4,3 +4,12 @@
2. `./mkrepo.sh` 2. `./mkrepo.sh`
3. Check the `repo.json` diff for new stable versions of `tools`, `platform-tools`, `build-tools`, `emulator` and/or `ndk` 3. Check the `repo.json` diff for new stable versions of `tools`, `platform-tools`, `build-tools`, `emulator` and/or `ndk`
4. Update the relevant argument defaults in `compose-android-packages.nix` 4. Update the relevant argument defaults in `compose-android-packages.nix`
# How to run tests
You may need to make yourself familiar with [tests](https://nixos.org/manual/nixpkgs/stable/#var-meta-tests), and [Writing larger package tests](https://nixos.org/manual/nixpkgs/stable/#ssec-package-tests-writing) in the Manual, then run tests locally with:
```shell
$ export NIXPKGS_ALLOW_UNFREE=1
$ cd path/to/nixpkgs
$ nix-build -A androidenv.test-suite.tests
```

View file

@ -1,4 +1,4 @@
{deployAndroidPackage, lib, package, os, autoPatchelfHook, makeWrapper, pkgs, pkgsi686Linux}: {deployAndroidPackage, lib, package, os, autoPatchelfHook, makeWrapper, pkgs, pkgsi686Linux, postInstall}:
deployAndroidPackage { deployAndroidPackage {
inherit package os; inherit package os;
@ -19,6 +19,8 @@ deployAndroidPackage {
wrapProgram $PWD/mainDexClasses \ wrapProgram $PWD/mainDexClasses \
--prefix PATH : ${pkgs.jdk8}/bin --prefix PATH : ${pkgs.jdk8}/bin
''} ''}
'';
cd $out/libexec/android-sdk
'' + postInstall;
noAuditTmpdir = true; # The checker script gets confused by the build-tools path that is incorrectly identified as a reference to /build noAuditTmpdir = true; # The checker script gets confused by the build-tools path that is incorrectly identified as a reference to /build
} }

View file

@ -0,0 +1,39 @@
{deployAndroidPackage, lib, package, autoPatchelfHook, makeWrapper, os, pkgs, pkgsi686Linux, stdenv, cmdLineToolsVersion, postInstall}:
deployAndroidPackage {
name = "androidsdk";
inherit package os;
nativeBuildInputs = [ makeWrapper ]
++ lib.optionals stdenv.isLinux [ autoPatchelfHook ];
patchInstructions = ''
${lib.optionalString (os == "linux") ''
# Auto patch all binaries
autoPatchelf .
''}
# Strip double dots from the root path
export ANDROID_SDK_ROOT="$out/libexec/android-sdk"
# Wrap all scripts that require JAVA_HOME
find $ANDROID_SDK_ROOT/cmdline-tools/${cmdLineToolsVersion}/bin -maxdepth 1 -type f -executable | while read program; do
if grep -q "JAVA_HOME" $program; then
wrapProgram $program --prefix PATH : ${pkgs.jdk11}/bin \
--prefix ANDROID_SDK_ROOT : $ANDROID_SDK_ROOT
fi
done
# Wrap sdkmanager script
wrapProgram $ANDROID_SDK_ROOT/cmdline-tools/${cmdLineToolsVersion}/bin/sdkmanager \
--prefix PATH : ${lib.makeBinPath [ pkgs.jdk11 ]} \
--add-flags "--sdk_root=$ANDROID_SDK_ROOT"
# Patch all script shebangs
patchShebangs $ANDROID_SDK_ROOT/cmdline-tools/${cmdLineToolsVersion}/bin
cd $ANDROID_SDK_ROOT
${postInstall}
'';
meta.license = lib.licenses.unfree;
}

View file

@ -2,7 +2,8 @@
, licenseAccepted ? false , licenseAccepted ? false
}: }:
{ toolsVersion ? "26.1.1" { cmdLineToolsVersion ? "8.0"
, toolsVersion ? "26.1.1"
, platformToolsVersion ? "33.0.3" , platformToolsVersion ? "33.0.3"
, buildToolsVersions ? [ "33.0.1" ] , buildToolsVersions ? [ "33.0.1" ]
, includeEmulator ? false , includeEmulator ? false
@ -132,16 +133,40 @@ rec {
package = packages.platform-tools.${platformToolsVersion}; package = packages.platform-tools.${platformToolsVersion};
}; };
tools = callPackage ./tools.nix {
inherit deployAndroidPackage os;
package = packages.tools.${toolsVersion};
postInstall = ''
${linkPlugin { name = "platform-tools"; plugin = platform-tools; }}
${linkPlugin { name = "patcher"; plugin = patcher; }}
${linkPlugin { name = "emulator"; plugin = emulator; }}
'';
};
patcher = callPackage ./patcher.nix {
inherit deployAndroidPackage os;
package = packages.patcher."1";
};
build-tools = map (version: build-tools = map (version:
callPackage ./build-tools.nix { callPackage ./build-tools.nix {
inherit deployAndroidPackage os; inherit deployAndroidPackage os;
package = packages.build-tools.${version}; package = packages.build-tools.${version};
postInstall = ''
${linkPlugin { name = "tools"; plugin = tools; check = toolsVersion != null; }}
'';
} }
) buildToolsVersions; ) buildToolsVersions;
emulator = callPackage ./emulator.nix { emulator = callPackage ./emulator.nix {
inherit deployAndroidPackage os; inherit deployAndroidPackage os;
package = packages.emulator.${emulatorVersion}; package = packages.emulator.${emulatorVersion};
postInstall = ''
${linkSystemImages { images = system-images; check = includeSystemImages; }}
'';
}; };
platforms = map (version: platforms = map (version:
@ -238,7 +263,17 @@ rec {
# Function that automatically links a plugin for which only one version exists # Function that automatically links a plugin for which only one version exists
linkPlugin = {name, plugin, check ? true}: linkPlugin = {name, plugin, check ? true}:
lib.optionalString check '' lib.optionalString check ''
ln -s ${plugin}/libexec/android-sdk/* ${name} ln -s ${plugin}/libexec/android-sdk/${name} ${name}
'';
linkSystemImages = { images, check }: lib.optionalString check ''
mkdir -p system-images
${lib.concatMapStrings (system-image: ''
apiVersion=$(basename $(echo ${system-image}/libexec/android-sdk/system-images/*))
type=$(basename $(echo ${system-image}/libexec/android-sdk/system-images/*/*))
mkdir -p system-images/$apiVersion/$type
ln -s ${system-image}/libexec/android-sdk/system-images/$apiVersion/$type/* system-images/$apiVersion/$type
'') images}
''; '';
# Links all plugins related to a requested platform # Links all plugins related to a requested platform
@ -260,12 +295,16 @@ rec {
${lib.concatMapStringsSep "\n" (str: " - ${str}") licenseNames} ${lib.concatMapStringsSep "\n" (str: " - ${str}") licenseNames}
by setting nixpkgs config option 'android_sdk.accept_license = true;'. by setting nixpkgs config option 'android_sdk.accept_license = true;'.
'' else callPackage ./tools.nix { '' else callPackage ./cmdline-tools.nix {
inherit deployAndroidPackage packages toolsVersion os; inherit deployAndroidPackage os cmdLineToolsVersion;
package = packages.cmdline-tools.${cmdLineToolsVersion};
postInstall = '' postInstall = ''
# Symlink all requested plugins # Symlink all requested plugins
${linkPlugin { name = "platform-tools"; plugin = platform-tools; }} ${linkPlugin { name = "platform-tools"; plugin = platform-tools; }}
${linkPlugin { name = "tools"; plugin = tools; check = toolsVersion != null; }}
${linkPlugin { name = "patcher"; plugin = patcher; }}
${linkPlugins { name = "build-tools"; plugins = build-tools; }} ${linkPlugins { name = "build-tools"; plugins = build-tools; }}
${linkPlugin { name = "emulator"; plugin = emulator; check = includeEmulator; }} ${linkPlugin { name = "emulator"; plugin = emulator; check = includeEmulator; }}
${linkPlugins { name = "platforms"; plugins = platforms; }} ${linkPlugins { name = "platforms"; plugins = platforms; }}
@ -273,17 +312,7 @@ rec {
${linkPlugins { name = "cmake"; plugins = cmake; }} ${linkPlugins { name = "cmake"; plugins = cmake; }}
${linkNdkPlugins { name = "ndk-bundle"; rootName = "ndk"; plugins = ndk-bundles; }} ${linkNdkPlugins { name = "ndk-bundle"; rootName = "ndk"; plugins = ndk-bundles; }}
${linkNdkPlugin { name = "ndk-bundle"; plugin = ndk-bundle; check = includeNDK; }} ${linkNdkPlugin { name = "ndk-bundle"; plugin = ndk-bundle; check = includeNDK; }}
${linkSystemImages { images = system-images; check = includeSystemImages; }}
${lib.optionalString includeSystemImages ''
mkdir -p system-images
${lib.concatMapStrings (system-image: ''
apiVersion=$(basename $(echo ${system-image}/libexec/android-sdk/system-images/*))
type=$(basename $(echo ${system-image}/libexec/android-sdk/system-images/*/*))
mkdir -p system-images/$apiVersion/$type
ln -s ${system-image}/libexec/android-sdk/system-images/$apiVersion/$type/* system-images/$apiVersion/$type
'') system-images}
''}
${linkPlatformPlugins { name = "add-ons"; plugins = google-apis; check = useGoogleAPIs; }} ${linkPlatformPlugins { name = "add-ons"; plugins = google-apis; check = useGoogleAPIs; }}
${linkPlatformPlugins { name = "add-ons"; plugins = google-apis; check = useGoogleTVAddOns; }} ${linkPlatformPlugins { name = "add-ons"; plugins = google-apis; check = useGoogleTVAddOns; }}
@ -304,27 +333,19 @@ rec {
# Expose common executables in bin/ # Expose common executables in bin/
mkdir -p $out/bin mkdir -p $out/bin
find $PWD/tools -not -path '*/\.*' -type f -executable -mindepth 1 -maxdepth 1 | while read i
do for i in ${platform-tools}/bin/*; do
ln -s $i $out/bin ln -s $i $out/bin
done done
find $PWD/tools/bin -not -path '*/\.*' -type f -executable -mindepth 1 -maxdepth 1 | while read i for i in ${emulator}/bin/*; do
do
ln -s $i $out/bin ln -s $i $out/bin
done done
for i in ${platform-tools}/bin/* find $ANDROID_SDK_ROOT/cmdline-tools/${cmdLineToolsVersion}/bin -type f -executable | while read i; do
do
ln -s $i $out/bin ln -s $i $out/bin
done done
# the emulator auto-linked from platform-tools does not find its local qemu, while this one does
${lib.optionalString includeEmulator ''
rm $out/bin/emulator
ln -s $out/libexec/android-sdk/emulator/emulator $out/bin
''}
# Write licenses # Write licenses
mkdir -p licenses mkdir -p licenses
${lib.concatMapStrings (licenseName: ${lib.concatMapStrings (licenseName:

View file

@ -19,4 +19,6 @@ rec {
platformVersions = [ "28" ]; platformVersions = [ "28" ];
abiVersions = [ "x86" "x86_64"]; abiVersions = [ "x86" "x86_64"];
}; };
test-suite = pkgs.callPackage ./test-suite.nix {};
} }

View file

@ -4,6 +4,59 @@
let let
extraParams = removeAttrs args [ "packages" "os" "buildInputs" "nativeBuildInputs" "patchesInstructions" ]; extraParams = removeAttrs args [ "packages" "os" "buildInputs" "nativeBuildInputs" "patchesInstructions" ];
sortedPackages = builtins.sort (x: y: builtins.lessThan x.name y.name) packages; sortedPackages = builtins.sort (x: y: builtins.lessThan x.name y.name) packages;
mkXmlAttrs = attrs:
lib.concatStrings (lib.mapAttrsToList (name: value: " ${name}=\"${value}\"") attrs);
mkXmlValues = attrs:
lib.concatStrings (lib.mapAttrsToList (name: value:
let
tag = builtins.head (builtins.match "([^:]+).*" name);
in
if builtins.typeOf value == "string" then "<${tag}>${value}</${tag}>" else mkXmlDoc name value
) attrs);
mkXmlDoc = name: doc:
let
tag = builtins.head (builtins.match "([^:]+).*" name);
hasXmlAttrs = builtins.hasAttr "element-attributes" doc;
xmlValues = removeAttrs doc [ "element-attributes" ];
hasXmlValues = builtins.length (builtins.attrNames xmlValues) > 0;
in
if hasXmlAttrs && hasXmlValues then "<${tag}${mkXmlAttrs doc.element-attributes}>${mkXmlValues xmlValues }</${tag}>"
else if hasXmlAttrs && !hasXmlValues then "<${tag}${mkXmlAttrs doc.element-attributes}/>"
else if !hasXmlAttrs && hasXmlValues then "<${tag}>${mkXmlValues xmlValues}</${tag}>"
else "<${tag}/>";
mkXmlPackage = package: ''
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:repository
xmlns:ns2="http://schemas.android.com/repository/android/common/02"
xmlns:ns3="http://schemas.android.com/repository/android/common/01"
xmlns:ns4="http://schemas.android.com/repository/android/generic/01"
xmlns:ns5="http://schemas.android.com/repository/android/generic/02"
xmlns:ns6="http://schemas.android.com/sdk/android/repo/addon2/01"
xmlns:ns7="http://schemas.android.com/sdk/android/repo/addon2/02"
xmlns:ns8="http://schemas.android.com/sdk/android/repo/addon2/03"
xmlns:ns9="http://schemas.android.com/sdk/android/repo/repository2/01"
xmlns:ns10="http://schemas.android.com/sdk/android/repo/repository2/02"
xmlns:ns11="http://schemas.android.com/sdk/android/repo/repository2/03"
xmlns:ns12="http://schemas.android.com/sdk/android/repo/sys-img2/03"
xmlns:ns13="http://schemas.android.com/sdk/android/repo/sys-img2/02"
xmlns:ns14="http://schemas.android.com/sdk/android/repo/sys-img2/01"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<license id="${package.license}" type="text">${lib.concatStringsSep "---" (mkLicenses package.license)}</license>
<localPackage path="${builtins.replaceStrings [ "/" ] [ ";" ] package.path}" obsolete="${
if (lib.hasAttrByPath [ "obsolete" ] package)
then package.obsolete else "false"
}">
${mkXmlDoc "type-details" package.type-details}
${mkXmlDoc "revision" package.revision-details}
${lib.optionalString (lib.hasAttrByPath [ "dependencies" ] package)
(mkXmlDoc "dependencies" package.dependencies)
}
<display-name>${package.displayName}</display-name>
<uses-license ref="${package.license}"/>
</localPackage>
</ns2:repository>
'';
in in
stdenv.mkDerivation ({ stdenv.mkDerivation ({
inherit buildInputs; inherit buildInputs;
@ -44,6 +97,12 @@ stdenv.mkDerivation ({
cd $packageBaseDir cd $packageBaseDir
cp -a $extractedZip/* . cp -a $extractedZip/* .
${patchesInstructions.${package.name}} ${patchesInstructions.${package.name}}
if [ ! -f $packageBaseDir/package.xml ]; then
cat << EOF > $packageBaseDir/package.xml
${mkXmlPackage package}
EOF
fi
'') packages); '') packages);
# Some executables that have been patched with patchelf may not work any longer after they have been stripped. # Some executables that have been patched with patchelf may not work any longer after they have been stripped.

View file

@ -1,4 +1,4 @@
{ deployAndroidPackage, lib, package, os, autoPatchelfHook, makeWrapper, pkgs, pkgsi686Linux }: { deployAndroidPackage, lib, package, os, autoPatchelfHook, makeWrapper, pkgs, pkgsi686Linux, postInstall }:
deployAndroidPackage { deployAndroidPackage {
inherit package os; inherit package os;
@ -47,6 +47,15 @@ deployAndroidPackage {
]} \ ]} \
--set QT_XKB_CONFIG_ROOT ${pkgs.xkeyboard_config}/share/X11/xkb \ --set QT_XKB_CONFIG_ROOT ${pkgs.xkeyboard_config}/share/X11/xkb \
--set QTCOMPOSE ${pkgs.xorg.libX11.out}/share/X11/locale --set QTCOMPOSE ${pkgs.xorg.libX11.out}/share/X11/locale
mkdir -p $out/bin
cd $out/bin
find $out/libexec/android-sdk/emulator -type f -executable -mindepth 1 -maxdepth 1 | while read i; do
ln -s $i
done
cd $out/libexec/android-sdk
${postInstall}
''; '';
dontMoveLib64 = true; dontMoveLib64 = true;
} }

View file

@ -25,7 +25,7 @@ let
# versions may be used in multiple places in this Nix expression. # versions may be used in multiple places in this Nix expression.
android = { android = {
versions = { versions = {
tools = "26.1.1"; cmdLineToolsVersion = "8.0";
platformTools = "33.0.3"; platformTools = "33.0.3";
buildTools = "30.0.3"; buildTools = "30.0.3";
ndk = [ ndk = [
@ -60,7 +60,7 @@ let
}; };
androidComposition = androidEnv.composeAndroidPackages { androidComposition = androidEnv.composeAndroidPackages {
toolsVersion = android.versions.tools; cmdLineToolsVersion = android.versions.cmdLineToolsVersion;
platformToolsVersion = android.versions.platformTools; platformToolsVersion = android.versions.platformTools;
buildToolsVersions = [android.versions.buildTools]; buildToolsVersions = [android.versions.buildTools];
platformVersions = android.platforms; platformVersions = android.platforms;
@ -144,5 +144,49 @@ ndk.dir=$ANDROID_NDK_ROOT
cmake.dir=$cmake_root cmake.dir=$cmake_root
EOF EOF
''; '';
passthru.tests = {
sdkmanager-licenses-test = pkgs.runCommand "sdkmanager-licenses-test" {
buildInputs = [ androidSdk jdk ];
} ''
if [[ ! "$(sdkmanager --licenses)" =~ "All SDK package licenses accepted." ]]; then
echo "At least one of SDK package licenses are not accepted."
exit 1
fi
touch $out
'';
sdkmanager-packages-test = pkgs.runCommand "sdkmanager-packages-test" {
buildInputs = [ androidSdk jdk ];
} ''
output="$(sdkmanager --list)"
installed_packages_section=$(echo "''${output%%Available Packages*}" | awk 'NR>4 {print $1}')
packages=(
"build-tools;30.0.3" "ndk-bundle" "platform-tools" \
"platforms;android-23" "platforms;android-24" "platforms;android-25" "platforms;android-26" \
"platforms;android-27" "platforms;android-28" "platforms;android-29" "platforms;android-30" \
"platforms;android-31" "platforms;android-32" "platforms;android-33" \
"sources;android-23" "sources;android-24" "sources;android-25" "sources;android-26" \
"sources;android-27" "sources;android-28" "sources;android-29" "sources;android-30" \
"sources;android-31" "sources;android-32" "sources;android-33" \
"system-images;android-28;google_apis_playstore;arm64-v8a" \
"system-images;android-29;google_apis_playstore;arm64-v8a" \
"system-images;android-30;google_apis_playstore;arm64-v8a" \
"system-images;android-31;google_apis_playstore;arm64-v8a" \
"system-images;android-32;google_apis_playstore;arm64-v8a" \
"system-images;android-33;google_apis_playstore;arm64-v8a"
)
for package in "''${packages[@]}"; do
if [[ ! $installed_packages_section =~ "$package" ]]; then
echo "$package package was not installed."
exit 1
fi
done
touch "$out"
'';
};
} }

View file

@ -29,6 +29,49 @@ def image_url value, dir
end end
end end
# Returns a JSON with the data and structure of the input XML
def to_json_collector doc
json = {}
index = 0
doc.element_children.each { |node|
if node.children.length == 1 and node.children.first.text?
json["#{node.name}:#{index}"] ||= node.content
index += 1
next
end
json["#{node.name}:#{index}"] ||= to_json_collector node
index += 1
}
element_attributes = {}
doc.attribute_nodes.each do |attr|
if attr.name == "type"
type = attr.value.split(':', 2).last
case attr.value
when 'generic:genericDetailsType'
element_attributes["xsi:type"] ||= "ns5:#{type}"
when 'addon:extraDetailsType'
element_attributes["xsi:type"] ||= "ns8:#{type}"
when 'addon:mavenType'
element_attributes["xsi:type"] ||= "ns8:#{type}"
when 'sdk:platformDetailsType'
element_attributes["xsi:type"] ||= "ns11:#{type}"
when 'sdk:sourceDetailsType'
element_attributes["xsi:type"] ||= "ns11:#{type}"
when 'sys-img:sysImgDetailsType'
element_attributes["xsi:type"] ||= "ns12:#{type}"
when 'addon:addonDetailsType' then
element_attributes["xsi:type"] ||= "ns8:#{type}"
end
else
element_attributes[attr.name] ||= attr.value
end
end
if !element_attributes.empty?
json['element-attributes'] ||= element_attributes
end
json
end
# Returns a tuple of [type, revision, revision components] for a package node. # Returns a tuple of [type, revision, revision components] for a package node.
def package_revision package def package_revision package
type_details = package.at_css('> type-details') type_details = package.at_css('> type-details')
@ -189,7 +232,12 @@ def parse_package_xml doc
display_name = text package.at_css('> display-name') display_name = text package.at_css('> display-name')
uses_license = package.at_css('> uses-license') uses_license = package.at_css('> uses-license')
uses_license &&= uses_license['ref'] uses_license &&= uses_license['ref']
obsolete ||= package['obsolete']
type_details = to_json_collector package.at_css('> type-details')
revision_details = to_json_collector package.at_css('> revision')
archives = package_archives(package) {|url| repo_url url} archives = package_archives(package) {|url| repo_url url}
dependencies_xml = package.at_css('> dependencies')
dependencies = to_json_collector dependencies_xml if dependencies_xml
target = (packages[name] ||= {}) target = (packages[name] ||= {})
target = (target[revision] ||= {}) target = (target[revision] ||= {})
@ -199,6 +247,10 @@ def parse_package_xml doc
target['revision'] ||= revision target['revision'] ||= revision
target['displayName'] ||= display_name target['displayName'] ||= display_name
target['license'] ||= uses_license if uses_license target['license'] ||= uses_license if uses_license
target['obsolete'] ||= obsolete if obsolete == 'true'
target['type-details'] ||= type_details
target['revision-details'] ||= revision_details
target['dependencies'] ||= dependencies if dependencies
target['archives'] ||= {} target['archives'] ||= {}
merge target['archives'], archives merge target['archives'], archives
end end
@ -218,11 +270,17 @@ def parse_image_xml doc
display_name = text package.at_css('> display-name') display_name = text package.at_css('> display-name')
uses_license = package.at_css('> uses-license') uses_license = package.at_css('> uses-license')
uses_license &&= uses_license['ref'] uses_license &&= uses_license['ref']
obsolete &&= package['obsolete']
type_details = to_json_collector package.at_css('> type-details')
revision_details = to_json_collector package.at_css('> revision')
archives = package_archives(package) {|url| image_url url, components[-2]} archives = package_archives(package) {|url| image_url url, components[-2]}
dependencies_xml = package.at_css('> dependencies')
dependencies = to_json_collector dependencies_xml if dependencies_xml
target = images target = images
components.each do |component| components.each do |component|
target = (target[component] ||= {}) target[component] ||= {}
target = target[component]
end end
target['name'] ||= "system-image-#{revision}" target['name'] ||= "system-image-#{revision}"
@ -230,6 +288,10 @@ def parse_image_xml doc
target['revision'] ||= revision target['revision'] ||= revision
target['displayName'] ||= display_name target['displayName'] ||= display_name
target['license'] ||= uses_license if uses_license target['license'] ||= uses_license if uses_license
target['obsolete'] ||= obsolete if obsolete
target['type-details'] ||= type_details
target['revision-details'] ||= revision_details
target['dependencies'] ||= dependencies if dependencies
target['archives'] ||= {} target['archives'] ||= {}
merge target['archives'], archives merge target['archives'], archives
end end
@ -249,7 +311,12 @@ def parse_addon_xml doc
display_name = text package.at_css('> display-name') display_name = text package.at_css('> display-name')
uses_license = package.at_css('> uses-license') uses_license = package.at_css('> uses-license')
uses_license &&= uses_license['ref'] uses_license &&= uses_license['ref']
obsolete &&= package['obsolete']
type_details = to_json_collector package.at_css('> type-details')
revision_details = to_json_collector package.at_css('> revision')
archives = package_archives(package) {|url| repo_url url} archives = package_archives(package) {|url| repo_url url}
dependencies_xml = package.at_css('> dependencies')
dependencies = to_json_collector dependencies_xml if dependencies_xml
case type case type
when 'addon:addonDetailsType' when 'addon:addonDetailsType'
@ -278,6 +345,10 @@ def parse_addon_xml doc
target['revision'] ||= revision target['revision'] ||= revision
target['displayName'] ||= display_name target['displayName'] ||= display_name
target['license'] ||= uses_license if uses_license target['license'] ||= uses_license if uses_license
target['obsolete'] ||= obsolete if obsolete
target['type-details'] ||= type_details
target['revision-details'] ||= revision_details
target['dependencies'] ||= dependencies if dependencies
target['archives'] ||= {} target['archives'] ||= {}
merge target['archives'], archives merge target['archives'], archives
end end

View file

@ -0,0 +1,9 @@
{deployAndroidPackage, lib, package, os, autoPatchelfHook, pkgs, stdenv}:
deployAndroidPackage {
inherit package os;
nativeBuildInputs = lib.optionals stdenv.isLinux [ autoPatchelfHook ];
patchInstructions = lib.optionalString (os == "linux") ''
autoPatchelf $packageBaseDir/bin
'';
}

View file

@ -4,6 +4,7 @@ deployAndroidPackage {
inherit package os; inherit package os;
nativeBuildInputs = lib.optionals (os == "linux") [ autoPatchelfHook ]; nativeBuildInputs = lib.optionals (os == "linux") [ autoPatchelfHook ];
buildInputs = lib.optionals (os == "linux") [ pkgs.glibc pkgs.zlib pkgs.ncurses5 ]; buildInputs = lib.optionals (os == "linux") [ pkgs.glibc pkgs.zlib pkgs.ncurses5 ];
patchInstructions = lib.optionalString (os == "linux") '' patchInstructions = lib.optionalString (os == "linux") ''
addAutoPatchelfSearchPath $packageBaseDir/lib64 addAutoPatchelfSearchPath $packageBaseDir/lib64
autoPatchelf --no-recurse $packageBaseDir/lib64 autoPatchelf --no-recurse $packageBaseDir/lib64

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,16 @@
{ stdenv, callPackage }:
let
examples-shell = callPackage ./examples/shell.nix {};
in
stdenv.mkDerivation {
name = "androidenv-test-suite";
src = ./.;
dontConfigure = true;
dontBuild = true;
passthru.tests = { } // examples-shell.passthru.tests;
meta.timeout = 60;
}

View file

@ -1,26 +1,42 @@
{deployAndroidPackage, requireFile, lib, packages, toolsVersion, os, callPackage, postInstall ? ""}: {deployAndroidPackage, lib, package, autoPatchelfHook, makeWrapper, os, pkgs, pkgsi686Linux, postInstall}:
if toolsVersion == "26.0.1" then callPackage ./tools/26.nix { deployAndroidPackage {
inherit deployAndroidPackage lib os postInstall; name = "androidsdk";
package = { inherit os package;
name = "tools"; nativeBuildInputs = [ makeWrapper ]
path = "tools"; ++ lib.optionals (os == "linux") [ autoPatchelfHook ];
revision = "26.0.1"; buildInputs = lib.optional (os == "linux") (
archives = { (with pkgs; [ glibc freetype fontconfig fontconfig.lib])
linux = requireFile { ++ (with pkgs.xorg; [ libX11 libXrender libXext ])
url = "https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip"; ++ (with pkgsi686Linux; [ glibc xorg.libX11 xorg.libXrender xorg.libXext fontconfig.lib freetype zlib ])
sha256 = "185yq7qwxflw24ccm5d6zziwlc9pxmsm3f54pm9p7xm0ik724kj4"; );
};
macosx = requireFile { patchInstructions = ''
url = "https://dl.google.com/android/repository/sdk-tools-darwin-3859397.zip"; ${lib.optionalString (os == "linux") ''
sha256 = "1ycx9gzdaqaw6n19yvxjawywacavn1jc6sadlz5qikhgfr57b0aa"; # Auto patch all binaries
}; autoPatchelf .
}; ''}
};
} else if toolsVersion == "26.1.1" then callPackage ./tools/26.nix { # Wrap all scripts that require JAVA_HOME
inherit deployAndroidPackage lib os postInstall; for i in bin; do
package = packages.tools.${toolsVersion}; find $i -maxdepth 1 -type f -executable | while read program; do
} else callPackage ./tools/25.nix { if grep -q "JAVA_HOME" $program; then
inherit deployAndroidPackage lib os postInstall; wrapProgram $PWD/$program --prefix PATH : ${pkgs.jdk8}/bin
package = packages.tools.${toolsVersion}; fi
done
done
# Wrap monitor script
wrapProgram $PWD/monitor \
--prefix PATH : ${pkgs.jdk8}/bin \
--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath (with pkgs; [ xorg.libX11 xorg.libXtst ])}
# Patch all script shebangs
patchShebangs .
cd $out/libexec/android-sdk
${postInstall}
'';
meta.license = lib.licenses.unfree;
} }

View file

@ -1,62 +0,0 @@
{deployAndroidPackage, lib, package, autoPatchelfHook, makeWrapper, os, pkgs, pkgsi686Linux, postInstall ? ""}:
deployAndroidPackage {
name = "androidsdk";
nativeBuildInputs = [ autoPatchelfHook makeWrapper ];
buildInputs = lib.optionals (os == "linux") [ pkgs.glibc pkgs.xorg.libX11 pkgs.xorg.libXext pkgs.xorg.libXdamage pkgs.xorg.libxcb pkgs.xorg.libXfixes pkgs.xorg.libXrender pkgs.fontconfig.lib pkgs.freetype pkgs.libGL pkgs.zlib pkgs.ncurses5 pkgs.libpulseaudio pkgsi686Linux.glibc pkgsi686Linux.xorg.libX11 pkgsi686Linux.xorg.libXrender pkgsi686Linux.fontconfig pkgsi686Linux.freetype pkgsi686Linux.zlib ];
inherit package os;
patchInstructions = ''
${lib.optionalString (os == "linux") ''
# Auto patch all binaries
addAutoPatchelfSearchPath $PWD/lib64
addAutoPatchelfSearchPath $PWD/lib64/libstdc++
addAutoPatchelfSearchPath $PWD/lib64/qt/lib
addAutoPatchelfSearchPath $PWD/lib
addAutoPatchelfSearchPath $PWD/lib/libstdc++
autoPatchelf .
''}
# Wrap all scripts that require JAVA_HOME
for i in bin
do
find $i -maxdepth 1 -type f -executable | while read program
do
if grep -q "JAVA_HOME" $program
then
wrapProgram $PWD/$program --prefix PATH : ${pkgs.jdk8}/bin
fi
done
done
# Wrap programs that require java
for i in draw9patch jobb lint screenshot2
do
wrapProgram $PWD/$i \
--prefix PATH : ${pkgs.jdk8}/bin
done
# Wrap programs that require java and SWT
for i in android ddms hierarchyviewer monitor monkeyrunner traceview uiautomatorviewer
do
wrapProgram $PWD/$i \
--prefix PATH : ${pkgs.jdk8}/bin \
--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ pkgs.xorg.libX11 pkgs.xorg.libXtst ]}
done
${lib.optionalString (os == "linux") ''
wrapProgram $PWD/emulator \
--prefix PATH : ${pkgs.file}/bin:${pkgs.glxinfo}/bin:${pkgs.pciutils}/bin \
--set QT_XKB_CONFIG_ROOT ${pkgs.xkeyboard_config}/share/X11/xkb \
--set QTCOMPOSE ${pkgs.xorg.libX11.out}/share/X11/locale
''}
# Patch all script shebangs
patchShebangs .
cd ..
${postInstall}
'';
meta.license = lib.licenses.unfree;
}

View file

@ -1,45 +0,0 @@
{deployAndroidPackage, lib, package, autoPatchelfHook, makeWrapper, os, pkgs, pkgsi686Linux, postInstall ? ""}:
deployAndroidPackage {
name = "androidsdk";
inherit os package;
nativeBuildInputs = [ makeWrapper ]
++ lib.optionals (os == "linux") [ autoPatchelfHook ];
buildInputs = lib.optional (os == "linux") (
(with pkgs; [ glibc freetype fontconfig fontconfig.lib])
++ (with pkgs.xorg; [ libX11 libXrender libXext ])
++ (with pkgsi686Linux; [ glibc xorg.libX11 xorg.libXrender xorg.libXext fontconfig.lib freetype zlib ])
);
patchInstructions = ''
${lib.optionalString (os == "linux") ''
# Auto patch all binaries
autoPatchelf .
''}
# Wrap all scripts that require JAVA_HOME
for i in bin
do
find $i -maxdepth 1 -type f -executable | while read program
do
if grep -q "JAVA_HOME" $program
then
wrapProgram $PWD/$program --prefix PATH : ${pkgs.jdk8}/bin
fi
done
done
# Wrap monitor script
wrapProgram $PWD/monitor \
--prefix PATH : ${pkgs.jdk8}/bin \
--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ pkgs.xorg.libX11 pkgs.xorg.libXtst ]}
# Patch all script shebangs
patchShebangs .
cd ..
${postInstall}
'';
meta.license = lib.licenses.unfree;
}

View file

@ -1,16 +1,20 @@
{ lib, buildPythonPackage, fetchPypi, pygobject3, dbus }: { lib, buildPythonPackage, fetchFromGitHub, pygobject3, dbus, hatchling, pytestCheckHook }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "dasbus"; pname = "dasbus";
version = "1.7"; version = "unstable-11-10-2022";
format = "pyproject";
src = fetchPypi { src = fetchFromGitHub {
inherit pname version; owner = "rhinstaller";
hash = "sha256-qIUNhBrf6O5fe7n4LPRJq5tJUNwGM4lwcXGODQA2tvY="; repo = pname;
rev = "64b6b4d9e37cd7e0cbf4a7bf75faa7cdbd01086d";
hash = "sha256-TmhhDrfpP+nUErAd7dUb+RtGBRtWwn3bYOoIqa0VRoc=";
}; };
nativeBuildInputs = [ hatchling ];
propagatedBuildInputs = [ pygobject3 ]; propagatedBuildInputs = [ pygobject3 ];
nativeCheckInputs = [ dbus ]; nativeCheckInputs = [ dbus pytestCheckHook ];
meta = with lib; { meta = with lib; {
homepage = "https://github.com/rhinstaller/dasbus"; homepage = "https://github.com/rhinstaller/dasbus";

View file

@ -5,11 +5,11 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "funcy"; pname = "funcy";
version = "1.17"; version = "1.18";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "40b9b9a88141ae6a174df1a95861f2b82f2fdc17669080788b73a3ed9370e968"; sha256 = "sha256-FUSNGajrzHpYWv56OEoZGG0L1ny/VvtCzR/Q92MT+bI=";
}; };
# No tests # No tests

View file

@ -16,14 +16,14 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "google-cloud-automl"; pname = "google-cloud-automl";
version = "2.10.0"; version = "2.10.1";
format = "setuptools"; format = "setuptools";
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
hash = "sha256-BiXbDc1nX2y1ru8+t1rrhIzFg9wLAYMj3WJhIUb6VJ8="; hash = "sha256-pS/fm9837vmdvh6msk69nTeo/gj1StxsfFf6DsmOQE4=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View file

@ -3,18 +3,21 @@
, fetchFromGitHub , fetchFromGitHub
, pytestCheckHook , pytestCheckHook
, nodejs , nodejs
, pythonOlder
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "pscript"; pname = "pscript";
version = "0.7.6"; version = "0.7.7";
format = "setuptools";
disabled = pythonOlder "3.7";
# PyPI tarball doesn't include tests directory
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "flexxui"; owner = "flexxui";
repo = pname; repo = pname;
rev = "v${version}"; rev = "refs/tags/v${version}";
sha256 = "169px5n4jjnpdn9y86f28qwd95bwf1q1rz0a1h3lb5nn5c6ym8c4"; hash = "sha256-AhVI+7FiWyH+DfAXnau4aAHJAJtsWEpmnU90ey2z35o=";
}; };
nativeCheckInputs = [ nativeCheckInputs = [
@ -27,13 +30,15 @@ buildPythonPackage rec {
rm -rf pscript_legacy rm -rf pscript_legacy
''; '';
pythonImportsCheck = [
"pscript"
];
meta = with lib; { meta = with lib; {
description = "Python to JavaScript compiler"; description = "Python to JavaScript compiler";
license = licenses.bsd2;
homepage = "https://pscript.readthedocs.io"; homepage = "https://pscript.readthedocs.io";
maintainers = [ maintainers.matthiasbeyer ]; changelog = "https://github.com/flexxui/pscript/blob/v${version}/docs/releasenotes.rst";
license = licenses.bsd2;
maintainers = with maintainers; [ matthiasbeyer ];
}; };
} }

View file

@ -0,0 +1,38 @@
{ lib
, buildPythonPackage
, fetchPypi
, python-socketio
, pythonOlder
}:
buildPythonPackage rec {
pname = "uptime-kuma-api";
version = "0.9.0";
disabled = pythonOlder "3.6";
src = fetchPypi {
pname = "uptime_kuma_api";
inherit version;
hash = "sha256-nbRBsG4Mietd6kcrvpbTbWUP0SMRXbW4mWme1G5n3ks=";
};
propagatedBuildInputs = [
python-socketio
python-socketio.optional-dependencies.client
];
pythonImportsCheck = [
"uptime_kuma_api"
];
# Tests need an uptime-kuma instance to run
doCheck = false;
meta = with lib; {
description = "A Python wrapper for the Uptime Kuma Socket.IO API";
homepage = "https://github.com/lucasheld/uptime-kuma-api";
license = with licenses; [ mit ];
maintainers = with maintainers; [ julienmalka ];
};
}

View file

@ -2,13 +2,13 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "cargo-tarpaulin"; pname = "cargo-tarpaulin";
version = "0.23.1"; version = "0.24.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "xd009642"; owner = "xd009642";
repo = "tarpaulin"; repo = "tarpaulin";
rev = version; rev = version;
sha256 = "sha256-UDUbndsuXZDu7j+JhkS6kkFP6ju88+hXffy42XQY8gQ="; sha256 = "sha256-5ZezJT1oxns6ZURj41UWLpfGs5dMUi8Vdv7OtwgVTF4=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -17,7 +17,7 @@ rustPlatform.buildRustPackage rec {
buildInputs = [ openssl ] buildInputs = [ openssl ]
++ lib.optionals stdenv.isDarwin [ curl Security ]; ++ lib.optionals stdenv.isDarwin [ curl Security ];
cargoSha256 = "sha256-iLqxixUEZhz3Kv7D84RqVyvtoZx69dhdLKTnVnsO0k0="; cargoHash = "sha256-vuwpaFUzN66jNj4lrDv2idMAm24o5ftYG40N56xeoqk=";
#checkFlags = [ "--test-threads" "1" ]; #checkFlags = [ "--test-threads" "1" ];
doCheck = false; doCheck = false;

View file

@ -133,30 +133,30 @@ rec {
headers = "09dbx4qh0rgp5mdm6srz6fgx12zq6b9jqq1k6l3gzyvwigi3wny1"; headers = "09dbx4qh0rgp5mdm6srz6fgx12zq6b9jqq1k6l3gzyvwigi3wny1";
}; };
electron_20 = mkElectron "20.1.3" { electron_20 = mkElectron "20.3.11" {
armv7l-linux = "99710a57c55d95b540f4c3568da2a7caccb7f91da23b530c8c40db5ac861ab24"; armv7l-linux = "709b9eb958e9488f6375811041179556b9cd0b8fc1eab6b899ef4a89423f98b2";
aarch64-linux = "8f39562f20210d7cdedbb063683d632df442c8553f62104c7d676121f3d9a357"; aarch64-linux = "0f488ac9eeda2baa4c4e571fd75ac8e055dac9dcdf83051164232b1005a29224";
x86_64-linux = "219fb6f01305669f78cf1881d257e3cc48e5563330338516f8b6592d85fdb4a3"; x86_64-linux = "7899bf391ae35e10d78a5da622e506dd4ae859cd8c18953cd2dc54f1a5e5225e";
x86_64-darwin = "134714291dcbecbf10cbc27c490a6501e2810bd4147a74f3b2671503445f2ce8"; x86_64-darwin = "751204887aa553c2a7811d3cb04d71e85359ccce2cf21d38e43eda24575ef4db";
aarch64-darwin = "a09f83442f1e9f4b1edc07445a1dca73d9597529b23d62731eaa3fa0488f4ab0"; aarch64-darwin = "8ea1a446b41413b97d83d2955a4800c5f7c9061662f78c3e8d96827741f8e211";
headers = "11cv0p52864k4knwlwakiq8v6rxdv3iz6kvwhn0w8mpap2h5pzii"; headers = "06s4z2hs9sbri4jsjrgybq0sn7rrx7zf3iwfg8da1wb6ahwqcd7w";
}; };
electron_21 = mkElectron "21.2.1" { electron_21 = mkElectron "21.4.0" {
armv7l-linux = "1f68ffacbcd0086c5bcbc726e3a0bd707b03acdf5c82d5cc44666b6e9a0d8a78"; armv7l-linux = "20ed4fab8b2046e10c999592ea06cd6ef13bc5826bcd7e8874c6e5e3b3cdb5b7";
aarch64-linux = "78c1c6ecf5959e67fa6c67d82dc7deb170bc10d34d45265d6e972dd5b996bcb9"; aarch64-linux = "5841060f67c23371f2739e043b51f56d04125fe781cc50e298590247477eacf2";
x86_64-linux = "d8aa2ea7b1a1421ca245ced1a9bdd77408bf7aee6f75c19d5e0e73dc120442b7"; x86_64-linux = "1c0da48b2b9d1fb320577429298397d67d94fbf5864d6a4f3c6eeadee3114f2e";
x86_64-darwin = "f20c0be6cb51bad1bb591ec1116be622e631cbc89876b2258c55579bbe52de30"; x86_64-darwin = "3eea42022d21b6bb0416da8da787740b908febd2552e74cbac63bf403df0745a";
aarch64-darwin = "2ac1bde2bbb4a265422e00eb5e1d81302b0c349b2db6e7bf1ee6f236a68b3d53"; aarch64-darwin = "aee691fd7da0343e09c4574d09e0d9962d2d1071f845ae57acf1fd9c76adbd3c";
headers = "1c1g6jc0p678d5sr2w4irhfkj02vm4kb92b7cvimz8an0jwy58x7"; headers = "0zvwd3gz5y3yq5jgkswnarv75j05lfaz58w37fidq5aib1hi50hn";
}; };
electron_22 = mkElectron "22.0.0" { electron_22 = mkElectron "22.1.0" {
armv7l-linux = "f2b9c870c12d4cfd6a4ac23bf937d4a89cd34381aedc2c9a64f00f22ff984985"; armv7l-linux = "9bad02cd8e8604400eb90d9bd8fa58b6e400321cea8db7e774908611f4fca2a2";
aarch64-linux = "7c031d1d907953399126e9ed072db66ab7c82e3aff29c8268c8c3a83f825f5de"; aarch64-linux = "1d3e0011761f5ba05faf994a7f78cf518e49e0fef7e4528853e1bff9378d02cf";
x86_64-linux = "ea0f4ad9a91bef4d5918d73c27b2731a5a93fe8917ad13d9eca83f39c5acbf05"; x86_64-linux = "543e5fa7f2b602c3cd7e62a358441faf6f490e738de9b0bd796ad65d6bbd35ee";
x86_64-darwin = "b072e64ae563997abed9b76e30b617dfc23a33d6bba6b85fdf30c0877a6215c2"; x86_64-darwin = "969cad3fad6a03cbbc1658722cbf87547a8465c90dd4287fd5c03bd15bbf8a5b";
aarch64-darwin = "79b700953a20f4055bf94f11d7a6be9d39a7545774b45ca487cf33482828ebfd"; aarch64-darwin = "4ebf838308e93ad9956f3ce3a14b8d41607ffec5cd2054818d0c91b79df101a2";
headers = "06fi1m6g0g81a1lkx11ryxbic0srp4iq2z2lf2449sjnaw1sh2hr"; headers = "1vydsk4fxk5hlpcs0r1s21gdr1kvxip8qc88ncs5w7ybqg31hzsh";
}; };
} }

View file

@ -32,7 +32,7 @@ let
++ optionals (versionAtLeast version "11.0.0") [ "aarch64-darwin" ] ++ optionals (versionAtLeast version "11.0.0") [ "aarch64-darwin" ]
++ optionals (versionOlder version "19.0.0") [ "i686-linux" ]; ++ optionals (versionOlder version "19.0.0") [ "i686-linux" ];
sourceProvenance = with sourceTypes; [ binaryNativeCode ]; sourceProvenance = with sourceTypes; [ binaryNativeCode ];
knownVulnerabilities = optional (versionOlder version "18.0.0") "Electron version ${version} is EOL"; knownVulnerabilities = optional (versionOlder version "20.0.0") "Electron version ${version} is EOL";
}; };
fetcher = vers: tag: hash: fetchurl { fetcher = vers: tag: hash: fetchurl {

View file

@ -17,19 +17,19 @@ let
passthru.tests = { passthru.tests = {
simple-c = runCommandCC "simple-c-bindgen-tests" { } '' simple-c = runCommandCC "simple-c-bindgen-tests" { } ''
echo '#include <stdlib.h>' > a.c echo '#include <stdlib.h>' > a.c
${self}/bin/bindgen a.c --whitelist-function atoi | tee output ${self}/bin/bindgen a.c --allowlist-function atoi | tee output
grep atoi output grep atoi output
touch $out touch $out
''; '';
simple-cpp = runCommandCC "simple-cpp-bindgen-tests" { } '' simple-cpp = runCommandCC "simple-cpp-bindgen-tests" { } ''
echo '#include <cmath>' > a.cpp echo '#include <cmath>' > a.cpp
${self}/bin/bindgen a.cpp --whitelist-function erf -- -xc++ | tee output ${self}/bin/bindgen a.cpp --allowlist-function erf -- -xc++ | tee output
grep erf output grep erf output
touch $out touch $out
''; '';
with-lib = runCommandCC "zlib-bindgen-tests" { buildInputs = [ zlib ]; } '' with-lib = runCommandCC "zlib-bindgen-tests" { buildInputs = [ zlib ]; } ''
echo '#include <zlib.h>' > a.c echo '#include <zlib.h>' > a.c
${self}/bin/bindgen a.c --whitelist-function compress | tee output ${self}/bin/bindgen a.c --allowlist-function compress | tee output
grep compress output grep compress output
touch $out touch $out
''; '';

View file

@ -7,15 +7,15 @@ let
rustfmt-nightly = rustfmt.override { asNightly = true; }; rustfmt-nightly = rustfmt.override { asNightly = true; };
in rustPlatform.buildRustPackage rec { in rustPlatform.buildRustPackage rec {
pname = "rust-bindgen-unwrapped"; pname = "rust-bindgen-unwrapped";
version = "0.61.0"; version = "0.63.0";
src = fetchCrate { src = fetchCrate {
pname = "bindgen-cli"; pname = "bindgen-cli";
inherit version; inherit version;
sha256 = "sha256-sKcKIAkUC2GfAZ4tJBNweXhoFzqO95iCpHgekpOyHzc="; sha256 = "sha256-qynsHbcljbJyi4wq9AxEE7KIclnDqNTMFAW366JhBSo=";
}; };
cargoSha256 = "sha256-P246tw5Kznpxav0LashIkLlmQGVB+aKbFUQQdmcASPw="; cargoSha256 = "sha256-nOPJo6vWMAcG9VG03uceYyLiJfomFERViDCZ0vFnenY=";
buildInputs = [ clang.cc.lib ]; buildInputs = [ clang.cc.lib ];

View file

@ -15,16 +15,16 @@ let
in in
buildGoModule rec { buildGoModule rec {
pname = "minio"; pname = "minio";
version = "2023-01-20T02-05-44Z"; version = "2023-01-25T00-19-54Z";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "minio"; owner = "minio";
repo = "minio"; repo = "minio";
rev = "RELEASE.${version}"; rev = "RELEASE.${version}";
sha256 = "sha256-svy+rmc7RPxKaoF8VbJUpmcYTShqhX7NpPOqzSZdrt4="; sha256 = "sha256-1vXi9BnjTCH7B/I7tkfvm2AZtLK7a0GcMsW9gud8U/4=";
}; };
vendorHash = "sha256-5s70UG9N6A2PklOYpvIU4Ot2vMVCEjOtue4DBaU+ryU="; vendorHash = "sha256-NGuslbHh0tDPQp+zvKnylLkssMglhgesLX5VT2BjDo8=";
doCheck = false; doCheck = false;

View file

@ -2,7 +2,7 @@
buildGoModule rec { buildGoModule rec {
pname = "grafana"; pname = "grafana";
version = "9.3.1"; version = "9.3.6";
excludedPackages = [ "alert_webhook_listener" "clean-swagger" "release_publisher" "slow_proxy" "slow_proxy_mac" "macaron" "devenv" ]; excludedPackages = [ "alert_webhook_listener" "clean-swagger" "release_publisher" "slow_proxy" "slow_proxy_mac" "macaron" "devenv" ];
@ -10,15 +10,15 @@ buildGoModule rec {
rev = "v${version}"; rev = "v${version}";
owner = "grafana"; owner = "grafana";
repo = "grafana"; repo = "grafana";
sha256 = "sha256-XZsR6h7qG2EYKv0Zr/ZjDf4WqF16khqFzYIF3ekQ08c="; sha256 = "sha256-7t30AvGtCyU02fOYWHYcMWgcnmkepUpZzUMR4NjIlvw=";
}; };
srcStatic = fetchurl { srcStatic = fetchurl {
url = "https://dl.grafana.com/oss/release/grafana-${version}.linux-amd64.tar.gz"; url = "https://dl.grafana.com/oss/release/grafana-${version}.linux-amd64.tar.gz";
sha256 = "sha256-7LIcSPxvueQYxeofzmtvvlnSboeo+TOF6xVA+g+oHqE="; sha256 = "sha256-jRUPrb6ocqux4SrMm/Hw/2DuG7sj2jKhSln16ynjHwM=";
}; };
vendorSha256 = "sha256-oV440W9r6b74JaY8Ej2OEIPpxhdUmjq77RJOoJb6Upw="; vendorSha256 = "sha256-uGJ3D14qAvDkBUIlNxF1pCHMDYeuUoM8tPWfoEvA5o4=";
nativeBuildInputs = [ wire ]; nativeBuildInputs = [ wire ];

View file

@ -116,13 +116,13 @@ let
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
pname = "mpd"; pname = "mpd";
version = "0.23.11"; version = "0.23.12";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "MusicPlayerDaemon"; owner = "MusicPlayerDaemon";
repo = "MPD"; repo = "MPD";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-vgLH4kOluK9cOmTrvpBfR87Iunn0EzH9GmiUvsjsG4I="; sha256 = "sha256-BnEtSkZjUBK0flVttOrjkT4RCQh9F7+MDZGm2+MMrX8=";
}; };
buildInputs = [ buildInputs = [

View file

@ -2,16 +2,16 @@
buildGoModule rec { buildGoModule rec {
pname = "infra"; pname = "infra";
version = "0.20.0"; version = "0.21.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "infrahq"; owner = "infrahq";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-4sExRKq4J94cQYqjxaXCKa2aEeptCG+TTvrDOrJfBUg="; sha256 = "sha256-uz4wimhOfeHSL949m+biIhjfDwwEGnTiJWaz/r3Rsko=";
}; };
vendorSha256 = "sha256-afbQQsluZjgliNxSOGcTS1DJwj7en5NpxtuzCDAyv98="; vendorHash = "sha256-qbmaebQcD3cN+tbmzzJbry0AXz2LZFMoqbcBwGGrRo4=";
subPackages = [ "." ]; subPackages = [ "." ];

View file

@ -1,42 +1,26 @@
From 56873cf29974ff0dfc1ba1afb7022ce49e300835 Mon Sep 17 00:00:00 2001
From: Maximilian Bosch <maximilian@mbosch.me>
Date: Wed, 11 Nov 2020 11:58:25 +0100
Subject: [PATCH 2/2] Make sure that the setuid-wrapped `umount` is invoked
---
src/dav_fuse.c | 2 +-
src/umount_davfs.c | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/dav_fuse.c b/src/dav_fuse.c diff --git a/src/dav_fuse.c b/src/dav_fuse.c
index 734bc1f..4501433 100644 index 6311428..1b1698d 100644
--- a/src/dav_fuse.c --- a/src/dav_fuse.c
+++ b/src/dav_fuse.c +++ b/src/dav_fuse.c
@@ -187,7 +187,7 @@ dav_fuse_loop(int device, char *mpoint, size_t bufsize, time_t idle_time, @@ -189,7 +189,7 @@ dav_fuse_loop(int device, char *mpoint, size_t bufsize, time_t idle_time,
unmounting = 1;
pid_t pid = fork(); pid_t pid = fork();
if (pid == 0) { if (pid == 0) {
#if defined(__linux__)
- execl("/bin/umount", "umount", "-il", mountpoint, NULL); - execl("/bin/umount", "umount", "-il", mountpoint, NULL);
+ execl("@wrapperDir@/umount", "umount", "-il", mountpoint, NULL); + execl("@wrapperDir@/umount", "umount", "-il", mountpoint, NULL);
_exit(EXIT_FAILURE); #elif defined(__FreeBSD__)
} execl("/sbin/umount", "umount", "-v", mountpoint, NULL);
} #endif
diff --git a/src/umount_davfs.c b/src/umount_davfs.c diff --git a/src/umount_davfs.c b/src/umount_davfs.c
index b7019c3..75e3b4b 100644 index 6a82fd2..93958be 100644
--- a/src/umount_davfs.c --- a/src/umount_davfs.c
+++ b/src/umount_davfs.c +++ b/src/umount_davfs.c
@@ -122,9 +122,9 @@ main(int argc, char *argv[]) @@ -50,7 +50,7 @@
#endif
char *umount_command = NULL;
if (mpoint) {
- umount_command = ne_concat("umount -i '", mpoint, "'", NULL);
+ umount_command = ne_concat("@wrapperDir@/umount -i '", mpoint, "'", NULL);
} else {
- umount_command = ne_concat("umount -i '", argv[optind], "'", NULL);
+ umount_command = ne_concat("@wrapperDir@/umount -i '", argv[optind], "'", NULL);
error(0, 0,
_("\n"
" can't evaluate PID file name;\n"
--
2.28.0
#if defined(__linux__)
-#define UMOUNT_CMD "umount -i"
+#define UMOUNT_CMD "@wrapperDir@/umount -i"
#elif defined(__FreeBSD__)
#define UMOUNT_CMD "umount"
#endif

View file

@ -1,6 +1,7 @@
{ lib, stdenv { lib, stdenv
, fetchurl , fetchurl
, fetchpatch , fetchpatch
, autoreconfHook
, neon , neon
, procps , procps
, substituteAll , substituteAll
@ -10,17 +11,22 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "davfs2"; pname = "davfs2";
version = "1.6.1"; version = "1.7.0";
src = fetchurl { src = fetchurl {
url = "mirror://savannah/davfs2/davfs2-${version}.tar.gz"; url = "mirror://savannah/davfs2/davfs2-${version}.tar.gz";
sha256 = "sha256-zj65SOzlgqUck0zLDMcOZZg5FycXyv8XP2ml4q+QxcA="; sha256 = "sha256-JR23Wic4DMoTMLG5cXAMXl3MDJDlpHYiKF8BQO3+Oi8=";
}; };
nativeBuildInputs = [
autoreconfHook
];
buildInputs = [ neon zlib ]; buildInputs = [ neon zlib ];
patches = [ patches = [
./fix-sysconfdir.patch ./fix-sysconfdir.patch
./disable-suid.patch
(substituteAll { (substituteAll {
src = ./0001-umount_davfs-substitute-ps-command.patch; src = ./0001-umount_davfs-substitute-ps-command.patch;
ps = "${procps}/bin/ps"; ps = "${procps}/bin/ps";
@ -33,11 +39,6 @@ stdenv.mkDerivation rec {
configureFlags = [ "--sysconfdir=/etc" ]; configureFlags = [ "--sysconfdir=/etc" ];
makeFlags = [
"sbindir=$(out)/sbin"
"ssbindir=$(out)/sbin"
];
meta = { meta = {
homepage = "https://savannah.nongnu.org/projects/davfs2"; homepage = "https://savannah.nongnu.org/projects/davfs2";
description = "Mount WebDAV shares like a typical filesystem"; description = "Mount WebDAV shares like a typical filesystem";
@ -52,5 +53,6 @@ stdenv.mkDerivation rec {
''; '';
platforms = lib.platforms.linux; platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [ fgaz ];
}; };
} }

View file

@ -0,0 +1,9 @@
diff --git a/src/Makefile.am b/src/Makefile.am
index bbde353..bcbed04 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -54,4 +54,3 @@ LIBS += @LIBICONV@
endif
install-exec-hook:
- chmod u+s $(DESTDIR)$(sbindir)/mount.davfs;

View file

@ -1,19 +1,20 @@
diff -ubr davfs2-1.4.7-orig/etc/Makefile.am davfs2-1.4.7/etc/Makefile.am diff --git a/etc/Makefile.am b/etc/Makefile.am
--- davfs2-1.4.7-orig/etc/Makefile.am 2013-02-21 11:45:00.185763558 +0100 index 5a01282..6a40921 100644
+++ davfs2-1.4.7/etc/Makefile.am 2013-02-21 11:53:05.423197775 +0100 --- a/etc/Makefile.am
@@ -24,17 +24,17 @@ +++ b/etc/Makefile.am
@@ -24,17 +24,17 @@ pkgsysconfdir = $(sysconfdir)/@PACKAGE@
install-data-local: $(dist_pkgdata_DATA) install-data-local: $(dist_pkgdata_DATA)
@$(NORMAL_INSTALL) @$(NORMAL_INSTALL)
- $(mkinstalldirs) $(DESTDIR)$(pkgsysconfdir) - $(mkinstalldirs) $(DESTDIR)$(pkgsysconfdir)
- $(INSTALL_DATA) -b davfs2.conf $(DESTDIR)$(pkgsysconfdir)/davfs2.conf - $(INSTALL_DATA) -b $(srcdir)/davfs2.conf $(DESTDIR)$(pkgsysconfdir)/davfs2.conf
- $(INSTALL_DATA) -b -m 600 secrets $(DESTDIR)$(pkgsysconfdir)/secrets - $(INSTALL_DATA) -b -m 600 $(srcdir)/secrets $(DESTDIR)$(pkgsysconfdir)/secrets
- $(mkinstalldirs) $(DESTDIR)$(pkgsysconfdir)/certs - $(mkinstalldirs) $(DESTDIR)$(pkgsysconfdir)/certs
- $(mkinstalldirs) $(DESTDIR)$(pkgsysconfdir)/certs/private - $(mkinstalldirs) $(DESTDIR)$(pkgsysconfdir)/certs/private
- chmod 700 $(DESTDIR)$(pkgsysconfdir)/certs/private - chmod 700 $(DESTDIR)$(pkgsysconfdir)/certs/private
+ $(mkinstalldirs) $(out)$(pkgsysconfdir) + $(mkinstalldirs) $(out)$(pkgsysconfdir)
+ $(INSTALL_DATA) -b davfs2.conf $(out)$(pkgsysconfdir)/davfs2.conf + $(INSTALL_DATA) -b $(srcdir)/davfs2.conf $(out)$(pkgsysconfdir)/davfs2.conf
+ $(INSTALL_DATA) -b -m 600 secrets $(out)$(pkgsysconfdir)/secrets + $(INSTALL_DATA) -b -m 600 $(srcdir)/secrets $(out)$(pkgsysconfdir)/secrets
+ $(mkinstalldirs) $(out)$(pkgsysconfdir)/certs + $(mkinstalldirs) $(out)$(pkgsysconfdir)/certs
+ $(mkinstalldirs) $(out)$(pkgsysconfdir)/certs/private + $(mkinstalldirs) $(out)$(pkgsysconfdir)/certs/private
+ chmod 700 $(out)$(pkgsysconfdir)/certs/private + chmod 700 $(out)$(pkgsysconfdir)/certs/private
@ -27,34 +28,3 @@ diff -ubr davfs2-1.4.7-orig/etc/Makefile.am davfs2-1.4.7/etc/Makefile.am
+ echo " rm -f $(out)$(pkgsysconfdir)/$$f"; \ + echo " rm -f $(out)$(pkgsysconfdir)/$$f"; \
+ rm -f $(out)$(pkgsysconfdir)/$$f; \ + rm -f $(out)$(pkgsysconfdir)/$$f; \
done done
diff -ubr davfs2-1.4.7-orig/etc/Makefile.in davfs2-1.4.7/etc/Makefile.in
--- davfs2-1.4.7-orig/etc/Makefile.in 2013-02-21 11:45:00.185763558 +0100
+++ davfs2-1.4.7/etc/Makefile.in 2013-02-21 11:53:27.241207128 +0100
@@ -408,19 +408,19 @@
install-data-local: $(dist_pkgdata_DATA)
@$(NORMAL_INSTALL)
- $(mkinstalldirs) $(DESTDIR)$(pkgsysconfdir)
- $(INSTALL_DATA) -b davfs2.conf $(DESTDIR)$(pkgsysconfdir)/davfs2.conf
- $(INSTALL_DATA) -b -m 600 secrets $(DESTDIR)$(pkgsysconfdir)/secrets
- $(mkinstalldirs) $(DESTDIR)$(pkgsysconfdir)/certs
- $(mkinstalldirs) $(DESTDIR)$(pkgsysconfdir)/certs/private
- chmod 700 $(DESTDIR)$(pkgsysconfdir)/certs/private
+ $(mkinstalldirs) $(out)$(pkgsysconfdir)
+ $(INSTALL_DATA) -b davfs2.conf $(out)$(pkgsysconfdir)/davfs2.conf
+ $(INSTALL_DATA) -b -m 600 secrets $(out)$(pkgsysconfdir)/secrets
+ $(mkinstalldirs) $(out)$(pkgsysconfdir)/certs
+ $(mkinstalldirs) $(out)$(pkgsysconfdir)/certs/private
+ chmod 700 $(out)$(pkgsysconfdir)/certs/private
uninstall-local:
@$(NORMAL_UNINSTALL)
@list='$(dist_pkgdata_DATA)'; for p in $$list; do \
f="`echo $$p | sed -e 's|^.*/||'`"; \
- echo " rm -f $(DESTDIR)$(pkgsysconfdir)/$$f"; \
- rm -f $(DESTDIR)$(pkgsysconfdir)/$$f; \
+ echo " rm -f $(out)$(pkgsysconfdir)/$$f"; \
+ rm -f $(out)$(pkgsysconfdir)/$$f; \
done
# Tell versions [3.59,3.63) of GNU make to not export all variables.

View file

@ -6,16 +6,16 @@
buildGoModule rec { buildGoModule rec {
pname = "chezmoi"; pname = "chezmoi";
version = "2.29.3"; version = "2.29.4";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "twpayne"; owner = "twpayne";
repo = "chezmoi"; repo = "chezmoi";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-WrGbCyAjrwZHBMXxqrw7vC5J8b7xn7FUeoZ9IANRf0g="; hash = "sha256-pvSKLWek/nCVjlfvYQIefvTt+VMmNYs58/4bPQQdfNU=";
}; };
vendorHash = "sha256-0heLEQFKxKxeNZGBd3GcTsOfhmDyxZRynVrAkF6vHvk="; vendorHash = "sha256-hGYcfERYxSEg+j9EDDGYVar69HoApSqxWH8IWwHaOKs=";
doCheck = false; doCheck = false;

View file

@ -29,6 +29,6 @@ python3Packages.buildPythonApplication rec {
homepage = "https://github.com/rumpelsepp/oscclip"; homepage = "https://github.com/rumpelsepp/oscclip";
license = licenses.gpl3Only; license = licenses.gpl3Only;
maintainers = [ maintainers.traxys ]; maintainers = with maintainers; [ rumpelsepp traxys ];
}; };
} }

View file

@ -7,16 +7,16 @@
buildGoModule rec { buildGoModule rec {
pname = "tbls"; pname = "tbls";
version = "1.58.0"; version = "1.60.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "k1LoW"; owner = "k1LoW";
repo = "tbls"; repo = "tbls";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-uHTE4x8cCM2O4dtqqV7zm7Eqi8xsqqxSUbcFvV2Vgv8="; hash = "sha256-5/YAJl01ARralsBEV6ZJqcYfMMudCmcQcdQD1jn1I+M=";
}; };
vendorHash = "sha256-qMkAmtt9ERYcZEdxqFAI9P99niP3l13iQ6M4cDCz5Kw="; vendorHash = "sha256-AeaTAjo1wRl7Ymg/fyoijaa9UXf9SiNR447WJtZeN5o=";
CGO_CFLAGS = [ "-Wno-format-security" ]; CGO_CFLAGS = [ "-Wno-format-security" ];

View file

@ -2,16 +2,16 @@
buildGoModule rec { buildGoModule rec {
pname = "clash"; pname = "clash";
version = "1.12.0"; version = "1.13.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Dreamacro"; owner = "Dreamacro";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-SE+nZIatvwyc6JubMb7YUlNiJv+LYtJjFMlKEoJzEn8="; hash = "sha256-f/iSnSaRr1dqMRKb7GDZdc2WuykO42XMSNKwMOwuagc=";
}; };
vendorSha256 = "sha256-ikcGZ1Gfxb4zBkav8MDi3+xNbvhqHIk6NhLfI2ne3ns="; vendorHash = "sha256-fDn6UlijI2TJPF4FS50u1MMDxnd8eDTbqHLnGso/FoU=";
# Do not build testing suit # Do not build testing suit
excludedPackages = [ "./test" ]; excludedPackages = [ "./test" ];

View file

@ -5,6 +5,7 @@
, readline , readline
, stdenv , stdenv
, which , which
, buildPackages
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -30,6 +31,10 @@ stdenv.mkDerivation rec {
nativeCheckInputs = [ which nettools ]; nativeCheckInputs = [ which nettools ];
doCheck = false; # fails a bunch, hangs doCheck = false; # fails a bunch, hangs
passthru.tests = lib.optionalAttrs stdenv.buildPlatform.isLinux {
musl = buildPackages.pkgsMusl.socat;
};
meta = with lib; { meta = with lib; {
description = "Utility for bidirectional data transfer between two independent data channels"; description = "Utility for bidirectional data transfer between two independent data channels";
homepage = "http://www.dest-unreach.org/socat/"; homepage = "http://www.dest-unreach.org/socat/";

View file

@ -10,13 +10,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "wlr-randr"; pname = "wlr-randr";
version = "0.2.0"; version = "0.3.0";
src = fetchFromSourcehut { src = fetchFromSourcehut {
owner = "~emersion"; owner = "~emersion";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-JeSxFXSFxcTwJz9EaLb18wtD4ZIT+ATeYM5OyDTJhDQ="; sha256 = "sha256-iJSHCQbom+V0TrtEYrjMrMkdc6PoZrjhtcgebZYjQjI=";
}; };
strictDeps = true; strictDeps = true;

View file

@ -23532,6 +23532,8 @@ with pkgs;
vkdt = callPackage ../applications/graphics/vkdt { }; vkdt = callPackage ../applications/graphics/vkdt { };
vkdt-wayland = callPackage ../applications/graphics/vkdt { glfw = glfw-wayland; };
vlock = callPackage ../misc/screensavers/vlock { }; vlock = callPackage ../misc/screensavers/vlock { };
virtualpg = callPackage ../development/libraries/virtualpg { }; virtualpg = callPackage ../development/libraries/virtualpg { };

View file

@ -12911,12 +12911,12 @@ let
}; };
}; };
libapreq2 = buildPerlPackage { libapreq2 = buildPerlPackage rec {
pname = "libapreq2"; pname = "libapreq2";
version = "2.16"; version = "2.17";
src = fetchurl { src = fetchurl {
url = "mirror://cpan/authors/id/S/SH/SHAY/libapreq2-2.16.tar.gz"; url = "mirror://apache/httpd/libapreq/${pname}-${version}.tar.gz";
hash = "sha256-4EyFWj6gcLiGNWn7rgL+go9TSsiHVbI+JNOGPMlZg0k="; hash = "sha256-BGSH8ITBL6HIIq/8X33lbv7ZtIkFpCbmMaa5ScEU2Gw=";
}; };
outputs = [ "out" ]; outputs = [ "out" ];
buildInputs = [ pkgs.apacheHttpd pkgs.apr pkgs.aprutil ApacheTest ExtUtilsXSBuilder ]; buildInputs = [ pkgs.apacheHttpd pkgs.apr pkgs.aprutil ApacheTest ExtUtilsXSBuilder ];

View file

@ -11906,6 +11906,8 @@ self: super: with self; {
uptime = callPackage ../development/python-modules/uptime { }; uptime = callPackage ../development/python-modules/uptime { };
uptime-kuma-api = callPackage ../development/python-modules/uptime-kuma-api { };
uptime-kuma-monitor = callPackage ../development/python-modules/uptime-kuma-monitor { }; uptime-kuma-monitor = callPackage ../development/python-modules/uptime-kuma-monitor { };
uranium = callPackage ../development/python-modules/uranium { }; uranium = callPackage ../development/python-modules/uranium { };