https://wiki.inkscape.org/wiki/api.php?action=feedcontributions&user=Valavanisalex&feedformat=atomInkscape Wiki - User contributions [en]2024-03-28T17:39:36ZUser contributionsMediaWiki 1.36.1https://wiki.inkscape.org/wiki/index.php?title=Hackfest2019_Saarbr%C3%BCcken_Attendees&diff=114821Hackfest2019 Saarbrücken Attendees2019-04-30T11:09:55Z<p>Valavanisalex: /* Who is Attending? */</p>
<hr />
<div>Other pages: [[Hackfest2019 Saarbrücken]], [[Hackfest2019 Saarbrücken Topics]], [[Hackfest2019 SCALE]]. <br />
<br />
Note: <br />
<br />
For the 27th and 28th, there can be no more than 20 persons in k8's office! If there are more, they would need to find a different place to meet (e.g. in a hotel room, or ask someone local).<br />
<br />
On 29th, those persons that staff the booth in the Open Source event can be discounted from the cap (currently 3).<br />
<br />
== Who is Attending? ==<br />
<br />
{| class="wikitable" style="text-align: center;"<br />
|+ List of Attendees<br />
Hackfest<br />
|-<br />
! rowspan="2" | Who<br />
! rowspan="2" | Dates<br />
! rowspan="2" | Maximum Allocation<br />
! colspan="2" | Arrival<br />
! colspan="2" | Departure<br />
! rowspan="2" | Hotel<br />
|-<br />
! Date/Time<br />
! Detail<br />
! Date/Time<br />
! Detail<br />
|-<br />
| Tavmjong Bah <br />
| 5/27, 5/28, 5/29, 5/30, 6/1, (6/2)<br />
| TBD<br />
| <!-- arrival date + time --><br />
| <!-- arrival details, e.g. flight number --><br />
| <!-- departure date + time --><br />
| <!-- departure details, e.g. flight number --><br />
| <!-- hotel --><br />
|-<br />
| Thomas Holder<br />
| 5/27, 5/28, 5/29<br />
| TBD<br />
| <!-- arrival date + time --><br />
| <!-- arrival details, e.g. flight number --><br />
| <!-- departure date + time --><br />
| <!-- departure details, e.g. flight number --><br />
| <!-- hotel --><br />
|-<br />
| Jabier Arraiza<br />
| 5/27, 5/28, 5/29, 5/30, 6/1, 6/2<br />
| TBD<br />
| <!-- arrival date + time --><br />
| <!-- arrival details, e.g. flight number --><br />
| <!-- departure date + time --><br />
| <!-- departure details, e.g. flight number --><br />
| <!-- hotel --><br />
|-<br />
| Mihaela Jurković<br />
| 5/28 (?), 5/29, 5/30, 6/1, 6/2<br />
| TBD<br />
| <!-- arrival date + time --><br />
| <!-- arrival details, e.g. flight number --><br />
| <!-- departure date + time --><br />
| <!-- departure details, e.g. flight number --><br />
| <!-- hotel --><br />
|-<br />
| Marc Jeanmougin<br />
| <!-- dates --><br />
| TBD<br />
| <!-- arrival date + time --><br />
| <!-- arrival details, e.g. flight number --><br />
| <!-- departure date + time --><br />
| <!-- departure details, e.g. flight number --><br />
| <!-- hotel --><br />
|-<br />
| Jürgen Weigert<br />
| 5/27, ?<br />
| TBD<br />
| <!-- arrival date + time --> 5/26<br />
| <!-- arrival details, e.g. flight number --><br />
| <!-- departure date + time --><br />
| <!-- departure details, e.g. flight number --><br />
| <!-- hotel --><br />
|-<br />
| Tobias Ellinghaus<br />
| <!-- dates --><br />
| (no travel or accomodation assistance is needed)<br />
| local<br />
| <!-- arrival details, e.g. flight number --><br />
| local<br />
| <!-- departure details, e.g. flight number --><br />
| local<br />
|-<br />
| Cédric Gémy<br />
| <!-- dates --><br />
| TBD<br />
| <!-- arrival date + time --> 5/28 (evening)<br />
| <!-- arrival details, e.g. flight number --><br />
| <!-- departure date + time --><br />
| <!-- departure details, e.g. flight number --><br />
| <!-- hotel --><br />
|-<br />
| Elisa de Castro Guerra<br />
| <!-- dates --><br />
| TBD<br />
| <!-- arrival date + time --> 5/28 (evening)<br />
| <!-- arrival details, e.g. flight number --><br />
| <!-- departure date + time --><br />
| <!-- departure details, e.g. flight number --><br />
| <!-- hotel --><br />
|-<br />
| Boudewijn Rempt<br />
| <!-- dates --><br />
| (no travel or accomodation assistance is needed)<br />
| <!-- arrival date + time --><br />
| <!-- arrival details, e.g. flight number --><br />
| <!-- departure date + time --><br />
| <!-- departure details, e.g. flight number --><br />
| <!-- hotel --><br />
|-<br />
| René de Hesselle<br />
| 5/27, 5/28, 5/29<br />
| TBD<br />
| <!-- arrival date + time --><br />
| <!-- arrival details, e.g. flight number --><br />
| <!-- departure date + time --><br />
| <!-- departure details, e.g. flight number --><br />
| <!-- hotel --><br />
|-<br />
| Max Gaukler<br />
| probably: 5/27, 5/28, 5/29<br />
| (no travel or accomodation assistance is needed)<br />
| <!-- arrival date + time --><br />
| <!-- arrival details, e.g. flight number --><br />
| <!-- departure date + time --><br />
| <!-- departure details, e.g. flight number --><br />
| <!-- hotel --><br />
|-<br />
| Alex Valavanis<br />
| 5/27, 5/28, 5/29<br />
| TBD<br />
| 5/26 1400 (Frankfurt)<br />
| LH943 (Manchester to Frankfurt)<br />
| 5/30 1650 (Frankfurt)<br />
| LH946 (Frankfurt to Manchester)<br />
| Motel One<br />
|-<br />
| Sample Person<br />
| <!-- dates --><br />
| TBD<br />
| <!-- arrival date + time --><br />
| <!-- arrival details, e.g. flight number --><br />
| <!-- departure date + time --><br />
| <!-- departure details, e.g. flight number --><br />
| <!-- hotel --><br />
|-! Total<br />
!<br />
!<br />
! $ TBD<br />
!<br />
!<br />
!<br />
!<br />
!<br />
|}<br />
<br />
TBD: "To Be Determined"<br />
<br />
The Inkscape board has approved travel reimbursements of up to $2000 per person. Note: participants require the formality of a board vote.<br />
<br />
Separate allocations for:<br />
* Inkscape dinner, participants and guests (300€).<br />
* Snacks, etc. (100€).<br />
* Venue: Free.<br />
<br />
<sup>1</sup> Requires formality of board vote.<br />
<br />
== Unconfirmed but Likely Attendees ==<br />
<br />
* Alexandre Prokoudine (during LGM as visitor/guest)<br />
<br />
== Maybe ==<br />
<br />
* ede123 (Patrick)<br />
* Thomas Wiesner (@wiesi on gitlab, python console, attendence very unlikely)<br />
* Maren Hachmann<br />
<br />
== People to Invite ==<br />
<br />
* Shlomi Fish<br />
* Anatoly (@techtonik on gitlab)<br />
* Olli (https://gitlab.com/ollip)<br />
* Emmanuel Gil Peyrot (https://gitlab.com/linkmauve)<br />
* Khaled Hosny (font expert)<br />
* Antonio Hospite (https://gitlab.com/ao2)<br />
* Michael Soegtrop (https://gitlab.com/users/MSoegtrop)<br />
* Simon Wells (https://gitlab.com/xzcvczx)<br />
* Nicolas<br />
<br />
<br />
* Juan Duarte (see chat.inkscape.org) - invited for LGM via chat<br />
* Sebastian Wüst (plotting expert https://www.timewasters-place.com/) - invited via email<br />
<br />
<br />
* probono - invited via chat<br />
* Markus Schwienbacher - invited via gitlab<br />
* su_v - invited via email<br />
<br />
* <s>Sven Ebert (aka Dillerkind) - invited via forum</s><br />
* <s>Johan Engelen - invited via email, can't attend</s><br />
* <s>Martin Owens: can't attend</s><br />
* <s>Bryce Harrington: can't attend</s><br />
<br />
Possible others?<br />
* people on the mac-devel channel<br />
<br />
== Organizational info ==<br />
<br />
We need to report the rough number of attendees to k8 by mid<br />
May.</div>Valavanisalexhttps://wiki.inkscape.org/wiki/index.php?title=Hackfest2019_Saarbr%C3%BCcken_Attendees&diff=114666Hackfest2019 Saarbrücken Attendees2019-04-11T18:42:06Z<p>Valavanisalex: /* Who is Attending? */</p>
<hr />
<div>Other pages: [[Hackfest2019 Saarbrücken]], [[Hackfest2019 Saarbrücken Topics]], [[Hackfest2019 SCALE]]. <br />
<br />
Note: <br />
<br />
For the 27th and 28th, there can be no more than 20 persons in k8's office! If there are more, they would need to find a different place to meet (e.g. in a hotel room, or ask someone local).<br />
<br />
On 29th, those persons that staff the booth in the Open Source event can be discounted from the cap (currently 3).<br />
<br />
== Who is Attending? ==<br />
<br />
{| class="wikitable" style="text-align: center;"<br />
|+ List of Attendees<br />
Hackfest<br />
|-<br />
! rowspan="2" | Who<br />
! rowspan="2" | Dates<br />
! rowspan="2" | Maximum Allocation<br />
! colspan="2" | Arrival<br />
! colspan="2" | Departure<br />
! rowspan="2" | Hotel<br />
|-<br />
! Date/Time<br />
! Detail<br />
! Date/Time<br />
! Detail<br />
|-<br />
| Tavmjong Bah <br />
| 5/27, 5/28, 5/29, 5/30, 6/1, (6/2)<br />
| TBD<br />
| <!-- arrival date + time --><br />
| <!-- arrival details, e.g. flight number --><br />
| <!-- departure date + time --><br />
| <!-- departure details, e.g. flight number --><br />
| <!-- hotel --><br />
|-<br />
| Thomas Holder<br />
| 5/27, 5/28, 5/29<br />
| TBD<br />
| <!-- arrival date + time --><br />
| <!-- arrival details, e.g. flight number --><br />
| <!-- departure date + time --><br />
| <!-- departure details, e.g. flight number --><br />
| <!-- hotel --><br />
|-<br />
| Jabier Arraiza<br />
| 5/27, 5/28, 5/29, 5/30, 6/1, 6/2<br />
| TBD<br />
| <!-- arrival date + time --><br />
| <!-- arrival details, e.g. flight number --><br />
| <!-- departure date + time --><br />
| <!-- departure details, e.g. flight number --><br />
| <!-- hotel --><br />
|-<br />
| Mihaela Jurković<br />
| 5/28 (?), 5/29, 5/30, 6/1, 6/2<br />
| TBD<br />
| <!-- arrival date + time --><br />
| <!-- arrival details, e.g. flight number --><br />
| <!-- departure date + time --><br />
| <!-- departure details, e.g. flight number --><br />
| <!-- hotel --><br />
|-<br />
| Marc Jeanmougin<br />
| <!-- dates --><br />
| TBD<br />
| <!-- arrival date + time --><br />
| <!-- arrival details, e.g. flight number --><br />
| <!-- departure date + time --><br />
| <!-- departure details, e.g. flight number --><br />
| <!-- hotel --><br />
|-<br />
| Jürgen Weigert<br />
| 5/27, ?<br />
| TBD<br />
| <!-- arrival date + time --> 5/26<br />
| <!-- arrival details, e.g. flight number --><br />
| <!-- departure date + time --><br />
| <!-- departure details, e.g. flight number --><br />
| <!-- hotel --><br />
|-<br />
| Tobias Ellinghaus<br />
| <!-- dates --><br />
| (no travel or accomodation assistance is needed)<br />
| local<br />
| <!-- arrival details, e.g. flight number --><br />
| local<br />
| <!-- departure details, e.g. flight number --><br />
| local<br />
|-<br />
| Cédric Gémy<br />
| <!-- dates --><br />
| TBD<br />
| <!-- arrival date + time --> 5/28 (evening)<br />
| <!-- arrival details, e.g. flight number --><br />
| <!-- departure date + time --><br />
| <!-- departure details, e.g. flight number --><br />
| <!-- hotel --><br />
|-<br />
| Elisa de Castro Guerra<br />
| <!-- dates --><br />
| TBD<br />
| <!-- arrival date + time --> 5/28 (evening)<br />
| <!-- arrival details, e.g. flight number --><br />
| <!-- departure date + time --><br />
| <!-- departure details, e.g. flight number --><br />
| <!-- hotel --><br />
|-<br />
| Boudewijn Rempt<br />
| <!-- dates --><br />
| (no travel or accomodation assistance is needed)<br />
| <!-- arrival date + time --><br />
| <!-- arrival details, e.g. flight number --><br />
| <!-- departure date + time --><br />
| <!-- departure details, e.g. flight number --><br />
| <!-- hotel --><br />
|-<br />
| René de Hesselle<br />
| 5/27, 5/28, 5/29<br />
| TBD<br />
| <!-- arrival date + time --><br />
| <!-- arrival details, e.g. flight number --><br />
| <!-- departure date + time --><br />
| <!-- departure details, e.g. flight number --><br />
| <!-- hotel --><br />
|-<br />
| Max Gaukler<br />
| probably: 5/27, 5/28, 5/29<br />
| (no travel or accomodation assistance is needed)<br />
| <!-- arrival date + time --><br />
| <!-- arrival details, e.g. flight number --><br />
| <!-- departure date + time --><br />
| <!-- departure details, e.g. flight number --><br />
| <!-- hotel --><br />
|-<br />
| Alex Valavanis<br />
| 5/27, 5/28, 5/29<br />
| TBD<br />
| 5/26 1400 (Frankfurt)<br />
| LH943 (Manchester to Frankfurt)<br />
| 5/30 1650 (Frankfurt)<br />
| LH946 (Frankfurt to Manchester)<br />
| <!-- hotel --><br />
|-<br />
| Sample Person<br />
| <!-- dates --><br />
| TBD<br />
| <!-- arrival date + time --><br />
| <!-- arrival details, e.g. flight number --><br />
| <!-- departure date + time --><br />
| <!-- departure details, e.g. flight number --><br />
| <!-- hotel --><br />
|-! Total<br />
!<br />
!<br />
! $ TBD<br />
!<br />
!<br />
!<br />
!<br />
!<br />
|}<br />
<br />
TBD: "To Be Determined"<br />
<br />
The Inkscape board has approved travel reimbursements of up to $2000 per person. Note: participants require the formality of a board vote.<br />
<br />
Separate allocations for:<br />
* Inkscape dinner, participants and guests (300€).<br />
* Snacks, etc. (100€).<br />
* Venue: Free.<br />
<br />
<sup>1</sup> Requires formality of board vote.<br />
<br />
== Unconfirmed but Likely Attendees ==<br />
<br />
* Alexandre Prokoudine (during LGM as visitor/guest)<br />
<br />
== Maybe ==<br />
<br />
* ede123 (Patrick)<br />
* Bryce Harrington<br />
* Thomas Wiesner (@wiesi on gitlab, python console, attendence very unlikely)<br />
* Maren Hachmann<br />
<br />
== People to Invite ==<br />
<br />
* Shlomi Fish<br />
* Anatoly (@techtonik on gitlab)<br />
* Olli (https://gitlab.com/ollip)<br />
* Emmanuel Gil Peyrot (https://gitlab.com/linkmauve)<br />
* Khaled Hosny (font expert)<br />
* Antonio Hospite (https://gitlab.com/ao2)<br />
* Michael Soegtrop (https://gitlab.com/users/MSoegtrop)<br />
* Simon Wells (https://gitlab.com/xzcvczx)<br />
* Nicolas<br />
<br />
<br />
* Juan Duarte (see chat.inkscape.org) - invited for LGM via chat<br />
* Sebastian Wüst (plotting expert https://www.timewasters-place.com/) - invited via email<br />
<br />
<br />
* probono - invited via chat<br />
* Markus Schwienbacher - invited via gitlab<br />
* su_v - invited via email<br />
<br />
* <s>Sven Ebert (aka Dillerkind) - invited via forum</s><br />
* <s>Johan Engelen - invited via email, can't attend</s><br />
* <s>Martin Owens: can't attend</s><br />
<br />
Possible others?<br />
* people on the mac-devel channel<br />
<br />
== Organizational info ==<br />
<br />
We need to report the rough number of attendees to k8 by mid<br />
May.</div>Valavanisalexhttps://wiki.inkscape.org/wiki/index.php?title=Hackfest2019_Saarbr%C3%BCcken_Attendees&diff=114661Hackfest2019 Saarbrücken Attendees2019-04-11T18:21:25Z<p>Valavanisalex: /* Who is Attending? */</p>
<hr />
<div>Other pages: [[Hackfest2019 Saarbrücken]], [[Hackfest2019 Saarbrücken Topics]], [[Hackfest2019 SCALE]]. <br />
<br />
Note: <br />
<br />
For the 27th and 28th, there can be no more than 20 persons in k8's office! If there are more, they would need to find a different place to meet (e.g. in a hotel room, or ask someone local).<br />
<br />
On 29th, those persons that staff the booth in the Open Source event can be discounted from the cap (currently 3).<br />
<br />
== Who is Attending? ==<br />
<br />
{| class="wikitable" style="text-align: center;"<br />
|+ List of Attendees<br />
Hackfest<br />
|-<br />
! rowspan="2" | Who<br />
! rowspan="2" | Dates<br />
! rowspan="2" | Maximum Allocation<br />
! colspan="2" | Arrival<br />
! colspan="2" | Departure<br />
! rowspan="2" | Hotel<br />
|-<br />
! Date/Time<br />
! Detail<br />
! Date/Time<br />
! Detail<br />
|-<br />
| Tavmjong Bah <br />
| 5/27, 5/28, 5/29, 5/30, 6/1, (6/2)<br />
| TBD<br />
| <!-- arrival date + time --><br />
| <!-- arrival details, e.g. flight number --><br />
| <!-- departure date + time --><br />
| <!-- departure details, e.g. flight number --><br />
| <!-- hotel --><br />
|-<br />
| Thomas Holder<br />
| 5/27, 5/28, 5/29<br />
| TBD<br />
| <!-- arrival date + time --><br />
| <!-- arrival details, e.g. flight number --><br />
| <!-- departure date + time --><br />
| <!-- departure details, e.g. flight number --><br />
| <!-- hotel --><br />
|-<br />
| Jabier Arraiza<br />
| 5/27, 5/28, 5/29, 5/30, 6/1, 6/2<br />
| TBD<br />
| <!-- arrival date + time --><br />
| <!-- arrival details, e.g. flight number --><br />
| <!-- departure date + time --><br />
| <!-- departure details, e.g. flight number --><br />
| <!-- hotel --><br />
|-<br />
| Mihaela Jurković<br />
| 5/28 (?), 5/29, 5/30, 6/1, 6/2<br />
| TBD<br />
| <!-- arrival date + time --><br />
| <!-- arrival details, e.g. flight number --><br />
| <!-- departure date + time --><br />
| <!-- departure details, e.g. flight number --><br />
| <!-- hotel --><br />
|-<br />
| Marc Jeanmougin<br />
| <!-- dates --><br />
| TBD<br />
| <!-- arrival date + time --><br />
| <!-- arrival details, e.g. flight number --><br />
| <!-- departure date + time --><br />
| <!-- departure details, e.g. flight number --><br />
| <!-- hotel --><br />
|-<br />
| Jürgen Weigert<br />
| 5/27, ?<br />
| TBD<br />
| <!-- arrival date + time --> 5/26<br />
| <!-- arrival details, e.g. flight number --><br />
| <!-- departure date + time --><br />
| <!-- departure details, e.g. flight number --><br />
| <!-- hotel --><br />
|-<br />
| Tobias Ellinghaus<br />
| <!-- dates --><br />
| (no travel or accomodation assistance is needed)<br />
| local<br />
| <!-- arrival details, e.g. flight number --><br />
| local<br />
| <!-- departure details, e.g. flight number --><br />
| local<br />
|-<br />
| Cédric Gémy<br />
| <!-- dates --><br />
| TBD<br />
| <!-- arrival date + time --> 5/28 (evening)<br />
| <!-- arrival details, e.g. flight number --><br />
| <!-- departure date + time --><br />
| <!-- departure details, e.g. flight number --><br />
| <!-- hotel --><br />
|-<br />
| Elisa de Castro Guerra<br />
| <!-- dates --><br />
| TBD<br />
| <!-- arrival date + time --> 5/28 (evening)<br />
| <!-- arrival details, e.g. flight number --><br />
| <!-- departure date + time --><br />
| <!-- departure details, e.g. flight number --><br />
| <!-- hotel --><br />
|-<br />
| Boudewijn Rempt<br />
| <!-- dates --><br />
| (no travel or accomodation assistance is needed)<br />
| <!-- arrival date + time --><br />
| <!-- arrival details, e.g. flight number --><br />
| <!-- departure date + time --><br />
| <!-- departure details, e.g. flight number --><br />
| <!-- hotel --><br />
|-<br />
| René de Hesselle<br />
| 5/27, 5/28, 5/29<br />
| TBD<br />
| <!-- arrival date + time --><br />
| <!-- arrival details, e.g. flight number --><br />
| <!-- departure date + time --><br />
| <!-- departure details, e.g. flight number --><br />
| <!-- hotel --><br />
|-<br />
| Max Gaukler<br />
| probably: 5/27, 5/28, 5/29<br />
| (no travel or accomodation assistance is needed)<br />
| <!-- arrival date + time --><br />
| <!-- arrival details, e.g. flight number --><br />
| <!-- departure date + time --><br />
| <!-- departure details, e.g. flight number --><br />
| <!-- hotel --><br />
|-<br />
| Alex Valavanis<br />
| 5/27, 5/28, 5/29<br />
| TBD<br />
| <!-- arrival date + time --><br />
| <!-- arrival details, e.g. flight number --><br />
| <!-- departure date + time --><br />
| <!-- departure details, e.g. flight number --><br />
| <!-- hotel --><br />
|-<br />
| Sample Person<br />
| <!-- dates --><br />
| TBD<br />
| <!-- arrival date + time --><br />
| <!-- arrival details, e.g. flight number --><br />
| <!-- departure date + time --><br />
| <!-- departure details, e.g. flight number --><br />
| <!-- hotel --><br />
|-! Total<br />
!<br />
!<br />
! $ TBD<br />
!<br />
!<br />
!<br />
!<br />
!<br />
|}<br />
<br />
TBD: "To Be Determined"<br />
<br />
The Inkscape board has approved travel reimbursements of up to $2000 per person. Note: participants require the formality of a board vote.<br />
<br />
Separate allocations for:<br />
* Inkscape dinner, participants and guests (300€).<br />
* Snacks, etc. (100€).<br />
* Venue: Free.<br />
<br />
<sup>1</sup> Requires formality of board vote.<br />
<br />
== Unconfirmed but Likely Attendees ==<br />
<br />
* Alexandre Prokoudine (during LGM as visitor/guest)<br />
<br />
== Maybe ==<br />
<br />
* ede123 (Patrick)<br />
* Bryce Harrington<br />
* Thomas Wiesner (@wiesi on gitlab, python console, attendence very unlikely)<br />
* Maren Hachmann<br />
<br />
== People to Invite ==<br />
<br />
* Shlomi Fish<br />
* Anatoly (@techtonik on gitlab)<br />
* Olli (https://gitlab.com/ollip)<br />
* Emmanuel Gil Peyrot (https://gitlab.com/linkmauve)<br />
* Khaled Hosny (font expert)<br />
* Antonio Hospite (https://gitlab.com/ao2)<br />
* Michael Soegtrop (https://gitlab.com/users/MSoegtrop)<br />
* Simon Wells (https://gitlab.com/xzcvczx)<br />
* Nicolas<br />
<br />
<br />
* Juan Duarte (see chat.inkscape.org) - invited for LGM via chat<br />
* Sebastian Wüst (plotting expert https://www.timewasters-place.com/) - invited via email<br />
<br />
<br />
* probono - invited via chat<br />
* Markus Schwienbacher - invited via gitlab<br />
* su_v - invited via email<br />
<br />
* <s>Sven Ebert (aka Dillerkind) - invited via forum</s><br />
* <s>Johan Engelen - invited via email, can't attend</s><br />
* <s>Martin Owens: can't attend</s><br />
<br />
Possible others?<br />
* people on the mac-devel channel<br />
<br />
== Organizational info ==<br />
<br />
We need to report the rough number of attendees to k8 by mid<br />
May.</div>Valavanisalexhttps://wiki.inkscape.org/wiki/index.php?title=Hackfest2018_Kiel_Attendees&diff=110366Hackfest2018 Kiel Attendees2018-06-26T23:41:50Z<p>Valavanisalex: /* Who is Attending? */</p>
<hr />
<div>Other pages: [[Hackfest2018 Kiel]], [[Hackfest2018 Kiel Topics]].<br />
<br />
== Who is Attending? ==<br />
<br />
{| class="wikitable" style="text-align: center;"<br />
|+ List of Attendees<br />
Hackfest<br />
|-<br />
! rowspan="2" | Who<br />
! rowspan="2" | Dates<br />
! rowspan="2" | Maximum Allocation<br />
! colspan="2" | Arrival<br />
! colspan="2" | Departure<br />
! rowspan="2" | Hotel<br />
|-<br />
! Date/Time<br />
! Detail<br />
! Date/Time<br />
! Detail<br />
|-<br />
| Tavmjong Bah<br />
| 9/9, 9/10, 9/11, 9/12, 9/13 (TBC)<br />
| TBD<br />
| <br />
| <br />
| <br />
| <br />
|<br />
|-<br />
| Maren Hachmann<br />
| 9/9, 9/10, 9/11, 9/12, 9/13<br />
| N/A (local)<br />
| <br />
| <br />
| <br />
| <br />
|<br />
|-<br />
| Martin Owens<br />
| 9/9, 9/10, 9/11, 9/12, 9/13<br />
| TBD<br />
| 2018-09-08<br />
| Iceland Air (FI632)-(FI510)<br />
| 2018-09-14<br />
| Iceland Air (FI511)-(FI633)<br />
| TBC<br />
|-<br />
| Thomas Holder<br />
| 9-? (TBC)<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|<br />
|-<br />
| Christopher Rogers<br />
| 9-13<br />
| TBD<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| Marc Jeanmougin<br />
| 9-13<br />
| TBD<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| Jabier Arraiza<br />
| 9-13<br />
| TBD<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| Mihaela Jurković<br />
| 9-13 (TBC)<br />
| TBD<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| Max Gaukler<br />
| 9-? (TBD)<br />
| TBD (some place to sleep + ca 200$ for travel)<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| Krzysztof Kosiński<br />
| 9/? (TBD)<br />
| $0 (self-sponsored)<br />
| <br />
| <br />
| <br />
| <br />
|<br />
|-<br />
| Patrick "Ede_123" Storz<br />
| 9/? (TBD)<br />
| TBD<br />
| <br />
| <br />
| <br />
| <br />
|<br />
|-<br />
| Jürgen Weigert<br />
| 9-13<br />
| TBD<br />
| <br />
| <br />
| <br />
| <br />
| Centro Hotel Consul<br />
|-<br />
| Alex Valavanis<br />
| 9/? (TBD)<br />
| TBD<br />
| <br />
| <br />
| <br />
| <br />
|<br />
|-<br />
! Total<br />
!<br />
! $xxxx<br />
!<br />
!<br />
!<br />
!<br />
!<br />
|}<br />
<br />
TBD: "To Be Determined"<br />
<br />
Budget TBD. Separate allocation for Inkscape dinner (TBD). Venue: Free.<br />
<br />
''' Funding approved, funding details need to be determined in a second election by Inkscape board.'''<br />
<br />
Allocation for attending hackfest:<br />
* TBD</div>Valavanisalexhttps://wiki.inkscape.org/wiki/index.php?title=Roadmap&diff=109896Roadmap2018-04-08T20:21:35Z<p>Valavanisalex: /* Inkscape 1.0alpha ~ Maintenance and Optimization Focus */ note re old widgets</p>
<hr />
<div>This is a working document showing specific near-term tasks needed for achieving the numbered milestones. It is '''not a wishlist''' of features to be included in future releases. Because people often work on whatever they feel like, only the current and current+1 releases should be taken seriously. Beyond that is mainly conjectural.<br />
<br />
''See [[OldRoadmap]] for milestones that have already been achieved.''<br />
<br />
=== Inkscape 0.92 ~ Infrastructure Focus ===<br />
* (DONE) <s>Set up autogeneration of Inkscape source code documentation ([http://wiki.inkscape.org/wiki/index.php/Doxygen_documentation Doxygen not available online according to old wiki page] but [http://fossies.org/dox/inkscape-0.91pre2/ available here (fossies.org)])</s> (http://jenkins.inkscape.org/job/Inkscape_trunk_doxygen/doxygen/)<br />
** (DONE) <s>Put it publicly somewhere on the inkscape domain for "official" access.</s> (http://jenkins.inkscape.org/job/Inkscape_trunk_doxygen/doxygen/)<br />
* (DONE) <s>Build system: migrate away from Autotools (See [[Build system improvements]])</s><br />
** (DONE) <s>Decide between CMake and Waf</s><br />
*** (DONE) <s>Alex will be doing a "neutral party" review of the two</s> Decision to go with cmake for now.<br />
** (DONE) <s>Get decided system working</s><br />
*** See [[CMake_Tasks]]<br />
** (DONE) <s>Switch release tools to use new build system</s> Documented for now; will wait on mechanizing it until after switch to git.<br />
** (DONE) <s>Switch packaging tools to use new build system</s><br />
** (DONE) <s>Retain Autotools support one final release (legacy support)</s>, then drop next release.<br />
* (DONE) <s>Make the Windows uninstaller work (reevaluate this, we now have msi installer for win32 and Win64)</s><br />
<br />
=== 2Geom 1.0 ===<br />
* 2geom maintenance<br />
** Stop embedding 2Geom in Inkscape's codebase; handle it as a regular dependency<br />
** Move project to gitlab, from https://launchpad.net/lib2geom, http://lib2geom.sourceforge.net/, and https://github.com/inkscape/lib2geom [kk]<br />
** Possibly start doing lib2geom releases in conjunction with Inkscape's releases? [bryce]<br />
** Add to PPAs and other CI / autobuilds we already use for Inkscape [alex + bryce]<br />
<br />
=== Inkscape 1.0alpha ~ Maintenance and Optimization Focus ===<br />
* (DONE) <s>Migration to Git</s><br />
* (DONE) <s>Migration to GitLab</s><br />
* (DONE) <s>Decide which Unit testing framework to use ([http://inkscape.13.x6.nabble.com/Unit-testing-td4967386.html Discussion July 2013 didn't get much traction])</s><br />
** Hackfest consensus is Google test.<br />
* (DONE) <s>Set up continuous builds (e.g. Travis CI / Appveyor or gitlab)</s><br />
* (DONE) <s>Make C++11 compiler a hard requirement</s><br />
* (DONE) <s>Drop Autotools support (See [[Build system improvements]])</s><br />
* (DONE) <s>Migrate potrace to be an external dependency</s> Done for 0.92<br />
* (DONE) <s>Gtk3/UI revamp</s> Down to bug fixing and follow-on work<br />
<br />
* Split out less well maintained extensions to an 'extras' package<br />
** Add a test suite that runs each extension against a collection of test documents<br />
** Possibly start doing inkscape-extras releases in conjunction with Inkscape's releases?<br />
** If we don't achieve this by this release, push it to 1.1 or later<br />
* Split tutorials and other content from the main executable, to enable them to be updated independently of our main release process<br />
** Need to investigate where we stand with this, and re-evaluate more precisely what we want to do this release<br />
* Prepatory work for expanded testing<br />
** Document how to do the tests<br />
** Create or identify a good model test case <br />
** Implement example unit tests for: SP objects, verbs, cmdline options, live effects, UI dialogs, UI widgets/tools, UI view, etc.<br />
** Start collecting regression svg files in a testing repository somewhere<br />
* Thorough testing of document recovery after crash. Make this more robust.<br />
** Need to better define what we want to test<br />
** How should the crash be triggered?<br />
** What should the document be?<br />
** Need to be careful about what cases we actually want to consider<br />
* Improved performance<br />
** with an empty start<br />
** when starting up with an existing file<br />
** peppering printfs in the startup logic shows that some routines that should get called one time only, actually get called multiple times<br />
** need to investigate if there is existing instrumentation tools that could be used to identify recursion or other causes of slowness during startup<br />
* Improved mailing list archive<br />
** Move existing archive to inkscape.org or add an archive mirror at inkscape.org ("official" inkscape information is spread out wide between different domains), this would be an improvement.<br />
** Consider also bringing lib2geom mailing lists?<br />
** inkscape: We need postmaster@inkscape.org and abuse@inkscape.org set up. Maybe as part of a mailing list refresh?<br />
* Set up effort to package selected branches and organize community testing around them<br />
** Use this initially for changes planned for landing in 1.0<br />
** Once we're feature-frozen for 1.0, use this mechanism for wider testing of new feature work<br />
* Gtk+ 3 migration: Goal is a clean, deprecation-free build<br />
** Stop using GtkActions. Migrate toolbars to use plain widgets, and GAction<br />
** Turn Inkscape into a proper Gtk::Application. Stop using Gtk::Main<br />
** GtkMM/C++ify and clean up toolbar code<br />
** Remove unused GtkAction-based widgets<br />
<br />
=== Inkscape 1.0beta ~ Test Case and Documentation Writing Focus ===<br />
* Write unit test cases<br />
** Core functions<br />
* Better translations - keep track of % translations for all languages. Drive to 95% on all major languages.<br />
* Cleanup website and wiki<br />
** Move pages of value to users from wiki to the main website<br />
** Trim down amount of legacy material presented in the wiki<br />
* Coder stories<br />
** different stories about how to do common development tasks, like hooking in a new widget or adding support of a new SVG tag<br />
** have people sketch in what they know, then pass around for critique to optimize the description<br />
** where to store the documentation? Where would someone look?<br />
<br />
=== Inkscape 1.0 ===<br />
* Strict bugfix focus, with all development targeted to feature branches<br />
* This will be a long term stable release series<br />
<br />
-----------------------------------<br />
'''Following is a WIP draft of the post-1.0 release goals; this is not yet finalized, and should not be taken as official yet'''<br />
-----------------------------------<br />
<br />
=== Inkscape 1.1 ~ New Features ===<br />
* Land feature branches held for post-1.0<br />
* SVG Flowed Text<br />
** Fix flowtext<br />
** Implement SVG 2 flowed text which has a natural SVG 1.1 fallback.<br />
** Ex. https://dl.dropboxusercontent.com/u/65084033/irc/ask-smart-questions.svg<br />
* Externalize some (easy) dependencies for better modularization<br />
** Break libdepixelize out to its own library<br />
** Break libnrtype out to its own library<br />
** Break libuemf out to its own library<br />
** Switch to using libcroco as a regular dependency (not embedded in our codebase).<br />
*** Contact maintainer to see if still actively maintaining, and if can roll a new release for us<br />
*** Else, consider adopting maintenance of the library under the Inkscape project umbrella<br />
*** Or consider replacement with libcss or other CSS parser.<br />
*** See http://inkscape.13.x6.nabble.com/Should-inkscape-take-over-libcroco-td2784457.html<br />
** Switch to using Adaptagrams (libvpsc, libcola & libavoid) as a regular dependency<br />
*** Contact maintainer to see if still actively maintaining, and if can roll a new release for us<br />
*** Else, consider adopting maintenance of the library under the Inkscape project umbrella<br />
*** See https://bugs.launchpad.net/inkscape/+bug/1353833<br />
* Complete conversion to GTK 3<br />
** Drop use of libgdl in place of GtkNotebook<br />
** Be smarter about toolbar layout so we never have invisible (but necessary) buttons off the screen.<br />
** Rework panels so that they resize consistently and display contents better. Consider moving back to dialogs in some cases or moving more functionality to the canvas.<br />
* Begin development of new plugin / extension system(s)<br />
** C++ API with Python bindings<br />
** Review the D-Bus scripting API GSoC work from 0.48 timeframe<br />
** Easy to create<br />
** Powerful enough to do LPEs, filters, etc.<br />
** Probably need several different APIs for different levels in the codebase, such as atop the object model, one for canvas stuff, one atop the UI, etc.<br />
*** For object layer will require better division from UI, so it doesn't require a selection for items to operate on<br />
** Include a debug print of the loaded extensions/plugins/etc.<br />
** Establish an Extensions Center for community-collaborative sharing/reviewing/maintaining extensions<br />
*** Core extensions are shipped with Inkscape<br />
*** User review ranking<br />
*** Developer review ranking<br />
*** Auto-QC ranking (mechanical testing, and checking for docs, test cases, etc.)<br />
** Search the Extensions Center and install from within Inkscape<br />
* Switch to using Poppler's API rather than using internals (the current situation causes regular breakage with new releases of Poppler)<br />
* [[GtkMMification]]<br />
* Improved performance<br />
** Working with large files<br />
** Working with files with lots of filters<br />
* Consider setting up workflow (passing tests, test coverage, code review) for getting code into trunk.<br />
** Improve new contributor experience for getting patch reviews<br />
** Switch patch review software from launchpad to something like mailing list + patchwork, or phabricator<br />
* make msi Windows install multilingual<br />
* Implement application-scope actions and "remixable" user interfaces:<br />
** Replace "Verbs" with application-scope Gio::Action definitions.<br />
** Define user-interface using Gtk::Builder XML files.<br />
** Provide command-line "headless" access to application actions.<br />
** Provide documentation for all actions, and tutorial for GUI customization<br />
<br />
=== Inkscape 1.2 ~ Refactoring ===<br />
* Split backend / GUI frontend<br />
* Flip y-coordinate to match SVG.<br />
** Introduce a backwards compatibility mechanism that will allow us to modify the XML representation of editing info. This is needed to bring the desktop coordinate system in line with SVG due to guideline and 3D box problems (they save desktop coordinates in the XML). This can be done either at the SP tree level or by moving to a SAX-based parser which updates the editing information as the document is parsed.<br />
<br />
<br />
[[Category:Developer Documentation]]</div>Valavanisalexhttps://wiki.inkscape.org/wiki/index.php?title=Roadmap&diff=109891Roadmap2018-04-08T20:19:06Z<p>Valavanisalex: /* Inkscape 1.1 ~ New Features */ Added future Actions stuff</p>
<hr />
<div>This is a working document showing specific near-term tasks needed for achieving the numbered milestones. It is '''not a wishlist''' of features to be included in future releases. Because people often work on whatever they feel like, only the current and current+1 releases should be taken seriously. Beyond that is mainly conjectural.<br />
<br />
''See [[OldRoadmap]] for milestones that have already been achieved.''<br />
<br />
=== Inkscape 0.92 ~ Infrastructure Focus ===<br />
* (DONE) <s>Set up autogeneration of Inkscape source code documentation ([http://wiki.inkscape.org/wiki/index.php/Doxygen_documentation Doxygen not available online according to old wiki page] but [http://fossies.org/dox/inkscape-0.91pre2/ available here (fossies.org)])</s> (http://jenkins.inkscape.org/job/Inkscape_trunk_doxygen/doxygen/)<br />
** (DONE) <s>Put it publicly somewhere on the inkscape domain for "official" access.</s> (http://jenkins.inkscape.org/job/Inkscape_trunk_doxygen/doxygen/)<br />
* (DONE) <s>Build system: migrate away from Autotools (See [[Build system improvements]])</s><br />
** (DONE) <s>Decide between CMake and Waf</s><br />
*** (DONE) <s>Alex will be doing a "neutral party" review of the two</s> Decision to go with cmake for now.<br />
** (DONE) <s>Get decided system working</s><br />
*** See [[CMake_Tasks]]<br />
** (DONE) <s>Switch release tools to use new build system</s> Documented for now; will wait on mechanizing it until after switch to git.<br />
** (DONE) <s>Switch packaging tools to use new build system</s><br />
** (DONE) <s>Retain Autotools support one final release (legacy support)</s>, then drop next release.<br />
* (DONE) <s>Make the Windows uninstaller work (reevaluate this, we now have msi installer for win32 and Win64)</s><br />
<br />
=== 2Geom 1.0 ===<br />
* 2geom maintenance<br />
** Stop embedding 2Geom in Inkscape's codebase; handle it as a regular dependency<br />
** Move project to gitlab, from https://launchpad.net/lib2geom, http://lib2geom.sourceforge.net/, and https://github.com/inkscape/lib2geom [kk]<br />
** Possibly start doing lib2geom releases in conjunction with Inkscape's releases? [bryce]<br />
** Add to PPAs and other CI / autobuilds we already use for Inkscape [alex + bryce]<br />
<br />
=== Inkscape 1.0alpha ~ Maintenance and Optimization Focus ===<br />
* (DONE) <s>Migration to Git</s><br />
* (DONE) <s>Migration to GitLab</s><br />
* (DONE) <s>Decide which Unit testing framework to use ([http://inkscape.13.x6.nabble.com/Unit-testing-td4967386.html Discussion July 2013 didn't get much traction])</s><br />
** Hackfest consensus is Google test.<br />
* (DONE) <s>Set up continuous builds (e.g. Travis CI / Appveyor or gitlab)</s><br />
* (DONE) <s>Make C++11 compiler a hard requirement</s><br />
* (DONE) <s>Drop Autotools support (See [[Build system improvements]])</s><br />
* (DONE) <s>Migrate potrace to be an external dependency</s> Done for 0.92<br />
* (DONE) <s>Gtk3/UI revamp</s> Down to bug fixing and follow-on work<br />
<br />
* Split out less well maintained extensions to an 'extras' package<br />
** Add a test suite that runs each extension against a collection of test documents<br />
** Possibly start doing inkscape-extras releases in conjunction with Inkscape's releases?<br />
** If we don't achieve this by this release, push it to 1.1 or later<br />
* Split tutorials and other content from the main executable, to enable them to be updated independently of our main release process<br />
** Need to investigate where we stand with this, and re-evaluate more precisely what we want to do this release<br />
* Prepatory work for expanded testing<br />
** Document how to do the tests<br />
** Create or identify a good model test case <br />
** Implement example unit tests for: SP objects, verbs, cmdline options, live effects, UI dialogs, UI widgets/tools, UI view, etc.<br />
** Start collecting regression svg files in a testing repository somewhere<br />
* Thorough testing of document recovery after crash. Make this more robust.<br />
** Need to better define what we want to test<br />
** How should the crash be triggered?<br />
** What should the document be?<br />
** Need to be careful about what cases we actually want to consider<br />
* Improved performance<br />
** with an empty start<br />
** when starting up with an existing file<br />
** peppering printfs in the startup logic shows that some routines that should get called one time only, actually get called multiple times<br />
** need to investigate if there is existing instrumentation tools that could be used to identify recursion or other causes of slowness during startup<br />
* Improved mailing list archive<br />
** Move existing archive to inkscape.org or add an archive mirror at inkscape.org ("official" inkscape information is spread out wide between different domains), this would be an improvement.<br />
** Consider also bringing lib2geom mailing lists?<br />
** inkscape: We need postmaster@inkscape.org and abuse@inkscape.org set up. Maybe as part of a mailing list refresh?<br />
* Set up effort to package selected branches and organize community testing around them<br />
** Use this initially for changes planned for landing in 1.0<br />
** Once we're feature-frozen for 1.0, use this mechanism for wider testing of new feature work<br />
* Gtk+ 3 migration: Goal is a clean, deprecation-free build<br />
** Stop using GtkActions. Migrate toolbars to use plain widgets, and GAction<br />
** Turn Inkscape into a proper Gtk::Application. Stop using Gtk::Main<br />
<br />
=== Inkscape 1.0beta ~ Test Case and Documentation Writing Focus ===<br />
* Write unit test cases<br />
** Core functions<br />
* Better translations - keep track of % translations for all languages. Drive to 95% on all major languages.<br />
* Cleanup website and wiki<br />
** Move pages of value to users from wiki to the main website<br />
** Trim down amount of legacy material presented in the wiki<br />
* Coder stories<br />
** different stories about how to do common development tasks, like hooking in a new widget or adding support of a new SVG tag<br />
** have people sketch in what they know, then pass around for critique to optimize the description<br />
** where to store the documentation? Where would someone look?<br />
<br />
=== Inkscape 1.0 ===<br />
* Strict bugfix focus, with all development targeted to feature branches<br />
* This will be a long term stable release series<br />
<br />
-----------------------------------<br />
'''Following is a WIP draft of the post-1.0 release goals; this is not yet finalized, and should not be taken as official yet'''<br />
-----------------------------------<br />
<br />
=== Inkscape 1.1 ~ New Features ===<br />
* Land feature branches held for post-1.0<br />
* SVG Flowed Text<br />
** Fix flowtext<br />
** Implement SVG 2 flowed text which has a natural SVG 1.1 fallback.<br />
** Ex. https://dl.dropboxusercontent.com/u/65084033/irc/ask-smart-questions.svg<br />
* Externalize some (easy) dependencies for better modularization<br />
** Break libdepixelize out to its own library<br />
** Break libnrtype out to its own library<br />
** Break libuemf out to its own library<br />
** Switch to using libcroco as a regular dependency (not embedded in our codebase).<br />
*** Contact maintainer to see if still actively maintaining, and if can roll a new release for us<br />
*** Else, consider adopting maintenance of the library under the Inkscape project umbrella<br />
*** Or consider replacement with libcss or other CSS parser.<br />
*** See http://inkscape.13.x6.nabble.com/Should-inkscape-take-over-libcroco-td2784457.html<br />
** Switch to using Adaptagrams (libvpsc, libcola & libavoid) as a regular dependency<br />
*** Contact maintainer to see if still actively maintaining, and if can roll a new release for us<br />
*** Else, consider adopting maintenance of the library under the Inkscape project umbrella<br />
*** See https://bugs.launchpad.net/inkscape/+bug/1353833<br />
* Complete conversion to GTK 3<br />
** Drop use of libgdl in place of GtkNotebook<br />
** Be smarter about toolbar layout so we never have invisible (but necessary) buttons off the screen.<br />
** Rework panels so that they resize consistently and display contents better. Consider moving back to dialogs in some cases or moving more functionality to the canvas.<br />
* Begin development of new plugin / extension system(s)<br />
** C++ API with Python bindings<br />
** Review the D-Bus scripting API GSoC work from 0.48 timeframe<br />
** Easy to create<br />
** Powerful enough to do LPEs, filters, etc.<br />
** Probably need several different APIs for different levels in the codebase, such as atop the object model, one for canvas stuff, one atop the UI, etc.<br />
*** For object layer will require better division from UI, so it doesn't require a selection for items to operate on<br />
** Include a debug print of the loaded extensions/plugins/etc.<br />
** Establish an Extensions Center for community-collaborative sharing/reviewing/maintaining extensions<br />
*** Core extensions are shipped with Inkscape<br />
*** User review ranking<br />
*** Developer review ranking<br />
*** Auto-QC ranking (mechanical testing, and checking for docs, test cases, etc.)<br />
** Search the Extensions Center and install from within Inkscape<br />
* Switch to using Poppler's API rather than using internals (the current situation causes regular breakage with new releases of Poppler)<br />
* [[GtkMMification]]<br />
* Improved performance<br />
** Working with large files<br />
** Working with files with lots of filters<br />
* Consider setting up workflow (passing tests, test coverage, code review) for getting code into trunk.<br />
** Improve new contributor experience for getting patch reviews<br />
** Switch patch review software from launchpad to something like mailing list + patchwork, or phabricator<br />
* make msi Windows install multilingual<br />
* Implement application-scope actions and "remixable" user interfaces:<br />
** Replace "Verbs" with application-scope Gio::Action definitions.<br />
** Define user-interface using Gtk::Builder XML files.<br />
** Provide command-line "headless" access to application actions.<br />
** Provide documentation for all actions, and tutorial for GUI customization<br />
<br />
=== Inkscape 1.2 ~ Refactoring ===<br />
* Split backend / GUI frontend<br />
* Flip y-coordinate to match SVG.<br />
** Introduce a backwards compatibility mechanism that will allow us to modify the XML representation of editing info. This is needed to bring the desktop coordinate system in line with SVG due to guideline and 3D box problems (they save desktop coordinates in the XML). This can be done either at the SP tree level or by moving to a SAX-based parser which updates the editing information as the document is parsed.<br />
<br />
<br />
[[Category:Developer Documentation]]</div>Valavanisalexhttps://wiki.inkscape.org/wiki/index.php?title=Roadmap&diff=109886Roadmap2018-04-08T19:53:40Z<p>Valavanisalex: /* Inkscape 1.0alpha ~ Maintenance and Optimization Focus */ Added Gtk+ 3 migration tasks</p>
<hr />
<div>This is a working document showing specific near-term tasks needed for achieving the numbered milestones. It is '''not a wishlist''' of features to be included in future releases. Because people often work on whatever they feel like, only the current and current+1 releases should be taken seriously. Beyond that is mainly conjectural.<br />
<br />
''See [[OldRoadmap]] for milestones that have already been achieved.''<br />
<br />
=== Inkscape 0.92 ~ Infrastructure Focus ===<br />
* (DONE) <s>Set up autogeneration of Inkscape source code documentation ([http://wiki.inkscape.org/wiki/index.php/Doxygen_documentation Doxygen not available online according to old wiki page] but [http://fossies.org/dox/inkscape-0.91pre2/ available here (fossies.org)])</s> (http://jenkins.inkscape.org/job/Inkscape_trunk_doxygen/doxygen/)<br />
** (DONE) <s>Put it publicly somewhere on the inkscape domain for "official" access.</s> (http://jenkins.inkscape.org/job/Inkscape_trunk_doxygen/doxygen/)<br />
* (DONE) <s>Build system: migrate away from Autotools (See [[Build system improvements]])</s><br />
** (DONE) <s>Decide between CMake and Waf</s><br />
*** (DONE) <s>Alex will be doing a "neutral party" review of the two</s> Decision to go with cmake for now.<br />
** (DONE) <s>Get decided system working</s><br />
*** See [[CMake_Tasks]]<br />
** (DONE) <s>Switch release tools to use new build system</s> Documented for now; will wait on mechanizing it until after switch to git.<br />
** (DONE) <s>Switch packaging tools to use new build system</s><br />
** (DONE) <s>Retain Autotools support one final release (legacy support)</s>, then drop next release.<br />
* (DONE) <s>Make the Windows uninstaller work (reevaluate this, we now have msi installer for win32 and Win64)</s><br />
<br />
=== 2Geom 1.0 ===<br />
* 2geom maintenance<br />
** Stop embedding 2Geom in Inkscape's codebase; handle it as a regular dependency<br />
** Move project to gitlab, from https://launchpad.net/lib2geom, http://lib2geom.sourceforge.net/, and https://github.com/inkscape/lib2geom [kk]<br />
** Possibly start doing lib2geom releases in conjunction with Inkscape's releases? [bryce]<br />
** Add to PPAs and other CI / autobuilds we already use for Inkscape [alex + bryce]<br />
<br />
=== Inkscape 1.0alpha ~ Maintenance and Optimization Focus ===<br />
* (DONE) <s>Migration to Git</s><br />
* (DONE) <s>Migration to GitLab</s><br />
* (DONE) <s>Decide which Unit testing framework to use ([http://inkscape.13.x6.nabble.com/Unit-testing-td4967386.html Discussion July 2013 didn't get much traction])</s><br />
** Hackfest consensus is Google test.<br />
* (DONE) <s>Set up continuous builds (e.g. Travis CI / Appveyor or gitlab)</s><br />
* (DONE) <s>Make C++11 compiler a hard requirement</s><br />
* (DONE) <s>Drop Autotools support (See [[Build system improvements]])</s><br />
* (DONE) <s>Migrate potrace to be an external dependency</s> Done for 0.92<br />
* (DONE) <s>Gtk3/UI revamp</s> Down to bug fixing and follow-on work<br />
<br />
* Split out less well maintained extensions to an 'extras' package<br />
** Add a test suite that runs each extension against a collection of test documents<br />
** Possibly start doing inkscape-extras releases in conjunction with Inkscape's releases?<br />
** If we don't achieve this by this release, push it to 1.1 or later<br />
* Split tutorials and other content from the main executable, to enable them to be updated independently of our main release process<br />
** Need to investigate where we stand with this, and re-evaluate more precisely what we want to do this release<br />
* Prepatory work for expanded testing<br />
** Document how to do the tests<br />
** Create or identify a good model test case <br />
** Implement example unit tests for: SP objects, verbs, cmdline options, live effects, UI dialogs, UI widgets/tools, UI view, etc.<br />
** Start collecting regression svg files in a testing repository somewhere<br />
* Thorough testing of document recovery after crash. Make this more robust.<br />
** Need to better define what we want to test<br />
** How should the crash be triggered?<br />
** What should the document be?<br />
** Need to be careful about what cases we actually want to consider<br />
* Improved performance<br />
** with an empty start<br />
** when starting up with an existing file<br />
** peppering printfs in the startup logic shows that some routines that should get called one time only, actually get called multiple times<br />
** need to investigate if there is existing instrumentation tools that could be used to identify recursion or other causes of slowness during startup<br />
* Improved mailing list archive<br />
** Move existing archive to inkscape.org or add an archive mirror at inkscape.org ("official" inkscape information is spread out wide between different domains), this would be an improvement.<br />
** Consider also bringing lib2geom mailing lists?<br />
** inkscape: We need postmaster@inkscape.org and abuse@inkscape.org set up. Maybe as part of a mailing list refresh?<br />
* Set up effort to package selected branches and organize community testing around them<br />
** Use this initially for changes planned for landing in 1.0<br />
** Once we're feature-frozen for 1.0, use this mechanism for wider testing of new feature work<br />
* Gtk+ 3 migration: Goal is a clean, deprecation-free build<br />
** Stop using GtkActions. Migrate toolbars to use plain widgets, and GAction<br />
** Turn Inkscape into a proper Gtk::Application. Stop using Gtk::Main<br />
<br />
=== Inkscape 1.0beta ~ Test Case and Documentation Writing Focus ===<br />
* Write unit test cases<br />
** Core functions<br />
* Better translations - keep track of % translations for all languages. Drive to 95% on all major languages.<br />
* Cleanup website and wiki<br />
** Move pages of value to users from wiki to the main website<br />
** Trim down amount of legacy material presented in the wiki<br />
* Coder stories<br />
** different stories about how to do common development tasks, like hooking in a new widget or adding support of a new SVG tag<br />
** have people sketch in what they know, then pass around for critique to optimize the description<br />
** where to store the documentation? Where would someone look?<br />
<br />
=== Inkscape 1.0 ===<br />
* Strict bugfix focus, with all development targeted to feature branches<br />
* This will be a long term stable release series<br />
<br />
-----------------------------------<br />
'''Following is a WIP draft of the post-1.0 release goals; this is not yet finalized, and should not be taken as official yet'''<br />
-----------------------------------<br />
<br />
=== Inkscape 1.1 ~ New Features ===<br />
* Land feature branches held for post-1.0<br />
* SVG Flowed Text<br />
** Fix flowtext<br />
** Implement SVG 2 flowed text which has a natural SVG 1.1 fallback.<br />
** Ex. https://dl.dropboxusercontent.com/u/65084033/irc/ask-smart-questions.svg<br />
* Externalize some (easy) dependencies for better modularization<br />
** Break libdepixelize out to its own library<br />
** Break libnrtype out to its own library<br />
** Break libuemf out to its own library<br />
** Switch to using libcroco as a regular dependency (not embedded in our codebase).<br />
*** Contact maintainer to see if still actively maintaining, and if can roll a new release for us<br />
*** Else, consider adopting maintenance of the library under the Inkscape project umbrella<br />
*** Or consider replacement with libcss or other CSS parser.<br />
*** See http://inkscape.13.x6.nabble.com/Should-inkscape-take-over-libcroco-td2784457.html<br />
** Switch to using Adaptagrams (libvpsc, libcola & libavoid) as a regular dependency<br />
*** Contact maintainer to see if still actively maintaining, and if can roll a new release for us<br />
*** Else, consider adopting maintenance of the library under the Inkscape project umbrella<br />
*** See https://bugs.launchpad.net/inkscape/+bug/1353833<br />
* Complete conversion to GTK 3<br />
** Drop use of libgdl in place of GtkNotebook<br />
** Be smarter about toolbar layout so we never have invisible (but necessary) buttons off the screen.<br />
** Rework panels so that they resize consistently and display contents better. Consider moving back to dialogs in some cases or moving more functionality to the canvas.<br />
* Begin development of new plugin / extension system(s)<br />
** C++ API with Python bindings<br />
** Review the D-Bus scripting API GSoC work from 0.48 timeframe<br />
** Easy to create<br />
** Powerful enough to do LPEs, filters, etc.<br />
** Probably need several different APIs for different levels in the codebase, such as atop the object model, one for canvas stuff, one atop the UI, etc.<br />
*** For object layer will require better division from UI, so it doesn't require a selection for items to operate on<br />
** Include a debug print of the loaded extensions/plugins/etc.<br />
** Establish an Extensions Center for community-collaborative sharing/reviewing/maintaining extensions<br />
*** Core extensions are shipped with Inkscape<br />
*** User review ranking<br />
*** Developer review ranking<br />
*** Auto-QC ranking (mechanical testing, and checking for docs, test cases, etc.)<br />
** Search the Extensions Center and install from within Inkscape<br />
* Switch to using Poppler's API rather than using internals (the current situation causes regular breakage with new releases of Poppler)<br />
* [[GtkMMification]]<br />
* Improved performance<br />
** Working with large files<br />
** Working with files with lots of filters<br />
* Consider setting up workflow (passing tests, test coverage, code review) for getting code into trunk.<br />
** Improve new contributor experience for getting patch reviews<br />
** Switch patch review software from launchpad to something like mailing list + patchwork, or phabricator<br />
* make msi Windows install multilingual<br />
<br />
=== Inkscape 1.2 ~ Refactoring ===<br />
* Split backend / GUI frontend<br />
* Flip y-coordinate to match SVG.<br />
** Introduce a backwards compatibility mechanism that will allow us to modify the XML representation of editing info. This is needed to bring the desktop coordinate system in line with SVG due to guideline and 3D box problems (they save desktop coordinates in the XML). This can be done either at the SP tree level or by moving to a SAX-based parser which updates the editing information as the document is parsed.<br />
<br />
<br />
[[Category:Developer Documentation]]</div>Valavanisalexhttps://wiki.inkscape.org/wiki/index.php?title=GtkAction_migration&diff=109736GtkAction migration2018-03-29T19:23:41Z<p>Valavanisalex: </p>
<hr />
<div>== Background: what are actions? ==<br />
<br />
An "action" is a thing that Inkscape can do. In its simplest form, it contains two things:<br />
* The name of the action (e.g., "ObjectFlipHorizontally")<br />
* A pointer to some code that performs the action (e.g., a few lines that flip the object horizontally)<br />
<br />
In the Inkscape application, we can attach actions to widgets so that when the user interacts with that widget (e.g. clicks on the "Flip horizontally" button in the toolbar), the action is triggered. <br />
<br />
=== How is this different from GUI events? ===<br />
<br />
GUI elements (buttons etc) provide their own signals (e.g, "clicked") that are emitted in response to user interaction. We then need to connect a callback function to handle that specific GUI event. If we have multiple GUI elements (e.g., a menu item, toolbar button etc) that all do the same thing, we need to hook up the callback function to each of the GUI elements.<br />
<br />
With actions, it's a little different: the '''action''' has an "activated" signal. We now only need to connect the callback function to that one signal. Each GUI element is now just attached to the action rather than directly to the code that we want to run.<br />
<br />
The advantages of actions are as follows:<br />
* Less code to write: we only need one signal handler for the "activate" signal; not multiple handlers for each GUI event<br />
* Easier look-up: Each action is identified by a unique text ID, and so we can access it by name.<br />
<br />
== Background: Action implementations ==<br />
There are a few different implementations of actions:<br />
<br />
=== GAction or Gio::Action ===<br />
These are probably the simplest implementation, and the way we "should" be doing this. The Gio::Action class [https://developer.gnome.org/glibmm/2.40/classGio_1_1SimpleAction.html] really just defines a name for the action, along with possible states and parameters.<br />
<br />
These actions need to be listed in an action-map, which is essentially a table that lists each action and the function that handles its "activate" signal.<br />
<br />
== Migrating widgets ==<br />
Use the following replacements for old GtkAction-based widgets:<br />
<br />
* ege-adjustment-action => SpinButtonToolItem<br />
* SPWidget => Nothing... just put your widget directly in the toolbar<br />
<br />
=== Containers ===<br />
* ConnectorToolbar<br />
* DropperToolbar<br />
<br />
== Known bugs ==<br />
* SpinButtonToolItem: Pressing enter or escape does nothing (it should drop focus to canvas)</div>Valavanisalexhttps://wiki.inkscape.org/wiki/index.php?title=GtkAction_migration&diff=109526GtkAction migration2018-03-27T21:49:17Z<p>Valavanisalex: Added some notes</p>
<hr />
<div>== Background: what are actions? ==<br />
<br />
An "action" is a thing that Inkscape can do. In its simplest form, it contains two things:<br />
* The name of the action (e.g., "ObjectFlipHorizontally")<br />
* A pointer to some code that performs the action (e.g., a few lines that flip the object horizontally)<br />
<br />
In the Inkscape application, we can attach actions to widgets so that when the user interacts with that widget (e.g. clicks on the "Flip horizontally" button in the toolbar), the action is triggered. <br />
<br />
=== How is this different from GUI events? ===<br />
<br />
GUI elements (buttons etc) provide their own signals (e.g, "clicked") that are emitted in response to user interaction. We then need to connect a callback function to handle that specific GUI event. If we have multiple GUI elements (e.g., a menu item, toolbar button etc) that all do the same thing, we need to hook up the callback function to each of the GUI elements.<br />
<br />
With actions, it's a little different: the '''action''' has an "activated" signal. We now only need to connect the callback function to that one signal. Each GUI element is now just attached to the action rather than directly to the code that we want to run.<br />
<br />
The advantages of actions are as follows:<br />
* Less code to write: we only need one signal handler for the "activate" signal; not multiple handlers for each GUI event<br />
* Easier look-up: Each action is identified by a unique text ID, and so we can access it by name.<br />
<br />
== Background: Action implementations ==<br />
There are a few different implementations of actions:<br />
<br />
=== GAction or Gio::Action ===<br />
These are probably the simplest implementation, and the way we "should" be doing this. The Gio::Action class [https://developer.gnome.org/glibmm/2.40/classGio_1_1SimpleAction.html] really just defines a name for the action, along with possible states and parameters.<br />
<br />
These actions need to be listed in an action-map, which is essentially a table that lists each action and the function that handles its "activate" signal.<br />
<br />
== Already migrated ==<br />
=== Widgets ===<br />
* ege-adjustment-action => SpinButtonToolItem<br />
<br />
=== Containers ===<br />
* ConnectorToolbar<br />
* DropperToolbar<br />
<br />
== Known bugs ==<br />
* SpinButtonToolItem: Pressing enter or escape does nothing (it should drop focus to canvas)</div>Valavanisalexhttps://wiki.inkscape.org/wiki/index.php?title=GtkAction_migration&diff=109506GtkAction migration2018-03-27T18:33:33Z<p>Valavanisalex: start</p>
<hr />
<div>== Already migrated ==<br />
=== Widgets ===<br />
* ege-adjustment-action => SpinButtonToolItem<br />
<br />
=== Containers ===<br />
* ConnectorToolbar<br />
* DropperToolbar<br />
<br />
== Known bugs ==<br />
* SpinButtonToolItem: Pressing enter or escape does nothing (it should drop focus to canvas)</div>Valavanisalexhttps://wiki.inkscape.org/wiki/index.php?title=Refactoring_projects&diff=109501Refactoring projects2018-03-27T18:31:41Z<p>Valavanisalex: /* Super Large Projects */</p>
<hr />
<div><br />
{{DevDiscussion}}<br />
<br />
A List of Refactoring Projects<br />
<br />
See [[Development Project Ideas]] and [[Projects | Funded Project Ideas]] for more possible projects.<br />
<br />
See [[Refactoring plan]] for guidelines on how to refactor.<br />
<br />
= Little Projects =<br />
<br />
* Derive SPStar from SPShape (not SPPolygon), update 'object/README'.<br />
* Move sp-item-transform.h functions into SPItem.<br />
* Move sp-item-update-cns.h function into SPItem.<br />
* Move sp-item-rm-unsatisfied-cns.h function into SPItem.<br />
* Remove config.h code (or document why it is needed).<br />
* Remove macros.h (or document why it is needed).<br />
* Remove dependence on Glib::object in ResourceManager().<br />
* Simplify ResourceManager... it does only one thing: fix broken links.<br />
* In SPObject one can write:<br />
getRepr()->setAttribute("x", "y");<br />
or<br />
setKeyValue( sp_attribute_lookup("x"), "y");<br />
These are redundant and neither is really convenient. SPObject perhaps should have it's own setAttribute() function.<br />
* Rename helper-fns.h with a better discriptive name and move to util(?).<br />
<br />
= Medium Projects =<br />
<br />
* Remove god-awful SPWidget (only used for selection).<br />
* Move most files in 'src' to subdirectories, add ''README'' for each directory with description of contents.<br />
* In toolbars, use ''dataKludge'' or ''data'' or ''tbl'' or ''holder'' ... but not all four! (Maybe combine with C++ify toolbars -- probably removed need for ''data''.)<br />
* Remove InkAction class. Normal GTK button actions should be able to handle SVG icons... no need for derived class.<br />
* Make data members private in SPI::Base and derived class. Add set() function. Default to SP_STYLE_UNSET in constructor, setting to SP_STYLE_SRC_PROP in set().<br />
<br />
= Large Projects =<br />
<br />
* C++ify toolbars.<br />
* Convert verbs to Gio::Action's(?).<br />
* Add a one or two line description of what each file contains at the top of the file if it is missing.<br />
* Remove livarot, moving any needed functionality into lib2geom or other files.<br />
<br />
= Super Large Projects =<br />
<br />
* Convert all GtkActions's and Gtk::Action's to Gio::Action's. See [[GtkAction migration]]<br />
* Convert GUI to XML files.<br />
* Invert 'y' coordinate system to match SVG.</div>Valavanisalexhttps://wiki.inkscape.org/wiki/index.php?title=Refactoring_projects&diff=109496Refactoring projects2018-03-27T18:31:31Z<p>Valavanisalex: /* Super Large Projects */</p>
<hr />
<div><br />
{{DevDiscussion}}<br />
<br />
A List of Refactoring Projects<br />
<br />
See [[Development Project Ideas]] and [[Projects | Funded Project Ideas]] for more possible projects.<br />
<br />
See [[Refactoring plan]] for guidelines on how to refactor.<br />
<br />
= Little Projects =<br />
<br />
* Derive SPStar from SPShape (not SPPolygon), update 'object/README'.<br />
* Move sp-item-transform.h functions into SPItem.<br />
* Move sp-item-update-cns.h function into SPItem.<br />
* Move sp-item-rm-unsatisfied-cns.h function into SPItem.<br />
* Remove config.h code (or document why it is needed).<br />
* Remove macros.h (or document why it is needed).<br />
* Remove dependence on Glib::object in ResourceManager().<br />
* Simplify ResourceManager... it does only one thing: fix broken links.<br />
* In SPObject one can write:<br />
getRepr()->setAttribute("x", "y");<br />
or<br />
setKeyValue( sp_attribute_lookup("x"), "y");<br />
These are redundant and neither is really convenient. SPObject perhaps should have it's own setAttribute() function.<br />
* Rename helper-fns.h with a better discriptive name and move to util(?).<br />
<br />
= Medium Projects =<br />
<br />
* Remove god-awful SPWidget (only used for selection).<br />
* Move most files in 'src' to subdirectories, add ''README'' for each directory with description of contents.<br />
* In toolbars, use ''dataKludge'' or ''data'' or ''tbl'' or ''holder'' ... but not all four! (Maybe combine with C++ify toolbars -- probably removed need for ''data''.)<br />
* Remove InkAction class. Normal GTK button actions should be able to handle SVG icons... no need for derived class.<br />
* Make data members private in SPI::Base and derived class. Add set() function. Default to SP_STYLE_UNSET in constructor, setting to SP_STYLE_SRC_PROP in set().<br />
<br />
= Large Projects =<br />
<br />
* C++ify toolbars.<br />
* Convert verbs to Gio::Action's(?).<br />
* Add a one or two line description of what each file contains at the top of the file if it is missing.<br />
* Remove livarot, moving any needed functionality into lib2geom or other files.<br />
<br />
= Super Large Projects =<br />
<br />
* Convert all GtkActions's and Gtk::Action's to Gio::Action's. See [GtkAction migration]<br />
* Convert GUI to XML files.<br />
* Invert 'y' coordinate system to match SVG.</div>Valavanisalexhttps://wiki.inkscape.org/wiki/index.php?title=Tracking_Dependencies&diff=109491Tracking Dependencies2018-03-27T14:36:20Z<p>Valavanisalex: /* Distros */ zesty EOL</p>
<hr />
<div>== Overview ==<br />
<br />
We need help getting our basic lib dependencies listed out and kept up to date. Also we need to track which versions of which distros have the needed dependencies.<br />
<br />
To get glib and GTK+ dependencies figured out, people can go through the API documentation and look for the 'since' entries saying when calls were added. Then look for those calls in our source. Voila! we'll have base minimum dependencies figured out.<br />
<br />
== Compilers ==<br />
<br />
For C++11 features, see [[C++11]]<br />
<br />
=== gcc ===<br />
=== clang ===<br />
<br />
== Libs ==<br />
<br />
C++ bindings are not included, since their required versions match those of the C counterparts. Versions in parentheses refer to the dependencies for experimental Gtk+ 3 builds.<br />
<br />
{| class="wikitable"<br />
|-<br />
! Library<br />
! v 0.92<br />
! trunk<br />
|-<br />
| Boehm-GC<br />
| 7.2<br />
| 7.2<br />
|-<br />
| Cairo<br />
| 1.10<br />
| 1.10<br />
|-<br />
| GDL<br />
| N/A<br />(3.4)<br />
| 3.4<br />
|-<br />
| Glib<br />
| 2.28<br />
| 2.28<br />
|-<br />
| GTK+<br />
| 2.24<br />(3.8)<br />
| 3.18<br />
|-<br />
| GNU Scientific Library<br />
| ?<br />
| ?<br />
|-<br />
| libSoup<br />
| N/A<br />
| (any)<br />
|-<br />
| LittleCMS<br />
| 1.13<br />
| 1.13<br />
|-<br />
| libxml<br />
| ''2.6.11*''<br />
| ''2.6.11*''<br />
|-<br />
| libxslt<br />
| ''1.0.15*''<br />
| ''1.0.15*''<br />
|-<br />
| Pango<br />
| 1.24<br />
| 1.24<br />
|-<br />
| Poppler<br />
| 0.20.0<br />
| 0.20.0<br />
|-<br />
| libsigc++<br />
| ''2.0.12*''<br />
| ''2.0.12*''<br />
|}<br />
<br />
''* Tentative dependency''<br />
<br />
== Distros ==<br />
<br />
Note: This table is not relevant to (non-fink) MacOS X, where we ship the desired version with Inkscape.<br />
<br />
"Inkscape" column is default or distro version / oldest that builds - latest that builds. If no latest is given then that means trunk is expected to build on the given platform.<br />
<br />
e.g. for a distro that ships with 0.48 but should support building of trunk you might get:<br />
0.48 / 0.47-<br />
<br />
{| class="wikitable"<br />
|-<br />
! Distro<br />
! Inkscape<br />
! gcc<br />
! clang<br />
! cairo<br />
! cairomm<br />
! glib<br />
! glibmm<br />
! gtk+<br />
! gtkmm<br />
! pango<br />
! poppler<br />
! gdl<br />
! lcms<br />
! libsigc++<br />
! libgc <!-- Fedora rpm: gc --><br />
! libsoup<br />
|-<br />
| style="background:Violet;"|Windows Devlibs (32bit) [https://code.launchpad.net/~inkscape.dev/inkscape-devlibs/trunk] (r66)<br />
|<br />
| 4.6.1<br />
| (n/a)<br />
| 1.14.6<br />
| 1.10.0<br />
| 2.28.8<br />
| 2.28.2<br />
| style="background:Violet;"| 2.24.10<br />
| style="background:Violet;"| 2.24.2<br />
| 1.28.3<br />
| 0.39.0<br />
| style="background:Violet;"| (n/a)<br />
| 1.17<br />2.4<br />
| 2.2.11<br />
| 7.4.2<br />
| (n/a)<br />
|-<br />
| style="background:Orange; | Windows Devlibs Gtk+ 3 branch [https://code.launchpad.net/~inkscape.dev/inkscape-devlibs/devlibs-gtk3] (r34)<br />
|<br />
|<br />
|<br />
| 1.10.2<br />
| 1.10.0<br />
| 2.38.0<br />
| 2.36.0<br />
| style="background:Orange; | 2.24.18<br />3.8.1<br />
| style="background:Orange; | 2.24.2<br />3.8.0<br />
| 1.34.0<br />
| 0.22.5<br />
| 3.4.2<br />
| 1.19<br />2.4<br />
| 2.2.10<br />
| 7.2d<br />
| (n/a)<br />
|-<br />
| Windows Devlibs 64bit [https://code.launchpad.net/~inkscape.dev/inkscape-devlibs64/trunk] (r36)<br />
|<br />
| 5.3.0<br />
| (n/a)<br />
| 1.15.2<br />
| 1.12.0<br />
| 2.47.4<br />
| 2.46.3<br />
| 2.24.29<br />3.19.6<br />
| 2.24.4<br />3.18.0<br />
| 1.39.0<br />
| 0.40.0<br />
| 3.18.0<br />
| -<br />2.7<br />
| 2.6.2<br />
| 7.4.2<br />
| (n/a)<br />
|-<br />
| Windows MSYS2 (2018-01-12)<br/>([https://github.com/Alexpux/MINGW-packages mingw-w64 packages] from MSYS2 project)<br />
<!-- see http://quodlibet.duckdns.org/msys2/base for list of latest package versions --><br />
| 0.92.2<br />
| 7.2.0<br />
| <abbr title="untested">(5.0.0)</abbr><br />
| 1.15.10<br />
| 1.12.0<br />
| 2.54.2<br />
| 2.54.1<br />
| 2.24.32<br />3.22.26<br />
| 2.24.5<br />3.22.0<br />
| 1.40.11<br />
| 0.62.0<br />
| 3.22.0<br />
| 1.19<br />2.8<br />
| 2.10.0<br />
| 7.6.2<br />
| 2.60.2<br />
|-<br />
| style="background:Orange; | Debian 8 (Jessie, <i>oldstable</i>, <small>EOL 2018-06-06</small>)<br />
| 0.48.5<br />
| 4.9.2<br />
| 3.5<br />
| 1.14.0<br />
| 1.10.0<br />
| 2.42.1<br />
| 2.42.0<br />
| style="background:Orange; | 2.24.25<br />3.14.5<br />
| style="background:Orange; | 2.24.4<br />3.14.0<br />
| 1.36.8<br />
| 0.26.5<br />
| 3.14.0<br />
| 2.6<br />
| 2.4.0<br />
| 7.2d<br />
| 2.48.0<br />
|-<br />
| Debian 9 (Stretch, <i>stable</i>)<br />
| 0.92.1<br />
| 6.3.0<br />
| 3.8<br />
| 1.14.8<br />
| 1.12.0<br />
| 2.50.3<br />
| 2.50.0<br />
| 2.24.31<br />3.22.11<br />
| 2.24.5<br />3.22.0<br />
| 1.40.5<br />
| 0.48.0<br />
| 3.22.0<br />
| 2.8<br />
| 2.10.0<br />
| 7.4.2<br />
| 2.56.0<br />
|-<br />
| style="background:Violet;"|RHEL / CentOS / Scientific Linux 7.4<br />
| 0.48<br />
| 4.8.3<br />
| X <br />
| 1.12.14<br />
| 1.10.0<br />
| 2.40.0<br />
| 2.36.2<br />
| 2.24.22<br />3.22.10<br />
| 2.24.2<br />3.22.0<br />
| 1.34.1<br />
| 0.22.5<br />
| style="background:Violet;"|X<br />
| 2.5.4<br />
| 2.3.1<br />
| 7.2d<br />
|-<br />
| style="background:Orange; | Ubuntu 14.04 LTS (Trusty) <small>EOL 2019-04</small><br />
| 0.48.4<br />
| 4.8.2<br />
| (U 3.5)<br />
| 1.13.0<br />
| 1.10.0<br />
| 2.40.2<br />
| 2.39.93<br />
| style="background:Orange; | 2.24.23<br />3.10.8<br />
| style="background:Orange; | 2.24.4<br />3.10.1<br />
| 1.36.3<br />
| 0.24.5<br />
| 3.8.1<br />
| 1.19<br />2.5<br />
| 2.2.10<br />
| 7.2d<br />
| 2.44.2<br />
|-<br />
| Ubuntu 16.04 LTS (Xenial) <small>EOL 2021-04)</small><br />
| 0.91.0<br />
| 5.3.1<br />
| 3.8<br />
| 1.14.6<br />
| 1.12.0<br />
| 2.48.0<br />
| 2.46.3<br />
| 2.24.30<br />3.18.9<br />
| 2.24.4<br />3.18.0<br />
| 1.38.1<br />
| 0.41.0<br />
| 3.18.0<br />
| 2.6<br />
| 2.6.2<br />
| 7.4.2<br />
| 2.52.2<br />
|-<br />
| Ubuntu 17.10 (Artful) <small>EOL 2018-07</small><br />
| 0.92.2<br />
| 7.2<br />
| 5.0<br />
| 1.14.10<br />
| 1.12.2<br />
| 2.54.1<br />
| 2.54.1<br />
| 2.24.31<br />3.22.22<br />
| 2.24.5<br />3.22.2<br />
| 1.40.12<br />
| 0.57.0<br />
| 3.26.0<br />
| 2.7<br />
| 2.10.0<br />
| 7.4.2<br />
| 2.60.1<br />
|}<br />
<br />
{| class="wikitable"<br />
|-<br />
! Legend<br />
|-<br />
| style="background:Red;"| Inkscape stable unsupported<br />
|-<br />
| style="background:Orange;"| Inkscape trunk unsupported<br />
|-<br />
| style="background:Violet;"| GTK+ 3 builds unsupported<br />
|}<br />
<br />
== Getting and Installing Source packages ==<br />
<br />
If your distro does not have some packages available (like many don't, ie, Fedora Core 2), you must often download<br />
source packages and build and install them yourself. Actually this is not that hard, and is similar to<br />
doing a Gentoo 'emerge.'<br />
<br />
* Usually you download a file with a name like somepackage-1.0.tar.gz. Unpack it with<br />
<br />
$ tar zxf somepackage-1.0.tar.gz<br />
or<br />
$ tar jxf somepackage-1.0.tar.bz2<br />
<br />
* Then 'cd' into the new directory.<br />
<br />
* Configure it with the command:<br />
<br />
$ ./configure<br />
<br />
* Build it with:<br />
<br />
$ make<br />
<br />
* As the 'root' user, install it with:<br />
<br />
# make install<br />
<br />
=== Boehm-GC ===<br />
<br />
Source: http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source<br />
<br />
* Download this file:<br />
** http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc6.8.tar.gz<br />
* Unpack it<br />
** tar zxf gc6.8.tar.gz<br />
* Configure and build it<br />
** cd gc6.8<br />
** ./configure --disable-shared --enable-static<br />
** make<br />
* Install it<br />
** su (or however else you become root)<br />
** make install<br />
<br />
Binaries: If searching for a package for GC, the name of it is sometimes:<br />
<br />
* gc<br />
* libgc<br />
* gc-devel<br />
* libgc-devel<br />
* boehm-gc (on Gentoo)<br />
* debian/ubuntu: sudo apt-get install libgc-dev<br />
<br />
=== libSigc++ ===<br />
<br />
Source: http://ftp.gnome.org/pub/GNOME/sources/libsigc++/2.2/libsigc++-2.2.3.tar.bz2<br />
<br />
With this file, and for GlibMM and GtkMM below, it is usually desirable for us developers to<br />
build this C++ library statically. This removes a dependency that might be difficult for an<br />
end-user during installation. Configure it with:<br />
<br />
./configure --enable-static --disable-shared<br />
<br />
=== GlibMM ===<br />
Try to match your Glib2 version with GlibMM's version. For example, if your Glib2 is 2.16.6, download glibmm-2.16.4.tar.bz2.<br />
<br />
Latest source: http://ftp.gnome.org/pub/GNOME/sources/glibmm/<br />
<br />
=== GtkMM ===<br />
Usually you can try the latest version of GtkMM, but if you get version mismatch errors, try older releases.<br />
<br />
Source: http://ftp.gnome.org/pub/GNOME/sources/gtkmm/2.12/gtkmm-2.12.7.tar.bz2<br />
<br />
=== cairomm ===<br />
<br />
if you got prompted about cairomm, try first solve your cairo version, so you can grab [http://www.cairographics.org/releases/ there] a compatible version.<br />
<br />
<br />
=== Boost ===<br />
<br />
Many users have reported when building from source that after installing the above dependencies, the configure script still requires a "boost" package. It can be found below, but even after installing, you will need to create a symlink to allow the configure script to find it:<br />
<br />
ln -s /usr/local/include/boost_1_xx_x/boost /usr/local/include/boost<br />
<br />
Source: http://www.boost.org/users/download/<br />
<br />
=== Poppler ===<br />
<br />
Source: http://poppler.freedesktop.org/<br />
<br />
Poppler is required for PDF import. There are several potential issues:<br />
* Some Linux distributions do not ship the Xpdf headers required by Inkscape. In such cases, you need to recompile Poppler, passing --enable-xpdf-headers on the configure line or install the libpoppler-private-dev package. See [https://bugs.launchpad.net/inkscape/+bug/254849 this wishlist bug]. This typically manifests in error messages like this:<br />
<pre>In file included from extension/internal/pdfinput/svg-builder.cpp:19:<br />
extension/internal/pdfinput/svg-builder.h:32:23: error: CharTypes.h: No such file or directory<br />
...<br />
make[2]: *** [extension/internal/pdfinput/svg-builder.o] Error 1<br />
make[2]: Leaving directory `/tmp/build/inkscape-0.46/src'<br />
make[1]: *** [all-recursive] Error 1<br />
make[1]: Leaving directory `/tmp/build/inkscape-0.46'<br />
make: *** [all] Error 2</pre><br />
* Inkscape 0.47 does not compile with Poppler >= 0.12.2. If you need to compile Inkscape on such systems, use the development version from Bazaar, where this bug is fixed. See [https://bugs.launchpad.net/inkscape/+bug/487038 the bug report] for details and a minimal patch.<br />
* Inkscape compiled with Poppler <= 0.12.1 will run on systems with Poppler >= 0.12.2, but the PDF import function will crash instantly. This problem does not concern Windows users, since the correct Poppler version is contained in the Windows installer package. This cannot be fixed on Inkscape's side: those two versions of Poppler are not ABI compatible, yet share the same soname. See [https://bugs.launchpad.net/inkscape/+bug/258504 this bug] for more details.<br />
* Poppler's Xpdf headers are not guaranteed to be API-compatible between releases. It's likely that future Poppler versions will break PDF import in some way. PDF import works at least up to 0.12.4 but might not work with later versions.<br />
<br />
== Optional Dependencies ==<br />
<br />
Inkscape will still compile without these, but some features may be missing if they are absent during compilation:<br />
<br />
{| class="wikitable"<br />
|-<br />
! scope="col"| Library<br />
! scope="col"| Needed for<br />
! scope="col"| Default<br />
|-<br />
|aspell<br />
|Dictionaries for spell checking<br />
|On<br />
|-<br />
|libcdr<br />
|Open Corel Draw files<br />
|On<br />
|-<br />
|gettext/msgformat<br />
|Translation support<br />
|On<br />
|-<br />
|gtest/gmock<br />
|Automatted testing<br />
|Off<br />
|-<br />
|gtkspell<br />
|Spell checking<br />
|On<br />
|-<br />
|imagemagick<br />
|Bitmap editing extensions, bitmap import resolution<br />
|On<br />
|-<br />
|jpeg<br />
|jpeg import?<br />
|On<br />
|-<br />
|lcms<br />
|Color management<br />
|On<br />
|-<br />
|OpenMP<br />
|Multi-threaded filter rendering<br />
|On<br />
|-<br />
|libpotrace<br />
|Bucket fill, Trace bitmap<br />
|On<br />
|-<br />
|scour<br />
|Save as Optimized SVG<br />
|(not needed during compiling, Python)<br />
|-<br />
|libvisio<br />
|Open Visio Files, use Visio stencils<br />
|On<br />
|-<br />
|libwpg<br />
|Open WordPerfect Graphics<br />
|On<br />
|-<br />
|libyaml<br />
|[[Using_xverbs|xverbs command line options]]<br />
|On<br />
|-<br />
|}<br />
<br />
<br />
<br />
[[Category:About Inkscape]]<br />
[[Category:Developer Documentation]]</div>Valavanisalexhttps://wiki.inkscape.org/wiki/index.php?title=Hackfest2018_Topics&diff=109081Hackfest2018 Topics2018-03-22T14:18:45Z<p>Valavanisalex: GSettings</p>
<hr />
<div>Other pages: [[Hackfest2018]], [[Hackfest2018 Attendees]].<br />
<br />
== Topics for Inkscape's 2018 Hackfest ==<br />
<br />
* Inkscape Code<br />
** Overall structure review (Tav)<br />
** [[Source Directory Structure]] (Tav)<br />
** GTK 3<br />
*** GAction (Gio::Action) vs GtkAction (Gtk::Action) [Including Toolbar migration/C++ification]<br />
*** Use of "[https://developer.gnome.org/gtkmm/stable/classGtk_1_1Popover.html Popover]" widget to reduce clutter. (Tav)<br />
*** Consider migrating Preferences to use GSettings?<br />
** Modernising start-up: GtkApplication instead of GtkMain; GOption instead of Popt<br />
<br />
* Infrastructure<br />
** Fund raising<br />
** Marketing/Outreach (Inkscape Vectors)<br />
** Cloudscale.ch service hosting (Bryce)<br />
<br />
* Branding/Website (Ryan)<br />
** Visitor Review<br />
*** Popular Content<br />
*** Device/Browser/Screens<br />
*** Conversion Performance<br />
** Website Objectives<br />
*** Performance<br />
*** Branding<br />
*** Conversion<br />
** Technical Discussion<br />
*** Django CMS Constraints<br />
*** Responsive Frameworks (e.g. Bootstrap)<br />
** Wireframing<br />
** Static Mockups<br />
** Development Planning<br />
<br />
* [[Roadmap]] planning<br />
** Which items targeted for 0.93 are still doable in available timeframe? Ensure all 0.93-targeted items are assigned to an active developer. Push remaining items to future milestones.<br />
** What else must be achieved before we can release 1.0? Make sure roadmap reflects it. Move anything extraneous to post-1.0 or to other lists.<br />
<br />
== Suggestions from Community ==<br />
<br />
* Extensions: Update to Python 3 before Python 2 is deprecated.<br />
<br />
== Copied from 2017 Hackfest for inspiration... move up to add to 2018 topics ==<br />
<br />
* Infrastructure<br />
** Forums<br />
** Website<br />
** Documentation<br />
** Developer Infrastructure<br />
*** Git<br />
*** Automatic builds (windows, mac os)<br />
*** Testing<br />
**** Jenkins<br />
**** Failure with gitlab.<br />
<br />
* Inkscape Code<br />
** GUI<br />
*** GTK3<br />
*** UX<br />
**** Flexible layout<br />
**** Keyboard shortcuts<br />
**** Text Tool - Tool Bar<br />
** Internal<br />
*** C++11<br />
*** Coordinate system flip<br />
*** Modularity/Extensibility/Addons<br />
*** Performance<br />
*** Standardize dialog code<br />
<br />
* Bugs/Requests (from G+)<br />
** Dialogs<br />
*** path/bitmap dialog doesn't remember defaults<br />
*** Dockable: Properties, Export PNG dialogs.<br />
*** Document Properties dialog too large.<br />
*** Dockable dialogs steal keystrokes. (x2)<br />
*** Export: foo.svg.png<br />
** Surface Pro 3 pen not recognized as having pressure<br />
** Native Mac OS X (x2)<br />
** Menus too long<br />
** Export to JPG.<br />
** User control over 90dpi vs 96dpi<br />
** Theme Dark/Light</div>Valavanisalexhttps://wiki.inkscape.org/wiki/index.php?title=Hackfest2018_Topics&diff=109076Hackfest2018 Topics2018-03-22T14:08:55Z<p>Valavanisalex: </p>
<hr />
<div>Other pages: [[Hackfest2018]], [[Hackfest2018 Attendees]].<br />
<br />
== Topics for Inkscape's 2018 Hackfest ==<br />
<br />
* Inkscape Code<br />
** Overall structure review (Tav)<br />
** [[Source Directory Structure]] (Tav)<br />
** GTK 3<br />
*** GAction (Gio::Action) vs GtkAction (Gtk::Action) [Including Toolbar migration/C++ification]<br />
*** Use of "[https://developer.gnome.org/gtkmm/stable/classGtk_1_1Popover.html Popover]" widget to reduce clutter. (Tav)<br />
** Modernising start-up: GtkApplication instead of GtkMain; GOption instead of Popt<br />
<br />
* Infrastructure<br />
** Fund raising<br />
** Marketing/Outreach (Inkscape Vectors)<br />
** Cloudscale.ch service hosting (Bryce)<br />
<br />
* Branding/Website (Ryan)<br />
** Visitor Review<br />
*** Popular Content<br />
*** Device/Browser/Screens<br />
*** Conversion Performance<br />
** Website Objectives<br />
*** Performance<br />
*** Branding<br />
*** Conversion<br />
** Technical Discussion<br />
*** Django CMS Constraints<br />
*** Responsive Frameworks (e.g. Bootstrap)<br />
** Wireframing<br />
** Static Mockups<br />
** Development Planning<br />
<br />
* [[Roadmap]] planning<br />
** Which items targeted for 0.93 are still doable in available timeframe? Ensure all 0.93-targeted items are assigned to an active developer. Push remaining items to future milestones.<br />
** What else must be achieved before we can release 1.0? Make sure roadmap reflects it. Move anything extraneous to post-1.0 or to other lists.<br />
<br />
== Suggestions from Community ==<br />
<br />
* Extensions: Update to Python 3 before Python 2 is deprecated.<br />
<br />
== Copied from 2017 Hackfest for inspiration... move up to add to 2018 topics ==<br />
<br />
* Infrastructure<br />
** Forums<br />
** Website<br />
** Documentation<br />
** Developer Infrastructure<br />
*** Git<br />
*** Automatic builds (windows, mac os)<br />
*** Testing<br />
**** Jenkins<br />
**** Failure with gitlab.<br />
<br />
* Inkscape Code<br />
** GUI<br />
*** GTK3<br />
*** UX<br />
**** Flexible layout<br />
**** Keyboard shortcuts<br />
**** Text Tool - Tool Bar<br />
** Internal<br />
*** C++11<br />
*** Coordinate system flip<br />
*** Modularity/Extensibility/Addons<br />
*** Performance<br />
*** Standardize dialog code<br />
<br />
* Bugs/Requests (from G+)<br />
** Dialogs<br />
*** path/bitmap dialog doesn't remember defaults<br />
*** Dockable: Properties, Export PNG dialogs.<br />
*** Document Properties dialog too large.<br />
*** Dockable dialogs steal keystrokes. (x2)<br />
*** Export: foo.svg.png<br />
** Surface Pro 3 pen not recognized as having pressure<br />
** Native Mac OS X (x2)<br />
** Menus too long<br />
** Export to JPG.<br />
** User control over 90dpi vs 96dpi<br />
** Theme Dark/Light</div>Valavanisalexhttps://wiki.inkscape.org/wiki/index.php?title=Hackfest2018_Attendees&diff=109071Hackfest2018 Attendees2018-03-22T14:03:31Z<p>Valavanisalex: /* Who is Attending? */</p>
<hr />
<div>Other pages: [[Hackfest2018]], [[Hackfest2018 Topics]].<br />
<br />
== Who is Attending? ==<br />
<br />
{| class="wikitable" style="text-align: center;"<br />
|+ List of Attendees<br />
Hackfest<br />
|-<br />
! rowspan="2" | Who<br />
! rowspan="2" | Dates<br />
! rowspan="2" | Allocation<br />
! colspan="2" | Arrival<br />
! colspan="2" | Departure<br />
! rowspan="2" | Hotel<br />
|-<br />
! Date/Time<br />
! Detail<br />
! Date/Time<br />
! Detail<br />
|-<br />
| Martin Owens (doctormo) [host]<br />
| 3/26, 3/27, 3/28, 3/29, 3/30<br />
| $2000<br />
| colspan="4" | Local<br />
|<br />
|-<br />
| Máirín Duffy (mizmo) [host]<br />
| 3/26, 3/27, 3/28<br />
| N/A<br />
| colspan="4" | Local<br />
|<br />
|-<br />
| David Cantrell (?) [host]<br />
| 3/29, 3/30<br />
| N/A<br />
| colspan="4" | Local<br />
|<br />
|-<br />
| Tavmjong Bah (tav)<br />
| 3/26, 3/27, 3/28, 3/29, 3/30<br />
| $2000<br />
| 3/24 13:24pm<br />
| Air France 3616 (Delta)<br />
| 4/01 7:10pm<br />
| Air France 0333<br />
|<br />
|-<br />
| Bryce Harrington (bryce)<br />
| 3/26, 3/27, 3/28, 3/29, 3/30<br />
| $2000<br />
| 3/25 4:44pm<br />
| Alaska Air<br />
| 3/31 4:32pm<br />
| Alaska Air<br />
| Yotel<br />
|-<br />
| Ryan Gorley (ryan)<br />
| 3/26, 3/27, 3/28, 3/29, 3/30<br />
| $1000<br />
| 3/25 6:13am<br />
| JetBlue<br />
| 3/30 7:15pm<br />
| JetBlue<br />
| w/Doctormo<br />
|-<br />
| Alex Valavanis (valavanisalex)<br />
| 3/26, 3/27, 3/28, 3/29, 3/30<br />
| $2000<br />
| 3/25 4:55pm<br />
| United 1202<br />
| 4/4 4:28pm<br />
| United 1425<br />
| AirBnB (South Boston)<br />
|-<br />
| Felipe Sanches (juca)<br />
| 3/26, 3/27, 3/28, 3/29, 3/30 (TBC)<br />
| TBD<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| Matthias Clasen (mclasen)<br />
| TBD<br />
| N/A<br />
| colspan="4" | Local<br />
|<br />
|-<br />
! Total<br />
!<br />
! $11,000<sup>2</sup><br />
!<br />
!<br />
!<br />
!<br />
|}<br />
<br />
TBD: "To Be Determined"<br />
<br />
Budget $13,000. Separate allocation for Inkscape dinner ($600). Venue: Free.<br />
<br />
<sup>1</sup> Sponsored by outside organization.<br />
<sup>2</sup> Actual expenditure expected to be much smaller.<br />
<br />
Allocation for attending hackfest:<br />
* Up to $2000 each for Inkscape developers who have contributed for 3+ years and > 200 commits.<br />
* Up to $1500 each for Inkscape developers who have contributed for 2+ years and > 100 commits.<br />
* Up to $1000 each for Inkscape developers who have contributed for 1+ year and > 50 commits.<br />
* Up to $500 each for any Inkscape contributor listed in AUTHORS file with at least 10 commits by Jan 1, 2018.<br />
<br />
If your are an active contributor to Inkscape but are NOT in the AUTHORS file (translator, documentor, etc.) we may still be able to provide some funding on a case-by-case basis.<br />
<br />
<b>To receive reimbursement for travel expenses you MUST follow [https://sfconservancy.org/projects/policies/conservancy-travel-policy.html SFC travel policy]!</b></div>Valavanisalexhttps://wiki.inkscape.org/wiki/index.php?title=Hackfest2018_Topics&diff=108701Hackfest2018 Topics2018-03-10T16:58:18Z<p>Valavanisalex: /* Topics for Inkscape's 2018 Hackfest */ note re start-up code</p>
<hr />
<div>Other pages: [[Hackfest2018]], [[Hackfest2018 Attendees]].<br />
<br />
== Topics for Inkscape's 2018 Hackfest ==<br />
<br />
* Inkscape Code<br />
** Overall structure review (Tav)<br />
** [[Source Directory Structure]] (Tav)<br />
** GTK 3<br />
*** GAction (Gio::Action) vs GtkAction (Gtk::Action)<br />
*** Use of "[https://developer.gnome.org/gtkmm/stable/classGtk_1_1Popover.html Popover]" widget to reduce clutter. (Tav)<br />
** Modernising start-up: GtkApplication instead of GtkMain; GOption instead of Popt<br />
<br />
* Infrastructure<br />
** Fund raising<br />
** Marketing/Outreach (Inkscape Vectors)<br />
** Cloudscale.ch service hosting (Bryce)<br />
<br />
* Branding/Website (Ryan)<br />
** Visitor Review<br />
*** Popular Content<br />
*** Device/Browser/Screens<br />
*** Conversion Performance<br />
** Website Objectives<br />
*** Performance<br />
*** Branding<br />
*** Conversion<br />
** Technical Discussion<br />
*** Django CMS Constraints<br />
*** Responsive Frameworks (e.g. Bootstrap)<br />
** Wireframing<br />
** Static Mockups<br />
** Development Planning<br />
<br />
* [[Roadmap]] planning<br />
** Which items targeted for 0.93 are still doable in available timeframe? Ensure all 0.93-targeted items are assigned to an active developer. Push remaining items to future milestones.<br />
** What else must be achieved before we can release 1.0? Make sure roadmap reflects it. Move anything extraneous to post-1.0 or to other lists.<br />
<br />
== Suggestions from Community ==<br />
<br />
* Extensions: Update to Python 3 before Python 2 is deprecated.<br />
<br />
== Copied from 2017 Hackfest for inspiration... move up to add to 2018 topics ==<br />
<br />
* Infrastructure<br />
** Forums<br />
** Website<br />
** Documentation<br />
** Developer Infrastructure<br />
*** Git<br />
*** Automatic builds (windows, mac os)<br />
*** Testing<br />
**** Jenkins<br />
**** Failure with gitlab.<br />
<br />
* Inkscape Code<br />
** GUI<br />
*** GTK3<br />
*** UX<br />
**** Flexible layout<br />
**** Keyboard shortcuts<br />
**** Text Tool - Tool Bar<br />
** Internal<br />
*** C++11<br />
*** Coordinate system flip<br />
*** Modularity/Extensibility/Addons<br />
*** Performance<br />
*** Standardize dialog code<br />
<br />
* Bugs/Requests (from G+)<br />
** Dialogs<br />
*** path/bitmap dialog doesn't remember defaults<br />
*** Dockable: Properties, Export PNG dialogs.<br />
*** Document Properties dialog too large.<br />
*** Dockable dialogs steal keystrokes. (x2)<br />
*** Export: foo.svg.png<br />
** Surface Pro 3 pen not recognized as having pressure<br />
** Native Mac OS X (x2)<br />
** Menus too long<br />
** Export to JPG.<br />
** User control over 90dpi vs 96dpi<br />
** Theme Dark/Light</div>Valavanisalexhttps://wiki.inkscape.org/wiki/index.php?title=Hackfest2018_Attendees&diff=108376Hackfest2018 Attendees2018-03-04T17:24:03Z<p>Valavanisalex: /* Who is Attending? */ room booked</p>
<hr />
<div>Other pages: [[Hackfest2018]], [[Hackfest2018 Topics]].<br />
<br />
== Who is Attending? ==<br />
<br />
{| class="wikitable" style="text-align: center;"<br />
|+ List of Attendees<br />
Hackfest<br />
|-<br />
! rowspan="2" | Who<br />
! rowspan="2" | Dates<br />
! rowspan="2" | Allocation<br />
! colspan="2" | Arrival<br />
! colspan="2" | Departure<br />
! rowspan="2" | Hotel<br />
|-<br />
! Date/Time<br />
! Detail<br />
! Date/Time<br />
! Detail<br />
|-<br />
| Martin Owens (doctormo) [host]<br />
| 3/26, 3/27, 3/28, 3/29, 3/30<br />
| $2000<br />
| colspan="4" | Local<br />
|<br />
|-<br />
| Tavmjong Bah<br />
| 3/26, 3/27, 3/28, 3/29, 3/30<br />
| $2000<br />
| 3/24 13:24pm<br />
| Air France 3616 (Delta)<br />
| 4/01 7:10pm<br />
| Air France 0333<br />
|<br />
|-<br />
| Bryce Harrington<br />
| 3/26, 3/27, 3/28, 3/29, 3/30<br />
| $2000<br />
| 3/25 4:44pm<br />
| Alaska Air<br />
| 3/31 4:32pm<br />
| Alaska Air<br />
| Yotel<br />
|-<br />
| Ryan Gorley<br />
| 3/26, 3/27, 3/28, 3/29, 3/30<br />
| $1000<br />
| 3/25 6:13am<br />
| JetBlue<br />
| 3/30 7:15pm<br />
| JetBlue<br />
| w/Doctormo<br />
|-<br />
| Máirín Duffy (mizmo) [host]<br />
| 3/26, 3/27, 3/28, 3/29, 3/30<br />
| N/A<br />
| colspan="4" | Local<br />
|<br />
|-<br />
| Matthias Clasen (mclasen)<br />
| TBD<br />
| N/A<br />
| colspan="4" | Local<br />
|<br />
|-<br />
| Alex Valavanis (valavanisalex)<br />
| 3/26, 3/27, 3/28, 3/29, 3/30 (TBC)<br />
| $2000<br />
| 3/25 4:55pm<br />
| United 1202<br />
| 4/4 4:28pm<br />
| United 1425<br />
| AirBnB (South Boston)<br />
|-<br />
! Total<br />
!<br />
! $9000<sup>2</sup><br />
!<br />
!<br />
!<br />
!<br />
!<br />
|}<br />
<br />
TBD: "To Be Determined"<br />
<br />
Budget $13,000. Separate allocation for Inkscape dinner ($600). Venue: Free.<br />
<br />
<sup>1</sup> Sponsored by outside organization.<br />
<sup>2</sup> Actual expenditure expected to be much smaller.<br />
<br />
Allocation for attending hackfest:<br />
* Up to $2000 each for Inkscape developers who have contributed for 3+ years and > 200 commits.<br />
* Up to $1500 each for Inkscape developers who have contributed for 2+ years and > 100 commits.<br />
* Up to $1000 each for Inkscape developers who have contributed for 1+ year and > 50 commits.<br />
* Up to $500 each for any Inkscape contributor listed in AUTHORS file with at least 10 commits by Jan 1, 2018.<br />
<br />
If your are an active contributor to Inkscape but are NOT in the AUTHORS file (translator, documentor, etc.) we may still be able to provide some funding on a case-by-case basis.<br />
<br />
<b>To receive reimbursement for travel expenses you MUST follow [https://sfconservancy.org/projects/policies/conservancy-travel-policy.html SFC travel policy]!</b></div>Valavanisalexhttps://wiki.inkscape.org/wiki/index.php?title=Hackfest2018_Attendees&diff=108371Hackfest2018 Attendees2018-03-04T16:27:43Z<p>Valavanisalex: Added flight details</p>
<hr />
<div>Other pages: [[Hackfest2018]], [[Hackfest2018 Topics]].<br />
<br />
== Who is Attending? ==<br />
<br />
{| class="wikitable" style="text-align: center;"<br />
|+ List of Attendees<br />
Hackfest<br />
|-<br />
! rowspan="2" | Who<br />
! rowspan="2" | Dates<br />
! rowspan="2" | Allocation<br />
! colspan="2" | Arrival<br />
! colspan="2" | Departure<br />
! rowspan="2" | Hotel<br />
|-<br />
! Date/Time<br />
! Detail<br />
! Date/Time<br />
! Detail<br />
|-<br />
| Martin Owens (doctormo) [host]<br />
| 3/26, 3/27, 3/28, 3/29, 3/30<br />
| $2000<br />
| colspan="4" | Local<br />
|<br />
|-<br />
| Tavmjong Bah<br />
| 3/26, 3/27, 3/28, 3/29, 3/30<br />
| $2000<br />
| 3/24 13:24pm<br />
| Air France 3616 (Delta)<br />
| 4/01 7:10pm<br />
| Air France 0333<br />
|<br />
|-<br />
| Bryce Harrington<br />
| 3/26, 3/27, 3/28, 3/29, 3/30<br />
| $2000<br />
| 3/25 4:44pm<br />
| Alaska Air<br />
| 3/31 4:32pm<br />
| Alaska Air<br />
| Yotel<br />
|-<br />
| Ryan Gorley<br />
| 3/26, 3/27, 3/28, 3/29, 3/30<br />
| $1000<br />
| 3/25 6:13am<br />
| JetBlue<br />
| 3/30 7:15pm<br />
| JetBlue<br />
| w/Doctormo<br />
|-<br />
| Máirín Duffy (mizmo) [host]<br />
| 3/26, 3/27, 3/28, 3/29, 3/30<br />
| N/A<br />
| colspan="4" | Local<br />
|<br />
|-<br />
| Matthias Clasen (mclasen)<br />
| TBD<br />
| N/A<br />
| colspan="4" | Local<br />
|<br />
|-<br />
| Alex Valavanis (valavanisalex)<br />
| 3/26, 3/27, 3/28, 3/29, 3/30 (TBC)<br />
| $2000<br />
| 3/25 4:55pm<br />
| United 1202<br />
| 4/4 4:28pm<br />
| United 1425<br />
| TBD<br />
|-<br />
! Total<br />
!<br />
! $9000<sup>2</sup><br />
!<br />
!<br />
!<br />
!<br />
!<br />
|}<br />
<br />
TBD: "To Be Determined"<br />
<br />
Budget $13,000. Separate allocation for Inkscape dinner ($600). Venue: Free.<br />
<br />
<sup>1</sup> Sponsored by outside organization.<br />
<sup>2</sup> Actual expenditure expected to be much smaller.<br />
<br />
Allocation for attending hackfest:<br />
* Up to $2000 each for Inkscape developers who have contributed for 3+ years and > 200 commits.<br />
* Up to $1500 each for Inkscape developers who have contributed for 2+ years and > 100 commits.<br />
* Up to $1000 each for Inkscape developers who have contributed for 1+ year and > 50 commits.<br />
* Up to $500 each for any Inkscape contributor listed in AUTHORS file with at least 10 commits by Jan 1, 2018.<br />
<br />
If your are an active contributor to Inkscape but are NOT in the AUTHORS file (translator, documentor, etc.) we may still be able to provide some funding on a case-by-case basis.<br />
<br />
<b>To receive reimbursement for travel expenses you MUST follow [https://sfconservancy.org/projects/policies/conservancy-travel-policy.html SFC travel policy]!</b></div>Valavanisalexhttps://wiki.inkscape.org/wiki/index.php?title=Hackfest2018_Attendees&diff=108346Hackfest2018 Attendees2018-03-02T11:45:03Z<p>Valavanisalex: /* Who is Attending? */ Added myself</p>
<hr />
<div>Other pages: [[Hackfest2018]], [[Hackfest2018 Topics]].<br />
<br />
== Who is Attending? ==<br />
<br />
{| class="wikitable" style="text-align: center;"<br />
|+ List of Attendees<br />
Hackfest<br />
|-<br />
! rowspan="2" | Who<br />
! rowspan="2" | Dates<br />
! rowspan="2" | Allocation<br />
! colspan="2" | Arrival<br />
! colspan="2" | Departure<br />
! rowspan="2" | Hotel<br />
|-<br />
! Date/Time<br />
! Detail<br />
! Date/Time<br />
! Detail<br />
|-<br />
| Martin Owens (doctormo) [host]<br />
| 3/26, 3/27, 3/28, 3/29, 3/30<br />
| $2000<br />
| colspan="4" | Local<br />
|<br />
|-<br />
| Tavmjong Bah<br />
| 3/26, 3/27, 3/28, 3/29, 3/30<br />
| $2000<br />
| 3/24 13:24pm<br />
| Air France 3616 (Delta)<br />
| 4/01 7:10pm<br />
| Air France 0333<br />
|<br />
|-<br />
| Bryce Harrington<br />
| 3/26, 3/27, 3/28, 3/29, 3/30<br />
| $2000<br />
| 3/25 4:44pm<br />
| Alaska Air<br />
| 3/31 4:32pm<br />
| Alaska Air<br />
| Yotel<br />
|-<br />
| Ryan Gorley<br />
| 3/26, 3/27, 3/28, 3/29, 3/30<br />
| $1000<br />
| 3/25 6:13am<br />
| JetBlue<br />
| 3/30 7:15pm<br />
| JetBlue<br />
| w/Doctormo<br />
|-<br />
| Máirín Duffy (mizmo) [host]<br />
| 3/26, 3/27, 3/28, 3/29, 3/30<br />
| N/A<br />
| colspan="4" | Local<br />
|<br />
|-<br />
| Matthias Clasen (mclasen)<br />
| TBD<br />
| N/A<br />
| colspan="4" | Local<br />
|<br />
|-<br />
| Alex Valavanis (valavanisalex)<br />
| 3/26, 3/27, 3/28, 3/29, 3/30 (TBC)<br />
| $2000<br />
| TBD<br />
| TBD<br />
|-<br />
! Total<br />
!<br />
! $9000<sup>2</sup><br />
!<br />
!<br />
!<br />
!<br />
!<br />
|}<br />
<br />
TBD: "To Be Determined"<br />
<br />
Budget $13,000. Separate allocation for Inkscape dinner ($600). Venue: Free.<br />
<br />
<sup>1</sup> Sponsored by outside organization.<br />
<sup>2</sup> Actual expenditure expected to be much smaller.<br />
<br />
Allocation for attending hackfest:<br />
* Up to $2000 each for Inkscape developers who have contributed for 3+ years and > 200 commits.<br />
* Up to $1500 each for Inkscape developers who have contributed for 2+ years and > 100 commits.<br />
* Up to $1000 each for Inkscape developers who have contributed for 1+ year and > 50 commits.<br />
* Up to $500 each for any Inkscape contributor listed in AUTHORS file with at least 10 commits by Jan 1, 2018.<br />
<br />
If your are an active contributor to Inkscape but are NOT in the AUTHORS file (translator, documentor, etc.) we may still be able to provide some funding on a case-by-case basis.<br />
<br />
<b>To receive reimbursement for travel expenses you MUST follow [https://sfconservancy.org/projects/policies/conservancy-travel-policy.html SFC travel policy]!</b></div>Valavanisalexhttps://wiki.inkscape.org/wiki/index.php?title=Customizing_Inkscape&diff=106711Customizing Inkscape2017-08-11T08:36:45Z<p>Valavanisalex: /* Change the user interface */ update for 0.93</p>
<hr />
<div>== Change keyboards shortcuts ==<br />
<br />
There is no user interface to customize shortcuts yet but you can edit ''<Inkscape install directory>/share/keys/default.xml'', or add a custom ''keys/default.xml'' in the user Inkscape preferences directory to define new shortcuts or remap (override) shortcuts from the shared keymap file.<br />
<br />
In order to share the same shortcuts as other softwares, following configuration files are shipped with Inkscape (look at the ''<Inkscape install directory>/share/keys/'' folder):<br />
<br />
* [http://bazaar.launchpad.net/~inkscape.dev/inkscape/trunk/view/head:/share/keys/acd-canvas.xml acd-canvas.xml] for ACD System Canvas 11;<br />
* [http://bazaar.launchpad.net/~inkscape.dev/inkscape/trunk/view/head:/share/keys/adobe-illustrator-cs2.xml adobe-illustrator-cs2.xml] for Adobe Illustrator CS2;<br />
* [http://bazaar.launchpad.net/~inkscape.dev/inkscape/trunk/view/head:/share/keys/corel-draw-x4.xml corel-draw-x4.xml] for Corel Draw X4;<br />
* [http://bazaar.launchpad.net/~inkscape.dev/inkscape/trunk/view/head:/share/keys/macromedia-freehand-mx.xml macromedia-freehand-mx.xml] for Macromedia Freehand MX;<br />
* [http://bazaar.launchpad.net/~inkscape.dev/inkscape/trunk/view/head:/share/keys/xara.xml xara.xml] for Xara X, Xara Xtreme and Xara LX;<br />
* [http://bazaar.launchpad.net/~inkscape.dev/inkscape/trunk/view/head:/share/keys/zoner-draw.xml zoner-draw.xml] for Zoner Draw 5.<br />
<br />
Moreover:<br />
<br />
* [http://bazaar.launchpad.net/~inkscape.dev/inkscape/trunk/view/head:/share/keys/right-handed-illustration.xml right-handed-illustration.xml] is a configuration for users who want to draw with the right hand and access all shortcuts with the left one;<br />
* [http://bazaar.launchpad.net/~inkscape.dev/inkscape/trunk/view/head:/share/keys/inkscape.xml inkscape.xml] is the default Inkscape shortcuts configuration file.<br />
<br />
== Change the user interface ==<br />
<br />
=== Change icons ===<br />
<br />
Icons are all in an ''icons.svg'' file located in ''<Inkscape install directory>/share/icons/''. It can be overwritten or modified by the user (be sure of what you do). <br />
<br />
Alternatively, a custom ''icons/icons.svg'' file can be loaded from the user Inkscape preferences directory (it will override existing icons from the shared icons file, and fall back to icons from the shared icons file if some are missing in the custom one).<br />
<br />
Examples of existing ''icons.svg'':<br />
<br />
* [http://bazaar.launchpad.net/~inkscape.dev/inkscape/trunk/view/head:/share/icons/icons.svg Default one] from the Inkscape repository;<br />
* a ''Tango Icon Set'' for Inkscape can be sent in the ''<Inkscape install directory>/share/icons/'' directory, you can rename it.<br />
* [http://scnd101.deviantart.com/art/SimplyGrey-inkscape-theme-103497574 SimpleGrey Inkscape theme] by Scnd101.<br />
<br />
From '''Inkscape 0.93 onwards''', Inkscape's icons are no longer taken from the icons.svg file. Instead, the application looks them up by name from the system, in the "normal" way, as described by the [https://standards.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html Freedesktop standard]. In brief, you can now just install SVG (or PNG) files with the appropriate names into your ''<Inkscape install directory>/share/icons/'' folder.<br />
<br />
=== Change the theme/skin ===<br />
<br />
In GTK, a theme is defined in a '''gtkrc''' file. On Windows, the Inkscape one is located in ''<Inkscape install directory>/etc/gtk-2.0''.</div>Valavanisalexhttps://wiki.inkscape.org/wiki/index.php?title=Tracking_Dependencies&diff=105986Tracking Dependencies2017-07-25T11:49:33Z<p>Valavanisalex: /* Distros */ Yakkety EOL</p>
<hr />
<div>== Overview ==<br />
<br />
We need help getting our basic lib dependencies listed out and kept up to date. Also we need to track which versions of which distros have the needed dependencies.<br />
<br />
To get glib and GTK+ dependencies figured out, people can go through the API documentation and look for the 'since' entries saying when calls were added. Then look for those calls in our source. Voila! we'll have base minimum dependencies figured out.<br />
<br />
== Compilers ==<br />
<br />
For C++11 features, see [[C++11]]<br />
<br />
=== gcc ===<br />
=== clang ===<br />
<br />
== Libs ==<br />
<br />
C++ bindings are not included, since their required versions match those of the C counterparts. Versions in parentheses refer to the dependencies for experimental Gtk+ 3 builds.<br />
<br />
{| class="wikitable"<br />
|-<br />
! Library<br />
! v 0.92<br />
! trunk<br />
|-<br />
| Boehm-GC<br />
| 7.2<br />
| 7.2<br />
|-<br />
| Cairo<br />
| 1.10<br />
| 1.10<br />
|-<br />
| GDL<br />
| N/A<br />(3.4)<br />
| 3.4<br />
|-<br />
| Glib<br />
| 2.28<br />
| 2.28<br />
|-<br />
| GTK+<br />
| 2.24<br />(3.8)<br />
| 3.8<br />
|-<br />
| GNU Scientific Library<br />
| ?<br />
| ?<br />
|-<br />
| libSoup<br />
| N/A<br />
| (any)<br />
|-<br />
| LittleCMS<br />
| 1.13<br />
| 1.13<br />
|-<br />
| libxml<br />
| ''2.6.11*''<br />
| ''2.6.11*''<br />
|-<br />
| libxslt<br />
| ''1.0.15*''<br />
| ''1.0.15*''<br />
|-<br />
| Pango<br />
| 1.24<br />
| 1.24<br />
|-<br />
| Poppler<br />
| 0.20.0<br />
| 0.20.0<br />
|-<br />
| libsigc++<br />
| ''2.0.12*''<br />
| ''2.0.12*''<br />
|}<br />
<br />
''* Tentative dependency''<br />
<br />
== Distros ==<br />
<br />
Note: This table is not relevant to (non-fink) MacOS X, where we ship the desired version with Inkscape.<br />
<br />
"Inkscape" column is default or distro version / oldest that builds - latest that builds. If no latest is given then that means trunk is expected to build on the given platform.<br />
<br />
e.g. for a distro that ships with 0.48 but should support building of trunk you might get:<br />
0.48 / 0.47-<br />
<br />
{| class="wikitable"<br />
|-<br />
! Distro<br />
! Inkscape<br />
! gcc<br />
! clang<br />
! cairo<br />
! cairomm<br />
! glib<br />
! glibmm<br />
! gtk+<br />
! gtkmm<br />
! pango<br />
! poppler<br />
! gdl<br />
! lcms<br />
! libsigc++<br />
! libgc <!-- Fedora rpm: gc --><br />
! libsoup<br />
|-<br />
| style="background:Violet;"|Windows Devlibs (32bit) [https://code.launchpad.net/~inkscape.dev/inkscape-devlibs/trunk] (r53)<br />
|<br />
|<br />
|<br />
| 1.11.2<br />
| 1.10.0<br />
| 2.28.8<br />
| 2.28.2<br />
| style="background:Violet;"| 2.24.10<br />
| style="background:Violet;"| 2.24.2<br />
| 1.28.3<br />
| 0.39.0<br />
| style="background:Violet;"| (none)<br />
| 1.17<br />2.4<br />
| 2.2.11<br />
| 7.4.2<br />
|<br />
|-<br />
| Windows Devlibs Gtk+ 3 branch [https://code.launchpad.net/~inkscape.dev/inkscape-devlibs/devlibs-gtk3] (r34)<br />
|<br />
|<br />
|<br />
| 1.10.2<br />
| 1.10.0<br />
| 2.38.0<br />
| 2.36.0<br />
| 2.24.18<br />3.8.1<br />
| 2.24.2<br />3.8.0<br />
| 1.34.0<br />
| 0.22.5<br />
| 3.4.2<br />
| 1.19<br />2.4<br />
| 2.2.10<br />
| 7.2d<br />
|<br />
|-<br />
| Windows Devlibs 64bit [https://code.launchpad.net/~inkscape.dev/inkscape-devlibs64/trunk] (r17)<br />
|<br />
|<br />
|<br />
| 1.14.1<br />
| 1.11.2<br />
| 2.40.0<br />
| 2.40.0<br />
| 2.24.23<br />3.13.1<br />
| 2.24.4<br />3.12.0<br />
| 1.36.3<br />
| 0.24.2<br />
| 3.12.0<br />
| -<br />2.6<br />
| 2.3.1<br />
| 7.2<br />
|<br />
|-<br />
| Debian 8 (Jessie, <i>oldstable</i>, <small>EOL 2018-06-06</small>)<br />
| 0.48.5<br />
| 4.9.2<br />
| 3.5<br />
| 1.14.0<br />
| 1.10.0<br />
| 2.42.1<br />
| 2.42.0<br />
| 2.24.25<br />3.14.5<br />
| 2.24.4<br />3.14.0<br />
| 1.36.8<br />
| 0.26.5<br />
| 3.14.0<br />
| 2.6<br />
| 2.4.0<br />
| 7.2d<br />
| 2.48.0<br />
|-<br />
| Debian 9 (Stretch, <i>stable</i>)<br />
| 0.92.1<br />
| 6.3.0<br />
| 3.8<br />
| 1.14.8<br />
| 1.12.0<br />
| 2.50.3<br />
| 2.50.0<br />
| 2.24.31<br />3.22.11<br />
| 2.24.5<br />3.22.0<br />
| 1.40.5<br />
| 0.48.0<br />
| 3.22.0<br />
| 2.8<br />
| 2.10.0<br />
| 7.4.2<br />
| 2.56.0<br />
|-<br />
| style="background:Violet;"|RHEL / CentOS / Scientific Linux 7.x<br />
| 0.48<br />
| 4.8.3<br />
| X <br />
| 1.12.14<br />
| 1.10.0<br />
| 2.40.0<br />
| 2.36.2<br />
| 2.24.22<br />3.8.8<br />
| 2.24.2<br />3.8.1<br />
| 1.34.1<br />
| 0.22.5<br />
| style="background:Violet;"|X<br />
| 2.5.4<br />
| 2.3.1<br />
| 7.2d<br />
|-<br />
| Ubuntu 14.04 LTS (Trusty) <small>EOL 2019-04</small><br />
| 0.48.4<br />
| 4.8.2<br />
| (U 3.5)<br />
| 1.13.0<br />
| 1.10.0<br />
| 2.40.2<br />
| 2.39.93<br />
| 2.24.23<br />3.10.8<br />
| 2.24.4<br />3.10.1<br />
| 1.36.3<br />
| 0.24.5<br />
| 3.8.1<br />
| 1.19<br />2.5<br />
| 2.2.10<br />
| 7.2d<br />
| 2.44.2<br />
|-<br />
| Ubuntu 16.04 LTS (Xenial) <small>EOL 2021-04)</small><br />
| 0.91.0<br />
| 5.3.1<br />
| 3.8<br />
| 1.14.6<br />
| 1.12.0<br />
| 2.48.0<br />
| 2.46.3<br />
| 2.24.30<br />3.18.9<br />
| 2.24.4<br />3.18.0<br />
| 1.38.1<br />
| 0.41.0<br />
| 3.18.0<br />
| 2.6<br />
| 2.6.2<br />
| 7.4.2<br />
| 2.52.2<br />
|-<br />
| Ubuntu 17.04 (Zesty) <small>EOL 2018-01</small><br />
| 0.92.1<br />
| 6.3<br />
| 4.0<br />
| 1.14.8<br />
| 1.12.0<br />
| 2.52.0<br />
| 2.50.0<br />
| 2.24.31<br />3.22.11<br />
| 2.24.5<br />3.22.0<br />
| 1.40.4<br />
| 0.48.0<br />
| 3.22.0<br />
| 2.7<br />
| 2.10.0<br />
| 7.4.2<br />
| 2.56.0<br />
|}<br />
<br />
{| class="wikitable"<br />
|-<br />
! Legend<br />
|-<br />
| style="background:Red;"| Inkscape stable unsupported<br />
|-<br />
| style="background:Orange;"| Inkscape trunk unsupported<br />
|-<br />
| style="background:Violet;"| GTK+ 3 builds unsupported<br />
|}<br />
<br />
== Getting and Installing Source packages ==<br />
<br />
If your distro does not have some packages available (like many don't, ie, Fedora Core 2), you must often download<br />
source packages and build and install them yourself. Actually this is not that hard, and is similar to<br />
doing a Gentoo 'emerge.'<br />
<br />
* Usually you download a file with a name like somepackage-1.0.tar.gz. Unpack it with<br />
<br />
$ tar zxf somepackage-1.0.tar.gz<br />
or<br />
$ tar jxf somepackage-1.0.tar.bz2<br />
<br />
* Then 'cd' into the new directory.<br />
<br />
* Configure it with the command:<br />
<br />
$ ./configure<br />
<br />
* Build it with:<br />
<br />
$ make<br />
<br />
* As the 'root' user, install it with:<br />
<br />
# make install<br />
<br />
=== Boehm-GC ===<br />
<br />
Source: http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source<br />
<br />
* Download this file:<br />
** http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc6.8.tar.gz<br />
* Unpack it<br />
** tar zxf gc6.8.tar.gz<br />
* Configure and build it<br />
** cd gc6.8<br />
** ./configure --disable-shared --enable-static<br />
** make<br />
* Install it<br />
** su (or however else you become root)<br />
** make install<br />
<br />
Binaries: If searching for a package for GC, the name of it is sometimes:<br />
<br />
* gc<br />
* libgc<br />
* gc-devel<br />
* libgc-devel<br />
* boehm-gc (on Gentoo)<br />
* debian/ubuntu: sudo apt-get install libgc-dev<br />
<br />
=== libSigc++ ===<br />
<br />
Source: http://ftp.gnome.org/pub/GNOME/sources/libsigc++/2.2/libsigc++-2.2.3.tar.bz2<br />
<br />
With this file, and for GlibMM and GtkMM below, it is usually desirable for us developers to<br />
build this C++ library statically. This removes a dependency that might be difficult for an<br />
end-user during installation. Configure it with:<br />
<br />
./configure --enable-static --disable-shared<br />
<br />
=== GlibMM ===<br />
Try to match your Glib2 version with GlibMM's version. For example, if your Glib2 is 2.16.6, download glibmm-2.16.4.tar.bz2.<br />
<br />
Latest source: http://ftp.gnome.org/pub/GNOME/sources/glibmm/<br />
<br />
=== GtkMM ===<br />
Usually you can try the latest version of GtkMM, but if you get version mismatch errors, try older releases.<br />
<br />
Source: http://ftp.gnome.org/pub/GNOME/sources/gtkmm/2.12/gtkmm-2.12.7.tar.bz2<br />
<br />
=== cairomm ===<br />
<br />
if you got prompted about cairomm, try first solve your cairo version, so you can grab [http://www.cairographics.org/releases/ there] a compatible version.<br />
<br />
<br />
=== Boost ===<br />
<br />
Many users have reported when building from source that after installing the above dependencies, the configure script still requires a "boost" package. It can be found below, but even after installing, you will need to create a symlink to allow the configure script to find it:<br />
<br />
ln -s /usr/local/include/boost_1_xx_x/boost /usr/local/include/boost<br />
<br />
Source: http://www.boost.org/users/download/<br />
<br />
=== Poppler ===<br />
<br />
Source: http://poppler.freedesktop.org/<br />
<br />
Poppler is required for PDF import. There are several potential issues:<br />
* Some Linux distributions do not ship the Xpdf headers required by Inkscape. In such cases, you need to recompile Poppler, passing --enable-xpdf-headers on the configure line or install the libpoppler-private-dev package. See [https://bugs.launchpad.net/inkscape/+bug/254849 this wishlist bug]. This typically manifests in error messages like this:<br />
<pre>In file included from extension/internal/pdfinput/svg-builder.cpp:19:<br />
extension/internal/pdfinput/svg-builder.h:32:23: error: CharTypes.h: No such file or directory<br />
...<br />
make[2]: *** [extension/internal/pdfinput/svg-builder.o] Error 1<br />
make[2]: Leaving directory `/tmp/build/inkscape-0.46/src'<br />
make[1]: *** [all-recursive] Error 1<br />
make[1]: Leaving directory `/tmp/build/inkscape-0.46'<br />
make: *** [all] Error 2</pre><br />
* Inkscape 0.47 does not compile with Poppler >= 0.12.2. If you need to compile Inkscape on such systems, use the development version from Bazaar, where this bug is fixed. See [https://bugs.launchpad.net/inkscape/+bug/487038 the bug report] for details and a minimal patch.<br />
* Inkscape compiled with Poppler <= 0.12.1 will run on systems with Poppler >= 0.12.2, but the PDF import function will crash instantly. This problem does not concern Windows users, since the correct Poppler version is contained in the Windows installer package. This cannot be fixed on Inkscape's side: those two versions of Poppler are not ABI compatible, yet share the same soname. See [https://bugs.launchpad.net/inkscape/+bug/258504 this bug] for more details.<br />
* Poppler's Xpdf headers are not guaranteed to be API-compatible between releases. It's likely that future Poppler versions will break PDF import in some way. PDF import works at least up to 0.12.4 but might not work with later versions.<br />
<br />
[[Category:About Inkscape]]<br />
[[Category:Developer Documentation]]</div>Valavanisalexhttps://wiki.inkscape.org/wiki/index.php?title=Tracking_Dependencies&diff=105976Tracking Dependencies2017-07-24T10:55:37Z<p>Valavanisalex: /* Distros */ Restored listing for Jessie</p>
<hr />
<div>== Overview ==<br />
<br />
We need help getting our basic lib dependencies listed out and kept up to date. Also we need to track which versions of which distros have the needed dependencies.<br />
<br />
To get glib and GTK+ dependencies figured out, people can go through the API documentation and look for the 'since' entries saying when calls were added. Then look for those calls in our source. Voila! we'll have base minimum dependencies figured out.<br />
<br />
== Compilers ==<br />
<br />
For C++11 features, see [[C++11]]<br />
<br />
=== gcc ===<br />
=== clang ===<br />
<br />
== Libs ==<br />
<br />
C++ bindings are not included, since their required versions match those of the C counterparts. Versions in parentheses refer to the dependencies for experimental Gtk+ 3 builds.<br />
<br />
{| class="wikitable"<br />
|-<br />
! Library<br />
! v 0.92<br />
! trunk<br />
|-<br />
| Boehm-GC<br />
| 7.2<br />
| 7.2<br />
|-<br />
| Cairo<br />
| 1.10<br />
| 1.10<br />
|-<br />
| GDL<br />
| N/A<br />(3.4)<br />
| 3.4<br />
|-<br />
| Glib<br />
| 2.28<br />
| 2.28<br />
|-<br />
| GTK+<br />
| 2.24<br />(3.8)<br />
| 3.8<br />
|-<br />
| GNU Scientific Library<br />
| ?<br />
| ?<br />
|-<br />
| libSoup<br />
| N/A<br />
| (any)<br />
|-<br />
| LittleCMS<br />
| 1.13<br />
| 1.13<br />
|-<br />
| libxml<br />
| ''2.6.11*''<br />
| ''2.6.11*''<br />
|-<br />
| libxslt<br />
| ''1.0.15*''<br />
| ''1.0.15*''<br />
|-<br />
| Pango<br />
| 1.24<br />
| 1.24<br />
|-<br />
| Poppler<br />
| 0.20.0<br />
| 0.20.0<br />
|-<br />
| libsigc++<br />
| ''2.0.12*''<br />
| ''2.0.12*''<br />
|}<br />
<br />
''* Tentative dependency''<br />
<br />
== Distros ==<br />
<br />
Note: This table is not relevant to (non-fink) MacOS X, where we ship the desired version with Inkscape.<br />
<br />
"Inkscape" column is default or distro version / oldest that builds - latest that builds. If no latest is given then that means trunk is expected to build on the given platform.<br />
<br />
e.g. for a distro that ships with 0.48 but should support building of trunk you might get:<br />
0.48 / 0.47-<br />
<br />
{| class="wikitable"<br />
|-<br />
! Distro<br />
! Inkscape<br />
! gcc<br />
! clang<br />
! cairo<br />
! cairomm<br />
! glib<br />
! glibmm<br />
! gtk+<br />
! gtkmm<br />
! pango<br />
! poppler<br />
! gdl<br />
! lcms<br />
! libsigc++<br />
! libgc <!-- Fedora rpm: gc --><br />
! libsoup<br />
|-<br />
| style="background:Violet;"|Windows Devlibs (32bit) [https://code.launchpad.net/~inkscape.dev/inkscape-devlibs/trunk] (r53)<br />
|<br />
|<br />
|<br />
| 1.11.2<br />
| 1.10.0<br />
| 2.28.8<br />
| 2.28.2<br />
| style="background:Violet;"| 2.24.10<br />
| style="background:Violet;"| 2.24.2<br />
| 1.28.3<br />
| 0.39.0<br />
| style="background:Violet;"| (none)<br />
| 1.17<br />2.4<br />
| 2.2.11<br />
| 7.4.2<br />
|<br />
|-<br />
| Windows Devlibs Gtk+ 3 branch [https://code.launchpad.net/~inkscape.dev/inkscape-devlibs/devlibs-gtk3] (r34)<br />
|<br />
|<br />
|<br />
| 1.10.2<br />
| 1.10.0<br />
| 2.38.0<br />
| 2.36.0<br />
| 2.24.18<br />3.8.1<br />
| 2.24.2<br />3.8.0<br />
| 1.34.0<br />
| 0.22.5<br />
| 3.4.2<br />
| 1.19<br />2.4<br />
| 2.2.10<br />
| 7.2d<br />
|<br />
|-<br />
| Windows Devlibs 64bit [https://code.launchpad.net/~inkscape.dev/inkscape-devlibs64/trunk] (r17)<br />
|<br />
|<br />
|<br />
| 1.14.1<br />
| 1.11.2<br />
| 2.40.0<br />
| 2.40.0<br />
| 2.24.23<br />3.13.1<br />
| 2.24.4<br />3.12.0<br />
| 1.36.3<br />
| 0.24.2<br />
| 3.12.0<br />
| -<br />2.6<br />
| 2.3.1<br />
| 7.2<br />
|<br />
|-<br />
| Debian 8 (Jessie, <i>oldstable</i>, <small>EOL 2018-06-06</small>)<br />
| 0.48.5<br />
| 4.9.2<br />
| 3.5<br />
| 1.14.0<br />
| 1.10.0<br />
| 2.42.1<br />
| 2.42.0<br />
| 2.24.25<br />3.14.5<br />
| 2.24.4<br />3.14.0<br />
| 1.36.8<br />
| 0.26.5<br />
| 3.14.0<br />
| 2.6<br />
| 2.4.0<br />
| 7.2d<br />
| 2.48.0<br />
|-<br />
| Debian 9 (Stretch, <i>stable</i>)<br />
| 0.92.1<br />
| 6.3.0<br />
| 3.8<br />
| 1.14.8<br />
| 1.12.0<br />
| 2.50.3<br />
| 2.50.0<br />
| 2.24.31<br />3.22.11<br />
| 2.24.5<br />3.22.0<br />
| 1.40.5<br />
| 0.48.0<br />
| 3.22.0<br />
| 2.8<br />
| 2.10.0<br />
| 7.4.2<br />
| 2.56.0<br />
|-<br />
| style="background:Violet;"|RHEL / CentOS / Scientific Linux 7.x<br />
| 0.48<br />
| 4.8.3<br />
| X <br />
| 1.12.14<br />
| 1.10.0<br />
| 2.40.0<br />
| 2.36.2<br />
| 2.24.22<br />3.8.8<br />
| 2.24.2<br />3.8.1<br />
| 1.34.1<br />
| 0.22.5<br />
| style="background:Violet;"|X<br />
| 2.5.4<br />
| 2.3.1<br />
| 7.2d<br />
|-<br />
| Ubuntu 14.04 LTS (Trusty) <small>EOL 2019-04</small><br />
| 0.48.4<br />
| 4.8.2<br />
| (U 3.5)<br />
| 1.13.0<br />
| 1.10.0<br />
| 2.40.2<br />
| 2.39.93<br />
| 2.24.23<br />3.10.8<br />
| 2.24.4<br />3.10.1<br />
| 1.36.3<br />
| 0.24.5<br />
| 3.8.1<br />
| 1.19<br />2.5<br />
| 2.2.10<br />
| 7.2d<br />
| 2.44.2<br />
|-<br />
| Ubuntu 16.04 LTS (Xenial) <small>EOL 2021-04)</small><br />
| 0.91.0<br />
| 5.3.1<br />
| 3.8<br />
| 1.14.6<br />
| 1.12.0<br />
| 2.48.0<br />
| 2.46.3<br />
| 2.24.30<br />3.18.9<br />
| 2.24.4<br />3.18.0<br />
| 1.38.1<br />
| 0.41.0<br />
| 3.18.0<br />
| 2.6<br />
| 2.6.2<br />
| 7.4.2<br />
| 2.52.2<br />
|-<br />
| Ubuntu 16.10 (Yakkety) <small>EOL 2017-07</small><br />
| 0.91.0<br />
| 5.4.1<br />
| 3.8<br />
| 1.14.6<br />
| 1.12.0<br />
| 2.50.0<br />
| 2.48.1<br />
| 2.24.30<br />3.20.9<br />
| 2.24.5<br />3.20.1<br />
| 1.40.1<br />
| 0.44.0<br />
| 3.22.0<br />
| 2.7<br />
| 2.8.0<br />
| 7.4.2<br />
| 2.54.1<br />
|-<br />
| Ubuntu 17.04 (Zesty) <small>EOL 2018-01</small><br />
| 0.92.1<br />
| 6.3<br />
| 4.0<br />
| 1.14.8<br />
| 1.12.0<br />
| 2.52.0<br />
| 2.50.0<br />
| 2.24.31<br />3.22.11<br />
| 2.24.5<br />3.22.0<br />
| 1.40.4<br />
| 0.48.0<br />
| 3.22.0<br />
| 2.7<br />
| 2.10.0<br />
| 7.4.2<br />
| 2.56.0<br />
|}<br />
<br />
{| class="wikitable"<br />
|-<br />
! Legend<br />
|-<br />
| style="background:Red;"| Inkscape stable unsupported<br />
|-<br />
| style="background:Orange;"| Inkscape trunk unsupported<br />
|-<br />
| style="background:Violet;"| GTK+ 3 builds unsupported<br />
|}<br />
<br />
== Getting and Installing Source packages ==<br />
<br />
If your distro does not have some packages available (like many don't, ie, Fedora Core 2), you must often download<br />
source packages and build and install them yourself. Actually this is not that hard, and is similar to<br />
doing a Gentoo 'emerge.'<br />
<br />
* Usually you download a file with a name like somepackage-1.0.tar.gz. Unpack it with<br />
<br />
$ tar zxf somepackage-1.0.tar.gz<br />
or<br />
$ tar jxf somepackage-1.0.tar.bz2<br />
<br />
* Then 'cd' into the new directory.<br />
<br />
* Configure it with the command:<br />
<br />
$ ./configure<br />
<br />
* Build it with:<br />
<br />
$ make<br />
<br />
* As the 'root' user, install it with:<br />
<br />
# make install<br />
<br />
=== Boehm-GC ===<br />
<br />
Source: http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source<br />
<br />
* Download this file:<br />
** http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc6.8.tar.gz<br />
* Unpack it<br />
** tar zxf gc6.8.tar.gz<br />
* Configure and build it<br />
** cd gc6.8<br />
** ./configure --disable-shared --enable-static<br />
** make<br />
* Install it<br />
** su (or however else you become root)<br />
** make install<br />
<br />
Binaries: If searching for a package for GC, the name of it is sometimes:<br />
<br />
* gc<br />
* libgc<br />
* gc-devel<br />
* libgc-devel<br />
* boehm-gc (on Gentoo)<br />
* debian/ubuntu: sudo apt-get install libgc-dev<br />
<br />
=== libSigc++ ===<br />
<br />
Source: http://ftp.gnome.org/pub/GNOME/sources/libsigc++/2.2/libsigc++-2.2.3.tar.bz2<br />
<br />
With this file, and for GlibMM and GtkMM below, it is usually desirable for us developers to<br />
build this C++ library statically. This removes a dependency that might be difficult for an<br />
end-user during installation. Configure it with:<br />
<br />
./configure --enable-static --disable-shared<br />
<br />
=== GlibMM ===<br />
Try to match your Glib2 version with GlibMM's version. For example, if your Glib2 is 2.16.6, download glibmm-2.16.4.tar.bz2.<br />
<br />
Latest source: http://ftp.gnome.org/pub/GNOME/sources/glibmm/<br />
<br />
=== GtkMM ===<br />
Usually you can try the latest version of GtkMM, but if you get version mismatch errors, try older releases.<br />
<br />
Source: http://ftp.gnome.org/pub/GNOME/sources/gtkmm/2.12/gtkmm-2.12.7.tar.bz2<br />
<br />
=== cairomm ===<br />
<br />
if you got prompted about cairomm, try first solve your cairo version, so you can grab [http://www.cairographics.org/releases/ there] a compatible version.<br />
<br />
<br />
=== Boost ===<br />
<br />
Many users have reported when building from source that after installing the above dependencies, the configure script still requires a "boost" package. It can be found below, but even after installing, you will need to create a symlink to allow the configure script to find it:<br />
<br />
ln -s /usr/local/include/boost_1_xx_x/boost /usr/local/include/boost<br />
<br />
Source: http://www.boost.org/users/download/<br />
<br />
=== Poppler ===<br />
<br />
Source: http://poppler.freedesktop.org/<br />
<br />
Poppler is required for PDF import. There are several potential issues:<br />
* Some Linux distributions do not ship the Xpdf headers required by Inkscape. In such cases, you need to recompile Poppler, passing --enable-xpdf-headers on the configure line or install the libpoppler-private-dev package. See [https://bugs.launchpad.net/inkscape/+bug/254849 this wishlist bug]. This typically manifests in error messages like this:<br />
<pre>In file included from extension/internal/pdfinput/svg-builder.cpp:19:<br />
extension/internal/pdfinput/svg-builder.h:32:23: error: CharTypes.h: No such file or directory<br />
...<br />
make[2]: *** [extension/internal/pdfinput/svg-builder.o] Error 1<br />
make[2]: Leaving directory `/tmp/build/inkscape-0.46/src'<br />
make[1]: *** [all-recursive] Error 1<br />
make[1]: Leaving directory `/tmp/build/inkscape-0.46'<br />
make: *** [all] Error 2</pre><br />
* Inkscape 0.47 does not compile with Poppler >= 0.12.2. If you need to compile Inkscape on such systems, use the development version from Bazaar, where this bug is fixed. See [https://bugs.launchpad.net/inkscape/+bug/487038 the bug report] for details and a minimal patch.<br />
* Inkscape compiled with Poppler <= 0.12.1 will run on systems with Poppler >= 0.12.2, but the PDF import function will crash instantly. This problem does not concern Windows users, since the correct Poppler version is contained in the Windows installer package. This cannot be fixed on Inkscape's side: those two versions of Poppler are not ABI compatible, yet share the same soname. See [https://bugs.launchpad.net/inkscape/+bug/258504 this bug] for more details.<br />
* Poppler's Xpdf headers are not guaranteed to be API-compatible between releases. It's likely that future Poppler versions will break PDF import in some way. PDF import works at least up to 0.12.4 but might not work with later versions.<br />
<br />
[[Category:About Inkscape]]<br />
[[Category:Developer Documentation]]</div>Valavanisalexhttps://wiki.inkscape.org/wiki/index.php?title=Tracking_Dependencies&diff=105866Tracking Dependencies2017-07-06T14:38:48Z<p>Valavanisalex: /* Distros */ Added Zesty</p>
<hr />
<div>== Overview ==<br />
<br />
We need help getting our basic lib dependencies listed out and kept up to date. Also we need to track which versions of which distros have the needed dependencies.<br />
<br />
To get glib and GTK+ dependencies figured out, people can go through the API documentation and look for the 'since' entries saying when calls were added. Then look for those calls in our source. Voila! we'll have base minimum dependencies figured out.<br />
<br />
== Compilers ==<br />
<br />
For C++11 features, see [[C++11]]<br />
<br />
=== gcc ===<br />
=== clang ===<br />
<br />
== Libs ==<br />
<br />
C++ bindings are not included, since their required versions match those of the C counterparts. Versions in parentheses refer to the dependencies for experimental Gtk+ 3 builds.<br />
<br />
{| class="wikitable"<br />
|-<br />
! Library<br />
! v 0.92<br />
! trunk<br />
|-<br />
| Boehm-GC<br />
| 7.2<br />
| 7.2<br />
|-<br />
| Cairo<br />
| 1.10<br />
| 1.10<br />
|-<br />
| GDL<br />
| N/A<br />(3.4)<br />
| 3.4<br />
|-<br />
| Glib<br />
| 2.28<br />
| 2.28<br />
|-<br />
| GTK+<br />
| 2.24<br />(3.8)<br />
| 3.8<br />
|-<br />
| GNU Scientific Library<br />
| ?<br />
| ?<br />
|-<br />
| libSoup<br />
| N/A<br />
| (any)<br />
|-<br />
| LittleCMS<br />
| 1.13<br />
| 1.13<br />
|-<br />
| libxml<br />
| ''2.6.11*''<br />
| ''2.6.11*''<br />
|-<br />
| libxslt<br />
| ''1.0.15*''<br />
| ''1.0.15*''<br />
|-<br />
| Pango<br />
| 1.24<br />
| 1.24<br />
|-<br />
| Poppler<br />
| 0.20.0<br />
| 0.20.0<br />
|-<br />
| libsigc++<br />
| ''2.0.12*''<br />
| ''2.0.12*''<br />
|}<br />
<br />
''* Tentative dependency''<br />
<br />
== Distros ==<br />
<br />
Note: This table is not relevant to (non-fink) MacOS X, where we ship the desired version with Inkscape.<br />
<br />
"Inkscape" column is default or distro version / oldest that builds - latest that builds. If no latest is given then that means trunk is expected to build on the given platform.<br />
<br />
e.g. for a distro that ships with 0.48 but should support building of trunk you might get:<br />
0.48 / 0.47-<br />
<br />
{| class="wikitable"<br />
|-<br />
! Distro<br />
! Inkscape<br />
! gcc<br />
! clang<br />
! cairo<br />
! cairomm<br />
! glib<br />
! glibmm<br />
! gtk+<br />
! gtkmm<br />
! pango<br />
! poppler<br />
! gdl<br />
! lcms<br />
! libsigc++<br />
! libgc <!-- Fedora rpm: gc --><br />
! libsoup<br />
|-<br />
| style="background:Violet;"|Windows Devlibs (32bit) [https://code.launchpad.net/~inkscape.dev/inkscape-devlibs/trunk] (r53)<br />
|<br />
|<br />
|<br />
| 1.11.2<br />
| 1.10.0<br />
| 2.28.8<br />
| 2.28.2<br />
| style="background:Violet;"| 2.24.10<br />
| style="background:Violet;"| 2.24.2<br />
| 1.28.3<br />
| 0.39.0<br />
| style="background:Violet;"| (none)<br />
| 1.17<br />2.4<br />
| 2.2.11<br />
| 7.4.2<br />
|<br />
|-<br />
| Windows Devlibs Gtk+ 3 branch [https://code.launchpad.net/~inkscape.dev/inkscape-devlibs/devlibs-gtk3] (r34)<br />
|<br />
|<br />
|<br />
| 1.10.2<br />
| 1.10.0<br />
| 2.38.0<br />
| 2.36.0<br />
| 2.24.18<br />3.8.1<br />
| 2.24.2<br />3.8.0<br />
| 1.34.0<br />
| 0.22.5<br />
| 3.4.2<br />
| 1.19<br />2.4<br />
| 2.2.10<br />
| 7.2d<br />
|<br />
|-<br />
| Windows Devlibs 64bit [https://code.launchpad.net/~inkscape.dev/inkscape-devlibs64/trunk] (r17)<br />
|<br />
|<br />
|<br />
| 1.14.1<br />
| 1.11.2<br />
| 2.40.0<br />
| 2.40.0<br />
| 2.24.23<br />3.13.1<br />
| 2.24.4<br />3.12.0<br />
| 1.36.3<br />
| 0.24.2<br />
| 3.12.0<br />
| -<br />2.6<br />
| 2.3.1<br />
| 7.2<br />
|<br />
|-<br />
| Debian 9 (Stretch, <i>stable</i>)<br />
| 0.92.1<br />
| 6.3.0<br />
| 3.8<br />
| 1.14.8<br />
| 1.12.0<br />
| 2.50.3<br />
| 2.50.0<br />
| 2.24.31<br />3.22.11<br />
| 2.24.5<br />3.22.0<br />
| 1.40.5<br />
| 0.48.0<br />
| 3.22.0<br />
| 2.8<br />
| 2.10.0<br />
| 7.4.2<br />
| 2.56.0<br />
|-<br />
| style="background:Violet;"|RHEL / CentOS / Scientific Linux 7.x<br />
| 0.48<br />
| 4.8.3<br />
| X <br />
| 1.12.14<br />
| 1.10.0<br />
| 2.40.0<br />
| 2.36.2<br />
| 2.24.22<br />3.8.8<br />
| 2.24.2<br />3.8.1<br />
| 1.34.1<br />
| 0.22.5<br />
| style="background:Violet;"|X<br />
| 2.5.4<br />
| 2.3.1<br />
| 7.2d<br />
|-<br />
| Ubuntu 14.04 LTS (Trusty) <small>EOL 2019-04</small><br />
| 0.48.4<br />
| 4.8.2<br />
| (U 3.5)<br />
| 1.13.0<br />
| 1.10.0<br />
| 2.40.2<br />
| 2.39.93<br />
| 2.24.23<br />3.10.8<br />
| 2.24.4<br />3.10.1<br />
| 1.36.3<br />
| 0.24.5<br />
| 3.8.1<br />
| 1.19<br />2.5<br />
| 2.2.10<br />
| 7.2d<br />
| 2.44.2<br />
|-<br />
| Ubuntu 16.04 LTS (Xenial) <small>EOL 2021-04)</small><br />
| 0.91.0<br />
| 5.3.1<br />
| 3.8<br />
| 1.14.6<br />
| 1.12.0<br />
| 2.48.0<br />
| 2.46.3<br />
| 2.24.30<br />3.18.9<br />
| 2.24.4<br />3.18.0<br />
| 1.38.1<br />
| 0.41.0<br />
| 3.18.0<br />
| 2.6<br />
| 2.6.2<br />
| 7.4.2<br />
| 2.52.2<br />
|-<br />
| Ubuntu 16.10 (Yakkety) <small>EOL 2017-07</small><br />
| 0.91.0<br />
| 5.4.1<br />
| 3.8<br />
| 1.14.6<br />
| 1.12.0<br />
| 2.50.0<br />
| 2.48.1<br />
| 2.24.30<br />3.20.9<br />
| 2.24.5<br />3.20.1<br />
| 1.40.1<br />
| 0.44.0<br />
| 3.22.0<br />
| 2.7<br />
| 2.8.0<br />
| 7.4.2<br />
| 2.54.1<br />
|-<br />
| Ubuntu 17.04 (Zesty) <small>EOL 2018-01</small><br />
| 0.92.1<br />
| 6.3<br />
| 4.0<br />
| 1.14.8<br />
| 1.12.0<br />
| 2.52.0<br />
| 2.50.0<br />
| 2.24.31<br />3.22.11<br />
| 2.24.5<br />3.22.0<br />
| 1.40.4<br />
| 0.48.0<br />
| 3.22.0<br />
| 2.7<br />
| 2.10.0<br />
| 7.4.2<br />
| 2.56.0<br />
|}<br />
<br />
{| class="wikitable"<br />
|-<br />
! Legend<br />
|-<br />
| style="background:Red;"| Inkscape stable unsupported<br />
|-<br />
| style="background:Orange;"| Inkscape trunk unsupported<br />
|-<br />
| style="background:Violet;"| GTK+ 3 builds unsupported<br />
|}<br />
<br />
== Getting and Installing Source packages ==<br />
<br />
If your distro does not have some packages available (like many don't, ie, Fedora Core 2), you must often download<br />
source packages and build and install them yourself. Actually this is not that hard, and is similar to<br />
doing a Gentoo 'emerge.'<br />
<br />
* Usually you download a file with a name like somepackage-1.0.tar.gz. Unpack it with<br />
<br />
$ tar zxf somepackage-1.0.tar.gz<br />
or<br />
$ tar jxf somepackage-1.0.tar.bz2<br />
<br />
* Then 'cd' into the new directory.<br />
<br />
* Configure it with the command:<br />
<br />
$ ./configure<br />
<br />
* Build it with:<br />
<br />
$ make<br />
<br />
* As the 'root' user, install it with:<br />
<br />
# make install<br />
<br />
=== Boehm-GC ===<br />
<br />
Source: http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source<br />
<br />
* Download this file:<br />
** http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc6.8.tar.gz<br />
* Unpack it<br />
** tar zxf gc6.8.tar.gz<br />
* Configure and build it<br />
** cd gc6.8<br />
** ./configure --disable-shared --enable-static<br />
** make<br />
* Install it<br />
** su (or however else you become root)<br />
** make install<br />
<br />
Binaries: If searching for a package for GC, the name of it is sometimes:<br />
<br />
* gc<br />
* libgc<br />
* gc-devel<br />
* libgc-devel<br />
* boehm-gc (on Gentoo)<br />
* debian/ubuntu: sudo apt-get install libgc-dev<br />
<br />
=== libSigc++ ===<br />
<br />
Source: http://ftp.gnome.org/pub/GNOME/sources/libsigc++/2.2/libsigc++-2.2.3.tar.bz2<br />
<br />
With this file, and for GlibMM and GtkMM below, it is usually desirable for us developers to<br />
build this C++ library statically. This removes a dependency that might be difficult for an<br />
end-user during installation. Configure it with:<br />
<br />
./configure --enable-static --disable-shared<br />
<br />
=== GlibMM ===<br />
Try to match your Glib2 version with GlibMM's version. For example, if your Glib2 is 2.16.6, download glibmm-2.16.4.tar.bz2.<br />
<br />
Latest source: http://ftp.gnome.org/pub/GNOME/sources/glibmm/<br />
<br />
=== GtkMM ===<br />
Usually you can try the latest version of GtkMM, but if you get version mismatch errors, try older releases.<br />
<br />
Source: http://ftp.gnome.org/pub/GNOME/sources/gtkmm/2.12/gtkmm-2.12.7.tar.bz2<br />
<br />
=== cairomm ===<br />
<br />
if you got prompted about cairomm, try first solve your cairo version, so you can grab [http://www.cairographics.org/releases/ there] a compatible version.<br />
<br />
<br />
=== Boost ===<br />
<br />
Many users have reported when building from source that after installing the above dependencies, the configure script still requires a "boost" package. It can be found below, but even after installing, you will need to create a symlink to allow the configure script to find it:<br />
<br />
ln -s /usr/local/include/boost_1_xx_x/boost /usr/local/include/boost<br />
<br />
Source: http://www.boost.org/users/download/<br />
<br />
=== Poppler ===<br />
<br />
Source: http://poppler.freedesktop.org/<br />
<br />
Poppler is required for PDF import. There are several potential issues:<br />
* Some Linux distributions do not ship the Xpdf headers required by Inkscape. In such cases, you need to recompile Poppler, passing --enable-xpdf-headers on the configure line or install the libpoppler-private-dev package. See [https://bugs.launchpad.net/inkscape/+bug/254849 this wishlist bug]. This typically manifests in error messages like this:<br />
<pre>In file included from extension/internal/pdfinput/svg-builder.cpp:19:<br />
extension/internal/pdfinput/svg-builder.h:32:23: error: CharTypes.h: No such file or directory<br />
...<br />
make[2]: *** [extension/internal/pdfinput/svg-builder.o] Error 1<br />
make[2]: Leaving directory `/tmp/build/inkscape-0.46/src'<br />
make[1]: *** [all-recursive] Error 1<br />
make[1]: Leaving directory `/tmp/build/inkscape-0.46'<br />
make: *** [all] Error 2</pre><br />
* Inkscape 0.47 does not compile with Poppler >= 0.12.2. If you need to compile Inkscape on such systems, use the development version from Bazaar, where this bug is fixed. See [https://bugs.launchpad.net/inkscape/+bug/487038 the bug report] for details and a minimal patch.<br />
* Inkscape compiled with Poppler <= 0.12.1 will run on systems with Poppler >= 0.12.2, but the PDF import function will crash instantly. This problem does not concern Windows users, since the correct Poppler version is contained in the Windows installer package. This cannot be fixed on Inkscape's side: those two versions of Poppler are not ABI compatible, yet share the same soname. See [https://bugs.launchpad.net/inkscape/+bug/258504 this bug] for more details.<br />
* Poppler's Xpdf headers are not guaranteed to be API-compatible between releases. It's likely that future Poppler versions will break PDF import in some way. PDF import works at least up to 0.12.4 but might not work with later versions.<br />
<br />
[[Category:About Inkscape]]<br />
[[Category:Developer Documentation]]</div>Valavanisalexhttps://wiki.inkscape.org/wiki/index.php?title=Tracking_Dependencies&diff=105861Tracking Dependencies2017-07-06T14:28:46Z<p>Valavanisalex: /* Distros */ Ubuntu 12.04 EOL</p>
<hr />
<div>== Overview ==<br />
<br />
We need help getting our basic lib dependencies listed out and kept up to date. Also we need to track which versions of which distros have the needed dependencies.<br />
<br />
To get glib and GTK+ dependencies figured out, people can go through the API documentation and look for the 'since' entries saying when calls were added. Then look for those calls in our source. Voila! we'll have base minimum dependencies figured out.<br />
<br />
== Compilers ==<br />
<br />
For C++11 features, see [[C++11]]<br />
<br />
=== gcc ===<br />
=== clang ===<br />
<br />
== Libs ==<br />
<br />
C++ bindings are not included, since their required versions match those of the C counterparts. Versions in parentheses refer to the dependencies for experimental Gtk+ 3 builds.<br />
<br />
{| class="wikitable"<br />
|-<br />
! Library<br />
! v 0.92<br />
! trunk<br />
|-<br />
| Boehm-GC<br />
| 7.2<br />
| 7.2<br />
|-<br />
| Cairo<br />
| 1.10<br />
| 1.10<br />
|-<br />
| GDL<br />
| N/A<br />(3.4)<br />
| 3.4<br />
|-<br />
| Glib<br />
| 2.28<br />
| 2.28<br />
|-<br />
| GTK+<br />
| 2.24<br />(3.8)<br />
| 3.8<br />
|-<br />
| GNU Scientific Library<br />
| ?<br />
| ?<br />
|-<br />
| libSoup<br />
| N/A<br />
| (any)<br />
|-<br />
| LittleCMS<br />
| 1.13<br />
| 1.13<br />
|-<br />
| libxml<br />
| ''2.6.11*''<br />
| ''2.6.11*''<br />
|-<br />
| libxslt<br />
| ''1.0.15*''<br />
| ''1.0.15*''<br />
|-<br />
| Pango<br />
| 1.24<br />
| 1.24<br />
|-<br />
| Poppler<br />
| 0.20.0<br />
| 0.20.0<br />
|-<br />
| libsigc++<br />
| ''2.0.12*''<br />
| ''2.0.12*''<br />
|}<br />
<br />
''* Tentative dependency''<br />
<br />
== Distros ==<br />
<br />
Note: This table is not relevant to (non-fink) MacOS X, where we ship the desired version with Inkscape.<br />
<br />
"Inkscape" column is default or distro version / oldest that builds - latest that builds. If no latest is given then that means trunk is expected to build on the given platform.<br />
<br />
e.g. for a distro that ships with 0.48 but should support building of trunk you might get:<br />
0.48 / 0.47-<br />
<br />
{| class="wikitable"<br />
|-<br />
! Distro<br />
! Inkscape<br />
! gcc<br />
! clang<br />
! cairo<br />
! cairomm<br />
! glib<br />
! glibmm<br />
! gtk+<br />
! gtkmm<br />
! pango<br />
! poppler<br />
! gdl<br />
! lcms<br />
! libsigc++<br />
! libgc <!-- Fedora rpm: gc --><br />
! libsoup<br />
|-<br />
| style="background:Violet;"|Windows Devlibs (32bit) [https://code.launchpad.net/~inkscape.dev/inkscape-devlibs/trunk] (r53)<br />
|<br />
|<br />
|<br />
| 1.11.2<br />
| 1.10.0<br />
| 2.28.8<br />
| 2.28.2<br />
| style="background:Violet;"| 2.24.10<br />
| style="background:Violet;"| 2.24.2<br />
| 1.28.3<br />
| 0.39.0<br />
| style="background:Violet;"| (none)<br />
| 1.17<br />2.4<br />
| 2.2.11<br />
| 7.4.2<br />
|<br />
|-<br />
| Windows Devlibs Gtk+ 3 branch [https://code.launchpad.net/~inkscape.dev/inkscape-devlibs/devlibs-gtk3] (r34)<br />
|<br />
|<br />
|<br />
| 1.10.2<br />
| 1.10.0<br />
| 2.38.0<br />
| 2.36.0<br />
| 2.24.18<br />3.8.1<br />
| 2.24.2<br />3.8.0<br />
| 1.34.0<br />
| 0.22.5<br />
| 3.4.2<br />
| 1.19<br />2.4<br />
| 2.2.10<br />
| 7.2d<br />
|<br />
|-<br />
| Windows Devlibs 64bit [https://code.launchpad.net/~inkscape.dev/inkscape-devlibs64/trunk] (r17)<br />
|<br />
|<br />
|<br />
| 1.14.1<br />
| 1.11.2<br />
| 2.40.0<br />
| 2.40.0<br />
| 2.24.23<br />3.13.1<br />
| 2.24.4<br />3.12.0<br />
| 1.36.3<br />
| 0.24.2<br />
| 3.12.0<br />
| -<br />2.6<br />
| 2.3.1<br />
| 7.2<br />
|<br />
|-<br />
| Debian 9 (Stretch, <i>stable</i>)<br />
| 0.92.1<br />
| 6.3.0<br />
| 3.8<br />
| 1.14.8<br />
| 1.12.0<br />
| 2.50.3<br />
| 2.50.0<br />
| 2.24.31<br />3.22.11<br />
| 2.24.5<br />3.22.0<br />
| 1.40.5<br />
| 0.48.0<br />
| 3.22.0<br />
| 2.8<br />
| 2.10.0<br />
| 7.4.2<br />
| 2.56.0<br />
|-<br />
| style="background:Violet;"|RHEL / CentOS / Scientific Linux 7.x<br />
| 0.48<br />
| 4.8.3<br />
| X <br />
| 1.12.14<br />
| 1.10.0<br />
| 2.40.0<br />
| 2.36.2<br />
| 2.24.22<br />3.8.8<br />
| 2.24.2<br />3.8.1<br />
| 1.34.1<br />
| 0.22.5<br />
| style="background:Violet;"|X<br />
| 2.5.4<br />
| 2.3.1<br />
| 7.2d<br />
|-<br />
| Ubuntu 14.04 (Trusty) <small>EOL 2019-04</small><br />
| 0.48.4<br />
| 4.8.2<br />
| (U 3.5)<br />
| 1.13.0<br />
| 1.10.0<br />
| 2.40.2<br />
| 2.39.93<br />
| 2.24.23<br />3.10.8<br />
| 2.24.4<br />3.10.1<br />
| 1.36.3<br />
| 0.24.5<br />
| 3.8.1<br />
| 1.19<br />2.5<br />
| 2.2.10<br />
| 7.2d<br />
|-<br />
| Ubuntu 16.04 (Xenial) <small>EOL 2021-04)</small><br />
| 0.91.0<br />
| 5.3.1<br />
| 3.8<br />
| 1.14.6<br />
| 1.12.0<br />
| 2.48.0<br />
| 2.46.3<br />
| 2.24.30<br />3.18.9<br />
| 2.24.4<br />3.18.0<br />
| 1.38.1<br />
| 0.41.0<br />
| 3.18.0<br />
| 2.6<br />
| 2.6.2<br />
| 7.4.2<br />
|-<br />
| Ubuntu 16.10 (Yakkety) <small>EOL 2017-07)</small><br />
| 0.91.0<br />
| 5.4.1<br />
| 3.8<br />
| 1.14.6<br />
| 1.12.0<br />
| 2.50.0<br />
| 2.48.1<br />
| 2.24.30<br />3.20.9<br />
| 2.24.5<br />3.20.1<br />
| 1.40.1<br />
| 0.44.0<br />
| 3.22.0<br />
| 2.7<br />
| 2.8.0<br />
| 7.4.2<br />
|}<br />
<br />
{| class="wikitable"<br />
|-<br />
! Legend<br />
|-<br />
| style="background:Red;"| Inkscape stable unsupported<br />
|-<br />
| style="background:Orange;"| Inkscape trunk unsupported<br />
|-<br />
| style="background:Violet;"| GTK+ 3 builds unsupported<br />
|}<br />
<br />
== Getting and Installing Source packages ==<br />
<br />
If your distro does not have some packages available (like many don't, ie, Fedora Core 2), you must often download<br />
source packages and build and install them yourself. Actually this is not that hard, and is similar to<br />
doing a Gentoo 'emerge.'<br />
<br />
* Usually you download a file with a name like somepackage-1.0.tar.gz. Unpack it with<br />
<br />
$ tar zxf somepackage-1.0.tar.gz<br />
or<br />
$ tar jxf somepackage-1.0.tar.bz2<br />
<br />
* Then 'cd' into the new directory.<br />
<br />
* Configure it with the command:<br />
<br />
$ ./configure<br />
<br />
* Build it with:<br />
<br />
$ make<br />
<br />
* As the 'root' user, install it with:<br />
<br />
# make install<br />
<br />
=== Boehm-GC ===<br />
<br />
Source: http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source<br />
<br />
* Download this file:<br />
** http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc6.8.tar.gz<br />
* Unpack it<br />
** tar zxf gc6.8.tar.gz<br />
* Configure and build it<br />
** cd gc6.8<br />
** ./configure --disable-shared --enable-static<br />
** make<br />
* Install it<br />
** su (or however else you become root)<br />
** make install<br />
<br />
Binaries: If searching for a package for GC, the name of it is sometimes:<br />
<br />
* gc<br />
* libgc<br />
* gc-devel<br />
* libgc-devel<br />
* boehm-gc (on Gentoo)<br />
* debian/ubuntu: sudo apt-get install libgc-dev<br />
<br />
=== libSigc++ ===<br />
<br />
Source: http://ftp.gnome.org/pub/GNOME/sources/libsigc++/2.2/libsigc++-2.2.3.tar.bz2<br />
<br />
With this file, and for GlibMM and GtkMM below, it is usually desirable for us developers to<br />
build this C++ library statically. This removes a dependency that might be difficult for an<br />
end-user during installation. Configure it with:<br />
<br />
./configure --enable-static --disable-shared<br />
<br />
=== GlibMM ===<br />
Try to match your Glib2 version with GlibMM's version. For example, if your Glib2 is 2.16.6, download glibmm-2.16.4.tar.bz2.<br />
<br />
Latest source: http://ftp.gnome.org/pub/GNOME/sources/glibmm/<br />
<br />
=== GtkMM ===<br />
Usually you can try the latest version of GtkMM, but if you get version mismatch errors, try older releases.<br />
<br />
Source: http://ftp.gnome.org/pub/GNOME/sources/gtkmm/2.12/gtkmm-2.12.7.tar.bz2<br />
<br />
=== cairomm ===<br />
<br />
if you got prompted about cairomm, try first solve your cairo version, so you can grab [http://www.cairographics.org/releases/ there] a compatible version.<br />
<br />
<br />
=== Boost ===<br />
<br />
Many users have reported when building from source that after installing the above dependencies, the configure script still requires a "boost" package. It can be found below, but even after installing, you will need to create a symlink to allow the configure script to find it:<br />
<br />
ln -s /usr/local/include/boost_1_xx_x/boost /usr/local/include/boost<br />
<br />
Source: http://www.boost.org/users/download/<br />
<br />
=== Poppler ===<br />
<br />
Source: http://poppler.freedesktop.org/<br />
<br />
Poppler is required for PDF import. There are several potential issues:<br />
* Some Linux distributions do not ship the Xpdf headers required by Inkscape. In such cases, you need to recompile Poppler, passing --enable-xpdf-headers on the configure line or install the libpoppler-private-dev package. See [https://bugs.launchpad.net/inkscape/+bug/254849 this wishlist bug]. This typically manifests in error messages like this:<br />
<pre>In file included from extension/internal/pdfinput/svg-builder.cpp:19:<br />
extension/internal/pdfinput/svg-builder.h:32:23: error: CharTypes.h: No such file or directory<br />
...<br />
make[2]: *** [extension/internal/pdfinput/svg-builder.o] Error 1<br />
make[2]: Leaving directory `/tmp/build/inkscape-0.46/src'<br />
make[1]: *** [all-recursive] Error 1<br />
make[1]: Leaving directory `/tmp/build/inkscape-0.46'<br />
make: *** [all] Error 2</pre><br />
* Inkscape 0.47 does not compile with Poppler >= 0.12.2. If you need to compile Inkscape on such systems, use the development version from Bazaar, where this bug is fixed. See [https://bugs.launchpad.net/inkscape/+bug/487038 the bug report] for details and a minimal patch.<br />
* Inkscape compiled with Poppler <= 0.12.1 will run on systems with Poppler >= 0.12.2, but the PDF import function will crash instantly. This problem does not concern Windows users, since the correct Poppler version is contained in the Windows installer package. This cannot be fixed on Inkscape's side: those two versions of Poppler are not ABI compatible, yet share the same soname. See [https://bugs.launchpad.net/inkscape/+bug/258504 this bug] for more details.<br />
* Poppler's Xpdf headers are not guaranteed to be API-compatible between releases. It's likely that future Poppler versions will break PDF import in some way. PDF import works at least up to 0.12.4 but might not work with later versions.<br />
<br />
[[Category:About Inkscape]]<br />
[[Category:Developer Documentation]]</div>Valavanisalexhttps://wiki.inkscape.org/wiki/index.php?title=Tracking_Dependencies&diff=105856Tracking Dependencies2017-07-06T14:28:16Z<p>Valavanisalex: /* Distros */ debian soup</p>
<hr />
<div>== Overview ==<br />
<br />
We need help getting our basic lib dependencies listed out and kept up to date. Also we need to track which versions of which distros have the needed dependencies.<br />
<br />
To get glib and GTK+ dependencies figured out, people can go through the API documentation and look for the 'since' entries saying when calls were added. Then look for those calls in our source. Voila! we'll have base minimum dependencies figured out.<br />
<br />
== Compilers ==<br />
<br />
For C++11 features, see [[C++11]]<br />
<br />
=== gcc ===<br />
=== clang ===<br />
<br />
== Libs ==<br />
<br />
C++ bindings are not included, since their required versions match those of the C counterparts. Versions in parentheses refer to the dependencies for experimental Gtk+ 3 builds.<br />
<br />
{| class="wikitable"<br />
|-<br />
! Library<br />
! v 0.92<br />
! trunk<br />
|-<br />
| Boehm-GC<br />
| 7.2<br />
| 7.2<br />
|-<br />
| Cairo<br />
| 1.10<br />
| 1.10<br />
|-<br />
| GDL<br />
| N/A<br />(3.4)<br />
| 3.4<br />
|-<br />
| Glib<br />
| 2.28<br />
| 2.28<br />
|-<br />
| GTK+<br />
| 2.24<br />(3.8)<br />
| 3.8<br />
|-<br />
| GNU Scientific Library<br />
| ?<br />
| ?<br />
|-<br />
| libSoup<br />
| N/A<br />
| (any)<br />
|-<br />
| LittleCMS<br />
| 1.13<br />
| 1.13<br />
|-<br />
| libxml<br />
| ''2.6.11*''<br />
| ''2.6.11*''<br />
|-<br />
| libxslt<br />
| ''1.0.15*''<br />
| ''1.0.15*''<br />
|-<br />
| Pango<br />
| 1.24<br />
| 1.24<br />
|-<br />
| Poppler<br />
| 0.20.0<br />
| 0.20.0<br />
|-<br />
| libsigc++<br />
| ''2.0.12*''<br />
| ''2.0.12*''<br />
|}<br />
<br />
''* Tentative dependency''<br />
<br />
== Distros ==<br />
<br />
Note: This table is not relevant to (non-fink) MacOS X, where we ship the desired version with Inkscape.<br />
<br />
"Inkscape" column is default or distro version / oldest that builds - latest that builds. If no latest is given then that means trunk is expected to build on the given platform.<br />
<br />
e.g. for a distro that ships with 0.48 but should support building of trunk you might get:<br />
0.48 / 0.47-<br />
<br />
{| class="wikitable"<br />
|-<br />
! Distro<br />
! Inkscape<br />
! gcc<br />
! clang<br />
! cairo<br />
! cairomm<br />
! glib<br />
! glibmm<br />
! gtk+<br />
! gtkmm<br />
! pango<br />
! poppler<br />
! gdl<br />
! lcms<br />
! libsigc++<br />
! libgc <!-- Fedora rpm: gc --><br />
! libsoup<br />
|-<br />
| style="background:Violet;"|Windows Devlibs (32bit) [https://code.launchpad.net/~inkscape.dev/inkscape-devlibs/trunk] (r53)<br />
|<br />
|<br />
|<br />
| 1.11.2<br />
| 1.10.0<br />
| 2.28.8<br />
| 2.28.2<br />
| style="background:Violet;"| 2.24.10<br />
| style="background:Violet;"| 2.24.2<br />
| 1.28.3<br />
| 0.39.0<br />
| style="background:Violet;"| (none)<br />
| 1.17<br />2.4<br />
| 2.2.11<br />
| 7.4.2<br />
|<br />
|-<br />
| Windows Devlibs Gtk+ 3 branch [https://code.launchpad.net/~inkscape.dev/inkscape-devlibs/devlibs-gtk3] (r34)<br />
|<br />
|<br />
|<br />
| 1.10.2<br />
| 1.10.0<br />
| 2.38.0<br />
| 2.36.0<br />
| 2.24.18<br />3.8.1<br />
| 2.24.2<br />3.8.0<br />
| 1.34.0<br />
| 0.22.5<br />
| 3.4.2<br />
| 1.19<br />2.4<br />
| 2.2.10<br />
| 7.2d<br />
|<br />
|-<br />
| Windows Devlibs 64bit [https://code.launchpad.net/~inkscape.dev/inkscape-devlibs64/trunk] (r17)<br />
|<br />
|<br />
|<br />
| 1.14.1<br />
| 1.11.2<br />
| 2.40.0<br />
| 2.40.0<br />
| 2.24.23<br />3.13.1<br />
| 2.24.4<br />3.12.0<br />
| 1.36.3<br />
| 0.24.2<br />
| 3.12.0<br />
| -<br />2.6<br />
| 2.3.1<br />
| 7.2<br />
|<br />
|-<br />
| Debian 9 (Stretch, <i>stable</i>)<br />
| 0.92.1<br />
| 6.3.0<br />
| 3.8<br />
| 1.14.8<br />
| 1.12.0<br />
| 2.50.3<br />
| 2.50.0<br />
| 2.24.31<br />3.22.11<br />
| 2.24.5<br />3.22.0<br />
| 1.40.5<br />
| 0.48.0<br />
| 3.22.0<br />
| 2.8<br />
| 2.10.0<br />
| 7.4.2<br />
| 2.56.0<br />
|-<br />
| style="background:Violet;"|RHEL / CentOS / Scientific Linux 7.x<br />
| 0.48<br />
| 4.8.3<br />
| X <br />
| 1.12.14<br />
| 1.10.0<br />
| 2.40.0<br />
| 2.36.2<br />
| 2.24.22<br />3.8.8<br />
| 2.24.2<br />3.8.1<br />
| 1.34.1<br />
| 0.22.5<br />
| style="background:Violet;"|X<br />
| 2.5.4<br />
| 2.3.1<br />
| 7.2d<br />
|-<br />
| style="background:Red;"|Ubuntu 12.04 LTS (Precise) <small>EOL 2017-04</small><br />
| 0.48.3<br />
| 4.6.3<br />
| (U 3.4)<br />
| 1.10.2<br />
| 1.10.0<br />
| 2.32.4<br />
| 2.32.0<br />
| 2.24.10<br />3.4.2<br />
| 2.24.2<br />3.4.0<br />
| 1.30.0<br />
| style="background:Red;"|0.18.4<br />
| 3.3.91<br />
| 1.19 <br /> 2.2<br />
| 2.2.10<br />
| style="background:Red;"|7.1<br />
|-<br />
| Ubuntu 14.04 (Trusty) <small>EOL 2019-04</small><br />
| 0.48.4<br />
| 4.8.2<br />
| (U 3.5)<br />
| 1.13.0<br />
| 1.10.0<br />
| 2.40.2<br />
| 2.39.93<br />
| 2.24.23<br />3.10.8<br />
| 2.24.4<br />3.10.1<br />
| 1.36.3<br />
| 0.24.5<br />
| 3.8.1<br />
| 1.19<br />2.5<br />
| 2.2.10<br />
| 7.2d<br />
|-<br />
| Ubuntu 16.04 (Xenial) <small>EOL 2021-04)</small><br />
| 0.91.0<br />
| 5.3.1<br />
| 3.8<br />
| 1.14.6<br />
| 1.12.0<br />
| 2.48.0<br />
| 2.46.3<br />
| 2.24.30<br />3.18.9<br />
| 2.24.4<br />3.18.0<br />
| 1.38.1<br />
| 0.41.0<br />
| 3.18.0<br />
| 2.6<br />
| 2.6.2<br />
| 7.4.2<br />
|-<br />
| Ubuntu 16.10 (Yakkety) <small>EOL 2017-07)</small><br />
| 0.91.0<br />
| 5.4.1<br />
| 3.8<br />
| 1.14.6<br />
| 1.12.0<br />
| 2.50.0<br />
| 2.48.1<br />
| 2.24.30<br />3.20.9<br />
| 2.24.5<br />3.20.1<br />
| 1.40.1<br />
| 0.44.0<br />
| 3.22.0<br />
| 2.7<br />
| 2.8.0<br />
| 7.4.2<br />
|}<br />
<br />
{| class="wikitable"<br />
|-<br />
! Legend<br />
|-<br />
| style="background:Red;"| Inkscape stable unsupported<br />
|-<br />
| style="background:Orange;"| Inkscape trunk unsupported<br />
|-<br />
| style="background:Violet;"| GTK+ 3 builds unsupported<br />
|}<br />
<br />
== Getting and Installing Source packages ==<br />
<br />
If your distro does not have some packages available (like many don't, ie, Fedora Core 2), you must often download<br />
source packages and build and install them yourself. Actually this is not that hard, and is similar to<br />
doing a Gentoo 'emerge.'<br />
<br />
* Usually you download a file with a name like somepackage-1.0.tar.gz. Unpack it with<br />
<br />
$ tar zxf somepackage-1.0.tar.gz<br />
or<br />
$ tar jxf somepackage-1.0.tar.bz2<br />
<br />
* Then 'cd' into the new directory.<br />
<br />
* Configure it with the command:<br />
<br />
$ ./configure<br />
<br />
* Build it with:<br />
<br />
$ make<br />
<br />
* As the 'root' user, install it with:<br />
<br />
# make install<br />
<br />
=== Boehm-GC ===<br />
<br />
Source: http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source<br />
<br />
* Download this file:<br />
** http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc6.8.tar.gz<br />
* Unpack it<br />
** tar zxf gc6.8.tar.gz<br />
* Configure and build it<br />
** cd gc6.8<br />
** ./configure --disable-shared --enable-static<br />
** make<br />
* Install it<br />
** su (or however else you become root)<br />
** make install<br />
<br />
Binaries: If searching for a package for GC, the name of it is sometimes:<br />
<br />
* gc<br />
* libgc<br />
* gc-devel<br />
* libgc-devel<br />
* boehm-gc (on Gentoo)<br />
* debian/ubuntu: sudo apt-get install libgc-dev<br />
<br />
=== libSigc++ ===<br />
<br />
Source: http://ftp.gnome.org/pub/GNOME/sources/libsigc++/2.2/libsigc++-2.2.3.tar.bz2<br />
<br />
With this file, and for GlibMM and GtkMM below, it is usually desirable for us developers to<br />
build this C++ library statically. This removes a dependency that might be difficult for an<br />
end-user during installation. Configure it with:<br />
<br />
./configure --enable-static --disable-shared<br />
<br />
=== GlibMM ===<br />
Try to match your Glib2 version with GlibMM's version. For example, if your Glib2 is 2.16.6, download glibmm-2.16.4.tar.bz2.<br />
<br />
Latest source: http://ftp.gnome.org/pub/GNOME/sources/glibmm/<br />
<br />
=== GtkMM ===<br />
Usually you can try the latest version of GtkMM, but if you get version mismatch errors, try older releases.<br />
<br />
Source: http://ftp.gnome.org/pub/GNOME/sources/gtkmm/2.12/gtkmm-2.12.7.tar.bz2<br />
<br />
=== cairomm ===<br />
<br />
if you got prompted about cairomm, try first solve your cairo version, so you can grab [http://www.cairographics.org/releases/ there] a compatible version.<br />
<br />
<br />
=== Boost ===<br />
<br />
Many users have reported when building from source that after installing the above dependencies, the configure script still requires a "boost" package. It can be found below, but even after installing, you will need to create a symlink to allow the configure script to find it:<br />
<br />
ln -s /usr/local/include/boost_1_xx_x/boost /usr/local/include/boost<br />
<br />
Source: http://www.boost.org/users/download/<br />
<br />
=== Poppler ===<br />
<br />
Source: http://poppler.freedesktop.org/<br />
<br />
Poppler is required for PDF import. There are several potential issues:<br />
* Some Linux distributions do not ship the Xpdf headers required by Inkscape. In such cases, you need to recompile Poppler, passing --enable-xpdf-headers on the configure line or install the libpoppler-private-dev package. See [https://bugs.launchpad.net/inkscape/+bug/254849 this wishlist bug]. This typically manifests in error messages like this:<br />
<pre>In file included from extension/internal/pdfinput/svg-builder.cpp:19:<br />
extension/internal/pdfinput/svg-builder.h:32:23: error: CharTypes.h: No such file or directory<br />
...<br />
make[2]: *** [extension/internal/pdfinput/svg-builder.o] Error 1<br />
make[2]: Leaving directory `/tmp/build/inkscape-0.46/src'<br />
make[1]: *** [all-recursive] Error 1<br />
make[1]: Leaving directory `/tmp/build/inkscape-0.46'<br />
make: *** [all] Error 2</pre><br />
* Inkscape 0.47 does not compile with Poppler >= 0.12.2. If you need to compile Inkscape on such systems, use the development version from Bazaar, where this bug is fixed. See [https://bugs.launchpad.net/inkscape/+bug/487038 the bug report] for details and a minimal patch.<br />
* Inkscape compiled with Poppler <= 0.12.1 will run on systems with Poppler >= 0.12.2, but the PDF import function will crash instantly. This problem does not concern Windows users, since the correct Poppler version is contained in the Windows installer package. This cannot be fixed on Inkscape's side: those two versions of Poppler are not ABI compatible, yet share the same soname. See [https://bugs.launchpad.net/inkscape/+bug/258504 this bug] for more details.<br />
* Poppler's Xpdf headers are not guaranteed to be API-compatible between releases. It's likely that future Poppler versions will break PDF import in some way. PDF import works at least up to 0.12.4 but might not work with later versions.<br />
<br />
[[Category:About Inkscape]]<br />
[[Category:Developer Documentation]]</div>Valavanisalexhttps://wiki.inkscape.org/wiki/index.php?title=Tracking_Dependencies&diff=105851Tracking Dependencies2017-07-06T14:26:53Z<p>Valavanisalex: /* Distros */ Update debian</p>
<hr />
<div>== Overview ==<br />
<br />
We need help getting our basic lib dependencies listed out and kept up to date. Also we need to track which versions of which distros have the needed dependencies.<br />
<br />
To get glib and GTK+ dependencies figured out, people can go through the API documentation and look for the 'since' entries saying when calls were added. Then look for those calls in our source. Voila! we'll have base minimum dependencies figured out.<br />
<br />
== Compilers ==<br />
<br />
For C++11 features, see [[C++11]]<br />
<br />
=== gcc ===<br />
=== clang ===<br />
<br />
== Libs ==<br />
<br />
C++ bindings are not included, since their required versions match those of the C counterparts. Versions in parentheses refer to the dependencies for experimental Gtk+ 3 builds.<br />
<br />
{| class="wikitable"<br />
|-<br />
! Library<br />
! v 0.92<br />
! trunk<br />
|-<br />
| Boehm-GC<br />
| 7.2<br />
| 7.2<br />
|-<br />
| Cairo<br />
| 1.10<br />
| 1.10<br />
|-<br />
| GDL<br />
| N/A<br />(3.4)<br />
| 3.4<br />
|-<br />
| Glib<br />
| 2.28<br />
| 2.28<br />
|-<br />
| GTK+<br />
| 2.24<br />(3.8)<br />
| 3.8<br />
|-<br />
| GNU Scientific Library<br />
| ?<br />
| ?<br />
|-<br />
| libSoup<br />
| N/A<br />
| (any)<br />
|-<br />
| LittleCMS<br />
| 1.13<br />
| 1.13<br />
|-<br />
| libxml<br />
| ''2.6.11*''<br />
| ''2.6.11*''<br />
|-<br />
| libxslt<br />
| ''1.0.15*''<br />
| ''1.0.15*''<br />
|-<br />
| Pango<br />
| 1.24<br />
| 1.24<br />
|-<br />
| Poppler<br />
| 0.20.0<br />
| 0.20.0<br />
|-<br />
| libsigc++<br />
| ''2.0.12*''<br />
| ''2.0.12*''<br />
|}<br />
<br />
''* Tentative dependency''<br />
<br />
== Distros ==<br />
<br />
Note: This table is not relevant to (non-fink) MacOS X, where we ship the desired version with Inkscape.<br />
<br />
"Inkscape" column is default or distro version / oldest that builds - latest that builds. If no latest is given then that means trunk is expected to build on the given platform.<br />
<br />
e.g. for a distro that ships with 0.48 but should support building of trunk you might get:<br />
0.48 / 0.47-<br />
<br />
{| class="wikitable"<br />
|-<br />
! Distro<br />
! Inkscape<br />
! gcc<br />
! clang<br />
! cairo<br />
! cairomm<br />
! glib<br />
! glibmm<br />
! gtk+<br />
! gtkmm<br />
! pango<br />
! poppler<br />
! gdl<br />
! lcms<br />
! libsigc++<br />
! libgc <!-- Fedora rpm: gc --><br />
! libsoup<br />
|-<br />
| style="background:Violet;"|Windows Devlibs (32bit) [https://code.launchpad.net/~inkscape.dev/inkscape-devlibs/trunk] (r53)<br />
|<br />
|<br />
|<br />
| 1.11.2<br />
| 1.10.0<br />
| 2.28.8<br />
| 2.28.2<br />
| style="background:Violet;"| 2.24.10<br />
| style="background:Violet;"| 2.24.2<br />
| 1.28.3<br />
| 0.39.0<br />
| style="background:Violet;"| (none)<br />
| 1.17<br />2.4<br />
| 2.2.11<br />
| 7.4.2<br />
|<br />
|-<br />
| Windows Devlibs Gtk+ 3 branch [https://code.launchpad.net/~inkscape.dev/inkscape-devlibs/devlibs-gtk3] (r34)<br />
|<br />
|<br />
|<br />
| 1.10.2<br />
| 1.10.0<br />
| 2.38.0<br />
| 2.36.0<br />
| 2.24.18<br />3.8.1<br />
| 2.24.2<br />3.8.0<br />
| 1.34.0<br />
| 0.22.5<br />
| 3.4.2<br />
| 1.19<br />2.4<br />
| 2.2.10<br />
| 7.2d<br />
|<br />
|-<br />
| Windows Devlibs 64bit [https://code.launchpad.net/~inkscape.dev/inkscape-devlibs64/trunk] (r17)<br />
|<br />
|<br />
|<br />
| 1.14.1<br />
| 1.11.2<br />
| 2.40.0<br />
| 2.40.0<br />
| 2.24.23<br />3.13.1<br />
| 2.24.4<br />3.12.0<br />
| 1.36.3<br />
| 0.24.2<br />
| 3.12.0<br />
| -<br />2.6<br />
| 2.3.1<br />
| 7.2<br />
|<br />
|-<br />
| Debian 9 (Stretch, <i>stable</i>)<br />
| 0.92.1<br />
| 6.3.0<br />
| 3.8<br />
| 1.14.8<br />
| 1.12.0<br />
| 2.50.3<br />
| 2.50.0<br />
| 2.24.31<br />3.22.11<br />
| 2.24.5<br />3.22.0<br />
| 1.40.5<br />
| 0.48.0<br />
| 3.22.0<br />
| 2.8<br />
| 2.10.0<br />
| 7.4.2<br />
|<br />
|-<br />
| style="background:Violet;"|RHEL / CentOS / Scientific Linux 7.x<br />
| 0.48<br />
| 4.8.3<br />
| X <br />
| 1.12.14<br />
| 1.10.0<br />
| 2.40.0<br />
| 2.36.2<br />
| 2.24.22<br />3.8.8<br />
| 2.24.2<br />3.8.1<br />
| 1.34.1<br />
| 0.22.5<br />
| style="background:Violet;"|X<br />
| 2.5.4<br />
| 2.3.1<br />
| 7.2d<br />
|-<br />
| style="background:Red;"|Ubuntu 12.04 LTS (Precise) <small>EOL 2017-04</small><br />
| 0.48.3<br />
| 4.6.3<br />
| (U 3.4)<br />
| 1.10.2<br />
| 1.10.0<br />
| 2.32.4<br />
| 2.32.0<br />
| 2.24.10<br />3.4.2<br />
| 2.24.2<br />3.4.0<br />
| 1.30.0<br />
| style="background:Red;"|0.18.4<br />
| 3.3.91<br />
| 1.19 <br /> 2.2<br />
| 2.2.10<br />
| style="background:Red;"|7.1<br />
|-<br />
| Ubuntu 14.04 (Trusty) <small>EOL 2019-04</small><br />
| 0.48.4<br />
| 4.8.2<br />
| (U 3.5)<br />
| 1.13.0<br />
| 1.10.0<br />
| 2.40.2<br />
| 2.39.93<br />
| 2.24.23<br />3.10.8<br />
| 2.24.4<br />3.10.1<br />
| 1.36.3<br />
| 0.24.5<br />
| 3.8.1<br />
| 1.19<br />2.5<br />
| 2.2.10<br />
| 7.2d<br />
|-<br />
| Ubuntu 16.04 (Xenial) <small>EOL 2021-04)</small><br />
| 0.91.0<br />
| 5.3.1<br />
| 3.8<br />
| 1.14.6<br />
| 1.12.0<br />
| 2.48.0<br />
| 2.46.3<br />
| 2.24.30<br />3.18.9<br />
| 2.24.4<br />3.18.0<br />
| 1.38.1<br />
| 0.41.0<br />
| 3.18.0<br />
| 2.6<br />
| 2.6.2<br />
| 7.4.2<br />
|-<br />
| Ubuntu 16.10 (Yakkety) <small>EOL 2017-07)</small><br />
| 0.91.0<br />
| 5.4.1<br />
| 3.8<br />
| 1.14.6<br />
| 1.12.0<br />
| 2.50.0<br />
| 2.48.1<br />
| 2.24.30<br />3.20.9<br />
| 2.24.5<br />3.20.1<br />
| 1.40.1<br />
| 0.44.0<br />
| 3.22.0<br />
| 2.7<br />
| 2.8.0<br />
| 7.4.2<br />
|}<br />
<br />
{| class="wikitable"<br />
|-<br />
! Legend<br />
|-<br />
| style="background:Red;"| Inkscape stable unsupported<br />
|-<br />
| style="background:Orange;"| Inkscape trunk unsupported<br />
|-<br />
| style="background:Violet;"| GTK+ 3 builds unsupported<br />
|}<br />
<br />
== Getting and Installing Source packages ==<br />
<br />
If your distro does not have some packages available (like many don't, ie, Fedora Core 2), you must often download<br />
source packages and build and install them yourself. Actually this is not that hard, and is similar to<br />
doing a Gentoo 'emerge.'<br />
<br />
* Usually you download a file with a name like somepackage-1.0.tar.gz. Unpack it with<br />
<br />
$ tar zxf somepackage-1.0.tar.gz<br />
or<br />
$ tar jxf somepackage-1.0.tar.bz2<br />
<br />
* Then 'cd' into the new directory.<br />
<br />
* Configure it with the command:<br />
<br />
$ ./configure<br />
<br />
* Build it with:<br />
<br />
$ make<br />
<br />
* As the 'root' user, install it with:<br />
<br />
# make install<br />
<br />
=== Boehm-GC ===<br />
<br />
Source: http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source<br />
<br />
* Download this file:<br />
** http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc6.8.tar.gz<br />
* Unpack it<br />
** tar zxf gc6.8.tar.gz<br />
* Configure and build it<br />
** cd gc6.8<br />
** ./configure --disable-shared --enable-static<br />
** make<br />
* Install it<br />
** su (or however else you become root)<br />
** make install<br />
<br />
Binaries: If searching for a package for GC, the name of it is sometimes:<br />
<br />
* gc<br />
* libgc<br />
* gc-devel<br />
* libgc-devel<br />
* boehm-gc (on Gentoo)<br />
* debian/ubuntu: sudo apt-get install libgc-dev<br />
<br />
=== libSigc++ ===<br />
<br />
Source: http://ftp.gnome.org/pub/GNOME/sources/libsigc++/2.2/libsigc++-2.2.3.tar.bz2<br />
<br />
With this file, and for GlibMM and GtkMM below, it is usually desirable for us developers to<br />
build this C++ library statically. This removes a dependency that might be difficult for an<br />
end-user during installation. Configure it with:<br />
<br />
./configure --enable-static --disable-shared<br />
<br />
=== GlibMM ===<br />
Try to match your Glib2 version with GlibMM's version. For example, if your Glib2 is 2.16.6, download glibmm-2.16.4.tar.bz2.<br />
<br />
Latest source: http://ftp.gnome.org/pub/GNOME/sources/glibmm/<br />
<br />
=== GtkMM ===<br />
Usually you can try the latest version of GtkMM, but if you get version mismatch errors, try older releases.<br />
<br />
Source: http://ftp.gnome.org/pub/GNOME/sources/gtkmm/2.12/gtkmm-2.12.7.tar.bz2<br />
<br />
=== cairomm ===<br />
<br />
if you got prompted about cairomm, try first solve your cairo version, so you can grab [http://www.cairographics.org/releases/ there] a compatible version.<br />
<br />
<br />
=== Boost ===<br />
<br />
Many users have reported when building from source that after installing the above dependencies, the configure script still requires a "boost" package. It can be found below, but even after installing, you will need to create a symlink to allow the configure script to find it:<br />
<br />
ln -s /usr/local/include/boost_1_xx_x/boost /usr/local/include/boost<br />
<br />
Source: http://www.boost.org/users/download/<br />
<br />
=== Poppler ===<br />
<br />
Source: http://poppler.freedesktop.org/<br />
<br />
Poppler is required for PDF import. There are several potential issues:<br />
* Some Linux distributions do not ship the Xpdf headers required by Inkscape. In such cases, you need to recompile Poppler, passing --enable-xpdf-headers on the configure line or install the libpoppler-private-dev package. See [https://bugs.launchpad.net/inkscape/+bug/254849 this wishlist bug]. This typically manifests in error messages like this:<br />
<pre>In file included from extension/internal/pdfinput/svg-builder.cpp:19:<br />
extension/internal/pdfinput/svg-builder.h:32:23: error: CharTypes.h: No such file or directory<br />
...<br />
make[2]: *** [extension/internal/pdfinput/svg-builder.o] Error 1<br />
make[2]: Leaving directory `/tmp/build/inkscape-0.46/src'<br />
make[1]: *** [all-recursive] Error 1<br />
make[1]: Leaving directory `/tmp/build/inkscape-0.46'<br />
make: *** [all] Error 2</pre><br />
* Inkscape 0.47 does not compile with Poppler >= 0.12.2. If you need to compile Inkscape on such systems, use the development version from Bazaar, where this bug is fixed. See [https://bugs.launchpad.net/inkscape/+bug/487038 the bug report] for details and a minimal patch.<br />
* Inkscape compiled with Poppler <= 0.12.1 will run on systems with Poppler >= 0.12.2, but the PDF import function will crash instantly. This problem does not concern Windows users, since the correct Poppler version is contained in the Windows installer package. This cannot be fixed on Inkscape's side: those two versions of Poppler are not ABI compatible, yet share the same soname. See [https://bugs.launchpad.net/inkscape/+bug/258504 this bug] for more details.<br />
* Poppler's Xpdf headers are not guaranteed to be API-compatible between releases. It's likely that future Poppler versions will break PDF import in some way. PDF import works at least up to 0.12.4 but might not work with later versions.<br />
<br />
[[Category:About Inkscape]]<br />
[[Category:Developer Documentation]]</div>Valavanisalexhttps://wiki.inkscape.org/wiki/index.php?title=Tracking_Dependencies&diff=105846Tracking Dependencies2017-07-06T14:16:05Z<p>Valavanisalex: /* Libs */ Add libsoup dep</p>
<hr />
<div>== Overview ==<br />
<br />
We need help getting our basic lib dependencies listed out and kept up to date. Also we need to track which versions of which distros have the needed dependencies.<br />
<br />
To get glib and GTK+ dependencies figured out, people can go through the API documentation and look for the 'since' entries saying when calls were added. Then look for those calls in our source. Voila! we'll have base minimum dependencies figured out.<br />
<br />
== Compilers ==<br />
<br />
For C++11 features, see [[C++11]]<br />
<br />
=== gcc ===<br />
=== clang ===<br />
<br />
== Libs ==<br />
<br />
C++ bindings are not included, since their required versions match those of the C counterparts. Versions in parentheses refer to the dependencies for experimental Gtk+ 3 builds.<br />
<br />
{| class="wikitable"<br />
|-<br />
! Library<br />
! v 0.92<br />
! trunk<br />
|-<br />
| Boehm-GC<br />
| 7.2<br />
| 7.2<br />
|-<br />
| Cairo<br />
| 1.10<br />
| 1.10<br />
|-<br />
| GDL<br />
| N/A<br />(3.4)<br />
| 3.4<br />
|-<br />
| Glib<br />
| 2.28<br />
| 2.28<br />
|-<br />
| GTK+<br />
| 2.24<br />(3.8)<br />
| 3.8<br />
|-<br />
| GNU Scientific Library<br />
| ?<br />
| ?<br />
|-<br />
| libSoup<br />
| N/A<br />
| (any)<br />
|-<br />
| LittleCMS<br />
| 1.13<br />
| 1.13<br />
|-<br />
| libxml<br />
| ''2.6.11*''<br />
| ''2.6.11*''<br />
|-<br />
| libxslt<br />
| ''1.0.15*''<br />
| ''1.0.15*''<br />
|-<br />
| Pango<br />
| 1.24<br />
| 1.24<br />
|-<br />
| Poppler<br />
| 0.20.0<br />
| 0.20.0<br />
|-<br />
| libsigc++<br />
| ''2.0.12*''<br />
| ''2.0.12*''<br />
|}<br />
<br />
''* Tentative dependency''<br />
<br />
== Distros ==<br />
<br />
Note: This table is not relevant to (non-fink) MacOS X, where we ship the desired version with Inkscape.<br />
<br />
"Inkscape" column is default or distro version / oldest that builds - latest that builds. If no latest is given then that means trunk is expected to build on the given platform.<br />
<br />
e.g. for a distro that ships with 0.48 but should support building of trunk you might get:<br />
0.48 / 0.47-<br />
<br />
{| class="wikitable"<br />
|-<br />
! Distro<br />
! Inkscape<br />
! gcc<br />
! clang<br />
! cairo<br />
! cairomm<br />
! glib<br />
! glibmm<br />
! gtk+<br />
! gtkmm<br />
! pango<br />
! poppler<br />
! gdl<br />
! lcms<br />
! libsigc++<br />
! libgc <!-- Fedora rpm: gc --><br />
|-<br />
| style="background:Violet;"|Windows Devlibs (32bit) [https://code.launchpad.net/~inkscape.dev/inkscape-devlibs/trunk] (r53)<br />
|<br />
|<br />
|<br />
| 1.11.2<br />
| 1.10.0<br />
| 2.28.8<br />
| 2.28.2<br />
| style="background:Violet;"| 2.24.10<br />
| style="background:Violet;"| 2.24.2<br />
| 1.28.3<br />
| 0.39.0<br />
| style="background:Violet;"| (none)<br />
| 1.17<br />2.4<br />
| 2.2.11<br />
| 7.4.2<br />
|-<br />
| Windows Devlibs Gtk+ 3 branch [https://code.launchpad.net/~inkscape.dev/inkscape-devlibs/devlibs-gtk3] (r34)<br />
|<br />
|<br />
|<br />
| 1.10.2<br />
| 1.10.0<br />
| 2.38.0<br />
| 2.36.0<br />
| 2.24.18<br />3.8.1<br />
| 2.24.2<br />3.8.0<br />
| 1.34.0<br />
| 0.22.5<br />
| 3.4.2<br />
| 1.19<br />2.4<br />
| 2.2.10<br />
| 7.2d<br />
|-<br />
| Windows Devlibs 64bit [https://code.launchpad.net/~inkscape.dev/inkscape-devlibs64/trunk] (r17)<br />
|<br />
|<br />
|<br />
| 1.14.1<br />
| 1.11.2<br />
| 2.40.0<br />
| 2.40.0<br />
| 2.24.23<br />3.13.1<br />
| 2.24.4<br />3.12.0<br />
| 1.36.3<br />
| 0.24.2<br />
| 3.12.0<br />
| -<br />2.6<br />
| 2.3.1<br />
| 7.2<br />
|-<br />
| Debian 8.2.0 (Jessie, <i>stable</i>)<br />
| 0.48.5<br />
| 4.9.2<br />
| 3.5<br />
| 1.14.0<br />
| 1.10.0<br />
| 2.42.1<br />
| 2.42.0<br />
| 2.24.25<br />3.14.5<br />
| 2.24.4<br />3.14.0<br />
| 1.36.8<br />
| 0.26.5<br />
| 3.14.0<br />
| 2.6<br />
| 2.4.0<br />
| 7.2d<br />
|-<br />
| style="background:Violet;"|RHEL / CentOS / Scientific Linux 7.x<br />
| 0.48<br />
| 4.8.3<br />
| X <br />
| 1.12.14<br />
| 1.10.0<br />
| 2.40.0<br />
| 2.36.2<br />
| 2.24.22<br />3.8.8<br />
| 2.24.2<br />3.8.1<br />
| 1.34.1<br />
| 0.22.5<br />
| style="background:Violet;"|X<br />
| 2.5.4<br />
| 2.3.1<br />
| 7.2d<br />
|-<br />
| style="background:Red;"|Ubuntu 12.04 LTS (Precise) <small>EOL 2017-04</small><br />
| 0.48.3<br />
| 4.6.3<br />
| (U 3.4)<br />
| 1.10.2<br />
| 1.10.0<br />
| 2.32.4<br />
| 2.32.0<br />
| 2.24.10<br />3.4.2<br />
| 2.24.2<br />3.4.0<br />
| 1.30.0<br />
| style="background:Red;"|0.18.4<br />
| 3.3.91<br />
| 1.19 <br /> 2.2<br />
| 2.2.10<br />
| style="background:Red;"|7.1<br />
|-<br />
| Ubuntu 14.04 (Trusty) <small>EOL 2019-04</small><br />
| 0.48.4<br />
| 4.8.2<br />
| (U 3.5)<br />
| 1.13.0<br />
| 1.10.0<br />
| 2.40.2<br />
| 2.39.93<br />
| 2.24.23<br />3.10.8<br />
| 2.24.4<br />3.10.1<br />
| 1.36.3<br />
| 0.24.5<br />
| 3.8.1<br />
| 1.19<br />2.5<br />
| 2.2.10<br />
| 7.2d<br />
|-<br />
| Ubuntu 16.04 (Xenial) <small>EOL 2021-04)</small><br />
| 0.91.0<br />
| 5.3.1<br />
| 3.8<br />
| 1.14.6<br />
| 1.12.0<br />
| 2.48.0<br />
| 2.46.3<br />
| 2.24.30<br />3.18.9<br />
| 2.24.4<br />3.18.0<br />
| 1.38.1<br />
| 0.41.0<br />
| 3.18.0<br />
| 2.6<br />
| 2.6.2<br />
| 7.4.2<br />
|-<br />
| Ubuntu 16.10 (Yakkety) <small>EOL 2017-07)</small><br />
| 0.91.0<br />
| 5.4.1<br />
| 3.8<br />
| 1.14.6<br />
| 1.12.0<br />
| 2.50.0<br />
| 2.48.1<br />
| 2.24.30<br />3.20.9<br />
| 2.24.5<br />3.20.1<br />
| 1.40.1<br />
| 0.44.0<br />
| 3.22.0<br />
| 2.7<br />
| 2.8.0<br />
| 7.4.2<br />
|}<br />
<br />
{| class="wikitable"<br />
|-<br />
! Legend<br />
|-<br />
| style="background:Red;"| Inkscape stable unsupported<br />
|-<br />
| style="background:Orange;"| Inkscape trunk unsupported<br />
|-<br />
| style="background:Violet;"| GTK+ 3 builds unsupported<br />
|}<br />
<br />
== Getting and Installing Source packages ==<br />
<br />
If your distro does not have some packages available (like many don't, ie, Fedora Core 2), you must often download<br />
source packages and build and install them yourself. Actually this is not that hard, and is similar to<br />
doing a Gentoo 'emerge.'<br />
<br />
* Usually you download a file with a name like somepackage-1.0.tar.gz. Unpack it with<br />
<br />
$ tar zxf somepackage-1.0.tar.gz<br />
or<br />
$ tar jxf somepackage-1.0.tar.bz2<br />
<br />
* Then 'cd' into the new directory.<br />
<br />
* Configure it with the command:<br />
<br />
$ ./configure<br />
<br />
* Build it with:<br />
<br />
$ make<br />
<br />
* As the 'root' user, install it with:<br />
<br />
# make install<br />
<br />
=== Boehm-GC ===<br />
<br />
Source: http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source<br />
<br />
* Download this file:<br />
** http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc6.8.tar.gz<br />
* Unpack it<br />
** tar zxf gc6.8.tar.gz<br />
* Configure and build it<br />
** cd gc6.8<br />
** ./configure --disable-shared --enable-static<br />
** make<br />
* Install it<br />
** su (or however else you become root)<br />
** make install<br />
<br />
Binaries: If searching for a package for GC, the name of it is sometimes:<br />
<br />
* gc<br />
* libgc<br />
* gc-devel<br />
* libgc-devel<br />
* boehm-gc (on Gentoo)<br />
* debian/ubuntu: sudo apt-get install libgc-dev<br />
<br />
=== libSigc++ ===<br />
<br />
Source: http://ftp.gnome.org/pub/GNOME/sources/libsigc++/2.2/libsigc++-2.2.3.tar.bz2<br />
<br />
With this file, and for GlibMM and GtkMM below, it is usually desirable for us developers to<br />
build this C++ library statically. This removes a dependency that might be difficult for an<br />
end-user during installation. Configure it with:<br />
<br />
./configure --enable-static --disable-shared<br />
<br />
=== GlibMM ===<br />
Try to match your Glib2 version with GlibMM's version. For example, if your Glib2 is 2.16.6, download glibmm-2.16.4.tar.bz2.<br />
<br />
Latest source: http://ftp.gnome.org/pub/GNOME/sources/glibmm/<br />
<br />
=== GtkMM ===<br />
Usually you can try the latest version of GtkMM, but if you get version mismatch errors, try older releases.<br />
<br />
Source: http://ftp.gnome.org/pub/GNOME/sources/gtkmm/2.12/gtkmm-2.12.7.tar.bz2<br />
<br />
=== cairomm ===<br />
<br />
if you got prompted about cairomm, try first solve your cairo version, so you can grab [http://www.cairographics.org/releases/ there] a compatible version.<br />
<br />
<br />
=== Boost ===<br />
<br />
Many users have reported when building from source that after installing the above dependencies, the configure script still requires a "boost" package. It can be found below, but even after installing, you will need to create a symlink to allow the configure script to find it:<br />
<br />
ln -s /usr/local/include/boost_1_xx_x/boost /usr/local/include/boost<br />
<br />
Source: http://www.boost.org/users/download/<br />
<br />
=== Poppler ===<br />
<br />
Source: http://poppler.freedesktop.org/<br />
<br />
Poppler is required for PDF import. There are several potential issues:<br />
* Some Linux distributions do not ship the Xpdf headers required by Inkscape. In such cases, you need to recompile Poppler, passing --enable-xpdf-headers on the configure line or install the libpoppler-private-dev package. See [https://bugs.launchpad.net/inkscape/+bug/254849 this wishlist bug]. This typically manifests in error messages like this:<br />
<pre>In file included from extension/internal/pdfinput/svg-builder.cpp:19:<br />
extension/internal/pdfinput/svg-builder.h:32:23: error: CharTypes.h: No such file or directory<br />
...<br />
make[2]: *** [extension/internal/pdfinput/svg-builder.o] Error 1<br />
make[2]: Leaving directory `/tmp/build/inkscape-0.46/src'<br />
make[1]: *** [all-recursive] Error 1<br />
make[1]: Leaving directory `/tmp/build/inkscape-0.46'<br />
make: *** [all] Error 2</pre><br />
* Inkscape 0.47 does not compile with Poppler >= 0.12.2. If you need to compile Inkscape on such systems, use the development version from Bazaar, where this bug is fixed. See [https://bugs.launchpad.net/inkscape/+bug/487038 the bug report] for details and a minimal patch.<br />
* Inkscape compiled with Poppler <= 0.12.1 will run on systems with Poppler >= 0.12.2, but the PDF import function will crash instantly. This problem does not concern Windows users, since the correct Poppler version is contained in the Windows installer package. This cannot be fixed on Inkscape's side: those two versions of Poppler are not ABI compatible, yet share the same soname. See [https://bugs.launchpad.net/inkscape/+bug/258504 this bug] for more details.<br />
* Poppler's Xpdf headers are not guaranteed to be API-compatible between releases. It's likely that future Poppler versions will break PDF import in some way. PDF import works at least up to 0.12.4 but might not work with later versions.<br />
<br />
[[Category:About Inkscape]]<br />
[[Category:Developer Documentation]]</div>Valavanisalexhttps://wiki.inkscape.org/wiki/index.php?title=WorkingWithCVS&diff=105746WorkingWithCVS2017-06-22T15:56:04Z<p>Valavanisalex: update git link</p>
<hr />
<div>'''This page is obsolete; please see [[Working with Git]] for current version control procedure.'''<br />
<br />
== CVS Basics ==<br />
<br />
This node discusses the basics of using CVS. Also see [http://sourceforge.net/cvs/?group_id=93438 Checking out CVS modules on sourceforge.net]<br />
<br />
For complete on information CVS, including the basics, see:<br />
* The [http://cvsbook.red-bean.com/ Red Bean Book]<br />
* [http://www.astro.umd.edu/~teuben/miriad/cvs.html CVS for BIMA]<br />
<br />
For information on more advanced usage, see:<br />
* [[WorkingWithCVSBranches]] - making branches and merging between them<br />
<br />
=== Concepts ===<br />
<br />
==== The Repository ====<br />
<br />
CVS stores source code in a shared '''repository''' (in our case on Sourceforge's server). The repository contains all past and present versions of the code, and is shared by everyone.<br />
<br />
==== Your Working Copy ====<br />
<br />
To work with the source code, CVS requires you to '''check out''' a ''working copy''. This copy is private, so you can make and test any changes you like without disturbing anyone else.<br />
<br />
If you have '''write access''' to the repository, when you are finished making your changes, you may '''commit''' your changes to the shared repository, making them available to everyone.<br />
<br />
Alternately, you may generate a file containing the changes you made (a ''diff''), and send it to a developer with write access to be incorporated.<br />
<br />
You can check out as many working copies as you want; they take up only your own disk space, and they are completely independent of each other.<br />
<br />
If you no longer need a working copy, you may simply delete it.<br />
<br />
=== Getting Started ===<br />
<br />
==== Setting Up ====<br />
<br />
===== Default Settings =====<br />
Create a .cvsrc file in your home directory with the following contents:<br />
<br />
cvs -z3 -q<br />
diff -uNp<br />
update -Pd<br />
remove -f<br />
<br />
===== Anonymous Access =====<br />
<br />
Most developers will initially only have access to a read-only copy of the repository. You will need to run the following command once:<br />
<br />
'''cvs -z3 -d :pserver:anonymous@cvs.sourceforge.net:/cvsroot/inkscape login'''<br />
<br />
And then simply press enter when asked for a password (the password is blank).<br />
<br />
Note that this read-only copy is normally ~24 hours behind the newest changes.<br />
<br />
===== Write Access =====<br />
<br />
Developers who have been given write access (access to the master repository) will need to have ssh installed, and set their [[CVS_RSH]] environment variable to '''ssh'''.<br />
<br />
To avoid being prompted for your Sourceforge password every time you run a CVS command on the master repository, you will probably want [http://sourceforge.net/docman/display_doc.php?docid=761&group_id=1 to upload an SSH key].<br />
<br />
If you've been doing work in a codebase checked out as anonymous, you can convert it to your developer account with a little work. Essentially, you need to recursively convert all of the CVS[[/Root]] files in the tree from the anonymous user to your username. Alternatively, you can just create a diff and then patch it over.<br />
<br />
==== How Do I Check Out a Working Copy? ====<br />
<br />
To check out a copy of Inkscape from the developer CVS, you may use the following command:<br />
<br />
cvs -z3 -d''repository'' checkout inkscape<br />
<br />
Here are what the options mean:<br />
<br />
-z3 is a general CVS option, and requests that communication with the server be compressed to save bandwidth. Recommended especially if you are on dialup.<br />
<br />
-d specifies the repository to check out from.<br />
<br />
"checkout" ("co" means the same thing) specifies the action to take (check out a working copy).<br />
<br />
"inkscape" is the name of the ''module'' (group of files and directories) that make up our project.<br />
<br />
==== Which Repository Do I Use? ====<br />
<br />
Most users will use the anonymous repository (''':pserver:anonymous@cvs.sourceforge.net:/cvsroot/inkscape'''), as shown above.<br />
<br />
If you are a developer who has been given CVS write access, the repository will be ''':ext:''username''@cvs.sourceforge.net:/cvsroot/inkscape''', where ''username'' is your sourceforge username.<br />
<br />
==== Now What? ====<br />
<br />
You should have a complete working copy in the '''inkscape''' directory. You can cd to it and try compiling.<br />
<br />
:Note: If it is a fresh checkout, you will need to run the ./autogen.sh shell script at the top level to create files needed to compile<br />
<br />
You should not need to specify the repository with -d in any CVS commands for this working copy. CVS remembers which repository a working copy came from.<br />
<br />
Note that a CVS command only applies to the current directory and (possibly) any subdirectories. Normally (particularly for updates, diffs, and checkins), you will want to run the command from the top level of the project.<br />
<br />
=== Bringing Your Working Copy Up-To-Date ===<br />
<br />
Your working copy will not automatically include changes others have made to the repository since you checked it out.<br />
<br />
To ''update'' your working copy, use this command:<br />
<br />
cvs -z3 update -Pd<br />
<br />
-P specifies to remove any directories that become empty as a result of the update<br />
<br />
-d creates any new directories introduced by the update<br />
<br />
=== Dealing with Conflicts ===<br />
<br />
If you've made changes to your working copy, what happens if you update after someone has commited changes to the same files?<br />
<br />
Normally, CVS can work this out on its own. Sometimes you have to help it along, though. If CVS says there were conflicts, look for which files have a ''C'' next to them in its progress output. Some of those may have unresolved conflicts. You can also search for '=======' in the files themselves to find any unresolved conflicts.<br />
<br />
<<<<<<< ''filename''<br />
The changes in your version will be here<br />
=======<br />
The changes the other person will be here<br />
>>>>>>> ''some version here''<br />
<br />
Sometimes you will keep one set of changes and discard the other, and sometimes you will combine the two. It will require a judgement call on your part either way. Talk to the person who made the other set of changes or ask on the mailing list if it's unclear what's going on. Remember that CVS is no substitute for communication.<br />
<br />
Also, always make sure to build and test after an update to make sure that the combined changes work as intended.<br />
<br />
=== Generating a Diff ===<br />
<br />
('''Always''' update before generating a diff!)<br />
<br />
From the top-level directory, run the command:<br />
<br />
cvs -z3 diff -u3 > filename<br />
<br />
-u3 specifies which format to use (a unified diff with three lines of context). This is the recommended diff format.<br />
<br />
This will create a file describing the changes you have made, though if you have created new files as part of your changes, you will need to include those separately too when emailing them to the list or another developer for inclusion.<br />
<br />
=== Automatic Commit Diff ===<br />
<br />
To always generate a diff when you commit to CVS, set the environment variable "CVSEDITOR" to the following script:<br />
<br />
#!/bin/bash<br />
# get rid of redhat 9 locale ugliness<br />
unset [[LC_CTYPE]]<br />
# Turn on ro access (to stop multiple locks) for local roots<br />
grep @ CVS[[/Root]] >/dev/null 2>&1 || export CVSREADONLYFS=1<br />
# Tell the user what's going on<br />
echo Building diff...<br />
cvs diff -up 2>/dev/null | perl -ne 'print "CVS: $_" unless /^\?/' >> "$1"<br />
exec ${EDITOR:-vi} "$1"<br />
<br />
If the above script is named "~/bin/cvsdiffvi", then assuming you run the bash shell, you can add the following your .bashrc file:<br />
<br />
export CVSEDITOR=~/bin/cvsdiffvi<br />
<br />
Now, every time you commit, the entire diff will be visible to you as you write your commit comments.<br />
<br />
=== Patching a Diff ===<br />
<br />
A diff file can be applied to the codebase using the 'patch' command.<br />
<br />
If the diff was made as <code>inkscape/src/thingy.cpp</code> and you're in the "inkscape" directory, you'll want to use the command:<br />
<br />
patch -p1 < thingy.diff<br />
<br />
Depending on how many path elements are part of the diff, you'll need to strip them with -p1, -p2, etc.<br />
<br />
=== Committing your Changes ===<br />
<br />
('''Always''' update before committing!)<br />
<br />
If you have write access to the repository, you can commit your changes like this:<br />
<br />
Before you commit, please make sure that you describe the changes you have made in the [[ChangeLog]] file at the top-level directory.<br />
<br />
cvs -z3 commit -m "Your description of your changes goes here"<br />
<br />
Tip: even if you are committing directly, you still might want to generate a diff. It's a good reference to look at when you're filling out the [[ChangeLog]], since it will remind you of all the changes you've made.<br />
<br />
=== Adding Files to the Repository ===<br />
<br />
To add new files as part of your commit, you will need to run:<br />
<br />
cvs -z3 add ''files and directories to add go here''<br />
<br />
Before you commit. This also goes for new directories.<br />
<br />
Except for directories, the actual addition or removal will not take effect until you commit.<br />
<br />
=== Removing Files from the Repository ===<br />
<br />
To remove files from the repository (they aren't actually removed, just marked as inactive), you will need to run:<br />
<br />
cvs -z3 remove ''files that were removed go here''<br />
<br />
The files will have to have been deleted from your working copy before CVS will let you do this.<br />
<br />
The actual removal will not take effect until you commit.<br />
<br />
[[Category:Wiki Attic]]</div>Valavanisalexhttps://wiki.inkscape.org/wiki/index.php?title=Hackfest2017_Attendees&diff=105656Hackfest2017 Attendees2017-06-18T15:51:05Z<p>Valavanisalex: AV accommodation</p>
<hr />
<div><br />
Other pages: [[Hackfest2017]], [[Hackfest2017 Topics]].<br />
<br />
== Who is Attending? ==<br />
<br />
{| class="wikitable" style="text-align: center;"<br />
|+ List of Attendees<br />
Hackfest<br />
|-<br />
! rowspan="2" | Who<br />
! rowspan="2" | Dates<br />
! rowspan="2" | Allocation<br />
! colspan="2" | Arrival<br />
! colspan="2" | Departure<br />
! rowspan="2" | Hotel<br />
|-<br />
! Date/Time<br />
! Detail<br />
! Date/Time<br />
! Detail<br />
|-<br />
| Marc Jeanmougin (co-host)<br />
| 6/27, 6/28, 6/29, 6/30, 7/1<br />
| $1500<br />
| colspan="4" | Local<br />
|<br />
|-<br />
| Tavmjong Bah (co-host)<br />
| 6/27, 6/28, 6/29, 6/30, 7/1<br />
| $2000<br />
| colspan="4" | Local<br />
|<br />
|-<br />
| Martin Owens<br />
| 6/27, 6/28, 6/29, 6/30, 7/1<br />
| $2000<br />
| 7:45am 6/26<br />
| AA146<br />
| 10:30am 7/3<br />
| AA1507<br />
| Paris La Villette<br />
|-<br />
| C R (Designer, UX, and Coffeh!)<br />
| 6/26, 6/27, 6/28, 6/29, 6/30, 7/1, 7/2, 7/3, 7/4<br />
| Donation back to Inkscape<br />
|<br />
|<br />
|<br />
|<br />
| Hôtel Paris Villette<br />
|-<br />
| Jabier Arraiza<br />
| 6/26, 6/27, 6/28, 6/29, 6/30, 7/1, 7/2, 7/3, 7/4<br />
| $2000<br />
| 6:45pm 6/26<br />
| iDTGV 7912<br />
| 12:52am 7/4<br />
| TGV 8541<br />
| Hôtel Paris Villette<br />
|-<br />
| Alex Valavanis<br />
| 6/27, 6/28, 6/29<br />
| $2000<br />
| 1615 <br /> 6/26 <br />
| LS315, CDG<br />
| 1655 <br /> 6/30<br />
| LS316, CDG<br />
| Campanile Paris 19, La Villette<br />
|-<br />
| Cédric (pygmee)<br />
| 6/27, 6/28<br />
| <br />
| 11:40am 6/27 <br />
| ouibus (bercy)<br />
| 19:40pm 6/28<br />
| ouibus (bercy)<br />
| Hotel Ibis Budget Paris La Villette<br />
|-<br />
| Elisa (yemanjalisa)<br />
| 6/27, 6/28<br />
|<br />
| 11:40am 6/27 <br />
| ouibus (bercy)<br />
| 19:40pm 6/28<br />
| ouibus (bercy)<br />
|<br />
|-<br />
| Sylvain Chiron<br />
| 6/27, 6/28, 6/29, 6/30, 7/1<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| chr[]<br />
| 6/27, 6/28 6/29, 6/30<br />
| <br />
| 16h08 06/27 <br />
| Thalys 9448 (Paris Nord)<br />
| 15h55 07/01 <br />
| Thalys (Paris Nord)<br />
| Hotel Paris La Villette<br />
|-<br />
! Total<br />
!<br />
! $TBD<br />
!<br />
!<br />
!<br />
!<br />
|}<br />
<br />
TBD: "To Be Determined"<br />
<br />
Budget $13,000. Separate allocation for Inkscape dinner ($600). Venue: Free.<br />
<br />
<sup>1</sup> Sponsored by outside organization.<br />
<br />
Allocation for attending hackfest:<br />
* Up to $2000 each for Inkscape developers who have contributed for 3+ years and > 200 commits.<br />
* Up to $1500 each for Inkscape developers who have contributed for 2+ years and > 100 commits.<br />
* Up to $1000 each for Inkscape developers who have contributed for 1+ year and > 50 commits.<br />
* Up to $500 each for any Inkscape contributor listed in AUTHORS file with at least 10 commits by Jan 1, 2017.<br />
<br />
If your are an active contributor to Inkscape but are NOT in the AUTHORS file (translator, documentor, etc.) we may still be able to provide some funding on a case-by-case basis.<br />
<br />
== Travel ==<br />
<br />
Attendees seeking reimbursement '''must''' follow [https://gitorious.org/conservancy/policies/raw/75b8894f8586503e5abd23bed84229bbe5c1b7ee:Travel/conservancy-travel-policy.txt?p=conservancy:policies.git;a=blob_plain;f=Travel/conservancy-travel-policy.txt;hb=HEAD SFC travel policy]. Most importantly, take a screen shot of your airfare search. Your ticket must be within $100 of the lowest fare. Keep receipts for transport and lodging. Meal cost and misc. expenses are handled by a per diem and don't require receipts.<br />
<br />
=== Transport ===<br />
<br />
Google Flights search is probably your best bet. kayak.com and mobissimo.com can also be useful.<br />
<br />
There are three airports in Paris: Charles de Gaulle (CDG, normally long-haul flights), Orly (ORY, mostly inter-European flights), and Beauvais (BVA, mostly low-budget airlines). BVA is a bit far from Paris (85km). CDG and ORY are both connected by rail to central Paris.<br />
<br />
Paris is also the center of the TGV train network with frequent high-speed connections from London, Brussels, Amsterdam, Geneva, etc.<br />
<br />
[http://www.cite-sciences.fr/fr/au-programme/lieux-ressources/carrefour-numerique2/ Carrefour Numérique²] is located inside [http://www.cite-sciences.fr/fr/accueil/ Cité des sciences et de l'industrie] (Floor -1) which is about 15 minutes by Metro line 7 (Porte de la Villette) from central Paris.<br />
<br />
=== Hotel ===<br />
<br />
CR will be looking into hotels. There are plenty of reasonably priced AirBnB places nearby.<br />
<br />
== Reimbursements ==<br />
<br />
After the event, forward your receipts to the SFC. You need to also send payment information (name, currency, paypal account or bank information: see travel policy for more details).<br />
<br />
[[Category:Hackfest]]</div>Valavanisalexhttps://wiki.inkscape.org/wiki/index.php?title=Hackfest2017_Attendees&diff=105651Hackfest2017 Attendees2017-06-18T14:57:05Z<p>Valavanisalex: /* Who is Attending? */ AV on board :)</p>
<hr />
<div><br />
Other pages: [[Hackfest2017]], [[Hackfest2017 Topics]].<br />
<br />
== Who is Attending? ==<br />
<br />
{| class="wikitable" style="text-align: center;"<br />
|+ List of Attendees<br />
Hackfest<br />
|-<br />
! rowspan="2" | Who<br />
! rowspan="2" | Dates<br />
! rowspan="2" | Allocation<br />
! colspan="2" | Arrival<br />
! colspan="2" | Departure<br />
! rowspan="2" | Hotel<br />
|-<br />
! Date/Time<br />
! Detail<br />
! Date/Time<br />
! Detail<br />
|-<br />
| Marc Jeanmougin (co-host)<br />
| 6/27, 6/28, 6/29, 6/30, 7/1<br />
| $1500<br />
| colspan="4" | Local<br />
|<br />
|-<br />
| Tavmjong Bah (co-host)<br />
| 6/27, 6/28, 6/29, 6/30, 7/1<br />
| $2000<br />
| colspan="4" | Local<br />
|<br />
|-<br />
| Martin Owens<br />
| 6/27, 6/28, 6/29, 6/30, 7/1<br />
| $2000<br />
| 7:45am 6/26<br />
| AA146<br />
| 10:30am 7/3<br />
| AA1507<br />
| Paris La Villette<br />
|-<br />
| C R (Designer, UX, and Coffeh!)<br />
| 6/26, 6/27, 6/28, 6/29, 6/30, 7/1, 7/2, 7/3, 7/4<br />
| Donation back to Inkscape<br />
|<br />
|<br />
|<br />
|<br />
| Hôtel Paris Villette<br />
|-<br />
| Jabier Arraiza<br />
| 6/26, 6/27, 6/28, 6/29, 6/30, 7/1, 7/2, 7/3, 7/4<br />
| $2000<br />
| 6:45pm 6/26<br />
| iDTGV 7912<br />
| 12:52am 7/4<br />
| TGV 8541<br />
| Hôtel Paris Villette<br />
|-<br />
| Alex Valavanis<br />
| 6/27, 6/28, 6/29<br />
| $2000<br />
| 1615 <br /> 6/26 <br />
| LS315, CDG<br />
| 1655 <br /> 6/30<br />
| LS316, CDG<br />
|<br />
|-<br />
| Cédric (pygmee)<br />
| 6/27, 6/28<br />
| <br />
| 11:40am 6/27 <br />
| ouibus (bercy)<br />
| 19:40pm 6/28<br />
| ouibus (bercy)<br />
| Hotel Ibis Budget Paris La Villette<br />
|-<br />
| Elisa (yemanjalisa)<br />
| 6/27, 6/28<br />
|<br />
| 11:40am 6/27 <br />
| ouibus (bercy)<br />
| 19:40pm 6/28<br />
| ouibus (bercy)<br />
|<br />
|-<br />
| Sylvain Chiron<br />
| 6/27, 6/28, 6/29, 6/30, 7/1<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| chr[]<br />
| 6/27, 6/28 6/29, 6/30<br />
| <br />
| 16h08 06/27 <br />
| Thalys 9448 (Paris Nord)<br />
| 15h55 07/01 <br />
| Thalys (Paris Nord)<br />
| Hotel Paris La Villette<br />
|-<br />
! Total<br />
!<br />
! $TBD<br />
!<br />
!<br />
!<br />
!<br />
|}<br />
<br />
TBD: "To Be Determined"<br />
<br />
Budget $13,000. Separate allocation for Inkscape dinner ($600). Venue: Free.<br />
<br />
<sup>1</sup> Sponsored by outside organization.<br />
<br />
Allocation for attending hackfest:<br />
* Up to $2000 each for Inkscape developers who have contributed for 3+ years and > 200 commits.<br />
* Up to $1500 each for Inkscape developers who have contributed for 2+ years and > 100 commits.<br />
* Up to $1000 each for Inkscape developers who have contributed for 1+ year and > 50 commits.<br />
* Up to $500 each for any Inkscape contributor listed in AUTHORS file with at least 10 commits by Jan 1, 2017.<br />
<br />
If your are an active contributor to Inkscape but are NOT in the AUTHORS file (translator, documentor, etc.) we may still be able to provide some funding on a case-by-case basis.<br />
<br />
== Travel ==<br />
<br />
Attendees seeking reimbursement '''must''' follow [https://gitorious.org/conservancy/policies/raw/75b8894f8586503e5abd23bed84229bbe5c1b7ee:Travel/conservancy-travel-policy.txt?p=conservancy:policies.git;a=blob_plain;f=Travel/conservancy-travel-policy.txt;hb=HEAD SFC travel policy]. Most importantly, take a screen shot of your airfare search. Your ticket must be within $100 of the lowest fare. Keep receipts for transport and lodging. Meal cost and misc. expenses are handled by a per diem and don't require receipts.<br />
<br />
=== Transport ===<br />
<br />
Google Flights search is probably your best bet. kayak.com and mobissimo.com can also be useful.<br />
<br />
There are three airports in Paris: Charles de Gaulle (CDG, normally long-haul flights), Orly (ORY, mostly inter-European flights), and Beauvais (BVA, mostly low-budget airlines). BVA is a bit far from Paris (85km). CDG and ORY are both connected by rail to central Paris.<br />
<br />
Paris is also the center of the TGV train network with frequent high-speed connections from London, Brussels, Amsterdam, Geneva, etc.<br />
<br />
[http://www.cite-sciences.fr/fr/au-programme/lieux-ressources/carrefour-numerique2/ Carrefour Numérique²] is located inside [http://www.cite-sciences.fr/fr/accueil/ Cité des sciences et de l'industrie] (Floor -1) which is about 15 minutes by Metro line 7 (Porte de la Villette) from central Paris.<br />
<br />
=== Hotel ===<br />
<br />
CR will be looking into hotels. There are plenty of reasonably priced AirBnB places nearby.<br />
<br />
== Reimbursements ==<br />
<br />
After the event, forward your receipts to the SFC. You need to also send payment information (name, currency, paypal account or bank information: see travel policy for more details).<br />
<br />
[[Category:Hackfest]]</div>Valavanisalexhttps://wiki.inkscape.org/wiki/index.php?title=Tracking_Dependencies&diff=104836Tracking Dependencies2017-03-12T08:07:08Z<p>Valavanisalex: /* Libs */ Update</p>
<hr />
<div>== Overview ==<br />
<br />
We need help getting our basic lib dependencies listed out and kept up to date. Also we need to track which versions of which distros have the needed dependencies.<br />
<br />
To get glib and GTK+ dependencies figured out, people can go through the API documentation and look for the 'since' entries saying when calls were added. Then look for those calls in our source. Voila! we'll have base minimum dependencies figured out.<br />
<br />
== Compilers ==<br />
<br />
For C++11 features, see [[C++11]]<br />
<br />
=== gcc ===<br />
=== clang ===<br />
<br />
== Libs ==<br />
<br />
C++ bindings are not included, since their required versions match those of the C counterparts. Versions in parentheses refer to the dependencies for experimental Gtk+ 3 builds.<br />
<br />
{| class="wikitable"<br />
|-<br />
! Library<br />
! v 0.92<br />
! trunk<br />
|-<br />
| Boehm-GC<br />
| 7.2<br />
| 7.2<br />
|-<br />
| Cairo<br />
| 1.10<br />
| 1.10<br />
|-<br />
| GDL<br />
| N/A<br />(3.4)<br />
| 3.4<br />
|-<br />
| Glib<br />
| 2.28<br />
| 2.28<br />
|-<br />
| GTK+<br />
| 2.24<br />(3.8)<br />
| 3.8<br />
|-<br />
| GNU Scientific Library<br />
| ?<br />
| ?<br />
|-<br />
| LittleCMS<br />
| 1.13<br />
| 1.13<br />
|-<br />
| libxml<br />
| ''2.6.11*''<br />
| ''2.6.11*''<br />
|-<br />
| libxslt<br />
| ''1.0.15*''<br />
| ''1.0.15*''<br />
|-<br />
| Pango<br />
| 1.24<br />
| 1.24<br />
|-<br />
| Poppler<br />
| 0.20.0<br />
| 0.20.0<br />
|-<br />
| libsigc++<br />
| ''2.0.12*''<br />
| ''2.0.12*''<br />
|}<br />
<br />
''* Tentative dependency''<br />
<br />
== Distros ==<br />
<br />
Note: This table is not relevant to (non-fink) MacOS X, where we ship the desired version with Inkscape.<br />
<br />
"Inkscape" column is default or distro version / oldest that builds - latest that builds. If no latest is given then that means trunk is expected to build on the given platform.<br />
<br />
e.g. for a distro that ships with 0.48 but should support building of trunk you might get:<br />
0.48 / 0.47-<br />
<br />
{| class="wikitable"<br />
|-<br />
! Distro<br />
! Inkscape<br />
! gcc<br />
! clang<br />
! cairo<br />
! cairomm<br />
! glib<br />
! glibmm<br />
! gtk+<br />
! gtkmm<br />
! pango<br />
! poppler<br />
! gdl<br />
! lcms<br />
! libsigc++<br />
! libgc <!-- Fedora rpm: gc --><br />
|-<br />
| style="background:Violet;"|Windows Devlibs (32bit) [https://code.launchpad.net/~inkscape.dev/inkscape-devlibs/trunk] (r53)<br />
|<br />
|<br />
|<br />
| 1.11.2<br />
| 1.10.0<br />
| 2.28.8<br />
| 2.28.2<br />
| style="background:Violet;"| 2.24.10<br />
| style="background:Violet;"| 2.24.2<br />
| 1.28.3<br />
| 0.39.0<br />
| style="background:Violet;"| (none)<br />
| 1.17<br />2.4<br />
| 2.2.11<br />
| 7.4.2<br />
|-<br />
| Windows Devlibs Gtk+ 3 branch [https://code.launchpad.net/~inkscape.dev/inkscape-devlibs/devlibs-gtk3] (r34)<br />
|<br />
|<br />
|<br />
| 1.10.2<br />
| 1.10.0<br />
| 2.38.0<br />
| 2.36.0<br />
| 2.24.18<br />3.8.1<br />
| 2.24.2<br />3.8.0<br />
| 1.34.0<br />
| 0.22.5<br />
| 3.4.2<br />
| 1.19<br />2.4<br />
| 2.2.10<br />
| 7.2d<br />
|-<br />
| Windows Devlibs 64bit [https://code.launchpad.net/~inkscape.dev/inkscape-devlibs64/trunk] (r17)<br />
|<br />
|<br />
|<br />
| 1.14.1<br />
| 1.11.2<br />
| 2.40.0<br />
| 2.40.0<br />
| 2.24.23<br />3.13.1<br />
| 2.24.4<br />3.12.0<br />
| 1.36.3<br />
| 0.24.2<br />
| 3.12.0<br />
| -<br />2.6<br />
| 2.3.1<br />
| 7.2<br />
|-<br />
| Debian 8.2.0 (Jessie, <i>stable</i>)<br />
| 0.48.5<br />
| 4.9.2<br />
| 3.5<br />
| 1.14.0<br />
| 1.10.0<br />
| 2.42.1<br />
| 2.42.0<br />
| 2.24.25<br />3.14.5<br />
| 2.24.4<br />3.14.0<br />
| 1.36.8<br />
| 0.26.5<br />
| 3.14.0<br />
| 2.6<br />
| 2.4.0<br />
| 7.2d<br />
|-<br />
| style="background:Violet;"|RHEL / CentOS / Scientific Linux 7.x<br />
| 0.48<br />
| 4.8.3<br />
| X <br />
| 1.12.14<br />
| 1.10.0<br />
| 2.40.0<br />
| 2.36.2<br />
| 2.24.22<br />3.8.8<br />
| 2.24.2<br />3.8.1<br />
| 1.34.1<br />
| 0.22.5<br />
| style="background:Violet;"|X<br />
| 2.5.4<br />
| 2.3.1<br />
| 7.2d<br />
|-<br />
| style="background:Red;"|Ubuntu 12.04 LTS (Precise) <small>EOL 2017-04</small><br />
| 0.48.3<br />
| 4.6.3<br />
| (U 3.4)<br />
| 1.10.2<br />
| 1.10.0<br />
| 2.32.4<br />
| 2.32.0<br />
| 2.24.10<br />3.4.2<br />
| 2.24.2<br />3.4.0<br />
| 1.30.0<br />
| style="background:Red;"|0.18.4<br />
| 3.3.91<br />
| 1.19 <br /> 2.2<br />
| 2.2.10<br />
| style="background:Red;"|7.1<br />
|-<br />
| Ubuntu 14.04 (Trusty) <small>EOL 2019-04</small><br />
| 0.48.4<br />
| 4.8.2<br />
| (U 3.5)<br />
| 1.13.0<br />
| 1.10.0<br />
| 2.40.2<br />
| 2.39.93<br />
| 2.24.23<br />3.10.8<br />
| 2.24.4<br />3.10.1<br />
| 1.36.3<br />
| 0.24.5<br />
| 3.8.1<br />
| 1.19<br />2.5<br />
| 2.2.10<br />
| 7.2d<br />
|-<br />
| Ubuntu 16.04 (Xenial) <small>EOL 2021-04)</small><br />
| 0.91.0<br />
| 5.3.1<br />
| 3.8<br />
| 1.14.6<br />
| 1.12.0<br />
| 2.48.0<br />
| 2.46.3<br />
| 2.24.30<br />3.18.9<br />
| 2.24.4<br />3.18.0<br />
| 1.38.1<br />
| 0.41.0<br />
| 3.18.0<br />
| 2.6<br />
| 2.6.2<br />
| 7.4.2<br />
|-<br />
| Ubuntu 16.10 (Yakkety) <small>EOL 2017-07)</small><br />
| 0.91.0<br />
| 5.4.1<br />
| 3.8<br />
| 1.14.6<br />
| 1.12.0<br />
| 2.50.0<br />
| 2.48.1<br />
| 2.24.30<br />3.20.9<br />
| 2.24.5<br />3.20.1<br />
| 1.40.1<br />
| 0.44.0<br />
| 3.22.0<br />
| 2.7<br />
| 2.8.0<br />
| 7.4.2<br />
|}<br />
<br />
{| class="wikitable"<br />
|-<br />
! Legend<br />
|-<br />
| style="background:Red;"| Inkscape stable unsupported<br />
|-<br />
| style="background:Orange;"| Inkscape trunk unsupported<br />
|-<br />
| style="background:Violet;"| GTK+ 3 builds unsupported<br />
|}<br />
<br />
== Getting and Installing Source packages ==<br />
<br />
If your distro does not have some packages available (like many don't, ie, Fedora Core 2), you must often download<br />
source packages and build and install them yourself. Actually this is not that hard, and is similar to<br />
doing a Gentoo 'emerge.'<br />
<br />
* Usually you download a file with a name like somepackage-1.0.tar.gz. Unpack it with<br />
<br />
$ tar zxf somepackage-1.0.tar.gz<br />
or<br />
$ tar jxf somepackage-1.0.tar.bz2<br />
<br />
* Then 'cd' into the new directory.<br />
<br />
* Configure it with the command:<br />
<br />
$ ./configure<br />
<br />
* Build it with:<br />
<br />
$ make<br />
<br />
* As the 'root' user, install it with:<br />
<br />
# make install<br />
<br />
=== Boehm-GC ===<br />
<br />
Source: http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source<br />
<br />
* Download this file:<br />
** http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc6.8.tar.gz<br />
* Unpack it<br />
** tar zxf gc6.8.tar.gz<br />
* Configure and build it<br />
** cd gc6.8<br />
** ./configure --disable-shared --enable-static<br />
** make<br />
* Install it<br />
** su (or however else you become root)<br />
** make install<br />
<br />
Binaries: If searching for a package for GC, the name of it is sometimes:<br />
<br />
* gc<br />
* libgc<br />
* gc-devel<br />
* libgc-devel<br />
* boehm-gc (on Gentoo)<br />
* debian/ubuntu: sudo apt-get install libgc-dev<br />
<br />
=== libSigc++ ===<br />
<br />
Source: http://ftp.gnome.org/pub/GNOME/sources/libsigc++/2.2/libsigc++-2.2.3.tar.bz2<br />
<br />
With this file, and for GlibMM and GtkMM below, it is usually desirable for us developers to<br />
build this C++ library statically. This removes a dependency that might be difficult for an<br />
end-user during installation. Configure it with:<br />
<br />
./configure --enable-static --disable-shared<br />
<br />
=== GlibMM ===<br />
Try to match your Glib2 version with GlibMM's version. For example, if your Glib2 is 2.16.6, download glibmm-2.16.4.tar.bz2.<br />
<br />
Latest source: http://ftp.gnome.org/pub/GNOME/sources/glibmm/<br />
<br />
=== GtkMM ===<br />
Usually you can try the latest version of GtkMM, but if you get version mismatch errors, try older releases.<br />
<br />
Source: http://ftp.gnome.org/pub/GNOME/sources/gtkmm/2.12/gtkmm-2.12.7.tar.bz2<br />
<br />
=== cairomm ===<br />
<br />
if you got prompted about cairomm, try first solve your cairo version, so you can grab [http://www.cairographics.org/releases/ there] a compatible version.<br />
<br />
<br />
=== Boost ===<br />
<br />
Many users have reported when building from source that after installing the above dependencies, the configure script still requires a "boost" package. It can be found below, but even after installing, you will need to create a symlink to allow the configure script to find it:<br />
<br />
ln -s /usr/local/include/boost_1_xx_x/boost /usr/local/include/boost<br />
<br />
Source: http://www.boost.org/users/download/<br />
<br />
=== Poppler ===<br />
<br />
Source: http://poppler.freedesktop.org/<br />
<br />
Poppler is required for PDF import. There are several potential issues:<br />
* Some Linux distributions do not ship the Xpdf headers required by Inkscape. In such cases, you need to recompile Poppler, passing --enable-xpdf-headers on the configure line or install the libpoppler-private-dev package. See [https://bugs.launchpad.net/inkscape/+bug/254849 this wishlist bug]. This typically manifests in error messages like this:<br />
<pre>In file included from extension/internal/pdfinput/svg-builder.cpp:19:<br />
extension/internal/pdfinput/svg-builder.h:32:23: error: CharTypes.h: No such file or directory<br />
...<br />
make[2]: *** [extension/internal/pdfinput/svg-builder.o] Error 1<br />
make[2]: Leaving directory `/tmp/build/inkscape-0.46/src'<br />
make[1]: *** [all-recursive] Error 1<br />
make[1]: Leaving directory `/tmp/build/inkscape-0.46'<br />
make: *** [all] Error 2</pre><br />
* Inkscape 0.47 does not compile with Poppler >= 0.12.2. If you need to compile Inkscape on such systems, use the development version from Bazaar, where this bug is fixed. See [https://bugs.launchpad.net/inkscape/+bug/487038 the bug report] for details and a minimal patch.<br />
* Inkscape compiled with Poppler <= 0.12.1 will run on systems with Poppler >= 0.12.2, but the PDF import function will crash instantly. This problem does not concern Windows users, since the correct Poppler version is contained in the Windows installer package. This cannot be fixed on Inkscape's side: those two versions of Poppler are not ABI compatible, yet share the same soname. See [https://bugs.launchpad.net/inkscape/+bug/258504 this bug] for more details.<br />
* Poppler's Xpdf headers are not guaranteed to be API-compatible between releases. It's likely that future Poppler versions will break PDF import in some way. PDF import works at least up to 0.12.4 but might not work with later versions.<br />
<br />
[[Category:About Inkscape]]<br />
[[Category:Developer Documentation]]</div>Valavanisalexhttps://wiki.inkscape.org/wiki/index.php?title=PDF_Bugs&diff=104656PDF Bugs2017-02-23T14:37:17Z<p>Valavanisalex: /* Bugs */ bug links</p>
<hr />
<div>{{Outdated}}<br />
== Bugs ==<br />
<br />
* {{Bug | id = sf1027699 | name = imported EPS files are scaled to 80% | status = invalid}}<br />
* {{Bug | id = sf1051080 | name = ill2svg missing text | status = invalid}}<br />
* {{Bug | id = sf1114254 | name = cannot open/import eps files | status = invalid}}<br />
* {{Bug | id = sf1170322 | name = Clippath does not work in PS export | status = fixed}}<br />
* {{Bug | id = sf1180226 | name = Can't open .eps file. | status = invalid}}<br />
* {{Bug | id = sf1208874 | name = pattern fills do not export to ps or eps | status = fixed}}<br />
* {{Bug | id = sf1222689 | name = EPS export of non-ASCII text | status = fixed}}<br />
* {{Bug | id = sf1234678 | name = PNG transparency lost after EPS->PDF export | status = fixed}}<br />
* {{Bug | id = sf1237867 | name = EPS export options issues | status = fixed}}<br />
* {{Bug | id = sf1239993 | name = Importing problems in 0.42 pre2 on OSX | status = invalid}}<br />
* {{Bug | id = sf1246558 | name = windows -export-text-to-path do not work | status = invalid}}<br />
* {{Bug | id = sf1247093 | name = Export to PDF does not preserve the document size | status = fixed}}<br />
* {{Bug | id = sf1267081 | name = imported images: no relative paths/wrong absolute path | status = fixed}}<br />
* {{Bug | id = sf1273753 | name = Exporting EPS creates a too-wide picture | status = invalid}}<br />
* {{Bug | id = sf1275197 | name = Hyphen too long in Postscript output | status = fixed}}<br />
* {{Bug | id = sf1302072 | name = ill2svg imports incorrectly | status = invalid}}<br />
* {{Bug | id = sf1305178 | name = export to eps problem with symbol and xrefs | status = fixed}}<br />
* {{Bug | id = sf1311015 | name = Win32: stroke dashes disappear in eps files | status = fixed}}<br />
* {{Bug | id = sf1333035 | name = EPS import: text items are corrupted | status = invalid}}<br />
* {{Bug | id = sf1373339 | name = PS/EPS/PDF export wrong font name | status = invalid}}<br />
* {{Bug | id = sf1378123 | name = EPS export: [[BoundingBox]] crops image (rounding issue?) | status = invalid}}<br />
<br />
== RFEs ==<br />
<br />
* Rfe#864260 -- [https://bugs.launchpad.net/inkscape/+bug/sf864260 IMPORT/EXPORT: PDF]<br />
* Rfe#957916 -- [https://bugs.launchpad.net/inkscape/+bug/sf957916 Import/Export Encapsulated [[PostScript]] format]<br />
* Rfe#989220 -- [https://bugs.launchpad.net/inkscape/+bug/sf989220 How can i export to illustrator? Copy/paste inkscape/flashmx]<br />
* Rfe#1055693 -- [https://bugs.launchpad.net/inkscape/+bug/sf1055693 import, PS files drawing text using pstoedit]<br />
* Rfe#1197549 -- [https://bugs.launchpad.net/inkscape/+bug/sf1197549 Native PDF import for Inkscape, using Poppler]<br />
* Rfe#1280894 -- [https://bugs.launchpad.net/inkscape/+bug/sf1280894 Image Transparency Portion in PS/EPS]<br />
* Rfe#1304728 -- [https://bugs.launchpad.net/inkscape/+bug/sf1304728 More import and export formats needed (.eps,.fh9,.ai)]<br />
* Rfe#1341467 -- [https://bugs.launchpad.net/inkscape/+bug/sf1341467 Print vector graphics on pdf "software" printer]<br />
* Rfe#1373349 -- [https://bugs.launchpad.net/inkscape/+bug/sf1373349 Option: Print to PDF]</div>Valavanisalexhttps://wiki.inkscape.org/wiki/index.php?title=Template:Bug&diff=104651Template:Bug2017-02-23T14:29:32Z<p>Valavanisalex: </p>
<hr />
<div><includeonly><!-- Set the background color according to the bug status (if specified) --><span style=<br />
{{#switch: {{{status}}}<br />
| new<br />
| incomplete = "background:LightPink"<br />
| confirmed<br />
| triaged = "background:LemonChiffon"<br />
| inprogress<br />
| fixcommitted = "background:LightSkyBlue" <br />
| fixed = "background:PaleGreen;text-decoration:line-through"<br />
| invalid<br />
| wontfix = "background:LightGray;text-decoration:line-through"<br />
}}<br />
><!-- Use the description of the bug-link if it has been specified -->[https://bugs.launchpad.net/inkscape/+bug/{{{id}}} {{#if: {{{name|}}} | {{{name}}} (lp:{{{id}}})| lp:{{{id}}} }}]</span></includeonly><noinclude><br />
This template provides a color-coded link to an Inkscape bug on Launchpad. For example, to link to bug #1662098, which has the status "invalid", use:<br />
<br />
<code><nowiki>{{bug | id = 1662098 | status = invalid}}</nowiki></code><br />
<br />
This will render as {{bug | id = 1662098 | status = invalid}}<br />
<br />
The list of valid status codes is:<br />
* <span style = "background:LightPink">new</span><br />
* <span style = "background:LightPink">incomplete</span><br />
* <span style = "background:LemonChiffon">confirmed</span><br />
* <span style = "background:LemonChiffon">triaged</span><br />
* <span style = "background:LightSkyBlue">inprogress</span><br />
* <span style = "background:LightSkyBlue">fixcommitted</span><br />
* <span style = "background:PaleGreen;text-decoration:line-through">fixed</span><br />
* <span style = "background:LightGray;text-decoration:line-through">invalid</span><br />
* <span style = "background:LightGray;text-decoration:line-through">wontfix</span><br />
<br />
You can also provide a name or description of the bug by using the format:<br />
<code><nowiki>{{bug | id = 1662098 | name = An example bug | status = invalid}}</nowiki></code><br />
<br />
This renders as {{bug | id = 1662098 | name = An example bug | status = invalid}}<br />
</noinclude></div>Valavanisalexhttps://wiki.inkscape.org/wiki/index.php?title=Accessible_Graphics&diff=104646Accessible Graphics2017-02-23T14:27:41Z<p>Valavanisalex: /* Doing Better */ bug link</p>
<hr />
<div>How can Inkscape become the ideal tool for creating accessible SVG?<br />
<br />
=== Background Links ===<br />
<br />
<!-- dead link, not sure where this was supposed to point<br />
* inkscape [https://sourceforge.net/tracker/index.php?func=detail&aid=993367&group_id=93438&atid=604309 rfe]<br />
--><br />
* a [http://www.peepo.co.uk/pmwiki/pmwiki.php/Main/SVG rant] (dead link) on SVG and Accessibility given at the latest (year?) London SVGUG meeting with plenty of links. some concepts were addressed and alpha proof of concept code developed.<br />
* Links to primary [http://www.learningdifferently.com/develop/svg.html documentation] on creating accessible SVG<br />
* SVG and accessibility (somewhat out of date): [http://www.w3.org/TR/SVG-access/ authoring guidance], [http://www.w3.org/TR/SVG11/access.html SVG 1.1 appendix]<br />
* Work of the W3C Accessibility task force: [http://www.w3.org/WAI/PF/svg-a11y-tf/ work statement], [https://www.w3.org/wiki/SVG_Accessibility wiki]<br />
<br />
=== What Inkscape Does Well ===<br />
<br />
Some accessibility features of SVG Inkscape inherits by default, such as having text stored as machine-readable text. Others require extra effort.<br />
<br />
As of 0.91, Inkscape:<br />
<br />
* Allows users to set alternative text (<title> and <desc>) for graphics content in the object properties dialog.<br />
* Sets the document-level <title> element if the user has set a title in the metadata<br />
* Supports logical grouping of elements, and allows <title> and <desc> to be set on the group<br />
<br />
Recently pushed to the dev branch was a fix so that text-to-path stores the original text content in an aria-label attribute, which will go a long way to preserving the accessibility of that content.<br />
<br />
=== Doing Better ===<br />
<br />
There is currently a {{bug | id = 170340 | name=bug report | status=confirmed}} regarding adding UI support for the core SVG accessibility features.<br />
<br />
Two main issues (not yet implemented) are covered by that bug report:<br />
<br />
* A document-level title should be required, but it is currently hard to set and there is no prompting for it.<br />
* The language of the text (visible or alternative) needs to be easy to specify with the xml:lang attribute.<br />
<br />
Language issues can get rather complex, and have benefits beyond accessibility, so there [[Language_support | is a separate wiki page for them]].<br />
<br />
More advanced issues to consider:<br />
<br />
* Ensuring that text elements are preserved in a logical reading order. This will be easier once z-index is supported, for now the aria-flowto attribute could be used to define the reading order. However, there would need to be a user interface for setting the reading order -- the order that elements are added to the graphic may not be the logical reading order.<br />
* Adding WAI-ARIA widget roles for anything that has interactive scripting added to it.<br />
<br />
[[Category:Developer Discussion]]<br />
[[Category:Needs Work]]</div>Valavanisalexhttps://wiki.inkscape.org/wiki/index.php?title=Template:Bug&diff=104636Template:Bug2017-02-23T14:26:04Z<p>Valavanisalex: </p>
<hr />
<div><includeonly><br />
<!-- Set the background color according to the bug status (if specified) --><br />
<span style=<br />
{{#switch: {{{status}}}<br />
| new<br />
| incomplete = "background:LightPink"<br />
| confirmed<br />
| triaged = "background:LemonChiffon"<br />
| inprogress<br />
| fixcommitted = "background:LightSkyBlue" <br />
| fixed = "background:PaleGreen;text-decoration:line-through"<br />
| invalid<br />
| wontfix = "background:LightGray;text-decoration:line-through"<br />
}}<br />
><br />
<!-- Use the description of the bug-link if it has been specified --><br />
[https://bugs.launchpad.net/inkscape/+bug/{{{id}}} {{#if: {{{name|}}} | {{{name}}} (lp:{{{id}}})| lp:{{{id}}} }}]</span></includeonly><noinclude><br />
This template provides a color-coded link to an Inkscape bug on Launchpad. For example, to link to bug #1662098, which has the status "invalid", use:<br />
<br />
<code><nowiki>{{bug | id = 1662098 | status = invalid}}</nowiki></code><br />
<br />
This will render as {{bug | id = 1662098 | status = invalid}}<br />
<br />
The list of valid status codes is:<br />
* <span style = "background:LightPink">new</span><br />
* <span style = "background:LightPink">incomplete</span><br />
* <span style = "background:LemonChiffon">confirmed</span><br />
* <span style = "background:LemonChiffon">triaged</span><br />
* <span style = "background:LightSkyBlue">inprogress</span><br />
* <span style = "background:LightSkyBlue">fixcommitted</span><br />
* <span style = "background:PaleGreen;text-decoration:line-through">fixed</span><br />
* <span style = "background:LightGray;text-decoration:line-through">invalid</span><br />
* <span style = "background:LightGray;text-decoration:line-through">wontfix</span><br />
<br />
You can also provide a name or description of the bug by using the format:<br />
<code><nowiki>{{bug | id = 1662098 | name = An example bug | status = invalid}}</nowiki></code><br />
<br />
This renders as {{bug | id = 1662098 | name = An example bug | status = invalid}}<br />
</noinclude></div>Valavanisalexhttps://wiki.inkscape.org/wiki/index.php?title=Template:Bug&diff=104631Template:Bug2017-02-23T14:23:43Z<p>Valavanisalex: Add option to include name</p>
<hr />
<div><includeonly><br />
<!-- Set the background color according to the bug status (if specified) --><br />
<span style=<br />
{{#switch: {{{status}}}<br />
| new<br />
| incomplete = "background:LightPink"<br />
| confirmed<br />
| triaged = "background:LemonChiffon"<br />
| inprogress<br />
| fixcommitted = "background:LightSkyBlue" <br />
| fixed = "background:PaleGreen;text-decoration:line-through"<br />
| invalid<br />
| wontfix = "background:LightGray;text-decoration:line-through"<br />
}}<br />
><br />
<!-- Use the description of the bug-link if it has been specified --><br />
[https://bugs.launchpad.net/inkscape/+bug/{{{id}}} {{#if: {{{name|}}} | {{{name}}} (lp:{{{id}}})| lp:{{{id}}} }}]<br />
</span><br />
</includeonly><noinclude><br />
This template provides a color-coded link to an Inkscape bug on Launchpad. For example, to link to bug #1662098, which has the status "invalid", use:<br />
<br />
<code><nowiki>{{bug | id = 1662098 | status = invalid}}</nowiki></code><br />
<br />
This will render as {{bug | id = 1662098 | status = invalid}}<br />
<br />
The list of valid status codes is:<br />
* <span style = "background:LightPink">new</span><br />
* <span style = "background:LightPink">incomplete</span><br />
* <span style = "background:LemonChiffon">confirmed</span><br />
* <span style = "background:LemonChiffon">triaged</span><br />
* <span style = "background:LightSkyBlue">inprogress</span><br />
* <span style = "background:LightSkyBlue">fixcommitted</span><br />
* <span style = "background:PaleGreen;text-decoration:line-through">fixed</span><br />
* <span style = "background:LightGray;text-decoration:line-through">invalid</span><br />
* <span style = "background:LightGray;text-decoration:line-through">wontfix</span><br />
<br />
You can also provide a name or description of the bug by using the format:<br />
<code><nowiki>{{bug | id = 1662098 | name = An example bug | status = invalid}}</nowiki></code><br />
<br />
This renders as {{bug | id = 1662098 | name = An example bug | status = invalid}}<br />
</noinclude></div>Valavanisalexhttps://wiki.inkscape.org/wiki/index.php?title=Template:Bug&diff=104586Template:Bug2017-02-21T12:28:32Z<p>Valavanisalex: sp</p>
<hr />
<div><includeonly><br />
<!-- Set the background color according to the bug status (if specified) --><br />
<span style=<br />
{{#switch: {{{status}}}<br />
| new<br />
| incomplete = "background:LightPink"<br />
| confirmed<br />
| triaged = "background:LemonChiffon"<br />
| inprogress<br />
| fixcommitted = "background:LightSkyBlue" <br />
| fixed = "background:PaleGreen;text-decoration:line-through"<br />
| invalid<br />
| wontfix = "background:LightGray;text-decoration:line-through"<br />
}}<br />
><br />
[https://bugs.launchpad.net/inkscape/+bug/{{{id}}} lp:{{{id}}}]<br />
</span><br />
</includeonly><noinclude><br />
This template provides a color-coded link to an Inkscape bug on Launchpad. For example, to link to bug #1662098, which has the status "invalid", use:<br />
<br />
<code><nowiki>{{bug | id = 1662098 | status = invalid}}</nowiki></code><br />
<br />
This will render as {{bug | id = 1662098 | status = invalid}}<br />
<br />
The list of valid status codes is:<br />
* <span style = "background:LightPink">new</span><br />
* <span style = "background:LightPink">incomplete</span><br />
* <span style = "background:LemonChiffon">confirmed</span><br />
* <span style = "background:LemonChiffon">triaged</span><br />
* <span style = "background:LightSkyBlue">inprogress</span><br />
* <span style = "background:LightSkyBlue">fixcommitted</span><br />
* <span style = "background:PaleGreen;text-decoration:line-through">fixed</span><br />
* <span style = "background:LightGray;text-decoration:line-through">invalid</span><br />
* <span style = "background:LightGray;text-decoration:line-through">wontfix</span><br />
</noinclude></div>Valavanisalexhttps://wiki.inkscape.org/wiki/index.php?title=GTK%2B_3_issues&diff=104581GTK+ 3 issues2017-02-21T12:26:30Z<p>Valavanisalex: /* Issues */ bug link</p>
<hr />
<div>This page is for GTK+ documentation, any issues, questions or notes about the porting of Inkscape to Gtk3. This document will be sent to the GTK+/GNOME developers and may be useful for GIMP developers who undergo the same process.<br />
<br />
Other pages:<br />
* [[GTK+ 3 migration]]<br />
* [[GTK+ Issues]]<br />
<br />
External resources:<br />
* gtk+ IRC channel: irc.gnome.org (GIMPNet) #gtk+<br />
<br />
== Issues ==<br />
<br />
Document your issues with porting Inkscape to Gtk3 below.<br />
<br />
* [https://bugs.launchpad.net/inkscape/+bugs?field.tag=gtk3 GTK 3 Bugs]<br />
* Building with Gdk 3.20 and --enable-strict-build (default) fails due to deprecated symbols. Use --enable-strict-build=no.<br />
* Jumping palette. The color bar/palette does not seem to be able to decide how high it should be, at least for some combinations of palette width, height, etc. See bug {{bug|id=1201545|status=fixcommitted}}.<br />
** This might have been fixed by r14870 - the icon clipping problem.<br />
** Don't see why r14870 would have fixed this. r14871 disables the overlaid scrollbars introduced by Gtk3 3.16.<br />
** The 'Wrap' option doubles the height of the swatches but doesn't actually do any wrapping.<br />
* <strike>Icons are too small / cut. (if someone can find the launchpad bug for this one, please add link here). This is probably caused by the use of SPIcon instead of a standard GtkImage widget.</strike><br />
** The clipping of icons in the toolbar is fixed in r14870. Problem had to do with custom button widget which wraps icon. The preferred/minimum width/height was not taking into account the padding around the icon.<br />
** We have too many ways of creating buttons with icons which leads to inconsistency of behavior.<br />
* All custom widgets now use the Cairo drawing model. All need to be fully tested, and several (e.g., the filter editor) are not rendered correctly.<br />
* Several of the Gtk+ widgets have changed their layout (in particular, the GtkSpinButton is now much wider). Many of the toolbars now overflow the screen horizontally, and many dialogs are now far too wide. The layout of affected containers should be redesigned to account for this.<br />
* The rules for sizing of widgets within containers has changed in Gtk+ 3. In many cases, widgets will initially appear far too big, or with zero size. All dialogs and containers need to be checked for these issues.<br />
* Mac Issues:<br />
** No tablet input support on Mac (e.g. Wacom). MyPaint seems to be working on this.<br />
*** https://community.mypaint.org/t/how-to-build-mypaint-on-mac-osx-without-macports/344<br />
*** https://bugzilla.gnome.org/show_bug.cgi?id=695701<br />
** Support for global menu bar.<br />
*** GEdit uses OSX menu bar and has native file dialogs<br />
* The text "Blur" and "Opacity" inside the "interactive progress bar" widgets (are these custom widgets?) in Fill and stroke dialog are cut in half or less, and are rendered unreadable. There is also some different modes of interaction, with top half of the widgets meaning "move instantly to this point" and (part of) bottom half meaning "slightly adjust value", however the latter is really hard to use as it's something like on or two pixel rows high.<br />
* Window size preference "Small" does not result in a small window.<br />
* Gtk 3.20: "Gtk-WARNING **: Allocating size to GdlDock 0x4ca2930 without calling gtk_widget_get_preferred_width/height(). How does the code know the size to allocate?" Maybe not our bug, see: https://bugzilla.gnome.org/show_bug.cgi?id=765700<br />
<br />
== Standard Practice ==<br />
<br />
List any repetitive actions during the upgrade and note anything that needed doing when moving from gtk2 to gtk3 widgets; be clear if the action is using gtk3 or gtkmm (which often papers over some of the move to gtk3).<br />
<br />
* GtkHBox and GtkVBox are now just GtkBox with an orientation attribute.<br />
* Changing to Gtk::Box is a quick fix but there is a warning in the documentation that Gtk::Box will eventually be removed. Gtk::Grid is the "proper" replacement.<br />
<br />
We should switch to using CSS styling.<br />
<br />
* See: http://www.gtkforums.com/viewtopic.php?f=3&t=988&p=72088=GTK3+with+CSS#p72088<br />
* Ruler code uses CSS styling but @bg_color doesn't seem to be defined. I (Tav) have hard coded off-white for the moment. This works in 3.18 but is ignored in 3.20. The CSS API changed in 3.20. See:<br />
** https://bugzilla.gnome.org/show_bug.cgi?id=765433<br />
** https://blogs.gnome.org/mclasen/2015/11/20/a-gtk-update/<br />
** https://feaneron.com/2016/01/04/quick-guide-to-port-an-app-for-gtk-3-20/<br />
** Looks like we'll need a lot of #ifdefs to handle the changes in 3.20.<br />
** It appears possible to have separate style files for pre 3.20 and 3.20 but I (Tav) don't know how to do this.<br />
* A number of places in our code we use hard coded CSS.<br />
** spw-utilities.cpp <code>GtkWidget { font-size: 12pt; }</code> (In utility for setting font size of widgets.)<br />
** ruler.cpp <code>SPRuler { background-color: @bg_color; }</code> Removed r14876.<br />
** svg-view-widget.cpp <code>SPCanvas { background-color: white; }</code><br />
** desktop-widget.cpp <code>GtkWidget { padding-left: 0; ... }</code> (Restricted to Lock guides)<br />
** font-selector.cpp <code>#font_selector_family { -GtkWidget-wide-seperators: true; -GtkWidget-seperator-height: 6; }</code><br />
** text-toolbar.cpp <code>#TextFontFamilyAction_combobox { ... }</code> <code>combobox window.popup scrolledwindow treeview seperator { ... }</code><br />
* We should standardize the widget naming scheme.<br />
<br />
Use GtkInspector:<br />
<br />
GTK_DEBUG=interactive ~/path_to_gtk3/bin/inkscape<br />
<br />
== Widgets ==<br />
<br />
List any and all custom widgets currently being used in Inkscape.<br />
<br />
* Rulers - src/widgets/ruler.cpp<br />
** Should probably be updated from GIMP.<br />
* SPIcon - src/widgets/icon.cpp<br />
** Should be replaced with regular GtkImage.<br />
** SPIcon does more than rendering the icon:<br />
**# Handles custom size: Inkscape::ICON_SIZE_DECORATION<br />
**# Old to new icon name conversion<br />
**# Rendering icons from icon.svg<br />
**# Rendering into cache<br />
** All the above could be removed.<br />
* SPCanvas - src/display/sp-canvas.cpp<br />
** Needs to stay a custom widget. Fixed for GTK3.<br />
* EgeAdjustmentAction (ege-adjustment-action.h/.cpp)<br />
** Used for things like Height, Width<br />
** Internally uses GtkSpinbutton which has large '+' '-' buttons. See https://developer.gnome.org/gtk3/stable/GtkSpinButton.html<br />
<br />
== Ideas ==<br />
<br />
Any ideas which are interesting.<br />
<br />
* No ideas yet…<br />
<br />
== Deferred changes ==<br />
<br />
Work items, which should be carried out after the release of Inkscape 0.93. These are tasks, which would be impractical to perform until after we have permanently ended our support for Gtk+ 2. For example, these may make use of new Gtk+ 3 features, which have no simple fallback available in Gtk+ 2.<br />
<br />
* Delete all Gtk+ 2 backward-compatibility code. This will remove over 700 blocks of conditional build instructions from our code base, and thousands of lines of redundant code. This is essential for future maintainability, and will greatly simplify future work on Gtk+ 3 features.<br />
* Load all theme information from an external CSS style sheet. This will potentially tidy our code by removing hard-coded styling instructions, and will make it possible to properly apply user themes to Inkscape.<br />
* Switch to using a GtkIconTheme, with all custom icons installed in a standard way instead of bundled within a single SVG document. This will make it easier to provide user icon themes, and get rid of a lot of deprecated code.<br />
** We should also unify all the code for creating buttons with icons.<br />
** GTK3 respects the HiDPI setting while GTK2 does not. System icons are rendered with high DPI when needed but Inkscape specific icons are not. This will probably be fixed by moving to GtkIconTheme.<br />
** Many GTK methods using GtkIconSize have been deprecated but GtkIconSize itself has not been. This can be confusing. We have a custom value for GtkIconSize that we should try to remove.<br />
* Switch to using GtkApplication instead of GtkMain.<br />
* Switch to using GAction instead of GtkAction <- this one might be deferred indefinitely; see Gimp's direction for comparison (Gimp has stated they will not switch).<br />
<br />
== GTK+ 3 Versions ==<br />
<br />
How far back do we need to support?<br />
<br />
Ubuntu:<br />
{| class="wikitable"<br />
|-<br />
! Release<br />
! GTK+ 3 Version<br />
|-<br />
| 12.04 LTS (Precise)<br />
| 3.4<br />
|-<br />
| 14.04 LTS (Trusty)<br />
| 3.10<br />
|-<br />
| 15.10<br />
| 3.16<br />
|-<br />
| 16.04 LTS (Xenial)<br />
| 3.18<br />
|-<br />
| 16.10<br />
| 3.20?<br />
|}</div>Valavanisalexhttps://wiki.inkscape.org/wiki/index.php?title=Template:Bug&diff=104576Template:Bug2017-02-21T12:22:08Z<p>Valavanisalex: </p>
<hr />
<div><includeonly><br />
<!-- Set the background color according to the bug status (if specified) --><br />
<span style=<br />
{{#switch: {{{status}}}<br />
| new<br />
| incomplete = "background:LightPink"<br />
| confirmed<br />
| triaged = "background:LemonChiffon"<br />
| inprogress<br />
| fixcommited = "background:LightSkyBlue" <br />
| fixed = "background:PaleGreen;text-decoration:line-through"<br />
| invalid<br />
| wontfix = "background:LightGray;text-decoration:line-through"<br />
}}<br />
><br />
[https://bugs.launchpad.net/inkscape/+bug/{{{id}}} lp:{{{id}}}]<br />
</span><br />
</includeonly><noinclude><br />
This template provides a color-coded link to an Inkscape bug on Launchpad. For example, to link to bug #1662098, which has the status "invalid", use:<br />
<br />
<code><nowiki>{{bug | id = 1662098 | status = invalid}}</nowiki></code><br />
<br />
This will render as {{bug | id = 1662098 | status = invalid}}<br />
<br />
The list of valid status codes is:<br />
* <span style = "background:LightPink">new</span><br />
* <span style = "background:LightPink">incomplete</span><br />
* <span style = "background:LemonChiffon">confirmed</span><br />
* <span style = "background:LemonChiffon">triaged</span><br />
* <span style = "background:LightSkyBlue">inprogress</span><br />
* <span style = "background:LightSkyBlue">fixcommitted</span><br />
* <span style = "background:PaleGreen;text-decoration:line-through">fixed</span><br />
* <span style = "background:LightGray;text-decoration:line-through">invalid</span><br />
* <span style = "background:LightGray;text-decoration:line-through">wontfix</span><br />
</noinclude></div>Valavanisalexhttps://wiki.inkscape.org/wiki/index.php?title=User_talk:Valavanisalex&diff=104571User talk:Valavanisalex2017-02-21T12:10:58Z<p>Valavanisalex: </p>
<hr />
<div><!-- Set the color according to the bug status (if specified) --><br />
<span style=<br />
{{#switch: fixed<br />
| new<br />
| incomplete = "color:black;background:LightPink"<br />
| confirmed<br />
| triaged = "color:black;background:LemonChiffon"<br />
| fixed = "color:white;background:green" <br />
}}<br />
><br />
[https://bugs.launchpad.net/inkscape/+bug/1662098 lp:1662098]<br />
</span><br />
<br />
{{bug | id = 1662098 | status = wontfix}}</div>Valavanisalexhttps://wiki.inkscape.org/wiki/index.php?title=Template:Bug&diff=104566Template:Bug2017-02-21T12:10:43Z<p>Valavanisalex: </p>
<hr />
<div><!-- Set the background color according to the bug status (if specified) --><br />
<span style=<br />
{{#switch: {{{status}}}<br />
| new<br />
| incomplete = "background:LightPink"<br />
| confirmed<br />
| triaged = "background:LemonChiffon"<br />
| inprogress<br />
| fixcommited = "background:LightSkyBlue" <br />
| fixed = "background:PaleGreen"<br />
| invalid<br />
| wontfix = "background:LightGray;text-decoration:line-through"<br />
}}<br />
><br />
[https://bugs.launchpad.net/inkscape/+bug/{{{id}}} lp:{{{id}}}]<br />
</span></div>Valavanisalexhttps://wiki.inkscape.org/wiki/index.php?title=User_talk:Valavanisalex&diff=104561User talk:Valavanisalex2017-02-21T12:08:05Z<p>Valavanisalex: </p>
<hr />
<div><!-- Set the color according to the bug status (if specified) --><br />
<span style=<br />
{{#switch: fixed<br />
| new<br />
| incomplete = "color:black;background:LightPink"<br />
| confirmed<br />
| triaged = "color:black;background:LemonChiffon"<br />
| fixed = "color:white;background:green" <br />
}}<br />
><br />
[https://bugs.launchpad.net/inkscape/+bug/1662098 lp:1662098]<br />
</span><br />
<br />
{{bug | id = 1662098 | status = fixcommited}}</div>Valavanisalexhttps://wiki.inkscape.org/wiki/index.php?title=Template:Bug&diff=104556Template:Bug2017-02-21T12:07:57Z<p>Valavanisalex: </p>
<hr />
<div><!-- Set the color according to the bug status (if specified) --><br />
<span style=<br />
{{#switch: {{{status}}}<br />
| new<br />
| incomplete = "color:black;background:LightPink"<br />
| confirmed<br />
| triaged = "color:black;background:LemonChiffon"<br />
| inprogress<br />
| fixcommited = "color:black;background:LightSkyBlue" <br />
| fixed = "color:white;background:green" <br />
}}<br />
><br />
[https://bugs.launchpad.net/inkscape/+bug/{{{id}}} lp:{{{id}}}]<br />
</span></div>Valavanisalexhttps://wiki.inkscape.org/wiki/index.php?title=User_talk:Valavanisalex&diff=104551User talk:Valavanisalex2017-02-21T12:06:18Z<p>Valavanisalex: </p>
<hr />
<div><!-- Set the color according to the bug status (if specified) --><br />
<span style=<br />
{{#switch: fixed<br />
| new<br />
| incomplete = "color:black;background:LightPink"<br />
| confirmed<br />
| triaged = "color:black;background:LemonChiffon"<br />
| fixed = "color:white;background:green" <br />
}}<br />
><br />
[https://bugs.launchpad.net/inkscape/+bug/1662098 lp:1662098]<br />
</span><br />
<br />
{{bug | id = 1662098 | status = new}}</div>Valavanisalexhttps://wiki.inkscape.org/wiki/index.php?title=User_talk:Valavanisalex&diff=104546User talk:Valavanisalex2017-02-21T12:06:02Z<p>Valavanisalex: </p>
<hr />
<div><!-- Set the color according to the bug status (if specified) --><br />
<span style=<br />
{{#switch: fixed<br />
| new<br />
| incomplete = "color:black;background:LightPink"<br />
| confirmed<br />
| triaged = "color:black;background:LemonChiffon"<br />
| fixed = "color:white;background:green" <br />
}}<br />
><br />
[https://bugs.launchpad.net/inkscape/+bug/1662098 lp:1662098]<br />
</span><br />
<br />
{{bug | id = 1662098 | status = confirmed}}</div>Valavanisalexhttps://wiki.inkscape.org/wiki/index.php?title=User_talk:Valavanisalex&diff=104541User talk:Valavanisalex2017-02-21T12:05:51Z<p>Valavanisalex: </p>
<hr />
<div><!-- Set the color according to the bug status (if specified) --><br />
<span style=<br />
{{#switch: fixed<br />
| new<br />
| incomplete = "color:black;background:LightPink"<br />
| confirmed<br />
| triaged = "color:black;background:LemonChiffon"<br />
| fixed = "color:white;background:green" <br />
}}<br />
><br />
[https://bugs.launchpad.net/inkscape/+bug/1662098 lp:1662098]<br />
</span><br />
<br />
{{bug | id = 1662098 | status = fixed}}</div>Valavanisalexhttps://wiki.inkscape.org/wiki/index.php?title=Template:Bug&diff=104536Template:Bug2017-02-21T12:05:20Z<p>Valavanisalex: </p>
<hr />
<div><!-- Set the color according to the bug status (if specified) --><br />
<span style=<br />
{{#switch: {{{status}}}<br />
| new<br />
| incomplete = "color:black;background:LightPink"<br />
| confirmed<br />
| triaged = "color:black;background:LemonChiffon"<br />
| fixed = "color:white;background:green" <br />
}}<br />
><br />
[https://bugs.launchpad.net/inkscape/+bug/{{{id}}} lp:{{{id}}}]<br />
</span></div>Valavanisalexhttps://wiki.inkscape.org/wiki/index.php?title=User_talk:Valavanisalex&diff=104531User talk:Valavanisalex2017-02-21T12:04:51Z<p>Valavanisalex: </p>
<hr />
<div><!-- Set the color according to the bug status (if specified) --><br />
<span style=<br />
{{#switch: fixed<br />
| new<br />
| incomplete = "color:black;background:LightPink"<br />
| confirmed<br />
| triaged = "color:black;background:LemonChiffon"<br />
| fixed = "color:white;background:green" <br />
}}<br />
><br />
[https://bugs.launchpad.net/inkscape/+bug/1662098 lp:1662098]<br />
</span></div>Valavanisalexhttps://wiki.inkscape.org/wiki/index.php?title=User_talk:Valavanisalex&diff=104526User talk:Valavanisalex2017-02-21T12:04:28Z<p>Valavanisalex: </p>
<hr />
<div><!-- Set the color according to the bug status (if specified) --><br />
[https://bugs.launchpad.net/inkscape/+bug/1662098<br />
<span style=<br />
{{#switch: fixed<br />
| new<br />
| incomplete = "color:black;background:LightPink"<br />
| confirmed<br />
| triaged = "color:black;background:LemonChiffon"<br />
| fixed = "color:white;background:green" <br />
}}<br />
><br />
lp:1662098<br />
</span><br />
]</div>Valavanisalex