mirror of
https://github.com/wownero/wowlet.git
synced 2026-10-17 07:11:29 +02:00
guix: remove zig
This commit is contained in:
@@ -3,12 +3,17 @@ $(package)_version=a148fb86c30968eeb30dc6ac3384ad2a16690520
|
||||
$(package)_download_path=https://github.com/tobtoht/ln-guix-store/archive/
|
||||
$(package)_file_name=$($(package)_version).tar.gz
|
||||
$(package)_sha256_hash=e9694fcda4f9fcb00374da7a439b881296c0ce67ea98ca44bf2830d1a364365b
|
||||
$(package)_patches=main.c main.S
|
||||
|
||||
define $(package)_preprocess_cmds
|
||||
cp -f $($(package)_patch_dir)/main.c $($(package)_patch_dir)/main.S .
|
||||
endef
|
||||
|
||||
define $(package)_build_cmds
|
||||
zig build-exe ln-guix-store.zig -target x86_64-linux-none -OReleaseSmall
|
||||
$($(package)_cc) -nostdlib -fno-unwind-tables -fno-asynchronous-unwind-tables -fdata-sections -Wl,--gc-sections -Wa,--noexecstack -fno-builtin -fno-stack-protector -static -o startup main.c main.S
|
||||
endef
|
||||
|
||||
define $(package)_stage_cmds
|
||||
mkdir -p $($(package)_staging_prefix_dir)/bin && \
|
||||
cp ln-guix-store $($(package)_staging_prefix_dir)/bin/startup
|
||||
cp startup $($(package)_staging_prefix_dir)/bin/
|
||||
endef
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
.text
|
||||
.global m_symlink
|
||||
.global m_exit
|
||||
.global m_mkdir
|
||||
.global m_execve
|
||||
.global _start
|
||||
|
||||
_start:
|
||||
pop %rdi
|
||||
mov %rsp, %rsi
|
||||
lea 8(%rsi, %rdi, 8), %rdx
|
||||
call start_c
|
||||
mov $60, %rax
|
||||
xor %rdi, %rdi
|
||||
syscall
|
||||
|
||||
m_symlink:
|
||||
mov $88, %rax
|
||||
syscall
|
||||
ret
|
||||
|
||||
m_mkdir:
|
||||
mov $83, %rax
|
||||
syscall
|
||||
ret
|
||||
|
||||
m_execve:
|
||||
mov $59, %rax
|
||||
syscall
|
||||
ret
|
||||
|
||||
m_exit:
|
||||
mov $60, %rax
|
||||
syscall
|
||||
@@ -0,0 +1,31 @@
|
||||
extern long m_symlink(const char *target, const char *linkpath);
|
||||
extern long m_mkdir(const char *pathname, unsigned int mode);
|
||||
extern long m_execve(const char *filename, char *const argv[], char *const envp[]);
|
||||
extern void m_exit(int status);
|
||||
|
||||
void start_c(int argc, char **argv, char **envp) {
|
||||
m_symlink("/app/gnu", "/gnu");
|
||||
|
||||
// Qt expects certs to be here, see: qtbase/src/network/ssl/qsslsocket.cpp
|
||||
m_mkdir("/etc/ssl", 0755);
|
||||
m_symlink("/app/profile/etc/ssl/certs", "/etc/ssl/certs");
|
||||
|
||||
// Stops Qt from complaining about not running in a utf-8 locale
|
||||
m_mkdir("/run/current-system", 0755);
|
||||
m_symlink("/app/profile/lib/locale", "/run/current-system/locale");
|
||||
|
||||
// Launch Feather
|
||||
const char *exec_path = "/app/feather";
|
||||
int new_argc = argc;
|
||||
char *new_argv[new_argc + 1];
|
||||
|
||||
new_argv[0] = (char *)exec_path;
|
||||
for (int i = 1; i < new_argc; i++) {
|
||||
new_argv[i] = argv[i];
|
||||
}
|
||||
new_argv[new_argc] = 0;
|
||||
|
||||
long ret = m_execve(exec_path, new_argv, envp);
|
||||
|
||||
m_exit((int)ret);
|
||||
}
|
||||
@@ -499,12 +499,13 @@ inspecting signatures in Mach-O binaries.")
|
||||
(make-mingw-pthreads-cross-toolchain "x86_64-w64-mingw32")
|
||||
nsis-x86_64
|
||||
nss-certs
|
||||
osslsigncode))
|
||||
osslsigncode
|
||||
gettext-minimal ;; used to build libgpg-error in depends
|
||||
))
|
||||
((string-contains target "-linux-")
|
||||
(list
|
||||
(make-bitcoin-cross-toolchain target)
|
||||
squashfs-tools
|
||||
zig ;; used to build flatstart in depends
|
||||
))
|
||||
((string-contains target "darwin")
|
||||
(list
|
||||
|
||||
Reference in New Issue
Block a user