Merge pull request #138042 from astro/trenchbroom

trenchbroom, ericw-tools: init
This commit is contained in:
Sandro 2021-09-16 19:29:57 +02:00 committed by GitHub
commit 3b66ca006c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 119 additions and 0 deletions

View File

@ -0,0 +1,48 @@
{ lib, stdenv, fetchFromGitHub
, gtest, fmt
, cmake, ninja, installShellFiles
}:
stdenv.mkDerivation rec {
pname = "ericw-tools";
version = "0.18.1";
src = fetchFromGitHub {
owner = "ericwa";
repo = "ericw-tools";
rev = "v${version}";
sha256 = "11sap7qv0rlhw8q25azvhgjcwiql3zam09q0gim3i04cg6fkh0vp";
};
postUnpack = ''
pushd source/3rdparty
ln -s ${fmt.src} fmt
ln -s ${gtest.src} googletest
popd
'';
nativeBuildInputs = [ cmake ninja installShellFiles ];
outputs = [ "out" "doc" "man" ];
installPhase = ''
runHook preInstall
mkdir -p $out/bin
for TOOL in bspinfo bsputil light qbsp vis ; do
cp -a $TOOL/$TOOL $out/bin/
done
installManPage ../man/*.?
mkdir -p $doc/share/doc/ericw-tools
cp -a ../README.md ../changelog.txt $doc/share/doc/ericw-tools/
runHook postInstall
'';
meta = with lib; {
homepage = "https://ericwa.github.io/ericw-tools/";
description = "Map compile tools for Quake and Hexen 2";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ astro ];
};
}

View File

@ -0,0 +1,65 @@
{ lib, stdenv, fetchFromGitHub
, cmake, ninja, git, pandoc
, libGL, libGLU, libXxf86vm, freeimage
, qtbase, wrapQtAppsHook
, copyDesktopItems, makeDesktopItem
}:
stdenv.mkDerivation rec {
pname = "TrenchBroom";
version = "2021.1";
src = fetchFromGitHub {
owner = "TrenchBroom";
repo = "TrenchBroom";
rev = "v${version}";
sha256 = "06j68kp7g57hclyp8ilh2wd4vr5w8r718cicdp1cap48fcxlqfxv";
fetchSubmodules = true;
};
postPatch = ''
substituteInPlace common/src/Version.h.in \
--subst-var-by APP_VERSION_YEAR ${lib.versions.major version} \
--subst-var-by APP_VERSION_NUMBER ${lib.versions.minor version} \
--subst-var-by GIT_DESCRIBE v${version}
'';
nativeBuildInputs = [ cmake git pandoc wrapQtAppsHook copyDesktopItems ];
buildInputs = [ libGL libGLU libXxf86vm freeimage qtbase ];
QT_PLUGIN_PATH = "${qtbase}/${qtbase.qtPluginPrefix}";
QT_QPA_PLATFORM = "offscreen";
ninjaFlags = [
"TrenchBroom"
];
preBuild = "export HOME=$(mktemp -d)";
postInstall = ''
pushd $out/share/TrenchBroom/icons
for F in icon_*.png; do
SIZE=$(echo $F|sed -e s/icon_// -e s/.png//)
DIR=$out/share/icons/hicolor/$SIZE"x"$SIZE/apps
mkdir -p $DIR
ln -s ../../../../TrenchBroom/icons/$F $DIR/trenchbroom.png
done
popd
'';
desktopItems = [
(makeDesktopItem {
name = "TrenchBroom";
desktopName = "TrenchBroom level editor";
icon = "trenchbroom";
comment = meta.description;
categories = "Development";
exec = "trenchbroom";
})
];
meta = with lib; {
homepage = "https://trenchbroom.github.io/";
description = "Level editor for Quake-engine based games";
license = licenses.gpl3Only;
maintainers = with maintainers; [ astro ];
};
}

View File

@ -4714,6 +4714,8 @@ with pkgs;
endlessh = callPackage ../servers/endlessh { };
ericw-tools = callPackage ../applications/misc/ericw-tools { };
cryfs = callPackage ../tools/filesystems/cryfs { };
encfs = callPackage ../tools/filesystems/encfs {
@ -9712,6 +9714,10 @@ with pkgs;
trebleshot = libsForQt5.callPackage ../applications/networking/trebleshot { };
trenchbroom = libsForQt5.callPackage ../applications/misc/trenchbroom {
inherit (xorg) libXxf86vm;
};
trickle = callPackage ../tools/networking/trickle {};
inherit (nodePackages) triton;