From ba9afb0bc1a78a3081c8526732a7e498aa31f651 Mon Sep 17 00:00:00 2001 From: Guilhem Saurel Date: Mon, 7 Oct 2024 16:49:42 +0200 Subject: [PATCH 1/2] nix: move package to nixpkgs --- .github/workflows/nix.yml | 18 +-- default.nix | 41 ------ flake.lock | 256 +------------------------------------- flake.nix | 46 +++---- 4 files changed, 34 insertions(+), 327 deletions(-) delete mode 100644 default.nix diff --git a/.github/workflows/nix.yml b/.github/workflows/nix.yml index 9488350..cc47550 100644 --- a/.github/workflows/nix.yml +++ b/.github/workflows/nix.yml @@ -1,6 +1,7 @@ -name: "Nix CI" +name: "CI - Nix" -on: [pull_request, push] +on: + push: jobs: tests: @@ -11,10 +12,9 @@ jobs: os: [ubuntu] steps: - uses: actions/checkout@v4 - - uses: DeterminateSystems/nix-installer-action@main - - uses: DeterminateSystems/magic-nix-cache-action@main - - run: nix --accept-flake-config build -L - - run: nix --accept-flake-config run .#cachix push gepetto $(readlink result) - if: github.repository_owner == 'humanoid-path-planner' - env: - CACHIX_AUTH_TOKEN: ${{ secrets.CACHIX_AUTH_TOKEN }} + - uses: cachix/install-nix-action@v27 + - uses: cachix/cachix-action@v15 + with: + name: gepetto + authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}' + - run: nix build -L diff --git a/default.nix b/default.nix deleted file mode 100644 index 3da57fd..0000000 --- a/default.nix +++ /dev/null @@ -1,41 +0,0 @@ -{ - lib, - stdenv, - cmake, - example-robot-data, - hpp-manipulation, -}: - -stdenv.mkDerivation { - pname = "hpp-manipulation-urdf"; - version = "5.0.0"; - - src = lib.fileset.toSource { - root = ./.; - fileset = lib.fileset.unions [ - ./CMakeLists.txt - ./doc - ./include - ./package.xml - ./src - ./tests - ]; - }; - - strictDeps = true; - - nativeBuildInputs = [ cmake ]; - propagatedBuildInputs = [ hpp-manipulation ]; - doCheck = true; - - preCheck = '' - export ROS_PACKAGE_PATH=${example-robot-data}/share - ''; - - meta = { - description = "Implementation of a parser for hpp-manipulation"; - homepage = "https://github.com/humanoid-path-planner/hpp-manipulation-urdf"; - license = lib.licenses.bsd2; - maintainers = [ lib.maintainers.nim65s ]; - }; -} diff --git a/flake.lock b/flake.lock index 27eaee6..291df13 100644 --- a/flake.lock +++ b/flake.lock @@ -20,262 +20,17 @@ "type": "github" } }, - "hpp-constraints": { - "inputs": { - "flake-parts": [ - "hpp-manipulation", - "hpp-core", - "flake-parts" - ], - "hpp-pinocchio": "hpp-pinocchio", - "hpp-statistics": "hpp-statistics", - "hpp-util": "hpp-util", - "nixpkgs": [ - "hpp-manipulation", - "hpp-core", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1719584695, - "narHash": "sha256-8K94IgUt8kpdRDASnstfX14cBQN4ZK6+LmvOuq6Sg0I=", - "owner": "humanoid-path-planner", - "repo": "hpp-constraints", - "rev": "acd1c62fdfcdb329fd0dea19ae2f18e471e3ef08", - "type": "github" - }, - "original": { - "owner": "humanoid-path-planner", - "ref": "release/5.1.0", - "repo": "hpp-constraints", - "type": "github" - } - }, - "hpp-core": { - "inputs": { - "flake-parts": [ - "hpp-manipulation", - "flake-parts" - ], - "hpp-constraints": "hpp-constraints", - "nixpkgs": [ - "hpp-manipulation", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1719586831, - "narHash": "sha256-oRFZsERQKzaW2NvgcKcxqJZtqtlk7rqDK2inhUTABiQ=", - "owner": "humanoid-path-planner", - "repo": "hpp-core", - "rev": "733f884a03cde41aeae18758a26b28cf6fdf02fa", - "type": "github" - }, - "original": { - "owner": "humanoid-path-planner", - "ref": "release/5.1.0", - "repo": "hpp-core", - "type": "github" - } - }, - "hpp-environments": { - "inputs": { - "flake-parts": [ - "hpp-manipulation", - "hpp-core", - "hpp-constraints", - "hpp-pinocchio", - "flake-parts" - ], - "nixpkgs": [ - "hpp-manipulation", - "hpp-core", - "hpp-constraints", - "hpp-pinocchio", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1719580427, - "narHash": "sha256-T76zgTJrGm7maKBPwgX+FgQ7MPN7NoLvdZvzARPo9V0=", - "owner": "humanoid-path-planner", - "repo": "hpp-environments", - "rev": "1c727bcc85145a1f5236357fa73df5a183a31f04", - "type": "github" - }, - "original": { - "owner": "humanoid-path-planner", - "ref": "release/5.1.0", - "repo": "hpp-environments", - "type": "github" - } - }, - "hpp-manipulation": { - "inputs": { - "flake-parts": [ - "flake-parts" - ], - "hpp-core": "hpp-core", - "hpp-universal-robot": "hpp-universal-robot", - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1719772310, - "narHash": "sha256-IAukCfmub9dn0OmwXib7WdUluGoacqJVbGADX/av3wg=", - "owner": "humanoid-path-planner", - "repo": "hpp-manipulation", - "rev": "7d3bf681f5d64cc3786e0fd72ee2e61e14eba7fd", - "type": "github" - }, - "original": { - "owner": "humanoid-path-planner", - "repo": "hpp-manipulation", - "type": "github" - } - }, - "hpp-pinocchio": { - "inputs": { - "flake-parts": [ - "hpp-manipulation", - "hpp-core", - "hpp-constraints", - "flake-parts" - ], - "hpp-environments": "hpp-environments", - "hpp-util": [ - "hpp-manipulation", - "hpp-core", - "hpp-constraints", - "hpp-util" - ], - "nixpkgs": [ - "hpp-manipulation", - "hpp-core", - "hpp-constraints", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1719582071, - "narHash": "sha256-sRWf973UZIdyrS0fhd+vXdTucR9d7Eks9yU85kcFxfo=", - "owner": "humanoid-path-planner", - "repo": "hpp-pinocchio", - "rev": "4ec6186223ce18f4c48605421a7ef583fe827352", - "type": "github" - }, - "original": { - "owner": "humanoid-path-planner", - "ref": "release/5.1.0", - "repo": "hpp-pinocchio", - "type": "github" - } - }, - "hpp-statistics": { - "inputs": { - "flake-parts": [ - "hpp-manipulation", - "hpp-core", - "hpp-constraints", - "flake-parts" - ], - "hpp-util": [ - "hpp-manipulation", - "hpp-core", - "hpp-constraints", - "hpp-util" - ], - "nixpkgs": [ - "hpp-manipulation", - "hpp-core", - "hpp-constraints", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1719582334, - "narHash": "sha256-bzGI7z6hTGkuNs71Vcb3vsVpey1SuR7Okx4rJU1LHFs=", - "owner": "humanoid-path-planner", - "repo": "hpp-statistics", - "rev": "613b1f9c2788cb33097c1f1c0e4216420665a1e0", - "type": "github" - }, - "original": { - "owner": "humanoid-path-planner", - "ref": "release/5.1.0", - "repo": "hpp-statistics", - "type": "github" - } - }, - "hpp-universal-robot": { - "inputs": { - "flake-parts": [ - "hpp-manipulation", - "flake-parts" - ], - "nixpkgs": [ - "hpp-manipulation", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1719670288, - "narHash": "sha256-9gi96DhSqvAHlXUlTs6O7TG/3dTthL2LETHb1rqP75A=", - "owner": "humanoid-path-planner", - "repo": "hpp-universal-robot", - "rev": "d9308abb98b864da8ab1041f66f6c78aef2e8d53", - "type": "github" - }, - "original": { - "owner": "humanoid-path-planner", - "ref": "release/5.1.0", - "repo": "hpp-universal-robot", - "type": "github" - } - }, - "hpp-util": { - "inputs": { - "flake-parts": [ - "hpp-manipulation", - "hpp-core", - "hpp-constraints", - "flake-parts" - ], - "nixpkgs": [ - "hpp-manipulation", - "hpp-core", - "hpp-constraints", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1719580825, - "narHash": "sha256-trfl8A+P7a1gnACnTXNK98TYWWDAOM3PKfkXxpC3X/8=", - "owner": "humanoid-path-planner", - "repo": "hpp-util", - "rev": "0504f15818a92c7a257cd6b60cd8b6092bd6dbfa", - "type": "github" - }, - "original": { - "owner": "humanoid-path-planner", - "ref": "release/5.1.0", - "repo": "hpp-util", - "type": "github" - } - }, "nixpkgs": { "locked": { - "lastModified": 1719674427, - "narHash": "sha256-z2hCpVyfnmYTA5iabf1SW4peFV9itE1JJcXNBKIFkDg=", - "owner": "nim65s", + "lastModified": 1727174734, + "narHash": "sha256-xa3TynMF5vaWonmTOg/Ejc1Fmo0GkQnCaVRVkBc3z2I=", + "owner": "gepetto", "repo": "nixpkgs", - "rev": "b81610d293fac26c2ec6a81718a979bc25f8c155", + "rev": "0ad139a0e4372abc12320c8c92ee90e0e5e296e1", "type": "github" }, "original": { - "owner": "nim65s", - "ref": "gepetto", + "owner": "gepetto", "repo": "nixpkgs", "type": "github" } @@ -283,7 +38,6 @@ "root": { "inputs": { "flake-parts": "flake-parts", - "hpp-manipulation": "hpp-manipulation", "nixpkgs": "nixpkgs" } } diff --git a/flake.nix b/flake.nix index b35b3f4..85d07d2 100644 --- a/flake.nix +++ b/flake.nix @@ -1,28 +1,17 @@ { description = "Implementation of a parser for hpp-manipulation"; - nixConfig = { - extra-substituters = [ "https://gepetto.cachix.org" ]; - extra-trusted-public-keys = [ "gepetto.cachix.org-1:toswMl31VewC0jGkN6+gOelO2Yom0SOHzPwJMY2XiDY=" ]; - }; - inputs = { - nixpkgs.url = "github:nim65s/nixpkgs/gepetto"; + nixpkgs.url = "github:gepetto/nixpkgs"; flake-parts = { url = "github:hercules-ci/flake-parts"; inputs.nixpkgs-lib.follows = "nixpkgs"; }; - hpp-manipulation = { - url = "github:humanoid-path-planner/hpp-manipulation"; - inputs.nixpkgs.follows = "nixpkgs"; - inputs.flake-parts.follows = "flake-parts"; - }; }; outputs = - inputs@{ flake-parts, ... }: - flake-parts.lib.mkFlake { inherit inputs; } { - imports = [ ]; + inputs: + inputs.flake-parts.lib.mkFlake { inherit inputs; } { systems = [ "x86_64-linux" "aarch64-linux" @@ -30,23 +19,28 @@ "x86_64-darwin" ]; perSystem = + { pkgs, self', ... }: { - self', - pkgs, - system, - ... - }: - { - packages = { - inherit (pkgs) cachix; - default = pkgs.callPackage ./. { - hpp-manipulation = inputs.hpp-manipulation.packages.${system}.default; - }; - }; devShells.default = pkgs.mkShell { inputsFrom = [ self'.packages.default ]; ROS_PACKAGE_PATH = "${pkgs.example-robot-data}/share"; }; + packages = { + default = self'.packages.hpp-manipulation-urdf; + hpp-manipulation-urdf = pkgs.hpp-manipulation-urdf.overrideAttrs (_: { + src = pkgs.lib.fileset.toSource { + root = ./.; + fileset = pkgs.lib.fileset.unions [ + ./CMakeLists.txt + ./doc + ./include + ./package.xml + ./src + ./tests + ]; + }; + }); + }; }; }; } From 161537447e8783597a3e3c401da32dff97d200a2 Mon Sep 17 00:00:00 2001 From: Guilhem Saurel Date: Mon, 7 Oct 2024 16:50:08 +0200 Subject: [PATCH 2/2] nix: temporary patches override --- flake.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/flake.nix b/flake.nix index 85d07d2..bfb9b42 100644 --- a/flake.nix +++ b/flake.nix @@ -28,6 +28,8 @@ packages = { default = self'.packages.hpp-manipulation-urdf; hpp-manipulation-urdf = pkgs.hpp-manipulation-urdf.overrideAttrs (_: { + # TODO: remove this after next release + patches = []; src = pkgs.lib.fileset.toSource { root = ./.; fileset = pkgs.lib.fileset.unions [