mirror of
https://github.com/Lurkki14/tuxclocker.git
synced 2025-02-25 18:55:24 -06:00
add script to build runnable tarball
This commit is contained in:
parent
1737bbd2cb
commit
1c37cd0d92
22
bundle.nix
Normal file
22
bundle.nix
Normal file
@ -0,0 +1,22 @@
|
||||
let
|
||||
tuxclocker = import ./release.nix;
|
||||
sources = import ./npins;
|
||||
dbusConf = ./dev/dbusconf.conf;
|
||||
pkgs =
|
||||
if (builtins.pathExists ./npins)
|
||||
then import sources.nixpkgs {}
|
||||
else import <nixpkgs> {};
|
||||
# Rename dbus binary so we don't kill host dbus when exiting
|
||||
dbus = pkgs.dbus.overrideAttrs {
|
||||
postInstall = ''
|
||||
mv $out/bin/dbus-daemon $out/bin/tuxclocker-dbus
|
||||
'';
|
||||
};
|
||||
in
|
||||
pkgs.writeScriptBin "tuxclocker" ''
|
||||
export DBUS_SYSTEM_BUS_ADDRESS=unix:path=/tmp/tuxclocker-dbus-socket
|
||||
export LD_LIBRARY_PATH=""
|
||||
sudo ${dbus}/bin/tuxclocker-dbus --config-file=${dbusConf} &&
|
||||
sudo -E ${tuxclocker}/bin/tuxclockerd & ${tuxclocker}/bin/tuxclocker-qt;
|
||||
sudo kill $(pidof tuxclockerd); sudo kill $(pidof tuxclocker-dbus)
|
||||
''
|
53
mkTarball.sh
Executable file
53
mkTarball.sh
Executable file
@ -0,0 +1,53 @@
|
||||
#!/usr/bin/env sh
|
||||
|
||||
storePaths=($(nix-store -qR $(nix-build release.nix)))
|
||||
cp -n result/bin/{.tuxclockerd-wrapped,.tuxclocker-qt-wrapped} .
|
||||
libPaths=( "${storePaths[@]/%/\/lib\/}" )
|
||||
<<<<<<< HEAD
|
||||
<<<<<<< HEAD
|
||||
libPaths=( "${libPaths[@]/#/.}" )
|
||||
libPathsColonSep=$(echo ${libPaths[@]} | sed 's/ /:/g')
|
||||
glibPath=$(nix-build '<nixpkgs>' -A glibc --no-out-link)
|
||||
# TODO: don't hardcode version!
|
||||
qtPluginPath=.$(nix-build '<nixpkgs>' -A libsForQt5.qt5.qtbase --no-out-link)/lib/qt-5.15.9/plugins/
|
||||
tuxclockerPluginPath=.$(nix-build release.nix)/lib/tuxclocker/plugins/
|
||||
chmod 777 ./.tuxclockerd-wrapped ./.tuxclocker-qt-wrapped
|
||||
patchelf --set-rpath \.$glibPath/lib ./.tuxclockerd-wrapped ./.tuxclocker-qt-wrapped
|
||||
patchelf --set-interpreter \.$glibPath"/lib/ld-linux-x86-64.so.2" ./.tuxclockerd-wrapped ./.tuxclocker-qt-wrapped
|
||||
|
||||
echo "
|
||||
export DBUS_SYSTEM_BUS_ADDRESS='unix:path=/tmp/tuxclocker-dbus-socket'
|
||||
export LD_LIBRARY_PATH=\"${libPathsColonSep[@]}\"
|
||||
export QT_PLUGIN_PATH=\"$qtPluginPath\"
|
||||
export TUXCLOCKER_PLUGIN_PATH=\"$tuxclockerPluginPath\"
|
||||
sudo -E dbus-run-session --config-file=dev/dbusconf.conf \
|
||||
sudo -E LD_LIBRARY_PATH=\"\$LD_LIBRARY_PATH\" ./.tuxclockerd-wrapped & \
|
||||
(unset LD_LIBRARY_PATH; sleep 2) && ./.tuxclocker-qt-wrapped; \
|
||||
unset LD_LIBRARY_PATH && \
|
||||
sudo kill \$(pidof .tuxclockerd-wrapped)
|
||||
" > run.sh
|
||||
chmod +x run.sh
|
||||
tar cavf tuxclocker.tar ${storePaths[@]} ./.tuxclocker-qt-wrapped ./.tuxclockerd-wrapped ./run.sh ./dev/dbusconf.conf
|
||||
=======
|
||||
#libPaths=( "${libPaths[@]/" "/\:}" )
|
||||
=======
|
||||
>>>>>>> 641bf86 (squash: working ld paths)
|
||||
libPaths=( "${libPaths[@]/#/.}" )
|
||||
libPathsColonSep=$(echo ${libPaths[@]} | sed 's/ /:/g')
|
||||
glibPath=$(nix-build '<nixpkgs>' -A glibc --no-out-link)
|
||||
chmod 777 ./.tuxclockerd-wrapped ./.tuxclocker-qt-wrapped
|
||||
patchelf --set-rpath \.$glibPath/lib ./.tuxclockerd-wrapped ./.tuxclocker-qt-wrapped
|
||||
patchelf --set-interpreter \.$glibPath/lib/ld-linux-x86-64.so.2 ./.tuxclockerd-wrapped ./.tuxclocker-qt-wrapped
|
||||
|
||||
echo "
|
||||
export DBUS_SYSTEM_BUS_ADDRESS='unix:path=/tmp/tuxclocker-dbus-socket'
|
||||
export LD_LIBRARY_PATH=\"${libPathsColonSep[@]}\"
|
||||
sudo -E LD_LIBRARY_PATH=\"\$LD_LIBRARY_PATH\" dbus-run-session --config-file=dev/dbusconf.conf ./.tuxclockerd-wrapped & ./.tuxclocker-qt-wrapped
|
||||
" > run.sh
|
||||
chmod +x run.sh
|
||||
<<<<<<< HEAD
|
||||
#tar cavf foo.tar ${storePaths[@]} ./.tuxclocker-qt-wrapped ./.tuxclockerd-wrapped ./run.sh ./dev/dbusconf.conf
|
||||
>>>>>>> 397cfb9 (squash: non-nix-bundle)
|
||||
=======
|
||||
tar cavf foo.tar ${storePaths[@]} ./.tuxclocker-qt-wrapped ./.tuxclockerd-wrapped ./run.sh ./dev/dbusconf.conf
|
||||
>>>>>>> 641bf86 (squash: working ld paths)
|
Loading…
Reference in New Issue
Block a user