From 2fc311ef0db216a32c03162074b8566e879b999f Mon Sep 17 00:00:00 2001 From: Rusmir Dusko Date: Tue, 14 Jan 2014 04:16:00 +0000 Subject: [PATCH] The engine solves sudokus by applying complex logical rules a few times, instead of applying simpler rules (like guessing and backtracking) many times. These complex logical rules are exactly the same ones that people use with paper and pen. WWW: http://sudoku-sensei.sourceforge.net/ PR: ports/173888 Submitted by: nemysis (self) --- games/Makefile | 1 + games/sudoku-sensei/Makefile | 47 +++++++ games/sudoku-sensei/distinfo | 4 + games/sudoku-sensei/files/pkg-message.in | 12 ++ games/sudoku-sensei/files/sudoku-sensei.in | 7 ++ games/sudoku-sensei/pkg-descr | 6 + games/sudoku-sensei/pkg-plist | 136 +++++++++++++++++++++ 7 files changed, 213 insertions(+) create mode 100644 games/sudoku-sensei/Makefile create mode 100644 games/sudoku-sensei/distinfo create mode 100644 games/sudoku-sensei/files/pkg-message.in create mode 100644 games/sudoku-sensei/files/sudoku-sensei.in create mode 100644 games/sudoku-sensei/pkg-descr create mode 100644 games/sudoku-sensei/pkg-plist diff --git a/games/Makefile b/games/Makefile index 6b95cf48327d..afc94f4a8506 100644 --- a/games/Makefile +++ b/games/Makefile @@ -911,6 +911,7 @@ SUBDIR += stransball2 SUBDIR += stratagus SUBDIR += sudoku + SUBDIR += sudoku-sensei SUBDIR += sudoku_solver SUBDIR += sudsol SUBDIR += sumwars diff --git a/games/sudoku-sensei/Makefile b/games/sudoku-sensei/Makefile new file mode 100644 index 000000000000..489feda5bf86 --- /dev/null +++ b/games/sudoku-sensei/Makefile @@ -0,0 +1,47 @@ +# Created by: Rusmir Dusko +# $FreeBSD$ + +PORTNAME= sudoku-sensei +PORTVERSION= 02.00 +CATEGORIES= games +MASTER_SITES= SF/${PORTNAME}/${PORTNAME}-for-linux/Source%20and%20exe%20files%20for%20linux%2C%20ver.%202.00/ \ + SF/nemysisfreebsdp/${CATEGORIES}/:icons +DISTFILES= ${PORTNAME}-src-${DISTVERSION:S/./-/}${EXTRACT_SUFX} \ + ${PORTNAME}.png:icons +EXTRACT_ONLY= ${PORTNAME}-src-${DISTVERSION:S/./-/}${EXTRACT_SUFX} + +MAINTAINER= nemysis@FreeBSD.org +COMMENT= Enjoy playing with Sudoku boards designed by yourself + +LICENSE= GPLv2 + +WRKSRC= ${WRKDIR}/SudokuSenseiSources + +USES= qmake +USE_QT4= moc_build uic_build corelib gui iconengines_run imageformats_run +CFLAGS+= -w + +SUB_FILES= ${PORTNAME} \ + pkg-message + +DESKTOP_ENTRIES="Sudoku Sensei" "" "${PORTNAME}" \ + "${PORTNAME}" "Game;LogicGame;" "" + +do-install: + ${INSTALL_SCRIPT} ${WRKDIR}/${PORTNAME} ${STAGEDIR}${PREFIX}/bin/ + +.for d in board doc images language saves system + @(cd ${WRKSRC} && ${COPYTREE_SHARE} ${d} ${STAGEDIR}${DATADIR}) +.endfor + ${INSTALL_PROGRAM} ${WRKSRC}/SudokuSensei ${STAGEDIR}${DATADIR} + +.for d in SudokuSensei.rc license.txt + @(cd ${WRKSRC} && ${CP} -a ${d} ${STAGEDIR}${DATADIR}) +.endfor +# Fix Permission that user can write in saves and system directories + @(cd ${STAGEDIR}${DATADIR} && ${CHMOD} -R 775 saves system) + + ${INSTALL_DATA} ${_DISTDIR}/${PORTNAME}.png \ + ${STAGEDIR}${PREFIX}/share/pixmaps/ + +.include diff --git a/games/sudoku-sensei/distinfo b/games/sudoku-sensei/distinfo new file mode 100644 index 000000000000..c71a0b6a7760 --- /dev/null +++ b/games/sudoku-sensei/distinfo @@ -0,0 +1,4 @@ +SHA256 (sudoku-sensei-src-02-00.tar.gz) = 80c6546a02ed23b6ff8e0c7af27d7b15ad5c44ea2491d61d0a91ed6d3bd7b806 +SIZE (sudoku-sensei-src-02-00.tar.gz) = 1304108 +SHA256 (sudoku-sensei.png) = 9b00a829ecfdf2ebb750be11fa62ae06fdf52f7176f13631ae1865c26190056d +SIZE (sudoku-sensei.png) = 4887 diff --git a/games/sudoku-sensei/files/pkg-message.in b/games/sudoku-sensei/files/pkg-message.in new file mode 100644 index 000000000000..dc9d18b26c6b --- /dev/null +++ b/games/sudoku-sensei/files/pkg-message.in @@ -0,0 +1,12 @@ +=============================================================================== + +Sudoku Sensei has been installed. + +User settings and saves are in %%DATADIR%% + +After deinstallation, some files may stay in %%DATADIR%%, +you can delete them with + + /bin/rm -fr %%DATADIR%% + +=============================================================================== diff --git a/games/sudoku-sensei/files/sudoku-sensei.in b/games/sudoku-sensei/files/sudoku-sensei.in new file mode 100644 index 000000000000..72ded4315258 --- /dev/null +++ b/games/sudoku-sensei/files/sudoku-sensei.in @@ -0,0 +1,7 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +cd "%%DATADIR%%" +exec ./SudokuSensei "${@}" diff --git a/games/sudoku-sensei/pkg-descr b/games/sudoku-sensei/pkg-descr new file mode 100644 index 000000000000..cd027467cf77 --- /dev/null +++ b/games/sudoku-sensei/pkg-descr @@ -0,0 +1,6 @@ +The engine solves sudokus by applying complex logical rules a few times, +instead of applying simpler rules (like guessing and backtracking) many +times. These complex logical rules are exactly the same ones that people +use with paper and pen. + +WWW: http://sudoku-sensei.sourceforge.net/ diff --git a/games/sudoku-sensei/pkg-plist b/games/sudoku-sensei/pkg-plist new file mode 100644 index 000000000000..8b14addbd995 --- /dev/null +++ b/games/sudoku-sensei/pkg-plist @@ -0,0 +1,136 @@ +bin/sudoku-sensei +share/pixmaps/sudoku-sensei.png +%%DATADIR%%/SudokuSensei +%%DATADIR%%/SudokuSensei.rc +%%DATADIR%%/board/2x3TripleX.brd +%%DATADIR%%/board/3x3cua.brd +%%DATADIR%%/board/board.brd +%%DATADIR%%/board/cuatro.brd +%%DATADIR%%/board/diamond3.brd +%%DATADIR%%/board/dobleX.brd +%%DATADIR%%/board/heart.brd +%%DATADIR%%/board/line.brd +%%DATADIR%%/board/smile.brd +%%DATADIR%%/board/tripleX.brd +%%DATADIR%%/board/v.brd +%%DATADIR%%/board/w.brd +%%DATADIR%%/doc/About_en.html +%%DATADIR%%/doc/About_es.html +%%DATADIR%%/doc/LogoUAH.bmp +%%DATADIR%%/doc/Manual_en.html +%%DATADIR%%/doc/Manual_es.html +%%DATADIR%%/doc/Tutorial1.bmp +%%DATADIR%%/doc/Tutorial2.bmp +%%DATADIR%%/doc/Tutorial3.bmp +%%DATADIR%%/doc/Tutorial4.bmp +%%DATADIR%%/doc/Tutorial5.bmp +%%DATADIR%%/doc/Tutorial_en.html +%%DATADIR%%/doc/Tutorial_es.html +%%DATADIR%%/doc/manual_en/2Introduccion.html +%%DATADIR%%/doc/manual_en/6ReporteErrores.html +%%DATADIR%%/doc/manual_en/1Instalacion.html +%%DATADIR%%/doc/manual_en/7LicenseGPL.html +%%DATADIR%%/doc/manual_en/5Glosario.html +%%DATADIR%%/doc/manual_en/4descripcion.html +%%DATADIR%%/doc/manual_en/3SistemaJuego.html +%%DATADIR%%/doc/manual_es/4descripcion_html_m1973b546.png +%%DATADIR%%/doc/manual_es/3SistemaJuego_html_mdf7fa06.png +%%DATADIR%%/doc/manual_es/4descripcion_html_m290420f7.png +%%DATADIR%%/doc/manual_es/4descripcion_html_m26c1431e.png +%%DATADIR%%/doc/manual_es/2Introduccion_html_m28c7ffa7.png +%%DATADIR%%/doc/manual_es/2Introduccion_html_m542ae663.png +%%DATADIR%%/doc/manual_es/2Introduccion.html +%%DATADIR%%/doc/manual_es/6ReporteErrores.html +%%DATADIR%%/doc/manual_es/1Instalacion.html +%%DATADIR%%/doc/manual_es/4descripcion_html_5a3cf324.png +%%DATADIR%%/doc/manual_es/2Introduccion_html_m2def4f34.png +%%DATADIR%%/doc/manual_es/3SistemaJuego_html_m5ef5060d.png +%%DATADIR%%/doc/manual_es/5Glosario.html +%%DATADIR%%/doc/manual_es/4descripcion_html_3f011949.png +%%DATADIR%%/doc/manual_es/7LicenseGPL.html +%%DATADIR%%/doc/manual_es/4descripcion_html_m2f12683.png +%%DATADIR%%/doc/manual_es/3SistemaJuego_html_m79bedd81.png +%%DATADIR%%/doc/manual_es/4descripcion_html_43feae4f.png +%%DATADIR%%/doc/manual_es/4descripcion_html_m6db82d32.png +%%DATADIR%%/doc/manual_es/4descripcion_html_m51c7468c.png +%%DATADIR%%/doc/manual_es/2Introduccion_html_m6c839d90.png +%%DATADIR%%/doc/manual_es/3SistemaJuego_html_m29000c8a.png +%%DATADIR%%/doc/manual_es/2Introduccion_html_59dfe02b.png +%%DATADIR%%/doc/manual_es/4descripcion_html_154e00b0.png +%%DATADIR%%/doc/manual_es/3SistemaJuego_html_693179c8.png +%%DATADIR%%/doc/manual_es/4descripcion.html +%%DATADIR%%/doc/manual_es/4descripcion_html_m79d65a9f.png +%%DATADIR%%/doc/manual_es/3SistemaJuego_html_m645574e0.png +%%DATADIR%%/doc/manual_es/3SistemaJuego.html +%%DATADIR%%/images/SudokuSensei.ico +%%DATADIR%%/language/sudoku_en.qm +%%DATADIR%%/language/sudoku_en.ts +%%DATADIR%%/language/sudoku_es.qm +%%DATADIR%%/language/sudoku_es.ts +%%DATADIR%%/license.txt +%%DATADIR%%/saves/25simbolos.sdk +%%DATADIR%%/saves/30simbolos.sdk +%%DATADIR%%/saves/30simbolos_2.sdk +%%DATADIR%%/saves/30simbolos_3.sdk +%%DATADIR%%/saves/redundant1.sdk +%%DATADIR%%/saves/samurai.sdk +%%DATADIR%%/saves/samurai2.sdk +%%DATADIR%%/saves/smile1.sdk +%%DATADIR%%/saves/tutorial/level1/child1.sdk +%%DATADIR%%/saves/tutorial/level1/child2.sdk +%%DATADIR%%/saves/tutorial/level1/child3.sdk +%%DATADIR%%/saves/tutorial/level1/child4.sdk +%%DATADIR%%/saves/tutorial/level1/child5.sdk +%%DATADIR%%/saves/tutorial/level2/line1.sdk +%%DATADIR%%/saves/tutorial/level2/line2.sdk +%%DATADIR%%/saves/tutorial/level2/line3.sdk +%%DATADIR%%/saves/tutorial/level2/line4.sdk +%%DATADIR%%/saves/tutorial/level2/line5.sdk +%%DATADIR%%/saves/tutorial/level3/minisam1.sdk +%%DATADIR%%/saves/tutorial/level3/minisam2.sdk +%%DATADIR%%/saves/tutorial/level3/minisam3.sdk +%%DATADIR%%/saves/tutorial/level3/minisam4.sdk +%%DATADIR%%/saves/tutorial/level3/minisam5.sdk +%%DATADIR%%/saves/tutorial/level4/hchild1.sdk +%%DATADIR%%/saves/tutorial/level4/hchild2.sdk +%%DATADIR%%/saves/tutorial/level4/hchild3.sdk +%%DATADIR%%/saves/tutorial/level4/hchild4.sdk +%%DATADIR%%/saves/tutorial/level4/hchild5.sdk +%%DATADIR%%/saves/tutorial/level5/4x3easy1.sdk +%%DATADIR%%/saves/tutorial/level5/4x3easy2.sdk +%%DATADIR%%/saves/tutorial/level5/4x3easy3.sdk +%%DATADIR%%/saves/tutorial/level5/4x3easy4.sdk +%%DATADIR%%/saves/tutorial/level5/4x3easy5.sdk +%%DATADIR%%/system/noerrsav.sdk +%%DATADIR%%/system/save0.sdk +%%DATADIR%%/system/save1.sdk +%%DATADIR%%/system/save2.sdk +%%DATADIR%%/system/save3.sdk +%%DATADIR%%/system/save4.sdk +%%DATADIR%%/system/save5.sdk +%%DATADIR%%/system/save6.sdk +%%DATADIR%%/system/save7.sdk +%%DATADIR%%/system/save8.sdk +%%DATADIR%%/system/save9.sdk +%%DATADIR%%/system/savea.sdk +%%DATADIR%%/system/saveb.sdk +%%DATADIR%%/system/savec.sdk +%%DATADIR%%/system/saved.sdk +%%DATADIR%%/system/savee.sdk +%%DATADIR%%/system/savef.sdk +%%DATADIR%%/system/saveg.sdk +@dirrm %%DATADIR%%/system +@dirrm %%DATADIR%%/saves/tutorial/level5 +@dirrm %%DATADIR%%/saves/tutorial/level4 +@dirrm %%DATADIR%%/saves/tutorial/level3 +@dirrm %%DATADIR%%/saves/tutorial/level2 +@dirrm %%DATADIR%%/saves/tutorial/level1 +@dirrm %%DATADIR%%/saves/tutorial +@dirrm %%DATADIR%%/saves +@dirrm %%DATADIR%%/language +@dirrm %%DATADIR%%/images +@dirrm %%DATADIR%%/doc/manual_es +@dirrm %%DATADIR%%/doc/manual_en +@dirrm %%DATADIR%%/doc +@dirrm %%DATADIR%%/board +@dirrm %%DATADIR%%