Bug 242010 - [NEW PORT] graphics/pinta: Resurrect port
Summary: [NEW PORT] graphics/pinta: Resurrect port
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Kubilay Kocak
Keywords: feature
Depends on:
Reported: 2019-11-16 20:39 UTC by OlivierW
Modified: 2019-12-23 18:22 UTC (History)
3 users (show)

See Also:
koobs: maintainer-feedback+

Fix Makefile (434 bytes, patch)
2019-11-16 20:39 UTC, OlivierW
no flags Details | Diff
Fix Makefile and change maintainer (670 bytes, patch)
2019-11-17 09:04 UTC, OlivierW
no flags Details | Diff
pinta-resurrect-1.5.diff (6.60 KB, patch)
2019-11-19 01:33 UTC, Kubilay Kocak
koobs: maintainer-approval+
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description OlivierW 2019-11-16 20:39:25 UTC
Created attachment 209192 [details]
Fix Makefile

I wanted to try Pinta, but it isn't available in ports anymore.

I got the last version with:
svnlite co https://svn.freebsd.org/ports/branches/2015Q1/graphics/pinta -r 402586 /usr/local/poudriere/ports/HEAD/graphics/pinta

And tried to compile it with poudriere but got this error:
./configure: intltool-update: not found
checking for intltool >= 0.35.0...  found
configure: error: Your intltool is too old.  You need intltool 0.35.0 or later.

The fix is easy, intltool is a missing dependency. Please find my patch attached.

Now it compiles fine and I have tested Pinta on FreeBSD 12.1 :-)
Comment 1 Walter Schwarzenfeld freebsd_triage 2019-11-17 00:40:46 UTC
If you want it back in the ports tree, you have to provide a shar-file with tthe whole port. But I doubt someone  will commit it, cause it is not updated since 2015.

I guess david.vionnet@vmailbox.org is the old maintainer, you have to change it to your name.

Last version is 1.6.
Comment 2 Kubilay Kocak freebsd_committer freebsd_triage 2019-11-17 01:46:39 UTC
Thank you for investigating and resolving Olivier. Nice quick win with heaps of value.

