Re: Windows runner for CI now generally available!

2019-12-11 Thread Christoph Reiter via desktop-devel-list
On Tue, Nov 19, 2019 at 10:49 AM Carlos Soriano via desktop-devel-list
 wrote:
>
> Hi everyone,
>
> Good news! Thanks to OpenAtMicrosoft and our staff we have set up a Windows 
> runner for the GNOME/ group. Right now it's a single runner with the 
> "windows" tag attached, feel free to use it as you see fit.

Is there any documentation for the runner? Like which executor is
used, what is installed on it and where, can it handle parallel builds
etc.
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/desktop-devel-list


Re: Gtk-Doc Manual in DevHelp

2018-08-11 Thread Christoph Reiter via desktop-devel-list
On Sat, Aug 11, 2018 at 12:28 PM, Lanoxx  wrote:
> Hi All,
>
> It would be nice if I could get some response about my question from the
> community. I spend several days of work on this and I would like to know if
> there is a change that my patch gets merged into Gtk-Doc. I am restating my
> question in case it was not clear from my original mail what I was asking:

It's probably best if you create a new gtk-doc merge request with this
change as in the end the gtk-doc maintainers have to decide.

> Does anybody have objections on merging my patch which installs the GTK-Doc
> Manual as HTML so it can be read via DevHelp?

I haven't looked at the patch, but having the manual in devhelp seems
good to me.
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/desktop-devel-list


Re: Python 2 support in GNOME build tools

2018-07-25 Thread Christoph Reiter via desktop-devel-list
Thanks everyone for chiming in!

I think we have all distros/OSes covered now and can make an informed
decision based on that.

I've opened a proposal MR for glib to drop Python 2 support
https://gitlab.gnome.org/GNOME/glib/merge_requests/196
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/desktop-devel-list


Re: Python 2 support in GNOME build tools

2018-07-15 Thread Christoph Reiter via desktop-devel-list
On Sun, Jul 15, 2018 at 3:25 PM, Nicolas Dufresne  wrote:
> Stable distribution shouldn't block software from going forward with
> Python 3. Simply because stable OS won't update to whatever we release
> next, unless it's bug/security fixes.

I agree in general, but as I noted at the end of my mail, RHEL 7 does get
non-bugfix/security updates nowadays. And from what I see many of the people
working on those updates also work on GNOME and we should try figuring out
what they need before potentially making their lives harder.
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/desktop-devel-list


Re: Python 2 support in GNOME build tools

2018-07-15 Thread Christoph Reiter via desktop-devel-list
> Slow-releasing/stable/"enterprise" distributions like RHEL, Debian,
> Ubuntu LTS and SLED are the usual sticking point for dependency versions.
>
> My understanding is that the main blocker for using Python 3 is
> that RHEL/CentOS 7 doesn't have it built-in, only as part of a secondary
> "software collection"?

Yeah, that's also what I heard when the topic came up on IRC, but similarly
vague re RHEL.. :)

> For what it's worth, requiring Python 3 would be no problem from Debian's
> perspective, as long as it isn't assumed to be /usr/bin/python: for
> compatibility with historical scripts, if /usr/bin/python exists then
> it is always Python 2, while Python 3 is available at /usr/bin/python3
> if installed. Using Python 3 for all programs that can work in either
> version is recommended, and in particular we've used Python 3 for the GLib
> and GObject-Introspection build tools since Debian 9 'stretch' (2017).
>
> We don't normally backport the latest GNOME versions to stable releases
> anyway; but if we do, the latest stable release (Debian 9 'stretch')
> has Python 3.5 as its supported Python 3 version, and the one before that
> (Debian 8 'jessie', 2015) had 3.4.
>
> Ubuntu is in about the same situation as Debian, with new LTS releases
> every 2 years, although a year out of phase with Debian (the most recent
> LTS releases were in 2018 and 2016 and have contemporary Python 3 versions).

That's good to know, thanks!

I'll try to summarize the remaining cases:

Windows:

I'm confident that on Windows Python 3 is enough in all cases. MSYS2 switched
some months ago and all looks good. gvsbuild also uses Python 3.

macOS:

There still isn't any system Python 3 in sight, and could be that it never
will happen. Homebrew works.

SLED/SLES:

They use old versions [0] [1], so unlikely that they will try to backport
things now imo. I couldn't find a working package index for SLED, I assume it
is similar to SLES.

[0] 
https://www.suse.com/LinuxPackages/packageRouter.jsp?product=server&version=12&service_pack=&architecture=x86_64&package_name=libglib-2_0-0
[1] 
https://www.suse.com/LinuxPackages/packageRouter.jsp?product=server&version=11&service_pack=&architecture=i386&package_name=glib2

