summary refs log tree commit diff
path: root/pkgs/games/steam/build-wrapped.sh
diff options
context:
space:
mode:
authorNikolay Amiantov <ab@fmap.me>2015-10-20 17:08:44 +0300
committerNikolay Amiantov <ab@fmap.me>2015-10-20 18:53:46 +0300
commiteae00fe68769672d1a861ef4a9dd4963e7d77fff (patch)
treefef3bd6234961c82c294671f1d1fa3f5508e4c7c /pkgs/games/steam/build-wrapped.sh
parent18ddcd28473953bfe4f416f5c0882f2040280fb0 (diff)
downloadnixpkgs-eae00fe68769672d1a861ef4a9dd4963e7d77fff.tar
nixpkgs-eae00fe68769672d1a861ef4a9dd4963e7d77fff.tar.gz
nixpkgs-eae00fe68769672d1a861ef4a9dd4963e7d77fff.tar.bz2
nixpkgs-eae00fe68769672d1a861ef4a9dd4963e7d77fff.tar.lz
nixpkgs-eae00fe68769672d1a861ef4a9dd4963e7d77fff.tar.xz
nixpkgs-eae00fe68769672d1a861ef4a9dd4963e7d77fff.tar.zst
nixpkgs-eae00fe68769672d1a861ef4a9dd4963e7d77fff.zip
steam-runtime: build using new Runtime build system
Diffstat (limited to 'pkgs/games/steam/build-wrapped.sh')
-rw-r--r--pkgs/games/steam/build-wrapped.sh47
1 files changed, 47 insertions, 0 deletions
diff --git a/pkgs/games/steam/build-wrapped.sh b/pkgs/games/steam/build-wrapped.sh
new file mode 100644
index 00000000000..ddf974671a0
--- /dev/null
+++ b/pkgs/games/steam/build-wrapped.sh
@@ -0,0 +1,47 @@
+source $stdenv/setup
+
+outp=$out/lib/steam-runtime
+
+buildDir() {
+  paths="$1"
+  pkgs="$2"
+
+  for pkg in $pkgs; do
+    echo "adding package $pkg"
+    for path in $paths; do
+      if [ -d $pkg/$path ]; then
+        cd $pkg/$path
+        for file in *; do
+          found=""
+          for i in $paths; do
+            if [ -e "$outp/$i/$file" ]; then
+              found=1
+              break
+            fi
+          done
+          if [ -z "$found" ]; then
+            mkdir -p $outp/$path
+            ln -s "$pkg/$path/$file" $outp/$path
+            sovers=$(echo $file | perl -ne 'print if s/.*?\.so\.(.*)/\1/')
+            if [ ! -z "$sovers" ]; then
+              fname=''${file%.''${sovers}}
+              for ver in ''${sovers//./ }; do
+                found=""
+                for i in $paths; do
+                  if [ -e "$outp/$i/$fname" ]; then
+                    found=1
+                    break
+                  fi
+                done
+                [ -n "$found" ] || ln -s "$pkg/$path/$file" "$outp/$path/$fname"
+                fname="$fname.$ver"
+              done
+            fi
+          fi
+        done
+      fi
+    done
+  done
+}
+
+eval "$installPhase"