-
-
Notifications
You must be signed in to change notification settings - Fork 14.6k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
4 changed files
with
222 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
From: John, Gavin N. (Gavin) <[email protected]> | ||
To: [email protected] | ||
Subject: Permission to package SteamVR | ||
|
||
|
||
Hi Valve VR folks, | ||
|
||
I'm Gavin, an incoming freshman at Caltech. In my free time, I like to package programs for [nixpkgs](https://github.com/NixOS/nixpkgs), the package repository for the [nix](https://nixos.org/) package manager and its NixOS linux distribution. | ||
|
||
I initially planned to package it by downloading it using depotdownloader, but discovered that SteamVR can't be downloaded in its entirety using anonymous accounts. This led me to discover the [SteamVR licensing page](https://partner.steamgames.com/doc/features/steamvr/enterprise), which had this email address. | ||
|
||
Would you be okay with me modifying and distributing my copy of SteamVR for the purpose of making it available to install through nixpkgs? Nixpkgs has a mechanism to keep track of licenses that users have agreed to, so installation of SteamVR can require agreement to the Steam Subscriber Agreement, the Steam PC Café Agreement, and/or the SteamVR Commercial Installation License. | ||
|
||
Thank you for your consideration! | ||
|
||
Sincerely, | ||
|
||
Gavin John | ||
|
||
--- | ||
|
||
From: Ben Jackson <[email protected]> | ||
To: John, Gavin N. (Gavin) <[email protected]> | ||
Subject: Re: Permission to package SteamVR | ||
|
||
|
||
* I initially planned to package it by downloading it using depotdownloader, but discovered that SteamVR can't be downloaded in its entirety using anonymous accounts. | ||
|
||
Thanks for bringing this to our attention. I have fixed that issue. | ||
|
||
* Would you be okay with me modifying and distributing my copy of SteamVR for the purpose of making it available to install through nixpkgs? | ||
|
||
We would rather avoid that. I assume if depotdownloader works again, this would no longer be preferably anyway. | ||
|
||
--Ben | ||
|
||
--- | ||
|
||
From: John, Gavin N. (Gavin) <[email protected]> | ||
To: Ben Jackson <[email protected]> | ||
Subject: [External Mail] Re: Permission to package SteamVR | ||
|
||
|
||
Hi Ben, | ||
|
||
Thank you for your response! Thanks for fixing the issue with depot downloader. That's going to help a lot. | ||
|
||
Some modifications to SteamVR will be necessary to make all functionality work with NixOS. Do I have permission to make a configuration file and script that makes the necessary modifications, and to have the config file and script distributed? | ||
|
||
Thank you! | ||
|
||
Sincerely, | ||
|
||
Gavin | ||
|
||
--- | ||
|
||
From: Ben Jackson <[email protected]> | ||
To: "'John, Gavin N. (Gavin)'" <[email protected]> | ||
Subject: RE: Permission to package SteamVR | ||
|
||
It's fine to distribute patches that apply after downloading the base content. | ||
|
||
If there are specific issues that you think are generic issues regarding portability you can also send them my way. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
{ lib }: | ||
|
||
throw "Not yet implemented" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,148 @@ | ||
{ | ||
lib, | ||
stdenvNoCC, | ||
fetchSteam, | ||
autoPatchelfHook, | ||
audit, | ||
bzip2, | ||
expat, | ||
gtk2, | ||
gdk-pixbuf, | ||
glib, | ||
glibc, | ||
libdrm, | ||
libgcc, | ||
libpng12, | ||
libGL, | ||
libusb1, | ||
nspr, | ||
nss, | ||
openal, | ||
SDL2, | ||
vulkan-loader, | ||
xorg, | ||
zlib, | ||
readline63, | ||
rsync, | ||
config, | ||
acceptLicense ? | ||
config.steam.acceptSubscriberAgreement or config.steam.acceptPCCafeAgreement | ||
or config.steamvr.acceptCommercialLicense or true, # TODO: Change true to false once debugged | ||
}: | ||
|
||
stdenvNoCC.mkDerivation { | ||
name = "steamvr-linux"; | ||
|
||
srcs = | ||
assert | ||
!acceptLicense | ||
-> throw '' | ||
Use of SteamVR requires the acceptance of at least one of the following license agreements: | ||
- Steam Subscriber Agreement [1] | ||
- Steam PC Café Agreement [2] | ||
- SteamVR Commercial License Agreement [3] | ||
You can express acceptance by setting one of the following options: | ||
configuration.nix: | ||
nixpkgs.config.steam.acceptSubscriberAgreement = true; # for the Steam Subscriber Agreement | ||
nixpkgs.config.steam.acceptPCCafeAgreement = true; # for the Steam PC Café Agreement | ||
nixpkgs.config.steamvr.acceptCommercialLicense = true; # for the SteamVR Commercial License Agreement | ||
[1]: https://store.steampowered.com/subscriber_agreement/ | ||
[2]: https://partner.steamgames.com/doc/sitelicense/licensees/signup | ||
[3]: https://partner.steamgames.com/doc/features/steamvr/enterprise | ||
''; | ||
[ | ||
(fetchSteam { | ||
name = "steamvr-linux-depot"; | ||
app = 250820; | ||
depot = 250823; | ||
manifest = 5747149350848671194; | ||
hash = "sha256-q3jasX/prYhs+Vs7Ofru2N3WVxf/0tGlqTd5SvKRm10="; | ||
}) | ||
(fetchSteam { | ||
name = "openvr-content-1-depot"; | ||
app = 250820; | ||
depot = 250824; | ||
manifest = 5862217504045387455; | ||
hash = "sha256-X4vQdfrbkqkDk+zWeZ9uq0aqa3EDzrUAsMAzQGLhmo8="; | ||
}) | ||
(fetchSteam { | ||
name = "openvr-content-2-depot"; | ||
app = 250820; | ||
depot = 250827; | ||
manifest = 2950592113021695594; | ||
hash = "sha256-5P8FRXAe2ZUsEQxtdVQLjvq8YHWqG1xY6paRDF8fHtc="; | ||
}) | ||
(fetchSteam { | ||
name = "openvr-content-3-depot"; | ||
app = 250820; | ||
depot = 250828; | ||
manifest = 7972087267127211047; | ||
hash = "sha256-nsrYx+/pba38ucDaEXOhrQeTHERegHUSv3MjiOhUdjg="; | ||
}) | ||
(fetchSteam { | ||
name = "openvr-content-4-depot"; | ||
app = 250820; | ||
depot = 250829; | ||
manifest = 1180860512328011191; | ||
hash = "sha256-yf6aSyQ0r1RoFEp5aK9yNPbMN5lZEkLG1Gmr1ffLEsA="; | ||
}) | ||
(fetchSteam { | ||
name = "steamvr-environments-linux-depot"; | ||
app = 250820; | ||
depot = 250829; | ||
manifest = 1180860512328011191; | ||
hash = "sha256-yf6aSyQ0r1RoFEp5aK9yNPbMN5lZEkLG1Gmr1ffLEsA="; | ||
}) | ||
]; | ||
sourceRoot = "."; | ||
|
||
nativeBuildInputs = [ | ||
autoPatchelfHook | ||
rsync | ||
]; | ||
buildInputs = | ||
[ | ||
audit | ||
bzip2 | ||
expat | ||
gtk2 | ||
gdk-pixbuf | ||
glib | ||
glibc | ||
libdrm | ||
libgcc.lib | ||
libpng12 | ||
libGL | ||
libusb1 | ||
nspr | ||
nss | ||
openal | ||
readline63 | ||
SDL2 | ||
vulkan-loader | ||
zlib | ||
] | ||
++ (with xorg; [ | ||
libX11 | ||
libXext | ||
libXrender | ||
libXi | ||
libXtst | ||
libXdamage | ||
libSM | ||
]); | ||
|
||
dontConfigure = true; | ||
dontBuild = true; | ||
|
||
installPhase = '' | ||
mkdir -p $out | ||
for src in $srcs; do | ||
rsync -a $src/ $out/ | ||
done | ||
''; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
{ | ||
lib, | ||
stdenv, | ||
callPackage, | ||
}: | ||
|
||
if stdenv.isDarwin then callPackage ./darwin.nix { } else callPackage ./linux.nix { } |