Would you be willing to be MAINTAINER? This would seek to avoid the port degrading and being removed again in the future. If so, please update the patch accordingly
Comment 3 Kubilay Kocak freebsd_committer freebsd_triage 2019-11-17 01:57:23 UTC
Additional work required (I'll take care of this)

- Remove MOVED entry
- Remove absolute PORTSDIR references
- Group Sort USES/USE
- USE_GNOME -> USES=gnome
Comment 4 Kubilay Kocak freebsd_committer freebsd_triage 2019-11-17 01:57:36 UTC
- MAINTAINER reset (or update to Olivier)
Comment 5 Kubilay Kocak freebsd_committer freebsd_triage 2019-11-17 02:00:44 UTC
@Oliver Could you do a basic test of 1.6 to see if it works at runtime with existing gnome/mono in ports/packages. I don't have a desktop environment to test it.
Comment 6 OlivierW 2019-11-17 09:03:38 UTC

Thanks Walter and Kubilay for your help!

@Walter, how should I provide the shar file, by attaching it to this PR?

@Kubilay, I could be the maintainer, but I'm not sure I'll have time to fix if there are more difficults breakages in the future. Well, at least I can try, there aren't often new releases :-)

Before updating to 1.6 in ports, isn't it better to start by reviving 1.5? At least we know this version works :-)
Anyway, I'll try 1.6 on my computer, but I have to read some docs about the pkg-plist file. I don't want to miss files in this list.

Best Regards,
Comment 7 OlivierW 2019-11-17 09:04:43 UTC
Created attachment 209201 [details]
Fix Makefile and change maintainer
Comment 8 OlivierW 2019-11-17 09:49:23 UTC
Well, I have just tried to compile Pinta 1.6 and got lot of the same error:
Actions/WindowActions.cs(30,12): error CS0234: The type or namespace name 'Unix' does not exist in the namespace 'Mono' (are you missing an assembly reference?)
Classes/Document.cs(29,12): error CS0234: The type or namespace name 'Unix' does not exist in the namespace 'Mono' (are you missing an assembly reference?)
Classes/DocumentWorkspace.cs(29,12): error CS0234: The type or namespace name 'Unix' does not exist in the namespace 'Mono' (are you missing an assembly reference?)

I searched and found: https://bugs.launchpad.net/pinta/+bug/1523739
There is a patch provided, and the fix is commited in Pinta 1.7 (develop version).
I'll try this patch on my Pinta 1.6 port: https://github.com/PintaProject/Pinta/commit/2e33aade ( https://github.com/PintaProject/Pinta/commit/2e33aade.patch )
Comment 9 Kubilay Kocak freebsd_committer freebsd_triage 2019-11-18 01:05:11 UTC
(In reply to OlivierW from comment #6)

I intend to resurrect the port @ 1.5, given that it has been run-time tested. We can then work on the 1.6 update in a separate issue. It's preferable that the MAINTAINER be someone who has a desktop environment and uses the app. Given the slow pace of upstream development, I don't believe this port will be a substantial maintenance burden
Comment 10 OlivierW 2019-11-18 20:51:39 UTC
(In reply to Kubilay Kocak from comment #9)
Nice, sounds good :-)
Comment 11 Kubilay Kocak freebsd_committer freebsd_triage 2019-11-19 01:33:30 UTC
Created attachment 209237 [details]

@Olivier Could you build & run test patch please. I have QA'd it with poudriere (NLS off and on), but I don't have a desktop environment to run test it.
Comment 12 OlivierW 2019-11-19 18:21:20 UTC
(In reply to Kubilay Kocak from comment #11)
Thanks for your patch. But I can't successfully apply it.

I cleaned my "pinta" directory, then I cloned the same revision you used:

svnlite co https://svn.freebsd.org/ports/branches/2015Q1/graphics/pinta -r 404881 /usr/local/poudriere/ports/HEAD/graphics/pinta

Then I downloaded your patch from: https://bz-attachments.freebsd.org/attachment.cgi?id=209237

When I apply it, the first one fail:
# patch --dry-run < 209237.patch
Hmm...  Looks like a unified diff to me...
The text leading up to this was:
|Index: Makefile
|--- Makefile   (revision 404881)
|+++ Makefile   (working copy)
Patching file Makefile using Plan A...
Hunk #1 failed at 4.
1 out of 1 hunks failed while patching Makefile
Hmm...  The next patch looks like a unified diff to me...
The text leading up to this was:
|Index: distinfo
|--- distinfo   (revision 404881)
|+++ distinfo   (working copy)
Patching file distinfo using Plan A...
Hunk #1 succeeded at 1.
Hmm...  The next patch looks like a unified diff to me...
The text leading up to this was:
|Index: pkg-plist
|--- pkg-plist  (revision 404881)
|+++ pkg-plist  (working copy)
Patching file pkg-plist using Plan A...
Hunk #1 succeeded at 13.

Looking at your patch, I see your Makefile probably does have:
BROKEN=        Fails to build with mono 4
DEPRECATED=    Broken for more than 6 months
EXPIRATION_DATE=   2015-12-30

And mine doesn't have this lines… How should I download the same version of the Makefile you used? Knowing "pinta" is removed from ports.

SVN can't find it in HEAD:
# svnlite co https://svn.freebsd.org/ports/branches/HEAD/graphics/pinta /usr/local/poudriere/ports/HEAD/graphics/pinta
svn: E170000: URL 'https://svn.freebsd.org/ports/branches/HEAD/graphics/pinta' doesn't exist

That's why I downloaded it from 2015Q1 branch.

I tried reading docs: https://wiki.freebsd.org/PortsSubversionPrimer#Re-adding_a_removed_port
# svn co svn+ssh://repo.freebsd.org/ports/head/graphics
svn: E170013: Unable to connect to a repository at URL 'svn+ssh://repo.freebsd.org/ports/head/graphics'
svn: E210002: Pour mieux déboguer les problèmes de connexion SSH, retirer l'option -q de 'ssh' dans la section [tunnels] de votre fichier de configuration de Subversion.
svn: E210002: La connexion réseau a été fermée de façon inattendue

I don't understand, it tells me to remove the "-q" option of my SVN conf. I don't know what it is, I don't have this "-q" option in my "~/.subversion/config".

Trying to SSH in the server isn't any better:
# ssh repo.freebsd.org
root@repo.freebsd.org: Permission denied (publickey).
Comment 13 Kubilay Kocak freebsd_committer freebsd_triage 2019-11-22 01:16:22 UTC
(In reply to OlivierW from comment #12)

I ran the following before making modifications to the port:

svn cp 'svn+ssh://repo.freebsd.org/ports/head/category/portname/@404881' portname

Note 'copy' (cp) vs 'checkout' (co)

See Also: 

Comment 14 OlivierW 2019-11-22 18:34:28 UTC
(In reply to Kubilay Kocak from comment #13)
Thanks a lot for the command line.
Unfortunately, I get the same error message I had in my previous comment #12.

Finaly I have succeeded with:
svn co 'https://svn.freebsd.org/ports/head/graphics/pinta/@404881' /usr/local/poudriere/ports/HEAD/graphics/pinta

I had to use "https" instead of "svn+ssh". I don't really understand why it wasn't working, because my firewall doesn't block SSH connections to outside.

Anyway, the good news: I have applied your patch, recompiled pinta 1.5 with poudriere and reinstalled it on my computer. It still work perfectly well! :-D

Thanks a lot Kubilay!
Comment 15 Kubilay Kocak freebsd_committer freebsd_triage 2019-11-25 00:48:09 UTC
(In reply to OlivierW from comment #14)

Thank you Olivier. I'll land the change today
Comment 16 OlivierW 2019-12-12 22:09:27 UTC
(In reply to Kubilay Kocak from comment #15)
Hello Kubilay :-)

Can I help in anyway to get it added back in ports?

Best Regards,
Comment 17 commit-hook freebsd_committer 2019-12-22 08:30:52 UTC
A commit references this bug:

Author: koobs
Date: Sun Dec 22 08:30:25 UTC 2019
New revision: 520607
URL: https://svnweb.freebsd.org/changeset/ports/520607

  [RESSURECT] graphics/pinta: Simple Gtk# Paint Program

  Pinta is a drawing/editing program modeled after Paint.NET. Its goal is to
  provide a simplified alternative to GIMP for casual users.

  WWW: http://pinta-project.com/

  PR:		242010
  Requested by:	OlivierW <olivierw1+bugzilla-freebsd hotmail com>
  Submitted by:	OlivierW <olivierw1+bugzilla-freebsd hotmail com>  (based on)

Comment 18 Kubilay Kocak freebsd_committer freebsd_triage 2019-12-22 08:31:36 UTC
Committed, with changes. Apologies for the delay Olivier :)
Comment 19 OlivierW 2019-12-23 18:22:10 UTC
(In reply to Kubilay Kocak from comment #18)
No problem :-) Thanks a lot Kubilay! ;-)