RHEL7:

RHEL got a GNOME 3.26 update for 7.5 and there is a 3.28 update in the works
for 7.6 [3]. Full support for 7.X ends with "~Q4 of 2019" [4] and based on the
previous update intervals [5] this should mean RHEL 7.7 is the last feature
release. GNOME 3.32 comes out some months before that, so it theoretically
could make it into the last release.

This means we can drop Python 2 definitely after GNOME 3.32, or earlier if
someone from RH can rule out that 3.32 will make it into RHEL 7 (anyone?).

[3] https://bugzilla.redhat.com/show_bug.cgi?id=1567375
[4] https://access.redhat.com/support/policy/updates/errata
[5] 
https://en.wikipedia.org/wiki/Red_Hat_Enterprise_Linux#Version_history_and_timeline
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/desktop-devel-list


Python 2 support in GNOME build tools

2018-07-12 Thread Christoph Reiter via desktop-devel-list
Hey everyone,

we currently do support Python 2 and 3 for things like gobject-introspection
and glib scripts etc. and while I don't see any problem with continuing that
support I'd like to know why we still need to support Python 2 there. i.e.
What needs to happen so that Python 3 support is enough for everyone?

Also, if anyone knows an environment where the latest releases are used with
Python 2, please share them.

thanks!
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/desktop-devel-list


Re: GitLab CI runners for non-Linux systems

2018-05-23 Thread Christoph Reiter
On Wed, May 23, 2018 at 9:20 PM,   wrote:
> Le vendredi 18 mai 2018 à 10:52 +0100, Philip Withnall a écrit :
>> Hi all,
>>
>> Can anybody else provide and maintain CI runners for other platforms?
>> I’d particularly like to see:
>>  • *BSD (probably OpenBSD and NetBSD)
>>  • macOS (ideally several versions, since we support from OS X 10.7
>> upwards[2])
>>  • Android (probably a cross-build)
>>  • More Windows configurations (currently we have MSYS2 on Windows
>> Server 2012; ideally we’d have a MinGW-w64 runner too)
>
> One big item missing in this list is MSVC. Since we already have a
> Windows VM that does MSYS2 CI, is it possible to setup msvc on that one
> too, or does it require a VisualStudio licence, or something?

For the license, gvsbuild [0] builds on appveyor which uses the
community edition, so I think you can get by without a license.
For the MSYS2 CI, the server is a bit low on disk space (10-15GB of
40GB left) as I went for the cheaper one, and I don't want to push it
to the limit really.
But if someone knows how to build glib+deps with msvc and wants to
collaborate feel free to contact me.

[0] https://github.com/wingtk/gvsbuild
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/desktop-devel-list

Re: GitLab CI runners for non-Linux systems

2018-05-23 Thread Christoph Reiter
On Mon, May 21, 2018 at 5:54 PM, Alan Coopersmith
 wrote:
> On 05/18/18 02:52 AM, Philip Withnall wrote:
>> Can anybody else provide and maintain CI runners for other platforms?
>
> Are there instructions somewhere on what's needed to do this?

1) Install the gitlab runner on a server:
https://docs.gitlab.com/runner/#install-gitlab-runner
2) Fork glib on gitlab and register your runner in the forked repo settings
3) Adjust the .gitlab-ci.yml file to add a job using your runner. See
Xavier's recent patch for
  macos for what's roughly needed there:
https://bugzilla.gnome.org/show_bug.cgi?id=796343
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/desktop-devel-list


Re: Proposal to deploy GitLab on gnome.org

2017-05-17 Thread Christoph Reiter
On Wed, May 17, 2017 at 12:47 PM, Jehan Pagès
 wrote:
> The only thing I am annoyed at is this forking workflow. Both as a
> contributor, and as a code committer/reviewer. Having to fetch a new
> remote for every single-commit contribution out there is terrible.

In case you didn't know, just like with github you can fetch the PRs
from the main remote if you adjust the git config accordingly:
https://docs.gitlab.com/ce/user/project/merge_requests/#checkout-merge-requests-locally

$ git fetch
$ git branch -a # look for PR branch
$ git checkout origin/merge-requests/42
$ git checkout master
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/desktop-devel-list

Re: Proposal to deploy GitLab on gnome.org

2017-05-16 Thread Christoph Reiter
On Tue, May 16, 2017 at 7:03 PM, Ray Strode  wrote:
> Hi,
>
> On Tue, May 16, 2017 at 12:20 PM  wrote:
>>
>> Another issue we haven't discussed yet is commit permissions. Right
>> now, everyone can commit anything to every repository, but with GitLab
>> we'll probably eventually want something more fine-grained where
>> *active* maintainers have more control over who is allowed to commit.
>
> uhh, why? I think the lack of fine grained ACLs is an extremely useful
> feature of our current setup.  Are you concerned we might grow abusers at
> some point?

