Plant sapling
This commit is contained in:
commit
f422c8b976
8 changed files with 168 additions and 0 deletions
15
.gitignore
vendored
Normal file
15
.gitignore
vendored
Normal file
|
@ -0,0 +1,15 @@
|
|||
/patches/000_plant-a-forest.patch
|
||||
|
||||
# build artefacts
|
||||
/*.stamp
|
||||
|
||||
# editor stuff
|
||||
*.swp
|
||||
*.bak
|
||||
*.old
|
||||
*.orig
|
||||
~*
|
||||
|
||||
# temporary files
|
||||
tmp_*
|
||||
*.tmp
|
4
.gitmodules
vendored
Normal file
4
.gitmodules
vendored
Normal file
|
@ -0,0 +1,4 @@
|
|||
[submodule "akkoma"]
|
||||
path = akkoma
|
||||
url = https://akkoma.dev/AkkomagAng/akkoma.git
|
||||
branch = develop
|
80
Makefile
Normal file
80
Makefile
Normal file
|
@ -0,0 +1,80 @@
|
|||
# Requires GNU Make
|
||||
export LC_ALL = C.UTF-8
|
||||
export PLEROMA_BUILD_BRANCH = $(shell git rev-parse --abbrev-ref HEAD)
|
||||
|
||||
QUILT ::= quilt --quiltrc ../quiltrc
|
||||
|
||||
|
||||
.PHONY: patch
|
||||
patch: patch.stamp
|
||||
|
||||
|
||||
GIT_HASH ::= $(shell git rev-parse --short=8 HEAD)
|
||||
GIT_HASH_OLD ::= $(shell cat git.stamp 2>/dev/null || :)
|
||||
ifneq ($(GIT_HASH), $(GIT_HASH_OLD))
|
||||
.PHONY: git.stamp
|
||||
endif
|
||||
git.stamp:
|
||||
@echo "Collecting buld info"
|
||||
@echo $(GIT_HASH) > $@
|
||||
|
||||
patches/000_plant-a-forest.patch: patches/000_plant-a-forest.patch.in git.stamp
|
||||
@echo "Encoding build info"
|
||||
@number="$$(git rev-list --count HEAD)" && \
|
||||
hash="$$(git rev-parse --short=8 HEAD)" && \
|
||||
sed -e 's/%COMMIT_NUMBER%/'"$$number"'/g' \
|
||||
-e 's/%COMMIT_HASH%/'"$$hash"'/g' \
|
||||
$< > $@
|
||||
|
||||
submodule.stamp:
|
||||
@echo "Ensure submodule is up-to-date"
|
||||
@if [ ! -f akkoma/.git ] || \
|
||||
[ ! -f $@ ] || \
|
||||
git submodule status akkoma | grep -qE '^\+' ; then \
|
||||
git submodule sync && \
|
||||
git submodule update --init && \
|
||||
touch $@ ; \
|
||||
fi
|
||||
|
||||
patch.stamp: submodule.stamp patches/series patches/000_plant-a-forest.patch $(wildcard patches/*.patch)
|
||||
@echo "Applying patches"
|
||||
@# `pop -a` return 2 if currently no patches applied, thus ignore exit code
|
||||
@cd akkoma && \
|
||||
$(QUILT) pop -qfa; \
|
||||
$(QUILT) push -a
|
||||
@touch $@
|
||||
|
||||
|
||||
# cleaning
|
||||
.PHONY: clean
|
||||
clean:
|
||||
rm -f *.stamp
|
||||
rm -f patches/000_plant-a-forest.patch
|
||||
|
||||
.PHONY: reset
|
||||
reset: clean
|
||||
rm -fr akkoma/
|
||||
|
||||
|
||||
# mix command proxies
|
||||
.PHONY: build
|
||||
build: patch
|
||||
cd akkoma && \
|
||||
mix deps.get && \
|
||||
mix deps.compile && \
|
||||
mix compile
|
||||
|
||||
.PHONY: compile
|
||||
compile: patch
|
||||
cd akkoma && \
|
||||
mix compile
|
||||
|
||||
.PHONY: migrate
|
||||
migrate: patch
|
||||
cd akkoma && \
|
||||
mix ecto.migrate
|
||||
|
||||
.PHONY: server
|
||||
server: patch
|
||||
cd akkoma && \
|
||||
mix phx.server
|
34
README.md
Normal file
34
README.md
Normal file
|
@ -0,0 +1,34 @@
|
|||
# Akkoma: Whimsical Forest Edition
|
||||
|
||||
This is [upstream Akkoma `develop`](https://akkoma.dev/AkkomaGang/akkoma/src/branch/develop)
|
||||
with some additional patches for testing.
|
||||
|
||||
All patches (sans the initial wf-ifying one) are intended to reach upstream
|
||||
eventually and either already have an upstream PR or are intended to be turned
|
||||
into one once they’ve passed initial testing and became more stable.
|
||||
|
||||
See `patches/series` for a list of applied changes.
|
||||
Patch names beginning with `pr111_` indicate it’s copied from upstream PR `#111`;
|
||||
`wip_` is used for patches not yet ready for an upstream PR.
|
||||
|
||||
## Usage
|
||||
|
||||
You’re free to use this for your own instance but keep in mind some of those
|
||||
patches are experimental and might not yet have been merged for a good reason.
|
||||
Thus you should only do this if you’re comfortable with doing beta testing and
|
||||
capable of debugging upcoming issues on your own far enought to figure out
|
||||
which patch introduces the problem and create a useful, detailed report for
|
||||
the corresponding upstream PR.
|
||||
If a patch changes its database scheme prior to being merged upstream,
|
||||
some manual DB fixups might be needed.
|
||||
|
||||
|
||||
If you still want to, just clone this repo and run:
|
||||
|
||||
```sh
|
||||
MIX_ENV=prod make build
|
||||
```
|
||||
|
||||
to build patched Akkoma WF Edition inside the `akkoma/` subdir.
|
||||
You can then continue to use Akkoma from within this subdir as usual.
|
||||
To upgrade to a new version, just repeat the above command.
|
1
akkoma
Submodule
1
akkoma
Submodule
|
@ -0,0 +1 @@
|
|||
Subproject commit 3c72b48a05921b00e201965ad22b751c5d46bcdf
|
26
patches/000_plant-a-forest.patch.in
Normal file
26
patches/000_plant-a-forest.patch.in
Normal file
|
@ -0,0 +1,26 @@
|
|||
From: Oneric <oneric@oneric.stub>
|
||||
Subject: [PATCH] Prepare for Whimsical Forest patches
|
||||
|
||||
---
|
||||
mix.exs | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/mix.exs b/mix.exs
|
||||
index 7ffc450e2..1aaf7764a 100644
|
||||
--- a/mix.exs
|
||||
+++ b/mix.exs
|
||||
@@ -256,6 +256,12 @@ defp version(version) do
|
||||
|
||||
# Pre-release version, denoted from patch version with a hyphen
|
||||
cond do
|
||||
+ commit_hash_err == 0 ->
|
||||
+ "wf-%COMMIT_NUMBER%-g%COMMIT_HASH%-u" <> commit_hash
|
||||
+
|
||||
+ true ->
|
||||
+ "wf-%COMMIT_NUMBER%-g%COMMIT_HASH%"
|
||||
+
|
||||
tag_err == 0 and describe_err == 0 ->
|
||||
describe
|
||||
|> String.trim()
|
||||
--
|
||||
2.39.5
|
1
patches/series
Normal file
1
patches/series
Normal file
|
@ -0,0 +1 @@
|
|||
000_plant-a-forest.patch
|
7
quiltrc
Normal file
7
quiltrc
Normal file
|
@ -0,0 +1,7 @@
|
|||
QUILT_PATCHES=../patches
|
||||
QUILT_NO_DIFF_INDEX=1
|
||||
QUILT_NO_DIFF_TIMESTAMPS=1
|
||||
QUILT_REFRESH_ARGS="-p ab"
|
||||
QUILT_DIFF_ARGS="--color=auto"
|
||||
QUILT_PATCH_OPTS="--reject-format=unified"
|
||||
QUILT_COLORS="diff_hdr=1;32:diff_add=1;34:diff_rem=1;31:diff_hunk=1;33:diff_ctx=35:diff_cctx=33"
|
Loading…
Reference in a new issue