It seems a recent version of sqlite broke Clementine's first startup. It turns out we can patch clementine to fix the problem instead of providing a different sqlite package: <https://github.com/clementine-player/Clementine/pull/5669> * gnu/packages/databases.scm (sqlite-with-fts3): Remove. * gnu/packages/music.scm (clementine)[inputs]: Replace sqlite-with-fts3 with sqlite. [source]: Add clementine-fix-sqlite.patch. * gnu/packages/patches/clementine-fix-sqlite.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. Signed-off-by: Leo Famulari <leo@famulari.name>
		
			
				
	
	
		
			23 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			23 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| Patch downloaded from https://github.com/clementine-player/Clementine/pull/5669 .
 | |
| 
 | |
| diff -ruN clementine-1.3.1.565.gd20c2244a.orig/src/core/database.cpp clementine-1.3.1.565.gd20c2244a/src/core/database.cpp
 | |
| --- clementine-1.3.1.565.gd20c2244a.orig/src/core/database.cpp	2018-07-07 23:59:24.018540126 +0200
 | |
| +++ clementine-1.3.1.565.gd20c2244a/src/core/database.cpp	2018-07-08 00:04:47.991551728 +0200
 | |
| @@ -265,6 +265,17 @@
 | |
|    StaticInit();
 | |
|  
 | |
|    {
 | |
| +
 | |
| +#ifdef SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER
 | |
| +    // In case sqlite>=3.12 is compiled without -DSQLITE_ENABLE_FTS3_TOKENIZER
 | |
| +    // (generally a good idea  due to security reasons) the fts3 support should be enabled explicitly.
 | |
| +    QVariant v = db.driver()->handle();
 | |
| +    if (v.isValid() && qstrcmp(v.typeName(), "sqlite3*") == 0) {
 | |
| +      sqlite3 *handle = *static_cast<sqlite3**>(v.data());
 | |
| +      if (handle) sqlite3_db_config(handle, SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER, 1, NULL);
 | |
| +    }
 | |
| +#endif
 | |
| +
 | |
|      QSqlQuery set_fts_tokenizer(db);
 | |
|      set_fts_tokenizer.prepare("SELECT fts3_tokenizer(:name, :pointer)");
 | |
|      set_fts_tokenizer.bindValue(":name", "unicode");
 |