Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package nudoku for openSUSE:Factory checked 
in at 2025-08-20 13:27:31
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/nudoku (Old)
 and      /work/SRC/openSUSE:Factory/.nudoku.new.29662 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "nudoku"

Wed Aug 20 13:27:31 2025 rev:11 rq:1300473 version:6.0.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/nudoku/nudoku.changes    2024-08-27 
19:39:47.681633749 +0200
+++ /work/SRC/openSUSE:Factory/.nudoku.new.29662/nudoku.changes 2025-08-20 
13:28:57.745521713 +0200
@@ -1,0 +2,19 @@
+Wed Aug 20 10:01:47 UTC 2025 - Michael Vetter <mvet...@suse.com>
+
+- Update to 6.0.0:
+  * Wrap around board edges when navigating with arrow keys (pr #68)
+  * Update Turkish translation (pr #69)
+  * Print sudoku stream to stdout (pr #71)
+  * Fix build with gettext 0.24.1+ (pr #73)
+- Drop nudoku-Fix-build-with-gettext-0.24.1.patch
+
+-------------------------------------------------------------------
+Wed Aug 20 09:33:01 UTC 2025 - Thomas Zimmermann <tzimmerm...@suse.com>
+
+- Convert to %autosetup
+
+- Add nudoku-Fix-build-with-gettext-0.24.1.patch: Adds the local m4/
+  directory to the autoconf macro search patch. Fixes an issue with
+  gettext macros not being available at build time.
+
+-------------------------------------------------------------------

Old:
----
  nudoku-5.0.0.tar.gz

New:
----
  nudoku-6.0.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ nudoku.spec ++++++
--- /var/tmp/diff_new_pack.Zl8qbG/_old  2025-08-20 13:28:58.281543999 +0200
+++ /var/tmp/diff_new_pack.Zl8qbG/_new  2025-08-20 13:28:58.281543999 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package nudoku
 #
-# Copyright (c) 2024 SUSE LLC
+# Copyright (c) 2025 SUSE LLC and contributors
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
 
 
 Name:           nudoku
-Version:        5.0.0
+Version:        6.0.0
 Release:        0
 Summary:        Ncurses based sudoku game
 License:        GPL-3.0-only
@@ -37,7 +37,7 @@
 %lang_package
 
 %prep
-%setup -q
+%autosetup -p1
 
 %build
 autoreconf -fi

++++++ nudoku-5.0.0.tar.gz -> nudoku-6.0.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nudoku-5.0.0/ChangeLog new/nudoku-6.0.0/ChangeLog
--- old/nudoku-5.0.0/ChangeLog  2024-08-27 09:10:10.000000000 +0200
+++ new/nudoku-6.0.0/ChangeLog  2025-08-20 11:59:01.000000000 +0200
@@ -1,6 +1,12 @@
+5.0.0 to 6.0.0 (2025-08-20)
+  * Wrap around board edges when navigating with arrow keys (pr #68)
+  * Update Turkish translation (pr #69)
+  * Print sudoku stream to stdout (pr #71)
+  * Fix build with gettext 0.24.1+ (pr #73)
+
 4.0.1 to 5.0.0 (2024-08-27)
   * Add Ukrainian translation (pr #62)
-  * Don't create ambiguous games are generated (#50, pr#63)
+  * Don't create ambiguous games (#50, pr #63)
   * Allow to pause game (#47, pr #65)
 
 4.0.0 to 4.0.1 (2024-05-06)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nudoku-5.0.0/configure.ac 
new/nudoku-6.0.0/configure.ac
--- old/nudoku-5.0.0/configure.ac       2024-08-27 09:10:10.000000000 +0200
+++ new/nudoku-6.0.0/configure.ac       2025-08-20 11:59:01.000000000 +0200
@@ -2,8 +2,9 @@
 # Process this file with autoconf to produce a configure script.
 
 AC_PREREQ([2.69])
-AC_INIT([nudoku], [5.0.0], [jub...@iodoru.org])
+AC_INIT([nudoku], [6.0.0], [jub...@iodoru.org])
 AC_CONFIG_SRCDIR([src/main.c])
+AC_CONFIG_MACRO_DIRS([m4])
 AM_INIT_AUTOMAKE([foreign])
 
 # Check for pkg-config
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nudoku-5.0.0/man/nudoku.6 
new/nudoku-6.0.0/man/nudoku.6
--- old/nudoku-5.0.0/man/nudoku.6       2024-08-27 09:10:10.000000000 +0200
+++ new/nudoku-6.0.0/man/nudoku.6       2025-08-20 11:59:01.000000000 +0200
@@ -1,5 +1,5 @@
 .\" Manpage for nudoku.
-.TH man 6 "27 August 2024" "5.0.0" "nudoku man page"
+.TH man 6 "20 August 2025" "6.0.0" "nudoku man page"
 .SH NAME
 nudoku \- ncurses based sudoku game
 .SH SYNOPSIS
@@ -57,6 +57,10 @@
 .BR \-c
 Do not use colors. Black and white mode. Some terminals don't support colors, 
use this option in this case.
 
+.BR \-o
+Output stream.
+Print a single sudoku onto standard output. Notation is in stream format like 
used by -s.
+
 .BR \-d
 Choose difficulty.
 Available options are: easy, normal, hard
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nudoku-5.0.0/po/tr.po new/nudoku-6.0.0/po/tr.po
--- old/nudoku-5.0.0/po/tr.po   2024-08-27 09:10:10.000000000 +0200
+++ new/nudoku-6.0.0/po/tr.po   2025-08-20 11:59:01.000000000 +0200
@@ -7,7 +7,7 @@
 "Project-Id-Version: nudoku 1.0.0\n"
 "Report-Msgid-Bugs-To: jub...@iodoru.org\n"
 "POT-Creation-Date: 2024-08-24 09:59+0300\n"
-"PO-Revision-Date: 2024-03-29 19:50+0300\n"
+"PO-Revision-Date: 2024-09-08 18:46+0300\n"
 "Last-Translator: Oğuz Ersen <o...@ersen.moe>\n"
 "Language-Team: Turkish <tr>\n"
 "Language: tr\n"
@@ -15,7 +15,7 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Gtranslator 45.3\n"
+"X-Generator: Gtranslator 46.1\n"
 
 #: src/main.c:107
 #, c-format
@@ -59,22 +59,22 @@
 #: src/main.c:114
 #, c-format
 msgid "-r resume:\t\tResume the last saved game\n"
-msgstr ""
+msgstr "-r resume:\t\tSon kaydedilen oyuna devam et\n"
 
 #: src/main.c:115
 #, c-format
 msgid "-p filename:\t\tOutput PDF\n"
-msgstr ""
+msgstr "-p dosyaadı:\t\tPDF olarak dışa aktar\n"
 
 #: src/main.c:116
 #, c-format
 msgid "-n filename:\t\tNumber of sudokus to put in PDF\n"
-msgstr ""
+msgstr "-n dosyaadı:\t\tPDF dosyasına yazılacak sudoku sayısı\n"
 
 #: src/main.c:117
 #, c-format
 msgid "-i filename:\t\tOutput PNG image\n"
-msgstr ""
+msgstr "-i dosyaadı:\t\tPNG resmi olarak dışa aktar\n"
 
 #: src/main.c:131
 #, c-format
@@ -94,7 +94,7 @@
 #: src/main.c:305
 #, c-format
 msgid "Game save is missing or corrupted, try starting new game.\n"
-msgstr ""
+msgstr "Oyun kaydı eksik veya bozuk, yeni oyun başlatmayı deneyin.\n"
 
 #: src/main.c:375
 msgid ""
@@ -159,7 +159,7 @@
 
 #: src/main.c:488
 msgid " G - Save\n"
-msgstr ""
+msgstr " G - Kaydet\n"
 
 #: src/main.c:489
 msgid " Q - Quit\n"
@@ -179,17 +179,18 @@
 
 #: src/main.c:493
 msgid " u - Undo previous action\n"
-msgstr ""
+msgstr " u - Önceki eylemi geri al\n"
 
 #: src/main.c:652
 #, c-format
 msgid "nudoku is compiled without cairo support.\n"
-msgstr ""
+msgstr "nudoku cairo desteği olmadan derlendi.\n"
 
 #: src/main.c:653
 #, c-format
 msgid "To use the output feature, please compile with --enable-cairo.\n"
 msgstr ""
+"Dışa aktarma özelliğini kullanmak için lütfen --enable-cairo ile derleyin.\n"
 
 #: src/main.c:760
 msgid "Solving puzzle..."
@@ -222,11 +223,11 @@
 
 #: src/main.c:864
 msgid "Saved!"
-msgstr ""
+msgstr "Kaydedildi!"
 
 #: src/main.c:867
 msgid "Can't save the game!"
-msgstr ""
+msgstr "Oyun kaydedilemiyor!"
 
 #: src/sudoku.c:251
 msgid "hard"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nudoku-5.0.0/src/main.c new/nudoku-6.0.0/src/main.c
--- old/nudoku-5.0.0/src/main.c 2024-08-27 09:10:10.000000000 +0200
+++ new/nudoku-6.0.0/src/main.c 2025-08-20 11:59:01.000000000 +0200
@@ -76,6 +76,7 @@
 static bool  g_useColor = true;
 static bool  g_playing = false;
 static bool  g_useHighlights = false;
+static bool  g_output_stream = false;          /* is the -o flag set */
 static char* g_provided_stream = NULL;         /* in case of -s flag the user 
provides the sudoku stream */
 static bool  g_resume_game = false;         /* in case of -r flag and saved 
game state */
 static int   g_resume_level;                /* store difficulty of the resume 
game */
@@ -109,6 +110,7 @@
        printf(_("-h help:\t\tPrint this help\n"));
        printf(_("-v version:\t\tPrint version\n"));
        printf(_("-c nocolor:\t\tDo not use colors\n"));
+       printf(_("-o output:\t\tOutput stream (inverse of -s)\n"));
        printf(_("-d difficulty:\t\tChoose between: easy, normal, hard\n"));
        printf(_("-s stream:\t\tUser provided sudoku stream\n"));
        printf(_("-r resume:\t\tResume the last saved game\n"));
@@ -273,10 +275,18 @@
        return true;
 }
 
+void generate_stream_output(int difficulty) {
+       char* stream = generate_puzzle(difficulty);
+
+       printf("%s\n", stream);
+
+       free(stream);
+}
+
 static void parse_arguments(int argc, char *argv[])
 {
        int opt;
-       while ((opt = getopt(argc, argv, "hvcrs:d:p:i:n:")) != -1)
+       while ((opt = getopt(argc, argv, "hvcors:d:p:i:n:")) != -1)
        {
                switch (opt)
                {
@@ -289,6 +299,9 @@
                        case 'c':
                                g_useColor = false;
                                break;
+                       case 'o':
+                               g_output_stream = true;
+                               break;
                        case 's':
                                if (!is_valid_stream(optarg))
                                        exit(EXIT_FAILURE);
@@ -643,6 +656,12 @@
        parse_arguments(argc, argv);
        srand(time(NULL));
 
+       if (g_output_stream)
+       {
+               generate_stream_output(g_level);
+               return EXIT_SUCCESS;
+       }
+
        if (g_outputFilename)
        {
 #ifdef ENABLE_CAIRO
@@ -696,51 +715,64 @@
                {
                        case 'h':
                        case KEY_LEFT:
-                               if(x>5)
+                               if (x-GRID_NUMBER_START_X <= 0) {
+                                       x = GRID_NUMBER_START_X + 
GRID_LINE_DELTA*8;
+                               }
+                               else if(x>5)
                                {
                                        x -= GRID_LINE_DELTA;
-                                       if(g_playing)
-                                       {
-                                               // if we have highlighting 
enabled, we need to redraw the whole grid
-                                               // so we can have the new 
colors in the matching colors.
-                                               // this should only be done 
when we are playing, because plain_board
-                                               // is actually the one being 
solved and thus displayed.
-                                               // this is true for all 
movement keys.
-                                               fill_grid(user_board, 
plain_board, x, y);
-                                       }
+
+                               }
+                               if(g_playing)
+                               {
+                                       // if we have highlighting enabled, we 
need to redraw the whole grid
+                                       // so we can have the new colors in the 
matching colors.
+                                       // this should only be done when we are 
playing, because plain_board
+                                       // is actually the one being solved and 
thus displayed.
+                                       // this is true for all movement keys.
+                                       fill_grid(user_board, plain_board, x, 
y);
                                }
                                break;
                        case 'l':
                        case KEY_RIGHT:
-                               if(x<34)
+                               if ((x-GRID_NUMBER_START_X) / GRID_LINE_DELTA 
>= 8) {
+                                       x = GRID_NUMBER_START_X;
+                               }
+                               else if(x<34)
                                {
                                        x += GRID_LINE_DELTA;
-                                       if(g_playing)
-                                       {
-                                               fill_grid(user_board, 
plain_board, x, y);
-                                       }
+                               }
+                               if(g_playing)
+                               {
+                                       fill_grid(user_board, plain_board, x, 
y);
                                }
                                break;
                        case 'k':
                        case KEY_UP:
-                               if(y>2)
+                               if (y-GRID_NUMBER_START_Y <= 0) {
+                                       y = GRID_NUMBER_START_Y + 
GRID_COL_DELTA*8;
+                               }
+                               else if(y>2)
                                {
                                        y -= GRID_COL_DELTA;
-                                       if(g_playing)
-                                       {
-                                               fill_grid(user_board, 
plain_board, x, y);
-                                       }
+                               }
+                               if(g_playing)
+                               {
+                                       fill_grid(user_board, plain_board, x, 
y);
                                }
                                break;
                        case 'j':
                        case KEY_DOWN:
-                               if(y<17)
+                               if ((y-GRID_NUMBER_START_Y) / GRID_COL_DELTA >= 
8) {
+                                       y = GRID_NUMBER_START_Y;
+                               }
+                               else if(y<17)
                                {
                                        y += GRID_COL_DELTA;
-                                       if(g_playing)
-                                       {
-                                               fill_grid(user_board, 
plain_board, x, y);
-                                       }
+                               }
+                               if(g_playing)
+                               {
+                                       fill_grid(user_board, plain_board, x, 
y);
                                }
                                break;
                        case 'Q':

Reply via email to