diff --git a/pkgs/tools/compression/flips/default.nix b/pkgs/tools/compression/flips/default.nix new file mode 100644 index 000000000000..76676624fc32 --- /dev/null +++ b/pkgs/tools/compression/flips/default.nix @@ -0,0 +1,27 @@ +{ stdenv, fetchFromGitHub, gtk3, libdivsufsort, pkg-config, wrapGAppsHook }: + +stdenv.mkDerivation { + pname = "flips"; + version = "unstable-2020-10-02"; + + src = fetchFromGitHub { + owner = "Alcaro"; + repo = "Flips"; + rev = "5a3d2012b8ea53ae777c24b8ac4edb9a6bdb9761"; + sha256 = "1ksh9j1n5z8b78yd7gjxswndsqnb1azp84xk4rc0p7zq127l0fyy"; + }; + + nativeBuildInputs = [ pkg-config wrapGAppsHook ]; + buildInputs = [ gtk3 libdivsufsort ]; + patches = [ ./use-system-libdivsufsort.patch ]; + makeFlags = [ "PREFIX=${placeholder "out"}" ]; + buildPhase = "./make.sh"; + + meta = with stdenv.lib; { + description = "A patcher for IPS and BPS files"; + homepage = "https://github.com/Alcaro/Flips"; + license = licenses.gpl3Plus; + maintainers = [ maintainers.xfix ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/tools/compression/flips/use-system-libdivsufsort.patch b/pkgs/tools/compression/flips/use-system-libdivsufsort.patch new file mode 100644 index 000000000000..aa741decb019 --- /dev/null +++ b/pkgs/tools/compression/flips/use-system-libdivsufsort.patch @@ -0,0 +1,15 @@ +diff --git a/Makefile b/Makefile +index c9d8b6d..9d66b0b 100644 +--- a/Makefile ++++ b/Makefile +@@ -79,9 +79,7 @@ endif + MOREFLAGS := $(CFLAGS_$(TARGET)) + + +-DIVSUF := libdivsufsort-2.0.1 +-SOURCES += $(DIVSUF)/lib/divsufsort.c $(DIVSUF)/lib/sssort.c $(DIVSUF)/lib/trsort.c +-MOREFLAGS += -I$(DIVSUF)/include -DHAVE_CONFIG_H -D__STDC_FORMAT_MACROS ++MOREFLAGS += -ldivsufsort + + ifeq ($(TARGET),gtk) + CFLAGS_G += -fopenmp diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 60f13ff9ec37..f39d565d2325 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3742,6 +3742,8 @@ in flamegraph = callPackage ../development/tools/flamegraph { }; + flips = callPackage ../tools/compression/flips { }; + flvtool2 = callPackage ../tools/video/flvtool2 { }; fmbt = callPackage ../development/tools/fmbt {