diff --git a/roles/archbuild/files/gitpkg b/roles/archbuild/files/gitpkg
index 53641c57031a2c361fb3e6757cf17cc68efaf375..3366d3217716ace293a174c019261d48d511bca1 100755
--- a/roles/archbuild/files/gitpkg
+++ b/roles/archbuild/files/gitpkg
@@ -392,7 +392,6 @@ if gitify
     prepare: case
     when meson
       <<~END
-        mkdir build
         cd #{localname}
       END
     when autotools
@@ -419,17 +418,15 @@ if gitify
     build: case
     when meson
       <<~END
-        cd build
-        arch-meson ../#{localname}
-        ninja
+        arch-meson #{localname} build
+        ninja -C build
       END
     end,
 
     package: case
     when meson
       <<~END
-        cd build
-        DESTDIR="$pkgdir" ninja install
+        DESTDIR="$pkgdir" ninja -C build install
       END
     end,
   }.reverse_each do |name, content|