diff --git a/pkgs/development/octave-modules/octclip/default.nix b/pkgs/development/octave-modules/octclip/default.nix new file mode 100644 index 00000000000..43bcfcd7d84 --- /dev/null +++ b/pkgs/development/octave-modules/octclip/default.nix @@ -0,0 +1,29 @@ +{ buildOctavePackage +, lib +, fetchurl +}: + +buildOctavePackage rec { + pname = "octclip"; + version = "2.0.1"; + + src = fetchurl { + url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz"; + sha256 = "05ijh3izgfaan84n6zp690nap9vnz0zicjd0cgvd1c6askm7vxql"; + }; + + # The only compilation problem is that no formatting specifier was provided + # for the error function. Because errorText is a string, I provide such a + # formatting specifier. + patchPhase = '' + sed -i s/"error(errorText)"/"error(\"%s\", errorText)"/g src/*.cc + ''; + + meta = with lib; { + name = "GNU Octave Clipping Polygons Tool"; + homepage = "https://octave.sourceforge.io/octclip/index.html"; + license = with licenses; [ gpl3Plus ]; # modified BSD? + maintainers = with maintainers; [ KarlJoad ]; + description = "Perform boolean operations with polygons using the Greiner-Hormann algorithm"; + }; +} diff --git a/pkgs/top-level/octave-packages.nix b/pkgs/top-level/octave-packages.nix index b7492fcb1f3..a806f6c650e 100644 --- a/pkgs/top-level/octave-packages.nix +++ b/pkgs/top-level/octave-packages.nix @@ -159,6 +159,8 @@ makeScope newScope (self: ocl = callPackage ../development/octave-modules/ocl { }; + octclip = callPackage ../development/octave-modules/octclip { }; + signal = callPackage ../development/octave-modules/signal { }; symbolic = callPackage ../development/octave-modules/symbolic {