Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

simp: init at 3.5.3 #315825

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open

simp: init at 3.5.3 #315825

wants to merge 3 commits into from

Conversation

oluceps
Copy link
Member

@oluceps oluceps commented May 30, 2024

Description of changes

fixes #315819
@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.

pkgs/by-name/si/simp/package.nix Outdated Show resolved Hide resolved
pkgs/by-name/si/simp/package.nix Outdated Show resolved Hide resolved
pkgs/by-name/si/simp/package.nix Outdated Show resolved Hide resolved
pkgs/by-name/si/simp/package.nix Outdated Show resolved Hide resolved
@eclairevoyant
Copy link
Member

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
Member

@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.)

pkgs/by-name/si/simp/package.nix Outdated Show resolved Hide resolved
pkgs/by-name/si/simp/package.nix Outdated Show resolved Hide resolved
pkgs/by-name/si/simp/package.nix Outdated Show resolved Hide resolved
@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
Member

@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 <[email protected]>
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 }

pkgs/by-name/si/simp/package.nix Outdated Show resolved Hide resolved
pkgs/by-name/si/simp/package.nix Outdated Show resolved Hide resolved

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Package request: simp
6 participants