diff options
Diffstat (limited to 'pkgs/applications/misc')
9 files changed, 315 insertions, 70 deletions
diff --git a/pkgs/applications/misc/HentaiAtHome/default.nix b/pkgs/applications/misc/HentaiAtHome/default.nix index d5023c64fd1bc..7c1cba95f30d8 100644 --- a/pkgs/applications/misc/HentaiAtHome/default.nix +++ b/pkgs/applications/misc/HentaiAtHome/default.nix @@ -10,11 +10,11 @@ }: stdenvNoCC.mkDerivation rec { pname = "HentaiAtHome"; - version = "1.6.2"; + version = "1.6.3"; src = fetchzip { url = "https://repo.e-hentai.org/hath/HentaiAtHome_${version}_src.zip"; - hash = "sha256-ioL/GcnbYjt1IETH8521d1TcLGtENdFzceJui1ywXTY="; + hash = "sha512-kBB5mn9MwpkZ0z+Fl5ABs4YWBkXkMRcADYSAPkeifyhbYQQPOnijXKYZCkzE4UB3uQ1j6Kj6WnpO/4jquYEiOQ=="; stripRoot = false; }; diff --git a/pkgs/applications/misc/bambu-studio/0001-not-for-upstream-CMakeLists-Link-against-webkit2gtk-.patch b/pkgs/applications/misc/bambu-studio/0001-not-for-upstream-CMakeLists-Link-against-webkit2gtk-.patch new file mode 100644 index 0000000000000..15f1bf8f0b59e --- /dev/null +++ b/pkgs/applications/misc/bambu-studio/0001-not-for-upstream-CMakeLists-Link-against-webkit2gtk-.patch @@ -0,0 +1,34 @@ +From 7eed499898226222a949a792e0400ec10db4a1c9 Mon Sep 17 00:00:00 2001 +From: Zhaofeng Li <hello@zhaofeng.li> +Date: Tue, 22 Nov 2022 13:00:39 -0700 +Subject: [PATCH] [not for upstream] CMakeLists: Link against webkit2gtk in + libslic3r_gui + +WebView.cpp uses symbols from webkitgtk directly. Upstream setup +links wxGTK statically so webkitgtk is already pulled in. + +> /nix/store/039g378vc3pc3dvi9dzdlrd0i4q93qwf-binutils-2.39/bin/ld: slic3r/liblibslic3r_gui.a(WebView.cpp.o): undefined reference to symbol 'webkit_web_view_run_javascript_finish' +> /nix/store/039g378vc3pc3dvi9dzdlrd0i4q93qwf-binutils-2.39/bin/ld: /nix/store/8yvy428jy2nwq4dhmrcs7gj5r27a2pv6-webkitgtk-2.38.2+abi=4.0/lib/libwebkit2gtk-4.0.so.37: error adding symbols: DSO missing from command line +--- + src/CMakeLists.txt | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 9c5cb96..e92a0e3 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -175,6 +175,11 @@ if (WIN32) + target_link_libraries(BambuStudio_app_gui PRIVATE boost_headeronly) + endif () + ++# We link against webkit2gtk symbols in src/slic3r/GUI/Widgets/WebView.cpp ++if (CMAKE_SYSTEM_NAME STREQUAL "Linux") ++ target_link_libraries(libslic3r_gui "-lwebkit2gtk-4.0") ++endif () ++ + # Link the resources dir to where Slic3r GUI expects it + set(output_dlls_Release "") + set(output_dlls_Debug "") +-- +2.38.1 + diff --git a/pkgs/applications/misc/bambu-studio/default.nix b/pkgs/applications/misc/bambu-studio/default.nix new file mode 100644 index 0000000000000..1455558dcc2e0 --- /dev/null +++ b/pkgs/applications/misc/bambu-studio/default.nix @@ -0,0 +1,175 @@ +{ stdenv +, lib +, openexr +, jemalloc +, c-blosc +, binutils +, fetchFromGitHub +, cmake +, pkg-config +, wrapGAppsHook +, boost179 +, cereal +, cgal_5 +, curl +, dbus +, eigen +, expat +, gcc-unwrapped +, glew +, glfw +, glib +, glib-networking +, gmp +, gstreamer +, gst-plugins-base +, gst-plugins-bad +, gst-plugins-good +, gtest +, gtk3 +, hicolor-icon-theme +, ilmbase +, libpng +, mesa +, mpfr +, nlopt +, opencascade-occt +, openvdb +, pcre +, qhull +, systemd +, tbb_2021_8 +, webkitgtk +, wxGTK31 +, xorg +, fetchpatch +, withSystemd ? stdenv.isLinux +}: +let + wxGTK31' = wxGTK31.overrideAttrs (old: { + configureFlags = old.configureFlags ++ [ + # Disable noisy debug dialogs + "--enable-debug=no" + ]; + }); + openvdb_tbb_2021_8 = openvdb.overrideAttrs (old: rec { + buildInputs = [ openexr boost179 tbb_2021_8 jemalloc c-blosc ilmbase ]; + }); +in +stdenv.mkDerivation rec { + pname = "bambu-studio"; + version = "01.08.04.51"; + + src = fetchFromGitHub { + owner = "bambulab"; + repo = "BambuStudio"; + rev = "v${version}"; + hash = "sha256-rqD1+3Q4ZUBgS57iCItuLX6ZMP7VQuedaJmgKB1szgs="; + }; + + nativeBuildInputs = [ + cmake + pkg-config + wrapGAppsHook + ]; + + buildInputs = [ + binutils + boost179 + cereal + cgal_5 + curl + dbus + eigen + expat + gcc-unwrapped + glew + glfw + glib + glib-networking + gmp + gstreamer + gst-plugins-base + gst-plugins-bad + gst-plugins-good + gtk3 + hicolor-icon-theme + ilmbase + libpng + mesa.osmesa + mpfr + nlopt + opencascade-occt + openvdb_tbb_2021_8 + pcre + tbb_2021_8 + webkitgtk + wxGTK31' + xorg.libX11 + ] ++ lib.optionals withSystemd [ + systemd + ] ++ checkInputs; + + patches = [ + # Fix for webkitgtk linking + ./0001-not-for-upstream-CMakeLists-Link-against-webkit2gtk-.patch + ]; + + doCheck = true; + checkInputs = [ gtest ]; + + separateDebugInfo = true; + + # The build system uses custom logic - defined in + # cmake/modules/FindNLopt.cmake in the package source - for finding the nlopt + # library, which doesn't pick up the package in the nix store. We + # additionally need to set the path via the NLOPT environment variable. + NLOPT = nlopt; + + # Disable compiler warnings that clutter the build log. + # It seems to be a known issue for Eigen: + # http://eigen.tuxfamily.org/bz/show_bug.cgi?id=1221 + NIX_CFLAGS_COMPILE = "-Wno-ignored-attributes"; + + # prusa-slicer uses dlopen on `libudev.so` at runtime + NIX_LDFLAGS = lib.optionalString withSystemd "-ludev"; + + # TODO: macOS + prePatch = '' + # Since version 2.5.0 of nlopt we need to link to libnlopt, as libnlopt_cxx + # now seems to be integrated into the main lib. + sed -i 's|nlopt_cxx|nlopt|g' cmake/modules/FindNLopt.cmake + ''; + + cmakeFlags = [ + "-DSLIC3R_STATIC=0" + "-DSLIC3R_FHS=1" + "-DSLIC3R_GTK=3" + + # BambuStudio-specific + "-DBBL_RELEASE_TO_PUBLIC=1" + "-DBBL_INTERNAL_TESTING=0" + "-DDEP_WX_GTK3=ON" + "-DSLIC3R_BUILD_TESTS=0" + "-DCMAKE_CXX_FLAGS=-DBOOST_LOG_DYN_LINK" + ]; + + preFixup = '' + gappsWrapperArgs+=( + --prefix LD_LIBRARY_PATH : "$out/lib" + + # Fixes intermittent crash + # The upstream setup links in glew statically + --prefix LD_PRELOAD : "${glew.out}/lib/libGLEW.so" + ) + ''; + + meta = with lib; { + description = "PC Software for BambuLab's 3D printers"; + homepage = "https://github.com/bambulab/BambuStudio"; + license = licenses.agpl3; + maintainers = with maintainers; [ zhaofengli ]; + mainProgram = "bambu-studio"; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/misc/bambu-studio/orca-slicer.nix b/pkgs/applications/misc/bambu-studio/orca-slicer.nix new file mode 100644 index 0000000000000..251423d24d357 --- /dev/null +++ b/pkgs/applications/misc/bambu-studio/orca-slicer.nix @@ -0,0 +1,24 @@ +{ lib, fetchFromGitHub, makeDesktopItem, bambu-studio }: +let + orca-slicer = bambu-studio.overrideAttrs (finalAttrs: previousAttrs: { + version = "1.9.0"; + pname = "orca-slicer"; + + src = fetchFromGitHub { + owner = "SoftFever"; + repo = "OrcaSlicer"; + rev = "v${finalAttrs.version}"; + hash = "sha256-v6REKDlFhyW6kEEfpcm8Sjezkh6uLaBusMuVk8n3Ts0="; + }; + + meta = with lib; { + description = "G-code generator for 3D printers (Bambu, Prusa, Voron, VzBot, RatRig, Creality, etc"; + homepage = "https://github.com/SoftFever/OrcaSlicer"; + license = licenses.agpl3Only; + maintainers = with maintainers; [ zhaofengli ovlach pinpox ]; + mainProgram = "orca-slicer"; + platforms = platforms.linux; + }; + }); +in +orca-slicer diff --git a/pkgs/applications/misc/confy/default.nix b/pkgs/applications/misc/confy/default.nix index b8e57bd84b952..5d9a97d95425f 100644 --- a/pkgs/applications/misc/confy/default.nix +++ b/pkgs/applications/misc/confy/default.nix @@ -1,9 +1,9 @@ -{ blueprint-compiler +{ lib +, blueprint-compiler , desktop-file-utils , fetchFromSourcehut , gobject-introspection , gtk4 -, lib , libadwaita , libnotify , meson @@ -14,25 +14,25 @@ , wrapGAppsHook }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "confy"; - version = "0.7.0"; + version = "0.7.1"; src = fetchFromSourcehut { owner = "~fabrixxm"; repo = "confy"; - rev = version; - hash = "sha256-q8WASTNbiBuKb2tPQBmUL9ji60PRAPnYOTYxnUn0MAw="; + rev = finalAttrs.version; + hash = "sha256-BXQDnRRt2Kuqc1Gwx6Ba6BoEWhICTCsWWkGlBsStyT8="; }; nativeBuildInputs = [ blueprint-compiler desktop-file-utils + gobject-introspection meson ninja pkg-config wrapGAppsHook - gobject-introspection ]; buildInputs = [ @@ -50,10 +50,11 @@ stdenv.mkDerivation rec { ''; meta = with lib; { + changelog = "https://git.sr.ht/~fabrixxm/confy/refs/${finalAttrs.version}"; description = "Conferences schedule viewer"; homepage = "https://confy.kirgroup.net/"; - changelog = "https://git.sr.ht/~fabrixxm/confy/refs/${version}"; - license = licenses.gpl3; + license = licenses.gpl3Plus; + mainProgram = "confy"; maintainers = with maintainers; [ michaelgrahamevans ]; }; -} +}) diff --git a/pkgs/applications/misc/input-leap/default.nix b/pkgs/applications/misc/input-leap/default.nix index 810dd76db68e7..567bb08fb911d 100644 --- a/pkgs/applications/misc/input-leap/default.nix +++ b/pkgs/applications/misc/input-leap/default.nix @@ -26,13 +26,13 @@ mkDerivation rec { pname = "input-leap"; - version = "unstable-2023-05-24"; + version = "unstable-2023-12-27"; src = fetchFromGitHub { owner = "input-leap"; repo = "input-leap"; - rev = "5e2f37bf9ec17627ae33558d99f90b7608ace422"; - hash = "sha256-55RqdRu/Hi2OTiLjAFJ6Gdgg9iO5NIIJCsOkUQjR9hk="; + rev = "ecf1fb6645af7b79e6ea984d3c9698ca0ab6f391"; + hash = "sha256-TEv1xR1wUG3wXNATLLIZKOtW05X96wsPNOlE77OQK54="; fetchSubmodules = true; }; @@ -55,7 +55,7 @@ mkDerivation rec { ''; postFixup = '' - substituteInPlace $out/share/applications/input-leap.desktop \ + substituteInPlace $out/share/applications/io.github.input_leap.InputLeap.desktop \ --replace "Exec=input-leap" "Exec=$out/bin/input-leap" ''; diff --git a/pkgs/applications/misc/sweethome3d/default.nix b/pkgs/applications/misc/sweethome3d/default.nix index 5755c5610281d..bc429817d55ae 100644 --- a/pkgs/applications/misc/sweethome3d/default.nix +++ b/pkgs/applications/misc/sweethome3d/default.nix @@ -1,11 +1,10 @@ { lib , stdenv +, fetchzip , fetchurl , makeWrapper , makeDesktopItem -# sweethome3d 6.5.2 does not yet fully build&run with jdk 9 and later? -, jdk8 -, jre8 +, jdk , ant , gtk3 , gsettings-desktop-schemas @@ -13,6 +12,7 @@ , autoPatchelfHook , libXxf86vm , unzip +, libGL }: let @@ -42,7 +42,7 @@ let }; postPatch = '' - addAutoPatchelfSearchPath ${jre8}/lib/openjdk/jre/lib/ + addAutoPatchelfSearchPath ${jdk}/lib/openjdk/lib/ autoPatchelf lib # Nix cannot see the runtime references to the paths we just patched in @@ -51,8 +51,11 @@ let find . -name '*.so' | xargs strings | { grep '/nix/store' || :; } >> ./.jar-paths ''; - nativeBuildInputs = [ makeWrapper unzip autoPatchelfHook ]; - buildInputs = [ ant jdk8 p7zip gtk3 gsettings-desktop-schemas libXxf86vm ]; + nativeBuildInputs = [ makeWrapper autoPatchelfHook ]; + buildInputs = [ ant jdk p7zip gtk3 gsettings-desktop-schemas libXxf86vm ]; + + # upstream targets Java 7 by default + env.ANT_ARGS = "-DappletClassSource=8 -DappletClassTarget=8 -DclassSource=8 -DclassTarget=8"; buildPhase = '' runHook preBuild @@ -75,13 +78,9 @@ let cp "${sweethome3dItem}/share/applications/"* $out/share/applications - # MESA_GL_VERSION_OVERRIDE is needed since the update from MESA 19.3.3 to 20.0.2: - # without it a "Profiles [GL4bc, GL3bc, GL2, GLES1] not available on device null" - # exception is thrown on startup. - # https://discourse.nixos.org/t/glx-not-recognised-after-mesa-update/6753 - makeWrapper ${jre8}/bin/java $out/bin/$exec \ - --set MESA_GL_VERSION_OVERRIDE 2.1 \ + makeWrapper ${jdk}/bin/java $out/bin/$exec \ --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk3.out}/share:${gsettings-desktop-schemas}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" \ + --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libGL ]}" \ --add-flags "-Dsun.java2d.opengl=true -jar $out/share/java/${module}-${version}.jar -cp $out/share/java/Furniture.jar:$out/share/java/Textures.jar:$out/share/java/Help.jar -d${toString stdenv.hostPlatform.parsed.cpu.bits}" @@ -102,22 +101,20 @@ let inherit license; maintainers = [ lib.maintainers.edwtjo ]; platforms = lib.platforms.linux; + mainProgram = exec; }; }; - - d2u = lib.replaceStrings ["."] ["_"]; - in { application = mkSweetHome3D rec { pname = lib.toLower module + "-application"; - version = "7.2"; + version = "7.3"; module = "SweetHome3D"; description = "Design and visualize your future home"; license = lib.licenses.gpl2Plus; - src = fetchurl { + src = fetchzip { url = "mirror://sourceforge/sweethome3d/${module}-${version}-src.zip"; - sha256 = "sha256-Io3HfussfSy6CLHE0JCAk0gjBAla/u+pS1Gan8BxozY="; + hash = "sha256-adMQzQE+xAZpMJyQFm01A+AfvcB5YHsJvk+533BUf1Q="; }; desktopName = "Sweet Home 3D"; icons = { diff --git a/pkgs/applications/misc/sweethome3d/editors.nix b/pkgs/applications/misc/sweethome3d/editors.nix index 6c737f469c670..f4fe14fb6751b 100644 --- a/pkgs/applications/misc/sweethome3d/editors.nix +++ b/pkgs/applications/misc/sweethome3d/editors.nix @@ -1,11 +1,9 @@ { lib , stdenv -, fetchurl +, fetchzip , makeWrapper , makeDesktopItem -# sweethome3d 6.5.2 does not yet fully build&run with jdk 9 and later? -, jdk8 -, jre8 +, jdk , ant , gtk3 , gsettings-desktop-schemas @@ -20,14 +18,6 @@ let + removeSuffix "libraryeditor" (toLower m) + "-editor"; - applicationSrc = stdenv.mkDerivation { - name = "application-src"; - src = sweethome3dApp.src; - nativeBuildInputs = [ unzip ]; - buildPhase = ""; - installPhase = "cp -r . $out"; - }; - mkEditorProject = { pname, module, version, src, license, description, desktopName }: @@ -43,18 +33,21 @@ let categories = [ "Graphics" "2DGraphics" "3DGraphics" ]; }; - nativeBuildInputs = [ makeWrapper unzip ]; - buildInputs = [ ant jre8 jdk8 gtk3 gsettings-desktop-schemas ]; + nativeBuildInputs = [ makeWrapper ]; + buildInputs = [ ant jdk gtk3 gsettings-desktop-schemas ]; + + # upstream targets Java 7 by default + env.ANT_ARGS = "-DappletClassSource=8 -DappletClassTarget=8 -DclassSource=8 -DclassTarget=8"; postPatch = '' - sed -i -e 's,../SweetHome3D,${applicationSrc},g' build.xml + sed -i -e 's,../SweetHome3D,${sweethome3dApp.src},g' build.xml sed -i -e 's,lib/macosx/java3d-1.6/jogl-all.jar,lib/java3d-1.6/jogl-all.jar,g' build.xml ''; buildPhase = '' runHook preBuild - ant -lib ${applicationSrc}/libtest -lib ${applicationSrc}/lib -lib ${jdk8}/lib + ant -lib ${sweethome3dApp.src}/libtest -lib ${sweethome3dApp.src}/lib -lib ${jdk}/lib runHook postBuild ''; @@ -64,7 +57,7 @@ let mkdir -p $out/share/{java,applications} cp ${module}-${version}.jar $out/share/java/. cp "${editorItem}/share/applications/"* $out/share/applications - makeWrapper ${jre8}/bin/java $out/bin/$exec \ + makeWrapper ${jdk}/bin/java $out/bin/$exec \ --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk3.out}/share:${gsettings-desktop-schemas}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" \ --add-flags "-jar $out/share/java/${module}-${version}.jar -d${toString stdenv.hostPlatform.parsed.cpu.bits}" ''; @@ -77,6 +70,7 @@ let inherit license; maintainers = [ lib.maintainers.edwtjo ]; platforms = lib.platforms.linux; + mainProgram = exec; }; }; @@ -91,9 +85,9 @@ in { pname = module; description = "Easily create SH3T files and edit the properties of the texture images it contain"; license = lib.licenses.gpl2Plus; - src = fetchurl { + src = fetchzip { url = "mirror://sourceforge/sweethome3d/${module}-${version}-src.zip"; - sha256 = "03vb9y645qzffxxdhgbjb0d98k3lafxckg2vh2s86j62b6357d0h"; + hash = "sha256-v8hMEUujTgWvFnBTF8Dnd1iWgoIXBzGMUxBgmjdxx+g="; }; desktopName = "Sweet Home 3D - Textures Library Editor"; }; @@ -103,10 +97,10 @@ in { module = "FurnitureLibraryEditor"; pname = module; description = "Quickly create SH3F files and edit the properties of the 3D models it contain"; - license = lib.licenses.gpl2; - src = fetchurl { + license = lib.licenses.gpl2Plus; + src = fetchzip { url = "mirror://sourceforge/sweethome3d/${module}-${version}-src.zip"; - sha256 = "sha256-r5xJlUctUdcknJfm8rbz+bdzFhqgHsHpHwxEC4mItws="; + hash = "sha256-pqsSxQPzsyx4PS98fgU6UFhPWhpQoepGm0uJtkvV46c="; }; desktopName = "Sweet Home 3D - Furniture Library Editor"; }; diff --git a/pkgs/applications/misc/wofi-emoji/default.nix b/pkgs/applications/misc/wofi-emoji/default.nix index f759ee34fb0f4..1c39bbe183487 100644 --- a/pkgs/applications/misc/wofi-emoji/default.nix +++ b/pkgs/applications/misc/wofi-emoji/default.nix @@ -1,26 +1,45 @@ -{ stdenv, lib, fetchurl, fetchFromGitHub, jq, wofi, wtype, wl-clipboard }: +{ + stdenv, + lib, + fetchurl, + fetchFromGitHub, + jq, + wofi, + wtype, + wl-clipboard, +}: -let emojiJSON = fetchurl { - url = "https://raw.githubusercontent.com/muan/emojilib/v3.0.10/dist/emoji-en-US.json"; - hash = "sha256-UhAB5hVp5vV2d1FjIb2TBd2FJ6OPBbiP31HGAEDQFnA=";}; +let + emojiJSON = fetchurl { + url = "https://raw.githubusercontent.com/muan/emojilib/v3.0.11/dist/emoji-en-US.json"; + hash = "sha256-WHqCSNgDzc6ZASdVrwPvsU4MtBcYLKDp2D2Hykrq1sI="; + }; in stdenv.mkDerivation rec { pname = "wofi-emoji"; - version = "unstable-2023-06-19"; + version = "1.0.0"; src = fetchFromGitHub { owner = "Zeioth"; - repo = pname; - rev = "796d688b71ac9fa1e5b2c1b9a3fa11dba801b02b"; - hash = "sha256-HBsqekNuKqxaKaSeLboukLm4Lkg9JakPO7uN3Z8QBC8="; + repo = "wofi-emoji"; + rev = "v${version}"; + hash = "sha256-wLZK7RcDxxlYuu27WNj+SoRoBiCqk9whp4Fyg0SOoPA="; }; nativeBuildInputs = [ jq ]; - buildInputs = [ wofi wtype wl-clipboard ]; + buildInputs = [ + wofi + wtype + wl-clipboard + ]; postPatch = '' substituteInPlace build.sh \ --replace 'curl ${emojiJSON.url}' 'cat ${emojiJSON}' + substituteInPlace wofi-emoji \ + --replace 'wofi' '${wofi}/bin/wofi' \ + --replace 'wtype' '${wtype}/bin/wtype' \ + --replace 'wl-copy' '${wl-clipboard}/bin/wl-copy' ''; buildPhase = '' @@ -40,11 +59,12 @@ stdenv.mkDerivation rec { runHook postInstall ''; - meta = with lib; { + meta = { description = "Simple emoji selector for Wayland using wofi and wl-clipboard"; - homepage = "https://github.com/dln/wofi-emoji"; - license = licenses.mit; - maintainers = [ maintainers.ymarkus ]; - platforms = platforms.all; + homepage = "https://github.com/Zeioth/wofi-emoji"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ ymarkus ]; + platforms = lib.platforms.all; + mainProgram = "wofi-emoji"; }; } |