Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pull] master from NixOS:master #58

Merged
merged 215 commits into from
Oct 26, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
215 commits
Select commit Hold shift + click to select a range
57393ed
pulumiPackages.pulumi-random: 4.8.2 -> 4.14.0
Trundle Sep 25, 2023
86353a0
tart: 1.6.0 -> 2.0.0
techknowlogick Sep 14, 2023
b1fc319
add Emscripten maintainers to CODEOWNERS
fricklerhandwerk Oct 2, 2023
dd54e58
emscripten docs: reword introduction
fricklerhandwerk Oct 2, 2023
b2f5265
emscripten docs: reformat examples to use admonition
fricklerhandwerk Oct 2, 2023
13e62b2
seafile-shared: 9.0.3 -> 9.0.4
r-ryantm Oct 19, 2023
9b3c1ff
skaffold: 2.7.1 -> 2.8.0
r-ryantm Oct 19, 2023
a6c2d9a
ocamlPackages.sail: 0.15 → 0.16
vbgl Oct 20, 2023
dd8a65b
space-station-14-launcher: 0.22.1 -> 0.24.0
gradientvera Oct 13, 2023
be4027e
vscode-extensions.svelte.svelte-vscode: 107.4.3 -> 107.12.0
eliandoran Oct 22, 2023
a3faae4
ocamlPackages.brr: 0.0.4 → 0.0.6
vbgl Oct 22, 2023
8bbeaa8
ocamlPackages.note: 0.0.2 → 0.0.3
vbgl Oct 22, 2023
cae154a
nixos/systemd-tmpfiles: add settings option
DavHau Oct 21, 2023
59c14df
openmpi: 4.1.5 -> 4.1.6
markuskowa Oct 23, 2023
9015035
openmpi: add ucc to inputs
markuskowa Oct 23, 2023
1c5f7ea
slurm: remove pmix-configure.patch
markuskowa Oct 23, 2023
2f479ac
pmix: 3.2.4 -> 5.0.1
markuskowa Oct 23, 2023
a593ca3
rocmPackages.hsa-amd-aqlprofile-bin: 5.7.0 -> 5.7.1
Madouura Oct 22, 2023
3acb668
scaleway-cli: 2.21.0 -> 2.24.0
techknowlogick Oct 24, 2023
b75f6fb
pzip: init at 0.2.0
figsoda Sep 26, 2023
df1b52e
sunshine: 0.20.0 -> 0.21.0
devusb Oct 21, 2023
0fe33fb
python311Packages.pmdarima: 2.0.3 -> 2.0.4
r-ryantm Oct 24, 2023
d4e8ce4
python311Packages.cloudpathlib: init at 0.16.0
GaetanLepage Oct 24, 2023
2e54e0c
python311Packages.weasel: init at 0.3.3
GaetanLepage Oct 24, 2023
ecf9457
python311Packages.spacy: 3.6.1 -> 3.7.2
GaetanLepage Oct 24, 2023
9e555ba
python311Packages.spacy-lookup-data: switch from fetchPypi to fetchFr…
GaetanLepage Oct 24, 2023
5baf729
python311Packages.spacy-transformers: 1.3.0 -> 1.3.2
GaetanLepage Oct 24, 2023
99a2f18
python311Packages.textnets: disable failing test
GaetanLepage Oct 24, 2023
1d9e7c3
rambox: 2.2.0 -> 2.2.1
nazarewk Oct 24, 2023
0e1174c
rambox: fix crash on start
nazarewk Oct 24, 2023
06bc204
arkade: 0.10.10 -> 0.10.13
r-ryantm Oct 25, 2023
ff9563d
squawk: 0.24.0 -> 0.24.1
marsam Oct 25, 2023
bc6915e
squawk: add marsam to maintainers
marsam Oct 25, 2023
f630a7b
postgresqlPackages.plpgsql_check: 2.5.3 -> 2.5.4
marsam Oct 25, 2023
c3def59
python311Packages.pydata-sphinx-theme: 0.14.1 -> 0.14.2
marsam Oct 25, 2023
0ee33a2
flexget: 3.9.13 -> 3.9.16
marsam Oct 25, 2023
d1be7cd
python311Packages.flask-restx: 1.1.0 -> 1.2.0
marsam Oct 25, 2023
cf2ad46
cloud-init: 23.3.1 -> 23.3.3
r-ryantm Oct 25, 2023
3133421
ocamlPackages.hacl-star: 0.7.0 → 0.7.1
vbgl Oct 25, 2023
e22bb8a
xwayland: 23.2.1 -> 23.2.2
trofi Oct 25, 2023
a428f0c
amazon-ssm-agent: 3.2.1630.0 -> 3.2.1705.0
anthonyroussel Oct 17, 2023
f25bec0
xfce.thunar: 4.18.7 -> 4.18.8
bobby285271 Oct 25, 2023
a085559
crowdin-cli: 3.14.0 -> 3.15.0
r-ryantm Oct 25, 2023
9d65f63
vesktop: 0.3.3 -> 0.4.1
getchoo Oct 22, 2023
54ff697
vesktop: better specify platforms
getchoo Oct 22, 2023
966c0d2
vesktop: mark aarch64-linux as broken
getchoo Oct 22, 2023
2b45630
vesktop: use hash instead of sha256
getchoo Oct 22, 2023
b9652ce
setzer: 60 -> 61
dotlambda Oct 25, 2023
663a3c9
grass: 8.3.0 -> 8.3.1
r-ryantm Oct 25, 2023
3e36592
svg2pdf: 0.8.0 -> 0.9.0
figsoda Oct 25, 2023
771ef21
scip: 0.3.0 -> 0.3.1
figsoda Oct 25, 2023
68fdc02
pineapple-pictures: 0.7.2 -> 0.7.3
r-ryantm Oct 25, 2023
f9d2456
syncstorage-rs: 0.14.0 -> 0.14.1
pennae Oct 25, 2023
4957a8c
python311Packages.autoit-ripper: 1.1.0 -> 1.1.1
fabaff Oct 25, 2023
e82f00f
python311Packages.dvc-data: 2.18.1 -> 2.18.2
fabaff Oct 25, 2023
6e6951c
python311Packages.gios: 3.1.0 -> 3.2.0
fabaff Oct 25, 2023
e37b0fa
python311Packages.homematicip: 1.0.15 -> 1.0.16
fabaff Oct 25, 2023
5b1e7e3
python311Packages.nettigo-air-monitor: 2.1.0 -> 2.2.0
fabaff Oct 25, 2023
9fbb121
python311Packages.nats-py: 2.4.0 -> 2.5.0
fabaff Oct 25, 2023
bc3db43
python311Packages.pyeconet: 0.1.20 -> 0.1.21
fabaff Oct 25, 2023
00df424
python311Packages.zha-quirks: 0.0.105 -> 0.0.106
fabaff Oct 25, 2023
e1fd6d1
python311Packages.winacl: 0.1.7 -> 0.1.8
fabaff Oct 25, 2023
bc1cced
kickoff: 0.7.0 -> 0.7.1
Pyxels Oct 25, 2023
548e2dd
virtiofsd: enable debug info
alyssais Oct 25, 2023
bc6de05
syncstorage-rs: remove unused openssl input
pennae Oct 25, 2023
a4f0156
ptags: 0.3.4 -> 0.3.5
r-ryantm Oct 25, 2023
8942d30
trufflehog: 3.60.1 -> 3.60.3
fabaff Oct 25, 2023
2dc5e3f
python311Packages.floret: init at 0.10.4
GaetanLepage Oct 25, 2023
8ef057b
python311Packages.textacy: add missing floret dependency
GaetanLepage Oct 25, 2023
88b3918
ospd-openvas: 22.6.0 -> 22.6.1
fabaff Oct 25, 2023
dbc13a6
python311Packages.aiosmtplib: 2.0.2 -> 3.0.0
fabaff Oct 25, 2023
5721bfc
glamoroustoolkit: add wrapGAppsHook
suhr Oct 25, 2023
f756e94
python311Packages.accuweather: 1.0.0 -> 2.0.0
r-ryantm Oct 25, 2023
28955a3
python311Packages.aiostream: 0.5.1 -> 0.5.2
r-ryantm Oct 25, 2023
3904aea
uiua: 0.0.22 -> 0.0.23
TomaSajt Oct 25, 2023
6c41b2d
vscode-extensions.uiua-lang.uiua-vscode: 0.0.19 -> 0.0.21
TomaSajt Oct 25, 2023
6685530
pythonPackages.pyslurm: add patch to fix build
markuskowa Oct 25, 2023
15981fa
pythonPackages.pyslurm: use getLib/getDev
markuskowa Oct 25, 2023
9063bc6
python311Packages.aws-adfs: 2.8.2 -> 2.9.0
r-ryantm Oct 25, 2023
87c2210
stdenv.mkDerivation: Reject MD5 hashes
nbraud Sep 14, 2023
1cabb1c
tests/stdenv: Check derivations with an MD5 `outputHash` fail to eval…
nbraud Sep 14, 2023
7536830
libvarlink: fix cross compilation by using the correct python3 for va…
NickCao Oct 25, 2023
9a44f7f
python311Packages.casa-formats-io: 0.2.1 -> 0.2.2
r-ryantm Oct 25, 2023
c8deed9
kweathercore: 0.6 -> 0.7
K900 Oct 25, 2023
4f3a1da
vscode-extensions.bierner.emojisense: 0.9.1 -> 0.10.0
Eisfunke Oct 25, 2023
930c97a
python311Packages.clarifai-grpc: 9.9.0 -> 9.9.3
r-ryantm Oct 25, 2023
12a6c54
python311Packages.paypalrestsdk: 1.13.1 -> 1.13.2
r-ryantm Oct 26, 2023
d3713f1
python311Packages.pylint-venv: 3.0.2 -> 3.0.3
r-ryantm Oct 26, 2023
b5575a6
python311Packages.qcelemental: 0.26.0 -> 0.27.0
r-ryantm Oct 26, 2023
0b8da5f
libretro.mame2015: fix build on Python 3.11+
amarshall Oct 26, 2023
98dc4cf
libretro.mame2016: fix build on Python 3.11+
amarshall Oct 26, 2023
ae4ea4a
python311Packages.sphinxcontrib-openapi: 0.8.1 -> 0.8.3
r-ryantm Oct 26, 2023
9a6cbc1
iosevka-bin: 27.2.1 -> 27.3.1
jboyens Oct 26, 2023
ca2a930
python311Packages.whispers: 2.1.5 -> 2.2.0
r-ryantm Oct 26, 2023
c3834e7
sauerbraten: add meta.homepage
jtbx Oct 26, 2023
bcf558e
python311Packages.ytmusicapi: 1.3.0 -> 1.3.1
r-ryantm Oct 26, 2023
62a6002
Merge pull request #263463 from NickCao/libvarlink
Artturin Oct 26, 2023
295324d
Merge pull request #263379 from r-ryantm/auto-update/grass
sikmir Oct 26, 2023
0f13917
Merge pull request #263467 from K900/kweathercore-0.7
K900 Oct 26, 2023
5c7aa4a
Merge pull request #263341 from r-ryantm/auto-update/crowdin-cli
DamienCassou Oct 26, 2023
27a73cd
glibc: use (lib.getBin pkgsBuildBuild.glibc) to generate locales
Oct 23, 2023
b4371a5
glibc: weaken host==build check to canExecute
Oct 23, 2023
85b1e7e
scalr-cli: 0.15.1 -> 0.15.2
r-ryantm Oct 26, 2023
aa2cdd2
Merge pull request #263431 from fabaff/aiosmtplib-bump
fabaff Oct 26, 2023
d22218e
Merge pull request #263430 from fabaff/ospd-openvas-bump
fabaff Oct 26, 2023
ca308aa
Merge pull request #263427 from fabaff/trufflehog-bump
fabaff Oct 26, 2023
dbf3d04
Merge pull request #263419 from fabaff/zha-quirks-bump
fabaff Oct 26, 2023
0369060
Merge pull request #263418 from fabaff/winacl-bump
fabaff Oct 26, 2023
69f7cb3
Merge pull request #263414 from fabaff/homematicip-bump
fabaff Oct 26, 2023
74568db
Merge pull request #263413 from fabaff/nettigo-air-monitor-bump
fabaff Oct 26, 2023
76359ce
Merge pull request #263501 from r-ryantm/auto-update/python311Package…
fabaff Oct 26, 2023
90fbf7f
velero: 1.12.0 -> 1.12.1
r-ryantm Oct 26, 2023
7b4f9b7
ocamlPackages.yuujinchou: 4.0.0 → 5.1.0
vbgl Oct 26, 2023
5257cb0
ocamlPackages.cooltt: 2022-04-28 → 2023-10-03
vbgl Oct 26, 2023
b6c5a60
Merge pull request #262799 from vbgl/ocaml-brr-0.0.6
ulrikstrid Oct 26, 2023
6bb3eff
Merge pull request #262197 from vbgl/ocaml-sail-0.16
ulrikstrid Oct 26, 2023
0274f55
Merge pull request #263520 from vbgl/cooltt-update-2023-10-03
ulrikstrid Oct 26, 2023
410bbcd
python311Packages.peaqevcore: 19.5.6 -> 19.5.10
fabaff Oct 26, 2023
7031dd4
python311Packages.publicsuffixlist: 0.10.0.20231022 -> 0.10.0.20231026
fabaff Oct 26, 2023
0c815cb
diff-pdf: 0.5 -> 0.5.1
r-ryantm Oct 26, 2023
ff7db12
python311Packages.screenlogicpy: 0.9.3 -> 0.9.4
fabaff Oct 26, 2023
4c0f9ce
Merge pull request #263282 from vbgl/ocaml-hacl-star-0.7.1
ulrikstrid Oct 26, 2023
b01ceb7
Merge pull request #263407 from fabaff/gios-bump
fabaff Oct 26, 2023
19d0cbc
Merge pull request #263406 from fabaff/autoit-ripper-bump
fabaff Oct 26, 2023
b5dfbad
Merge pull request #263408 from fabaff/dvc-data-bump
fabaff Oct 26, 2023
8abda78
Merge pull request #263436 from r-ryantm/auto-update/python311Package…
fabaff Oct 26, 2023
45f6b45
Merge pull request #263456 from r-ryantm/auto-update/python311Package…
fabaff Oct 26, 2023
b3ce4be
Merge pull request #263411 from fabaff/pyeconet-bump
fabaff Oct 26, 2023
46d2a45
Merge pull request #263497 from amarshall/libretro-mame2015-2016
thiagokokada Oct 26, 2023
731cad1
Merge pull request #263498 from r-ryantm/auto-update/python311Package…
flokli Oct 26, 2023
95a3663
Merge pull request #262731 from Lassulus/tmpfiles
Lassulus Oct 26, 2023
9761feb
check-jsonschema: 0.23.3 -> 0.25.0
r-vdp Oct 26, 2023
6a60bf0
dolt: 1.18.1 -> 1.21.4
r-ryantm Oct 26, 2023
ece14fa
kmon: Add myself as maintainer
matthiasbeyer Oct 26, 2023
db4111d
systeroid: Add myself as maintainer
matthiasbeyer Oct 26, 2023
b66253c
gpg-tui: Add myself as maintainer
matthiasbeyer Oct 26, 2023
e722a27
teams-for-linux: use electron_27
chvp Oct 26, 2023
3bccc24
trayscale: 0.9.7 -> 0.10.4
drupol Oct 26, 2023
56ffb3d
Merge pull request #262965 from markuskowa/upd-openmpi
markuskowa Oct 26, 2023
5438b83
nixos/acme: fix assertion, add actual values to message (#263543)
K900 Oct 26, 2023
8173b25
python3Packages.tblite: fix toml-f 0.4 compatibility
sheepforce Oct 26, 2023
37c290f
Merge pull request #263536 from drupol/trayscale/bump
drupol Oct 26, 2023
9954349
breakpad: unstable-3b3469e -> 2023.01.27
kotatsuyaki Oct 25, 2023
d5c5519
Merge pull request #263545 from R-VdP/rvdp/json-checkschema-0_25_0
teto Oct 26, 2023
bb64728
Merge pull request #263466 from marsam/update-squawk
marsam Oct 26, 2023
d388872
Merge pull request #263524 from fabaff/publicsuffixlist-bump
fabaff Oct 26, 2023
dc51392
Merge pull request #263523 from fabaff/peaqevcore-bump
fabaff Oct 26, 2023
ab2471a
Merge pull request #263526 from fabaff/screenlogicpy-bump
fabaff Oct 26, 2023
d2fd858
Merge pull request #263518 from r-ryantm/auto-update/velero
marsam Oct 26, 2023
155c765
Merge pull request #263499 from jboyens/iosevka-bin-27.3.1
marsam Oct 26, 2023
545ce80
Merge pull request #263495 from r-ryantm/auto-update/python311Package…
marsam Oct 26, 2023
0c4654d
Merge pull request #263271 from r-ryantm/auto-update/cloud-init
marsam Oct 26, 2023
88d72e6
Merge pull request #263251 from r-ryantm/auto-update/arkade
marsam Oct 26, 2023
3302af9
Merge pull request #263486 from r-ryantm/auto-update/python311Package…
marsam Oct 26, 2023
60a0bc7
Merge pull request #263483 from r-ryantm/auto-update/python311Package…
marsam Oct 26, 2023
7bb270c
python311Packages.archinfo: 9.2.73 -> 9.2.74
fabaff Oct 26, 2023
0301e58
python311Packages.ailment: 9.2.73 -> 9.2.74
fabaff Oct 26, 2023
8cb7da7
python311Packages.pyvex: 9.2.73 -> 9.2.74
fabaff Oct 26, 2023
d8df7ab
python311Packages.claripy: 9.2.73 -> 9.2.74
fabaff Oct 26, 2023
3c1a69d
python311Packages.angr: 9.2.73 -> 9.2.74
fabaff Oct 26, 2023
6db0204
Merge pull request #262068 from r-ryantm/auto-update/skaffold
marsam Oct 26, 2023
d67aeeb
Merge pull request #262652 from getchoo/vesktop-0.4.0
marsam Oct 26, 2023
9fe62bf
Merge pull request #260868 from Zumorica/2023-10-13-update-space-stat…
marsam Oct 26, 2023
0178524
Merge pull request #262734 from eliandoran/update/vs-code/svelte-vscode
marsam Oct 26, 2023
6e3862d
Merge pull request #262023 from r-ryantm/auto-update/seafile-shared
marsam Oct 26, 2023
0fb8e02
Merge pull request #257340 from Trundle/pulumi-random-4.14.0
marsam Oct 26, 2023
0e5c72a
python311Packages.pymc: 5.9.0 -> 5.9.1
GaetanLepage Oct 26, 2023
0041e62
Merge pull request #263514 from r-ryantm/auto-update/scalr-cli
marsam Oct 26, 2023
4925fd5
Merge pull request #263464 from r-ryantm/auto-update/python311Package…
marsam Oct 26, 2023
82dc3e4
Merge pull request #263447 from TomaSajt/update-uiua
marsam Oct 26, 2023
50e1209
Merge pull request #263398 from r-ryantm/auto-update/pineapple-pictures
marsam Oct 26, 2023
45f5ca3
Merge pull request #263165 from r-ryantm/auto-update/python311Package…
marsam Oct 26, 2023
cc696ba
Merge pull request #261715 from anthonyroussel/ssm-agent
marsam Oct 26, 2023
7b63302
Merge pull request #263432 from pennae/syncstorage-updates
marsam Oct 26, 2023
9882b3d
Merge pull request #263441 from r-ryantm/auto-update/python311Package…
marsam Oct 26, 2023
c1a759b
Merge pull request #263534 from r-ryantm/auto-update/dolt
marsam Oct 26, 2023
c6d4ad5
Merge pull request #263546 from sheepforce/tblite
markuskowa Oct 26, 2023
f20e55d
Merge pull request #263426 from Pyxels/kickoff/0.7.1
marsam Oct 26, 2023
659bd62
Merge pull request #263367 from dotlambda/setzer-61
marsam Oct 26, 2023
13862dc
Merge pull request #263412 from fabaff/nats-py-bump
marsam Oct 26, 2023
e1c715f
Merge pull request #263305 from trofi/xwayland-update
Ma27 Oct 26, 2023
63678e9
Merge pull request #263491 from marsam/update-plpgsql_check
marsam Oct 26, 2023
bf7954f
Merge pull request #263468 from marsam/update-pydata-sphinx-theme
marsam Oct 26, 2023
899c5f8
python311Packages.cle: 9.2.73 -> 9.2.74
fabaff Oct 26, 2023
bd903b3
Merge pull request #263384 from figsoda/scip
marsam Oct 26, 2023
b3dd269
Merge pull request #257498 from figsoda/pzip
marsam Oct 26, 2023
a0a35b0
Merge pull request #263062 from techknowlogick/scw-2240
marsam Oct 26, 2023
b64786d
Merge pull request #255157 from techknowlogick/tart-1121
marsam Oct 26, 2023
0c9e5d5
python311Packages.aioesphomeapi: 18.1.0 -> 18.2.0
fabaff Oct 26, 2023
643419f
Merge pull request #258595 from fricklerhandwerk/doc-emscripten
fricklerhandwerk Oct 26, 2023
3cc8d1c
python311Packages.auth0-python: 4.4.2 -> 4.5.0
fabaff Oct 26, 2023
f0f5af2
Merge pull request #263531 from chvp/fix/teams-for-linux-electron
lilyinstarlight Oct 26, 2023
1ce5a44
Merge pull request #262750 from Madouura/pr/hsa-amd-aqlprofile
pbsds Oct 26, 2023
3046935
warzone2100: fix build against curl-8.4
trofi Oct 25, 2023
736f392
Merge pull request #263210 from GaetanLepage/spacy
NickCao Oct 26, 2023
d8bb0bd
Merge pull request #255150 from nbraud/throw-md5-into-the-Sun
infinisil Oct 26, 2023
3c99ced
Merge pull request #263380 from figsoda/svg2pdf
NickCao Oct 26, 2023
f9e21c6
Merge pull request #263374 from suhr/glamour
NickCao Oct 26, 2023
24a001a
Merge pull request #263425 from alyssais/virtiofsd-debug
NickCao Oct 26, 2023
9932ea5
Merge pull request #263429 from r-ryantm/auto-update/ptags
NickCao Oct 26, 2023
3a3d9c7
Merge pull request #263566 from fabaff/auth0-python-bump
NickCao Oct 26, 2023
a5be212
Merge pull request #263563 from fabaff/aioesphomeapi-bump
NickCao Oct 26, 2023
89903b7
Merge pull request #263554 from GaetanLepage/pymc
NickCao Oct 26, 2023
1d3f691
Merge pull request #263527 from r-ryantm/auto-update/diff-pdf
NickCao Oct 26, 2023
2b4724e
Merge pull request #263503 from jtbx/sauerbraten-meta.homepage
NickCao Oct 26, 2023
4d32a6d
Merge pull request #263477 from r-ryantm/auto-update/python311Package…
NickCao Oct 26, 2023
ad63b53
Merge pull request #263470 from marsam/update-flexget
NickCao Oct 26, 2023
d7355f6
Merge pull request #263338 from bobby285271/upd/xfce
bobby285271 Oct 26, 2023
c54dcad
Merge pull request #263473 from Eisfunke/update/vscode-extensions.bie…
NickCao Oct 26, 2023
049aa38
Merge pull request #263211 from nazarewk/fix-rambox
K900 Oct 26, 2023
0644197
Merge pull request #263469 from marsam/update-flask-restx
NickCao Oct 26, 2023
280e17b
Merge pull request #263508 from r-ryantm/auto-update/python311Package…
NickCao Oct 26, 2023
c3b2859
Merge pull request #263562 from fabaff/angr-bump
NickCao Oct 26, 2023
b04cb5b
Merge pull request #263533 from matthiasbeyer/maintain-orhun
figsoda Oct 26, 2023
0de727d
Merge pull request #262591 from devusb/sunshine-update
pbsds Oct 26, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -149,6 +149,8 @@
# C compilers
/pkgs/development/compilers/gcc @amjoseph-nixpkgs
/pkgs/development/compilers/llvm @RaitoBezarius
/pkgs/development/compilers/emscripten @raitobezarius
/doc/languages-frameworks/emscripten.section.md @raitobezarius

# Audio
/nixos/modules/services/audio/botamusique.nix @mweinelt
Expand Down
297 changes: 141 additions & 156 deletions doc/languages-frameworks/emscripten.section.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,168 +2,159 @@

[Emscripten](https://github.com/kripken/emscripten): An LLVM-to-JavaScript Compiler

This section of the manual covers how to use `emscripten` in nixpkgs.
If you want to work with `emcc`, `emconfigure` and `emmake` as you are used to from Ubuntu and similar distributions,

Minimal requirements:

* nix
* nixpkgs

Modes of use of `emscripten`:

* **Imperative usage** (on the command line):

If you want to work with `emcc`, `emconfigure` and `emmake` as you are used to from Ubuntu and similar distributions you can use these commands:

* `nix-env -f "<nixpkgs>" -iA emscripten`
* `nix-shell -p emscripten`

* **Declarative usage**:

This mode is far more power full since this makes use of `nix` for dependency management of emscripten libraries and targets by using the `mkDerivation` which is implemented by `pkgs.emscriptenStdenv` and `pkgs.buildEmscriptenPackage`. The source for the packages is in `pkgs/top-level/emscripten-packages.nix` and the abstraction behind it in `pkgs/development/em-modules/generic/default.nix`. From the root of the nixpkgs repository:
* build and install all packages:
* `nix-env -iA emscriptenPackages`

* dev-shell for zlib implementation hacking:
* `nix-shell -A emscriptenPackages.zlib`

## Imperative usage {#imperative-usage}
```console
nix-shell -p emscripten
```

A few things to note:

* `export EMCC_DEBUG=2` is nice for debugging
* `~/.emscripten`, the build artifact cache sometimes creates issues and needs to be removed from time to time
* The build artifact cache in `~/.emscripten` sometimes creates issues and needs to be removed from time to time

## Declarative usage {#declarative-usage}
## Examples {#declarative-usage}

Let's see two different examples from `pkgs/top-level/emscripten-packages.nix`:

* `pkgs.zlib.override`
* `pkgs.buildEmscriptenPackage`

Both are interesting concepts.

A special requirement of the `pkgs.buildEmscriptenPackage` is the `doCheck = true` is a default meaning that each emscriptenPackage requires a `checkPhase` implemented.

* Use `export EMCC_DEBUG=2` from within a emscriptenPackage's `phase` to get more detailed debug output what is going wrong.
* ~/.emscripten cache is requiring us to set `HOME=$TMPDIR` in individual phases. This makes compilation slower but also makes it more deterministic.

### Usage 1: pkgs.zlib.override {#usage-1-pkgs.zlib.override}

This example uses `zlib` from nixpkgs but instead of compiling **C** to **ELF** it compiles **C** to **JS** since we were using `pkgs.zlib.override` and changed stdenv to `pkgs.emscriptenStdenv`. A few adaptions and hacks were set in place to make it working. One advantage is that when `pkgs.zlib` is updated, it will automatically update this package as well. However, this can also be the downside...

See the `zlib` example:

zlib = (pkgs.zlib.override {
stdenv = pkgs.emscriptenStdenv;
}).overrideAttrs
(old: rec {
buildInputs = old.buildInputs ++ [ pkg-config ];
# we need to reset this setting!
env = (old.env or { }) // { NIX_CFLAGS_COMPILE = ""; };
configurePhase = ''
# FIXME: Some tests require writing at $HOME
HOME=$TMPDIR
runHook preConfigure

#export EMCC_DEBUG=2
emconfigure ./configure --prefix=$out --shared

runHook postConfigure
'';
dontStrip = true;
outputs = [ "out" ];
buildPhase = ''
emmake make
'';
installPhase = ''
emmake make install
'';
checkPhase = ''
echo "================= testing zlib using node ================="

echo "Compiling a custom test"
set -x
emcc -O2 -s EMULATE_FUNCTION_POINTER_CASTS=1 test/example.c -DZ_SOLO \
libz.so.${old.version} -I . -o example.js

echo "Using node to execute the test"
${pkgs.nodejs}/bin/node ./example.js

set +x
if [ $? -ne 0 ]; then
echo "test failed for some reason"
exit 1;
else
echo "it seems to work! very good."
fi
echo "================= /testing zlib using node ================="
'';

postPatch = pkgs.lib.optionalString pkgs.stdenv.isDarwin ''
substituteInPlace configure \
--replace '/usr/bin/libtool' 'ar' \
--replace 'AR="libtool"' 'AR="ar"' \
--replace 'ARFLAGS="-o"' 'ARFLAGS="-r"'
'';
});

### Usage 2: pkgs.buildEmscriptenPackage {#usage-2-pkgs.buildemscriptenpackage}

This `xmlmirror` example features a emscriptenPackage which is defined completely from this context and no `pkgs.zlib.override` is used.

xmlmirror = pkgs.buildEmscriptenPackage rec {
name = "xmlmirror";

buildInputs = [ pkg-config autoconf automake libtool gnumake libxml2 nodejs openjdk json_c ];
nativeBuildInputs = [ pkg-config zlib ];

src = pkgs.fetchgit {
url = "https://gitlab.com/odfplugfest/xmlmirror.git";
rev = "4fd7e86f7c9526b8f4c1733e5c8b45175860a8fd";
hash = "sha256-i+QgY+5PYVg5pwhzcDnkfXAznBg3e8sWH2jZtixuWsk=";
};

configurePhase = ''
rm -f fastXmlLint.js*
# a fix for ERROR:root:For asm.js, TOTAL_MEMORY must be a multiple of 16MB, was 234217728
# https://gitlab.com/odfplugfest/xmlmirror/issues/8
sed -e "s/TOTAL_MEMORY=234217728/TOTAL_MEMORY=268435456/g" -i Makefile.emEnv
# https://github.com/kripken/emscripten/issues/6344
# https://gitlab.com/odfplugfest/xmlmirror/issues/9
sed -e "s/\$(JSONC_LDFLAGS) \$(ZLIB_LDFLAGS) \$(LIBXML20_LDFLAGS)/\$(JSONC_LDFLAGS) \$(LIBXML20_LDFLAGS) \$(ZLIB_LDFLAGS) /g" -i Makefile.emEnv
# https://gitlab.com/odfplugfest/xmlmirror/issues/11
sed -e "s/-o fastXmlLint.js/-s EXTRA_EXPORTED_RUNTIME_METHODS='[\"ccall\", \"cwrap\"]' -o fastXmlLint.js/g" -i Makefile.emEnv
'';

buildPhase = ''
HOME=$TMPDIR
make -f Makefile.emEnv
'';

outputs = [ "out" "doc" ];

installPhase = ''
mkdir -p $out/share
mkdir -p $doc/share/${name}

cp Demo* $out/share
cp -R codemirror-5.12 $out/share
cp fastXmlLint.js* $out/share
cp *.xsd $out/share
cp *.js $out/share
cp *.xhtml $out/share
cp *.html $out/share
cp *.json $out/share
cp *.rng $out/share
cp README.md $doc/share/${name}
'';
checkPhase = ''

'';
};

### Declarative debugging {#declarative-debugging}
A special requirement of the `pkgs.buildEmscriptenPackage` is the `doCheck = true`.
This means each Emscripten package requires that a [`checkPhase`](#ssec-check-phase) is implemented.

* Use `export EMCC_DEBUG=2` from within a phase to get more detailed debug output what is going wrong.
* The cache at `~/.emscripten` requires to set `HOME=$TMPDIR` in individual phases.
This makes compilation slower but also more deterministic.

::: {.example #usage-1-pkgs.zlib.override}

# Using `pkgs.zlib.override {}`

This example uses `zlib` from Nixpkgs, but instead of compiling **C** to **ELF** it compiles **C** to **JavaScript** since we were using `pkgs.zlib.override` and changed `stdenv` to `pkgs.emscriptenStdenv`.

A few adaptions and hacks were put in place to make it work.
One advantage is that when `pkgs.zlib` is updated, it will automatically update this package as well.


```nix
(pkgs.zlib.override {
stdenv = pkgs.emscriptenStdenv;
}).overrideAttrs
(old: rec {
buildInputs = old.buildInputs ++ [ pkg-config ];
# we need to reset this setting!
env = (old.env or { }) // { NIX_CFLAGS_COMPILE = ""; };
configurePhase = ''
# FIXME: Some tests require writing at $HOME
HOME=$TMPDIR
runHook preConfigure

#export EMCC_DEBUG=2
emconfigure ./configure --prefix=$out --shared

runHook postConfigure
'';
dontStrip = true;
outputs = [ "out" ];
buildPhase = ''
emmake make
'';
installPhase = ''
emmake make install
'';
checkPhase = ''
echo "================= testing zlib using node ================="

echo "Compiling a custom test"
set -x
emcc -O2 -s EMULATE_FUNCTION_POINTER_CASTS=1 test/example.c -DZ_SOLO \
libz.so.${old.version} -I . -o example.js

echo "Using node to execute the test"
${pkgs.nodejs}/bin/node ./example.js

set +x
if [ $? -ne 0 ]; then
echo "test failed for some reason"
exit 1;
else
echo "it seems to work! very good."
fi
echo "================= /testing zlib using node ================="
'';

postPatch = pkgs.lib.optionalString pkgs.stdenv.isDarwin ''
substituteInPlace configure \
--replace '/usr/bin/libtool' 'ar' \
--replace 'AR="libtool"' 'AR="ar"' \
--replace 'ARFLAGS="-o"' 'ARFLAGS="-r"'
'';
})
```

:::{.example #usage-2-pkgs.buildemscriptenpackage}

# Using `pkgs.buildEmscriptenPackage {}`

This `xmlmirror` example features an Emscripten package that is defined completely from this context and no `pkgs.zlib.override` is used.

```nix
pkgs.buildEmscriptenPackage rec {
name = "xmlmirror";

buildInputs = [ pkg-config autoconf automake libtool gnumake libxml2 nodejs openjdk json_c ];
nativeBuildInputs = [ pkg-config zlib ];

src = pkgs.fetchgit {
url = "https://gitlab.com/odfplugfest/xmlmirror.git";
rev = "4fd7e86f7c9526b8f4c1733e5c8b45175860a8fd";
hash = "sha256-i+QgY+5PYVg5pwhzcDnkfXAznBg3e8sWH2jZtixuWsk=";
};

configurePhase = ''
rm -f fastXmlLint.js*
# a fix for ERROR:root:For asm.js, TOTAL_MEMORY must be a multiple of 16MB, was 234217728
# https://gitlab.com/odfplugfest/xmlmirror/issues/8
sed -e "s/TOTAL_MEMORY=234217728/TOTAL_MEMORY=268435456/g" -i Makefile.emEnv
# https://github.com/kripken/emscripten/issues/6344
# https://gitlab.com/odfplugfest/xmlmirror/issues/9
sed -e "s/\$(JSONC_LDFLAGS) \$(ZLIB_LDFLAGS) \$(LIBXML20_LDFLAGS)/\$(JSONC_LDFLAGS) \$(LIBXML20_LDFLAGS) \$(ZLIB_LDFLAGS) /g" -i Makefile.emEnv
# https://gitlab.com/odfplugfest/xmlmirror/issues/11
sed -e "s/-o fastXmlLint.js/-s EXTRA_EXPORTED_RUNTIME_METHODS='[\"ccall\", \"cwrap\"]' -o fastXmlLint.js/g" -i Makefile.emEnv
'';

buildPhase = ''
HOME=$TMPDIR
make -f Makefile.emEnv
'';

outputs = [ "out" "doc" ];

installPhase = ''
mkdir -p $out/share
mkdir -p $doc/share/${name}

cp Demo* $out/share
cp -R codemirror-5.12 $out/share
cp fastXmlLint.js* $out/share
cp *.xsd $out/share
cp *.js $out/share
cp *.xhtml $out/share
cp *.html $out/share
cp *.json $out/share
cp *.rng $out/share
cp README.md $doc/share/${name}
'';
checkPhase = ''

'';
}
```

:::

## Debugging {#declarative-debugging}

Use `nix-shell -I nixpkgs=/some/dir/nixpkgs -A emscriptenPackages.libz` and from there you can go trough the individual steps. This makes it easy to build a good `unit test` or list the files of the project.

Expand All @@ -174,9 +165,3 @@ Use `nix-shell -I nixpkgs=/some/dir/nixpkgs -A emscriptenPackages.libz` and from
5. `configurePhase`
6. `buildPhase`
7. ... happy hacking...

## Summary {#summary}

Using this toolchain makes it easy to leverage `nix` from NixOS, MacOSX or even Windows (WSL+ubuntu+nix). This toolchain is reproducible, behaves like the rest of the packages from nixpkgs and contains a set of well working examples to learn and adapt from.

If in trouble, ask the maintainers.
2 changes: 2 additions & 0 deletions nixos/doc/manual/release-notes/rl-2311.section.md
Original file line number Diff line number Diff line change
Expand Up @@ -335,6 +335,8 @@

- `services.kea.{ctrl-agent,dhcp-ddns,dhcp,dhcp6}` now use separate runtime directories instead of `/run/kea` to work around the runtime directory being cleared on service start.

- `mkDerivation` now rejects MD5 hashes.

## Other Notable Changes {#sec-release-23.11-notable-changes}

- The Cinnamon module now enables XDG desktop integration by default. If you are experiencing collisions related to xdg-desktop-portal-gtk you can safely remove `xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ];` from your NixOS configuration.
Expand Down
14 changes: 6 additions & 8 deletions nixos/modules/security/acme/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -938,22 +938,20 @@ in {
and remove the wildcard from the path.
'';
}
{
assertion = lib.length (lib.filter (x: x != null) [
data.dnsProvider
data.webroot
data.listenHTTP
data.s3Bucket
]) != 1;
(let exclusiveAttrs = {
inherit (data) dnsProvider webroot listenHTTP s3Bucket;
}; in {
assertion = lib.length (lib.filter (x: x != null) (builtins.attrValues exclusiveAttrs)) == 1;
message = ''
Exactly one of the options
`security.acme.certs.${cert}.dnsProvider`,
`security.acme.certs.${cert}.webroot`,
`security.acme.certs.${cert}.listenHTTP` and
`security.acme.certs.${cert}.s3Bucket`
is required.
Current values: ${(lib.generators.toPretty {} exclusiveAttrs)}.
'';
}
})
{
assertion = all (hasSuffix "_FILE") (attrNames data.credentialFiles);
message = ''
Expand Down
Loading