From 3890ae27a0e3b764353c8674c65ba2ae5a365cfa Mon Sep 17 00:00:00 2001 From: mjwybrow Date: Thu, 15 Mar 2007 03:34:35 +0000 Subject: [PATCH] * Makefile.am, packaging/macosx/inkscape_python.ds_store, packaging/macosx/osx-build.sh, packaging/macosx/osx-app.sh, packaging/macosx/dmg_background.svg, packaging/macosx/osx-dmg.sh, packaging/macosx/dmg_background.png, packaging/macosx/dmg_set_style.scpt, packaging/macosx/inkscape.ds_store: Updates to the Mac OS X packaging scripts by Jean-Olivier Irisson to improve support for building DMGs with python bundled, as well as making everything less Fink-centric so DarwinPorts can be used as an alternative. Submitted as patch #1673087. --- Makefile.am | 4 +- packaging/macosx/dmg_background.png | Bin 25456 -> 40017 bytes packaging/macosx/dmg_background.svg | 1084 +++++---------------- packaging/macosx/dmg_set_style.scpt | Bin 4466 -> 4438 bytes packaging/macosx/inkscape.ds_store | Bin 12292 -> 12292 bytes packaging/macosx/inkscape_python.ds_store | Bin 0 -> 12292 bytes packaging/macosx/osx-app.sh | 80 +- packaging/macosx/osx-build.sh | 231 +++++ packaging/macosx/osx-dmg.sh | 53 +- 9 files changed, 590 insertions(+), 862 deletions(-) create mode 100644 packaging/macosx/inkscape_python.ds_store create mode 100755 packaging/macosx/osx-build.sh diff --git a/Makefile.am b/Makefile.am index 90b00606c..b91a7f4b6 100644 --- a/Makefile.am +++ b/Makefile.am @@ -87,10 +87,12 @@ EXTRA_DIST = \ cxxtest/cxxtest/X11Gui.h \ cxxtest/cxxtest/YesNoRunner.h \ packaging/autopackage/default.apspec.in \ - packaging/osx-app.sh \ packaging/macosx/dmg_background.png \ packaging/macosx/inkscape.ds_store \ + packaging/macosx/inkscape_python.ds_store \ + packaging/macosx/osx-app.sh \ packaging/macosx/osx-dmg.sh \ + packaging/macosx/osx-build.sh \ packaging/macosx/Resources/MenuBar.nib/classes.nib \ packaging/macosx/Resources/MenuBar.nib/info.nib \ packaging/macosx/Resources/MenuBar.nib/objects.xib \ diff --git a/packaging/macosx/dmg_background.png b/packaging/macosx/dmg_background.png index 66d532f6d3420a464580249e233c413ada08cf97..65b7964f84de127b63842e7dc6eba663edd931c4 100644 GIT binary patch literal 40017 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 W?OK0gVfDru{ORi&>Evl!2mKEjrI{1} literal 25456 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 diff --git a/packaging/macosx/dmg_background.svg b/packaging/macosx/dmg_background.svg index 6c69e511b..8bd97119e 100644 --- a/packaging/macosx/dmg_background.svg +++ b/packaging/macosx/dmg_background.svg @@ -10,37 +10,20 @@ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="624.54108" - height="297.78" + height="350" id="svg2" sodipodi:version="0.32" - inkscape:version="0.44+devel" + inkscape:version="0.45" sodipodi:docname="dmg_background.svg" - sodipodi:docbase="/Volumes/files/softwares/inkscape/packaging/macosx" + sodipodi:docbase="/Volumes/files/softwares/inkscape/trunk_devel/packaging/macosx" version="1.0" - inkscape:export-filename="/Volumes/files/softwares/inkscape/packaging/macosx/dmg_background.png" + inkscape:export-filename="/Volumes/files/softwares/inkscape/trunk_devel/packaging/macosx/dmg_background.png" inkscape:export-xdpi="90" - inkscape:export-ydpi="90"> + inkscape:export-ydpi="90" + inkscape:output_extension="org.inkscape.output.svg.inkscape" + sodipodi:modified="TRUE"> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + height="350px" + width="624.54108px" + units="px" /> @@ -708,204 +172,194 @@ id="layer1" transform="translate(-48.8794,-125.0409)"> - + id="g4050" + transform="matrix(0.8110502,0,0,0.8110502,325.88989,77.589726)"> + id="path572" + d="M 248.84375,54.96875 C 237.742,54.96875 226.66325,59.21175 218.15625,67.71875 L 66.96875,218.90625 C 58.630237,227.24477 54.41517,238.08767 54.25,248.96875 L 54.1875,248.96875 C 54.1875,249.01083 54.247774,249.05157 54.25,249.09375 C 54.247803,249.27213 54.1875,249.44661 54.1875,249.625 L 54.46875,249.625 C 57.375,260.6352 132.09566,274.68942 140.4375,283.03125 C 153.0365,295.63025 92.1512,304.86976 104.75,317.46875 C 117.349,330.06775 180.9,341.8385 193.5,354.4375 C 206.099,367.0365 167.74476,380.46351 180.34375,393.0625 C 192.94275,405.6615 235.25875,389.88699 227.59375,422.75 C 244.60775,439.764 280.10701,431.67026 303.875,414.65625 C 316.474,402.05725 279.71349,403.16149 292.3125,390.5625 C 304.9115,377.9635 336.703,377.888 363.5,347.75 C 352.714,330.975 317.40101,323.81774 330,311.21875 C 342.599,298.61975 367.0855,305.03324 419.9375,281.03125 C 445.74027,269.3126 443.5984,260.41677 443.5,249.625 C 443.49794,249.39905 443.5,249.19642 443.5,248.96875 L 443.4375,248.96875 C 443.27232,238.08775 439.08845,227.2447 430.75,218.90625 L 279.5625,67.71875 C 271.05549,59.211749 259.9455,54.96875 248.84375,54.96875 z " + style="font-size:12px;fill:#c0c0c0;fill-opacity:1;fill-rule:evenodd;stroke-width:1pt" /> + id="path580" + d="M 364.356,366.845 C 382.828,370.539 386.524,383.47 382.828,387.164 C 379.135,390.859 369.899,394.553 362.51,389.011 C 355.119,383.47 355.119,370.539 364.356,366.845 z " + style="font-size:12px;fill:#c0c0c0;fill-opacity:1;fill-rule:evenodd;stroke-width:1pt" /> + id="path582" + d="M 177.423,368.079 C 175.623,368.559 160.586,355.601 148.678,361.607 C 136.773,367.612 128.781,381.059 139.903,386.577 C 151.026,392.095 158.977,385.732 168.728,378.885 C 178.48,372.039 178.128,370.72 177.423,368.079 z " + style="font-size:12px;fill:#c0c0c0;fill-opacity:1;fill-rule:evenodd;stroke-width:1pt" /> + id="path583" + d="M 397.131,335.205 C 407.177,332.693 430.383,335.205 426.687,349.981 C 422.994,364.761 391.592,359.217 371.27,351.831 C 369.423,337.052 392.396,336.388 397.131,335.205 z " + style="font-size:12px;fill:#c0c0c0;fill-opacity:1;fill-rule:evenodd;stroke-width:1pt" /> - + id="path568" + d="M 204.84,101.661 C 187.477,110.476 158.953,147.511 158.953,152.8 L 158.412,174.823 L 207.87,169.863 L 225.583,128.395 L 239.327,175.816 L 275.293,151.808 L 298.561,162.72 L 302.782,130.776 L 345.097,151.212 C 345.097,150.551 345.049,149.89 344.951,149.231 C 344.853,148.573 344.707,147.916 344.511,147.265 C 344.316,146.613 344.072,145.967 343.779,145.327 C 343.486,144.688 343.144,144.056 342.753,143.433 C 342.363,142.811 341.923,142.198 341.435,141.597 C 340.946,140.996 340.409,140.408 339.823,139.834 C 339.237,139.259 338.602,138.7 337.918,138.157 C 337.234,137.614 336.501,137.088 335.719,136.581 L 264.28,83.5998 C 251.775,75.4938 249.101,70.7318 236.596,78.8378 L 204.84,101.661 z " + style="font-size:12px;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke-width:1pt" /> + + + + + + + + + + id="path5001" + d="M 96.6875,160.96875 C 92.787255,160.12272 89.338676,166.71986 94.4375,167.625 C 98.127844,169.64513 105.11906,165.50747 100.90625,161.84375 C 99.656522,161.05111 98.140071,160.87759 96.6875,160.96875 z " + style="font-size:12px;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke-width:1pt;filter:url(#filter6370)" /> + id="path5003" + d="M 78.90625,130.0625 C 71.574069,132.72813 68.195911,140.7692 62.0625,145.25 C 60.185026,147.42322 54.784698,150.53213 57.25,153.90625 C 59.730284,154.72534 65.594263,155.98382 63.34061,159.34427 C 59.717471,163.33418 70.334693,162.45891 71.59375,165.46875 C 73.006345,167.48699 68.928159,170.12348 72.71875,170.65625 C 75.274013,170.82156 76.509875,171.42143 77.15625,173.71875 C 79.798879,175.53189 84.935097,174.59678 86.375,171.65625 C 84.032653,167.37236 91.803417,168.05515 93.09375,164.40625 C 90.163883,162.96743 90.537912,158.77419 94.09375,158.75 C 97.839433,158.38307 104.15352,156.07034 102.125,151.15625 C 95.808038,143.61829 88.597124,136.46857 81.03125,130.28125 C 80.359155,130.04775 79.615042,129.96607 78.90625,130.0625 z M 80.375,133.28125 C 82.853723,134.6375 88.132191,138.59859 83.90625,140.96875 C 81.669601,143.5713 77.157842,142.78439 76.6875,139.0625 C 76.528868,140.88754 72.618484,146.33606 70.0625,142.5 C 68.712832,139.23213 74.807932,134.16459 76.5,138.125 C 75.943839,135.93126 77.766171,131.42089 80.375,133.28125 z " + style="font-size:12px;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke-width:1pt;filter:url(#filter6366)" /> + + - - - - + id="g3996" + transform="matrix(5.8837e-2,0,0,5.8837e-2,-4.768899,-3.296641)"> + style="font-size:12px;fill:#ffffff;fill-rule:evenodd;stroke:#000000;stroke-width:0.47950168pt" + d="M 397.64309,320.25301 L 280.39197,282.517 L 250.74227,124.83447 L 345.08225,29.146783 L 393.59996,46.667064 L 483.89679,135.61619 L 397.64309,320.25301 z " + id="path3998" /> + style="font-size:12px;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke-width:1pt" + d="M 476.95792,339.17168 C 495.78197,342.93607 499.54842,356.11361 495.78197,359.87802 C 492.01856,363.6434 482.6065,367.40781 475.07663,361.76014 C 467.54478,356.11361 467.54478,342.93607 476.95792,339.17168 z " + id="path4000" /> + style="font-size:12px;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke-width:1pt" + d="M 286.46194,340.42914 C 284.6277,340.91835 269.30405,327.71337 257.16909,333.8338 C 245.03722,339.95336 236.89276,353.65666 248.22676,359.27982 C 259.56184,364.90298 267.66433,358.41867 277.60113,351.44119 C 287.53903,344.46477 287.18046,343.1206 286.46194,340.42914 z " + id="path4002" /> + style="font-size:12px;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke-width:1pt" + d="M 510.35756,306.92856 C 520.59494,304.36879 544.24333,306.92856 540.47688,321.98634 C 536.71354,337.04806 504.71297,331.39827 484.00371,323.87156 C 482.12141,308.81083 505.53237,308.13423 510.35756,306.92856 z " + id="path4004" /> - - - - - - - - + style="font-size:12px;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke-width:1pt" + d="M 359.2403,21.362537 C 347.92693,21.362537 336.6347,25.683095 327.96556,34.35223 L 173.87387,188.41466 C 165.37697,196.9114 161.1116,207.95813 160.94269,219.04577 L 160.88418,219.04577 C 160.88418,219.08524 160.94076,219.12322 160.94269,219.16279 C 160.94033,219.34888 160.88418,219.53256 160.88418,219.71865 L 161.14748,219.71865 C 164.0966,230.93917 240.29699,245.24198 248.79866,253.74346 C 261.63771,266.58263 199.5652,276.01151 212.4041,288.85074 C 225.24316,301.68979 289.99433,313.6933 302.8346,326.53254 C 315.67368,339.37161 276.5961,353.04289 289.43532,365.88196 C 302.27439,378.72118 345.40201,362.67257 337.5908,396.16198 C 354.92909,413.50026 391.10302,405.2208 415.32417,387.88252 C 428.16323,375.04345 390.6948,376.17577 403.53397,363.33668 C 416.37304,350.49745 448.78128,350.4282 476.08902,319.71589 C 465.09739,302.62116 429.10801,295.34136 441.94719,282.50217 C 454.78625,269.66311 479.74708,276.18423 533.60644,251.72479 C 559.89837,239.78398 557.72636,230.71459 557.62567,219.71865 C 557.62356,219.48727 557.62567,219.27892 557.62567,219.04577 L 557.56716,219.04577 C 557.3983,207.95812 553.10345,196.9114 544.60673,188.41466 L 390.54428,34.35223 C 381.87515,25.683095 370.55366,21.362537 359.2403,21.362537 z M 357.92378,41.402939 C 362.95327,41.533963 367.01541,45.368018 374.98006,50.530832 L 447.76915,104.50827 C 448.56596,105.02498 449.32484,105.564 450.02187,106.11735 C 450.7189,106.67062 451.3556,107.25745 451.95277,107.84347 C 452.54997,108.42842 453.09281,109.01553 453.59111,109.62808 C 454.08837,110.24052 454.53956,110.86661 454.93688,111.50048 C 455.33532,112.13538 455.69164,112.78029 455.9901,113.43137 C 456.28877,114.08363 456.52291,114.75639 456.7215,115.42078 C 456.92126,116.08419 457.08982,116.73973 457.18961,117.41019 C 457.28949,118.08184 457.33588,118.75535 457.33588,119.42886 L 414.21245,98.598549 L 409.9118,131.16055 L 386.18512,120.04324 L 349.55654,144.50131 L 335.54288,96.1703 L 317.4919,138.4453 L 267.08369,143.47735 L 267.63956,121.03795 C 267.63956,115.64823 296.69685,77.915899 314.39075,68.932902 L 346.77721,45.674327 C 351.55594,42.576634 354.90608,41.324327 357.92378,41.402939 z M 290.92738,261.61333 C 313.87149,267.56365 339.40299,275.37038 359.88393,275.50997 L 360.76161,284.72563 C 343.2235,282.91785 306.11346,274.45012 297.36372,269.98057 L 290.92738,261.61333 z " + id="path4006" /> + + + + + + This tutorial covers copy/paste, node editing, freehand and bezier drawing, path manipulation, booleans, offsets, simplification, and text tool. + - - - - - This tutorial covers copy/paste, node editing, freehand and bezier drawing, path manipulation, booleans, offsets, simplification, and text tool. + Inkscape + Inkscape + + + + + Python + Python + diff --git a/packaging/macosx/dmg_set_style.scpt b/packaging/macosx/dmg_set_style.scpt index e25279d9944c1a90ab746b9c1f3a31a2ad82bba0..dd2572ae0646ac40292ae2100bd5f425103ae377 100755 GIT binary patch delta 239 zcmeyQbWLf)9qzm>9C@WVISe3>`2XGiISdS(8eDFfc`2zydWi)E{~v5nVNi0KP<_5- zX5x|$`+@xZ{~s3Y|NnRag#Su z0}}%yb8cet1N;osRUvLAeILjr3ErcidRFGk3o!qi@}W{lOc~Gg&~!ph(V7bk)Z$x`GE#7 PGvoq!$(yTqe=q|8hfqi~ delta 262 zcmcbn^hs&M9q#%I9C@WVISe3>`2XGiISdRuU%A{e^HNfa^b!jS{@)EyVNi0KP`$rp zX2g;Y`+@xZ|L+Ox|Np=N%HIIeIx~#n1Y;coqnn>gkgub!qjN9=gCIj*PEhCpPDTeHrnlleh608SRg2 z^Z-f-GH@_3>`On=3S=`f@PJeT@kJoM05skh+4RYRyc&}&cx9!ffa-i15*d;iG8yt1 XN*MAPiWxE(6c{`hTsFt?{$K_GydF*{ diff --git a/packaging/macosx/inkscape.ds_store b/packaging/macosx/inkscape.ds_store index 394b40ec69e348dd628d19d8bf3f9e9ecb6ee1cf..2b53ff56d26db0818f4c83b84d02a5ff9c11b5dc 100644 GIT binary patch delta 485 zcmZokXi1ph&&a(oU^hP__hcRcNmdR9hIv~iYY8YBe`C1F_<`9eGdZt}0Rk8q^wP?U z%X9Mc(t!d!KnxZs%P7vsF9Py@O|BP^)MkN*XC{~BC*|ZP0eMnDwh2Q*UVdI`QhrG; zPy_;4CLb11We3{Gz`)Eg`MrPw%OU;}gUP~zJ|Kqn52B0z^TYB0^q!v#s6ys@sc4EGVHc*0Njqv1ZA;)@7EfJtG`YEYpMJXx8 z+5drnfq@gG6&bMQCMM?>S1<^GY-oSBrXDB>vrQhzW@HcnnaIGg`UL~Wink0b=Y<&< zRE>akyMV2>D$Y+UDNig)Ew;+c%Pvk%EJ(E~DJsp&W{U^foSHK^P}tRghk=zLjUkgE zhar`rm_dlaULUSYAErwmtP85?hOmk-pMF?=PHApxu|C)$kn1NqiYQFh6yay>2D+?r o@>vm;$vZ{(xj%z=ApiaUzd4>~1@mThi61PRtz=ILO>D3R0AMhP)c^nh delta 690 zcmb7BO-mb56g?9s+CWk#8Cz5krX?a)OwuN+Py}s+ER?!wm#vveY{n$>Y+jmCgi1wR z3lIDQ;<5`7{9I(fAJNi9*GZwc>B61f7Zp+jX%Aeu@7#OOJ@37Z`HlIl*Ggz_?zC44 ziJ&&%j{@fq&$Oq>7Jm9hx@K(4spA?7Vhb*J%gp&e#3n_XsTX;XRp~Gx*0g~!*-N}_ z)tOmlCY=T;Phr_%PQhfg3RQ0)&a~kk+6Z(-#kppvUMure=;0Ze>kHStNA=H zT@rwR(J>;^?n=&Ld>NYD*?9LQOWf^#=|w@mRHPUOJHCL*j-Xl%p!A&_&2<_|zu|={ zPgfS*6|>47yJ_>2UC#5g?UcBcTPlnvVyTpv)TgHg5yUKVuwcVM4GbJb7|0@n2wt^y z;x{^O{8}ddx6FYa4JdKo5xM9UEj<}nC%4=3mg2W=ytJK#+aF1^AM+uV>ADoEY`PC( qv~SG+i#oT(lfLL3slz`~>EERGKK}6S_w-+=F|YYQbNkBBx5yPfrT;Gg diff --git a/packaging/macosx/inkscape_python.ds_store b/packaging/macosx/inkscape_python.ds_store new file mode 100644 index 0000000000000000000000000000000000000000..005a13587aa25d824920583fbcefbe5e27efa8c6 GIT binary patch literal 12292 zcmeHLy>HV%6n~~EO4T&|NQbIOC=y};5d&h%LI^<+F;Eq$U69(uaZ)ReZN*92ih)dY zVP-`_3`lfjV(bKBU`A{mDi-(`;CCNRQ-=z%AVl7i?%w&``~2Pc;tLTO#cu5y(Gn3Q z(FC8HM)wO6^P-K=87)bJ8?Yz8icxCC>J&$GS-=P|0*nA7zz8q`{{{m1%@&kA<#%7r za?c1b0%M7QI3KcTf)_OJD=v=?bn*%So`6^q#&co-p4Ggdd0%nNfDB~{u1pPm#W0jP zGABbuh94c-&^HuAMu$8r)yXI*&OIZ*2#g}2?(Vtb{kx^AJA8kizzg;K zEes6Gm2a;-sQSJu-aS0lx1Fn6d5+%E;h9GhtB&RMw0EfyZo9tMfaF9o?Z1jEzB!QKrhnmD8H0alEAS#%C9Ja2tCe< zWZ7$mRwb~7C`Jdf!IyiNX%gavbhTnN8*RVq)pCI>Ag28L#|->^j?{jDh-UO@6-jA2 zcN|BYn8@^Cw)zqC^LqRNV|6$#ApZ+d`uQQl{IL&}YnskenyOSGi<;D+Hu=;gk7|^o z0K7r7v;hBQjGGifs{*+V**SB_uNn87p?P!7ce^b+G^0d_7L8Y;9`vYgvhKKcD4s`Y z@96yt;EP4r&!kt^9la8{T1#w@KcuNkQ)0bpcCTHlg-wO;RNTqgR>kte9fj=P(f$)C zM92!14O$f0Q1Z=JO1}O^iBB1#i`P*}Nfwe1{d#A+(ze5Vly1J$?t0A)1h(CLfL&5) zI9?;K0_9_6sg+ozb#h`@=dcc8no&@5D5yCIYO0`SEGT6t zJy<7MhS+DuzQ^n);k%3c0@{sfB7b9fD8eGG&@OdoOXiaWb`G9wx&m9Z^DDp? zn4a__GCfhDK!u4B7+VA;ROL(J{(tB6|NqApA1<5`7zYH5MCoCvh)VU{dZcFY^_oT7 zL=z7y(9r5nu!u0Y-ok_%9Lo32m=2wg3PC literal 0 HcmV?d00001 diff --git a/packaging/macosx/osx-app.sh b/packaging/macosx/osx-app.sh index e8e597c75..cdd4359cc 100755 --- a/packaging/macosx/osx-app.sh +++ b/packaging/macosx/osx-app.sh @@ -1,19 +1,27 @@ #! /bin/bash -# Copyright 2005, Kees Cook -# Licensed under GNU General Public License # # Usage: osx-app [-s] /path/to/bin/inkscape Info.plist # -# This attempts to build an Inkscape.app package for OSX, resolving -# Dynamic libraries, etc. Strips the executable and libraries if +# This script attempts to build an Inkscape.app package for OS X, resolving +# dynamic libraries, etc. It strips the executable and libraries if # '-s' is given. # +# +# Authors: +# Kees Cook +# Michael Wybrow +# Jean-Olivier Irisson +# +# Copyright (C) 2005 Kees Cook +# Copyright (C) 2005-2007 Michael Wybrow +# Copyright (C) 2007 Jean-Olivier Irisson +# +# +# Released under GNU GPL, read the file 'COPYING' for more information +# # Thanks to GNUnet's "build_app" script for help with library dep resolution. # https://gnunet.org/svn/GNUnet/contrib/OSX/build_app # -# Fixes and modifications to use Gimp.app style launcher: -# Michael Wybrow -# # # Notes: # The Info.plist file can be found in the base inkscape directory once @@ -24,8 +32,8 @@ # files inside the app bundle. # # Thus, the usual use of this file would be to run it from the within the -# inkscape/packaging directory, substituting in the inkscape binary path: -# ./osx-app.sh /path/to/bin/inkscape ../Info.plist +# inkscape/packaging/macosx directory, substituting in the inkscape binary path: +# ./osx-app.sh /path/to/bin/inkscape ../../Info.plist @@ -39,7 +47,10 @@ if [ "$VERSION" -ge "4" ]; then # libXinerama.1.dylib is not installed as part of X11 on Panther but # is introduced as a dependency if Inkscape is compiled on Tiger or # later. Thus, add the library to the bundle for Panther users - EXTRALIBS="/usr/X11R6/lib/libXinerama.1.dylib" + # Building on Tiger gives app bundles incompatible with Panther anyway + # so we do not need to add this now + # EXTRALIBS="/usr/X11R6/lib/libXinerama.1.dylib" + EXTRALIBS="" else # Panther (10.3) or earlier. XCODEFLAGS="-buildstyle Deployment" @@ -47,11 +58,12 @@ else EXTRALIBS="" fi - -SW="$HOME/ws-fat" - -pangover=1.5.0 -gtkver=2.10.0 +# set LIBPREFIX only if it has not been set before +# (by osx-build.sh for example) +if [ -z $LIBPREFIX ] +then + export LIBPREFIX="$HOME/ws-fat" +fi # Package always has the same name. Version information is stored in @@ -81,6 +93,7 @@ if [ ! -f "$plist" ]; then fi shift +# Set the 'macosx' directory, usually the current directory. resdir=`pwd` # Fix a given executable or library to be relocatable @@ -146,9 +159,9 @@ echo "APPLInks" > $package/Contents/PkgInfo # Pull in extra requirements. pkgetc="$package/Contents/Resources/etc" mkdir -p $pkgetc/pango -cp $SW/etc/pango/pangox.aliases $pkgetc/pango/ +cp $LIBPREFIX/etc/pango/pangox.aliases $pkgetc/pango/ # Need to adjust path and quote incase of spaces in path. -sed -e "s,$SW,\"\${CWD},g" -e 's,\.so ,.so" ,g' $SW/etc/pango/pango.modules > $pkgetc/pango/pango.modules +sed -e "s,$LIBPREFIX,\"\${CWD},g" -e 's,\.so ,.so" ,g' $LIBPREFIX/etc/pango/pango.modules > $pkgetc/pango/pango.modules cat > $pkgetc/pango/pangorc < $pkgetc/gtk-2.0/gdk-pixbuf.loaders -sed -e "s,$SW,\${CWD},g" $SW/etc/gtk-2.0/gtk.immodules > $pkgetc/gtk-2.0/gtk.immodules +sed -e "s,$LIBPREFIX,\${CWD},g" $LIBPREFIX/etc/gtk-2.0/gdk-pixbuf.loaders > $pkgetc/gtk-2.0/gdk-pixbuf.loaders +sed -e "s,$LIBPREFIX,\${CWD},g" $LIBPREFIX/etc/gtk-2.0/gtk.immodules > $pkgetc/gtk-2.0/gtk.immodules for item in gnome-vfs-mime-magic gnome-vfs-2.0 do - cp -r $SW/etc/$item $pkgetc/ + cp -r $LIBPREFIX/etc/$item $pkgetc/ done pkglib="$package/Contents/Resources/lib" +pangover=`ls $LIBPREFIX/lib/pango/` mkdir -p $pkglib/pango/$pangover/modules -cp $SW/lib/pango/$pangover/modules/*.so $pkglib/pango/$pangover/modules/ - +cp $LIBPREFIX/lib/pango/$pangover/modules/*.so $pkglib/pango/$pangover/modules/ +gtkver=`ls $LIBPREFIX/lib/gtk-2.0/ | grep "2\."` mkdir -p $pkglib/gtk-2.0/$gtkver/{engines,immodules,loaders} -cp -r $SW/lib/gtk-2.0/$gtkver/engines/* $pkglib/gtk-2.0/$gtkver/engines/ -cp $SW/lib/gtk-2.0/$gtkver/immodules/*.so $pkglib/gtk-2.0/$gtkver/immodules/ -cp $SW/lib/gtk-2.0/$gtkver/loaders/*.so $pkglib/gtk-2.0/$gtkver/loaders/ +cp -r $LIBPREFIX/lib/gtk-2.0/$gtkver/engines/* $pkglib/gtk-2.0/$gtkver/engines/ +cp $LIBPREFIX/lib/gtk-2.0/$gtkver/immodules/*.so $pkglib/gtk-2.0/$gtkver/immodules/ +cp $LIBPREFIX/lib/gtk-2.0/$gtkver/loaders/*.so $pkglib/gtk-2.0/$gtkver/loaders/ mkdir -p $pkglib/gnome-vfs-2.0/modules -cp $SW/lib/gnome-vfs-2.0/modules/*.so $pkglib/gnome-vfs-2.0/modules/ +cp $LIBPREFIX/lib/gnome-vfs-2.0/modules/*.so $pkglib/gnome-vfs-2.0/modules/ -# Find out libs we need from fink (e.g. $SW) - loop until no changes +# Find out libs we need from fink, darwinports, or from a custom install +# (e.g. $LIBPREFIX), then loop until no changes. a=1 nfiles=0 endl=true while $endl; do echo "Looking for dependencies. Round " $a - libs="`otool -L $pkglib/gtk-2.0/$gtkver/loaders/* $pkglib/gtk-2.0/$gtkver/immodules/* $pkglib/gtk-2.0/$gtkver/engines/*.so $pkglib/pango/$pangover/modules/* $pkglib/gnome-vfs-2.0/modules/* $package/Contents/Resources/lib/* $binary 2>/dev/null | fgrep compatibility | cut -d\( -f1 | grep $SW | sort | uniq`" + libs="`otool -L $pkglib/gtk-2.0/$gtkver/loaders/* $pkglib/gtk-2.0/$gtkver/immodules/* $pkglib/gtk-2.0/$gtkver/engines/*.so $pkglib/pango/$pangover/modules/* $pkglib/gnome-vfs-2.0/modules/* $package/Contents/Resources/lib/* $binary 2>/dev/null | fgrep compatibility | cut -d\( -f1 | grep $LIBPREFIX | sort | uniq`" cp -f $libs $package/Contents/Resources/lib let "a+=1" nnfiles=`ls $package/Contents/Resources/lib | wc -l` @@ -230,7 +245,6 @@ fi # Get all the icons and the rest of the script framework rsync -av $resdir/Resources/* $package/Contents/Resources/ - # Make an image #/usr/bin/hdiutil create -srcfolder "$pkg.app" "$pkg.dmg" -./osx-dmg.sh +# ./osx-dmg.sh diff --git a/packaging/macosx/osx-build.sh b/packaging/macosx/osx-build.sh new file mode 100755 index 000000000..dcbb654db --- /dev/null +++ b/packaging/macosx/osx-build.sh @@ -0,0 +1,231 @@ +#!/bin/bash +# +# Inkscape compilation and packaging script for Mac OS X +# +# Please see +# http://wiki.inkscape.org/wiki/index.php?title=CompilingMacOsX +# for more complete information +# +# Author: +# Jean-Olivier Irisson +# with information from +# Kees Cook +# Michael Wybrow +# +# Copyright 2006 +# Licensed under GNU General Public License +# + +############################################################ + +# User modifiable parameters +#---------------------------------------------------------- +# Configure flags +CONFFLAGS="--disable-static --enable-shared --enable-osxapp" +# Libraries prefix +LIBPREFIX="/opt/local" + +############################################################ + +# Help message +#---------------------------------------------------------- +help() +{ + +echo -e " +Compilation script for Inkscape on Mac OS X. + +\033[1mUSAGE\033[0m + $0 [options] action[s] + +\033[1mACTIONS & OPTIONS\033[0m + \033[1mh,help\033[0m + display this help message + \033[1mu,up,update\033[0m + update an existing checkout from svn (run svn up) + \033[1ma,auto,autogen\033[0m + prepare configure script (run autogen.sh). This is only necessary + for a fresh svn checkout or after make distclean. + \033[1mc,conf,configure\033[0m + configure the build (run configure). Edit your configuration + options in $0 + \033[1m-p,--prefix\033[0m specify install prefix (configure step only) + \033[1mb,build\033[0m + build Inkscape (run make) + \033[1mi,install\033[0m + install the build products locally, inside the source + directory (run make install) + \033[1mp,pack,package\033[0m + package Inkscape in a double clickable .app bundle and + store it in a .dmg image for distribution + \033[1m-s,--strip\033[0m remove debugging information in Inkscape package + \033[1m-py,--with-python\033[0m specify python packages path for inclusion into the dmg image + +\033[1mEXAMPLES\033[0m + \033[1m$0 conf build install\033[0m + configure, build and install a dowloaded version of Inkscape in the default + directory, keeping debugging information. + \033[1m$0 -p ~ -s -py ~/pyxml/ u a c b i p\033[0m + update an svn checkout, prepare configure script, configure, + build and install Inkscape in the user home directory. + Then package Inkscape withouth debugging information, + with python packages from ~/pyxml/ and prepare it for + distribution." +} + +# Parameters +#---------------------------------------------------------- +# Paths +HERE=`pwd` +SRCROOT=$HERE/../.. # we are currently in packaging/macosx + +# Defaults +INSTALLPREFIX=$SRCROOT/Build/ +SVNUPDATE="f" +AUTOGEN="f" +CONFIGURE="f" +BUILD="f" +INSTALL="f" +PACKAGE="f" + +STRIP="f" +PYTHON="f" + +# Parse command line options +#---------------------------------------------------------- +while [ "$1" != "" ] +do + case $1 in + h|help) + help + exit 1 ;; + u|up|update) + SVNUPDATE="t" ;; + a|auto|autogen) + AUTOGEN="t" ;; + c|conf|configure) + CONFIGURE="t" ;; + b|build) + BUILD="t" ;; + i|install) + INSTALL="t" ;; + p|pack|package) + PACKAGE="t" ;; + # -p|--prefix) + # INSTALLPREFIX=$2 + # shift 1 ;; + -s|-strip) + STRIP="t" ;; + -py|--with-python) + PYTHON="t" + PYTHONDIR=$2 + shift 1 ;; + esac + shift 1 +done + + +# Set environment variables +# ---------------------------------------------------------- +export LIBPREFIX + +# Specific environment variables +# automake seach path +export CPATH="$LIBPREFIX/include" +# configure search path +export CPPFLAGS="-I$LIBPREFIX/include" +export LDFLAGS="-L$LIBPREFIX/lib" +# compiler arguments +export CFLAGS="-O3 -Wall" +export CXXFLAGS="$CFLAGS" +# add X11 executables and libraries [does not seem to be required now] +# export PATH="/usr/X11R6/bin:$PATH" +# export LIBRARY_PATH="/usr/X11R6/lib:$LIBPREFIX/lib" +# pkgconfig path [does not seem to be required either] +# export PKG_CONFIG_PATH="$LIBPREFIX/lib/pkgconfig" + + +# Actions +# ---------------------------------------------------------- +if [[ "$SVNUPDATE" == "t" ]] +then + cd $SRCROOT + svn up + cd $HERE +fi + +if [[ "$AUTOGEN" == "t" ]] +then + cd $SRCROOT + ./autogen.sh + cd $HERE +fi + +if [[ "$CONFIGURE" == "t" ]] +then + ALLCONFFLAGS=`echo "$CONFFLAGS --prefix=$INSTALLPREFIX"` + cd $SRCROOT + ./configure $ALLCONFFLAGS + cd $HERE +fi + +if [[ "$BUILD" == "t" ]] +then + cd $SRCROOT + make + cd $HERE +fi + +if [[ "$INSTALL" == "t" ]] +then + cd $SRCROOT + make install + cd $HERE +fi + +if [[ "$PACKAGE" == "t" ]]; then + if [[ "$STRIP" == "t" ]]; then + STRIPPARAM="-s" + else + STRIPPARAM="" + fi + ./osx-app.sh $STRIPPARAM $INSTALLPREFIX/bin/inkscape $SRCROOT/Info.plist + + if [[ "PYTHON" == "t" ]]; then + ./osx-dmg.sh -py "$PYTHONDIR" + else + ./osx-dmg.sh + fi + + DATE=`date "+%Y%m%d"` + mv Inkscape.dmg Inkscape_$DATE.dmg + + # Prepare information file + INFOFILE=Inkscape_$DATE-info.txt + echo "Version information on $DATE for `whoami`: + OS X `/usr/bin/sw_vers | grep ProductVersion | cut -f2 -d \:` + DarwinPorts `port version | cut -f2 -d \ ` + GCC `gcc --version | grep GCC` + GTK `pkg-config --modversion gtk+-2.0` + GTKmm `pkg-config --modversion gtkmm-2.4` + Cairo `pkg-config --modversion cairo` + Cairomm `pkg-config --modversion cairomm-1.0` + CairoPDF `pkg-config --modversion cairo-pdf` + Pango `pkg-config --modversion pango` +Configure options: + $CONFFLAGS" > $INFOFILE + + if [[ "$STRIP" == "t" ]]; then + echo "Debug info + no" >> $INFOFILE + else + echo "Debug info + yes" >> $INFOFILE + fi + + # open a Finder window here + open . +fi + +exit 0 + diff --git a/packaging/macosx/osx-dmg.sh b/packaging/macosx/osx-dmg.sh index b89a0fc91..d1645344d 100755 --- a/packaging/macosx/osx-dmg.sh +++ b/packaging/macosx/osx-dmg.sh @@ -3,8 +3,9 @@ # Inkscape packaging script for Mac OS X # # The script creates a read-write disk image, -# copies Inkscape in it, customizes its appearance using a -# previously created .DS_Store file (inkscape.ds_store), +# copies Inkscape in it, copies additional python packages +# if needed, customizes its appearance using a +# previously created .DS_Store file (inkscape*.ds_store), # and then compresses the disk image for distribution. # # Authors: @@ -25,16 +26,35 @@ # # Run this script with the '-s' option. It will apply the # 'dmg_set_style.scpt' AppleScript file, and then prompt the -# user to check the window size # and position before writing +# user to check the window size and position before writing # a new 'inkscape.ds_store' file to work around a bug in Finder # and AppleScript. The updated 'inkscape.ds_store' will need # to be commited to the repository when this is done. # +# Defaults set_ds_store=false -if [ "$1" = "-s" ]; then - set_ds_store=true - shift +add_python=false +ds_store_file="inkscape.ds_store" + +# Parse command line arguments +while [ "$1" != "" ] +do + case $1 in + -s) + set_ds_store=true ;; + -py|--with-python) + add_python=true + python_dir=$2 + ds_store_file="inkscape_python.ds_store" + shift 1 ;; + esac + shift 1 +done +# some checks +if [ ! -e $python_dir ]; then + echo "Cannot find your python packages directory" + exit 1 fi RWNAME="RWinkscape.dmg" @@ -48,11 +68,18 @@ mkdir "$TMPDIR" echo "Copying files to temp directory..." # Copy Inkscape.app folder. -cp -rf ../Inkscape.app "$TMPDIR"/ +cp -rf Inkscape.app "$TMPDIR"/ # link to Applications in order to drag and drop inkscape onto it. ln -sf /Applications "$TMPDIR"/ +if [ ${add_python} = "true" ]; then + # Copy python libraries + cp -rf $python_dir/* "$TMPDIR"/ + # link python environment in order to drag and drop inkscape onto it + ln -sf /Library/Python/2.3/site-packages "$TMPDIR"/Python\ site-packages +fi + # Copy a background image inside a hidden directory so the image # file itself won't be shown. mkdir "$TMPDIR/.background" @@ -62,9 +89,9 @@ AUTOOPENOPT= if [ ${set_ds_store} = "false" ]; then # Copy the .DS_Store file which contains information about # window size, appearance, etc. Most of this can be set - # with Apple script but involves # user intervention so we + # with Apple script but involves user intervention so we # just keep a copy of the correct settings and use that instead. - cp inkscape.ds_store "$TMPDIR/.DS_Store" + cp $ds_store_file "$TMPDIR/.DS_Store" AUTOOPENOPT=-noautoopen fi @@ -105,8 +132,9 @@ if [ ${set_ds_store} = "true" ]; then AUTOOPENOPT=-noautoopen DEV_NAME=`/usr/bin/hdiutil attach -readwrite -noverify $AUTOOPENOPT "$RWNAME" | egrep '^/dev/' | sed 1q | awk '{print $1}'` echo - echo "New inkscape.ds_store file written." - cp /Volumes/$VOLNAME/.DS_Store ./inkscape.ds_store + echo "New $ds_store_file file written." + cp /Volumes/$VOLNAME/.DS_Store ./$ds_store_file + SetFile -a v ./$ds_store_file # Unmount the disk image. hdiutil detach "$DEV_NAME" @@ -119,7 +147,6 @@ fi hdiutil detach "$DEV_NAME" # Create the offical release image by compressing the RW one. -DATE=`date "+%Y%m%d"` -/usr/bin/hdiutil convert "$RWNAME" -format UDZO -imagekey zlib-level=9 -o "../Inkscape_$DATE.dmg" +/usr/bin/hdiutil convert "$RWNAME" -format UDZO -imagekey zlib-level=9 -o "Inkscape.dmg" rm -f "$RWNAME" -- 2.30.2