summaryrefslogtreecommitdiff
path: root/user/gnucobol
diff options
context:
space:
mode:
Diffstat (limited to 'user/gnucobol')
-rw-r--r--user/gnucobol/APKBUILD11
-rw-r--r--user/gnucobol/big-endian.patch28
-rw-r--r--user/gnucobol/dash-compat.patch29
3 files changed, 50 insertions, 18 deletions
diff --git a/user/gnucobol/APKBUILD b/user/gnucobol/APKBUILD
index c95083a7f..1173da988 100644
--- a/user/gnucobol/APKBUILD
+++ b/user/gnucobol/APKBUILD
@@ -11,13 +11,15 @@ license="GPL-3.0+ AND LGPL-3.0+ AND GFDL-1.3"
# Since it compiles to C as an intermediate, the headers / libraries must
# always be present and thus there is no -dev subpackage.
depends="db-dev gmp-dev ncurses-dev"
-makedepends="help2man texinfo"
+makedepends="autoconf automake help2man libtool texinfo"
subpackages="$pkgname-doc $pkgname-lang"
source="https://downloads.sourceforge.net/project/open-cobol/gnu-cobol/3.0/$pkgname-$_pkgver.tar.xz
https://dev.sick.bike/dist/newcob.val.Z
keep-debug-flags.patch
big-endian.patch
- tests-are-fatal.patch"
+ tests-are-fatal.patch
+ dash-compat.patch
+ "
builddir="$srcdir/$pkgname-$_pkgver"
prepare() {
@@ -51,5 +53,6 @@ package() {
sha512sums="da669f7bef0c6664723dc88c20e28236ea31d5c933d9129b0132e929eb66f723995d3428b056164cf105bc22b38b8bc5fbf9d0d5b76df4ce6c08045837930fa0 gnucobol-3.0-rc1.tar.xz
eb784866d1a335834074fbe103b5c5f5da810d847ae14a64316ecbb2c0f95ef751d2f2ec609b8fa21ef0b775817dc61115a574608ec89750d779ae0afbb95379 newcob.val.Z
f45611c1298680b0c763094af662b3d1925d32379d33faff77862d7eaa3bf6225f68d5160a39a0822f54b570c923a53bc72dec54cff4f04f1162515834a40be2 keep-debug-flags.patch
-f7c1249db9d0f8d3a4eda732db93970f73fe649d1725b0b73c92af4885bc816d8727dbbcb8e9a1fb998997f3beed7de2812202749f05bbe1471b907737645648 big-endian.patch
-ca5ba1e19e5ff8740008b45ffcea4c1e8e34fc62246f3e635424ae1ec374c5cd9d7cc94d371690c021ccf82e293db7235143ebcaadb20ae5e4fc258749ff56c4 tests-are-fatal.patch"
+f8f8bb395e3f2e0e993df5133d1ed459dc7f03f148d76ddbbe4820f7674300c8c9a8d024785124444ca71a18a0d917e816ab852e0b5e9ebbfa5ed35f12a80b0f big-endian.patch
+ca5ba1e19e5ff8740008b45ffcea4c1e8e34fc62246f3e635424ae1ec374c5cd9d7cc94d371690c021ccf82e293db7235143ebcaadb20ae5e4fc258749ff56c4 tests-are-fatal.patch
+376af9b264b679388722b4d489a834cfb24b47fbdb6cd9bd9c239894741ffc265c2f83d770b0a820f48b3668b3596544183b48bee319186e4ed5c9c60bad4e77 dash-compat.patch"
diff --git a/user/gnucobol/big-endian.patch b/user/gnucobol/big-endian.patch
index 848300e15..65e5243d2 100644
--- a/user/gnucobol/big-endian.patch
+++ b/user/gnucobol/big-endian.patch
@@ -14,7 +14,7 @@ diff --git a/tests/testsuite.src/run_misc.at b/tests/testsuite.src/run_misc.at
index 2ef4a86..173ac48 100644
--- a/tests/testsuite.src/run_misc.at
+++ b/tests/testsuite.src/run_misc.at
-@@ -6185,6 +6185,10 @@ AT_CLEANUP
+@@ -5918,6 +5918,10 @@ AT_CLEANUP
AT_SETUP([MF FIGURATIVE to NUMERIC])
AT_KEYWORDS([MOVE])
@@ -25,7 +25,7 @@ index 2ef4a86..173ac48 100644
AT_DATA([prog.cob], [
IDENTIFICATION DIVISION.
PROGRAM-ID. prog.
-@@ -6230,12 +6234,16 @@ AT_DATA([prog.cob], [
+@@ -5963,12 +5967,16 @@ AT_DATA([prog.cob], [
DISPLAY "MOVE HIGH-VALUES TO BIGFLT"
MOVE HIGH-VALUES TO BIGFLT.
PERFORM SHOW-BIG.
@@ -42,7 +42,7 @@ index 2ef4a86..173ac48 100644
DISPLAY "MOVE ALL '21' TO BIGFLT"
MOVE ALL '21' TO BIGFLT.
PERFORM SHOW-BIG.
-@@ -6244,7 +6252,6 @@ AT_DATA([prog.cob], [
+@@ -5977,7 +5985,6 @@ AT_DATA([prog.cob], [
CALL "dump" USING MYFLD.
SHOW-BIG.
DISPLAY "BIGFLT is " BIGFLT.
@@ -50,7 +50,7 @@ index 2ef4a86..173ac48 100644
])
AT_DATA([cmod.c], [[
-@@ -6303,10 +6310,8 @@ BIGFLT is 2.1973164E-18
+@@ -6033,10 +6040,8 @@ BIGFLT is 2.1973164E-18
22222222 .
MOVE ALL * TO BIGFLT
BIGFLT is 5.4312347E+12
@@ -77,7 +77,7 @@ diff --git a/tests/testsuite.src/run_misc.at b/tests/testsuite.src/run_misc.at
index 173ac48..51f4b84 100644
--- a/tests/testsuite.src/run_misc.at
+++ b/tests/testsuite.src/run_misc.at
-@@ -6275,7 +6275,7 @@ prog.cob:28: warning: numeric value is expected
+@@ -6005,7 +6005,7 @@ prog.cob:28: warning: numeric value is expected
prog.cob:6: warning: 'MYFLD' defined here as PIC 9(4)
prog.cob:34: warning: numeric value is expected
prog.cob:6: warning: 'MYFLD' defined here as PIC 9(4)
@@ -105,7 +105,7 @@ diff --git a/libcob/common.c b/libcob/common.c
index 5262282..d99c533 100644
--- a/libcob/common.c
+++ b/libcob/common.c
-@@ -5275,9 +5275,7 @@ cob_sys_getopt_long_long (void *so, void *lo, void *idx, const int long_only, vo
+@@ -5138,9 +5138,7 @@ cob_sys_getopt_long_long (void *so, void *lo, void *idx, const int long_only, vo
COB_CHK_PARMS (CBL_GC_GETOPT, 6);
@@ -116,7 +116,7 @@ index 5262282..d99c533 100644
if (COB_MODULE_PTR->cob_procedure_params[1]) {
lo_size = COB_MODULE_PTR->cob_procedure_params[1]->size;
}
-@@ -5288,9 +5286,7 @@ cob_sys_getopt_long_long (void *so, void *lo, void *idx, const int long_only, vo
+@@ -5151,9 +5149,7 @@ cob_sys_getopt_long_long (void *so, void *lo, void *idx, const int long_only, vo
opt_val_size = COB_MODULE_PTR->cob_procedure_params[5]->size;
}
@@ -127,7 +127,7 @@ index 5262282..d99c533 100644
if (lo_size % sizeof (longoption_def) == 0) {
lo_amount = (int)lo_size / sizeof (longoption_def);
longoptions_root = (struct option*) cob_malloc (sizeof (struct option) * (lo_amount + 1U));
-@@ -5305,9 +5301,7 @@ cob_sys_getopt_long_long (void *so, void *lo, void *idx, const int long_only, vo
+@@ -5168,9 +5164,7 @@ cob_sys_getopt_long_long (void *so, void *lo, void *idx, const int long_only, vo
}
longind = cob_get_int (COB_MODULE_PTR->cob_procedure_params[2]);
@@ -138,7 +138,7 @@ index 5262282..d99c533 100644
shortoptions = cob_malloc (so_size + 1U);
if (COB_MODULE_PTR->cob_procedure_params[0]) {
cob_field_to_string (COB_MODULE_PTR->cob_procedure_params[0], shortoptions, so_size);
-@@ -5333,9 +5327,7 @@ cob_sys_getopt_long_long (void *so, void *lo, void *idx, const int long_only, vo
+@@ -5196,9 +5190,7 @@ cob_sys_getopt_long_long (void *so, void *lo, void *idx, const int long_only, vo
longoptions = longoptions + 1;
}
@@ -149,7 +149,7 @@ index 5262282..d99c533 100644
longoptions->name = NULL;
longoptions->has_arg = 0;
longoptions->flag = NULL;
-@@ -5348,17 +5340,42 @@ cob_sys_getopt_long_long (void *so, void *lo, void *idx, const int long_only, vo
+@@ -5211,17 +5203,42 @@ cob_sys_getopt_long_long (void *so, void *lo, void *idx, const int long_only, vo
return_value = cob_getopt_long_long (cob_argc, cob_argv, shortoptions, longoptions, &longind, long_only);
temp = (char *) &return_value;
@@ -218,7 +218,7 @@ diff --git a/libcob/fileio.c b/libcob/fileio.c
index 885cd48..521e245 100644
--- a/libcob/fileio.c
+++ b/libcob/fileio.c
-@@ -5633,6 +5633,22 @@ cob_sys_open_file (unsigned char *file_name, unsigned char *file_access,
+@@ -5559,6 +5559,22 @@ cob_sys_open_file (unsigned char *file_name, unsigned char *file_access,
COB_CHK_PARMS (CBL_OPEN_FILE, 5);
@@ -241,7 +241,7 @@ index 885cd48..521e245 100644
return open_cbl_file (file_name, file_access, file_handle, 0);
}
-@@ -5647,6 +5663,24 @@ cob_sys_create_file (unsigned char *file_name, unsigned char *file_access,
+@@ -5573,6 +5589,24 @@ cob_sys_create_file (unsigned char *file_name, unsigned char *file_access,
* @param: file_dev : not implemented, set 0
*/
@@ -266,7 +266,7 @@ index 885cd48..521e245 100644
if (*file_lock != 0) {
cob_runtime_warning (_("call to CBL_CREATE_FILE with wrong file_lock: %d"), *file_lock);
}
-@@ -5654,8 +5688,6 @@ cob_sys_create_file (unsigned char *file_name, unsigned char *file_access,
+@@ -5580,8 +5614,6 @@ cob_sys_create_file (unsigned char *file_name, unsigned char *file_access,
cob_runtime_warning (_("call to CBL_CREATE_FILE with wrong file_dev: %d"), *file_dev);
}
@@ -300,7 +300,7 @@ index 7c3c660..5ddbd58 100644
## Written by Keisuke Nishida, Roger While, Simon Sobisch, Edward Hart
##
## This file is part of GnuCOBOL.
-@@ -4254,7 +4254,7 @@ AT_CLEANUP
+@@ -4145,7 +4145,7 @@ AT_CLEANUP
AT_SETUP([UDF with recursion])
AT_KEYWORDS([functions LOCAL-STORAGE])
diff --git a/user/gnucobol/dash-compat.patch b/user/gnucobol/dash-compat.patch
new file mode 100644
index 000000000..e2d7f6006
--- /dev/null
+++ b/user/gnucobol/dash-compat.patch
@@ -0,0 +1,29 @@
+--- gnucobol-3.0-rc1/tests/testsuite.src/listings.at.old 2018-04-22 19:55:50.000000000 +0000
++++ gnucobol-3.0-rc1/tests/testsuite.src/listings.at 2020-01-14 09:08:26.488668118 +0000
+@@ -2185,7 +2185,7 @@
+
+ AT_CHECK([$UNIFY_LISTING prog.lst prog.lis once], [0], [], [])
+
+-AT_CHECK([test "$COB_HAS_64_BIT_POINTER" == "yes"], [0], [], [],
++AT_CHECK([test "$COB_HAS_64_BIT_POINTER" = "yes"], [0], [], [],
+
+ # Previous test "failed" --> 32 bit
+
+@@ -5761,4 +5761,4 @@
+ AT_CHECK([$UNIFY_LISTING prog.lst prog.lis once], [0], [], [])
+ AT_CHECK([diff prog1.lst prog.lis], [0], [], [])
+
+-AT_CLEANUP
+\ No newline at end of file
++AT_CLEANUP
+--- gnucobol-3.0-rc1/tests/testsuite.src/data_pointer.at.old 2018-04-22 19:55:46.000000000 +0000
++++ gnucobol-3.0-rc1/tests/testsuite.src/data_pointer.at 2020-01-14 09:08:48.226341564 +0000
+@@ -40,7 +40,7 @@
+
+ AT_CHECK([$COMPILE prog.cob], [0], [], [])
+
+-AT_CHECK([test "$COB_HAS_64_BIT_POINTER" == "yes"], [0], [], [],
++AT_CHECK([test "$COB_HAS_64_BIT_POINTER" = "yes"], [0], [], [],
+
+ # Previous test "failed" --> 32 bit
+