{ "version": "https://jsonfeed.org/version/1.1", "user_comment": "This feed allows you to read the posts from this site in any feed reader that supports the JSON Feed format. To add this feed to your reader, copy the following URL -- https://matoken.org/blog/tag/mastodon/feed/json -- and add it your reader.", "home_page_url": "https://matoken.org/blog/tag/mastodon", "feed_url": "https://matoken.org/blog/tag/mastodon/feed/json", "language": "ja", "title": "mastodon – matoken's blog", "description": "Is there no plan B?", "icon": "https://matoken.org/blog/wp-content/uploads/2025/03/cropped-1865f695c4eecc844385acef2f078255036adccd42c254580ea3844543ab56d9.jpeg", "items": [ { "id": "https://matoken.org/blog/?p=4557", "url": "https://matoken.org/blog/2025/05/15/i-want-to-get-trends-for-a-specific-language-with-mastodon/", "title": "Mastodon\u3067\u4efb\u610f\u306e\u8a00\u8a9e\u306e\u30c8\u30ec\u30f3\u30c9\u3092\u53d6\u5f97\u3057\u305f\u3044", "content_html": "
\n\u30bb\u30eb\u30d5\u30db\u30b9\u30c8\u30c0\u30c3\u30b7\u30e5\u30dc\u30fc\u30c9\u30a2\u30d7\u30ea\u306eGlance\u304c\u5148\u65e5v0.8.0\u304c\u30ea\u30ea\u30fc\u30b9\uff0e\u5927\u578b\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u3055\u308c\u307e\u3057\u305f\uff0e
\n\n
\u65b0\u6a5f\u80fd\u306e\u4e00\u3064\u306bCommunity widgets\u304c\u3042\u308a\u307e\u3059\uff0e\u3053\u308c\u306b\u3088\u308a\u5404\u7a2e\u306eJSON\u3067\u5e30\u3063\u3066\u304f\u308b\u30b3\u30f3\u30c6\u30f3\u30c4\u3092\u30ab\u30b9\u30bf\u30e0\u30a6\u30a3\u30b8\u30c3\u30c8\u3068\u3057\u3066\u8868\u793a\u3067\u304d\u305d\u3046\u3067\u3059\uff0ev0.8.0\u30ea\u30ea\u30fc\u30b9\u6642\u70b9\u3067\u3059\u3067\u306b40\u4ee5\u4e0a\u516c\u958b\u3055\u308c\u3066\u3044\u307e\u3059\uff0e
\n\u8a2d\u5b9a\u306fglance\u306eyaml\u306b\u66f8\u304f\u3060\u3051\u3067\u3059\uff0e
\u3053\u306e\u4e2d\u306eMastodon\u306e\u30c8\u30ec\u30f3\u30c9\u3092\u8868\u793a\u3059\u308b\u3082\u306e\u304c\u3042\u308a\u307e\u3057\u305f\uff0e
\n\u624b\u5143\u306e\u30a6\u30a7\u30d6\u30d6\u30e9\u30a6\u30b6\u3060\u3068\u65e5\u672c\u8a9e\u306e\u30b3\u30f3\u30c6\u30f3\u30c4\u304c\u8868\u793a\u3055\u308c\u308b\u306e\u306b\u3053\u306e\u30a6\u30a3\u30b8\u30c3\u30c8\u3060\u3068\u82f1\u8a9e\u306e\u3082\u306e\u306b\u306a\u308a\u307e\u3059\uff0e
\n\u6b21\u306eAPI\u3092\u5229\u7528\u3057\u3066\u3044\u308b\u3088\u3046\u3067\u3059\uff0eget\u306a\u3093\u304b\u3067lang=ja\u306e\u3088\u3046\u306b\u6307\u5b9a\u3067\u304d\u308b\u3068\u4fbf\u5229\u305d\u3046\u3067\u3059\u304c\u8a00\u8a9e\u9078\u629e\u306f\u306a\u3055\u305d\u3046\u3067\u3059\uff0e
curl\u3067\u53e9\u304f\u3068\u82f1\u8a9e\u306b\uff0e
\n$ curl -s https://mastodon.social/api/v1/trends/links | jq . | head\n[\n {\n \"url\": \"https://arstechnica.com/tech-policy/2025/05/meta-is-making-users-who-opted-out-of-ai-training-opt-out-again-watchdog-says/\",\n \"title\": \"Meta is making users who opted out of AI training opt out again, watchdog says\",\n \"description\": \"EU users have less than two weeks to opt out of Meta\u2019s AI training.\",\n \"language\": \"en\",\n \"type\": \"link\",\n \"author_name\": \"Ashley Belanger\",\n \"author_url\": \"https://arstechnica.com/author/ashleybelanger/\",\n \"provider_name\": \"Ars Technica\",\nAccept-Language \u3067 ja \u3092\u6307\u5b9a\u3059\u308b\u3068\u65e5\u672c\u8a9e\u306b
\n$ curl -s -H 'Accept-Language: ja' https://mastodon.social/api/v1/trends/links | jq . | head\n[\n {\n \"url\": \"https://www.cnn.co.jp/fringe/35232941.html\",\n \"title\": \"\u9577\u6642\u9593\u52e4\u52d9\u3067\u8133\u306e\u69cb\u9020\u304c\u5909\u5316\u3001\u8a8d\u77e5\u3084\u611f\u60c5\u5236\u5fa1\u306b\u5f71\u97ff\u3082\u3000\u97d3\u56fd\u8abf\u67fb\",\n \"description\": \"\u9577\u6642\u9593\u52e4\u52d9\u304c\u7d9a\u304f\u3068\u8133\u306e\u69cb\u9020\u304c\u5909\u5316\u3057\u3066\u3001\u8a8d\u77e5\u6a5f\u80fd\u3084\u611f\u60c5\u5236\u5fa1\u306b\u5f71\u97ff\u3092\u53ca\u307c\u3059\u6050\u308c\u304c\u3042\u308b\u3068\u3044\u3046\u7814\u7a76\u7d50\u679c\u304c\u3001\uff11\uff13\u65e5\u306e\u533b\u5b66\u8a8c\u306b\u767a\u8868\u3055\u308c\u305f\u3002\u50cd\u304d\u904e\u304e\u308b\u3068\u8eab\u4f53\u7684\u3001\u7cbe\u795e\u7684\u306a\u7121\u7406\u304c\u91cd\u306a\u308a\u3001\u4f11\u990a\u4e0d\u8db3\u3082\u52a0\u308f\u3063\u3066\u8133\u306b\n \u91cd\u5927\u306a\u5909\u5316\u300d\u304c\u8d77\u304d\u308b\u3068\u6307\u6458\u3057\u3066\u3044\u308b\u3002\",\n \"language\": \"ja\",\n \"type\": \"link\",\n \"author_name\": \"\u7ffb\u8a33\uff1aCNN.co.jp\u7de8\u96c6\u90e8\",\n \"author_url\": \"\",\n \"provider_name\": \"CNN.co.jp\",\nAccept-Language \u3067 fr \u3092\u6307\u5b9a\u3059\u308b\u3068\u30d5\u30e9\u30f3\u30b9\u8a9e\u306b\u306a\u308a\u307e\u3057\u305f\uff0e
\n$ curl -s -H 'Accept-Language: fr' https://mastodon.social/api/v1/trends/links | jq . | head\n[\n {\n \"url\": \"https://www.huffingtonpost.fr/justice/article/la-justice-prend-une-decision-inedite-pour-une-personne-trans-en-france_250035.html\",\n \"title\": \"La justice prend une d\u00e9cision \u00ab\u00a0in\u00e9dite\u00a0\u00bb pour une personne trans en France\",\n \"description\": \"Un homme trans, qui contestait en\u00a0justice\u00a0le refus de CPAM du Bas-Rhin\u00a0de prendre en\u00a0charge\u00a0sa mastectomie, a obtenu gain de cause au\u00a0tribunal\u00a0de Strasbourg.\",\n \"language\": \"fr\",\n \"type\": \"link\",\n \"author_name\": \"\u00c9va Craine\",\n \"author_url\": \"https://www.huffingtonpost.fr/author/eva-craine\",\n \"provider_name\": \"Le HuffPost\",\n\u3068\u3044\u3046\u3053\u3068\u3067\u3053\u306e\u3042\u305f\u308a\u3092\u898b\u3066\u5224\u65ad\u3057\u3066\u3044\u305d\u3046\u3067\u3059\uff0eGlance\u5074\u3067\u65e5\u672c\u8a9e\u3092\u8868\u793a\u3059\u308b\u306b\u306f\u672c\u4f53\u306esource\u3092\u4fee\u6b63\u3057\u306a\u3044\u3068\u3044\u3051\u306a\u3055\u305d\u3046\u3067\u3059\uff0e
\nCLI Mastodon client\u306enanotodon 0.5.0\u304c\u30ea\u30ea\u30fc\u30b9\u3055\u308c\u307e\u3057\u305f\uff0e
\nSixel\u5bfe\u5fdc\u306e\u3088\u3046\u3067\u3059\uff0e
\n\n\n\n
\n- Sixel\u304c\u3042\u308b\u7a0b\u5ea6\u52d5\u304f\u3088\u3046\u306b\u306a\u3063\u305f
\nSixel\u306e\u3064\u304b\u3044\u304b\u305f
\nMakefile\u3092\u898b\u3066\u306d\uff01
\n
\n
\u3068\u3044\u3046\u3053\u3068\u3067Release\u304b\u3089source archive\u3092\u5165\u624b\u3057\u305f\u308a\uff0cgit clone\u3057\u3066Makefile\u3092\u898b\u3066\u307f\u307e\u3059\uff0e
\n$ wget2 -c -v https://github.com/taka-tuos/nanotodon/archive/refs/tags/0.5.0.tar.gz\n$ tar tvf 0.5.0.tar.gz\n$ cd nanotodon-0.5.0\n
or
\n$ git clone https://github.com/taka-tuos/nanotodon\n$ cd nanotodon\n$ git checkout -b 0.5.0\n
Sixel\u5bfe\u5fdc\u306e\u305f\u3081\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u7de8\u96c6\u3057\u307e\u3057\u305f\uff0e(Webp\u306f\u30aa\u30d7\u30b7\u30e7\u30f3)
\n$ git diff Makefile\ndiff --git a/Makefile b/Makefile\nindex 6332820..238c2ed 100644\n--- a/Makefile\n+++ b/Makefile\n@@ -10,11 +10,11 @@ LDLIBS += -lcurl -lpthread -lm\n CFLAGS += -DSUPPORT_XDG_BASE_DIR\n\n # EXPERIMENTAL: sixel support\n-#CFLAGS += -DUSE_SIXEL\n+CFLAGS += -DUSE_SIXEL\n\n # EXPERIMENTAL: webp support\n-#CFLAGS += -DUSE_WEBP\n-#LDLIBS += -lwebp\n+CFLAGS += -DUSE_WEBP\n+LDLIBS += -lwebp\n\n # for pkgsrc\n #CFLAGS += -I/usr/pkg/include\n
| \n Note \n | \n\n \n \nwebp\u3092\u7121\u52b9\u306b\u3059\u308b\u3068webp\u5f62\u5f0f\u306e\u753b\u50cf\u306e\u8868\u793a\u306b\u5931\u6557\u3057\u307e\u3059\uff0e\u753b\u50cf\u306f\u4ee5\u4e0b\u306e\u3082\u306e\u306b\u5dee\u3057\u66ff\u3048\u3089\u308c\u307e\u3057\u305f\uff0e\u7d50\u69cbwebp\u306f\u591a\u3044\u306e\u3067\u6709\u52b9\u306b\u3057\u305f\u307b\u3046\u304c\u826f\u3055\u305d\u3046\u3067\u3059\uff0e \n\n \n
\n\n \n | \n
build\u3057\u307e\u3059\uff0e
\n$ make\n
\u305d\u3057\u3066nanotodon\u3092\u5b9f\u884c\uff0e
\n$ ./nanotodon\n
\u30a2\u30a4\u30b3\u30f3\u3084\u6dfb\u4ed8\u753b\u50cf\u304cSixel\u3067\u8868\u793a\u3055\u308c\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f :)
\n
Sixel\u5bfe\u5fdc\u7aef\u672b\u306b\u3064\u3044\u3066\u306f\u4ee5\u4e0b\u306e\u30da\u30fc\u30b8\u304c\u53c2\u8003\u306b\u306a\u308a\u307e\u3059\uff0e
\n\u4eca\u56de\u306fmlterm\u306e\u4e0a\u3067tmux\u3092\u52d5\u304b\u3057\uff0c\u305d\u306e\u4e0a\u3067nanotodon\u3092\u52d5\u304b\u3057\u307e\u3057\u305f\uff0e
\n\u4ee5\u4e0b\u306ftmux\u306e\u4e0a\u306e\u7a93\u3067nanotodon\uff0c\u4e0b\u306e\u7a93\u3067sayaka\u3067Misskey\u3092\u8868\u793a\u3057\u3066\u3044\u307e\u3059\uff0e

\u697d\u3057\u3044\u3067\u3059 :)
\n$ dpkg-query -W make gcc libcurl4t64 libblis64-4-pthread\ngcc 4:14.2.0-1\nlibblis64-4-pthread:amd64 1.0-1+b1\nlibcurl4t64:amd64 8.11.1-1\nmake 4.4.1-1\n$ lsb_release -dr\nDescription: Debian GNU/Linux trixie/sid\nRelease: n/a\n$ arch\nx86_64\n
mikutodon\u3092Debian jessie armhf\u306b\u5165\u308c\u3066\u307f\u305f\uff0eMakefile\u3092\u4fee\u6b63\u3057\u305f\u3089\u52d5\u3044\u305f\u3051\u3069\u6587\u5b57\u5316\u3051\u3059\u308b\uff0e\u3061\u306a\u307f\u306bDebian sid amd64\u3067\u306f\u554f\u984c\u306a\u304f\u52d5\u4f5c\u3057\u305f\uff0e
\n\n$ cat /etc/debian_version \r\n8.10\r\n$ uname -m\r\narmv7l\r\n\n$ sudo apt install build-essential libcurl4-openssl-dev libjson-c-dev libncurses-dev libncursesw5\r\n$ dpkg-query -W build-essential libcurl4-openssl-dev libjson-c-dev libncurses-dev libncursesw5\r\nbuild-essential 11.7\r\nlibcurl4-openssl-dev:armhf 7.38.0-4+deb8u11\r\nlibjson-c-dev:armhf 0.11-4\r\nlibncurses-dev \r\nlibncursesw5:armhf 5.9+20140913-1+deb8u2\r\n\n\uff1c\u8ffd\u8a18\uff1e
\n\u5165\u3063\u3066\u306a\u3044\u5834\u5408git\u3082\u5fc5\u8981\u3067\u3059\u306d $ sudo apt install git
\n\uff1c\uff0f\u8ffd\u8a18\uff1e
source\u5165\u624b
\n$ git clone https://github.com/taka-tuos/nanotodon\r\n\n\u30b3\u30b1\u305f
\n$ cd nanotodon\r\n$ make\r\nmake -r nanotodon\r\nmake[1]: Entering directory '/home/chip/src/nanotodon'\r\ngcc -c -g -o nanotodon.o nanotodon.c\r\nnanotodon.c: In function 'stream_event_notify':\r\nnanotodon.c:110:12: warning: initialization discards 'const' qualifier from pointer target type\r\n char *t = json_object_get_string(notify_type);\r\n ^\r\nnanotodon.c: At top level:\r\nnanotodon.c:138:6: warning: conflicting types for 'stream_event_update'\r\n void stream_event_update(struct json_object *jobj_from_string)\r\n ^\r\nnanotodon.c:128:3: note: previous implicit declaration of 'stream_event_update' was here\r\n stream_event_update(status);\r\n ^\r\nnanotodon.c: In function 'stream_event_update':\r\nnanotodon.c:180:14: warning: initialization discards 'const' qualifier from pointer target type\r\n char *src = json_object_get_string(content);\r\n ^\r\nnanotodon.c:226:3: error: 'for' loop initial declarations are only allowed in C99 or C11 mode\r\n for (int i = 0; i < json_object_array_length(media_attachments); ++i) {\r\n ^\r\nnanotodon.c:226:3: note: use option -std=c99, -std=gnu99, -std=c11 or -std=gnu11 to compile your code\r\nnanotodon.c:245:3: error: 'for' loop initial declarations are only allowed in C99 or C11 mode\r\n for(int i = 0; i < term_w - (l + 4); i++) waddstr(scr, " ");\r\n ^\r\nnanotodon.c: At top level:\r\nnanotodon.c:589:6: warning: conflicting types for 'do_htl'\r\n void do_htl()\r\n ^\r\nnanotodon.c:303:2: note: previous implicit declaration of 'do_htl' was here\r\n do_htl();\r\n ^\r\nnanotodon.c: In function 'do_htl':\r\nnanotodon.c:618:3: error: 'for' loop initial declarations are only allowed in C99 or C11 mode\r\n for (int i = json_object_array_length(jobj_from_string) - 1; i >= 0; i--) {\r\n ^\r\nnanotodon.c: In function 'main':\r\nnanotodon.c:751:2: error: 'for' loop initial declarations are only allowed in C99 or C11 mode\r\n for(int i = 0; i < term_w; i++) mvaddch(5, i, '-');\r\n ^\r\nnanotodon.c:777:4: error: 'for' loop initial declarations are only allowed in C99 or C11 mode\r\n for(int i = 0; i < term_w; i++) mvaddch(5, i, '-');\r\n ^\r\nnanotodon.c:802:3: error: 'for' loop initial declarations are only allowed in C99 or C11 mode\r\n for(int i = 0; i < txt.stringlen; i++) {\r\n ^\r\nMakefile.in:21: recipe for target 'nanotodon.o' failed\r\nmake[1]: *** [nanotodon.o] Error 1\r\nmake[1]: Leaving directory '/home/chip/src/nanotodon'\r\nMakefile.in:11: recipe for target 'default' failed\r\nmake: *** [default] Error 2\r\n\nMakefile\u3092\u4fee\u6b63\u3057\u305f\u3089\u901a\u3063\u305f
\ndiff --git a/Makefile b/Makefile\r\nindex ac1828f..a35ee6a 100644\r\n--- a/Makefile\r\n+++ b/Makefile\r\n@@ -1,7 +1,7 @@\r\n TARGET = nanotodon\r\n OBJS_TARGET = nanotodon.o\r\n \r\n-CFLAGS = -g\r\n+CFLAGS = -g -std=gnu99\r\n LDFLAGS = \r\n LIBS = -lc -lm -lcurl -ljson-c -lncursesw -lpthread\r\n \r\n\n\u6587\u5b57\u5316\u3051><
\n\nDebian sid amd64\u3067\u306fMakefile\u306e\u66f8\u304d\u63db\u3048\u3082\u5fc5\u8981\u306a\u304f\u6587\u5b57\u5316\u3051\u3082\u3057\u306a\u3044\uff0e
\n\n$ cat /etc/debian_version \r\nbuster/sid\r\n$ uname -m\r\nx86_64\r\n$ dpkg-query -W build-essential libcurl4-openssl-dev libjson-c-dev libncurses-dev libncursesw5\r\nbuild-essential 12.5\r\nlibcurl4-openssl-dev:amd64 7.60.0-1\r\nlibjson-c-dev:amd64 0.12.1-1.3\r\nlibncurses-dev:amd64 6.1+20180210-3\r\nlibncursesw5:amd64 6.1+20180210-3\r\n\n",
"content_text": "mikutodon\u3092Debian jessie armhf\u306b\u5165\u308c\u3066\u307f\u305f\uff0eMakefile\u3092\u4fee\u6b63\u3057\u305f\u3089\u52d5\u3044\u305f\u3051\u3069\u6587\u5b57\u5316\u3051\u3059\u308b\uff0e\u3061\u306a\u307f\u306bDebian sid amd64\u3067\u306f\u554f\u984c\u306a\u304f\u52d5\u4f5c\u3057\u305f\uff0e\n\ntaka-tuos/nanotodon: CUI/C99 mastodon\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u3000\u203b\u30b3\u30fc\u30c9\u304c\u30ab\u30aa\u30b9\u3067\u3059\n\n$ cat /etc/debian_version \r\n8.10\r\n$ uname -m\r\narmv7l\r\n\n\u30e9\u30a4\u30d6\u30e9\u30ea\u7b49\u5c0e\u5165\n$ sudo apt install build-essential libcurl4-openssl-dev libjson-c-dev libncurses-dev libncursesw5\r\n$ dpkg-query -W build-essential libcurl4-openssl-dev libjson-c-dev libncurses-dev libncursesw5\r\nbuild-essential 11.7\r\nlibcurl4-openssl-dev:armhf 7.38.0-4+deb8u11\r\nlibjson-c-dev:armhf 0.11-4\r\nlibncurses-dev \r\nlibncursesw5:armhf 5.9+20140913-1+deb8u2\r\n\n\uff1c\u8ffd\u8a18\uff1e\n\u5165\u3063\u3066\u306a\u3044\u5834\u5408git\u3082\u5fc5\u8981\u3067\u3059\u306d $ sudo apt install git\n\uff1c\uff0f\u8ffd\u8a18\uff1e\nsource\u5165\u624b\n$ git clone https://github.com/taka-tuos/nanotodon\r\n\nmake\n\u30b3\u30b1\u305f\n$ cd nanotodon\r\n$ make\r\nmake -r nanotodon\r\nmake[1]: Entering directory '/home/chip/src/nanotodon'\r\ngcc -c -g -o nanotodon.o nanotodon.c\r\nnanotodon.c: In function 'stream_event_notify':\r\nnanotodon.c:110:12: warning: initialization discards 'const' qualifier from pointer target type\r\n char *t = json_object_get_string(notify_type);\r\n ^\r\nnanotodon.c: At top level:\r\nnanotodon.c:138:6: warning: conflicting types for 'stream_event_update'\r\n void stream_event_update(struct json_object *jobj_from_string)\r\n ^\r\nnanotodon.c:128:3: note: previous implicit declaration of 'stream_event_update' was here\r\n stream_event_update(status);\r\n ^\r\nnanotodon.c: In function 'stream_event_update':\r\nnanotodon.c:180:14: warning: initialization discards 'const' qualifier from pointer target type\r\n char *src = json_object_get_string(content);\r\n ^\r\nnanotodon.c:226:3: error: 'for' loop initial declarations are only allowed in C99 or C11 mode\r\n for (int i = 0; i < json_object_array_length(media_attachments); ++i) {\r\n ^\r\nnanotodon.c:226:3: note: use option -std=c99, -std=gnu99, -std=c11 or -std=gnu11 to compile your code\r\nnanotodon.c:245:3: error: 'for' loop initial declarations are only allowed in C99 or C11 mode\r\n for(int i = 0; i < term_w - (l + 4); i++) waddstr(scr, " ");\r\n ^\r\nnanotodon.c: At top level:\r\nnanotodon.c:589:6: warning: conflicting types for 'do_htl'\r\n void do_htl()\r\n ^\r\nnanotodon.c:303:2: note: previous implicit declaration of 'do_htl' was here\r\n do_htl();\r\n ^\r\nnanotodon.c: In function 'do_htl':\r\nnanotodon.c:618:3: error: 'for' loop initial declarations are only allowed in C99 or C11 mode\r\n for (int i = json_object_array_length(jobj_from_string) - 1; i >= 0; i--) {\r\n ^\r\nnanotodon.c: In function 'main':\r\nnanotodon.c:751:2: error: 'for' loop initial declarations are only allowed in C99 or C11 mode\r\n for(int i = 0; i < term_w; i++) mvaddch(5, i, '-');\r\n ^\r\nnanotodon.c:777:4: error: 'for' loop initial declarations are only allowed in C99 or C11 mode\r\n for(int i = 0; i < term_w; i++) mvaddch(5, i, '-');\r\n ^\r\nnanotodon.c:802:3: error: 'for' loop initial declarations are only allowed in C99 or C11 mode\r\n for(int i = 0; i < txt.stringlen; i++) {\r\n ^\r\nMakefile.in:21: recipe for target 'nanotodon.o' failed\r\nmake[1]: *** [nanotodon.o] Error 1\r\nmake[1]: Leaving directory '/home/chip/src/nanotodon'\r\nMakefile.in:11: recipe for target 'default' failed\r\nmake: *** [default] Error 2\r\n\nMakefile\u3092\u4fee\u6b63\u3057\u305f\u3089\u901a\u3063\u305f\ndiff --git a/Makefile b/Makefile\r\nindex ac1828f..a35ee6a 100644\r\n--- a/Makefile\r\n+++ b/Makefile\r\n@@ -1,7 +1,7 @@\r\n TARGET = nanotodon\r\n OBJS_TARGET = nanotodon.o\r\n \r\n-CFLAGS = -g\r\n+CFLAGS = -g -std=gnu99\r\n LDFLAGS = \r\n LIBS = -lc -lm -lcurl -ljson-c -lncursesw -lpthread\r\n \r\n\n\u6587\u5b57\u5316\u3051><\n\nDebian sid amd64\u3067\u306fMakefile\u306e\u66f8\u304d\u63db\u3048\u3082\u5fc5\u8981\u306a\u304f\u6587\u5b57\u5316\u3051\u3082\u3057\u306a\u3044\uff0e\n\n$ cat /etc/debian_version \r\nbuster/sid\r\n$ uname -m\r\nx86_64\r\n$ dpkg-query -W build-essential libcurl4-openssl-dev libjson-c-dev libncurses-dev libncursesw5\r\nbuild-essential 12.5\r\nlibcurl4-openssl-dev:amd64 7.60.0-1\r\nlibjson-c-dev:amd64 0.12.1-1.3\r\nlibncurses-dev:amd64 6.1+20180210-3\r\nlibncursesw5:amd64 6.1+20180210-3",
"date_published": "2018-05-21T20:15:51+09:00",
"date_modified": "2018-05-22T00:11:57+09:00",
"authors": [
{
"name": "matoken",
"url": "https://matoken.org/blog/author/matoken/",
"avatar": "https://secure.gravatar.com/avatar/1865f695c4eecc844385acef2f078255036adccd42c254580ea3844543ab56d9?s=512&d=mm&r=g"
}
],
"author": {
"name": "matoken",
"url": "https://matoken.org/blog/author/matoken/",
"avatar": "https://secure.gravatar.com/avatar/1865f695c4eecc844385acef2f078255036adccd42c254580ea3844543ab56d9?s=512&d=mm&r=g"
},
"tags": [
"armhf",
"mastodon",
"nanotodon",
"Debian",
"jessie",
"Linux",
"sid"
]
}
]
}