It's quite hard to get commit access atm because you have to be
trusted initially. If a maintainer can give commit access to one repo
he/she watches anyway there is less trust needed in the beginning. Or
if a new contributor wants to take over an abandoned project.
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/desktop-devel-list


pygobject: Plan to depend on a new pycairo fork

2017-04-18 Thread Christoph Reiter
Hey,

I'm trying to establish a pycairo fork as a new upstream and I'm planing to
depend on it in upcoming versions of pygobject:

https://pycairo.readthedocs.io
https://github.com/pygobject/pycairo
https://github.com/pygobject/pycairo/releases

For the cairo mailing list thread see:

https://lists.cairographics.org/archives/cairo/2017-April/027919.html

>From a distributions POV the main changes are that it uses distutils as build
system, can build Python 2 and Python 3 versions from the same source, and is
licensed under MPLv1.1+LGPLv2.1. The new versions are API/ABI compatible to
the 1.10.0 releases of both py2cairo and py3cairo. This includes the patched
version of py3cairo currently in Debian/Ubuntu.

One issue with Debian is that it still uses py2cairo 1.8.8 and py2cairo broke
ABI between 1.8.8 and 1.8.10 and all other distributions have moved on to
1.10.0 by now. There are 8 packages directly affected by the ABI break:
https://codesearch.debian.net/search?q=Pycairo_IMPORT I assume a transition is
required here.

Depending on a newer version would require pycairo to be added to jhbuild, as
it is currently a sysdep. Since the new versions is distutils based, this is
straight forward.

Distributions building the Python 2 version with xpyb support (Fedora for
example) can pass "--enable-xpyb" to "setup.py build" to enable it.

MSYS2 has switched to the new version:
https://github.com/Alexpux/MINGW-packages/pull/2390
Emmanuele Bassi has switched gnome-continuous:
https://git.gnome.org/browse/gnome-continuous/commit/?id=80ce62a6

I'd appreciate any feedback and I encourage everyone to switch to this new
version and report any problems on the github bug tracker.
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/desktop-devel-list


Re: GJS documentation browser: follow up and hosting

2016-06-28 Thread Christoph Reiter
On Tue, Jun 28, 2016 at 8:40 AM,   wrote:
> Good point. Do you know if those pages are static or if there is a webapp
> behind them?

vala is php [0], pygobject [1] is static

[0] https://github.com/flobrosch/valadoc-org
[1] https://github.com/lazka/pgi-docs
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/desktop-devel-list


Re: Power switch to actually turn off my computer

2014-04-10 Thread Christoph Reiter
On Thu, Apr 10, 2014 at 11:51 AM, Charles T. Smith
 wrote:
> I've spent an hour or so looking around /usr/lib/python/site-packages/gtweak
> and haven't found what it does yet... it occurs to me that one shouldn't
> have to reverse engineer a tool in order to learn how to configure something 
> ...
>
> Can anybody point me to the configuration files which are relevant?

"org.gnome.settings-daemon.plugins.power button-power" in dconf
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/desktop-devel-list


Re: Python Docs (was Re: Coordination for developer documentations)

