Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Jan 15 02:50

    dependabot[bot] on pip

    (compare)

  • Jan 15 02:49

    danyeaw on pip

    (compare)

  • Jan 15 02:49

    danyeaw on master

    Bump pygments from 2.7.3 to 2.7… (compare)

  • Jan 15 02:49

    danyeaw on pip

    (compare)

  • Jan 15 02:49

    danyeaw on master

    Bump tox from 3.21.0 to 3.21.1 … (compare)

  • Jan 14 07:45

    amolenaar on 3.0.0-beta.6

    Bump version to 3.0.0-beta.5 Fix selection for items Remove Connector.allow, use Con… and 4 more (compare)

  • Jan 14 07:44

    amolenaar on 3.0.0-beta.6

    (compare)

  • Jan 14 07:41

    amolenaar on 3.0.0-beta.6

    Bump version to 3.0.0-beta.5 Fix selection for items Remove Connector.allow, use Con… and 3 more (compare)

  • Jan 14 06:03

    dependabot[bot] on pip

    Bump tox from 3.21.0 to 3.21.1 … (compare)

  • Jan 13 06:21

    dependabot[bot] on pip

    Bump pygments from 2.7.3 to 2.7… (compare)

  • Jan 13 06:03

    dependabot[bot] on pip

    Bump pygments from 2.7.3 to 2.7… (compare)

  • Jan 12 02:01

    danyeaw on remove-state-module

    (compare)

  • Jan 12 02:01

    danyeaw on master

    Remove gaphas.state module 'Refactored by Sourcery' Merge branch 'master' into remo… and 2 more (compare)

  • Jan 12 01:55

    danyeaw on remove-state-module

    Fix mypy error for incompatible… (compare)

  • Jan 12 01:31

    danyeaw on remove-state-module

    [pre-commit.ci] pre-commit auto… Bump sphinx-rtd-theme from 0.5.… Bump sphinx from 3.4.1 to 3.4.2… and 13 more (compare)

  • Jan 11 07:56

    amolenaar on 3.0.0-beta.5

    Bump version to 3.0.0-beta.5 (compare)

  • Jan 11 07:55

    amolenaar on 3.0.0b5

    (compare)

  • Jan 11 07:54

    amolenaar on 3.0.0b5

    (compare)

  • Jan 11 07:54

    amolenaar on pip

    (compare)

  • Jan 11 07:54

    amolenaar on master

    Bump tox from 3.20.1 to 3.21.0 … Merge pull request #195 from ga… (compare)

