diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index cb77954f46b..53bd2901253 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -17501,6 +17501,12 @@ githubId = 393108; name = "Damien Diederen"; }; + zumorica = { + name = "Vera Aguilera Puerto"; + email = "gradientvera+nix@outlook.com"; + github = "Zumorica"; + githubId = 6766154; + }; zupo = { name = "Nejc Zupan"; email = "nejczupan+nix@gmail.com"; diff --git a/pkgs/games/space-station-14-launcher/default.nix b/pkgs/games/space-station-14-launcher/default.nix new file mode 100644 index 00000000000..606f0659c78 --- /dev/null +++ b/pkgs/games/space-station-14-launcher/default.nix @@ -0,0 +1,40 @@ +{ soundfont-fluid +, buildFHSEnv +, runCommand +, callPackage +}: + +let + space-station-14-launcher = callPackage ./space-station-14-launcher.nix { }; + + # Workaround for hardcoded soundfont paths in downloaded engine assemblies. + soundfont-fluid-fixed = runCommand "soundfont-fluid-fixed" { } '' + mkdir -p "$out/share/soundfonts" + ln -sf ${soundfont-fluid}/share/soundfonts/FluidR3_GM2-2.sf2 $out/share/soundfonts/FluidR3_GM.sf2 + ''; +in +buildFHSEnv rec { + name = "space-station-14-launcher-wrapped"; + + targetPkgs = pkgs: [ + space-station-14-launcher + soundfont-fluid-fixed + ]; + + runScript = "SS14.Launcher"; + + extraInstallCommands = '' + mkdir -p $out/share/applications + ln -s ${space-station-14-launcher}/share/icons $out/share + cp ${space-station-14-launcher}/share/applications/space-station-14-launcher.desktop "$out/share/applications" + substituteInPlace "$out/share/applications/space-station-14-launcher.desktop" \ + --replace ${space-station-14-launcher.meta.mainProgram} ${meta.mainProgram} + ''; + + passthru = space-station-14-launcher.passthru // { + unwrapped = space-station-14-launcher; + }; + meta = space-station-14-launcher.meta // { + mainProgram = name; + }; +} diff --git a/pkgs/games/space-station-14-launcher/deps.nix b/pkgs/games/space-station-14-launcher/deps.nix new file mode 100644 index 00000000000..0028f0dadd5 --- /dev/null +++ b/pkgs/games/space-station-14-launcher/deps.nix @@ -0,0 +1,169 @@ +# This file was automatically generated by passthru.fetch-deps. +# Please dont edit it manually, your changes might get overwritten! + +{ fetchNuGet }: [ + (fetchNuGet { pname = "Avalonia"; version = "0.10.13"; sha256 = "1df46dvjyax8jjdcvdavpzq5bwxacrw71j557mcm1401vv3r1vn3"; }) + (fetchNuGet { pname = "Avalonia.Angle.Windows.Natives"; version = "2.1.0.2020091801"; sha256 = "04jm83cz7vkhhr6n2c9hya2k8i2462xbf6np4bidk55as0jdq43a"; }) + (fetchNuGet { pname = "Avalonia.Controls.DataGrid"; version = "0.10.13"; sha256 = "1yl402l5cwbv6gwy3p8r702ypp3p8w5wi8im25c2bjnv31889l8r"; }) + (fetchNuGet { pname = "Avalonia.Desktop"; version = "0.10.13"; sha256 = "1y206hrfwyg8023z0m7dik1hlir1r18h8q0f0zqz3sabyy5k276w"; }) + (fetchNuGet { pname = "Avalonia.Diagnostics"; version = "0.10.13"; sha256 = "11khr3w7gwlm1bajfh5zhrsfcfd9kbw5mbgwnbjq7i5lq9glriid"; }) + (fetchNuGet { pname = "Avalonia.FreeDesktop"; version = "0.10.13"; sha256 = "18gygzg12facawvzmfgpja4rsagy670dv1dcrx4shfl7w8l998jp"; }) + (fetchNuGet { pname = "Avalonia.Native"; version = "0.10.13"; sha256 = "18b2pykfcgw9pyjmdqq7i1n8j330n7xrwyldl9bpkvahswinvhza"; }) + (fetchNuGet { pname = "Avalonia.ReactiveUI"; version = "0.10.13"; sha256 = "1y93xh9mgaa8nzsmp6la8jkw0bqia4i1cx7vmwzy7c5j7pd81aq4"; }) + (fetchNuGet { pname = "Avalonia.Remote.Protocol"; version = "0.10.13"; sha256 = "0j0kdh6dbii59v972azhwq69rmak63lp5f5jqz3pi94mifx4bayy"; }) + (fetchNuGet { pname = "Avalonia.Skia"; version = "0.10.13"; sha256 = "0k5y0w164m03q278m4wr7zzf3vfq9nb0am9vmmprivpn1xwwa7ml"; }) + (fetchNuGet { pname = "Avalonia.Win32"; version = "0.10.13"; sha256 = "0jyl1rrn1n07dnqn76ijwhxgkc45dmsfh2d811n4695ndaz85nkl"; }) + (fetchNuGet { pname = "Avalonia.X11"; version = "0.10.13"; sha256 = "1y8x9hjdlxg4q8q958i364cbak8xjh4nldp38cnxwjir814p0xwh"; }) + (fetchNuGet { pname = "CodeHollow.FeedReader"; version = "1.2.1"; sha256 = "050ni2952n2xmbq0vyk37wpxhgcfsffm8w0wh27km75nim6l3jnj"; }) + (fetchNuGet { pname = "Dapper"; version = "2.0.123"; sha256 = "15hxrchfgiqnmgf8fqhrf4pb4c8l9igg5qnkw9yk3rkagcqfkk91"; }) + (fetchNuGet { pname = "DynamicData"; version = "7.4.9"; sha256 = "0ssgh42fi5m6xyw36f4km04ls9nq4w8cpbck8gh7g8n3ixz05rrw"; }) + (fetchNuGet { pname = "Fody"; version = "6.6.0"; sha256 = "0cx708ah61cxmvpaq040mhqwrv937rvlmskwihg1w118729k9yv0"; }) + (fetchNuGet { pname = "HarfBuzzSharp"; version = "2.8.2-preview.178"; sha256 = "1p5nwzl7jpypsd6df7hgcf47r977anjlyv21wacmalsj6lvdgnvn"; }) + (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.Linux"; version = "2.8.2-preview.178"; sha256 = "1402ylkxbgcnagcarqlfvg4gppy2pqs3bmin4n5mphva1g7bqb2p"; }) + (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.macOS"; version = "2.8.2-preview.178"; sha256 = "0p8miaclnbfpacc1jaqxwfg0yfx9byagi4j4k91d9621vd19i8b2"; }) + (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.WebAssembly"; version = "2.8.2-preview.178"; sha256 = "1n9jay9sji04xly6n8bzz4591fgy8i65p21a8mv5ip9lsyj1c320"; }) + (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.Win32"; version = "2.8.2-preview.178"; sha256 = "1r5syii96wv8q558cvsqw3lr10cdw6677lyiy82p6i3if51v3mr7"; }) + (fetchNuGet { pname = "JetBrains.Annotations"; version = "10.3.0"; sha256 = "1grdx28ga9fp4hwwpwv354rizm8anfq4lp045q4ss41gvhggr3z8"; }) + (fetchNuGet { pname = "libsodium"; version = "1.0.18"; sha256 = "15qzl5k31yaaapqlijr336lh4lzz1qqxlimgxy8fdyig8jdmgszn"; }) + (fetchNuGet { pname = "Microsoft.AspNetCore.App.Ref"; version = "6.0.16"; sha256 = "1v02j1i139a8x32hgi1yhcpp754xi0sg5b7iqzmslvinfg3b7dwn"; }) + (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "6.0.16"; sha256 = "1xdhn8v8y947kw29npck1h9qaw8rj81q7a0qwawpc2200ds96n40"; }) + (fetchNuGet { pname = "Microsoft.CodeAnalysis.Analyzers"; version = "2.9.6"; sha256 = "18mr1f0wpq0fir8vjnq0a8pz50zpnblr7sabff0yqx37c975934a"; }) + (fetchNuGet { pname = "Microsoft.CodeAnalysis.Common"; version = "3.4.0"; sha256 = "12rn6gl4viycwk3pz5hp5df63g66zvba4hnkwr3f0876jj5ivmsw"; }) + (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp"; version = "3.4.0"; sha256 = "0rhylcwa95bxawcgixk64knv7p7xrykdjcabmx3gknk8hvj1ai9y"; }) + (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp.Scripting"; version = "3.4.0"; sha256 = "1h2f0z9xnw987x8bydka1sd42ijqjx973md6v1gvpy1qc6ad244g"; }) + (fetchNuGet { pname = "Microsoft.CodeAnalysis.Scripting.Common"; version = "3.4.0"; sha256 = "195gqnpwqkg2wlvk8x6yzm7byrxfq9bki20xmhf6lzfsdw3z4mf2"; }) + (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.3.0"; sha256 = "0gw297dgkh0al1zxvgvncqs0j15lsna9l1wpqas4rflmys440xvb"; }) + (fetchNuGet { pname = "Microsoft.Data.Sqlite"; version = "6.0.1"; sha256 = "04kzr5mi899fd1fmd56wkh14whcvyibb484dfirdsd0kgrkcb0x6"; }) + (fetchNuGet { pname = "Microsoft.Data.Sqlite.Core"; version = "6.0.1"; sha256 = "0gzn3rynp9k6mx4h4dhq124b7ra8m11rkjh40r2r8z4gkr0shjv1"; }) + (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-x64"; version = "6.0.16"; sha256 = "1pv9arqbmxlh86rnx6nss2cl91hi22j83p66m4ahds34caykf32l"; }) + (fetchNuGet { pname = "Microsoft.NETCore.App.Ref"; version = "6.0.16"; sha256 = "1w89n5grnxdis0wclfimi9ij8g046yrw76rhmcp8l57xm8nl21yj"; }) + (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "6.0.16"; sha256 = "1fjrc1l7ihal93ybxqzlxrs7vdqb9jhkabh2acwrmlh7q5197vn2"; }) + (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.0.1"; sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr"; }) + (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; }) + (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "2.0.0"; sha256 = "1fk2fk2639i7nzy58m9dvpdnzql4vb8yl8vr19r2fp8lmj9w2jr0"; }) + (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "2.1.2"; sha256 = "1507hnpr9my3z4w1r6xk5n0s1j3y6a2c2cnynj76za7cphxi1141"; }) + (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.0.1"; sha256 = "0ppdkwy6s9p7x9jix3v4402wb171cdiibq7js7i13nxpdky7074p"; }) + (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.1.0"; sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh"; }) + (fetchNuGet { pname = "Microsoft.Toolkit.Mvvm"; version = "7.1.2"; sha256 = "0hrlgjr41hlpp3hb697i0513x2cm4ysbl0wj4bj67md604cmkv14"; }) + (fetchNuGet { pname = "Microsoft.Win32.SystemEvents"; version = "4.5.0"; sha256 = "0fnkv3ky12227zqg4zshx4kw2mvysq2ppxjibfw02cc3iprv4njq"; }) + (fetchNuGet { pname = "Mono.Posix.NETStandard"; version = "1.0.0"; sha256 = "0xlja36hwpjm837haq15mjh2prcf68lyrmn72nvgpz8qnf9vappw"; }) + (fetchNuGet { pname = "NSec.Cryptography"; version = "20.2.0"; sha256 = "19slji51v8s8i4836nqqg7qb3i3p4ahqahz0fbb3gwpp67pn6izx"; }) + (fetchNuGet { pname = "ReactiveUI"; version = "17.1.9"; sha256 = "0z4jjvrb56hjbgb1kiq1spj6jw7yai1cwg69pbwfj89wknr9alvg"; }) + (fetchNuGet { pname = "ReactiveUI.Fody"; version = "17.1.9"; sha256 = "1chzyccmckyym6svxh8qj34vy4vn51ixrxgwcvwq0bnr6pxlxkx7"; }) + (fetchNuGet { pname = "Robust.Natives"; version = "0.1.1"; sha256 = "1spfaxk8nsx368zncdcj0b3kg7gj7h14mjji19xrraf8ij0dnczw"; }) + (fetchNuGet { pname = "Robust.Natives.Angle"; version = "0.1.1-chromium4758"; sha256 = "0awydljd6psr0w661p9q73pg2aa29lfb4i0arkpszl0ra33mhrah"; }) + (fetchNuGet { pname = "Robust.Natives.Fluidsynth"; version = "0.1.0"; sha256 = "00nkww5sjixs1dmn979niq0hrhplcpabrp18bmpm240wl53ay72x"; }) + (fetchNuGet { pname = "Robust.Natives.Freetype"; version = "0.1.0"; sha256 = "0skrj5bj5vlxvmp8wg8ar8n393w1vv1bs64hwas7svxf2adwgrw2"; }) + (fetchNuGet { pname = "Robust.Natives.Glfw"; version = "0.1.0"; sha256 = "0xfak1d76jmr4ajfzclarna0x1c19xf4c3zfzhjn4vqmkk1znck0"; }) + (fetchNuGet { pname = "Robust.Natives.OpenAL"; version = "0.1.0"; sha256 = "06waksj5rmc50xas4a2nmlj8v01kpwh5k367pcq2yjn0ld22klnx"; }) + (fetchNuGet { pname = "Robust.Natives.Swnfd"; version = "0.1.0"; sha256 = "1ssnl6zasf2cdaffib4pzyfd1w962y1zmcsivyalgpsh6p4g9as1"; }) + (fetchNuGet { pname = "Robust.Shared.AuthLib"; version = "0.1.2"; sha256 = "1vn19d81n8jdyy75ryrlajyxr0kp7pwjdlbyqcn8gcid5plrzmh0"; }) + (fetchNuGet { pname = "runtime.any.System.Collections"; version = "4.3.0"; sha256 = "0bv5qgm6vr47ynxqbnkc7i797fdi8gbjjxii173syrx14nmrkwg0"; }) + (fetchNuGet { pname = "runtime.any.System.Diagnostics.Tracing"; version = "4.3.0"; sha256 = "00j6nv2xgmd3bi347k00m7wr542wjlig53rmj28pmw7ddcn97jbn"; }) + (fetchNuGet { pname = "runtime.any.System.Globalization"; version = "4.3.0"; sha256 = "1daqf33hssad94lamzg01y49xwndy2q97i2lrb7mgn28656qia1x"; }) + (fetchNuGet { pname = "runtime.any.System.IO"; version = "4.3.0"; sha256 = "0l8xz8zn46w4d10bcn3l4yyn4vhb3lrj2zw8llvz7jk14k4zps5x"; }) + (fetchNuGet { pname = "runtime.any.System.Reflection"; version = "4.3.0"; sha256 = "02c9h3y35pylc0zfq3wcsvc5nqci95nrkq0mszifc0sjx7xrzkly"; }) + (fetchNuGet { pname = "runtime.any.System.Reflection.Extensions"; version = "4.3.0"; sha256 = "0zyri97dfc5vyaz9ba65hjj1zbcrzaffhsdlpxc9bh09wy22fq33"; }) + (fetchNuGet { pname = "runtime.any.System.Reflection.Primitives"; version = "4.3.0"; sha256 = "0x1mm8c6iy8rlxm8w9vqw7gb7s1ljadrn049fmf70cyh42vdfhrf"; }) + (fetchNuGet { pname = "runtime.any.System.Resources.ResourceManager"; version = "4.3.0"; sha256 = "03kickal0iiby82wa5flar18kyv82s9s6d4xhk5h4bi5kfcyfjzl"; }) + (fetchNuGet { pname = "runtime.any.System.Runtime"; version = "4.3.0"; sha256 = "1cqh1sv3h5j7ixyb7axxbdkqx6cxy00p4np4j91kpm492rf4s25b"; }) + (fetchNuGet { pname = "runtime.any.System.Runtime.Handles"; version = "4.3.0"; sha256 = "0bh5bi25nk9w9xi8z23ws45q5yia6k7dg3i4axhfqlnj145l011x"; }) + (fetchNuGet { pname = "runtime.any.System.Runtime.InteropServices"; version = "4.3.0"; sha256 = "0c3g3g3jmhlhw4klrc86ka9fjbl7i59ds1fadsb2l8nqf8z3kb19"; }) + (fetchNuGet { pname = "runtime.any.System.Text.Encoding"; version = "4.3.0"; sha256 = "0aqqi1v4wx51h51mk956y783wzags13wa7mgqyclacmsmpv02ps3"; }) + (fetchNuGet { pname = "runtime.any.System.Text.Encoding.Extensions"; version = "4.3.0"; sha256 = "0lqhgqi0i8194ryqq6v2gqx0fb86db2gqknbm0aq31wb378j7ip8"; }) + (fetchNuGet { pname = "runtime.any.System.Threading.Tasks"; version = "4.3.0"; sha256 = "03mnvkhskbzxddz4hm113zsch1jyzh2cs450dk3rgfjp8crlw1va"; }) + (fetchNuGet { pname = "runtime.any.System.Threading.Timer"; version = "4.3.0"; sha256 = "0aw4phrhwqz9m61r79vyfl5la64bjxj8l34qnrcwb28v49fg2086"; }) + (fetchNuGet { pname = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "16rnxzpk5dpbbl1x354yrlsbvwylrq456xzpsha1n9y3glnhyx9d"; }) + (fetchNuGet { pname = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0hkg03sgm2wyq8nqk6dbm9jh5vcq57ry42lkqdmfklrw89lsmr59"; }) + (fetchNuGet { pname = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0c2p354hjx58xhhz7wv6div8xpi90sc6ibdm40qin21bvi7ymcaa"; }) + (fetchNuGet { pname = "runtime.native.System"; version = "4.3.0"; sha256 = "15hgf6zaq9b8br2wi1i3x0zvmk410nlmsmva9p0bbg73v6hml5k4"; }) + (fetchNuGet { pname = "runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "18pzfdlwsg2nb1jjjjzyb5qlgy6xjxzmhnfaijq5s2jw3cm3ab97"; }) + (fetchNuGet { pname = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0qyynf9nz5i7pc26cwhgi8j62ps27sqmf78ijcfgzab50z9g8ay3"; }) + (fetchNuGet { pname = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "1klrs545awhayryma6l7g2pvnp9xy4z0r1i40r80zb45q3i9nbyf"; }) + (fetchNuGet { pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0zcxjv5pckplvkg0r6mw3asggm7aqzbdjimhvsasb0cgm59x09l3"; }) + (fetchNuGet { pname = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0vhynn79ih7hw7cwjazn87rm9z9fj0rvxgzlab36jybgcpcgphsn"; }) + (fetchNuGet { pname = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "160p68l2c7cqmyqjwxydcvgw7lvl1cr0znkw8fp24d1by9mqc8p3"; }) + (fetchNuGet { pname = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "15zrc8fgd8zx28hdghcj5f5i34wf3l6bq5177075m2bc2j34jrqy"; }) + (fetchNuGet { pname = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "1p4dgxax6p7rlgj4q73k73rslcnz4wdcv8q2flg1s8ygwcm58ld5"; }) + (fetchNuGet { pname = "runtime.unix.System.Console"; version = "4.3.0"; sha256 = "1pfpkvc6x2if8zbdzg9rnc5fx51yllprl8zkm5npni2k50lisy80"; }) + (fetchNuGet { pname = "runtime.unix.System.Diagnostics.Debug"; version = "4.3.0"; sha256 = "1lps7fbnw34bnh3lm31gs5c0g0dh7548wfmb8zz62v0zqz71msj5"; }) + (fetchNuGet { pname = "runtime.unix.System.IO.FileSystem"; version = "4.3.0"; sha256 = "14nbkhvs7sji5r1saj2x8daz82rnf9kx28d3v2qss34qbr32dzix"; }) + (fetchNuGet { pname = "runtime.unix.System.Private.Uri"; version = "4.3.0"; sha256 = "1jx02q6kiwlvfksq1q9qr17fj78y5v6mwsszav4qcz9z25d5g6vk"; }) + (fetchNuGet { pname = "runtime.unix.System.Runtime.Extensions"; version = "4.3.0"; sha256 = "0pnxxmm8whx38dp6yvwgmh22smknxmqs5n513fc7m4wxvs1bvi4p"; }) + (fetchNuGet { pname = "Serilog"; version = "2.10.0"; sha256 = "08bih205i632ywryn3zxkhb15dwgyaxbhmm1z3b5nmby9fb25k7v"; }) + (fetchNuGet { pname = "Serilog.Sinks.Console"; version = "3.1.1"; sha256 = "0j99as641y1k6havwwkhyr0n08vibiblmfjj6nz051mz8g3864fn"; }) + (fetchNuGet { pname = "Serilog.Sinks.File"; version = "4.1.0"; sha256 = "1ry7p9hf1zlnai1j5zjhjp4dqm2agsbpq6cvxgpf5l8m26x6mgca"; }) + (fetchNuGet { pname = "SharpZstd.Interop"; version = "1.5.2-beta1"; sha256 = "0yvk5g9jjmr7hg695zb0wid44dqjjngycjdng2xs6awqbx9kydcw"; }) + (fetchNuGet { pname = "SharpZstd.Interop"; version = "1.5.2-beta2"; sha256 = "1145jlprsgll8ixwib0i8phc6jsv6nm4yki4wi1bkxx2bgf9yjay"; }) + (fetchNuGet { pname = "SkiaSharp"; version = "2.88.0-preview.178"; sha256 = "062g14s6b2bixanpwihj3asm3jwvfw15mhvzqv6901afrlgzx4nk"; }) + (fetchNuGet { pname = "SkiaSharp.NativeAssets.Linux"; version = "2.88.0-preview.178"; sha256 = "07kga1j51l3l302nvf537zg5clf6rflinjy0xd6i06cmhpkf3ksw"; }) + (fetchNuGet { pname = "SkiaSharp.NativeAssets.macOS"; version = "2.88.0-preview.178"; sha256 = "14p95nxccs6yq4rn2h9zbb60k0232k6349zdpy31jcfr6gc99cgi"; }) + (fetchNuGet { pname = "SkiaSharp.NativeAssets.WebAssembly"; version = "2.88.0-preview.178"; sha256 = "09jmcg5k1vpsal8jfs90mwv0isf2y5wq3h4hd77rv6vffn5ic4sm"; }) + (fetchNuGet { pname = "SkiaSharp.NativeAssets.Win32"; version = "2.88.0-preview.178"; sha256 = "0ficil702lv3fvwpngbqh5l85i05l5jafzyh4jprzshr2qbnd8nl"; }) + (fetchNuGet { pname = "SpaceWizards.Sodium"; version = "0.2.0"; sha256 = "1w4c555krimgkvz7nir2z63vav05125cwgsqvs65lq8qfmfh2h50"; }) + (fetchNuGet { pname = "SpaceWizards.Sodium.Interop"; version = "1.0.18-beta3"; sha256 = "1lxbgccqzpyyf70rbn0lc22ib4fjyi95ajl392rlk6hq1cl3wgpj"; }) + (fetchNuGet { pname = "Splat"; version = "14.1.1"; sha256 = "0j79ph1mgmwn4kmvnwi5vs7pskiavwz01l8lgax5z36nri0mwpxj"; }) + (fetchNuGet { pname = "SQLitePCLRaw.bundle_e_sqlite3"; version = "2.0.6"; sha256 = "1ip0a653dx5cqybxg27zyz5ps31f2yz50g3jvz3vx39isx79gax3"; }) + (fetchNuGet { pname = "SQLitePCLRaw.core"; version = "2.0.6"; sha256 = "1w4iyg0v1v1z2m7akq7rv8lsgixp2m08732vr14vgpqs918bsy1i"; }) + (fetchNuGet { pname = "SQLitePCLRaw.lib.e_sqlite3"; version = "2.0.6"; sha256 = "16378rh1lcqxynf5qj0kh8mrsb0jp37qqwg4285kqc5pknvh1bx3"; }) + (fetchNuGet { pname = "SQLitePCLRaw.provider.e_sqlite3"; version = "2.0.6"; sha256 = "0chgrqyycb1kqnaxnhhfg0850b94blhzni8zn79c7ggb3pd2ykyz"; }) + (fetchNuGet { pname = "System.Buffers"; version = "4.3.0"; sha256 = "0fgns20ispwrfqll4q1zc1waqcmylb3zc50ys9x8zlwxh9pmd9jy"; }) + (fetchNuGet { pname = "System.Collections"; version = "4.3.0"; sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9"; }) + (fetchNuGet { pname = "System.Collections.Immutable"; version = "1.5.0"; sha256 = "1d5gjn5afnrf461jlxzawcvihz195gayqpcfbv6dd7pxa9ialn06"; }) + (fetchNuGet { pname = "System.ComponentModel.Annotations"; version = "4.5.0"; sha256 = "1jj6f6g87k0iwsgmg3xmnn67a14mq88np0l1ys5zkxhkvbc8976p"; }) + (fetchNuGet { pname = "System.Console"; version = "4.3.0"; sha256 = "1flr7a9x920mr5cjsqmsy9wgnv3lvd0h1g521pdr1lkb2qycy7ay"; }) + (fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.3.0"; sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y"; }) + (fetchNuGet { pname = "System.Diagnostics.Tracing"; version = "4.3.0"; sha256 = "1m3bx6c2s958qligl67q7grkwfz3w53hpy7nc97mh6f7j5k168c4"; }) + (fetchNuGet { pname = "System.Drawing.Common"; version = "4.5.0"; sha256 = "0knqa0zsm91nfr34br8gx5kjqq4v81zdhqkacvs2hzc8nqk0ddhc"; }) + (fetchNuGet { pname = "System.Dynamic.Runtime"; version = "4.3.0"; sha256 = "1d951hrvrpndk7insiag80qxjbf2y0y39y8h5hnq9612ws661glk"; }) + (fetchNuGet { pname = "System.Globalization"; version = "4.3.0"; sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki"; }) + (fetchNuGet { pname = "System.IO"; version = "4.1.0"; sha256 = "1g0yb8p11vfd0kbkyzlfsbsp5z44lwsvyc0h3dpw6vqnbi035ajp"; }) + (fetchNuGet { pname = "System.IO"; version = "4.3.0"; sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f"; }) + (fetchNuGet { pname = "System.IO.FileSystem"; version = "4.0.1"; sha256 = "0kgfpw6w4djqra3w5crrg8xivbanh1w9dh3qapb28q060wb9flp1"; }) + (fetchNuGet { pname = "System.IO.FileSystem.Primitives"; version = "4.0.1"; sha256 = "1s0mniajj3lvbyf7vfb5shp4ink5yibsx945k6lvxa96r8la1612"; }) + (fetchNuGet { pname = "System.IO.FileSystem.Primitives"; version = "4.3.0"; sha256 = "0j6ndgglcf4brg2lz4wzsh1av1gh8xrzdsn9f0yznskhqn1xzj9c"; }) + (fetchNuGet { pname = "System.Linq"; version = "4.3.0"; sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7"; }) + (fetchNuGet { pname = "System.Linq.Expressions"; version = "4.3.0"; sha256 = "0ky2nrcvh70rqq88m9a5yqabsl4fyd17bpr63iy2mbivjs2nyypv"; }) + (fetchNuGet { pname = "System.Memory"; version = "4.5.3"; sha256 = "0naqahm3wljxb5a911d37mwjqjdxv9l0b49p5dmfyijvni2ppy8a"; }) + (fetchNuGet { pname = "System.Memory"; version = "4.5.4"; sha256 = "14gbbs22mcxwggn0fcfs1b062521azb9fbb7c113x0mq6dzq9h6y"; }) + (fetchNuGet { pname = "System.Numerics.Vectors"; version = "4.5.0"; sha256 = "1kzrj37yzawf1b19jq0253rcs8hsq1l2q8g69d7ipnhzb0h97m59"; }) + (fetchNuGet { pname = "System.ObjectModel"; version = "4.3.0"; sha256 = "191p63zy5rpqx7dnrb3h7prvgixmk168fhvvkkvhlazncf8r3nc2"; }) + (fetchNuGet { pname = "System.Private.Uri"; version = "4.3.0"; sha256 = "04r1lkdnsznin0fj4ya1zikxiqr0h6r6a1ww2dsm60gqhdrf0mvx"; }) + (fetchNuGet { pname = "System.Reactive"; version = "5.0.0"; sha256 = "1lafmpnadhiwxyd543kraxa3jfdpm6ipblxrjlibym9b1ykpr5ik"; }) + (fetchNuGet { pname = "System.Reflection"; version = "4.3.0"; sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m"; }) + (fetchNuGet { pname = "System.Reflection.Emit"; version = "4.3.0"; sha256 = "11f8y3qfysfcrscjpjym9msk7lsfxkk4fmz9qq95kn3jd0769f74"; }) + (fetchNuGet { pname = "System.Reflection.Emit"; version = "4.7.0"; sha256 = "121l1z2ypwg02yz84dy6gr82phpys0njk7yask3sihgy214w43qp"; }) + (fetchNuGet { pname = "System.Reflection.Emit.ILGeneration"; version = "4.3.0"; sha256 = "0w1n67glpv8241vnpz1kl14sy7zlnw414aqwj4hcx5nd86f6994q"; }) + (fetchNuGet { pname = "System.Reflection.Emit.Lightweight"; version = "4.3.0"; sha256 = "0ql7lcakycrvzgi9kxz1b3lljd990az1x6c4jsiwcacrvimpib5c"; }) + (fetchNuGet { pname = "System.Reflection.Extensions"; version = "4.3.0"; sha256 = "02bly8bdc98gs22lqsfx9xicblszr2yan7v2mmw3g7hy6miq5hwq"; }) + (fetchNuGet { pname = "System.Reflection.Metadata"; version = "1.6.0"; sha256 = "1wdbavrrkajy7qbdblpbpbalbdl48q3h34cchz24gvdgyrlf15r4"; }) + (fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.3.0"; sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276"; }) + (fetchNuGet { pname = "System.Reflection.TypeExtensions"; version = "4.3.0"; sha256 = "0y2ssg08d817p0vdag98vn238gyrrynjdj4181hdg780sif3ykp1"; }) + (fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.3.0"; sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49"; }) + (fetchNuGet { pname = "System.Runtime"; version = "4.1.0"; sha256 = "02hdkgk13rvsd6r9yafbwzss8kr55wnj8d5c7xjnp8gqrwc8sn0m"; }) + (fetchNuGet { pname = "System.Runtime"; version = "4.3.0"; sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7"; }) + (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.5.2"; sha256 = "1vz4275fjij8inf31np78hw50al8nqkngk04p3xv5n4fcmf1grgi"; }) + (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.6.0"; sha256 = "0xmzi2gpbmgyfr75p24rqqsba3cmrqgmcv45lsqp5amgrdwd0f0m"; }) + (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.7.0"; sha256 = "16r6sn4czfjk8qhnz7bnqlyiaaszr0ihinb7mq9zzr1wba257r54"; }) + (fetchNuGet { pname = "System.Runtime.Extensions"; version = "4.3.0"; sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60"; }) + (fetchNuGet { pname = "System.Runtime.Handles"; version = "4.0.1"; sha256 = "1g0zrdi5508v49pfm3iii2hn6nm00bgvfpjq1zxknfjrxxa20r4g"; }) + (fetchNuGet { pname = "System.Runtime.Handles"; version = "4.3.0"; sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8"; }) + (fetchNuGet { pname = "System.Runtime.InteropServices"; version = "4.3.0"; sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j"; }) + (fetchNuGet { pname = "System.Runtime.InteropServices.RuntimeInformation"; version = "4.3.0"; sha256 = "0q18r1sh4vn7bvqgd6dmqlw5v28flbpj349mkdish2vjyvmnb2ii"; }) + (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "4.7.0"; sha256 = "1a56ls5a9sr3ya0nr086sdpa9qv0abv31dd6fp27maqa9zclqq5d"; }) + (fetchNuGet { pname = "System.Text.Encoding"; version = "4.0.11"; sha256 = "1dyqv0hijg265dwxg6l7aiv74102d6xjiwplh2ar1ly6xfaa4iiw"; }) + (fetchNuGet { pname = "System.Text.Encoding"; version = "4.3.0"; sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr"; }) + (fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "4.5.1"; sha256 = "1z21qyfs6sg76rp68qdx0c9iy57naan89pg7p6i3qpj8kyzn921w"; }) + (fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.0.11"; sha256 = "08nsfrpiwsg9x5ml4xyl3zyvjfdi4mvbqf93kjdh11j4fwkznizs"; }) + (fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.3.0"; sha256 = "11q1y8hh5hrp5a3kw25cb6l00v5l5dvirkz8jr3sq00h1xgcgrxy"; }) + (fetchNuGet { pname = "System.Threading"; version = "4.3.0"; sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34"; }) + (fetchNuGet { pname = "System.Threading.Tasks"; version = "4.0.11"; sha256 = "0nr1r41rak82qfa5m0lhk9mp0k93bvfd7bbd9sdzwx9mb36g28p5"; }) + (fetchNuGet { pname = "System.Threading.Tasks"; version = "4.3.0"; sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7"; }) + (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.5.3"; sha256 = "0g7r6hm572ax8v28axrdxz1gnsblg6kszq17g51pj14a5rn2af7i"; }) + (fetchNuGet { pname = "System.Threading.Timer"; version = "4.0.1"; sha256 = "15n54f1f8nn3mjcjrlzdg6q3520571y012mx7v991x2fvp73lmg6"; }) + (fetchNuGet { pname = "System.ValueTuple"; version = "4.5.0"; sha256 = "00k8ja51d0f9wrq4vv5z2jhq8hy31kac2rg0rv06prylcybzl8cy"; }) + (fetchNuGet { pname = "TerraFX.Interop.Windows"; version = "10.0.20348"; sha256 = "1ns39bkb0i6d92z3mk0hf72cli7k8x99c412329ngrivxivxxap8"; }) + (fetchNuGet { pname = "Tmds.DBus"; version = "0.9.0"; sha256 = "0vvx6sg8lxm23g5jvm5wh2gfs95mv85vd52lkq7d1b89bdczczf3"; }) + (fetchNuGet { pname = "XamlNameReferenceGenerator"; version = "1.2.1"; sha256 = "1fkqvmq3b4lla6cyaacxpjjqxzcxb5wmz1zb8834pzc7mdjcx5jz"; }) + (fetchNuGet { pname = "YamlDotNet"; version = "11.2.1"; sha256 = "0acd7k97nqzisyqql71m6l0b0lvkr612zaav42hw0y1qnp06jdi4"; }) +] diff --git a/pkgs/games/space-station-14-launcher/space-station-14-launcher.nix b/pkgs/games/space-station-14-launcher/space-station-14-launcher.nix new file mode 100644 index 00000000000..0ebfad0586b --- /dev/null +++ b/pkgs/games/space-station-14-launcher/space-station-14-launcher.nix @@ -0,0 +1,143 @@ +{ lib +, buildDotnetModule +, dotnetCorePackages +, fetchFromGitHub +, wrapGAppsHook +, iconConvTools +, copyDesktopItems +, makeDesktopItem +, libX11 +, libICE +, libSM +, libXi +, libXcursor +, libXext +, libXrandr +, fontconfig +, glew +, SDL2 +, glfw +, glibc +, libGL +, freetype +, openal +, fluidsynth +, gtk3 +, pango +, atk +, cairo +, zlib +, glib +, gdk-pixbuf +}: +let + version = "0.20.5"; + pname = "space-station-14-launcher"; +in +buildDotnetModule rec { + inherit pname; + + # Workaround to prevent buildDotnetModule from overriding assembly versions. + name = "${pname}-${version}"; + + src = fetchFromGitHub { + owner = "space-wizards"; + repo = "SS14.Launcher"; + rev = "v${version}"; + hash = "sha256-uonndoqDOgPtnSk5v0KyyR8BQ9neAH1ploEY/kKD0IQ="; + fetchSubmodules = true; + }; + + buildType = "Release"; + selfContainedBuild = false; + + projectFile = [ + "SS14.Loader/SS14.Loader.csproj" + "SS14.Launcher/SS14.Launcher.csproj" + ]; + + nugetDeps = ./deps.nix; + + passthru = { + inherit version; # Workaround so update script works. + updateScript = ./update.sh; + }; + + dotnet-sdk = dotnetCorePackages.sdk_7_0; + dotnet-runtime = dotnetCorePackages.runtime_7_0; + + dotnetFlags = [ + "-p:FullRelease=true" + "-p:RobustILLink=true" + "-nologo" + ]; + + nativeBuildInputs = [ wrapGAppsHook iconConvTools copyDesktopItems ]; + + runtimeDeps = [ + # Required by the game. + glfw + SDL2 + glibc + libGL + openal + freetype + fluidsynth + + # Needed for file dialogs. + gtk3 + pango + cairo + atk + zlib + glib + gdk-pixbuf + + # Avalonia UI dependencies. + libX11 + libICE + libSM + libXi + libXcursor + libXext + libXrandr + fontconfig + glew + ]; + + executables = [ "SS14.Launcher" ]; + + desktopItems = [ + (makeDesktopItem { + name = pname; + exec = meta.mainProgram; + icon = pname; + desktopName = "Space Station 14 Launcher"; + comment = meta.description; + categories = [ "Game" ]; + startupWMClass = meta.mainProgram; + }) + ]; + + postInstall = '' + mkdir -p $out/lib/space-station-14-launcher/loader + cp -r SS14.Loader/bin/${buildType}/*/* $out/lib/space-station-14-launcher/loader/ + + icoFileToHiColorTheme SS14.Launcher/Assets/icon.ico space-station-14-launcher $out + ''; + + dontWrapGApps = true; + + preFixup = '' + makeWrapperArgs+=("''${gappsWrapperArgs[@]}") + ''; + + meta = with lib; { + description = "Launcher for Space Station 14, a multiplayer game about paranoia and disaster"; + homepage = "https://spacestation14.io"; + license = licenses.mit; + maintainers = [ maintainers.zumorica ]; + platforms = [ "x86_64-linux" ]; + mainProgram = "SS14.Launcher"; + }; +} diff --git a/pkgs/games/space-station-14-launcher/update.sh b/pkgs/games/space-station-14-launcher/update.sh new file mode 100755 index 00000000000..8cfab508b0c --- /dev/null +++ b/pkgs/games/space-station-14-launcher/update.sh @@ -0,0 +1,18 @@ +#! /usr/bin/env nix-shell +#! nix-shell -I nixpkgs=./. -i bash -p curl jq common-updater-scripts +set -eo pipefail +cd "$(dirname "${BASH_SOURCE[0]}")" + +deps_file="$(realpath "./deps.nix")" + +new_version="$(curl -s "https://api.github.com/repos/space-wizards/SS14.Launcher/releases?per_page=1" | jq -r '.[0].tag_name' | sed 's/v//')" +old_version="$(sed -nE 's/\s*version = "(.*)".*/\1/p' ./space-station-14-launcher.nix)" + +if [[ "$new_version" == "$old_version" ]]; then + echo "Already up to date!" + exit 0 +fi + +cd ../../.. +update-source-version space-station-14-launcher.unwrapped "$new_version" +$(nix-build -A space-station-14-launcher.fetch-deps --no-out-link) "$deps_file" diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ba5cd6ea319..2514528b0f2 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -36692,6 +36692,8 @@ with pkgs; # You still can override by passing more arguments. space-orbit = callPackage ../games/space-orbit { }; + space-station-14-launcher = callPackage ../games/space-station-14-launcher { }; + spring = callPackage ../games/spring { asciidoc = asciidoc-full; }; springLobby = callPackage ../games/spring/springlobby.nix { };