Working with large projects with incompatible paths

Hello everyone,

I am relatively new to Nix(OS) and have just started to get a grasp of how to write my own Nix expressions and understanding how the system works.

Currently, I find myself in need to compile a large C/C++ project (namely, the PARSEC benchmark suite) which is filled to the brim with hardcoded path specifications which don’t exist in NixOS, like /usr/bin/make and the likes (not to mention the probably also hard-coded library paths).

Is there an easy way to get a large old legacy project like this running under NixOS that does not involve editing all files that reference these files via sed and is ideally also somewhat confined to a local override like a nix-shell?

To make that clear, the hardcoded paths include both library and binary paths.

Thanks in advance!
– Felix

It might be your lucky day :wink: :four_leaf_clover: , since @Mic92 recently did all the work of packaging Parsec:

1 Like

Wow, this really seems to be my lucky day then. :smile:

But in general is there a simple solution other than to adjust the project code to get it to work on NixOS?

The only thing that did not work was compiling cmake. I worked around that by symlinking our cmake to their installation directory…