Skip to content

Build: fix include dirs#6002

Merged
fufexan merged 6 commits intomainfrom
nix
May 12, 2024
Merged

Build: fix include dirs#6002
fufexan merged 6 commits intomainfrom
nix

Conversation

@fufexan
Copy link
Member

@fufexan fufexan commented May 10, 2024

Describe your PR, what does it fix/add?

  • Nix: fix pkgconfig prefix to point to the right include dir
  • pkg-config: fix wlroots dir, so that plugins can build again
  • Meson: fix Cflags, to be on par with the CMake build

After we merge this PR, we can cut a new release so that NixOS/nixpkgs#309075 can be updated.

Is there anything you want to mention? (unchecked code, possible bugs, found problems, breaking compatibility, etc.)

Tested only by me. Please test it.

Is it ready for merging, or does it need work?

Needs a wlr bump.

@imnotpoz
Copy link
Contributor

fixes the split-monitor-workspaces issue above for me

@Agent00Ming
Copy link
Contributor

Builds fine on arch. hyprpm update still gives:

Details
 ./documents/git/hyprland/build/hyprpm/hyprpm -v update
[v] version returned: Hyprland, built from branch nix at commit d09c6a142ddd2d817dbdba1d546415eea2ff90fa dirty (wlroots: bump).
Date: Fri May 10 19:02:37 2024
Tag: v0.40.0-62-gd09c6a14, commits: 4668

flags: (if any)


[v] parsed commit d09c6a142ddd2d817dbdba1d546415eea2ff90fa at branch nix on Fri May 10 19:02:37 2024, commits 4668

! Cloning https://github.com/hyprwm/hyprland, this might take a moment.                                                                                                                                                                                         
[v] will shallow since: Fri May 03 19:02:37 2024                                                                                                                                                                                                                

✔ cloned                                                                                                                                                                                                                                                        
[v] git returned (co): Updated 0 paths from the index                                                                                                                                                                                                           

[v] git returned (rs): rm 'subprojects/tracy'                                                                                                                                                                                                                   
fatal: Could not parse object 'd09c6a142ddd2d817dbdba1d546415eea2ff90fa'.

✔ checked out to running ver                                                                                                                                                                                                                                    
! configuring Hyprland                                                                                                                                                                                                                                          
[v] setting PREFIX for cmake to /home/ming/.local/share/hyprpm/headersRoot                                                                                                                                                                                      
[v] cmake returned: CMake Warning (dev) at /usr/share/cmake/Modules/GNUInstallDirs.cmake:253 (message):                                                                                                                                                         
  Unable to determine default CMAKE_INSTALL_LIBDIR directory because no
  target architecture is known.  Please enable at least one language before
  including GNUInstallDirs.
Call Stack (most recent call first):
  CMakeLists.txt:5 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.
Not searching for unused variables given on the command line.

-- The C compiler identification is GNU 14.1.1
-- The CXX compiler identification is GNU 14.1.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Gathering git info
-- Found Python3: /usr/bin/python3.12 (found version "3.12.3") found components: Interpreter
Building itab.c/itab.h...
-- Setting up wlroots
-- Found PkgConfig: /usr/bin/pkg-config (found version "2.1.1")
-- Found WaylandScanner at /usr/bin/wayland-scanner
-- Found wayland-protocols at //usr/share/wayland-protocols
-- Configuring Hyprland in Release with CMake
-- Checking deps...
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Found OpenGL: /usr/lib/libOpenGL.so  found components: GLES3
-- Checking for modules 'xkbcommon;uuid;wayland-server;wayland-client;wayland-cursor;wayland-protocols;cairo;pango;pangocairo;pixman-1;libdrm;libinput;hwdata;libseat;libdisplay-info;libliftoff;libudev;gbm;hyprwayland-scanner>=0.3.6;hyprlang>=0.3.2;hyprcursor>=0.1.7'
--   Found xkbcommon, version 1.7.0
--   Found uuid, version 2.40.1
--   Found wayland-server, version 1.22.0
--   Found wayland-client, version 1.22.0
--   Found wayland-cursor, version 1.22.0
--   Found wayland-protocols, version 1.36
--   Found cairo, version 1.18.0
--   Found pango, version 1.52.2
--   Found pangocairo, version 1.52.2
--   Found pixman-1, version 0.43.4
--   Found libdrm, version 2.4.120
--   Found libinput, version 1.25.0
--   Found hwdata, version 0.382
--   Found libseat, version 0.8.0
--   Found libdisplay-info, version 0.1.1
--   Found libliftoff, version 0.4.1
--   Found libudev, version 255
--   Found gbm, version 24.0.6-arch1.2
--   Found hyprwayland-scanner, version 0.3.6
--   Found hyprlang, version 0.5.1
--   Found hyprcursor, version 0.1.7
-- Looking for execinfo.h
-- Looking for execinfo.h - found
-- Configuration supports execinfo
-- Looking for backtrace in execinfo
-- Looking for backtrace in execinfo - not found
-- Looking for sys/timerfd.h
-- Looking for sys/timerfd.h - found
-- Checking for module 'epoll-shim'
--   Package 'epoll-shim', required by 'virtual:world', not found
-- XWAYLAND Enabled (NO_XWAYLAND not defined) checking deps...
-- Checking for modules 'xcb;xwayland;xcb-util;xcb-render;xcb-xfixes;xcb-icccm;xcb-composite;xcb-res;xcb-ewmh'
--   Found xcb, version 1.17.0
--   Found xwayland, version 23.2.6
--   Found xcb-util, version 0.4.1
--   Found xcb-render, version 1.17.0
--   Found xcb-xfixes, version 1.17.0
--   Found xcb-icccm, version 0.4.2
--   Found xcb-composite, version 1.17.0
--   Found xcb-res, version 1.17.0
--   Found xcb-ewmh, version 0.4.2
-- Checking for module 'xcb-errors'
--   Found xcb-errors, version 1.0.1
-- SYSTEMD support is requested (NO_SYSTEMD not defined)...
-- Setting precompiled headers
-- Setting link libraries
-- Checking for module 'tomlplusplus'
--   Found tomlplusplus, version 3.4.0
-- Configuring done (1.1s)
-- Generating done (0.0s)
-- Build files have been written to: /tmp/hyprpm/hyprland-ming/build

