fossil: update to 2.27

This commit is contained in:
Konstantin Podsvirov
2026-01-11 00:45:43 +03:00
parent a349750442
commit 75aba59c85
4 changed files with 22 additions and 172 deletions

View File

@@ -6,8 +6,8 @@
_realname=fossil
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=2.25
_pkgsha=8f798279
pkgver=2.27
_pkgsha=99675884
pkgrel=1
pkgdesc='Simple, high-reliability, distributed software configuration management (mingw-w64)'
arch=('any')
@@ -25,21 +25,13 @@ depends=("${MINGW_PACKAGE_PREFIX}-openssl"
makedepends=("${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-autotools" "${MINGW_PACKAGE_PREFIX}-tcl")
optdepends=("${MINGW_PACKAGE_PREFIX}-putty: SSH transport")
source=("https://www.fossil-scm.org/home/tarball/${_pkgsha}/${_realname}-src-${pkgver}.tar.gz"
"win.patch"
"readline.patch"
"win-tcl-unix-path.patch")
sha256sums=('611cfa50d08899eb993a5f475f988b4512366cded82688c906cf913e5191b525'
'93e1bc5ff79e0df414fa0858894477bc41bc4a33fd6ec15ec3b7d5771e1d7090'
'887c8b16de984156cb13bfdbc5715b1eff0123af0d07e6dc08265dbef0a1d519'
'96090936b1aee3539211c400a4c8a7a9475c71f47238967a1924229798a2910b')
'readline.patch')
sha256sums=('0405a96ba4d286b46fb5c3217d6c13391a2c637da90c51a927ee0c31c58f9064'
'2990609868434ea4dceb6ff11c88a21d443dfe65ae9dbdbcf906972401ecdcfb')
prepare() {
cd "${srcdir}/${_realname}-src-${pkgver}"
patch -p1 -i "${srcdir}/win.patch"
patch -p0 -i "${srcdir}/readline.patch"
patch -p1 -i "${srcdir}/win-tcl-unix-path.patch"
# this doesn't get expanded, so delete it just to be sure
sed -i '/ENABLE_MINIZ/d' Makefile.in
patch -p1 -i "${srcdir}/readline.patch"
}
build() {
@@ -50,9 +42,12 @@ build() {
--prefix=${MINGW_PREFIX} \
--build=${MINGW_CHOST} \
--host=${MINGW_CHOST} \
--with-zlib=${MINGW_PREFIX} \
--debug \
--disable-internal-sqlite
--json \
--with-openssl=${MINGW_PREFIX} \
--with-sqlite=${MINGW_PREFIX} \
--with-tcl=${MINGW_PREFIX} \
--with-tcl-private-stubs=1 \
--with-zlib=${MINGW_PREFIX}
make \
CFLAGS+="-DBROKEN_MINGW_CMDLINE=not_actually_broken"

View File

@@ -1,18 +1,16 @@
Index: auto.def
==================================================================
--- auto.def
+++ auto.def
@@ -21,6 +21,7 @@
with-see=0 => {Enable the SQLite Encryption Extension (SEE)}
--- fossil-src-2.27.orig/auto.def 2025-09-30 14:03:45.000000000 +0300
+++ fossil-src-2.27/auto.def 2026-01-11 01:10:59.061805700 +0300
@@ -26,6 +26,7 @@
=> {print the minimum SQLite version number required, and exit}
internal-sqlite=1 => {Don't use the internal SQLite, use the system one}
static=0 => {Link a static executable}
+ lineedit=1 => {Disable line editing}
fusefs=1 => {Disable the Fuse Filesystem}
fossil-debug=0 => {Build with fossil debugging enabled}
no-opt=0 => {Build without optimization}
@@ -274,6 +275,20 @@
}
}
@@ -441,6 +442,20 @@
}; # handle-zlib
handle-zlib
+if {[opt-bool lineedit]} {
+ # Need readline-compatible line editing
@@ -28,6 +26,6 @@ Index: auto.def
+ }
+}
+
set ssldirs [opt-val with-openssl]
if {$ssldirs ne "none"} {
if {[opt-bool with-miniz]} {
#
# Handle the --with-openssl flag and, incidentally, update @LIBS@ for
# zlib if openssl is _not_ used (if it is, we get zlib via libssl).

View File

@@ -1,11 +0,0 @@
--- fossil-2.8/auto.def.orig 2019-05-17 09:06:44.429683400 +0300
+++ fossil-2.8/auto.def 2019-05-17 09:06:53.850299800 +0300
@@ -52,7 +52,7 @@
if {[string equal false [get-define TCLSH]]} {
msg-result "WARNING: 'make test' will not run here."
} else {
- set v [exec /bin/sh -c "echo 'puts \$tcl_version' | tclsh"]
+ set v [exec sh -c "echo 'puts \$tcl_version' | tclsh"]
if {[expr {$v >= 8.6}]} {
msg-result "Found Tclsh version $v in the PATH."
define TCLSH tclsh

View File

@@ -1,132 +0,0 @@
diff -aur fossil-src-1.33.orig/Makefile.in fossil-src-1.33/Makefile.in
--- fossil-src-1.33.orig/Makefile.in 2015-05-23 13:11:31.000000000 +0200
+++ fossil-src-1.33/Makefile.in 2015-05-23 13:53:28.251995600 +0200
@@ -39,7 +39,7 @@
CFLAGS = @CFLAGS@
CFLAGS_INCLUDE = @CFLAGS_INCLUDE@
-LIB = @LDFLAGS@ @EXTRA_LDFLAGS@ @LIBS@
+LIB = @LDFLAGS@ @EXTRA_LDFLAGS@ @LIBS@ -lws2_32
BCCFLAGS = @CPPFLAGS@ $(CFLAGS)
TCCFLAGS = @EXTRA_CFLAGS@ @CPPFLAGS@ $(CFLAGS) -DHAVE_AUTOCONFIG_H -D_HAVE_SQLITE_CONFIG_H
INSTALLDIR = $(DESTDIR)@prefix@/bin
--- fossil-src-1.33.orig/src/checkin.c 2015-05-23 13:11:31.000000000 +0200
+++ fossil-src-1.33/src/checkin.c 2015-05-23 13:54:26.116750700 +0200
@@ -1217,9 +1208,6 @@
}
blob_reset(&fname);
}
-#if defined(_WIN32)
- blob_add_cr(pPrompt);
-#endif
if( blob_size(pPrompt)>0 ) blob_write_to_file(pPrompt, zFile);
if( zEditor ){
zCmd = mprintf("%s \"%s\"", zEditor, zFile);
@@ -1277,16 +1265,7 @@
int parent_rid
){
Blob prompt;
-#if defined(_WIN32) || defined(__CYGWIN__)
- int bomSize;
- const unsigned char *bom = get_utf8_bom(&bomSize);
- blob_init(&prompt, (const char *) bom, bomSize);
- if( zInit && zInit[0]){
- blob_append(&prompt, zInit, -1);
- }
-#else
blob_init(&prompt, zInit, -1);
-#endif
blob_append(&prompt,
"\n"
"# Enter a commit message for this check-in."
--- fossil-src-1.33.orig/src/db.c 2015-05-23 13:11:31.000000000 +0200
+++ fossil-src-1.33/src/db.c 2015-05-23 13:55:02.561878900 +0200
@@ -1523,20 +1523,18 @@
#if defined(_WIN32) || defined(__CYGWIN__)
zHome = fossil_getenv("FOSSIL_HOME");
if( zHome==0 ){
- zHome = fossil_getenv("LOCALAPPDATA");
+ zHome = fossil_getenv("HOME");
if( zHome==0 ){
- zHome = fossil_getenv("APPDATA");
- if( zHome==0 ){
- zHome = fossil_getenv("USERPROFILE");
- if( zHome==0 ){
- char *zDrive = fossil_getenv("HOMEDRIVE");
- char *zPath = fossil_getenv("HOMEPATH");
- if( zDrive && zPath ) zHome = mprintf("%s%s", zDrive, zPath);
- }
- }
+ zHome = fossil_getenv("USERPROFILE");
}
}
- zDbName = mprintf("%//_fossil", zHome);
+ if( zHome==0 ){
+ if( isOptional ) return 0;
+ fossil_panic("cannot locate home directory - please set one of the "
+ "FOSSIL_HOME, HOME, or USERPROFILE environment "
+ "variables");
+ }
+ zDbName = mprintf("%//.fossil", zHome);
fossil_free(zHome);
return zDbName;
@@ -3298,11 +3296,7 @@
}
#endif
-#if defined(_WIN32) || defined(__CYGWIN__)
-# define LOCALDB_NAME "./_FOSSIL_"
-#else
# define LOCALDB_NAME "./.fslckout"
-#endif
db_init_database(LOCALDB_NAME, zLocalSchema, zLocalSchemaVmerge,
#ifdef FOSSIL_LOCAL_WAL
"COMMIT; PRAGMA journal_mode=WAL; BEGIN;",
--- fossil-src-1.33.orig/src/diffcmd.c 2015-05-23 13:11:31.000000000 +0200
+++ fossil-src-1.33/src/diffcmd.c 2015-05-23 13:53:28.276997700 +0200
@@ -606,11 +606,7 @@
const char *zName;
if( guiDiff ){
-#if defined(_WIN32)
- zDefault = "WinDiff.exe";
-#else
zDefault = 0;
-#endif
zName = "gdiff-command";
}else{
zDefault = 0;
--- fossil-src-1.33.orig/src/stash.c 2015-05-23 13:11:31.000000000 +0200
+++ fossil-src-1.33/src/stash.c 2015-05-23 13:53:28.278995500 +0200
@@ -160,13 +160,7 @@
if( zComment==0 ){
Blob prompt; /* Prompt for stash comment */
Blob comment; /* User comment reply */
-#if defined(_WIN32) || defined(__CYGWIN__)
- int bomSize;
- const unsigned char *bom = get_utf8_bom(&bomSize);
- blob_init(&prompt, (const char *) bom, bomSize);
-#else
blob_zero(&prompt);
-#endif
blob_append(&prompt,
"\n"
"# Enter a description of what is being stashed. Lines beginning\n"
--- fossil-src-1.33.orig/src/util.c 2015-05-23 13:11:31.000000000 +0200
+++ fossil-src-1.33/src/util.c 2015-05-23 13:54:26.116750700 +0200
@@ -592,14 +592,6 @@
if( zEditor==0 ){
zEditor = fossil_getenv("EDITOR");
}
-#if defined(_WIN32) || defined(__CYGWIN__)
- if( zEditor==0 ){
- zEditor = mprintf("%s\\notepad.exe", fossil_getenv("SYSTEMROOT"));
-#if defined(__CYGWIN__)
- zEditor = fossil_utf8_to_path(zEditor, 0);
-#endif
- }
-#endif
return zEditor;
}