2014-03-10 Thread Christoph Reiter
On Mon, Mar 10, 2014 at 4:27 AM, Simon Feltman  wrote:
> On Sat, Mar 8, 2014 at 9:15 AM, Christoph Reiter
>  wrote:
>> On Sat, Mar 8, 2014 at 4:04 AM, Simon Feltman  wrote:
>>> * GI function argument interpretation for Python docs would be as
>>> close as possible to pygobject by having the argument translation code
>>> living in pygobject itself. Preferably we could expose pygobjects
>>> internal argument caches which already have all the translation logic
>>> applied and re-use this for the docstrings. This has the benefit of
>>> lowering maintenance cost by ensuring the documentation for function
>>> arguments is in lockstep with how pygobject actually works.
>>>
>>> * Overrides and Python specific API extensions would automatically be
>>> included in the docs.
>>
>> (This is mainly the reason why I think Python introspection + Sphinx is
>> better in the long run than something like g-ir-doctool.. for the Python
>> bindings at least)
>>
>> This should be possible with the current Sphinx based approach but still
>> needs some work (it only shows the correct override signature atm). I need
>> to handle the following cases somehow:
>>
>> * In case the functionality of the overidden function differs from the
>> original one it should be possible to replace the gir documentation
>> all together.
>
> In terms of overrides having additional side effects beyond the
> intended GI API, I really hope we can deprecate those scenarios or
> additional arguments that invoke new/alternate behavior (like
> Gtk.MessageBox's "buttons" argument). It doesn't seem like there are
> very many of these cases and I'm not sure if the deprecations would help
> ease documentation or makes it more complex though. But I wouldn't
> mind leaving doc strings for deprecated functionality out granted
> usage of the function called as specified by a GI generated doc string
> works in a backwards compatible way (similarly I think we should
> ignore arguments/doc overrides for deprecated GObject initializers).

I was mostly thinking of functions returning "(ok, result)" which gets
translated to "result or None". For other stuff, please keep in mind that
documentation can also be used for understanding old code, so I wouldn't
just ignore and hide them. I'd prefer deprecation warnings in the docstring
with instructions how to do it right in those cases.

>> * In case the override just adds some additional arguments or default
>> values it should be possible to include the gir docs in the override
>> docstring (something like "%INCLUDE%" which gets replaced)
>
> That sounds like a good idea. A bit of bike-shedding, but I think a
> more explicit name would be nice. Something like
> "%gi_doc_string_body%" or variations on that which may or may not
> include argument documentation?

Sure.

>> * In case the override uses "*args, *kwargs" because of backwards
>> compatibility or because argument processing is delegated to some helper
>> function it should be possible to define a Python signature which replaces
>> the real one as seen by Sphinx.
>
> Do you mean the doc generator could figure this out or that we make
> sure to manually add doc strings in these cases?

No, that needs be done manually somehow. Sphinx already supports such
function signature overrides in docstrings (for C extensions I guess), but
that clashes with the signature pgi exposes for type information, so I need
to find another way.

>> Once I have this working with pgi, I will try to move the override changes
>> needed to PyGObject.
>
> Sounds great. I would like to go through the existing override doc
> strings at some point and update them for better compatibility with
> Sphinx/reST. Would this be helpful or would it be in conflict with
> what you are thinking? (at least the Python only extensions like
> Property and Signal should be well formatted).

Sure, that would be helpful.

>>> * Better developer workflow. By using Python doc strings, we
>>> automatically integrate with all of the awesome Python developer tools
>>> and things like doc tips in IDE's should just work.
>>
>> Is there any IDE/editor which supports some sort of auto completion for
>> PyGObject right now (using the gi.repository import hook)?
>
> I was a bit overzealous with that statement. "should just work" is at
> least true in ipython standalone or integrated with eclipse/pydev
> (which is good enough for me at the moment). Eclipse nor Anjuta work
> for editor auto-completion with import hooks. At a cursory glance,
> Eclipse seems want to

Re: Python Docs (was Re: Coordination for developer documentations)

2014-03-10 Thread Christoph Reiter
On Sun, Mar 9, 2014 at 11:35 PM, Stefan Sauer  wrote:
> devhelp is basically the index.sgml (ignore the sgml extension, it is
> not) + prerendered html. devhelp does not do anything with the link in
> the html doc, except trying to follow them when one is clicked.

OK, thanks for the clarification
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/desktop-devel-list


Re: Python Docs (was Re: Coordination for developer documentations)

2014-03-08 Thread Christoph Reiter
On Sat, Mar 8, 2014 at 4:04 AM, Simon Feltman  wrote:
> That would be helpful. I think it would be nice to integrate your work
> (or abstracted parts of it) with pygobject itself.
>
> An idea that has been cooking in the back of my mind (and to a very
> small degree has been realized with pygobject's function signature
> docs) is to have pygobject handle documentation by filling out Python
> doc strings lazily when accessed. This would of course require
> developers to have either gir files installed or preferably devhelp
> could ship sgml (or mallard?) files which are accessible to tools
> outside of devhelp (or devhelp provides some sort of API if it doesn't
> already).

Sounds good to me.

> I think the benefits to an approach like this could be fairly significant:
>
> * GI function argument interpretation for Python docs would be as
> close as possible to pygobject by having the argument translation code
> living in pygobject itself. Preferably we could expose pygobjects
> internal argument caches which already have all the translation logic
> applied and re-use this for the docstrings. This has the benefit of
> lowering maintenance cost by ensuring the documentation for function
> arguments is in lockstep with how pygobject actually works.
>
> * Overrides and Python specific API extensions would automatically be
> included in the docs.

(This is mainly the reason why I think Python introspection + Sphinx is
better in the long run than something like g-ir-doctool.. for the Python
bindings at least)

This should be possible with the current Sphinx based approach but still
needs some work (it only shows the correct override signature atm). I need
to handle the following cases somehow:

* In case the functionality of the overidden function differs from the
original one it should be possible to replace the gir documentation
all together.

* In case the override just adds some additional arguments or default
values it should be possible to include the gir docs in the override
docstring (something like "%INCLUDE%" which gets replaced)

* In case the override uses "*args, *kwargs" because of backwards
compatibility or because argument processing is delegated to some helper
function it should be possible to define a Python signature which replaces
the real one as seen by Sphinx.

Once I have this working with pgi, I will try to move the override changes
needed to PyGObject.

> * Better developer workflow. By using Python doc strings, we
> automatically integrate with all of the awesome Python developer tools
> and things like doc tips in IDE's should just work.

Is there any IDE/editor which supports some sort of auto completion for
PyGObject right now (using the gi.repository import hook)?

> * Tools like Sphinx [1] could be used to generate html docs by
> pointing it at the "gi" Python package. In a similar vein, I realize
> Christoph's pgidocgen uses gir files translated to reStructuredText
> which is then run through Sphinx (please correct me if I'm wrong
> here).

In a limited form "pointing it at gi" should work then. It doesn't handle
import hooks afaik, so you would still have to generate rst files with all
autodoc references in them. Maybe provide it as a helper in PyGObject
similar to sphinx-apidoc.

This is basically what pgi-docgen does + adding docstrings. In addition
I've tried to hide the existence of overrides while still exposing the user
facing interfaces.

> * By using Sphinx, we also get direct references back to the Python
> docs [2] for native Python constructs (as is realized with Christoph's
> docs, although I'm not sure if it is Sphinx or pgidocgen doing that).

This is possible through the Sphinx intersphinx extension [0]. Sphinx
creates a "object.inv" [1] file which can be used by other sphinx based
projects to resolve references. This is, as you've said, used to link to
the official python documentation + the pycairo docs (see Gtk.Widget.draw()
[2] for example). It's also used in Sebastian's GTK+3 tutorial to link to
the API reference itself.

> * We could integrate Sebastian's Python GTK+ tutorials which are
> written in reST by moving them into pygobject. Since GNOME projects
> are mirrored on github, I think they could still be pushed to
> readthedocs if we want that.
>
> * Testing of example code. Another possibility is to have Python
> specific versions of the developer doc examples living under a
> sub-folder of pygobject (preferably in Python's "doctest" format
> [3]). These could be pulled into the docs given the examples have some
> type of unique tag in the xml source. They could then be run as part
> of the pygobject test suite to ensure they are working Python.
>
> * Sphinx also seems to supports devhelp output (among other formats)
> which is interesting in that we might be able to achieve a similar
> look and feel with the rest of the GNOME developer docs.

I've tried the devhelp export and it seemed to work quite well for the all
in one API docs. But I'm not sure how 

Re: Coordination for developer documentations

2014-03-07 Thread Christoph Reiter
On Thu, Mar 6, 2014 at 11:37 AM, Ekaterina Gerasimova
 wrote:
> On 6 March 2014 10:07, Christoph Reiter  wrote:
>> Since it wasn't mentioned so far; outside of gnome.org, on the Python
>> side of things, there exists the GTK+ 3 tutorial [0] maintained by
>> Sebastian Pölsterl (accepts pull requests, but isn't actively working
>> on it [1]) and the gi api reference [2], which I actively maintain.
>
> I have been using these recently and am very keen to see them on
> developer.gnome.org. There is a developer experience hackfest[3]
> coming up at the end of April which would be a perfect time to make
> that happen, is there any chance that you could make it?

Sorry, can't make it, but I'm willing to help in that regard. I can
write up a project status/roadmap if that helps.

>> There doesn't seem to be a dedicated IRC channel, so I'm idling in
>> #docs-devel now
>
> At the moment, we use #docs for everything.

OK, thanks.
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/desktop-devel-list

Re: Coordination for developer documentations

2014-03-06 Thread Christoph Reiter
(responding to the wrong mail since I just subscribed and don't bother
modifying mail headers..)

Since it wasn't mentioned so far; outside of gnome.org, on the Python
side of things, there exists the GTK+ 3 tutorial [0] maintained by
Sebastian Pölsterl (accepts pull requests, but isn't actively working
on it [1]) and the gi api reference [2], which I actively maintain.

There doesn't seem to be a dedicated IRC channel, so I'm idling in
#docs-devel now

[0] http://python-gtk-3-tutorial.readthedocs.org
[1] http://github.com/sebp/PyGObject-Tutorial/issues/35
[2] http://lazka.github.io/pgi-docs/api/Gtk_3.0/classes/Container.html
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/desktop-devel-list