[v] meson returned: The Meson build system                                                                                                                                                                                                                      
Version: 1.4.0
Source dir: /tmp/hyprpm/hyprland-ming/subprojects/wlroots-hyprland
Build dir: /tmp/hyprpm/hyprland-ming/subprojects/wlroots-hyprland/build
Build type: native build
Project name: wlroots
Project version: 0.18.0-dev
C compiler for the host machine: cc (gcc 14.1.1 "cc (GCC) 14.1.1 20240507")
C linker for the host machine: cc ld.bfd 2.42.0
Host machine cpu family: x86_64
Host machine cpu: x86_64
Compiler for C supports arguments -Wundef: YES 
Compiler for C supports arguments -Wlogical-op: YES 
Compiler for C supports arguments -Wmissing-include-dirs: YES 
Compiler for C supports arguments -Wold-style-definition: YES 
Compiler for C supports arguments -Wpointer-arith: YES 
Compiler for C supports arguments -Winit-self: YES 
Compiler for C supports arguments -Wstrict-prototypes: YES 
Compiler for C supports arguments -Wimplicit-fallthrough=2: YES 
Compiler for C supports arguments -Wendif-labels: YES 
Compiler for C supports arguments -Wstrict-aliasing=2: YES 
Compiler for C supports arguments -Woverflow: YES 
Compiler for C supports arguments -Wmissing-prototypes: YES 
Compiler for C supports arguments -Walloca: YES 
Compiler for C supports arguments -Wno-missing-braces: YES 
Compiler for C supports arguments -Wno-missing-field-initializers: YES 
Compiler for C supports arguments -Wno-unused-parameter: YES 
Compiler for C supports arguments -fmacro-prefix-map=/prefix/to/hide=: YES 
Found pkg-config: YES (/usr/bin/pkg-config) 2.1.1
Run-time dependency wayland-server found: YES 1.22.0
Run-time dependency libdrm found: YES 2.4.120
Run-time dependency xkbcommon found: YES 1.7.0
Run-time dependency pixman-1 found: YES 0.43.4
Library m found: YES
Library rt found: YES
Run-time dependency wayland-protocols found: YES 1.36
Build-time dependency wayland-scanner found: YES 1.22.0
Program /usr/bin/wayland-scanner found: YES (/usr/bin/wayland-scanner)
Has header "linux/dma-buf.h" : YES 
Run-time dependency egl found: YES 1.5
Run-time dependency gbm found: YES 24.0.6-arch1.2
Run-time dependency glesv2 found: YES 3.2
Program ./embed.sh found: YES (/tmp/hyprpm/hyprland-ming/subprojects/wlroots-hyprland/render/gles2/shaders/./embed.sh)
Dependency pixman-1 found: YES 0.43.4 (cached)
Dependency gbm found: YES 24.0.6-arch1.2 (cached)
Checking for function "gbm_bo_get_fd_for_plane" with dependency gbm: YES 
Run-time dependency libudev found: YES 255
Run-time dependency libseat found: YES 0.8.0
Build-time dependency hwdata found: YES 0.382
Run-time dependency libdisplay-info found: YES 0.1.1
Run-time dependency libliftoff found: YES 0.4.1
Run-time dependency libinput found: YES 1.25.0
Run-time dependency xcb found: YES 1.17.0
Run-time dependency xcb-dri3 found: YES 1.17.0
Run-time dependency xcb-present found: YES 1.17.0
Run-time dependency xcb-render found: YES 1.17.0
Run-time dependency xcb-renderutil found: YES 0.3.10
Run-time dependency xcb-shm found: YES 1.17.0
Run-time dependency xcb-xfixes found: YES 1.17.0
Run-time dependency xcb-xinput found: YES 1.17.0
Run-time dependency wayland-client found: YES 1.22.0
Run-time dependency xwayland found: YES 23.2.6
Dependency xcb found: YES 1.17.0 (cached)
Run-time dependency xcb-composite found: YES 1.17.0
Run-time dependency xcb-ewmh found: YES 0.4.2
Run-time dependency xcb-icccm found: YES 0.4.2
Dependency xcb-render found: YES 1.17.0 (cached)
Run-time dependency xcb-res found: YES 1.17.0
Dependency xcb-xfixes found: YES 1.17.0 (cached)
Run-time dependency xcb-errors found: YES 1.0.1
Checking for function "xcb_xfixes_set_client_disconnect_mode" with dependencies xcb, xcb-composite, xcb-ewmh, xcb-icccm, xcb-render, xcb-res, xcb-xfixes, xcb-errors: YES 
Configuring config.h using configuration
Configuring version.h using configuration
Configuring config.h using configuration
Message: Patches found. Applying...
Build targets in project: 136

