Skip to content

Conversation

oluceps
Copy link
Member

@oluceps oluceps commented May 30, 2024

Description of changes

@RAVENz46 for testing.

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

Add a 👍 reaction to pull requests you find important.

@oluceps oluceps force-pushed the add-simp branch 2 times, most recently from f536edb to 2d48c0d Compare May 30, 2024 14:08
@ofborg ofborg bot added 8.has: package (new) This PR adds a new package 11.by: package-maintainer This PR was created by a maintainer of all the package it changes. 10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. 10.rebuild-darwin: 1 This PR causes 1 package to rebuild on Darwin. 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. 10.rebuild-linux: 1 This PR causes 1 package to rebuild on Linux. labels May 30, 2024
@eclairevoyant
Copy link
Contributor

Seems to fail at runtime, on sway:

PanicInfo { payload: Any { .. }, message: Some(called `Result::unwrap()` on an `Err` value: Os(OsError { line: 80, file: "/build/simp-3.5.3-vendor.tar.gz/winit/src/platform_impl/linux/wayland/event_loop/mod.rs", error: WaylandError(Connection(NoWaylandLib)) })), location: Location { file: "src/main.rs", line: 67, col: 92 }, can_unwind: true, force_no_backtrace: false }

Copy link
Contributor

@eclairevoyant eclairevoyant left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should fix the runtime failures and also add AVIF and HEIF/HEIC support (I haven't tested the extra support yet, though.)

@RAVENz46
Copy link
Member

Hi! Thanks for your work.

I also tried write derivation by myself and now it launch successfully.
It may still miss/include-unnecessary some dependencies but I hope it helps you.

{ lib
, rustPlatform
, fetchFromGitHub
, pkg-config
, libxkbcommon
, vulkan-loader
, stdenv
, darwin
, wayland
, makeDesktopItem
, copyDesktopItems
, cargo-about
, libGL
}:

rustPlatform.buildRustPackage rec {
  pname = "simp";
  version = "3.5.3";

  src = fetchFromGitHub {
    owner = "Kl4rry";
    repo = "simp";
    rev = "v${version}";
    hash = "sha256-NALVHcU+NhCT5w+pn6WhP+cFGPuDhnPt+IDNHN/oqls=";
  };

  cargoHash = "sha256-Wp50ldXGy7MLQTnvZDx3LIr8jLBpkoCrh0/xPowIn54=";

  nativeBuildInputs = [
    pkg-config
    cargo-about
    copyDesktopItems
  ];

  buildInputs = [
    libxkbcommon
    vulkan-loader
    libGL
  ] ++ lib.optionals stdenv.isDarwin [
    darwin.apple_sdk.frameworks.AppKit
    darwin.apple_sdk.frameworks.CoreGraphics
    darwin.apple_sdk.frameworks.CoreServices
    darwin.apple_sdk.frameworks.Foundation
    darwin.apple_sdk.frameworks.Metal
    darwin.apple_sdk.frameworks.QuartzCore
  ] ++ lib.optionals stdenv.isLinux [
    wayland
  ];

  desktopItems = [
    (makeDesktopItem {
      name = "simp";
      desktopName = "simp";
      genericName= "Image Editor";
      exec = "simp %U";
      icon = "icon";
      categories = [ "Graphics" ];
      mimeTypes = [ "image/bmp" ];
    })
  ];

  preBuild = ''
    mkdir -p $out/share/icons/hicolor/256x256/apps
    cp $src/icon.png $out/share/icons/hicolor/256x256/apps/
    sed -i '35,39c let git_hash=String::from("${version}");' build.rs
  '';

  postFixup = ''
    patchelf $out/bin/${pname} \
      --add-rpath ${lib.makeLibraryPath [ vulkan-loader libGL libxkbcommon wayland ]}
  '';

  meta = {
    description = "Simp is a fast and simple GPU-accelerated image manipulation program";
    homepage = "https://github.com/Kl4rry/simp";
    license = lib.licenses.asl20;
    maintainers = with lib.maintainers; [ ];
    mainProgram = "simp";
  };
}

Copy link
Contributor

@eclairevoyant eclairevoyant left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It appears to run and not-crash now, but I can't load any image for some reason? e.g. File > Open, File > Open Folder, Ctrl + O and Ctrl + V (with some image in the clipboard) all don't work. Not sure where to go from here

Co-authored-by: éclairevoyant <848000+eclairevoyant@users.noreply.github.com>
Copy link
Member

@Aleksanaa Aleksanaa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Still panic on my side

=> ./result/bin/simp
PanicInfo { payload: Any { .. }, message: Some(called `Result::unwrap()` on an `Err` value: Timeout), location: Location { file: "src/main.rs", line: 280, col: 69 }, can_unwind: true, force_no_backtrace: false }


preBuild = ''
# replace variable from git cmd output
sed -i '35,39c let git_hash=String::from("${version}");' build.rs
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should be a patch. Using sed like this is extremely brittle

oluceps and others added 2 commits July 29, 2024 21:20
Co-authored-by: Aleksana <alexander.huang.y@gmail.com>
Co-authored-by: Aleksana <alexander.huang.y@gmail.com>
@ofborg ofborg bot removed the 10.rebuild-linux: 1 This PR causes 1 package to rebuild on Linux. label Jul 29, 2024
@FliegendeWurst FliegendeWurst marked this pull request as draft March 10, 2025 08:20
@nixpkgs-ci nixpkgs-ci bot added the 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md label Jun 25, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md 8.has: package (new) This PR adds a new package 10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. 10.rebuild-darwin: 1 This PR causes 1 package to rebuild on Darwin. 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. 11.by: package-maintainer This PR was created by a maintainer of all the package it changes.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants