diff options
author | yuuko <yuuko@partyvan.io> | 2025-09-02 13:51:48 -0700 |
---|---|---|
committer | yuuko <yuuko@partyvan.io> | 2025-09-02 13:51:48 -0700 |
commit | ad61eeefebb1ebf3d71d5e3fed2bad3a11c08429 (patch) | |
tree | d8f5a9fd35cc98f3e2e7062a1e90f4cfee7bba7d /srcds-pkgs/vtf-thumbnailer | |
parent | 358710fa4d236f3affba42cf91af338946a91e1f (diff) |
vtf-thumbnailer: init @ 0.2.0
Diffstat (limited to 'srcds-pkgs/vtf-thumbnailer')
-rw-r--r-- | srcds-pkgs/vtf-thumbnailer/default.nix | 92 | ||||
-rw-r--r-- | srcds-pkgs/vtf-thumbnailer/fix-cmake-outputs.patch | 30 | ||||
-rw-r--r-- | srcds-pkgs/vtf-thumbnailer/fix-miniz-cmake-dirs.patch | 28 |
3 files changed, 150 insertions, 0 deletions
diff --git a/srcds-pkgs/vtf-thumbnailer/default.nix b/srcds-pkgs/vtf-thumbnailer/default.nix new file mode 100644 index 0000000..4fef9c1 --- /dev/null +++ b/srcds-pkgs/vtf-thumbnailer/default.nix @@ -0,0 +1,92 @@ +{ lib, stdenv, fetchFromGitHub, fetchgit +, cmake, pkg-config, makeWrapper +, bzip2, xz, zstd, zlib-ng +, openssl, cryptopp +}: +stdenv.mkDerivation (self: { + pname = "vtf-thumbnailer"; + version = "0.2.0"; + + src = fetchFromGitHub { + owner = "craftablescience"; + repo = self.pname; + tag = "v${self.version}"; + fetchSubmodules = true; + hash = "sha256-cK8S9ozZXCzo8WWWazafyiPi+7YHWd950xODPd9x/aE="; + }; + + cryptopp-src = fetchgit { + url = "https://github.com/weidai11/cryptopp"; + tag = "CRYPTOPP_8_9_0"; + hash = "sha256-HV+afSFkiXdy840JbHBTR8lLL0GMwsN3QdwaoQmicpQ="; + }; + + zlib-src = fetchgit { + url = "https://github.com/zlib-ng/zlib-ng"; + tag = "2.2.5"; + hash = "sha256-VB4aegnZCZut9H/Hu2PBwwldpbM7E67D5QFYCKgq3mg="; + }; + + bzip2-src = fetchgit { + url = "https://gitlab.com/bzip2/bzip2"; + rev = "66c46b8c9436613fd81bc5d03f63a61933a4dcc3"; + hash = "sha256-JuwmLBwtUPW9Wt31wIX5NMCu0VTxt16XaBQ2c5rFTY4="; + }; + + xz-src = fetchgit { + url = "https://github.com/tukaani-project/xz"; + tag = "v5.8.1"; + hash = "sha256-29w1K3zC58oFkBvSdwpKu694S+42FxzqOtWBpS7iJ+A="; + }; + + zstd-src = fetchgit { + url = "https://github.com/facebook/zstd"; + tag = "v1.5.7"; + hash = "sha256-tNFWIT9ydfozB8dWcmTMuZLCQmQudTFJIkSr0aG7S44="; + }; + + nativeBuildInputs = [ + cmake + makeWrapper + ]; + + buildInputs = [ + bzip2 + cryptopp + openssl + pkg-config + xz + zlib-ng + zstd + ]; + + patches = [ + ./fix-miniz-cmake-dirs.patch + ./fix-cmake-outputs.patch + ]; + cmakeFlags = with self; [ + (lib.cmakeFeature "CRYPTOPP_SOURCES" "${cryptopp-src}") + (lib.cmakeFeature "FETCHCONTENT_SOURCE_DIR_ZLIB" "${zlib-src}") + (lib.cmakeFeature "FETCHCONTENT_SOURCE_DIR_BZIP2" "/build/bzip2tmp") + (lib.cmakeFeature "FETCHCONTENT_SOURCE_DIR_LIBLZMA" "${xz-src}") + (lib.cmakeFeature "FETCHCONTENT_SOURCE_DIR_ZSTD" "${zstd-src}") + (lib.cmakeBool "MZ_OPENSSL" true) + (lib.cmakeBool "MARETF_BUILD_INSTALLER" true) + (lib.cmakeFeature "CPACK_GENERATOR" "DEB") + ]; + + postUnpack = '' + cp -r ${self.bzip2-src} /build/bzip2tmp + chmod -R +w /build/bzip2tmp + ''; + + LANG = "C.UTF-8"; + + meta = { + description = "Adds previews for VTF files in your file explorer of choice on Windows and Linux"; + homepage = "https://github.com/craftablescience/vtf-thumbnailer"; + license = lib.licenses.mit; + platforms = [ "x86_64-linux" ]; + changelog = "https://github.com/craftablescience/vtf-thumbnailer/releases/tag/v${self.version}"; + }; +}) diff --git a/srcds-pkgs/vtf-thumbnailer/fix-cmake-outputs.patch b/srcds-pkgs/vtf-thumbnailer/fix-cmake-outputs.patch new file mode 100644 index 0000000..9d43063 --- /dev/null +++ b/srcds-pkgs/vtf-thumbnailer/fix-cmake-outputs.patch @@ -0,0 +1,30 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 37b256f..6f98eb4 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -118,14 +118,14 @@ else() + "${CMAKE_CURRENT_SOURCE_DIR}/src/common.h" + "${CMAKE_CURRENT_SOURCE_DIR}/src/linux.cpp") + target_link_libraries(${PROJECT_NAME} PUBLIC argparse::argparse) +- install(TARGETS ${PROJECT_NAME} DESTINATION .) ++ install(TARGETS ${PROJECT_NAME} DESTINATION "${CMAKE_INSTALL_PREFIX}/bin") + + # MIME type info + configure_file( + "${CMAKE_CURRENT_SOURCE_DIR}/installer/linux/mime-type.in" + "${CMAKE_CURRENT_SOURCE_DIR}/installer/linux/generated/mime-type.xml") + install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/installer/linux/generated/mime-type.xml" +- DESTINATION "/usr/share/mime/packages" ++ DESTINATION "${CMAKE_INSTALL_PREFIX}/share/mime/packages" + RENAME "${PROJECT_NAME}.xml") + + # Thumbnailer +@@ -133,7 +133,7 @@ else() + "${CMAKE_CURRENT_SOURCE_DIR}/installer/linux/thumbnailer.in" + "${CMAKE_CURRENT_SOURCE_DIR}/installer/linux/generated/${PROJECT_NAME}.thumbnailer") + install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/installer/linux/generated/${PROJECT_NAME}.thumbnailer" +- DESTINATION "/usr/share/thumbnailers") ++ DESTINATION "${CMAKE_INSTALL_PREFIX}/share/thumbnailers") + endif() + endif() + cs_configure_target(${PROJECT_NAME}) diff --git a/srcds-pkgs/vtf-thumbnailer/fix-miniz-cmake-dirs.patch b/srcds-pkgs/vtf-thumbnailer/fix-miniz-cmake-dirs.patch new file mode 100644 index 0000000..982aec8 --- /dev/null +++ b/srcds-pkgs/vtf-thumbnailer/fix-miniz-cmake-dirs.patch @@ -0,0 +1,28 @@ +--- a/ext/sourcepp/ext/miniz/miniz.pc.in ++++ b/ext/sourcepp/ext/miniz/miniz.pc.in +@@ -1,13 +1,12 @@ +-prefix=@CMAKE_INSTALL_PREFIX@ +-exec_prefix=${prefix} +-libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@ +-includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@/@PROJECT_NAME@ +- +-Name: @PROJECT_NAME@ +-Description: @PROJECT_DESCRIPTION@ +-Version: @MINIZ_VERSION@ +-URL: @PROJECT_HOMEPAGE_URL@ +- +-Requires: +-Libs: -L${libdir} -lminiz +-Cflags: -I${includedir} ++prefix=@CMAKE_INSTALL_PREFIX@ ++libdir=@CMAKE_INSTALL_FULL_LIBDIR@ ++includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@/@PROJECT_NAME@ ++ ++Name: @PROJECT_NAME@ ++Description: @PROJECT_DESCRIPTION@ ++Version: @MINIZ_VERSION@ ++URL: @PROJECT_HOMEPAGE_URL@ ++ ++Requires: ++Libs: -L${libdir} -lminiz ++Cflags: -I${includedir} |