diff -Nru mu-cade-0.11.dfsg1/debian/changelog mu-cade-0.11.dfsg1/debian/changelog --- mu-cade-0.11.dfsg1/debian/changelog 2016-06-20 07:58:45.000000000 +0000 +++ mu-cade-0.11.dfsg1/debian/changelog 2018-04-24 20:09:34.000000000 +0000 @@ -1,3 +1,14 @@ +mu-cade (0.11.dfsg1-12) unstable; urgency=medium + + * Patched to compile with gdc-8. (Closes: #896585) + * Enable deprecation warnings during compilation. + * Move to debhelper compat level 11. + * Changed priority from extra to optional. + * Fixed watch file. + * Bump Standards-Version to 4.1.4. + + -- Peter De Wachter Tue, 24 Apr 2018 22:09:34 +0200 + mu-cade (0.11.dfsg1-11) unstable; urgency=medium * Fix build failure with current gdc. (Closes: #826673) @@ -48,7 +59,7 @@ * Explicitly build with D version 1 (closes: #653086) * Switch to source format 3.0 and drop quilt build-dep - * Provide soon-to-be-required build-arch and build-indep + * Provide soon-to-be-required build-arch and build-indep debian/rules targets * Bump to 3.9.2 diff -Nru mu-cade-0.11.dfsg1/debian/compat mu-cade-0.11.dfsg1/debian/compat --- mu-cade-0.11.dfsg1/debian/compat 2016-06-20 07:58:45.000000000 +0000 +++ mu-cade-0.11.dfsg1/debian/compat 2018-04-24 20:09:34.000000000 +0000 @@ -1 +1 @@ -9 +11 diff -Nru mu-cade-0.11.dfsg1/debian/control mu-cade-0.11.dfsg1/debian/control --- mu-cade-0.11.dfsg1/debian/control 2016-06-20 07:58:45.000000000 +0000 +++ mu-cade-0.11.dfsg1/debian/control 2018-04-24 20:09:34.000000000 +0000 @@ -1,6 +1,6 @@ Source: mu-cade Section: games -Priority: extra +Priority: optional Maintainer: Debian Games Team Uploaders: Miriam Ruiz , @@ -8,7 +8,7 @@ Barry deFreese , Vincent Fourmond Build-Depends: - debhelper (>= 9), + debhelper (>= 11), gdc (>= 4.8.1), libbulletml-dev, libgl1-mesa-dev | libgl-dev, @@ -19,7 +19,7 @@ libsdl1.2-dev Build-Conflicts: libphobos-4.4-dev -Standards-Version: 3.9.8 +Standards-Version: 4.1.4 Homepage: http://www.asahi-net.or.jp/~cs8k-cyu/windows/mcd_e.html Vcs-Svn: svn://anonscm.debian.org/pkg-games/packages/trunk/mu-cade/ Vcs-Browser: https://anonscm.debian.org/viewvc/pkg-games/packages/trunk/mu-cade/ diff -Nru mu-cade-0.11.dfsg1/debian/patches/dlang_v2.patch mu-cade-0.11.dfsg1/debian/patches/dlang_v2.patch --- mu-cade-0.11.dfsg1/debian/patches/dlang_v2.patch 2016-06-20 07:58:45.000000000 +0000 +++ mu-cade-0.11.dfsg1/debian/patches/dlang_v2.patch 2018-04-24 20:09:34.000000000 +0000 @@ -1,5 +1,5 @@ Description: port to D language version 2 - With this patch the code is accapted by gdc-4.6 0.29.1-4.6.4-3 without + With this patch the code is accepted by gdc-4.6 0.29.1-4.6.4-3 without triggering deprecated feature warnings/errors. Author: Peter De Wachter diff -Nru mu-cade-0.11.dfsg1/debian/patches/gdc-8.patch mu-cade-0.11.dfsg1/debian/patches/gdc-8.patch --- mu-cade-0.11.dfsg1/debian/patches/gdc-8.patch 1970-01-01 00:00:00.000000000 +0000 +++ mu-cade-0.11.dfsg1/debian/patches/gdc-8.patch 2018-04-24 20:09:34.000000000 +0000 @@ -0,0 +1,453 @@ +Description: More fixes for D language changes + With this patch the code is accepted by gdc-8 8-20180414-1 without + triggering deprecated feature warnings. + - Convert I/O to use std.stdio module + - Some other modules got renamed + - Avoid C-style array type notation + - Use "goto case" to mark fall-through in switch statements +Author: Peter De Wachter +Forwarded: no + +--- a/src/abagames/mcd/barrage.d ++++ b/src/abagames/mcd/barrage.d +@@ -57,7 +57,7 @@ + */ + public class BarrageManager { + private: +- static BulletMLParserTinyXML *parser[string][string]; ++ static BulletMLParserTinyXML*[string][string] parser; + static const string BARRAGE_DIR_NAME = "/usr/share/games/mu-cade/barrage"; + + public static void load() { +@@ -89,7 +89,7 @@ + } + + public static BulletMLParserTinyXML*[] getInstanceList(string dirName) { +- BulletMLParserTinyXML *pl[]; ++ BulletMLParserTinyXML*[] pl; + foreach (BulletMLParserTinyXML *p; parser[dirName]) { + pl ~= p; + } +@@ -97,8 +97,8 @@ + } + + public static void unload() { +- foreach (BulletMLParserTinyXML *pa[string]; parser) { +- foreach (BulletMLParserTinyXML *p; pa) { ++ foreach (BulletMLParserTinyXML*[string] pa; parser) { ++ foreach (BulletMLParserTinyXML* p; pa) { + BulletMLParserTinyXML_delete(p); + } + } +--- a/src/abagames/mcd/boot.d ++++ b/src/abagames/mcd/boot.d +@@ -7,7 +7,7 @@ + + private import std.string; + private import std.conv; +-private import std.stream; ++private import std.stdio; + private import std.math; + private import core.stdc.stdlib; + private import abagames.util.logger; +@@ -51,7 +51,7 @@ + _minit(); + try { + _moduleCtor(); +- char exe[4096]; ++ char[4096] exe; + GetModuleFileNameA(null, exe, 4096); + string[1] prog; + prog[0] = to!string(exe); +--- a/src/abagames/mcd/enemy.d ++++ b/src/abagames/mcd/enemy.d +@@ -395,7 +395,7 @@ + public: + Vector3 pos; + float deg; +- GLdouble rot[16]; ++ GLdouble[16] rot; + dReal[3] linearVel; + dReal[3] angularVel; + Vector3 sizeScale; +--- a/src/abagames/mcd/gamemanager.d ++++ b/src/abagames/mcd/gamemanager.d +@@ -423,6 +423,7 @@ + } + if (state == GameState.IN_GAME) + break; ++ goto case; + case GameState.TITLE: + titleManager.draw(); + break; +--- a/src/abagames/mcd/particle.d ++++ b/src/abagames/mcd/particle.d +@@ -162,7 +162,7 @@ + Field field; + Vector3 _pos; + Vector3 _vel; +- GLdouble rot[16]; ++ GLdouble[16] rot; + bool enableRotate; + int cnt; + float decayRatio; +--- a/src/abagames/mcd/prefmanager.d ++++ b/src/abagames/mcd/prefmanager.d +@@ -5,7 +5,7 @@ + */ + module abagames.mcd.prefmanager; + +-private import std.stream; ++private import std.stdio; + private import std.string; + private import std.conv; + private import std.file; +@@ -38,27 +38,22 @@ + } + + public void load() { +- scope File fd = new File; + try { + int ver; +- fd.open(pref_dir() ~ "/" ~ PREF_FILE_NAME); +- fd.read(ver); ++ File fd = File(pref_dir() ~ "/" ~ PREF_FILE_NAME); ++ fd.rawRead((&ver)[0..1]); + if (ver != VERSION_NUM) + throw new Error("Wrong version num"); + else + _prefData.load(fd); + } catch (Throwable e) { + _prefData.init(); +- } finally { +- if (fd.isOpen()) +- fd.close(); + } + } + + public void save() { +- scope File fd = new File; +- fd.create(pref_dir ~ "/" ~ PREF_FILE_NAME); +- fd.write(VERSION_NUM); ++ File fd = File(pref_dir ~ "/" ~ PREF_FILE_NAME, "w"); ++ fd.rawWrite((&VERSION_NUM)[0..1]); + _prefData.save(fd); + fd.close(); + } +@@ -84,15 +79,15 @@ + + public void load(File fd) { + for(int i = 0; i < RANKING_NUM; i++) { +- fd.read(_highScore[i]); +- fd.read(_time[i]); ++ fd.rawRead((&_highScore[i])[0..1]); ++ fd.rawRead((&_time[i])[0..1]); + } + } + + public void save(File fd) { + for(int i = 0; i < RANKING_NUM; i++) { +- fd.write(_highScore[i]); +- fd.write(_time[i]); ++ fd.rawWrite((&_highScore[i])[0..1]); ++ fd.rawWrite((&_time[i])[0..1]); + } + } + +--- a/src/abagames/mcd/replay.d ++++ b/src/abagames/mcd/replay.d +@@ -5,7 +5,7 @@ + */ + module abagames.mcd.replay; + +-private import std.stream; ++private import std.stdio; + private import abagames.util.sdl.recordableinput; + private import abagames.util.sdl.twinstickpad; + private import abagames.mcd.gamemanager; +@@ -24,28 +24,24 @@ + private: + + public void save(string fileName) { +- scope File fd = new File; +- fd.create(PrefManager.pref_dir() ~ "/" ~ fileName); +- fd.write(VERSION_NUM); +- fd.write(seed); +- fd.write(score); +- fd.write(time); ++ File fd = File(PrefManager.pref_dir() ~ "/" ~ fileName, "w"); ++ fd.rawWrite((&VERSION_NUM)[0..1]); ++ fd.rawWrite((&seed)[0..1]); ++ fd.rawWrite((&score)[0..1]); ++ fd.rawWrite((&time)[0..1]); + twinStickPadInputRecord.save(fd); +- fd.close(); + } + + public void load(string fileName) { +- scope File fd = new File; +- fd.open(PrefManager.pref_dir() ~ "/" ~ fileName); ++ File fd = File(PrefManager.pref_dir() ~ "/" ~ fileName); + int ver; +- fd.read(ver); ++ fd.rawRead((&ver)[0..1]); + if (ver != VERSION_NUM) + throw new Error("Wrong version num"); +- fd.read(seed); +- fd.read(score); +- fd.read(time); ++ fd.rawRead((&seed)[0..1]); ++ fd.rawRead((&score)[0..1]); ++ fd.rawRead((&time)[0..1]); + twinStickPadInputRecord = new InputRecord!(TwinStickPadState); + twinStickPadInputRecord.load(fd); +- fd.close(); + } + } +--- a/src/abagames/mcd/ship.d ++++ b/src/abagames/mcd/ship.d +@@ -62,11 +62,11 @@ + ShotPool shots; + float deg; + float trgDeg; +- GLdouble rot[16]; ++ GLdouble[16] rot; + int restartCnt; + int fireCnt; + float fireInterval; +- ShipTail tails[TAIL_MAX_NUM]; ++ ShipTail[TAIL_MAX_NUM] tails; + int tailNum; + int enhancedShotCnt; + ShapeGroup shape; +@@ -514,7 +514,7 @@ + static Rand rand; + Vector3 _pos; + float deg; +- GLdouble rot[16]; ++ GLdouble[16] rot; + Vector3 size; + Field field; + Ship ship; +--- a/src/abagames/mcd/stagemanager.d ++++ b/src/abagames/mcd/stagemanager.d +@@ -7,7 +7,7 @@ + + private import std.math; + private import std.string; +-private import std.stream; ++private import std.stdio; + private import opengl; + private import ode.ode; + private import abagames.util.tokenizer; +--- a/src/abagames/util/logger.d ++++ b/src/abagames/util/logger.d +@@ -5,7 +5,7 @@ + */ + module abagames.util.logger; + +-private import std.cstream; ++private import std.stdio; + private import std.string; + private import std.conv; + +@@ -22,16 +22,16 @@ + public static void info(string msg, bool nline = true) { + // Win32 exe crashes if it writes something to stderr. + /*if (nline) +- std.cstream.derr.writeLine(msg); ++ stderr.writeln(msg); + else +- std.cstream.derr.writeString(msg);*/ ++ stderr.write(msg);*/ + } + + public static void info(double n, bool nline = true) { + /*if (nline) +- std.cstream.derr.writeLine(to!string(n)); ++ stderr.writeln(to!string(n)); + else +- std.cstream.derr.writeString(to!string(n) ~ " ");*/ ++ stderr.write(to!string(n) ~ " ");*/ + } + + private static void putMessage(string msg) { +@@ -53,24 +53,24 @@ + + public static void info(string msg, bool nline = true) { + if (nline) +- std.cstream.derr.writeLine(msg); ++ stderr.writeln(msg); + else +- std.cstream.derr.writeString(msg); ++ stderr.write(msg); + } + + public static void info(double n, bool nline = true) { + if (nline) +- std.cstream.derr.writeLine(to!string(n)); ++ stderr.writeln(to!string(n)); + else +- std.cstream.derr.writeString(to!string(n) ~ " "); ++ stderr.write(to!string(n) ~ " "); + } + + public static void error(string msg) { +- std.cstream.derr.writeLine("Error: " ~ msg); ++ stderr.writeln("Error: " ~ msg); + } + + public static void error(Throwable e) { +- std.cstream.derr.writeLine("Error: " ~ e.toString()); ++ stderr.writeln("Error: " ~ e.toString()); + if (e.next) + error(e.next); + } +--- a/src/abagames/util/ode/world.d ++++ b/src/abagames/util/ode/world.d +@@ -95,7 +95,7 @@ + } + + extern (C) { +- dContact contact[World.MAX_CONTACTS]; ++ dContact[World.MAX_CONTACTS] contact; + + void initContacts() { + for (int i = 0; i < World.MAX_CONTACTS; i++) { +--- a/src/abagames/util/rand.d ++++ b/src/abagames/util/rand.d +@@ -5,7 +5,6 @@ + */ + module abagames.util.rand; + +-private import std.stream; + private import std.datetime; + + /** +@@ -112,7 +111,7 @@ + uint MIXBITS(uint u, uint v) { return (u & UMASK) | (v & LMASK); } + uint TWIST(uint u,uint v) { return (MIXBITS(u,v) >> 1) ^ (v&1 ? MATRIX_A : 0); } + +-uint state[N]; /* the array for the state vector */ ++uint[N] state; /* the array for the state vector */ + int left = 1; + int initf = 0; + uint *next; +@@ -137,7 +136,7 @@ + /* key_length is its length */ + //uint init_key[]; + //uint key_length; +-void init_by_array(uint init_key[], uint key_length) ++void init_by_array(uint[] init_key, uint key_length) + { + int i, j, k; + init_genrand(cast(uint)19650218UL); +--- a/src/abagames/util/sdl/recordableinput.d ++++ b/src/abagames/util/sdl/recordableinput.d +@@ -5,7 +5,7 @@ + */ + module abagames.util.sdl.recordableinput; + +-private import std.stream; ++private import std.stdio; + private import abagames.util.iterator; + + /** +@@ -98,9 +98,10 @@ + } + + public void save(File fd) { +- fd.write(record.length); ++ int l = cast(int)record.length; ++ fd.rawWrite((&l)[0..1]); + foreach (Record r; record) { +- fd.write(r.series); ++ fd.rawWrite((&r.series)[0..1]); + r.data.write(fd); + } + } +@@ -109,9 +110,9 @@ + clear(); + int l, s; + T d; +- fd.read(l); ++ fd.rawRead((&l)[0..1]); + for (int i = 0; i < l; i++) { +- fd.read(s); ++ fd.rawRead((&s)[0..1]); + d = T.newInstance(); + d.read(fd); + Record r; +--- a/src/abagames/util/sdl/twinstickpad.d ++++ b/src/abagames/util/sdl/twinstickpad.d +@@ -6,7 +6,7 @@ + module abagames.util.sdl.twinstickpad; + + private import std.string; +-private import std.stream; ++private import std.stdio; + private import std.math; + private import SDL; + private import SDL_keyboard; +@@ -201,19 +201,19 @@ + } + + public void read(File fd) { +- fd.read(left.x); +- fd.read(left.y); +- fd.read(right.x); +- fd.read(right.y); +- fd.read(button); ++ fd.rawRead((&left.x)[0..1]); ++ fd.rawRead((&left.y)[0..1]); ++ fd.rawRead((&right.x)[0..1]); ++ fd.rawRead((&right.y)[0..1]); ++ fd.rawRead((&button)[0..1]); + } + + public void write(File fd) { +- fd.write(left.x); +- fd.write(left.y); +- fd.write(right.x); +- fd.write(right.y); +- fd.write(button); ++ fd.rawWrite((&left.x)[0..1]); ++ fd.rawWrite((&left.y)[0..1]); ++ fd.rawWrite((&right.x)[0..1]); ++ fd.rawWrite((&right.y)[0..1]); ++ fd.rawWrite((&button)[0..1]); + } + + public bool equals(TwinStickPadState s) { +--- a/src/abagames/util/tokenizer.d ++++ b/src/abagames/util/tokenizer.d +@@ -5,7 +5,7 @@ + */ + module abagames.util.tokenizer; + +-private import std.stream; ++private import std.stdio; + private import std.string; + private import std.conv; + +@@ -17,10 +17,9 @@ + + public static string[] readFile(string fileName, string separator) { + string[] result; +- scope File fd = new File; +- fd.open(fileName); ++ File fd = File(fileName); + for (;;) { +- string line = to!string(fd.readLine()); ++ string line = fd.readln(); + if (!line) + break; + string[] spl = std.string.split(line, separator); +@@ -30,7 +29,6 @@ + result ~= r; + } + } +- fd.close(); + return result; + } + } diff -Nru mu-cade-0.11.dfsg1/debian/patches/imports_ode.patch mu-cade-0.11.dfsg1/debian/patches/imports_ode.patch --- mu-cade-0.11.dfsg1/debian/patches/imports_ode.patch 2016-06-20 07:58:45.000000000 +0000 +++ mu-cade-0.11.dfsg1/debian/patches/imports_ode.patch 2018-04-24 20:09:34.000000000 +0000 @@ -1,5 +1,5 @@ Description: port import/ode/ code to D language version 2 - With this patch the code is accapted by GDC 4.8 without triggering deprecation + With this patch the code is accepted by GDC 8 without triggering deprecation warnings/errors. It also attempts to make mu-cade compatible with Debian's libode4. Author: Peter De Wachter , @@ -33,7 +33,7 @@ -void dGeomGetQuaternion (dGeomID, dQuaternion result); -void dGeomGetAABB (dGeomID, dReal aabb[6]); +void dGeomGetQuaternion (dGeomID, ref dQuaternion result); -+void dGeomGetAABB (dGeomID, ref dReal aabb[6]); ++void dGeomGetAABB (dGeomID, ref dReal[6] aabb); int dGeomIsSpace (dGeomID); dSpaceID dGeomGetSpace (dGeomID); int dGeomGetClass (dGeomID); @@ -127,7 +127,7 @@ + ref dMatrix3 R2, ref dVector3 side2); -void dInfiniteAABB (dGeomID geom, dReal aabb[6]); -+void dInfiniteAABB (dGeomID geom, ref dReal aabb[6]); ++void dInfiniteAABB (dGeomID geom, ref dReal[6] aabb); +void dInitODE(); void dCloseODE(); @@ -140,11 +140,11 @@ -typedef dColliderFn * dGetColliderFnFn (int num); -typedef void dGeomDtorFn (dGeomID o); -typedef int dAABBTestFn (dGeomID o1, dGeomID o2, dReal aabb[6]); -+alias void function(dGeomID, ref dReal aabb[6]) dGetAABBFn; ++alias void function(dGeomID, ref dReal[6] aabb) dGetAABBFn; +alias int function(dGeomID o1, dGeomID o2, int flags, dContactGeom *contact, int skip) dColliderFn; +alias dColliderFn function(int num) dGetColliderFnFn; +alias void function(dGeomID o) dGeomDtorFn; -+alias int function(dGeomID o1, dGeomID o2, ref dReal aabb[6]) dAABBTestFn; ++alias int function(dGeomID o1, dGeomID o2, ref dReal[6] aabb) dAABBTestFn; struct dGeomClass { int bytes; @@ -210,6 +210,17 @@ --- a/import/ode/common.d +++ b/import/ode/common.d +@@ -21,8 +21,8 @@ + *************************************************************************/ + module ode.common; + +-private import std.c.math; +-private import std.c.stdlib; ++private import core.stdc.math; ++private import core.stdc.stdlib; + import ode.config; + import ode.error; + @@ -62,8 +62,8 @@ */ @@ -221,6 +232,25 @@ int dAASSERT(int a) { return 0; } /* floating point data type, vector, matrix and quaternion types */ +@@ -77,12 +77,12 @@ + int dPAD(int a) { return ((a > 1) ? (((a-1)|3)+1) : a); } + + /* these types are mainly just used in headers */ +-alias dReal dVector3[4]; +-alias dReal dVector4[4]; +-alias dReal dMatrix3[4*3]; +-alias dReal dMatrix4[4*4]; +-alias dReal dMatrix6[8*6]; +-alias dReal dQuaternion[4]; ++alias dReal[4] dVector3; ++alias dReal[4] dVector4; ++alias dReal[4*3] dMatrix3; ++alias dReal[4*4] dMatrix4; ++alias dReal[8*6] dMatrix6; ++alias dReal[4] dQuaternion; + + + /* precision dependent scalar math functions */ @@ -103,7 +103,7 @@ /* round something up to be a multiple of the EFFICIENT_ALIGNMENT */ @@ -474,6 +504,15 @@ +} --- a/import/ode/error.d +++ b/import/ode/error.d +@@ -23,7 +23,7 @@ + + /* this comes from the `reuse' library. copy any changes back to the source */ + +-import std.c.stdarg; ++import core.stdc.stdarg; + import ode.config; + + extern(C): @@ -31,7 +31,7 @@ /* all user defined error functions have this type. error and debug functions * should not return. @@ -495,7 +534,13 @@ +void dMessage (int num, const(char)* msg, ...); --- a/import/ode/export_dif.d +++ b/import/ode/export_dif.d -@@ -26,4 +26,4 @@ +@@ -21,9 +21,9 @@ + *************************************************************************/ + module ode.export_dif; + +-import std.c.stdio; ++import core.stdc.stdio; + import ode.common; extern(C): @@ -546,14 +591,16 @@ dAllocFunction *dGetAllocHandler (); --- a/import/ode/misc.d +++ b/import/ode/misc.d -@@ -23,6 +23,7 @@ +@@ -23,7 +23,8 @@ /* miscellaneous math functions. these are mostly useful for testing */ +-import std.c.stdio; +import core.stdc.config; - import std.c.stdio; ++import core.stdc.stdio; import ode.common; + extern(C): @@ -34,11 +35,11 @@ /* return next 32 bit random number. this uses a not-very-random linear * congruential method. @@ -802,23 +849,25 @@ -void dDQfromW (dReal dq[4], dVector3 w, dQuaternion q); +void dRfromQ (ref dMatrix3 R, ref dQuaternion q); +void dQfromR (ref dQuaternion q, ref dMatrix3 R); -+void dDQfromW (ref dReal dq[4], ref dVector3 w, ref dQuaternion q); ++void dDQfromW (ref dReal[4] dq, ref dVector3 w, ref dQuaternion q); --- a/import/ode/timer.d +++ b/import/ode/timer.d -@@ -21,6 +21,7 @@ +@@ -21,7 +21,8 @@ *************************************************************************/ module ode.timer; +-import std.c.stdio; +import core.stdc.config; - import std.c.stdio; ++import core.stdc.stdio; import ode.config; + extern(C): @@ -30,7 +31,7 @@ struct dStopwatch { double time; /* total clock count */ - uint cc[2]; /* clock count since last `start' */ -+ c_ulong cc[2]; /* clock count since last `start' */ ++ c_ulong[2] cc; /* clock count since last `start' */ }; void dStopwatchReset (dStopwatch *); @@ -833,3 +882,24 @@ void dTimerEnd(); /* print out a timer report. if `average' is nonzero, print out the average +--- a/import/ode/config.d ++++ b/import/ode/config.d +@@ -2,12 +2,12 @@ + module ode.config; + + /* standard system headers */ +-private import std.c.stdio; +-private import std.c.stdlib; +-private import std.c.math; +-private import std.c.stdarg; +-//import std.c.malloc; +-//import std.c.float; ++private import core.stdc.stdio; ++private import core.stdc.stdlib; ++private import core.stdc.math; ++private import core.stdc.stdarg; ++//import core.stdc.malloc; ++//import core.stdc.float; + + extern(C): + diff -Nru mu-cade-0.11.dfsg1/debian/patches/imports.patch mu-cade-0.11.dfsg1/debian/patches/imports.patch --- mu-cade-0.11.dfsg1/debian/patches/imports.patch 2016-06-20 07:58:45.000000000 +0000 +++ mu-cade-0.11.dfsg1/debian/patches/imports.patch 2018-04-24 20:09:34.000000000 +0000 @@ -1,5 +1,5 @@ Description: port import/ code to D language version 2 - With this patch the code is accapted by GDC 4.8 without triggering deprecation + With this patch the code is accepted by GDC 4.8 without triggering deprecation warnings/errors. Author: Peter De Wachter @@ -202,6 +202,15 @@ struct SDL_CDtrack { Uint8 id; /* Track number */ +@@ -68,7 +68,7 @@ + int numtracks; /* Number of tracks on disk */ + int cur_track; /* Current track position */ + int cur_frame; /* Current frame offset within current track */ +- SDL_CDtrack track[SDL_MAX_TRACKS+1]; ++ SDL_CDtrack[SDL_MAX_TRACKS+1] track; + } + + /* Conversion functions from frames to Minute/Second/Frames and vice versa */ --- a/import/SDL_endian.d +++ b/import/SDL_endian.d @@ -47,7 +47,7 @@ @@ -1553,3 +1562,14 @@ -const uint KMOD_SHIFT = (KMOD_LSHIFT|KMOD_RSHIFT); -const uint KMOD_ALT = (KMOD_LALT|KMOD_RALT); -const uint KMOD_META = (KMOD_LMETA|KMOD_RMETA); +--- a/import/SDL_mouse.d ++++ b/import/SDL_mouse.d +@@ -32,7 +32,7 @@ + Sint16 hot_x, hot_y; /* The "tip" of the cursor */ + Uint8 *data; /* B/W cursor data */ + Uint8 *mask; /* B/W cursor mask */ +- Uint8 *save[2]; /* Place to save cursor area */ ++ Uint8 *[2] save; /* Place to save cursor area */ + void /*WMcursor*/ *wm_cursor; /* Window-manager cursor */ + } + diff -Nru mu-cade-0.11.dfsg1/debian/patches/makefile.patch mu-cade-0.11.dfsg1/debian/patches/makefile.patch --- mu-cade-0.11.dfsg1/debian/patches/makefile.patch 2016-06-20 07:58:45.000000000 +0000 +++ mu-cade-0.11.dfsg1/debian/patches/makefile.patch 2018-04-24 20:09:34.000000000 +0000 @@ -12,7 +12,7 @@ +all: $(EXE) + +$(EXE): $(DSRC) -+ $(GDC) -o $@ -Iimport -Isrc -Wno-deprecated $(DFLAGS) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) $(DSRC) -lSDL -lGL -lGLU -lSDL_mixer -lode -lbulletml ++ $(GDC) -o $@ -Iimport -Isrc -Wdeprecated $(DFLAGS) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) $(DSRC) -lSDL -lGL -lGLU -lSDL_mixer -lode -lbulletml + +clean: + rm -f $(EXE) diff -Nru mu-cade-0.11.dfsg1/debian/patches/ode.patch mu-cade-0.11.dfsg1/debian/patches/ode.patch --- mu-cade-0.11.dfsg1/debian/patches/ode.patch 2016-06-20 07:58:45.000000000 +0000 +++ mu-cade-0.11.dfsg1/debian/patches/ode.patch 2018-04-24 20:09:34.000000000 +0000 @@ -13,81 +13,3 @@ world = dWorldCreate(); dWorldSetContactMaxCorrectingVel(world, CONTACT_MAX_CORRECTING_VEL); dWorldSetContactSurfaceLayer (world, CONTACT_SURFACE_LAYER); ---- a/import/ode/common.d -+++ b/import/ode/common.d -@@ -21,8 +21,8 @@ - *************************************************************************/ - module ode.common; - --private import std.c.math; --private import std.c.stdlib; -+private import core.stdc.math; -+private import core.stdc.stdlib; - import ode.config; - import ode.error; - ---- a/import/ode/config.d -+++ b/import/ode/config.d -@@ -2,12 +2,12 @@ - module ode.config; - - /* standard system headers */ --private import std.c.stdio; --private import std.c.stdlib; --private import std.c.math; --private import std.c.stdarg; --//import std.c.malloc; --//import std.c.float; -+private import core.stdc.stdio; -+private import core.stdc.stdlib; -+private import core.stdc.math; -+private import core.stdc.stdarg; -+//import core.stdc.malloc; -+//import core.stdc.float; - - extern(C): - ---- a/import/ode/error.d -+++ b/import/ode/error.d -@@ -23,7 +23,7 @@ - - /* this comes from the `reuse' library. copy any changes back to the source */ - --import std.c.stdarg; -+import core.stdc.stdarg; - import ode.config; - - extern(C): ---- a/import/ode/export_dif.d -+++ b/import/ode/export_dif.d -@@ -21,7 +21,7 @@ - *************************************************************************/ - module ode.export_dif; - --import std.c.stdio; -+import core.stdc.stdio; - import ode.common; - - extern(C): ---- a/import/ode/misc.d -+++ b/import/ode/misc.d -@@ -24,7 +24,7 @@ - /* miscellaneous math functions. these are mostly useful for testing */ - - import core.stdc.config; --import std.c.stdio; -+import core.stdc.stdio; - import ode.common; - - extern(C): ---- a/import/ode/timer.d -+++ b/import/ode/timer.d -@@ -22,7 +22,7 @@ - module ode.timer; - - import core.stdc.config; --import std.c.stdio; -+import core.stdc.stdio; - import ode.config; - - extern(C): diff -Nru mu-cade-0.11.dfsg1/debian/patches/series mu-cade-0.11.dfsg1/debian/patches/series --- mu-cade-0.11.dfsg1/debian/patches/series 2016-06-20 07:58:45.000000000 +0000 +++ mu-cade-0.11.dfsg1/debian/patches/series 2018-04-24 20:09:34.000000000 +0000 @@ -9,3 +9,4 @@ fullscreen-option.patch ode.patch dlang_v2.patch +gdc-8.patch diff -Nru mu-cade-0.11.dfsg1/debian/watch mu-cade-0.11.dfsg1/debian/watch --- mu-cade-0.11.dfsg1/debian/watch 2016-06-20 07:58:45.000000000 +0000 +++ mu-cade-0.11.dfsg1/debian/watch 2018-04-24 20:09:34.000000000 +0000 @@ -1,4 +1,4 @@ version=3 opts="uversionmangle=s/_/\./,dversionmangle=s/[+.]dfsg(.?\d+)?$//" \ -http://www.asahi-net.or.jp/~cs8k-cyu/windows/mcd_e.html mcd([\d]_[\d]+)\.zip +http://www.asahi-net.or.jp/~cs8k-cyu/windows/mcd_e.html .*/mcd([\d]_[\d]+)\.zip