Rebuilding 20+ Qt6 packages revealed that every module creates a json file which records the build host kernel version making them not reproducible.
│ ├── usr/lib/qt6/modules/Quick3DPhysics.json │ │ ├── Pretty-printed │ │ │ @@ -7,14 +7,14 @@ │ │ │ "name": "Linux", │ │ │ "targets": [ │ │ │ { │ │ │ "abi": "x86_64-little_endian-lp64", │ │ │ "architecture": "x86_64" │ │ │ } │ │ │ ], │ │ │ - "version": "6.13.6-arch1-1" │ │ │ + "version": "6.13.7-arch1-1"
Example packages qt6-qttools-examples, qt6-qtbase-ibase, etc.
The issue of recording the host kernel is tracked in qt's bugtracker
Metadata Update from @zbyszek: - Issue tagged with: irreproducibility
From a NixOS contributor I have heard we could set CMAKE_SYSTEM_VERSION to an empty string that resolved most of their qt6 module issues except for these leftovers.
→ https://src.fedoraproject.org/rpms/qt6/pull-request/7