Skip to content

Commit

Permalink
obj2voxel: init at 1.3.4
Browse files Browse the repository at this point in the history
  • Loading branch information
Isidor Zeuner committed Dec 15, 2023
1 parent 87e5690 commit d6a9b8e
Show file tree
Hide file tree
Showing 2 changed files with 86 additions and 0 deletions.
13 changes: 13 additions & 0 deletions pkgs/by-name/ob/obj2voxel/1.3.4-fix-type-mismatch.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
diff -Naurd x/voxelio/src/stream.cpp y/voxelio/src/stream.cpp
--- x/voxelio/src/stream.cpp 2023-09-11 07:50:51.522074934 +0000
+++ y/voxelio/src/stream.cpp 2023-09-11 08:02:19.105142327 +0000
@@ -117,7 +117,8 @@
return;
}

- size_t overwriteLength = std::min(size() - pos, length);
+ size_t const remaining = size() - pos;
+ size_t overwriteLength = std::min(remaining, length);
size_t pushLength = length - overwriteLength;

auto overwriteTarget = static_cast<std::vector<u8> *>(sink)->begin() + static_cast<ptrdiff_t>(pos);
73 changes: 73 additions & 0 deletions pkgs/by-name/ob/obj2voxel/package.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
{ lib
, stdenv
, fetchFromGitHub
, fetchpatch
, cmake
}:

stdenv.mkDerivation (finalAttrs: {
pname = "obj2voxel";
version = "1.3.4";

src = (
fetchFromGitHub {
owner = "Eisenwave";
repo = finalAttrs.pname;
rev = "refs/tags/v${finalAttrs.version}";
fetchSubmodules = true;
hash = "sha256-FkGQjYm15le1Na+2U1TgK4nNOZNs5bME5J87pjVFpDs=";
}
).overrideAttrs (
_: {
GIT_CONFIG_COUNT = 1;
GIT_CONFIG_KEY_0 = "url.https://github.com/.insteadOf";
GIT_CONFIG_VALUE_0 = "[email protected]:";
}
);

patches = [
# pull missing definitions (https://github.com/Eisenwave/voxel-io/pull/3)
(
fetchpatch {
name = "add-std-includes.patch";
url = "https://github.com/Eisenwave/voxel-io/compare/d902568de2d4afda254e533a5ee9e4ad5fe7d2be...2f800f6aca8acd0cc18f9625b411c6dc2956f2ea.patch";
hash = "sha256-iENsPDZ7OY4r2Atonv8F2UNlm424BkG9TfwJb4dNi2o=";
stripLen = 1;
extraPrefix = "voxelio/";
}
)
# fix build on aarch64-darwin (https://github.com/Eisenwave/voxel-io/pull/4)
(
fetchpatch {
name = "fix-aarch64-darwin-type-mismatch.patch";
url = "https://github.com/Eisenwave/voxel-io/compare/d902568de2d4afda254e533a5ee9e4ad5fe7d2be...669ac7e9c640fa92bc1989cc7811afbed9bbd8b8.patch";
hash = "sha256-JHfeB3t5BatP/mWuHx/o1GB9mhiabY1Vjq5ogPcICWI=";
stripLen = 1;
extraPrefix = "voxelio/";
}
)
# already fixed in upstream git head
./1.3.4-fix-type-mismatch.patch
];

postPatch = ''
echo 'install(TARGETS obj2voxel-cli DESTINATION ''${CMAKE_INSTALL_PREFIX}/bin)' >> CMakeLists.txt
'';

cmakeFlags = [
"-DBUILD_SHARED_LIBS=${if stdenv.targetPlatform.isStatic then "OFF" else "ON"}"
];

strictDeps = true;

nativeBuildInputs = [ cmake ];

meta = with lib; {
description = "Convert OBJ and STL files to voxels, with support for textures";
mainProgram = "obj2voxel";
homepage = "https://github.com/Eisenwave/obj2voxel";
license = licenses.mit;
platforms = platforms.unix;
maintainers = [ maintainers.gm6k ];
};
})

0 comments on commit d6a9b8e

Please sign in to comment.