Date: Sunday, January 8, 2023 @ 18:28:32
  Author: freswa
Revision: 1382038

archrelease: copy trunk to community-staging-x86_64

Added:
  waylock/repos/community-staging-x86_64/
  waylock/repos/community-staging-x86_64/PKGBUILD
    (from rev 1382037, waylock/trunk/PKGBUILD)
  waylock/repos/community-staging-x86_64/keys/
  waylock/repos/community-staging-x86_64/zig_0.10.0.patch
    (from rev 1382037, waylock/trunk/zig_0.10.0.patch)

------------------+
 PKGBUILD         |   54 ++++++++++++++++++++++++++++++
 zig_0.10.0.patch |   94 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 148 insertions(+)

Copied: waylock/repos/community-staging-x86_64/PKGBUILD (from rev 1382037, 
waylock/trunk/PKGBUILD)
===================================================================
--- community-staging-x86_64/PKGBUILD                           (rev 0)
+++ community-staging-x86_64/PKGBUILD   2023-01-08 18:28:32 UTC (rev 1382038)
@@ -0,0 +1,54 @@
+# Maintainer: David Runge <[email protected]>
+
+pkgname=waylock
+pkgver=0.5.0
+_commit=0bb019937c9a5d21cb205526493559deedfdeace  # refs/tags/v0.5.0^{}
+pkgrel=1
+pkgdesc="A simple screenlocker for wayland compositors"
+arch=(x86_64)
+url="https://github.com/ifreund/waylock";
+license=(MIT)
+depends=(gcc-libs glibc)
+# NOTE: if scdoc is installed zig build tries to install man page to system 
location :-/
+makedepends=(git libxkbcommon pam scdoc wayland wayland-protocols zig)
+source=(
+  git+https://github.com/ifreund/waylock#commit=$_commit?signed
+  git+https://github.com/ifreund/zig-wayland
+  git+https://github.com/ifreund/zig-xkbcommon
+  zig_0.10.0.patch
+)
+sha256sums=('SKIP'
+            'SKIP'
+            'SKIP'
+            'b123ddf515e2fccff1c4fa20193e2a946a3bda8807f15a1445fbbbc04255b142')
+validpgpkeys=('5FBDF84DD2278DB2B8AD8A5286DED400DDFD7A11') # Isaac Freund 
<[email protected]>
+
+prepare() {
+  cd $pkgname
+  git submodule init
+  git config submodule."deps/zig-wayland".url "${srcdir}/zig-wayland"
+  git config submodule."deps/zig-xkbcommon".url "${srcdir}/zig-xkbcommon"
+  git -c protocol.file.allow=always submodule update
+
+  # zig 0.10.0 compatibility
+  patch -Np1 < ../zig_0.10.0.patch
+  cd deps/zig-wayland
+  git checkout 71d21959b4671a848f1d198f6bb919f54d541f41
+  cd ../zig-xkbcommon
+  git checkout bfd1f97c277c32fddb77dee45979d2f472595d19
+}
+
+build() {
+  cd $pkgname
+  DESTDIR="build" zig build -Dpie --prefix /usr install
+}
+
+package() {
+  depends+=(libpam.so libwayland-client.so libxkbcommon.so)
+
+  cd $pkgname
+  mv -v build/* "$pkgdir"
+
+  install -vDm 644 LICENSE -t "$pkgdir/usr/share/licenses/$pkgname/"
+  install -vDm 644 README.md -t "$pkgdir/usr/share/doc/$pkgname/"
+}

Copied: waylock/repos/community-staging-x86_64/zig_0.10.0.patch (from rev 
1382037, waylock/trunk/zig_0.10.0.patch)
===================================================================
--- community-staging-x86_64/zig_0.10.0.patch                           (rev 0)
+++ community-staging-x86_64/zig_0.10.0.patch   2023-01-08 18:28:32 UTC (rev 
1382038)
@@ -0,0 +1,94 @@
+From 3f4ab22d6c3e8f995ab5971d8c337d926fb0a172 Mon Sep 17 00:00:00 2001
+From: Isaac Freund <[email protected]>
+Date: Thu, 29 Sep 2022 11:16:26 +0200
+Subject: [PATCH] build: update to zig master
+
+---
+ build.zig          |  2 +-
+ deps/zig-wayland   |  2 +-
+ deps/zig-xkbcommon |  2 +-
+ src/Lock.zig       | 21 ++-------------------
+ src/auth.zig       |  4 ++--
+ src/pam.zig        |  2 +-
+ 6 files changed, 8 insertions(+), 25 deletions(-)
+
+diff --git a/build.zig b/build.zig
+index b9bd8d0..adddb19 100644
+--- a/build.zig
++++ b/build.zig
+@@ -91,7 +91,7 @@ pub fn build(b: *zbs.Builder) !void {
+
+     waylock.addPackage(.{
+         .name = "wayland",
+-        .path = .{ .generated = &scanner.result },
++        .source = .{ .generated = &scanner.result },
+     });
+     waylock.step.dependOn(&scanner.step);
+     waylock.addPackagePath("xkbcommon", 
"deps/zig-xkbcommon/src/xkbcommon.zig");
+diff --git a/src/Lock.zig b/src/Lock.zig
+index 0a34ceb..aaa810e 100644
+--- a/src/Lock.zig
++++ b/src/Lock.zig
+@@ -443,25 +443,8 @@ fn create_buffers(shm: *wl.Shm, options: Options) 
![3]*wl.Buffer {
+
+ fn shm_fd_create() !os.fd_t {
+     switch (builtin.target.os.tag) {
+-        .linux => {
+-            return os.memfd_createZ("waylock-shm", os.linux.MFD_CLOEXEC);
+-        },
+-        .freebsd => {
+-            // TODO upstream this to the zig standard library
+-            const freebsd = struct {
+-                const MFD_CLOEXEC = 1;
+-                extern fn memfd_create(name: [*:0]const u8, flags: c_uint) 
c_int;
+-            };
+-
+-            const ret = freebsd.memfd_create("waylock-shm", 
freebsd.MFD_CLOEXEC);
+-            switch (os.errno(ret)) {
+-                .SUCCESS => return ret,
+-                .BADF => unreachable,
+-                .INVAL => unreachable,
+-                .NFILE => return error.SystemFdQuotaExceeded,
+-                .MFILE => return error.ProcessFdQuotaExceeded,
+-                else => |err| return os.unexpectedErrno(err),
+-            }
++        .linux, .freebsd => {
++            return os.memfd_createZ("waylock-shm", os.linux.MFD.CLOEXEC);
+         },
+         else => @compileError("Target OS not supported"),
+     }
+diff --git a/src/auth.zig b/src/auth.zig
+index 4c7da08..94ca6b2 100644
+--- a/src/auth.zig
++++ b/src/auth.zig
+@@ -102,7 +102,7 @@ pub fn run(conn: Connection) noreturn {
+
+             const end_result = pamh.end(setcred_result);
+             if (end_result != .success) {
+-                log.err("PAM deinitialization failed: {s}", .{end_result});
++                log.err("PAM deinitialization failed: {s}", 
.{end_result.description()});
+             }
+
+             os.exit(0);
+@@ -117,7 +117,7 @@ pub fn run(conn: Connection) noreturn {
+             if (auth_result == .abort) {
+                 const end_result = pamh.end(auth_result);
+                 if (end_result != .success) {
+-                    log.err("PAM deinitialization failed: {s}", 
.{end_result});
++                    log.err("PAM deinitialization failed: {s}", 
.{end_result.description()});
+                 }
+                 os.exit(1);
+             }
+diff --git a/src/pam.zig b/src/pam.zig
+index 0e3693e..8b7f144 100644
+--- a/src/pam.zig
++++ b/src/pam.zig
+@@ -41,7 +41,7 @@ pub const Response = extern struct {
+ };
+
+ pub const Conv = extern struct {
+-    conv: fn (
++    conv: *const fn (
+         num_msg: c_int,
+         /// Note: This matches the Linux-PAM API, apparently Solaris PAM 
differs
+         /// in how the msg argument is used.

Reply via email to