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

glimpse: init at 0.1.2 #81563

Closed
wants to merge 4 commits into from
Closed

glimpse: init at 0.1.2 #81563

wants to merge 4 commits into from

Conversation

ashkitten
Copy link
Contributor

Motivation for this change

requested in #77157

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.

@jtojnar
Copy link
Contributor

jtojnar commented Mar 2, 2020

Did you decide to go with the plug-ins in the end?

@ashkitten
Copy link
Contributor Author

i'm still on the edge about that, but i think we will be able to maintain compatibility with at least some of the plugins (g'mic and resynthesizer plugins are slated to be included by default in official glimpse packages) and i think if we can't reasonably maintain compatibility with certain plugins in the future we can still drop them.

@ashkitten
Copy link
Contributor Author

all checks passed!

};

glimpse-with-plugins = callPackage ../applications/graphics/glimpse/wrapper.nix {
plugins = null; # All packaged plugins enabled, if not explicit plugin list supplied
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
plugins = null; # All packaged plugins enabled, if not explicit plugin list supplied
plugins = null; # All packaged plugins enabled, if no list supplied

Copy link
Contributor Author

Choose a reason for hiding this comment

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

this is also an issue with the documentation for gimp. should i add another commit to fix it for them as well?

Copy link
Contributor

Choose a reason for hiding this comment

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

Ah, of course. Yes, though it should go in another PR I think.

@gloaming
Copy link
Contributor

gloaming commented Mar 3, 2020

The duplication here is a bit concerning. Would it not be better to override the gimp derivation where necessary?

@ashkitten
Copy link
Contributor Author

i've decided to duplicate the derivation because while glimpse doesn't change much from its upstream at the moment, the plan is for it to evolve into an entirely separate project. it would be difficult to maintain if we packaged it as an override.

enableParallelBuilding = true;

meta = with lib; {
description = "Fork of the GNU Image Manipulation Program";
Copy link
Member

@grahamc grahamc Apr 11, 2020

Choose a reason for hiding this comment

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

Suggested change
description = "Fork of the GNU Image Manipulation Program";
description = "aN OPEN SOURCE IMAGE EDITOR BASED ON THE gnu iMAGE mANIPULATION pROGRAM";
longDescription = ''
Glimpse is an open source image editor based on the GNU Image Manipulation Program. The goal is to experiment with new ideas and expand the use of free software.
'';

maybe?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

sure, i just took that description from the description on https://github.com/glimpse-editor/Glimpse

@grahamc
Copy link
Member

grahamc commented Apr 11, 2020

after building it, I got a segfault, possibly related to this:

Glimpse-Warning: Bad interpreter referenced in interpreter file /nix/store/f30pn34ljwppl5bsrarszgdk4bly4p9b-glimpse-0.1.2/lib/glimpse/2.0/interpreters/pygimp.interp: python2

Glimpse-Warning: Bad binary format string in interpreter file /nix/store/f30pn34ljwppl5bsrarszgdk4bly4p9b-glimpse-0.1.2/lib/glimpse/2.0/interpreters/pygimp.interp

@ashkitten
Copy link
Contributor Author

ashkitten commented Apr 11, 2020

building it I got a segfault, possibly related to this:

Glimpse-Warning: Bad interpreter referenced in interpreter file /nix/store/f30pn34ljwppl5bsrarszgdk4bly4p9b-glimpse-0.1.2/lib/glimpse/2.0/interpreters/pygimp.interp: python2

Glimpse-Warning: Bad binary format string in interpreter file /nix/store/f30pn34ljwppl5bsrarszgdk4bly4p9b-glimpse-0.1.2/lib/glimpse/2.0/interpreters/pygimp.interp

a segfault while building? i've never gotten that before... also, iirc the gimp build has those same warnings

@grahamc
Copy link
Member

grahamc commented Apr 11, 2020

oops, missed a word :)

@grahamc
Copy link
Member

grahamc commented Apr 11, 2020

Glimpse version 2.10.12
git-describe: f32663b334
C compiler:
gcc-9.3.0
using GEGL version 0.4.22 (compiled against version 0.4.22)
using GLib version 2.64.1 (compiled against version 2.64.1)
using GdkPixbuf version 2.40.0 (compiled against version 2.40.0)
using GTK+ version 2.24.32 (compiled against version 2.24.32)
using Pango version 1.44.7 (compiled against version 1.44.7)
using Fontconfig version 2.12.6 (compiled against version 2.12.6)
using Cairo version 1.16.0 (compiled against version 1.16.0)

```
> fatal error: Segmentation fault

Stack trace:
```
/nix/store/f30pn34ljwppl5bsrarszgdk4bly4p9b-glimpse-0.1.2/lib/libgimpbase-2.0.so.0(gimp_stack_trace_print+0x398)[0x7f532881f418]
./result/bin/glimpse[0x4ac6e0]
./result/bin/glimpse[0x4acb08]
./result/bin/glimpse[0x4ad199]
/nix/store/an6bdv4phxsz14q2sk57iscl2dc7bnj1-glibc-2.30/lib/libpthread.so.0(+0x12f70)[0x7f5327c22f70]
./result/bin/glimpse(gimp_param_spec_layer_id+0x64)[0x82be64]
./result/bin/glimpse(gimp_pdb_compat_param_spec+0x1c7)[0x746aa7]
./result/bin/glimpse(gimp_plug_in_handle_message+0x11a9)[0x7534e9]
./result/bin/glimpse(gimp_plug_in_manager_call_query+0x191)[0x761b41]
./result/bin/glimpse(gimp_plug_in_manager_restore+0x796)[0x759ab6]
./result/bin/glimpse[0x77776d]
/nix/store/idqwnnq6a1mzci2fi2rc26wqz9s0aa4a-glib-2.64.1/lib/libgobject-2.0.so.0(g_closure_invoke+0x1a2)[0x7f5327f9aec2]
/nix/store/idqwnnq6a1mzci2fi2rc26wqz9s0aa4a-glib-2.64.1/lib/libgobject-2.0.so.0(+0x2753e)[0x7f5327fad53e]
/nix/store/idqwnnq6a1mzci2fi2rc26wqz9s0aa4a-glib-2.64.1/lib/libgobject-2.0.so.0(g_signal_emit_valist+0xbdf)[0x7f5327fb8fef]
/nix/store/idqwnnq6a1mzci2fi2rc26wqz9s0aa4a-glib-2.64.1/lib/libgobject-2.0.so.0(g_signal_emit+0x8f)[0x7f5327fb997f]
./result/bin/glimpse(gimp_restore+0x102)[0x776cf2]
./result/bin/glimpse(app_run+0x49b)[0x4ac00b]
./result/bin/glimpse(main+0x37e)[0x4ab7be]
/nix/store/an6bdv4phxsz14q2sk57iscl2dc7bnj1-glibc-2.30/lib/libc.so.6(__libc_start_main+0xeb)[0x7f5327a74d8b]
./result/bin/glimpse(_start+0x2a)[0x4ab94a]

````

@ashkitten
Copy link
Contributor Author

it works fine for me, even with those interpreter warnings you showed before

@glittershark
Copy link
Member

I've been using this via @ashkitten's fork for a couple weeks now and it's been working great for me

@glittershark
Copy link
Member

albeit very lightly, mostly for cropping and combining screenshots

@gloaming
Copy link
Contributor

i've decided to duplicate the derivation because while glimpse doesn't change much from its upstream at the moment, the plan is for it to evolve into an entirely separate project.

Hmm, this doesn't seem quite right - from the FAQ:

Is forking the project a duplication of effort?
No, because we are focusing specifically on the user experience and marketing, not on the underlying functionality of the software itself.
That is why we intend to periodically rebase on tagged versions of the GNU Image Manipulation Program, and then port our changes to it each time.

it would be difficult to maintain if we packaged it as an override.

This may still be true though.

@bbjubjub2494
Copy link
Member

bbjubjub2494 commented Jul 2, 2020

I ran into the segfault too, but there's already a patch for it in upstream v0.1.2r2. There's no download for that release but it's easy enough to backport.

5c581ac

@jtojnar
Copy link
Contributor

jtojnar commented Jul 6, 2020

The interpreter warning has been fixed in GIMP in #92228

@ofborg ofborg bot requested a review from gloaming July 8, 2020 21:06
rossabaker added a commit to rossabaker/cromulent that referenced this pull request Sep 26, 2020
@erictapen
Copy link
Member

erictapen commented Nov 9, 2020

I'd like to help bring this forward.
Current PR is incompatible with fontconfig from unstable/20.09, so I rebased and bumped to Glimpse 0.2.0 in erictapen@8f5c545.

So far this seems to run fine for me; No errors on startup, I was able to draw some basic stuff.

@ashkitten could you rebase and bump? I could also open a new PR if you'd like.

@ashkitten
Copy link
Contributor Author

@erictapen i don't have the bandwidth for this rn so if you could take over that'd be fantastic

@erictapen erictapen mentioned this pull request Nov 10, 2020
10 tasks
@erictapen
Copy link
Member

Sure! Closing in favor of #103288.

@erictapen erictapen closed this Nov 10, 2020
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.

None yet

7 participants