diff --git a/.gitignore b/.gitignore index 71eb4b4..4cbe655 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,3 @@ /build-* -##### TUP GITIGNORE ##### -##### Lines below automatically generated by Tup. -##### Do not edit. -.tup -/.gitignore -/public +/out +/.tup diff --git a/.gitmodules b/.gitmodules index c6524d3..6c27d51 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,57 +1,60 @@ -[submodule "libretro/libretro-common"] +[submodule "libretro-common"] path = libretro-common url = https://github.com/libretro/libretro-common.git -[submodule "libretro/retro_frontend"] +[submodule "retro_frontend"] path = retro_frontend url = https://git.sr.ht/~ehmry/retro_frontend -[submodule "libretro/cores/2048/core"] - path = cores/2048/upstream - url = https://github.com/libretro/libretro-2048 -[submodule "libretro/cores/4do/core"] +[submodule "4do"] path = cores/4do/upstream url = https://github.com/libretro/4do-libretro.git -[submodule "libretro/cores/fceumm/core"] +[submodule "fceumm"] path = cores/fceumm/upstream url = https://github.com/libretro/libretro-fceumm.git -[submodule "libretro/cores/mgba/core"] +[submodule "mgba"] path = cores/mgba/upstream url = https://github.com/libretro/mgba.git -[submodule "libretro/cores/nxengine/core"] +[submodule "nxengine"] path = cores/nxengine/upstream url = https://github.com/libretro/nxengine-libretro.git -[submodule "libretro/cores/oberon/core"] +[submodule "oberon"] path = cores/oberon/upstream - url = https://github.com/pdewacht/oberon-risc-emu.git -[submodule "libretro/cores/tyrquake/core"] + url = https://github.com/ehmry/oberon-risc-emu.git +[submodule "snes9x"] + path = cores/snes9x/upstream + url = https://github.com/ehmry/snes9x.git +[submodule "tyrquake"] path = cores/tyrquake/upstream - url = https://github.com/libretro/tyrquake -[submodule "libretro/cores/samples"] + url = https://github.com/ehmry/tyrquake +[submodule "samples"] path = cores/samples/upstream url = https://github.com/libretro/libretro-samples -[submodule "libretro/cores/dosbox/core"] +[submodule "dosbox"] path = cores/dosbox-libretro/upstream url = https://github.com/libretro/dosbox-libretro -[submodule "libretro/cores/mrboom/core"] +[submodule "mrboom"] path = cores/mrboom/upstream url = https://github.com/libretro/mrboom-libretro.git -[submodule "libretro/cores/gambatte/core"] +[submodule "gambatte"] path = cores/gambatte/upstream url = https://github.com/ehmry/gambatte-libretro.git -[submodule "libretro/cores/scummvm/upstream"] +[submodule "scummvm"] path = libretro/cores/scummvm/upstream url = https://github.com/libretro/scummvm.git -[submodule "libretro/cores/lutro/upstream"] +[submodule "lutro"] path = cores/lutro/upstream url = https://github.com/ehmry/libretro-lutro.git -[submodule "libretro/cores/bluemsx/upstream"] +[submodule "bluemsx"] path = cores/bluemsx/upstream url = https://github.com/libretro/blueMSX-libretro.git -[submodule "libretro/cores/mu/upstream"] +[submodule "mu"] path = cores/mu/upstream url = https://github.com/meepingsnesroms/Mu.git -[submodule "libretro/cores/dosbox-svn/upstream"] +[submodule "dosbox-svn"] path = cores/dosbox-svn/upstream url = https://github.com/libretro/dosbox-svn.git -[submodule "libretro/cores/yabause/upstream"] +[submodule "yabause"] path = cores/yabause/upstream url = https://github.com/libretro/yabause.git +[submodule "2048"] + path = cores/2048/upstream + url = https://github.com/ehmry/libretro-2048.git diff --git a/Tupfile b/Tupfile new file mode 100644 index 0000000..d632ee6 --- /dev/null +++ b/Tupfile @@ -0,0 +1,11 @@ +run git submodule foreach --quiet 'echo ":|> ^ nix-prefetch-git $name^ nix-prefetch-git --quiet --fetch-submodules --url $toplevel/$sm_path --rev $sha1 > %o |> $displaypath.json {prefetch}"' + # Generate a JSON description for each Git submodule that + # can be used to generate a Nix fixed-output derivation. + +: {prefetch} |> ^ Generate %o^ \ + echo '# DO NOT EDIT #' >> %o; \ + echo 'let readJSON = p: with builtins; fromJSON (readFile p); in [' >> %o; \ + git submodule foreach --quiet 'echo "{ name = \"$name\"; value = { smPath = \"$sm_path\"; prefetch = readJSON ./$displaypath.json; url = \"`git remote get-url origin`\"; }; }"' >> %o; \ + echo ']' >> %o; \ + |> submodules.nix + # Generate a Nix expression that contains a description of all submodules. diff --git a/Tuprules.tup b/Tuprules.tup index e5c6af7..397938c 100644 --- a/Tuprules.tup +++ b/Tuprules.tup @@ -1,5 +1,3 @@ -.gitignore - export DHALL_GENODE export DHALL_GENODE_TYPES export DHALL_PRELUDE diff --git a/cores/2048/upstream b/cores/2048/upstream index 54d3ddd..e744213 160000 --- a/cores/2048/upstream +++ b/cores/2048/upstream @@ -1 +1 @@ -Subproject commit 54d3ddd3c9f81d7bbd5714a670913e46301781c7 +Subproject commit e744213531fff06355c5f8a0ce94a6641b3995d8 diff --git a/cores/2048/upstream.json b/cores/2048/upstream.json new file mode 100644 index 0000000..620383b --- /dev/null +++ b/cores/2048/upstream.json @@ -0,0 +1,7 @@ +{ + "url": "/home/repo/libretro-genode/cores/2048/upstream", + "rev": "e744213531fff06355c5f8a0ce94a6641b3995d8", + "date": "2019-11-14T20:49:04+01:00", + "sha256": "0ndv6ki6z6bfi31j7lyc8y73qnddvdvrsicfajzmqsgp4f4l2a67", + "fetchSubmodules": true +} diff --git a/cores/Tuprules.tup b/cores/Tuprules.tup index 7581bf2..57438f1 100644 --- a/cores/Tuprules.tup +++ b/cores/Tuprules.tup @@ -11,7 +11,7 @@ PKG_DEPENDS += \ `$(PKG_CONFIG) --cflags $(CORE_PKGS)` \ $(CFLAGS) $(INCFLAGS) \ -c %f -o %o \ -|> %f.$(TARGET_NAME).o +|> %B.o !libretro_cxx = |> ^ CXX %f^ \ $(CXX) \ @@ -19,7 +19,7 @@ PKG_DEPENDS += \ `$(PKG_CONFIG) --cflags $(CORE_PKGS)` \ $(CXXFLAGS) $(INCFLAGS) \ -c %f -o %o \ -|> %f.$(TARGET_NAME).o +|> %B.o !libretro_core_link = |> ^o LD %d^ \ $(LD) %f -o %o \ diff --git a/cores/bluemsx/upstream b/cores/bluemsx/upstream index 37b1641..823fad5 160000 --- a/cores/bluemsx/upstream +++ b/cores/bluemsx/upstream @@ -1 +1 @@ -Subproject commit 37b164179736b7a93615d57f57b2b5e89a846404 +Subproject commit 823fad5634a7398c7c723dd2b6b2040810814aff diff --git a/cores/bluemsx/upstream.json b/cores/bluemsx/upstream.json new file mode 100644 index 0000000..af15992 --- /dev/null +++ b/cores/bluemsx/upstream.json @@ -0,0 +1,7 @@ +{ + "url": "/home/repo/libretro-genode/cores/bluemsx/upstream", + "rev": "823fad5634a7398c7c723dd2b6b2040810814aff", + "date": "2019-11-19T13:51:08+01:00", + "sha256": "1az4dm01f7dymnba9f3pgqvxap3y0hf4z45c0qxc2izrpbvgwxnm", + "fetchSubmodules": true +} diff --git a/cores/fceumm/upstream b/cores/fceumm/upstream index bb8aef8..cfa6350 160000 --- a/cores/fceumm/upstream +++ b/cores/fceumm/upstream @@ -1 +1 @@ -Subproject commit bb8aef82c11b6d9eb21a0e902e770c75924ff96e +Subproject commit cfa6350035811801d7c795092153299838ab8a4a diff --git a/cores/fceumm/upstream.json b/cores/fceumm/upstream.json new file mode 100644 index 0000000..97c556f --- /dev/null +++ b/cores/fceumm/upstream.json @@ -0,0 +1,7 @@ +{ + "url": "/home/repo/libretro-genode/cores/fceumm/upstream", + "rev": "cfa6350035811801d7c795092153299838ab8a4a", + "date": "2019-11-06T18:25:26-06:00", + "sha256": "0zcgrdqajvhsbdf7ihiir9v6hhn8k8gsxl5xs951y7rxsr2wv84l", + "fetchSubmodules": true +} diff --git a/cores/gambatte/upstream b/cores/gambatte/upstream index b4df458..b5c9d99 160000 --- a/cores/gambatte/upstream +++ b/cores/gambatte/upstream @@ -1 +1 @@ -Subproject commit b4df458d259f97231ef315e05ed61930382f98a7 +Subproject commit b5c9d9935f704e39fbda47d56065081f01c1d676 diff --git a/cores/gambatte/upstream.json b/cores/gambatte/upstream.json new file mode 100644 index 0000000..03cdcd1 --- /dev/null +++ b/cores/gambatte/upstream.json @@ -0,0 +1,7 @@ +{ + "url": "/home/repo/libretro-genode/cores/gambatte/upstream", + "rev": "b5c9d9935f704e39fbda47d56065081f01c1d676", + "date": "2019-11-19T13:21:25+01:00", + "sha256": "1n2kin1yfvvff0z2gk477cwqn6gnbrqywfhnzgv1bbc4c0nqwwxi", + "fetchSubmodules": true +} diff --git a/cores/mu/upstream b/cores/mu/upstream index 33f7cb8..14e0d66 160000 --- a/cores/mu/upstream +++ b/cores/mu/upstream @@ -1 +1 @@ -Subproject commit 33f7cb89480ae51cd26ad032e73346bb362d39b2 +Subproject commit 14e0d6610117ee3d846eb4373ca70cff4fd4843a diff --git a/cores/mu/upstream.json b/cores/mu/upstream.json new file mode 100644 index 0000000..588e6f7 --- /dev/null +++ b/cores/mu/upstream.json @@ -0,0 +1,7 @@ +{ + "url": "/home/repo/libretro-genode/cores/mu/upstream", + "rev": "14e0d6610117ee3d846eb4373ca70cff4fd4843a", + "date": "2019-09-12T10:40:56-07:00", + "sha256": "1syw7ncz8w99j1a9kp71zwnq25dwki7mhqfgfghwj6424bf1ik17", + "fetchSubmodules": true +} diff --git a/cores/nxengine/Tuprules.tup b/cores/nxengine/Tuprules.tup index 34fd140..e100b58 100644 --- a/cores/nxengine/Tuprules.tup +++ b/cores/nxengine/Tuprules.tup @@ -11,7 +11,7 @@ DEFINES += -DINLINE="inline" CFLAGS += -std=gnu11 CXXFLAGS += -fno-rtti -fno-exceptions -: foreach $(SOURCES_C) |> !libretro_cc |> {libretro_objs} +: foreach $(SOURCES_C) |> !libretro_cc |> %B.$(TARGET_NAME).o {libretro_objs} : foreach $(SOURCES_CXX) |> !libretro_cxx |> {libretro_objs} : {libretro_objs} |> !libretro_core_link |> {core} diff --git a/cores/nxengine/upstream b/cores/nxengine/upstream index b220b57..48ba500 160000 --- a/cores/nxengine/upstream +++ b/cores/nxengine/upstream @@ -1 +1 @@ -Subproject commit b220b573ca8fd32fad5dfbb02679c430998395f1 +Subproject commit 48ba50038b9e284e84c1be0629cf99d5eb3e8010 diff --git a/cores/nxengine/upstream.json b/cores/nxengine/upstream.json new file mode 100644 index 0000000..cc63a1c --- /dev/null +++ b/cores/nxengine/upstream.json @@ -0,0 +1,7 @@ +{ + "url": "/home/repo/libretro-genode/cores/nxengine/upstream", + "rev": "48ba50038b9e284e84c1be0629cf99d5eb3e8010", + "date": "2019-09-14T06:58:59+02:00", + "sha256": "0rq3l2m0s8cjc3rxczh4vb6h5zgwli3289a9bipq648dgz14h6gc", + "fetchSubmodules": true +} diff --git a/cores/oberon/upstream b/cores/oberon/upstream index 41aa3d5..7344019 160000 --- a/cores/oberon/upstream +++ b/cores/oberon/upstream @@ -1 +1 @@ -Subproject commit 41aa3d5ecaab3c4dc68be3857af89c36053b02c6 +Subproject commit 7344019adda5112a1bcd6bcb6b1410e05d85224a diff --git a/cores/oberon/upstream.json b/cores/oberon/upstream.json new file mode 100644 index 0000000..52a575d --- /dev/null +++ b/cores/oberon/upstream.json @@ -0,0 +1,7 @@ +{ + "url": "/home/repo/libretro-genode/cores/oberon/upstream", + "rev": "7344019adda5112a1bcd6bcb6b1410e05d85224a", + "date": "2019-11-19T14:01:42+01:00", + "sha256": "09avq8cwsscrf7zdz739nh0nx01g8ki5lng6s0y3msl7h20ib4sq", + "fetchSubmodules": true +} diff --git a/cores/tyrquake/Tuprules.tup b/cores/tyrquake/Tuprules.tup index 35ae20d..68c065d 100644 --- a/cores/tyrquake/Tuprules.tup +++ b/cores/tyrquake/Tuprules.tup @@ -19,7 +19,7 @@ DEFINES += -fomit-frame-pointer include upstream/Makefile.common -: foreach $(SOURCES_C) |> !libretro_cc |> {libretro_objs} +: foreach $(SOURCES_C) |> !libretro_cc |> %f.$(TARGET_NAME).o {libretro_objs} : {libretro_objs} |> !libretro_core_link |> {core} : {core} |> !collect_bin |> diff --git a/cores/tyrquake/upstream b/cores/tyrquake/upstream index d058fb7..0d3cb10 160000 --- a/cores/tyrquake/upstream +++ b/cores/tyrquake/upstream @@ -1 +1 @@ -Subproject commit d058fb7e58137d92f148f1b81a8b2eb147090aab +Subproject commit 0d3cb10657f0802c3d17361cd639f09327387afc diff --git a/cores/tyrquake/upstream.json b/cores/tyrquake/upstream.json new file mode 100644 index 0000000..90c5d69 --- /dev/null +++ b/cores/tyrquake/upstream.json @@ -0,0 +1,7 @@ +{ + "url": "/home/repo/libretro-genode/cores/tyrquake/upstream", + "rev": "0d3cb10657f0802c3d17361cd639f09327387afc", + "date": "2019-11-19T13:44:55+01:00", + "sha256": "1mq2rfsgz0slldnw6qzy0vpp6zdbw9dnpwsxq1fdw4p7jwlpy88k", + "fetchSubmodules": true +} diff --git a/libretro-common b/libretro-common index 914a4ce..24deda8 160000 --- a/libretro-common +++ b/libretro-common @@ -1 +1 @@ -Subproject commit 914a4ce5945db52e3020618c133bc01e0a40c086 +Subproject commit 24deda8083a3a7372becd9abf5482a6ca38b2a3d diff --git a/libretro-common.json b/libretro-common.json new file mode 100644 index 0000000..a2b6991 --- /dev/null +++ b/libretro-common.json @@ -0,0 +1,7 @@ +{ + "url": "/home/repo/libretro-genode/libretro-common", + "rev": "24deda8083a3a7372becd9abf5482a6ca38b2a3d", + "date": "2019-11-19T06:19:34+01:00", + "sha256": "1in7fv1vim9kw5h2lnwss5l2k0gyb7nczzrbhyhq8q0ypdcn1rf4", + "fetchSubmodules": true +} diff --git a/retro_frontend b/retro_frontend index c41c473..d76e796 160000 --- a/retro_frontend +++ b/retro_frontend @@ -1 +1 @@ -Subproject commit c41c47354b5fb7212dea0a04a0248b9d3180ef30 +Subproject commit d76e7968d93eecbe90dc13ea16201ae53a095ac7 diff --git a/retro_frontend.json b/retro_frontend.json new file mode 100644 index 0000000..a557fb4 --- /dev/null +++ b/retro_frontend.json @@ -0,0 +1,7 @@ +{ + "url": "/home/repo/libretro-genode/retro_frontend", + "rev": "d76e7968d93eecbe90dc13ea16201ae53a095ac7", + "date": "2019-11-19T14:29:00+01:00", + "sha256": "0pxljxk21dihkrvdyqdq900vn72l149dmh1vfgvsbiklkwql2klh", + "fetchSubmodules": true +} diff --git a/submodules.nix b/submodules.nix new file mode 100644 index 0000000..bcb7b12 --- /dev/null +++ b/submodules.nix @@ -0,0 +1,13 @@ +# DO NOT EDIT # +let readJSON = p: with builtins; fromJSON (readFile p); in [ +{ name = "2048"; value = { smPath = "cores/2048/upstream"; prefetch = readJSON ./cores/2048/upstream.json; url = "https://github.com/ehmry/libretro-2048.git"; }; } +{ name = "bluemsx"; value = { smPath = "cores/bluemsx/upstream"; prefetch = readJSON ./cores/bluemsx/upstream.json; url = "https://github.com/ehmry/blueMSX-libretro.git"; }; } +{ name = "fceumm"; value = { smPath = "cores/fceumm/upstream"; prefetch = readJSON ./cores/fceumm/upstream.json; url = "https://github.com/libretro/libretro-fceumm.git"; }; } +{ name = "gambatte"; value = { smPath = "cores/gambatte/upstream"; prefetch = readJSON ./cores/gambatte/upstream.json; url = "https://github.com/ehmry/gambatte-libretro.git"; }; } +{ name = "mu"; value = { smPath = "cores/mu/upstream"; prefetch = readJSON ./cores/mu/upstream.json; url = "https://github.com/meepingsnesroms/Mu.git"; }; } +{ name = "nxengine"; value = { smPath = "cores/nxengine/upstream"; prefetch = readJSON ./cores/nxengine/upstream.json; url = "https://github.com/libretro/nxengine-libretro.git"; }; } +{ name = "oberon"; value = { smPath = "cores/oberon/upstream"; prefetch = readJSON ./cores/oberon/upstream.json; url = "https://github.com/ehmry/oberon-risc-emu.git"; }; } +{ name = "tyrquake"; value = { smPath = "cores/tyrquake/upstream"; prefetch = readJSON ./cores/tyrquake/upstream.json; url = "https://github.com/ehmry/tyrquake"; }; } +{ name = "libretro-common"; value = { smPath = "libretro-common"; prefetch = readJSON ./libretro-common.json; url = "https://github.com/libretro/libretro-common.git"; }; } +{ name = "retro_frontend"; value = { smPath = "retro_frontend"; prefetch = readJSON ./retro_frontend.json; url = "https://git.sr.ht/~ehmry/retro_frontend"; }; } +]