wlroots 0.18.0-dev

    drm-backend     : YES
    x11-backend     : YES
    libinput-backend: YES
    xwayland        : YES
    gles2-renderer  : YES
    vulkan-renderer : NO
    gbm-allocator   : YES
    session         : YES
    xcb-errors      : YES
    egl             : YES
    libliftoff      : YES

  User defined options
    examples        : false
    renderers       : gles2

Found ninja-1.12.0 at /usr/bin/ninja
                                                 
✔ configured Hyprland                                                                                                                                                                                                                                           
[v] installation will run: sed -i -e "s#PREFIX = /usr/local#PREFIX = /home/ming/.local/share/hyprpm/headersRoot#" /tmp/hyprpm/hyprland-ming/Makefile && cd /tmp/hyprpm/hyprland-ming && make installheaders                                                     
 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╍━━━━━━━━━  4 / 5  Installing sources[v] installer returned: rm -fr /home/ming/.local/share/hyprpm/headersRoot/include/hyprland                                                                                        
mkdir -p /home/ming/.local/share/hyprpm/headersRoot/include/hyprland
mkdir -p /home/ming/.local/share/hyprpm/headersRoot/include/hyprland/protocols
mkdir -p /home/ming/.local/share/hyprpm/headersRoot/include/hyprland/wlroots-hyprland
mkdir -p /home/ming/.local/share/hyprpm/headersRoot/share/pkgconfig
find src -name '*.h*' -print0 | cpio --quiet -0dump /home/ming/.local/share/hyprpm/headersRoot/include/hyprland
cd subprojects/wlroots-hyprland/include && find . -name '*.h*' -print0 | cpio --quiet -0dump /home/ming/.local/share/hyprpm/headersRoot/include/hyprland/wlroots-hyprland && cd ../../..
cd subprojects/wlroots-hyprland/build/include && find . -name '*.h*' -print0 | cpio --quiet -0dump /home/ming/.local/share/hyprpm/headersRoot/include/hyprland/wlroots-hyprland && cd ../../../..
cp ./protocols/*.h /home/ming/.local/share/hyprpm/headersRoot/include/hyprland/protocols
cp ./protocols/*.hpp /home/ming/.local/share/hyprpm/headersRoot/include/hyprland/protocols
cp ./build/hyprland.pc /home/ming/.local/share/hyprpm/headersRoot/share/pkgconfig
if [ -d /usr/share/pkgconfig ]; then cp ./build/hyprland.pc /usr/share/pkgconfig 2>/dev/null || true; fi
chmod -R 755 /home/ming/.local/share/hyprpm/headersRoot/include/hyprland
chmod 755 /home/ming/.local/share/hyprpm/headersRoot/share/pkgconfig

✖ failed to install headers with error code 4                                                                                                                                                                                                                   
 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━  5 / 5  Failed                                                                                                                                                                                              

✖ Headers version mismatch. Please run hyprpm update to fix those.

@fufexan
Copy link
Member Author

fufexan commented May 11, 2024

@Agent00Ming I've updated the makefile, can you try again?

@Agent00Ming
Copy link
Contributor

Agent00Ming commented May 11, 2024

Still builds fine on arch.

hyprpm
./documents/git/hyprland/build/hyprpm/hyprpm -v update 
[v] version returned: Hyprland, built from branch nix at commit 42df58fc0636d922c2e369f22847bf47f2367855 dirty (Makefile: fix wlr dir).
Date: Sat May 11 07:46:04 2024
Tag: v0.40.0-63-g42df58fc, commits: 4669

flags: (if any)


[v] parsed commit 42df58fc0636d922c2e369f22847bf47f2367855 at branch nix on Sat May 11 07:46:04 2024, commits 4669

! Cloning https://github.com/hyprwm/hyprland, this might take a moment.                                                                                                                                                                                         
[v] will shallow since: Sat May 04 07:46:04 2024                                                                                                                                                                                                                

✔ cloned                                                                                                                                                                                                                                                        
[v] git returned (co): Updated 0 paths from the index                                                                                                                                                                                                           

[v] git returned (rs): rm 'subprojects/tracy'                                                                                                                                                                                                                   
fatal: Could not parse object '42df58fc0636d922c2e369f22847bf47f2367855'.

✔ checked out to running ver                                                                                                                                                                                                                                    
! configuring Hyprland                                                                                                                                                                                                                                          
[v] setting PREFIX for cmake to /home/ming/.local/share/hyprpm/headersRoot                                                                                                                                                                                      
[v] cmake returned: CMake Warning (dev) at /usr/share/cmake/Modules/GNUInstallDirs.cmake:253 (message):                                                                                                                                                         
  Unable to determine default CMAKE_INSTALL_LIBDIR directory because no
  target architecture is known.  Please enable at least one language before
  including GNUInstallDirs.
Call Stack (most recent call first):
  CMakeLists.txt:5 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.
Not searching for unused variables given on the command line.

-- The C compiler identification is GNU 14.1.1
-- The CXX compiler identification is GNU 14.1.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Gathering git info
-- Found Python3: /usr/bin/python3.12 (found version "3.12.3") found components: Interpreter
Building itab.c/itab.h...
-- Setting up wlroots
-- Found PkgConfig: /usr/bin/pkg-config (found version "2.1.1")
-- Found WaylandScanner at /usr/bin/wayland-scanner
-- Found wayland-protocols at //usr/share/wayland-protocols
-- Configuring Hyprland in Release with CMake
-- Checking deps...
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Found OpenGL: /usr/lib/libOpenGL.so  found components: GLES3
-- Checking for modules 'xkbcommon;uuid;wayland-server;wayland-client;wayland-cursor;wayland-protocols;cairo;pango;pangocairo;pixman-1;libdrm;libinput;hwdata;libseat;libdisplay-info;libliftoff;libudev;gbm;hyprwayland-scanner>=0.3.6;hyprlang>=0.3.2;hyprcursor>=0.1.7'
--   Found xkbcommon, version 1.7.0
--   Found uuid, version 2.40.1
--   Found wayland-server, version 1.22.0
--   Found wayland-client, version 1.22.0
--   Found wayland-cursor, version 1.22.0
--   Found wayland-protocols, version 1.36
--   Found cairo, version 1.18.0
--   Found pango, version 1.52.2
--   Found pangocairo, version 1.52.2
--   Found pixman-1, version 0.43.4
--   Found libdrm, version 2.4.120
--   Found libinput, version 1.25.0
--   Found hwdata, version 0.382
--   Found libseat, version 0.8.0
--   Found libdisplay-info, version 0.1.1
--   Found libliftoff, version 0.4.1
--   Found libudev, version 255
--   Found gbm, version 24.0.6-arch1.2
--   Found hyprwayland-scanner, version 0.3.7
--   Found hyprlang, version 0.5.1
--   Found hyprcursor, version 0.1.7
-- Looking for execinfo.h
-- Looking for execinfo.h - found
-- Configuration supports execinfo
-- Looking for backtrace in execinfo
-- Looking for backtrace in execinfo - not found
-- Looking for sys/timerfd.h
-- Looking for sys/timerfd.h - found
-- Checking for module 'epoll-shim'
--   Package 'epoll-shim', required by 'virtual:world', not found
-- XWAYLAND Enabled (NO_XWAYLAND not defined) checking deps...
-- Checking for modules 'xcb;xwayland;xcb-util;xcb-render;xcb-xfixes;xcb-icccm;xcb-composite;xcb-res;xcb-ewmh'
--   Found xcb, version 1.17.0
--   Found xwayland, version 23.2.6
--   Found xcb-util, version 0.4.1
--   Found xcb-render, version 1.17.0
--   Found xcb-xfixes, version 1.17.0
--   Found xcb-icccm, version 0.4.2
--   Found xcb-composite, version 1.17.0
--   Found xcb-res, version 1.17.0
--   Found xcb-ewmh, version 0.4.2
-- Checking for module 'xcb-errors'
--   Found xcb-errors, version 1.0.1
-- SYSTEMD support is requested (NO_SYSTEMD not defined)...
-- Setting precompiled headers
-- Setting link libraries
-- Checking for module 'tomlplusplus'
--   Found tomlplusplus, version 3.4.0
-- Configuring done (1.2s)
-- Generating done (0.0s)
-- Build files have been written to: /tmp/hyprpm/hyprland-ming/build

[v] meson returned: The Meson build system                                                                                                                                                                                                                      
Version: 1.4.0
Source dir: /tmp/hyprpm/hyprland-ming/subprojects/wlroots-hyprland
Build dir: /tmp/hyprpm/hyprland-ming/subprojects/wlroots-hyprland/build
Build type: native build
Project name: wlroots
Project version: 0.18.0-dev
C compiler for the host machine: cc (gcc 14.1.1 "cc (GCC) 14.1.1 20240507")
C linker for the host machine: cc ld.bfd 2.42.0
Host machine cpu family: x86_64
Host machine cpu: x86_64
Compiler for C supports arguments -Wundef: YES 
Compiler for C supports arguments -Wlogical-op: YES 
Compiler for C supports arguments -Wmissing-include-dirs: YES 
Compiler for C supports arguments -Wold-style-definition: YES 
Compiler for C supports arguments -Wpointer-arith: YES 
Compiler for C supports arguments -Winit-self: YES 
Compiler for C supports arguments -Wstrict-prototypes: YES 
Compiler for C supports arguments -Wimplicit-fallthrough=2: YES 
Compiler for C supports arguments -Wendif-labels: YES 
Compiler for C supports arguments -Wstrict-aliasing=2: YES 
Compiler for C supports arguments -Woverflow: YES 
Compiler for C supports arguments -Wmissing-prototypes: YES 
Compiler for C supports arguments -Walloca: YES 
Compiler for C supports arguments -Wno-missing-braces: YES 
Compiler for C supports arguments -Wno-missing-field-initializers: YES 
Compiler for C supports arguments -Wno-unused-parameter: YES 
Compiler for C supports arguments -fmacro-prefix-map=/prefix/to/hide=: YES 
Found pkg-config: YES (/usr/bin/pkg-config) 2.1.1
Run-time dependency wayland-server found: YES 1.22.0
Run-time dependency libdrm found: YES 2.4.120
Run-time dependency xkbcommon found: YES 1.7.0
Run-time dependency pixman-1 found: YES 0.43.4
Library m found: YES
Library rt found: YES
Run-time dependency wayland-protocols found: YES 1.36
Build-time dependency wayland-scanner found: YES 1.22.0
Program /usr/bin/wayland-scanner found: YES (/usr/bin/wayland-scanner)
Has header "linux/dma-buf.h" : YES 
Run-time dependency egl found: YES 1.5
Run-time dependency gbm found: YES 24.0.6-arch1.2
Run-time dependency glesv2 found: YES 3.2
Program ./embed.sh found: YES (/tmp/hyprpm/hyprland-ming/subprojects/wlroots-hyprland/render/gles2/shaders/./embed.sh)
Dependency pixman-1 found: YES 0.43.4 (cached)
Dependency gbm found: YES 24.0.6-arch1.2 (cached)
Checking for function "gbm_bo_get_fd_for_plane" with dependency gbm: YES 
Run-time dependency libudev found: YES 255
Run-time dependency libseat found: YES 0.8.0
Build-time dependency hwdata found: YES 0.382
Run-time dependency libdisplay-info found: YES 0.1.1
Run-time dependency libliftoff found: YES 0.4.1
Run-time dependency libinput found: YES 1.25.0
Run-time dependency xcb found: YES 1.17.0
Run-time dependency xcb-dri3 found: YES 1.17.0
Run-time dependency xcb-present found: YES 1.17.0
Run-time dependency xcb-render found: YES 1.17.0
Run-time dependency xcb-renderutil found: YES 0.3.10
Run-time dependency xcb-shm found: YES 1.17.0
Run-time dependency xcb-xfixes found: YES 1.17.0
Run-time dependency xcb-xinput found: YES 1.17.0
Run-time dependency wayland-client found: YES 1.22.0
Run-time dependency xwayland found: YES 23.2.6
Dependency xcb found: YES 1.17.0 (cached)
Run-time dependency xcb-composite found: YES 1.17.0
Run-time dependency xcb-ewmh found: YES 0.4.2
Run-time dependency xcb-icccm found: YES 0.4.2
Dependency xcb-render found: YES 1.17.0 (cached)
Run-time dependency xcb-res found: YES 1.17.0
Dependency xcb-xfixes found: YES 1.17.0 (cached)
Run-time dependency xcb-errors found: YES 1.0.1
Checking for function "xcb_xfixes_set_client_disconnect_mode" with dependencies xcb, xcb-composite, xcb-ewmh, xcb-icccm, xcb-render, xcb-res, xcb-xfixes, xcb-errors: YES 
Configuring config.h using configuration
Configuring version.h using configuration
Configuring config.h using configuration
Message: Patches found. Applying...
Build targets in project: 136

wlroots 0.18.0-dev

    drm-backend     : YES
    x11-backend     : YES
    libinput-backend: YES
    xwayland        : YES
    gles2-renderer  : YES
    vulkan-renderer : NO
    gbm-allocator   : YES
    session         : YES
    xcb-errors      : YES
    egl             : YES
    libliftoff      : YES

  User defined options
    examples        : false
    renderers       : gles2

Found ninja-1.12.0 at /usr/bin/ninja
                                                 
✔ configured Hyprland                                                                                                                                                                                                                                           
[v] installation will run: sed -i -e "s#PREFIX = /usr/local#PREFIX = /home/ming/.local/share/hyprpm/headersRoot#" /tmp/hyprpm/hyprland-ming/Makefile && cd /tmp/hyprpm/hyprland-ming && make installheaders                                                     
 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╍━━━━━━━━━  4 / 5  Installing sources[v] installer returned: rm -fr /home/ming/.local/share/hyprpm/headersRoot/include/hyprland                                                                                        
mkdir -p /home/ming/.local/share/hyprpm/headersRoot/include/hyprland
mkdir -p /home/ming/.local/share/hyprpm/headersRoot/include/hyprland/protocols
mkdir -p /home/ming/.local/share/hyprpm/headersRoot/include/hyprland/wlroots-hyprland
mkdir -p /home/ming/.local/share/hyprpm/headersRoot/share/pkgconfig
find src -name '*.h*' -print0 | cpio --quiet -0dump /home/ming/.local/share/hyprpm/headersRoot/include/hyprland
cd subprojects/wlroots-hyprland/include && find . -name '*.h*' -print0 | cpio --quiet -0dump /home/ming/.local/share/hyprpm/headersRoot/include/hyprland/wlroots-hyprland && cd ../../..
cd subprojects/wlroots-hyprland/build/include && find . -name '*.h*' -print0 | cpio --quiet -0dump /home/ming/.local/share/hyprpm/headersRoot/include/hyprland/wlroots-hyprland && cd ../../../..
cp ./protocols/*.h /home/ming/.local/share/hyprpm/headersRoot/include/hyprland/protocols
cp ./protocols/*.hpp /home/ming/.local/share/hyprpm/headersRoot/include/hyprland/protocols
cp ./build/hyprland.pc /home/ming/.local/share/hyprpm/headersRoot/share/pkgconfig
if [ -d /usr/share/pkgconfig ]; then cp ./build/hyprland.pc /usr/share/pkgconfig 2>/dev/null || true; fi
chmod -R 755 /home/ming/.local/share/hyprpm/headersRoot/include/hyprland
chmod 755 /home/ming/.local/share/hyprpm/headersRoot/share/pkgconfig

✖ failed to install headers with error code 4                                                                                                                                                                                                                   
 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━  5 / 5  Failed                                                                                                                                                                                              

✖ Headers version mismatch. Please run hyprpm update to fix those.

@fufexan
Copy link
Member Author

fufexan commented May 11, 2024

Looks like the makefile changes didn't propagate. What happens if you remove the hyprpm dir/whatever else it might have created?

@Agent00Ming
Copy link
Contributor

Same thing.

hyprpm
 ./documents/git/hyprland/build/hyprpm/hyprpm -v update
[v] version returned: Hyprland, built from branch nix at commit 42df58fc0636d922c2e369f22847bf47f2367855 dirty (Makefile: fix wlr dir).
Date: Sat May 11 07:46:04 2024
Tag: v0.40.0-63-g42df58fc, commits: 4669

flags: (if any)


[v] parsed commit 42df58fc0636d922c2e369f22847bf47f2367855 at branch nix on Sat May 11 07:46:04 2024, commits 4669

! Cloning https://github.com/hyprwm/hyprland, this might take a moment.                                                                                                                                                                                         
[v] will shallow since: Sat May 04 07:46:04 2024                                                                                                                                                                                                                

✔ cloned                                                                                                                                                                                                                                                        
[v] git returned (co): Updated 0 paths from the index                                                                                                                                                                                                           

[v] git returned (rs): rm 'subprojects/tracy'                                                                                                                                                                                                                   
fatal: Could not parse object '42df58fc0636d922c2e369f22847bf47f2367855'.

✔ checked out to running ver                                                                                                                                                                                                                                    
! configuring Hyprland                                                                                                                                                                                                                                          
[v] setting PREFIX for cmake to /home/ming/.local/share/hyprpm/headersRoot                                                                                                                                                                                      
[v] cmake returned: CMake Warning (dev) at /usr/share/cmake/Modules/GNUInstallDirs.cmake:253 (message):                                                                                                                                                         
  Unable to determine default CMAKE_INSTALL_LIBDIR directory because no
  target architecture is known.  Please enable at least one language before
  including GNUInstallDirs.
Call Stack (most recent call first):
  CMakeLists.txt:5 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.
Not searching for unused variables given on the command line.

-- The C compiler identification is GNU 14.1.1
-- The CXX compiler identification is GNU 14.1.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Gathering git info
-- Found Python3: /usr/bin/python3.12 (found version "3.12.3") found components: Interpreter
Building itab.c/itab.h...
-- Setting up wlroots
-- Found PkgConfig: /usr/bin/pkg-config (found version "2.1.1")
-- Found WaylandScanner at /usr/bin/wayland-scanner
-- Found wayland-protocols at //usr/share/wayland-protocols
-- Configuring Hyprland in Release with CMake
-- Checking deps...
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Found OpenGL: /usr/lib/libOpenGL.so  found components: GLES3
-- Checking for modules 'xkbcommon;uuid;wayland-server;wayland-client;wayland-cursor;wayland-protocols;cairo;pango;pangocairo;pixman-1;libdrm;libinput;hwdata;libseat;libdisplay-info;libliftoff;libudev;gbm;hyprwayland-scanner>=0.3.6;hyprlang>=0.3.2;hyprcursor>=0.1.7'
--   Found xkbcommon, version 1.7.0
--   Found uuid, version 2.40.1
--   Found wayland-server, version 1.22.0
--   Found wayland-client, version 1.22.0
--   Found wayland-cursor, version 1.22.0
--   Found wayland-protocols, version 1.36
--   Found cairo, version 1.18.0
--   Found pango, version 1.52.2
--   Found pangocairo, version 1.52.2
--   Found pixman-1, version 0.43.4
--   Found libdrm, version 2.4.120
--   Found libinput, version 1.25.0
--   Found hwdata, version 0.382
--   Found libseat, version 0.8.0
--   Found libdisplay-info, version 0.1.1
--   Found libliftoff, version 0.4.1
--   Found libudev, version 255
--   Found gbm, version 24.0.6-arch1.2
--   Found hyprwayland-scanner, version 0.3.7
--   Found hyprlang, version 0.5.1
--   Found hyprcursor, version 0.1.7
-- Looking for execinfo.h
-- Looking for execinfo.h - found
-- Configuration supports execinfo
-- Looking for backtrace in execinfo
-- Looking for backtrace in execinfo - not found
-- Looking for sys/timerfd.h
-- Looking for sys/timerfd.h - found
-- Checking for module 'epoll-shim'
--   Package 'epoll-shim', required by 'virtual:world', not found
-- XWAYLAND Enabled (NO_XWAYLAND not defined) checking deps...
-- Checking for modules 'xcb;xwayland;xcb-util;xcb-render;xcb-xfixes;xcb-icccm;xcb-composite;xcb-res;xcb-ewmh'
--   Found xcb, version 1.17.0
--   Found xwayland, version 23.2.6
--   Found xcb-util, version 0.4.1
--   Found xcb-render, version 1.17.0
--   Found xcb-xfixes, version 1.17.0
--   Found xcb-icccm, version 0.4.2
--   Found xcb-composite, version 1.17.0
--   Found xcb-res, version 1.17.0
--   Found xcb-ewmh, version 0.4.2
-- Checking for module 'xcb-errors'
--   Found xcb-errors, version 1.0.1
-- SYSTEMD support is requested (NO_SYSTEMD not defined)...
-- Setting precompiled headers
-- Setting link libraries
-- Checking for module 'tomlplusplus'
--   Found tomlplusplus, version 3.4.0
-- Configuring done (1.2s)
-- Generating done (0.0s)
-- Build files have been written to: /tmp/hyprpm/hyprland-ming/build

[v] meson returned: The Meson build system                                                                                                                                                                                                                      
Version: 1.4.0
Source dir: /tmp/hyprpm/hyprland-ming/subprojects/wlroots-hyprland
Build dir: /tmp/hyprpm/hyprland-ming/subprojects/wlroots-hyprland/build
Build type: native build
Project name: wlroots
Project version: 0.18.0-dev
C compiler for the host machine: cc (gcc 14.1.1 "cc (GCC) 14.1.1 20240507")
C linker for the host machine: cc ld.bfd 2.42.0
Host machine cpu family: x86_64
Host machine cpu: x86_64
Compiler for C supports arguments -Wundef: YES 
Compiler for C supports arguments -Wlogical-op: YES 
Compiler for C supports arguments -Wmissing-include-dirs: YES 
Compiler for C supports arguments -Wold-style-definition: YES 
Compiler for C supports arguments -Wpointer-arith: YES 
Compiler for C supports arguments -Winit-self: YES 
Compiler for C supports arguments -Wstrict-prototypes: YES 
Compiler for C supports arguments -Wimplicit-fallthrough=2: YES 
Compiler for C supports arguments -Wendif-labels: YES 
Compiler for C supports arguments -Wstrict-aliasing=2: YES 
Compiler for C supports arguments -Woverflow: YES 
Compiler for C supports arguments -Wmissing-prototypes: YES 
Compiler for C supports arguments -Walloca: YES 
Compiler for C supports arguments -Wno-missing-braces: YES 
Compiler for C supports arguments -Wno-missing-field-initializers: YES 
Compiler for C supports arguments -Wno-unused-parameter: YES 
Compiler for C supports arguments -fmacro-prefix-map=/prefix/to/hide=: YES 
Found pkg-config: YES (/usr/bin/pkg-config) 2.1.1
Run-time dependency wayland-server found: YES 1.22.0
Run-time dependency libdrm found: YES 2.4.120
Run-time dependency xkbcommon found: YES 1.7.0
Run-time dependency pixman-1 found: YES 0.43.4
Library m found: YES
Library rt found: YES
Run-time dependency wayland-protocols found: YES 1.36
Build-time dependency wayland-scanner found: YES 1.22.0
Program /usr/bin/wayland-scanner found: YES (/usr/bin/wayland-scanner)
Has header "linux/dma-buf.h" : YES 
Run-time dependency egl found: YES 1.5
Run-time dependency gbm found: YES 24.0.6-arch1.2
Run-time dependency glesv2 found: YES 3.2
Program ./embed.sh found: YES (/tmp/hyprpm/hyprland-ming/subprojects/wlroots-hyprland/render/gles2/shaders/./embed.sh)
Dependency pixman-1 found: YES 0.43.4 (cached)
Dependency gbm found: YES 24.0.6-arch1.2 (cached)
Checking for function "gbm_bo_get_fd_for_plane" with dependency gbm: YES 
Run-time dependency libudev found: YES 255
Run-time dependency libseat found: YES 0.8.0
Build-time dependency hwdata found: YES 0.382
Run-time dependency libdisplay-info found: YES 0.1.1
Run-time dependency libliftoff found: YES 0.4.1
Run-time dependency libinput found: YES 1.25.0
Run-time dependency xcb found: YES 1.17.0
Run-time dependency xcb-dri3 found: YES 1.17.0
Run-time dependency xcb-present found: YES 1.17.0
Run-time dependency xcb-render found: YES 1.17.0
Run-time dependency xcb-renderutil found: YES 0.3.10
Run-time dependency xcb-shm found: YES 1.17.0
Run-time dependency xcb-xfixes found: YES 1.17.0
Run-time dependency xcb-xinput found: YES 1.17.0
Run-time dependency wayland-client found: YES 1.22.0
Run-time dependency xwayland found: YES 23.2.6
Dependency xcb found: YES 1.17.0 (cached)
Run-time dependency xcb-composite found: YES 1.17.0
Run-time dependency xcb-ewmh found: YES 0.4.2
Run-time dependency xcb-icccm found: YES 0.4.2
Dependency xcb-render found: YES 1.17.0 (cached)
Run-time dependency xcb-res found: YES 1.17.0
Dependency xcb-xfixes found: YES 1.17.0 (cached)
Run-time dependency xcb-errors found: YES 1.0.1
Checking for function "xcb_xfixes_set_client_disconnect_mode" with dependencies xcb, xcb-composite, xcb-ewmh, xcb-icccm, xcb-render, xcb-res, xcb-xfixes, xcb-errors: YES 
Configuring config.h using configuration
Configuring version.h using configuration
Configuring config.h using configuration
Message: Patches found. Applying...
Build targets in project: 136

wlroots 0.18.0-dev

    drm-backend     : YES
    x11-backend     : YES
    libinput-backend: YES
    xwayland        : YES
    gles2-renderer  : YES
    vulkan-renderer : NO
    gbm-allocator   : YES
    session         : YES
    xcb-errors      : YES
    egl             : YES
    libliftoff      : YES

  User defined options
    examples        : false
    renderers       : gles2

Found ninja-1.12.0 at /usr/bin/ninja
                                                 
✔ configured Hyprland                                                                                                                                                                                                                                           
[v] installation will run: sed -i -e "s#PREFIX = /usr/local#PREFIX = /home/ming/.local/share/hyprpm/headersRoot#" /tmp/hyprpm/hyprland-ming/Makefile && cd /tmp/hyprpm/hyprland-ming && make installheaders                                                     
 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╍━━━━━━━━━  4 / 5  Installing sources[v] installer returned: rm -fr /home/ming/.local/share/hyprpm/headersRoot/include/hyprland                                                                                        
mkdir -p /home/ming/.local/share/hyprpm/headersRoot/include/hyprland
mkdir -p /home/ming/.local/share/hyprpm/headersRoot/include/hyprland/protocols
mkdir -p /home/ming/.local/share/hyprpm/headersRoot/include/hyprland/wlroots-hyprland
mkdir -p /home/ming/.local/share/hyprpm/headersRoot/share/pkgconfig
find src -name '*.h*' -print0 | cpio --quiet -0dump /home/ming/.local/share/hyprpm/headersRoot/include/hyprland
cd subprojects/wlroots-hyprland/include && find . -name '*.h*' -print0 | cpio --quiet -0dump /home/ming/.local/share/hyprpm/headersRoot/include/hyprland/wlroots-hyprland && cd ../../..
cd subprojects/wlroots-hyprland/build/include && find . -name '*.h*' -print0 | cpio --quiet -0dump /home/ming/.local/share/hyprpm/headersRoot/include/hyprland/wlroots-hyprland && cd ../../../..
cp ./protocols/*.h /home/ming/.local/share/hyprpm/headersRoot/include/hyprland/protocols
cp ./protocols/*.hpp /home/ming/.local/share/hyprpm/headersRoot/include/hyprland/protocols
cp ./build/hyprland.pc /home/ming/.local/share/hyprpm/headersRoot/share/pkgconfig
if [ -d /usr/share/pkgconfig ]; then cp ./build/hyprland.pc /usr/share/pkgconfig 2>/dev/null || true; fi
chmod -R 755 /home/ming/.local/share/hyprpm/headersRoot/include/hyprland
chmod 755 /home/ming/.local/share/hyprpm/headersRoot/share/pkgconfig

✖ failed to install headers with error code 4                                                                                                                                                                                                                   
 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━  5 / 5  Failed                                                                                                                                                                                              

✖ Headers version mismatch. Please run hyprpm update to fix those.

@nonetrix
Copy link

nonetrix commented May 12, 2024

Works well for me, except for Hyprspace which still has cmake error

@fufexan
Copy link
Member Author

fufexan commented May 12, 2024

@Agent00Ming I've updated hyprpm to work with branches other than main as well, can you test it now?

Copy link
Contributor

@Agent00Ming Agent00Ming left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All good on my end 👍 . Compiles fine and hyprpm is happy. (arch)

./documents/git/hyprland/build/hyprpm/hyprpm -v update
[v] version returned: Hyprland, built from branch nix at commit af5a98708008d6b821fc32c9992b976ed0d77a44 dirty (hyprpm: don't shallow clone on non-main branches).
Date: Sat May 11 19:53:50 2024
Tag: v0.40.0-64-gaf5a9870, commits: 4670

flags: (if any)


[v] parsed commit af5a98708008d6b821fc32c9992b976ed0d77a44 at branch nix on Sat May 11 19:53:50 2024, commits 4670

✔ Headers up to date.

✖ No repos to update.
✔ Ensuring plugin load state
✔ Plugin load state ensured

@fufexan
Copy link
Member Author

fufexan commented May 12, 2024

Merging then. Thanks everyone for testing!

@fufexan fufexan merged commit 2ccd45a into main May 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants