jiebi/CodeConvo huggingface dataset:
Change:
Trying to run and interacting with the GUI in any meaningful matter results in this error: Steps to reproduce the behavior: from the terminal press or . <!-- Please @ people who are in the list of the offending package or module. If in doubt, check for whoever last touched something. -- Please run and paste the result.
It seems I cannot add you as reviewer, but could you take a look at the fix in ?
I sadly cannot test it right now. The earliest is start of October.

Discussion:
<del> { lib, stdenv, fetchgit, autoreconfHook, pkg-config, gtk3, openbox, imlib2, libxml2, libstartup_notification, makeWrapper, libSM }: </del> <ins> { lib , stdenv , fetchgit , autoreconfHook , pkg-config , wrapGAppsHook , gtk3 , imlib2 , libSM , libstartup_notification , libxml2 , openbox }: </ins> stdenv.mkDerivation rec { pname = "obconf";

nativeBuildInputs = [ autoreconfHook <del> makeWrapper </del> pkg-config <ins> wrapGAppsHook </ins> ]; buildInputs = [

substituteInPlace configure.ac --replace 2.0.4 ${version} ''; <del> postInstall = '' wrapProgram $out/bin/obconf --prefix XDG_DATA_DIRS : ${openbox}/share/ ''; </del> meta = { description = "GUI configuration tool for openbox"; homepage = "http://openbox.org/wiki/ObConf";
Change:
crashes, even when installed into the system. Steps to reproduce the behavior: shell "nixpkgs#gnome-frog" -c frog Program doesn’t crash Please run and paste the result.
Interestingly, I was able to build and run the app in commit (I also rebuild it with just to double check). ! Though, it does fail to build and run in recent revisions (at least in ). It needs to apply to be able to build. Running it however gives me the following error: Not exactly familiar with GTK development but I'll see what I can do. Thank you for reporting!
Running it on my end gives me another error:
frog+main+Application' doesn't support property gobject-introspectionbuildInputsnativeBuildInputswrapGAppsHookGITYPELIB_PATH`, resulting in typelibs being picked up from the environment.
Thank you for the explanation, . Simply putting into did build and run the app (at least in the recent commits).

Discussion:
pkg-config glib wrapGAppsHook4 <ins> gobject-introspection </ins> ]; buildInputs = [ librsvg <del> gobject-introspection </del> libnotify libadwaita libportal
Change:
This is a continuation of my comment over at LnL and jaym on IRC prompted me to create a new issue. As we're unable to change the Erlang cookie path (), it might be better to make Riak's data dir its homedir, which is writable. I'm unsure if we should add to the service, or made that the user's an actual homedir. I suppose the latter would also allow scripts to run as this user, but that might not be required/desired. Install the Riak drv from the latest unstable (this would show the error)System: NixOS: Nix version: Nixpkgs version:

Discussion:
pkgs.bash ]; <ins> environment.HOME = "${cfg.dataDir}"; </ins> environment.RIAK_DATA_DIR = "${cfg.dataDir}"; environment.RIAK_LOG_DIR = "${cfg.logDir}"; environment.RIAK_ETC_DIR = "/etc/riak";
Change:
name: flexoptix-app current version: 5.12.1 desired version: 5.12.2 maintainers: Please tag this issue in your PR.
I'll provide a PR in a few minutes

Discussion:
{ lib, appimageTools, fetchurl, nodePackages }: let pname = "flexoptix-app"; <del> version = "5.12.1"; </del> <ins> version = "5.12.2"; </ins> src = fetchurl { name = "${pname}-${version}.AppImage"; url = "https://flexbox.reconfigure.me/download/electron/linux/x64/FLEXOPTIX%20App.${version}.AppImage"; <del> hash = "sha256-ugnJcSFgEEPJ9qxqmRGgW1fraE4E/HbbxpK/00TXPmw="; </del> <ins> hash = "sha256-XVswjIXnuWLRiXFc38lDhSvxYTQtYjs4V/AGdiNLX0g="; </ins> }; udevRules = fetchurl {
Change:
The configuration is ignored by when setting up the database as it is a configuration no longer used in the latest versions of See Steps to reproduce the behavior: up "dbhost" to "/run/postgresql", and "dbport" to anything else than 5432 (default pgsql port), let's say 5435 for example -setup.service will fail saying the file is not found In , the value should be set as instead, any field is ignored (and should then be deleted)
FYI

Discussion:
- `extraTrustedDomains` -> [`trusted_domains`](#opt-services.nextcloud.extraOptions.trusted_domains) and - `trustedProxies` -> [`trusted_proxies`](#opt-services.nextcloud.extraOptions.trusted_proxies). <ins> - The option [`services.nextcloud.config.dbport`] of the Nextcloud module was removed to match upstream. The port can be specified in [`services.nextcloud.config.dbhost`](#opt-services.nextcloud.config.dbhost). </ins> - The Yama LSM is now enabled by default in the kernel, which prevents ptracing non-child processes. This means you will not be able to attach gdb to an existing process, but will need to start that process from gdb (so it is a

(mkRemovedOptionModule [ "services" "nextcloud" "disableImagemagick" ] '' Use services.nextcloud.enableImagemagick instead. '') <ins> (mkRemovedOptionModule [ "services" "nextcloud" "config" "dbport" ] '' Add port to services.nextcloud.config.dbhost instead. '') </ins> (mkRenamedOptionModule [ "services" "nextcloud" "logLevel" ] [ "services" "nextcloud" "extraOptions" "loglevel" ]) (mkRenamedOptionModule

else if mysqlLocal then "localhost:/run/mysqld/mysqld.sock" else "localhost"; defaultText = "localhost"; <ins> example = "localhost:5000"; </ins> description = lib.mdDoc '' <del> Database host or socket path. </del> <ins> Database host (+port) or socket path. </ins> If [](#opt-services.nextcloud.database.createLocally) is true and [](#opt-services.nextcloud.config.dbtype) is either `pgsql` or `mysql`, defaults to the correct Unix socket instead. ''; }; <del> dbport = mkOption { type = with types; nullOr (either int str); default = null; description = lib.mdDoc "Database port."; }; </del> dbtableprefix = mkOption { type = types.nullOr types.str; default = null;

${optionalString cfg.caching.apcu "'memcache.local' => 'OCMemcacheAPCu',"} ${optionalString (c.dbname != null) "'dbname' => '${c.dbname}',"} ${optionalString (c.dbhost != null) "'dbhost' => '${c.dbhost}',"} <del> ${optionalString (c.dbport != null) "'dbport' => '${toString c.dbport}',"} </del> ${optionalString (c.dbuser != null) "'dbuser' => '${c.dbuser}',"} ${optionalString (c.dbtableprefix != null) "'dbtableprefix' => '${toString c.dbtableprefix}',"} ${optionalString (c.dbpassFile != null) ''

# will be omitted. ${if c.dbname != null then "--database-name" else null} = ''"${c.dbname}"''; ${if c.dbhost != null then "--database-host" else null} = ''"${c.dbhost}"''; <del> ${if c.dbport != null then "--database-port" else null} = ''"${toString c.dbport}"''; </del> ${if c.dbuser != null then "--database-user" else null} = ''"${c.dbuser}"''; "--database-pass" = ""$${dbpass.arg}""; "--admin-user" = ''"${c.adminuser}"'';
Change:
Project description Self-hosted file/code/media sharing website. Metadata homepage URL: source URL: license: GPLv3 platforms: Linux
to confirm you are keen on getting the fork, not original tool packaged:
Yes.

Discussion:
<ins> { buildGoModule , fetchFromGitHub , go-rice , lib }: buildGoModule rec { pname = "linx-server"; version = "unstable-2021-12-24"; src = fetchFromGitHub { owner = "zizzydizzymc"; repo = pname; rev = "3f503442f10fca68a3212975b23cf74d92c9988c"; hash = "sha256-tTHw/rIb2Gs5i5vZKsSgbUePIY7Np6HofBXu4TTjKbw="; }; # upstream tests are broken, see zizzydizzymc/linx-server#34 patches = [ ./test.patch ]; vendorHash = "sha256-/N3AXrPyENp3li4X86LNXsfBYbjJulk+0EAyogPNIpc="; nativeBuildInputs = [ go-rice ]; preBuild = "rice embed-go"; meta = with lib; { description = "Self-hosted file/code/media sharing website."; homepage = "https://put.icu"; license = licenses.gpl3Only; maintainers = with maintainers; [ urandom ]; }; } </ins>

<ins> diff --git a/server_test.go b/server_test.go index fc225ce..2df3608 100644 --- a/server_test.go +++ b/server_test.go @@ -446,63 +446,6 @@ func TestPostJSONUpload(t *testing.T) { } } -func TestPostJSONUploadMaxExpiry(t *testing.T) { -	mux := setup() -	Config.maxExpiry = 300 - -	// include 0 to test edge case -	// https://github.com/andreimarcu/linx-server/issues/111 -	testExpiries := []string{"86400", "-150", "0"} -	for _, expiry := range testExpiries { -		w := httptest.NewRecorder() - -		filename := generateBarename() + ".txt" - -		var b bytes.Buffer -		mw := multipart.NewWriter(&b) -		fw, err := mw.CreateFormFile("file", filename) -		if err != nil { -			t.Fatal(err) -		} - -		fw.Write([]byte("File content")) -		mw.Close() - -		req, err := http.NewRequest("POST", "/upload/", &b) -		req.Header.Set("Content-Type", mw.FormDataContentType()) -		req.Header.Set("Accept", "application/json") -		req.Header.Set("Linx-Expiry", expiry) -		if err != nil { -			t.Fatal(err) -		} - -		mux.ServeHTTP(w, req) - -		if w.Code != 200 { -			t.Log(w.Body.String()) -			t.Fatalf("Status code is not 200, but %d", w.Code) -		} - -		var myjson RespOkJSON -		err = json.Unmarshal([]byte(w.Body.String()), &myjson) -		if err != nil { -			t.Fatal(err) -		} - -		myExp, err := strconv.ParseInt(myjson.Expiry, 10, 64) -		if err != nil { -			t.Fatal(err) -		} - -		expected := time.Now().Add(time.Duration(Config.maxExpiry) * time.Second).Unix() -		if myExp != expected { -			t.Fatalf("File expiry is not %d but %s", expected, myjson.Expiry) -		} -	} - -	Config.maxExpiry = 0 -} - func TestPostExpiresJSONUpload(t *testing.T) { mux := setup() w := httptest.NewRecorder() @@ -1301,5 +1244,4 @@ func TestPutAndGetCLI(t *testing.T) { if !strings.HasPrefix(contentType, "text/plain") { t.Fatalf("Didn't receive file directly but %s", contentType) } - } </ins>

listmonk = callPackage ../servers/mail/listmonk { }; <ins> linx-server = callPackage ../servers/web-apps/linx-server {}; </ins> livepeer = callPackage ../servers/livepeer { }; lwan = callPackage ../servers/http/lwan { };
Change:
Project description Next-gen Clipboard Manager for Gnome Shell Metadata homepage URL: source URL: license: gpl2 platforms: linux

Discussion:
, gjs , gnome , gobject-introspection <ins> , gsound </ins> , hddtemp <ins> , libgda </ins> , liquidctl , lm_sensors , netcat-gnu

''; })) <ins> (patchExtension "pano@elhan.io" (old: { patches = [ (substituteAll { src = ./extensionOverridesPatches/pano_at_elhan.io.patch; inherit gsound libgda; }) ]; })) </ins> (patchExtension "screen-autorotate@kosmospredanie.yandex.ru" (old: { # Requires gjs # https://github.com/NixOS/nixpkgs/issues/164865

<ins> diff --git a/extension.js b/extension.js index 26561f2..01209e7 100644 --- a/extension.js +++ b/extension.js @@ -1,3 +1,5 @@ +imports.gi.GIRepository.Repository.prepend_search_path('@gsound@/lib/girepository-1.0') +imports.gi.GIRepository.Repository.prepend_search_path('@libgda@/lib/girepository-1.0') try { </ins>
Change:
in filebot tries to execute . This fails on NixOS: From strace: Steps to reproduce the behavior: previous output works. If applicable, add screenshots to help explain your problem. The filebot package is currently using , but I'm not sure if it's feasible to fix this with a patch. Should be used instead?

Discussion:
<del> { lib, stdenv, fetchurl, openjdk17, makeWrapper, autoPatchelfHook </del> <ins> { lib, stdenv, fetchurl, coreutils, openjdk17, makeWrapper, autoPatchelfHook </ins> , zlib, libzen, libmediainfo, curlWithGnuTls, libmms, glib }: <del> stdenv.mkDerivation rec { </del> <ins> let lanterna = fetchurl { url = "https://search.maven.org/remotecontent?filepath=com/googlecode/lanterna/lanterna/3.1.1/lanterna-3.1.1.jar"; hash = "sha256-7zxCeXYW5v9ritnvkwRpPKdgSptCmkT3HJOaNgQHUmQ="; }; in stdenv.mkDerivation rec { </ins> pname = "filebot"; <del> version = "5.0.1"; </del> <ins> version = "5.0.2"; </ins> src = fetchurl { <del> url = "https://web.archive.org/web/20220305095926/https://get.filebot.net/filebot/FileBot_${version}/FileBot_${version}-portable.tar.xz"; sha256 = "sha256-0d0+o8ZiF1m83AasjoxUDNtUSquy69wFY1m1oYeybFw="; </del> <ins> url = "https://web.archive.org/web/20230418205553/https://get.filebot.net/filebot/FileBot_${version}/FileBot_${version}-portable.tar.xz"; hash = "sha256-XnzBXZy/gNA8qf7XairoviRmdQiXHbW19BgbHL52SP0="; </ins> }; unpackPhase = "tar xvf $src";

buildInputs = [ zlib libzen libmediainfo curlWithGnuTls libmms glib ]; <ins> postPatch = '' # replace lanterna.jar to be able to specify `com.googlecode.lanterna.terminal.UnixTerminal.sttyCommand` cp ${lanterna} jar/lanterna.jar ''; </ins> dontBuild = true; installPhase = '' mkdir -p $out/opt $out/bin

# Filebot writes to $APP_DATA, which fails due to read-only filesystem. Using current user .local directory instead. substituteInPlace $out/opt/filebot.sh  --replace 'APP_DATA="$FILEBOT_HOME/data/$(id -u)"' 'APP_DATA=''${XDG_DATA_HOME:-$HOME/.local/share}/filebot/data'  <del> --replace '$FILEBOT_HOME/data/.license' '$APP_DATA/.license' </del> <ins> --replace '$FILEBOT_HOME/data/.license' '$APP_DATA/.license'  --replace '-jar "$FILEBOT_HOME/jar/filebot.jar"' '-Dcom.googlecode.lanterna.terminal.UnixTerminal.sttyCommand=${coreutils}/bin/stty -jar "$FILEBOT_HOME/jar/filebot.jar"' </ins> wrapProgram $out/opt/filebot.sh  --prefix PATH : ${lib.makeBinPath [ openjdk17 ]} # Expose the binary in bin to make runnable.
Change:
Regenerating the package set takes several hours so let's be quick when merging those to avoid rebasing. having a label autoassigned for the node updates would be nice.

Discussion:
- pkgs/development/nim-packages/**/* - pkgs/top-level/nim-packages.nix <ins> "6.topic: nodejs": - doc/languages-frameworks/javascript.section.md - pkgs/build-support/node/**/* - pkgs/development/node-packages/**/* - pkgs/development/tools/yarn/* - pkgs/development/tools/yarn2nix-moretea/**/* - pkgs/development/web/nodejs/* </ins> "6.topic: ocaml": - doc/languages-frameworks/ocaml.section.md - pkgs/development/compilers/ocaml/**/*
Change:
If a configured swapDevice is a file (instead of a partition), NixOS stage-1 waits for the device for up to 20 seconds, then times out and continues the boot: (Each '.' after the first three represents one second. In total it waits 20 seconds.) I think the problem is related to resumeDevices, which, unless configured by the user, defaults to using swapDevice as resume device. And, AFAICT, dealing with resume devices is done before the root filesystem is mounted. So it is obvious that a swapfile in the rootfs isn't found. Reboot and see for 20 seconds. System: NixOS 16.09
Maybe it's enough to add a check for in where the resumeDevices list is is built:
This patch does fix it for me:
Thanks! Backport to stable immediately, or wait a few days?
I did it already since the fix seems very straightforward (even if it's invalid the check is still redundant).

Discussion:
{ stdenv, fetchurl, gmp }: stdenv.mkDerivation rec { <del> name = "ikarus-0.0.3"; </del> <ins> version = "0.0.3"; name = "ikarus-${version}"; </ins> src = fetchurl { <del> url = "http://ikarus-scheme.org/${name}.tar.gz"; </del> <ins> url = "http://launchpad.net/ikarus/0.0/${version}/+download/${name}.tar.gz"; </ins> sha256 = "0d4vqwqfnj39l0gar2di021kcf6bfpkc6g40yapkmxm6sxpdcvjv"; };
Change:
Project description Stacer is an open source system optimizer and application monitor that helps users to manage entire system with different aspects, its an all in one system utility. Metadata homepage URL: source URL: license: GPL-3.0 platforms: linux

Discussion:
<ins> { lib , stdenv , fetchFromGitHub , cmake , qtcharts , qttools , wrapQtAppsHook }: stdenv.mkDerivation rec { pname = "stacer"; version = "1.1.0"; src = fetchFromGitHub { owner = "oguzhaninan"; repo = pname; rev = "v${version}"; sha256 = "0qndzzkbq6abapvwq202kva8j619jdn9977sbqmmfs9zkjz4mbsd"; }; postPatch = '' substituteInPlace stacer/Managers/app_manager.cpp  --replace 'qApp->applicationDirPath() + "/translations"'  'QStandardPaths::locate(QStandardPaths::AppDataLocation, "translations", QStandardPaths::LocateDirectory)' ''; buildInputs = [ qtcharts qttools ]; nativeBuildInputs = [ cmake wrapQtAppsHook ]; preConfigure = '' lrelease stacer/stacer.pro ''; postInstall = '' install -Dm644 ../translations/*.qm -t $out/share/stacer/translations ''; meta = with lib; { description = "Linux System Optimizer and Monitoring"; homepage = "https://github.com/oguzhaninan/stacer"; license = licenses.gpl3Only; maintainers = with maintainers; [ dit7ya ]; platforms = platforms.linux; }; } </ins>

stabber = callPackage ../misc/stabber { }; <ins> stacer = libsForQt5.callPackage ../tools/system/stacer { }; </ins> starcharts = callPackage ../servers/misc/starcharts { }; staticjinja = with python3.pkgs; toPythonApplication staticjinja;
Change:
I'm unable to launch from my application launcher due to it missing the  entry & Please run and paste the result.

Discussion:
<del> { lib, fetchFromGitHub, rustPlatform, alsa-lib, atk, cairo, dbus, gdk-pixbuf, glib, gtk3, pango, pkg-config }: </del> <ins> { lib, fetchFromGitHub, rustPlatform, alsa-lib, atk, cairo, dbus, gdk-pixbuf, glib, gtk3, pango, pkg-config, makeDesktopItem }: let desktopItem = makeDesktopItem { name = "Psst"; exec = "psst-gui"; comment = "Fast and multi-platform Spotify client with native GUI"; desktopName = "Psst"; type = "Application"; categories = [ "Audio" "AudioVideo" ]; icon = "psst"; terminal = false; }; in </ins> rustPlatform.buildRustPackage rec { pname = "psst"; version = "unstable-2022-05-19";

]; postInstall = '' <del> install -Dm444 psst-gui/assets/logo_512.png $out/share/icons/${pname}.png </del> <ins> mkdir -pv $out/share/icons/hicolor/512x512/apps install -Dm444 psst-gui/assets/logo_512.png $out/share/icons/hicolor/512x512/apps/${pname}.png mkdir -pv $out/share/applications ln -s ${desktopItem}/share/applications/* $out/share/applications </ins> ''; meta = with lib; {
Change:
<!-- Note that these are hard requirements --<!-- You can use the "Go to file" functionality on GitHub to find the package Then you can go to the history for this package Find the latest "packagename: oldversion -newversion" commit The "newversion" is the current version of the package --- <!-- Type the name of your package and try to find an open pull request for the package If you find an open pull request, you can review it! There's a high chance that you'll have the new version right away while helping the community! --- name: element-desktop, element-web <!-- The current version can be found easily with the same process as above for checking the master branch If an open PR is present for the package, take this version as the current one and link to the PR --current version: 1.11.3 () desired version: 1.11.4 maintainers: Please tag this issue in your PR.

Discussion:
{ <del> "version": "1.11.3", "desktopSrcHash": "DJqnMEN7KlRIGefMcZCp27xLnPEoSR8Ml5sN5JfqNSM=", "desktopYarnHash": "15wa3ggw1zcc17lfhzig5qw1bpiph7qd6h53qc5nahmfan4jv06a", "webSrcHash": "D95eVWTAvpStOZK0cjP2V8k1ZTnkGLsA0/woVGqDKEI=", "webYarnHash": "1i0djpnn545n83nmm0hm752b66ai1kh3irkfpvw98300c6q1m7fx" </del> <ins> "version": "1.11.4", "desktopSrcHash": "lIyx1gpPkuOGzHTbkHKNiGsVKEkKUIz/8sj/KZ9XK9o=", "desktopYarnHash": "0m0zzq2wbk7h7anjmj586089j2qgsd5cj99rmi2hmsmssq63fmwk", "webSrcHash": "bZ5SKydrQE+qLQEZ5qS7F1RC33nHZneUd8OwrV1H2T4=", "webYarnHash": "1yji94xcigz54bbhvssj2pgncw9fgal7mzw9h9bfwmny0pjh8c4p" </ins> }
Change:
<!-- Note that these are hard requirements --<!-- You can use the "Go to file" functionality on GitHub to find the package Then you can go to the history for this package Find the latest "packagename: oldversion -newversion" commit The "newversion" is the current version of the package --- <!-- Type the name of your package and try to find an open pull request for the package If you find an open pull request, you can review it! There's a high chance that you'll have the new version right away while helping the community! --- name: <!-- The current version can be found easily with the same process as above for checking the master branch If an open PR is present for the package, take this version as the current one and link to the PR --current version: desired version: (hope you are the correct maintainer, sorry if not) <!-- Search your package here: If no maintainer is listed for your package, tag the person that last updated the package --maintainers: mikroskeem sander Please tag this issue in your PR.

Discussion:
in stdenv.mkDerivation rec { pname = "eduke32"; <del> version = "20210910"; rev = "9603"; revExtra = "6c289cce4"; </del> <ins> version = "20221026"; rev = "10165"; revExtra = "a9c797dcb"; </ins> src = fetchurl { url = "https://dukeworld.com/eduke32/synthesis/${version}-${rev}-${revExtra}/eduke32_src_${version}-${rev}-${revExtra}.tar.xz"; <del> sha256 = "sha256-/NQMsmT9z2N3KWBrP8hlGngQKJUgSP+vrNoFqJscRCk="; </del> <ins> sha256 = "sha256-8xvIe+kVOu2VIZACHis04tvyrl1IRrt0tY8D04n6ZjU="; </ins> }; buildInputs = [

substituteInPlace source/glad/src/$f  --replace libGL.so ${libGL}/lib/libGL.so done <ins> substituteInPlace source/imgui/src/imgui_impl_sdl.cpp  --replace '#include <SDL.h>' '#include <SDL2/SDL.h>'  --replace '#include <SDL_syswm.h>' '#include <SDL2/SDL_syswm.h>'  --replace '#include <SDL_vulkan.h>' '#include <SDL2/SDL_vulkan.h>' </ins> ''; NIX_CFLAGS_COMPILE = "-I${lib.getDev SDL2}/include/SDL2 -I${lib.getDev SDL2_mixer}/include/SDL2";
Change:
Project description Raze is a fork of Build engine games backed by GZDoom tech and combines Duke Nukem 3D, Blood, Redneck Rampage, Shadow Warrior and Exhumed/Powerslave in a single package. It is also capable of playing Nam and WW2 GI. Metadata homepage URL: source URL: wiki URL: license: non-build code: , build engine & tools: platforms: linux The build instructions should be the same as for gzdoom, so I want to notify the maintainer of gzdoom if he/she is interested in this. Also I want to notify the maintainer of eduke32 because this project could more or less replace eduke32(?)
I can take a look, but my current schedule is pretty full. maybe at the end of the year? But if someone else is happy to do it, feel free and ping me on the PR
Might take a look next week. EDuke32 replacement probably won't do, because iirc HRP runs only on it etc.
Thank both of you to possibly have a look into this. I think you're right. But I see that three projects: Enhanced Resource Pack Fixes for Duke Nukem 3D Duke!Zone II Fixed Release of the got raze support, already. Possibly HRP will follow sometime...

Discussion:
<ins> { lib, stdenv, fetchFromGitHub, cmake, ninja, SDL2, zmusic, libvpx, pkg-config, makeWrapper, bzip2, gtk3, fluidsynth, openal, libGL, vulkan-loader, }: stdenv.mkDerivation (finalAttrs: { pname = "raze"; version = "1.10.2"; src = fetchFromGitHub { owner = "ZDoom"; repo = "Raze"; rev = finalAttrs.version; hash = "sha256-R3Sm/cibg+D2QPS4UisRp91xvz3Ine2BUR8jF5Rbj1g="; leaveDotGit = true; postFetch = '' cd $out git rev-parse HEAD > COMMIT rm -rf .git ''; }; nativeBuildInputs = [ cmake ninja pkg-config makeWrapper ]; buildInputs = [ SDL2 zmusic libvpx bzip2 gtk3 fluidsynth openal libGL vulkan-loader ]; cmakeFlags = [ (lib.cmakeFeature "CMAKE_BUILD_TYPE" "Release") (lib.cmakeBool "DYN_GTK" false) (lib.cmakeBool "DYN_OPENAL" false) ]; postPatch = '' substituteInPlace tools/updaterevision/gitinfo.h.in  --replace-fail "@Tag@" "${finalAttrs.version}"  --replace-fail "@Hash@" "$(cat COMMIT)"  --replace-fail "@Timestamp@" "1970-01-01 00:00:01 +0000" ''; postInstall = '' mv $out/bin/raze $out/share/raze makeWrapper $out/share/raze/raze $out/bin/raze install -Dm644 ../source/platform/posix/org.zdoom.Raze.256.png $out/share/pixmaps/org.zdoom.Raze.png install -Dm644 ../source/platform/posix/org.zdoom.Raze.desktop $out/share/applications/org.zdoom.Raze.desktop install -Dm644 ../soundfont/raze.sf2 $out/share/raze/soundfonts/raze.sf2 ''; meta = { description = "Build engine port backed by GZDoom tech"; longDescription = '' Raze is a fork of Build engine games backed by GZDoom tech and combines Duke Nukem 3D, Blood, Redneck Rampage, Shadow Warrior and Exhumed/Powerslave in a single package. It is also capable of playing Nam and WW2 GI. ''; homepage = "https://github.com/ZDoom/Raze"; license = lib.licenses.gpl2Only; maintainers = with lib.maintainers; [ qubitnano ]; mainProgram = "raze"; platforms = [ "x86_64-linux" ]; }; }) </ins>