From 61b86ce0e5d234d1cb5818922d8ee44bcf823224 Mon Sep 17 00:00:00 2001 From: Michael R Sweet Date: Sun, 15 Jan 2006 18:02:44 +0000 Subject: [PATCH] More packaging fun (games package to "advertise" FLTK...) git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4755 ea41ed52-d2ee-0310-a9c1-e6b18d33e121 --- Makefile | 2 + configure.in | 2 - fltk.list.in | 2 +- fltk.spec => fltk.spec.in | 30 +++++++++--- fluid/Makefile | 4 +- makesrcdist | 63 ++++++++++++++------------ test/Makefile | 49 +++++++++++++++++++- test/checkers-128.png | Bin 0 -> 23655 bytes test/checkers-32.png | Bin 0 -> 1871 bytes test/checkers.app/Contents/Info.plist | 44 ++++++++++++++++++ test/checkers.app/Contents/PkgInfo | 1 + test/checkers.desktop | 10 ++++ test/{sudoku.png => sudoku-128.png} | Bin test/sudoku-32.png | Bin 0 -> 295 bytes test/sudoku.app/Contents/Info.plist | 4 +- test/sudoku.desktop | 10 ++++ 16 files changed, 177 insertions(+), 44 deletions(-) rename fltk.spec => fltk.spec.in (82%) create mode 100644 test/checkers-128.png create mode 100644 test/checkers-32.png create mode 100644 test/checkers.app/Contents/Info.plist create mode 100644 test/checkers.app/Contents/PkgInfo create mode 100644 test/checkers.desktop rename test/{sudoku.png => sudoku-128.png} (100%) create mode 100644 test/sudoku-32.png create mode 100644 test/sudoku.desktop diff --git a/Makefile b/Makefile index c0740ba31..2395d4673 100644 --- a/Makefile +++ b/Makefile @@ -47,6 +47,7 @@ install: makeinclude install-desktop: makeinclude cd fluid; $(MAKE) $(MFLAGS) $(INSTALL_DESKTOP) + cd test; $(MAKE) $(MFLAGS) $(INSTALL_DESKTOP) uninstall: makeinclude $(RM) $(DESTDIR)$(bindir)/fltk-config @@ -57,6 +58,7 @@ uninstall: makeinclude uninstall-desktop: makeinclude cd fluid; $(MAKE) $(MFLAGS) $(UNINSTALL_DESKTOP) + cd test; $(MAKE) $(MFLAGS) $(UNINSTALL_DESKTOP) depend: makeinclude for dir in $(DIRS); do\ diff --git a/configure.in b/configure.in index 8c69efa65..94f0b5139 100644 --- a/configure.in +++ b/configure.in @@ -37,13 +37,11 @@ dnl FLTK library versions... FL_MAJOR_VERSION=1 FL_MINOR_VERSION=1 FL_PATCH_VERSION=7 -FL_RELEASE_VERSION= FL_API_VERSION=${FL_MAJOR_VERSION}.${FL_MINOR_VERSION} AC_SUBST(FL_MAJOR_VERSION) AC_SUBST(FL_MINOR_VERSION) AC_SUBST(FL_PATCH_VERSION) -AC_SUBST(FL_RELEASE_VERSION) AC_SUBST(FL_API_VERSION) dnl Get the operating system and version number... diff --git a/fltk.list.in b/fltk.list.in index 74755aab3..00248a19a 100644 --- a/fltk.list.in +++ b/fltk.list.in @@ -32,7 +32,7 @@ %vendor FLTK Development Team %license COPYING %readme README -%version @FL_MAJOR_VERSION@.@FL_MINOR_VERSION@.@FL_PATCH_VERSION@@FL_RELEASE_VERSION@ +%version @FL_MAJOR_VERSION@.@FL_MINOR_VERSION@.@FL_PATCH_VERSION@ %description << EOF The Fast Light Tool Kit ("FLTK", pronounced "fulltick") is a cross-platform C++ GUI toolkit for UNIX(r)/Linux(r) (X11), diff --git a/fltk.spec b/fltk.spec.in similarity index 82% rename from fltk.spec rename to fltk.spec.in index 766d54be3..355f129cf 100644 --- a/fltk.spec +++ b/fltk.spec.in @@ -25,8 +25,8 @@ # http://www.fltk.org/str.php # -%define version 1.1.7 -%define release 0 +%define version @VERSION@ +%define release @RELEASE@ %define prefix /usr Summary: Fast Light Tool Kit (FLTK) @@ -36,8 +36,8 @@ Release: %{release} License: LGPL Group: System Environment/Libraries Source: ftp://ftp.fltk.org/pub/fltk/%{version}/fltk-%{version}-source.tar.gz -URL: http://www.fltk.org -Packager: Michael Sweet +URL: http://www.fltk.org/ +Packager: FLTK Developer # use BuildRoot so as not to disturb the version already installed BuildRoot: /var/tmp/fltk-%{PACKAGE_VERSION} @@ -57,6 +57,13 @@ Install fltk-devel if you need to develop FLTK applications. You'll need to install the fltk package if you plan to run dynamically linked applications. +%package games +Summary: FLTK Games +Group: Games + +%description games +Install fltk-games to play checkers or Sudoku on your computer. + %prep %setup @@ -85,7 +92,8 @@ rm -rf $RPM_BUILD_ROOT %files devel %defattr(-,root,root) %dir %{prefix}/bin -%{prefix}/bin/* +%{prefix}/bin/fltk-config +%{prefix}/bin/fluid %dir %{prefix}/include/FL %{prefix}/include/FL/* %{prefix}/include/Fl @@ -96,10 +104,18 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/* %dir %{prefix}/share/doc/fltk %{prefix}/share/doc/fltk/* -%{prefix}/share/applnk/* -%{prefix}/share/icons/* +%{prefix}/share/applnk/Development/* +%{prefix}/share/icons/hicolor/*/apps/fluid.png %{prefix}/share/mimelnk/* +%files games +%dir %{prefix}/bin +%{prefix}/bin/checkers +%{prefix}/bin/sudoku +%{prefix}/share/applnk/Games/* +%{prefix}/share/icons/hicolor/*/apps/checkers.png +%{prefix}/share/icons/hicolor/*/apps/sudoku.png + # # End of "$Id$". # diff --git a/fluid/Makefile b/fluid/Makefile index 18344772c..5f112c60f 100644 --- a/fluid/Makefile +++ b/fluid/Makefile @@ -88,7 +88,9 @@ install-linux: -$(MKDIR) $(DESTDIR)/usr/share/applnk/Development $(CP) fluid.desktop $(DESTDIR)/usr/share/applnk/Development for size in 16 32 48 64 128; do \ - -$(MKDIR) $(DESTDIR)/usr/share/icons/hicolor/$${size}x$${size}/apps; \ + if test ! -d $(DESTDIR)/usr/share/icons/hicolor/$${size}x$${size}/apps; then \ + $(MKDIR) $(DESTDIR)/usr/share/icons/hicolor/$${size}x$${size}/apps; \ + fi; \ $(CP) icons/fluid-$$size.png $(DESTDIR)/usr/share/icons/hicolor/$${size}x$${size}/apps/fluid.png; \ done -$(MKDIR) $(DESTDIR)/usr/share/mimelnk/application diff --git a/makesrcdist b/makesrcdist index 20f14ad77..babab3c83 100755 --- a/makesrcdist +++ b/makesrcdist @@ -5,40 +5,43 @@ echo "Getting distribution..." -CVS_RSH=ssh; export CVS_RSH -MAINTAINER=easysw - -cd /tmp -cvs -q -d$MAINTAINER@cvs.sourceforge.net:/cvsroot/fltk get -P -r v1_1 fltk - -if test $# = 0; then - echo -n "Version number for distribution? " - read version +if test $# = 0 -o "x$1" = xsnapshot; then + echo Updating for snapshot... + svn up + rev=`svnversion . | sed -e '1,$s/[a-zA-Z]//g'` + version="1.1svn" + fileversion="1.1svn-r$rev" + fileurl="ftp://ftp.easysw.com/pub/fltk/snapshots/fltk-$fileversion-source.tar.bz2" + url="." else + echo Creating tag for release... + rev="1" version=$1 + fileversion=$1 + fileurl="ftp://ftp.easysw.com/pub/fltk/$version/fltk-$fileversion-source.tar.bz2" + url="https://svn.easysw.com/public/fltk/fltk/tags/release-$version" + + svn copy https://svn.easysw.com/public/fltk/fltk/branches/branch-1.1 "$url" \ + -m "Tag $version" || exit 1 fi -rm -rf fltk-$version -mv fltk fltk-$version -cd fltk-$version +echo Exporting $version... +rm -rf /tmp/fltk-$version +svn export $url /tmp/fltk-$version -if test x$version != xsnapshot; then - echo "Tagging release..." +echo Applying version number... +cd /tmp/fltk-$version - tag=`echo v$version | tr '.' '_'` +fileurl=`echo $fileurl | sed -e '1,$s/\\//\\\\\\//g'` +sed -e '1,$s/@VERSION@/'$version'/' \ + -e '1,$s/@RELEASE@/'$rev'/' \ + -e '1,$s/^Source:.*/Source: '$fileurl'/' \ + fltk.spec - cvs tag -F $tag -fi - -echo "Making configuration script..." - -autoconf - -echo "Removing CVS directories..." - -find . -name .cvsignore -exec rm -f '{}' \; -find . -name CVS -exec rm -rf '{}' \; +echo Creating configure script... +autoconf -f +echo Cleaning developer files... rm -rf OpenGL autom4te* bc5 config forms gl glut images packages themes rm -f makesrcdist @@ -46,15 +49,15 @@ cd .. echo "Making UNIX distribution..." -gtar czf fltk-$version-source.tar.gz fltk-$version +gtar czf fltk-$fileversion-source.tar.gz fltk-$version echo "Making BZ2 distribution..." -gunzip -c fltk-$version-source.tar.gz | bzip2 -v9 >fltk-$version-source.tar.bz2 +gtar cjf fltk-$fileversion-source.tar.bz2 fltk-$version echo "Making Windows distribution..." -rm -f fltk-$version-source.zip -zip -r9 fltk-$version-source.zip fltk-$version +rm -f fltk-$fileversion-source.zip +zip -r9 fltk-$fileversion-source.zip fltk-$version echo "Removing distribution directory..." diff --git a/test/Makefile b/test/Makefile index d5e357b5d..925a00fe1 100644 --- a/test/Makefile +++ b/test/Makefile @@ -3,7 +3,7 @@ # # Test/example program makefile for the Fast Light Tool Kit (FLTK). # -# Copyright 1998-2005 by Bill Spitzak and others. +# Copyright 1998-2006 by Bill Spitzak and others. # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Library General Public @@ -180,10 +180,53 @@ install: $(CP) *.h *.cxx *.fl demo.menu *.xbm *.xpm $(DESTDIR)$(docdir)/examples $(CHMOD) 644 $(DESTDIR)$(docdir)/examples/*.* +install-linux: + echo Installing games to $(DESTDIR)$(bindir)... + -$(MKDIR) $(DESTDIR)$(bindir) + -$(MKDIR) $(DESTDIR)/usr/share/applnk/Games + -$(MKDIR) $(DESTDIR)/usr/share/icons/hicolor/32x32/apps; \ + -$(MKDIR) $(DESTDIR)/usr/share/icons/hicolor/128x128/apps; \ + for game in checkers sudoku; do \ + $(CP) $$game $(DESTDIR)$(bindir); \ + $(CHMOD) 755 $(DESTDIR)$(bindir)/$$game; \ + $(CP) $$game.desktop $(DESTDIR)/usr/share/applnk/Games; \ + $(CP) icons/$$game-32.png $(DESTDIR)/usr/share/icons/hicolor/32x32/apps/$$game.png; \ + $(CP) icons/$$game-128.png $(DESTDIR)/usr/share/icons/hicolor/128x128/apps/$$game.png; \ + done + +install-osx: + echo Installing games in $(DESTDIR)/Applications... + for game in checkers sudoku; do \ + if test ! -d $(DESTDIR)/Applications/$$game.app; then \ + $(MKDIR) $(DESTDIR)/Applications/$$game.app; \ + $(MKDIR) $(DESTDIR)/Applications/$$game.app/Contents; \ + $(MKDIR) $(DESTDIR)/Applications/$$game.app/Contents/MacOS; \ + $(MKDIR) $(DESTDIR)/Applications/$$game.app/Contents/Resources; \ + fi; \ + $(CP) $$game.app/Contents/Info.plist $(DESTDIR)/Applications/$$game.app/Contents; \ + $(CP) $$game.app/Contents/PkgInfo $(DESTDIR)/Applications/$$game.app/Contents; \ + $(CP) $$game.app/Contents/MacOS/$$game $(DESTDIR)/Applications/$$game.app/Contents/MacOS; \ + $(CP) $$game.app/Contents/Resources/$$game.icns $(DESTDIR)/Applications/$$game.app/Contents/Resources; \ + done + uninstall: echo "Removing examples programs from $(DESTDIR)$(docdir)/examples..." -$(RMDIR) $(DESTDIR)$(docdir)/examples +uninstall-linux: + echo Removing games from $(DESTDIR)$(bindir)... + for game in checkers sudoku; do \ + $(RM) $(DESTDIR)$(bindir)/$$game; \ + $(RM) $(DESTDIR)/usr/share/applnk/Games/$$game.desktop; \ + $(RM) $(DESTDIR)/usr/share/icons/hicolor/32x32/apps/$$game.png; \ + $(RM) $(DESTDIR)/usr/share/icons/hicolor/128x128/apps/$$game.png; \ + done + +uninstall-osx: + echo Removing games from $(DESTDIR)/Applications... + $(RM) -r $(DESTDIR)/Applications/checkers.app + $(RM) -r $(DESTDIR)/Applications/sudoku.app + # FLUID file rules .fl.cxx .fl.h: ../fluid/fluid$(EXEEXT) echo Generating $<... @@ -212,6 +255,10 @@ button$(EXEEXT): button.o buttons$(EXEEXT): buttons.o checkers$(EXEEXT): checkers.o + echo Linking $@... + $(CXX) $(CXXFLAGS) checkers.o -o $@ $(LINKFLTK) $(LDLIBS) + $(CP) checkers$(EXEEXT) checkers.app/Contents/MacOS + $(POSTBUILD) $@ ../FL/mac.r clock$(EXEEXT): clock.o diff --git a/test/checkers-128.png b/test/checkers-128.png new file mode 100644 index 0000000000000000000000000000000000000000..ed02527457502b10e8f24425b80b91e3e07c1f40 GIT binary patch literal 23655 zcmV)jK%u{hP)8?Z(IWa0uTT|+J68E?P3BX1mj>_ z5ZB)*f^m=##6dzp|1OBYNDw$9!H7#F7;y&9z!?dGc0qfQ5D;KokO1R?DS~l9`dGwO z9(4Ky5D6l|NH7RSTpI$Mv{3|Uw*vqWB%pH0xL_Q_g*u8hgwPl;nI{NFf=Ecj83_ii z@lPsoEAtQ<1(UKxN~GR`E=B?fL?9vnq`jC7fPI~z1QwwH5Fikd_I<`x!D5ueGvdBS z3jnTPY+^(8^5wPpe%H>O17B?I?dm%OF!c&a{KD_X*!cub#7PwpfuP>BG3P{J03*H) z2cMB&+TgR$_f2dlI^)bK9*^{|$G5k&MUu*}PG34^YGU4b89GLrZ*bD)SR*ZnAi%&l z7=ehtB3@tX+1u*`6hHtxlwaJ`RQQcEChpri^#1!Ddk*vfX@mbu&y3`q&ZvqJCvZ)B z$VOiX;zT4EAxmPdxbM-RN*UmQXsWMWu%M!*Hh<@?{;k`34<2mS6`VPp{PN2qG6YZp zRKoTmK)n$HNPqzZFklEm0Fc!&7SCSt;Nd8&H!NMf)(aQWWHC2GJhI>rpqok{ecILn>y81TB2;( z^5L>&sh;jnkqs}HpH9TSJ*^?2%iB&FlUtQ3?=Ne$xU@Vs`bb^$@M z<5iUb0A`BRM!_<;`45E9^cSZrJMQkgCr_W@X>DzLZ0*NezbNSHDsOKux$V|Lw zKt6~dH|0KDO$OG``or%VaF^wQ_gKOf$?GZcx`-hJ1nU0un% zyu9Y7`l~Kk0t{iimjDj)xyJmox_M7NxnS~S^mO;HUAunQuHu$`#r^$NH{JAx*Bcla zN&n_I-zqOp0gAo?VA~R)ZgMu-IfJr?A6_9z$q(M&_u6YpI$d8}6qqx+?9@{m1)p&D z-3Jm0cPNzogm&G zy!b-$tv7j9)zDQ}o(6moi-pHX=WyzyD-iJHlPASu!~6F3KK<`-B3|e7`WG**JpHr@ z4oCB!|J2sk=PD_Q{oxO10dFZ;MJ9EZR|yLcnFfb30+CIVm(N;IQbozA zwCTka6;l5I4+L@2Nlov(b?~N}HvjgH`72f|Cr~&X2_aPq|NM$?o_`upZIumKR+)h1)-12z z+&Mcs+V##myCyVFX_ydLzPwoB=PQY zFA1_OY}*=~Svz^^!hjM{{`=o;ix^5mkI zUOG@$8)`1CYuRsAQr(E79M-LSHZh_vwidqf%7J5+G@Wot;kIpqJ9dn89K`3J_tsPg zd|t=9?{wAG1!vBz$wKaE>(J?mTrC|>`V9>QpKeUIv^d{*z3=iXCX|=^TUt_k_a;8u z($jGeQ>GLb7x^}<9}0!oqD9j_-?77{`;@a)jI%S%m|61b(?c)6yd9`J=i+LQN7}Y+ zV8`~Mj)UURq0##K(99X74?Vc8xv6y8)TTYV_b}C#g7t!7Nm%CAGFT|&{qTbhA%xrI z05D~$tD@Y~P+w3|MAg;#b7q%^M^f30=i!H2R~$Dz5)K>dNuN=}LbrTqAL5hEhg?oM zomK!$pH^5~?Jq4seSNU1(py~>%w{n#z;`@(ifWS004^@SHJQ~ z%YpqPUau=QifMCP73Hpqa!-AIL2)rAPbw}h_JzaQZQC+H$SpZWMuuUNyJ0$81ZCmB zwkGh-+XrK@Y+jxdKv@lHtAjN)fzlFcs1MDUR+>t3!SkPfvTf#!rbr~pEShd{zRdUf z8)$w6Kp=j>g>_CR@9vKF9t0e4$Z*I~I*orn{nl@P^RN&kOVW%PrJFw49*K-vr%*E* zY?O2Lw7J>6^w<(c?Bfr+02Eh2k{Bbj9~}PkpPqjGweZw)$lBDtf*=OC?{O}LML&HLdf&%wIe>)?JMx#21V)|7|M(j|-1J^4f9BuDk2bwFL#0f{PzqRd(DO@0J6* zyJVbn`CMPb>pz{O{g9I5?0R89~zoXMbN}v=8}3*z#%H6_@||*cI0cfppq= z%E@JCp5Y!I8AxO^Znv9s1r>lH9LtCR3DQ03jT;Z`+dFvN@`b77!N=Eb15jFmXP;R= zf8LMozVo5t!ph$6_>ZrzJN2}}Et^}M4j0qG1`ft8*n|4sKmt_9SX+#+F_XmAW zm$t>38;*UuwrmgTZEo7TLt=6?8oT^^Qws{5AHN;{WaF-%-*kU@Y27*J{Lr6Ycg8oG zqLIPPAMP8B>`W)q(xPeeX)fT`JUYtJdV&qjNI+~7o3?oeyYdz+XlkD5Q?h}FAKv=u zr(NGX>y%)yI+f%XUo@$)AsH$tT(s!gr0AG2rMlv*N*dP`wXbL*paTON*{<%y{OL1G zN<*_|6@UI&{LNPn_VtQ0&p0)c@j~EtznvG2_KggSAN=epAhYP?$^LoyrZHvNj)h4d zngV?$w!QCs?~9=;FJ0+$V&1%lhacYc`KI=gl1axMcT6(Df<3GzkaAsj6~!VQ%TjM43-N*2w9R{9r(?y6$qfy@JYUiM_kX%|YsZPJSJl)s zMI)K7eXaJ`V_f-p-qovq(LcOz@`N&3XgE)fBWi`@pzoxrjuJr6tb1eDY*$@f!@>oa zJ!|G4|LF7Qdl?P?@XD##Ok{sc!NnKeGt4&w*_xVaSp6|FO;H_;)Ah^ZqFs39qg&p& zC>Y>ZUlrQ6t=Q%C4fMy)IlHE=R^I$cM`L4s-Helf6yT_+D2Hir<`CCi7(;mN-7le9)Db3U0wd}EwPV2?7!~Tp8~ABqS8FibqD~4kxRyr z27QhRp!c_Z@Zdk3fB574rU{XI{xs+Q2Ralk;_>jWZk>}#4es6TzW3fIb{=>Ipz6w6 z6{s>XJo7R)C2p)WGOZcheAg4-y7AJF!1h^|KA@55nb|H@7L3P-f5c7lw)l2XOaY4}Rym zvw#TTpF4N1X(C&h*Xdg~BI_FY>*KGjUiFuOzHDC5+fY~Nb~?X(@ysoodv@=PefQfp zu6_0>hxwrN_H)++(+If>EH8(dmJpR}x zn>Mv{jD7}W0S7Q857WRS7_bo6$Iu~W^K1veJv&! zrPJ5kzN@oU!2v)52w3U!`jALskaYUOiYcl7BUx`L3xB>c6yX4}2&}p2r+F6z=FV)M zJ9qkX&%XE8TU$PB-2kM3EKmfjlB76BfkB;nVROHP)&3#lJjwzDIM;6-sGoJx^y+y{ z&5cbHYJd5QeII_Xd;j1^fB;-T17RWY5xV-K@0du59daO|ao&?@)&oc;Q-gzp9UUD# zJw2IBhKT%re_mc*RaI3@ZH)~&7Y3q~>-~}ug&?aN4giTnqNAg;tE;QOzh9PR&UtBR zsn_eRsi`S0F1A4>Hrm4O9+TZwHt7!y4Rv&Mc6WEjV{wHm9*@WC^_G^FHZ?UlT}}he zv#CuEFhe%hEiMO=$<)x$P*+!1Pft%Gk(4CK=kxh|zUu1g`i2G~fQYXC)+P5nTA+id z0$|H#&Re*!IvDVDcaOHT48QjAhXB`)dF7gmhUi*Gt{m?filStdEDI0b1^gpZ%j4UBD>UJ4Y&=l1So$JDpBr zf9J3A^?z}Hb}-+dA7XWj7FC{h+N7bO#D)!RuYA}7^cXhE$qPp&UXjIo%Av1tMJPfM ziY&>JBpFMS-^cI0-!I_OHzJzfG;86)iU|{nT3Ut<92kD(!;L`3I9sl{sGq(kp};cb zf>hyTl&s8Tl9jopSl* z8=m;@8yb2FkPGl=;R4dfkild)49`mwo-R?={C_iNV3lx^+EQU$bb@ za>u6ik+Z+~Mq7A0K_*xImh4Kw7K-vS2ct$XO^dgaRg*7Av{o z%CmoW*V6LJ;bWKQ?``>@w*HX6;6N%9akz&5_Q158uAC2yTC7MS5D6_#MEV6wJQR?U%3T10MlP0V;U^< z%_-NGn6^2)TXvu8_O{QOQ}Fl`pa1jWWH?e28LfT$9p$N~w-l6?OlS(d_S7}Ne$B)Z zW^i#l=E;n)2mq)FOncygsZGtp1B0mt{;~DI!K(G|J41yt@40vH&Rso$(xNq|E&2X= z^Ue5yfKG=Qszd5~Exb&|d@v9P=x+}!OJx#!_YJ=ApV44JZI-jszR_G;?{~XPpLr(! z(sR9D-{{ppTnW6JOr|V~YUP+L1CtRX5)eSycfMO!Qd#uJJKpFUs2+{_j$2VTZAOX9 z?W(Mrddtst?>{g)G&KD4tBw!zcdR!+M#RrbIXA>6&N*pWupnMi8oKeP8zQ3>wRPna znhR#nDXpq5`C@zUfxmXA)5GNz#dSdz4!2sBRF5c{%8FKj;&Bl zF~S8FC&dCCUia-|2M31-hx&!&YM5Gtju%Vio%wbOhtvGq0zNx&tOZ-@O$ee zuUonK7Z>09%WE>33a7ap>l>QEHxX>HGnBdgC#))g9DC@I_m(Z6UsLP%dgYoLIGy=5 zHTe%c`1!uQ!!u`09vl=WEg$CHhswXgv2W}rOQc08SSlrznz7_%t7F53Y z;^6=NYil}PzUJKG88cj&tilBpj%-#eUtU*J8+iHUuF6XP(xtQ7+uJQ(&3KVab0CcY z24LE>5~ouR7I?yuq-t8UwvKdnC%d~dt*s-~RemBiJi>qWvrU<-e`I)AQ50JM6FEwg z8!c*T4%O8Lqp|eRP+SeT^!B2?Bht|x?(0KEh2Q6sH*Orb_PWhY%?$&C0~iyN7PdLC z{o)U}OGEt)LKy|~;b3dHuMh3*k@og*O-&$~$YwKi#~q*d54cB1M-!<8?D+dQ zs;PM@LZ}n)(MO$=Cc6cX`@C%3EByeL9$Vhr4(WBdDe zq%)bUk{u^NF=hng)zvk?#Yk;!{(%D{@c~Sp?Wn55)Tw^2PyFp~PdxkVi$g=n6)UQ4 z`Q^M1H-D5!B!R<5oyNrY(bpGsIup_8u;1_8yLSjcs1kGLlun-HY(3ca*S|ja(MO*r z6WL2HnO0df>VT4nC&vvVA1?5|Ze7c~`GHh2T2bM7{)HX@OO7e7ti|L>{vA6$JNLXB zJsyY4&3^QwMVa(I#weXkA0~P)Fiye=7=gan+B+JFE?lrMm1=qa{SE+yh4}NI|65yo z$)Er9LSw`1a5(k7%c~|Y#3!3th=?(=>$(|ZG4XfH@Eboqf(#;Ibr4ZUwm;}b@lY)me);~5H2iC#1WPy$(&Bg!C`W;1Oy22cxLC$o@63DcW%Mp zVEnTWk^t7f_t}yqzc}TLpJg-5=dC#Z{O0QF-ob%G3Yg|+*}|5#D1xxZ4|eSy92p*& zJb79+)3$48KLiR&@W_K3CQbUzPk;JIbJLve?&uX))Xh1Tef;qr&V?jPwwpJAci007 z`k;(JU47mATX;Mcz3FEwJudOe^Zl>A`o(?szHr>K<1aY>dp>XZg%?bU#|A%N-_kz% z8DmVtPF121#v5(7F!v-4;(zM(O^uD^UXSzYtETq!#D=?Y{dIraxwGSf^DjK_+>1ve z>{}Ptrjn@}fAW;NL0PtFXng0=*K_v(fPQnw*5>A-6IRZgHA8yoKl=du^u|A@Ql6Wx zy>`jslZBwgi(P?|(o3%Wvw)^Os-O*to5W#80M&zYh>xyYH>fDd8*Vt>pRYXeQ0LCi zx_@!=+S#)fTz=VA!9e|*H4_+xyY}^OIq=!qgyx zu03dn(VyS6;lTdlvNGq=W2%4stIero^#$i$BzR$XIPu`$j|qnd9dh{}9{L5qs;jCk zVM}h;P%en;^v$)s<-n(JzcsMG#j$2hlgr6|di92t$A9~z)hD$b%v4w9-G1lfu8!zq zf8PM?c0#GDs1x z(SHticgG3~Y31>ij3rz4NmpHYS4ZSEz)@9IrEfLk?{pSu-gLd6S@-&i6^`lCC(W7> zUV7}DU;ffjT$s0fX-Q+FbLYvQet7q$bCPlY z_1BfZw?5d>fu7#z<(Jh7p{#ppI1(QI)(^iAq=MdZkH;-+l*O3*Ct*z<008u!bM`;m zJ1!m_ZNLBTGhcizx@l9-goeCDi>iU_zCHNqjgNe={ZYVOSvfX-U^yqr4iPedscFVw zfV8!x)scV0o3HPOCvWQHvXPCD z7nW$d=2ZdlNek}2_J>a=67uAUm7$=gzQ$J&4DzgU>o0$I)_2zc37~M=)WzclkZr`7 zCD5q53x{HdC|IRsHrKs@WPiPhyi_C-Yk|@RR@ts zV2|o~aSOPgoAaXq*dr(|R&YqApa1u#-~0R1_c#!|=!~zY(<2vNz9EYqT_RrKguJ{o z@6E8iOii*JlaOjlN&^8L)p^;DsFsd%$u+lMa?MYx^XpDIdDh9R|KEn~+kp`v2{2#+ z!yF)tgKGSMThnS`OW@Z>86+@4*Iaz5a08ZHuW&fhKiJ>V)*gwBdb}Q&)0yx0*Vfb& z6&Ha62}DLoaC?NsHUVahfx|(*JPwa7n<*R)w;X8cIn=`#OC%Dtb#*?kx4fbv5bz@d zC4p#^gees<2H!X7d%WcG3eB;AhG>+siov*LlpOX6 z4hQAs3A*OO@6n}%s&Nv_a`UA~U;z9+e$U!s9TgBj`42Ciw{&UE_8nob$I;R<^pAhP z4UFnvOJ8&O2>oOXzAv;Gk6rZyKERH9r8hn)Fs$2YRkN2aEj#}BCPk6ne!I1$W$5iK zAL>yjnpPQJc|($YosA(50tr&NG&8jLL;UgI<_~g@KB)V|g|inftX#Z!!oGb2J9qX! z{q)WuzSr1!E?LtT{610hSmupsvM`?j{~f<)Z4toq&qLooZ{fm4RRaS`B9ZAIh~N9j zIz6mNK>CN@9#)G?axWc0RjXVW8E}}9Sp@;O|9snJo8P+Vgw-|GwVu8E29_OHao=AX zqld1!=8`k5-T;{hGb2uF<%x<(5jP-7SX2f8_o3mA8^86^f7e|5qZvDP^*LPh_0!5; zeQo}pPi~l2J;#!YZbfwr;tV=`Z3Ae9nYzAs%Hj<#-*DIO7cX62)YdVW%4BZ1vA%!s z?AM>Z1}HS>ldv#vp-U(?X&>Ftk9onCn7-POtdAKrGu zx#|t7=Y&~;1HBN3Ot~{FxNl43hxEgN9E&{>~+rlvPzHySm?RnmFk8wgiIxPLHdsJo3c< zt(e_Fdgz#Rlg|n=YjdD~VxStDiTSP5PkC(Z*C#X&m6V2=ytk;NqoDAh#~WcT%wL## z>-jU(`U3+s({N2Qc%aj_FfYsoc!-QaWurq9X$+xX9erS627- z4A1njZq7@5TmCC*|B@Dazf$CRmYrqLOn1HW>FI>)7DG(NURCS zfg5gU@(29?xPQZFtU6Q}Jn7_y6Hl(6H$Q*kq{g+655DwluO!Fry6YU^JtJvNi=e>@ z^dmO_0zio4=N?;9lJNSxzrOuLmwQ4(W5MbZ8_z$#wz4w6xVY)AyASUCBFtFoN8dRm z9Nw&N??!c)oozFIV6Lzy{&vc6U+>UR>fuK^J>IhEGmC$4<;=#W;IT{V4je4J?N@sx zDY|&^#3I=d4)+>nkr{(BqZB#u18rx%<(4Tfx9f!$x3zTyib@LS%q>6vf@upD1}09b zd-l2L6OVRyeW{ynJ`MONqhuJV!9|sCOJP_}K8MwgIc3ST-FqS(ox=kI!Bwm37cH&| z1YBKR(cuvk7kg7_W!<_%l7zYQW&v`0dplWb5Xr1SFmB9JoGAcc&6?(LSiJe>?uLdb zXPz~svMN85%?=JD97zNV+)kJD)YIKgXZFl9kL`#aibNuM%7#WCIrPVro6MhITToi^ z#1q@jJ#S${W5M+4C4+lfQ$NZ-yg8Oz%4(k-4m zVPG(w$r2nqG2%@|>W*=mPMK2jhJN-VNzpbrJ{iepGm2Go4GExVtsspK1rlBDikEgeO zlmyV*WAZ;bn(+GMynNSt?{yzIprlgS-ku)4t{3B9wz3B_O$Y(-`sChT?fh$RPqcR= zNBYrvFzok}+a(VVC7=Fx8)NS7?rz2yNWBQezzB?iF)-3UB+EY_5aGS|4%XLGW24{U z5O4lx7=X`Am*RY6gNqTubfH(qt+ZSSq$0>X?Ld3ANE&RCzRE(}b&3r+BB4Ch36 z=|6iK8(r1auHs_%`|o!GsHi|TBOH$OpZ@sL)mPuz(>)|hIPt`)zP=p-f+QkFjHyGA zmA+jv+J~>bzJJmrcVna9?N(lRq8C6>kw;O`*B8Fyj=%o==l`##C)U*Lx#Eg>Z@>L6 zKuo317?=bmfg}(ENgzr8(3~D^jEx&ROG>1g>eAt%)?GUX02CJCPk;R9^5s{ywZ*1R zSyCACe(m&v;>y$r63Jvjlej7%2}~VPB9iR%Nt=mH8$11exuSx(-I=GJ>I4vvb*?=A zC%?GkpFUr?%USh<@6RnQ9Y`hzfTSuGrVWvMFWRr#+z=6>(afPk-I+A2uS0kD=%M`} zFW!FVtrJ%M`0l%(pEdKCkrBG$ib+eCvewpvUau>aOsVo!`84R01SSy~>Z?z~wrzbr zU#6_IJe}^?yJrYM^#uIo-bd%pyL8vi;VDy=xSaBZ7uPg2B@VXsXHpr)B%!i9?nU|> zX!pQCMEm;pw(N66BK&uMI&p9?_Q|`6?_a*Qvt#J8ORqZTo99F#bo0&AW5dJ0z3oMy zFBA%?0y3vl5=;UyVcZfi(k7k}5$^i?Mwcr%ch2;aPbxliDB5=r-@fENuczv_zxdI- zxyxKmI{sv@-ygW_vcCdum)og+k?9jm2Ip4k7+OrY^UnQ|NcNmdR?M60dFUV8T6aW# z_nQ}&9=rUuTYuuuuRHzp36j(^Je>Z&S6@gZ(gg)UReMO%6-WYOf-&Q#rc&yN?UD9P z8?%FhnVWyTn)A#XFAV?Y7cXz#-1@DHzjwiT=PMcCPi~k#+~4=l``=0NHh+GAF&Ru2 z#wBT&`XQKXOopn$T0rBn%U)8l)q|b=S6?;j*=P22bp+rbrNl6lzqz(beps(KsV+0J{^XDxc9o|{t=Pi$IURWWVv z?o`u+yu0q5cW_tih39tfA6N(Qy1H6@Nom|llF;c3W}~let@O;gHxqH+!5z`l*E9zF z?z`{$Z2HtSRh1K4_m7-&cFn3afxcev<==Y@7%T|phe8F$lF~0-GP31E26e9m=(|_F z#HgyTZSd-=X1w=K+ozvk_ROyx>SX?W=S@GIm`NpEj*9R8;4XkFE2?D40pnT*KGOFLb};2s+AO>90J*blI(ifSe~gye*A$xg@)Av@Gxh2(&w>Zvx{>Ixu$ zKH7PRe3w1?$mV1szq&Fnom6JcDE7EUet-AB7N0a3*af&4RumKjP4$$)9FVM+L0r~| z>-6#CU%g%Ay<+>ek#y2mUt3UHU7%!A;o-JhZ~4^;XRHK9fk5+wlhv;<36cy|nGE90 zp;4A3k|bj4#Z+OYo9F-L;)@=Lj`}Lf0-f!nb+xFfDBiwp^Tau;{`K`R=DGbyH>zbPCKm6q5 zD8hPQ45`YuqNb*J#p;A~yriyu)7B(2>stuHxe!8df$V;z_kH%-YhLXW9vRGhs9<2p zaUWZ}Wqo}Jx0_4}9nXb9vjIs2P2&tf5$F=E6H!@SD5;DV<`_AUOx3!ZS8aSkCw zIQ>BqJ;jdlxpO9b^2z6eyjK?visWS_rBx@M7^mOdcvag$M>1h%xf>9<*4%}2IqovAvm}|EE?ZR#<@>$4#Bl?`}+qvyE>!MXf~70&(8}40~KXup~3>ji1pB+ zc1JwUO#aEl9n|D$!37tBD|n%1>E>8i&tm5rFc`tNPeQq&OiI5Qh-(a$hZcwWwDm%b0##OORS9 z{C7OHE`;%OadKj(VnQf(-i;Bugh&B#a4v`=U-+kB$`njB6kH|FB%+u3XRo-|Zx0*= zaRB1%6NV<8mQfZ7QXteOO9Ex0tPEwEyJnc15=j!__x$M>@}h8$$G;dO9RADZUOHRi zLBTn=0uu0YU$yX6i5g3!Snt@>1@WMeWhZ2a)R#5TFgRcqkWoFYncmWh3}hHYYRVBo zPXnYnk^Qo^)3Q2&0QyE zPt-jE^8hgouC`RiYDu^d)&RLGDuuv>EIEYa(5pO-Vh$K1PQ*yZjRaYHBY6a zv3)o!*wmNOw=Z8tj6s;#5#@Z<*0%xb3c%qNU)Ve22-PhYqzT7RP;gLA*n>#z@+GUD z#Sx`rj}w!QOxYXU2w01v4TU12FHONDtANzSZ$SXfQiB}i%Z6?rmc9*5C*2vgI1M^| zvdPkl(I3V3Y|@8;HrnuZ2ti}AkO)G^s*`>6FS2z1%PAnIoTdR^A|Np?aWd+iO}IU` zS&XLpI0AifIOa97WHo1Cn3rZR7wZIzqoi-*iN+eW&8(4_PKKRHGBH7Pv@;CDR?y!Q z*)`29ks>{Gbo5QXOo5VKv`zNHcQT_>1QO$|FmWX2Vc_2;^TrU?od-q);49LH3G0&W z>$;?bz3G9Bul6F+L$HRdb5_CFxYt)6z)FN{mEzXV=_^t;Ls%9%!n*V1p!|fRNMz4t zUf8!sb1jc=H$fHxM`eQM+=ULotH-fwDUy-$Xq}<2EPgWxXjp|1V+2HcW7Dt3yLEx8 zMid0sBU_XkJiu3;W8|nmBXFjtq1Ymg0D&{ef)nRozVqbHfyyffW8g5`Y*=9ZBisNT z`3}rLhowBgHm=dt)A+{wYt;vm6^9JFP(p8Bn4Q~AwhryVvxB4q0kXM z$?+2AG!v7I#*0GeldssPSiQ4wwo?anlMKE2IDAMF11TbsLjRE69i+z zEm2_}R7{W{m48lxNGo%&(USm4$UF-r`xW(6^K^9+h2^dQVo=Zaqn44))X>VD8Mq)= zV)$fLQl>ZGIt-B`pYue31V)--5^^S3Xgc)2&91(=aSfXRxZaP$T0SR(WXMW}l+4jc zhjMe<0Y*aTb)DuJK$epr*M&NQH*Zb5)agSAMn)PiS$83po1A$x%nQRC5FiMy4kWA- zOs49PwOa28Y+HmQOyRK$!raeb-x)@H2v9mE@b{w{^ zRsp~XatK+;;M7&|NH}r0L98XHUatTkUgd`Qdbop7Q}q#e+-%jnu)QCRtrFdu99~_M z#Sp~HTo02S_7qpsi*OK=CZ&OJZruRJp)Y{)@~qgwF#vG{<}KNX$l%12Vgvn2%Mor- zcYEJuSq1>{HrK#Y3w;u~qX_^}kQ4OlA6-oofxNLDNkvWvU;>Z?c4ET@Pc}QA6AXK= zXn~?)W%}$iX4sm5AMS<;Krg~O*{54vbQA&wFlkb{e42u~oI>KmnCArSLCaQ0N4q@! zgb7Kt%Iy#ez$QcY&gR6{xESQTGx<>*xrf`cn0xDcG|698g*LW9i$5QkaB zVw}IKbD*dbY&lCwiytsC_C)z|=GDl)%(Fn2kk#uR%{*f@)}@7Y7zz5SpoO)vR8u0- z-WV1eL3LPE2TU9-eY@qS)8`7AdTK&x#GzWVM~eyCmV==^2J^xKax!Rrso0U}jWgeB zI*7~_f}%fC#cFG-DZxUs!~`e7g#Eq`cPExZjjS>v!NK*ltjDNyfR>Y{NJkfzux)c{ z(Yt*Y(#WbIIU>^w`Vw@L#){0Oub6JRN?$_(7?C)FaK?97)C@sc+uf90RNm|*%pph! zX22Oo?{->yJLt9hoXiQ(s*HqI)pArc#W+oDt&IUVnMW}J41x>I+xkkrxorzFV~Xlb z*fu~?b1!I2B=Jj@8e0u6H<_?SGg8>r*Yp9OA;TiTo+0@g$@Is$@rL;%2eYL6|}WevRw z%SsUAp+_C%~vUGp$;flWmIu!cq}MM}geI-dvn);ZQ5!VFp-){aGDHe}It@ zhZO{3B)BDhV1uNDWp=-OS*S<4OcF6kuf`WPG>w?)Wmp`soZFzo7!uZ|>zcbo!hFn5 zPJqQoXwi34@n!T)b+#7Cz?y4i;CfbkKlcn1hldL(C;Cb`Nnp0w`B)^BIK} ztGD<82J;#zA?PUfPgrxnpr!km&b7V;2`$e>Pizq5Y!8Rsf_N4@3z^A`$;=v@HxdqD zy#Zqp2pUgD<0_HXpoq+TD`G@ejFU7^jI;oYW_BGp8!$J0L`@enCNzh>HoHvQ!G&#w z9nR0N*6M1RdTO$tDSeeZgMFhuoN&h3j+6|P49Uzv%t3IF9gH)Ug3u8mOQRmJqca=y zyHzWXBmyTeTj8#zN2Er$gn&2-GuL7#7+VC>woH2prm@I`{`?g-##kJ?!fekp(n9P^ zf3_(*41H$QvK%hHoBLrFlud(fz2;{qBRFh5-c3kcZ*Qb(4`l^<#J+tpSM-Np*?W=- z(>Wml%JYe;T18Z759@@WoQHeqo0N`tjPhg;wY5nw+rpX|WkUak&>t34UakZxAquny zt*AfE2d=@&Jcu~@#6Tw-9AqGFWK~+|TONQVm=M&|lwqX=k2=%L7}|D}8Nv|)o#H^N zlu5%J)b?Z$TXP(@N7UA3WaeORJmDMYH})V3g%XSn4Gs(h3xW>0u)p7{&n@@oXVqP(KB)6Y2>PT=a*(c)t= zC3Sqv<4Ub=FX=uy@ptLHXT6;rPJ{noFzIlN^!N7%0s)u1u&+1I5RTKy&;Dkl;Ua~3 zfgGRE`kYMN2IV6{*+jDBU>|MsDsTb>^a0PyJzr$OOWc8jJ&^ySlWpx$Ke?hJwXFkyA2u5E$Ppg^wN+81f*tFRbh6i9k6nNaxvnPwJ7ZUX#3I%8cRsΠ)$~nrCAV#T-fAq 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 KMNUMnLSTZ&-p5%0 literal 0 HcmV?d00001 diff --git a/test/checkers-32.png b/test/checkers-32.png new file mode 100644 index 0000000000000000000000000000000000000000..4adcd66635c29c0ae0c1e472a84d82114b74e784 GIT binary patch literal 1871 zcmV-V2e9~wP)#a3BFzU8zS`8tL3K=ezg2 z=YIF(T)1!neo2$TFKi0wF|1dij#=ZgXW!-U-K@&BJ9r_*}x-r3I1N(`HKIJ92xLxu?j z0*h*O?$p%d*4E#B_Svr=KK$6}wEk=WiXuFoCYrXyw38(NTVIFietUJpSnL zVMS}}n*bZ4I3|kXE&!Ug0B{C_VQy}YqNu?^UpBklPTK9{3w5#+>GRJS48x4Z5|3w+ zAPAbKlgVT|ER-O9?!n>TN!QdYTK=5V}v;)I6dc%B!f zA(!U}LP{Fb(@!#)%}i#qw6x&Po%yn|lvb+`1RfZTxkE$$!tuCHr`ttQTiakfZj44( z7>1K7%3>i7xI`qWmZ}y2cwS7Wj}#VWs;bH)PcoUDo12qmb>`$rV_REgGPx-T8HGY2 zkxmf!+i#Qm0jSlvhYoEi*y`%W~kta zF{4!GD3v)~U4FA!jKx;X=9ey-*ZXi`K_&eCIP)*HiKHrQ&am?XxL?R4Aa)ji4eOnBKLR?Qz z&y_1KuXlEHGiPZj@BH~{hvQ9AOb-psbamDG{eFwZ!m=#G+)Ab7GRd+4ZudCHL3MRW zG&(5=LQBh^2x2`u1pqTMKQT-g05D9`)bxj@rawlbDgYQAjX9lGmSrUs03h6Mc5kuk z?jB1dQYuwZI2#aPm*L(W(>CR5pWO}`^@e+UxAfr&E5kdxo;l&q? zWx0<&a`*N&1cN~g!vsMX7#R5U)5^)oL^8Q4)fE8b=cnZIHI9R5G^|n;xm*FK)7seB z&a&+Pe)I!@#Z#yL_R1?}y}oE|ZOvk_`2GHH_-Q!&bbNeS+5tkcr6rBq&8k!<5{XT{ z9yK>#3Iu-2CP4^UESCMc3dFKzv$?sWgq;D=I!<^)w9`Dd3k7IVWOpl zQmGVf_l@f6k6&23Qu&5bsocA(*fzV%^_|Q0PnxFf_6KG&tgdcYtvbE_NJRzS*B1cD zxp?vK+Z8DT$n5y{9RLv^^&CK_OYenY6~(bTcW!z-asbflzs7Nd(6jY*J{DUAfK*DZ z+Ey=xA}ukaRK5WqW)p4!NPXnXCW + + + CFBundleInfoDictionaryVersion + 6.0 + + CFBundleExecutable + checkers + + CFBundleIdentifier + org.fltk.checkers + + CFBundleVersion + 1.0 + + CFBundleDevelopmentRegion + English + + NSHumanReadableCopyright + Copyright 1997-2006 by Bill Spitzak and others + + CFAppleHelpAnchor + help + + CFBundleName + checkers + + CFBundlePackageType + APPL + + CFBundleSignature + FLSU + + CFBundleIconFile + checkers.icns + + CFBundleShortVersionString + 1.0 + + CFBundleGetInfoString + 1.0, Copyright 1997-2006 by Bill Spitzak and others + + + diff --git a/test/checkers.app/Contents/PkgInfo b/test/checkers.app/Contents/PkgInfo new file mode 100644 index 000000000..5af7226a1 --- /dev/null +++ b/test/checkers.app/Contents/PkgInfo @@ -0,0 +1 @@ +FLSUFlsu diff --git a/test/checkers.desktop b/test/checkers.desktop new file mode 100644 index 000000000..6ad895806 --- /dev/null +++ b/test/checkers.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Name=checkers +Comment=Checkers Game +TryExec=checkers +Exec=checkers +Icon=checkers +Terminal=false +Type=Application +Encoding=UTF-8 +Categories=Games diff --git a/test/sudoku.png b/test/sudoku-128.png similarity index 100% rename from test/sudoku.png rename to test/sudoku-128.png diff --git a/test/sudoku-32.png b/test/sudoku-32.png new file mode 100644 index 0000000000000000000000000000000000000000..154c27308fef530adca4d6ceb3935765ebf4d092 GIT binary patch literal 295 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzwj^(N7l!{JxM1({$v_d#0*}aI z1_o|n5N2eUHAey{$X?><>&kwOkzY_nD~i3>87Q>H)5S3);_%yP54jE~aJ20G@HhVE zU#_GLTjs9KeX{<5a?tsH1tm4^#U~zJs4{qM&U8Rz?!CQBvi309$eJ>(Keg)R%W2gO zRR?zN?YBFS{r3B{f-5nLZ=Ke?sZt}$$=ES-r+DhbfSY1fQ?LCIHO}B?C}_NLT6|i8 zPR}WwL$2~GC6yCCoto7xdr|G7wdV}S9k*3-Sm!lIrz~IlkfUYMtuXO_qV5e}y5lz* m<@NO>%xH;hxvkQ3j4{z+y7pmjjdY;<89ZJ6T-G@yGywp&uyZc} literal 0 HcmV?d00001 diff --git a/test/sudoku.app/Contents/Info.plist b/test/sudoku.app/Contents/Info.plist index 55e42690a..00eeb0516 100644 --- a/test/sudoku.app/Contents/Info.plist +++ b/test/sudoku.app/Contents/Info.plist @@ -17,7 +17,7 @@ English NSHumanReadableCopyright - Copyright 2005 by Michael Sweet + Copyright 2005-2006 by Michael Sweet CFAppleHelpAnchor help @@ -38,7 +38,7 @@ 1.0 CFBundleGetInfoString - 1.0, Copyright 2005 by Michael Sweet + 1.0, Copyright 2005-2006 by Michael Sweet diff --git a/test/sudoku.desktop b/test/sudoku.desktop new file mode 100644 index 000000000..11ba2d366 --- /dev/null +++ b/test/sudoku.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Name=sudoku +Comment=Suduku Number Game +TryExec=sudoku +Exec=sudoku +Icon=sudoku +Terminal=false +Type=Application +Encoding=UTF-8 +Categories=Games