|
49 | 49 | { arch = "aarch64"; os = "linux"; target = "aarch64-unknown-linux-gnu"; formats = ["deb" "rpm" "tar.xz"]; } |
50 | 50 | { arch = "armv7l"; os = "linux"; target = "armv7-unknown-linux-gnueabihf"; formats = ["tar.xz"]; } |
51 | 51 | { arch = "armv6l"; os = "linux"; target = "arm-unknown-linux-gnueabihf"; formats = ["tar.xz"]; } |
52 | | - { arch = "riscv32"; os = "linux"; target = "riscv32gc-unknown-linux-gnu"; formats = ["tar.xz"]; } |
53 | | - { arch = "riscv64"; os = "linux"; target = "riscv64gc-unknown-linux-gnu"; formats = ["tar.xz"]; } |
| 52 | + # { arch = "riscv32"; os = "linux"; target = "riscv32gc-unknown-linux-gnu"; formats = ["tar.xz"]; } |
| 53 | + # { arch = "riscv64"; os = "linux"; target = "riscv64gc-unknown-linux-gnu"; formats = ["tar.xz"]; } |
54 | 54 | # MacOS |
55 | 55 | { arch = "x86_64"; os = "macos"; target = "x86_64-apple-darwin"; formats = ["tar.xz"]; } |
56 | 56 | { arch = "aarch64"; os = "macos"; target = "aarch64-apple-darwin"; formats = ["tar.xz"]; } |
57 | 57 | # Windows |
58 | 58 | { arch = "x86_64"; os = "windows"; target = "x86_64-pc-windows-msvc"; formats = ["zip"]; } |
59 | | - { arch = "i686"; os = "windows"; target = "i686-pc-windows-msvc"; formats = ["zip"]; } |
60 | 59 | ]; |
61 | 60 |
|
62 | 61 | mkDevShell = { arch, os, ... }: pkgs.mkShell { |
|
85 | 84 |
|
86 | 85 | containerPkg = variant: let |
87 | 86 | pkg = mkPackage variant; |
88 | | - # arch = if variant.arch == "x86_64" then "amd" else "arm"; |
| 87 | + dockerPlatform = |
| 88 | + if variant.arch == "x86_64" then "amd64" |
| 89 | + else if variant.arch == "aarch64" then "arm64" |
| 90 | + else if variant.arch == "armv7l" then "arm" |
| 91 | + else if variant.arch == "armv6l" then "arm" |
| 92 | + else if variant.arch == "i686" then "386" |
| 93 | + else throw "Unsupported arch: ${variant.arch}"; |
89 | 94 | in pkgs.dockerTools.buildLayeredImage rec { |
90 | 95 | name = cargoManifest.package.name; |
91 | 96 | tag = cargoManifest.package.version; |
92 | 97 | created = "now"; |
93 | | - # architecture = "linux/${arch}64"; |
| 98 | + architecture = dockerPlatform; |
94 | 99 |
|
95 | 100 | contents = [ pkg ]; |
96 | 101 | config.Cmd = ["/bin/${name}"]; |
|
0 commit comments