Dan Yeaw
@danyeaw
Probably at some point but it sounds like their release cadence is a few years, but maybe this is a good reason for a new release
Arjan Molenaar
@amolenaar
Merry Christmas everyone!
Dan Yeaw
@danyeaw
Merry Christmas!
You have been busy with Gaphor! :smile:
Arjan Molenaar
@amolenaar
@danyeaw Got you another Xmas present :D gaphor/gaphor#572
Dan Yeaw
@danyeaw
Woot, you are delivering lots of gifts!
:gift:
Arjan Molenaar
@amolenaar
:smile:
Dan Yeaw
@danyeaw
@amolenaar I don't think that codesign will work on the custom package.sh version of Gaphor.app because of the Frameworks directory. It sees Python.framework as a bundle and isn't recognized as a valid bundle by Apple. Could we move it in to Resources?
Arjan Molenaar
@amolenaar
Hmm... I saw several posts on stackoverflow where people suggested creating a custom framework to "store" libraries.
Isn't it because Python.framework is already signed, one way or another?
It shouldn't be too hard to move it to Resources, though.
Dan Yeaw
@danyeaw
I could definitely be wrong, but I think it is because it isn't a signed official bundle from Apple to be used with XCode and the rest of their ecosystem
I created a PyInstaller issue as well: pyinstaller/pyinstaller#5422
This is the error message with bundle:
Gaphor.app: bundle format unrecognized, invalid, or unsuitable
In subcomponent: /Users/runner/work/gaphor/gaphor/macos-dmg/Gaphor.app/Contents/Frameworks/Python.framework
Dan Yeaw
@danyeaw
I just pushed an attempt to move Python.framework to Resources to the chore/macos-sign-notarize branch. Any hints on how to troubleshoot gaphor crashing when launching? I ran the validate script and I didn't see much of a clue in the console log.
Arjan Molenaar
@amolenaar
Did you update the library references using name_tool? The command ‘otool -L file’ should show you which lobs it will resolve. The library paths are kinda fixes on macos.
Isn’t the framework invalid because it’s missing a path?
Dan Yeaw
@danyeaw
I did set the PyRuntimeLocations in the Info.plist, is there some other path being set?
Dan Yeaw
@danyeaw
which libraries should I be checking? Sorry all this macOS stuff with dynlibs seems like like black magic to me :smile:
Arjan Molenaar
@amolenaar
I'm not sure. I have to check where PyRuntimeLocations is being used (is it used in main.c?).
For sure all libs in the Frameworks folder and the libs that depend in anything framwork (pygobject, pycairo)
I think you'll like this PR I made: gaphor/gaphor#582
It requires all changes on the model to be wrapped in a transaction. In the code we already do that, but now there's no way to mess it up from the console :D
Is there something I can do to verify everything can be signed?
Dan Yeaw
@danyeaw
Cool, I'll take a look at the PR!
No, I don't know of a test signing command. I think you have to just try to sign it and see what happens
Dan Yeaw
@danyeaw
I was poking around and the Python.framework directory is the default for py2app, so I'm assuming it is being created by the main.c file from py2app as well?
Arjan Molenaar
@amolenaar
I suppose a Py2app app can be signed?
Dan Yeaw
@danyeaw
It doesn't seem like it is officially supported, glyph got it to work by using the recipe API here: https://glyph.twistedmatrix.com/2018/01/shipping-pygame-mac-app.html
Dan Yeaw
@danyeaw
Dang packaging is always so hard :sweat_smile:
Arjan Molenaar
@amolenaar
I added some comments to #581 (AppImage), while baking oliebollen (https://en.wikipedia.org/wiki/Oliebol).
I also dumped some thoughts on gaphor/gaphor#390.
Dan Yeaw
@danyeaw
Yum, I would love to have a one! I am putting a new kitchen faucet in, I think I would prefer the baking :smile:
Thanks, I responded to your comments about the AppImage and I am seeing if running the build on ubuntu-16.04 works to improve the AppImage compatibility. I'll take a look at #390 soon.
Arjan Molenaar
@amolenaar
Have you looked at appimage-builder?
Dan Yeaw
@danyeaw
I did see it, I expect that it is going to have similar issues as python-appimage though. To get all of the GTK / PyGObject dependencies packaged is very challenging without using something like PyInstaller
Dan Yeaw
@danyeaw
Welp, Gtk.EventControllerScroll is compatible with 3.24+, which means Ubuntu 20.04+ only :smile:.
Dan Yeaw
@danyeaw
Which if really find with me that we are only supporting desktops on the latest LTR.
Arjan Molenaar
@amolenaar
Happy New Year
Dan Yeaw
@danyeaw
:tada: :confetti_ball: :wine_glass: :beers:
Dan Yeaw
@danyeaw
I'll try to get your PRs reviewed tomorrow, I spent a lot of time today trying to get changes merged with PyInstaller and I didn't get to them
Arjan Molenaar
@amolenaar

I'm trying to fix the undo behaviour "once and for all". It proves trickier than I expected, though.

I think I'm almost there: gaphor/gaphor#588.

I think the new solution will be more solid. For one it recreates elements on undo, instead of reusing the old elements. Reusing the old presentation gave some trouble.

Dan Yeaw
@danyeaw
Nice, that sounds like a really big challenge
Arjan Molenaar
@amolenaar
I expect it to be more solid now.
Dan Yeaw
@danyeaw
Should I start reviewing it today?
Arjan Molenaar
@amolenaar
I think this is how you want to see connecting to Elements work: gaphor/gaphas#194
Dan Yeaw
@danyeaw
@amolenaar Yup, it looks really good!
kellenmoura
@kellenmoura
Good night, does anyone know how to put multiplicity in a relationship object (as in the association relationship)? For example, I want to put the multiplicity option in my code relation object below
from gaphor import UML3
from gaphor import UML
from gaphor.diagram.presentation import LinePresentation
from gaphor.diagram.shapes import Box, Text, EditableText
from gaphor.diagram.support import represents
from gaphor.UML.modelfactory import stereotypes_str

@represents(UML3.Formal)
class FormalItem(LinePresentation):
    def __init__(self, id=None, model=None):
        super().__init__(id, model)


        self.shape_middle = Text(
            text=lambda: stereotypes_str(self.subject, ("Formal",)),
        )
        self.watch("subject[NamedElement].name")
        self.watch("subject.appliedStereotype.classifier.name")


    def draw_head(self, context):
        cr = context.cairo
        cr.move_to(0, 0)
        cr.line_to(15, -10)
        cr.line_to(15, 10)
        cr.close_path()
        cr.stroke()
        cr.move_to(15, 0)
image.png