[dev] Build system: redo

2012-07-15 Thread Prakhar Goel
I propose adding redo to the list of software that rocks. It'll also give you a nice incremental build system to use. Info here: http://apenwarr.ca/log/?m=201012#14 Github page: https://github.com/apenwarr/redo Actually, pretty much all of DJBs software (daemontools, qmail, djbdns, etc...) could

Re: [dev] Build system: redo

2012-07-15 Thread Christoph Lohmann
Greetings. On Sun, 15 Jul 2012 15:49:08 +0200 Prakhar Goel wrote: > I propose adding redo to the list of software that rocks. It'll also > give you a nice incremental build system to use. > > Info here: http://apenwarr.ca/log/?m=201012#14 It's Python. No. > Actually, pretty much all of DJBs so

Re: [dev] Build system: redo

2012-07-15 Thread Guillaume Quintin
Hi, I am far far from being an expert of make and so can you explain to me why/how - is the parallelism better? - can it build LaTeX document better (than make)? (``no baked-in assumptions about what you're building;") - are checksums better? Guillaume. 2012/7/15, Christoph Lohmann <2...@r-36.

Re: [dev] Build system: redo

2012-07-15 Thread Anselm R Garbe
On 15 July 2012 15:28, Prakhar Goel wrote: > I propose adding redo to the list of software that rocks. It'll also > give you a nice incremental build system to use. > > Info here: http://apenwarr.ca/log/?m=201012#14 The holy make replacement is already there: http://man.suckless.org/9base/mk

Re: [dev] Build system: redo

2012-07-15 Thread Andreas Wagner
Mk is just a cleaned up version of make. In contrast, the implementations of redo itself and build files written for it are much simpler. Redo also improves on correctness. Check this out: http://cr.yp.to/redo.html I like redo, but I do think it should have been implemented in C from the start.

Re: [dev] Build system: redo

2012-07-15 Thread Stephen Weber
> I propose adding redo to the list of software that rocks. I love redo as a tool (mostly because I love sh), though I can't say I've read through the code and suckless is more about good, short, hackzble code than usefulness as a tool :)

Re: [dev] Build system: redo

2012-07-15 Thread Connor Lane Smith
On 15 July 2012 18:54, Andreas Wagner wrote: > Mk is just a cleaned up version of make. In contrast, the implementations of > redo itself and build files written for it are much simpler. Redo also > improves on correctness. > > Check this out: http://cr.yp.to/redo.html > > I like redo, but I do th

Re: [dev] Build system: redo

2012-07-15 Thread Prakhar Goel
To all the people complaining about python: there is a minimal version which is ~250 lines of sh. You loose a few things like incremental builds but the core build system is still available. -- Warm Regards Prakhar Goel LinkedIn Profile: http://www.linkedin.com/in/newt0311

Re: [dev] Build system: redo

2012-07-15 Thread Prakhar Goel
Guillaume, Redo will do the same things that make did but better. It'll let you automate the processing of your latex files but you can write the processing code in sh (or any other language of your choosing). If the underlying files change (and your build scripts correctly declare the dependencie

Re: [dev] Build system: redo

2012-07-15 Thread Kurt H Maier
On Sun, Jul 15, 2012 at 06:53:38PM -0400, Prakhar Goel wrote: > > Redo will do the same things that make did but better. I think make does the "not be written in fucking python" thing better. Do you have a patch that addresses this? Thanks, Kurt

Re: [dev] Build system: redo

2012-07-15 Thread Prakhar Goel
See my earlier reply concerning the minimal branch. -- Warm Regards Prakhar Goel LinkedIn Profile: http://www.linkedin.com/in/newt0311

Re: [dev] Build system: redo

2012-07-15 Thread Jacob Todd
Mk shares no code from make. On Jul 15, 2012 1:54 PM, "Andreas Wagner" wrote: > Mk is just a cleaned up version of make. In contrast, the implementations > of redo itself and build files written for it are much simpler. Redo also > improves on correctness. > > Check this out: http://cr.yp.to/redo

Re: [dev] Build system: redo

2012-07-15 Thread Prakhar Goel
On Sun, Jul 15, 2012 at 7:28 PM, Jacob Todd wrote: > Mk shares no code from make. > [snip] So? -- Warm Regards Prakhar Goel LinkedIn Profile: http://www.linkedin.com/in/newt0311

Re: [dev] Build system: redo

2012-07-15 Thread Kurt H Maier
On Sun, Jul 15, 2012 at 07:42:06PM -0400, Prakhar Goel wrote: > > So? So mk is a cleaned up make and redo isn't? Not buying it.

Re: [dev] Build system: redo

2012-07-15 Thread Andreas Wagner
The design, not the code. "Make" refers to the default make on a system which could be GNU Make, BSD Make or whatever. Typically "make" does not refer to a codebase except maybe the make from UNIX which few have actually used. On Jul 15, 2012 7:58 PM, "Kurt H Maier" wrote: > On Sun, Jul 15, 2012

Re: [dev] Build system: redo

2012-07-15 Thread Kurt H Maier
On Sun, Jul 15, 2012 at 08:14:12PM -0400, Andreas Wagner wrote: > The design, not the code. "Make" refers to the default make on a system > which could be GNU Make, BSD Make or whatever. Typically "make" does not > refer to a codebase except maybe the make from UNIX which few have actually > used.

Re: [dev] Build system: redo

2012-07-15 Thread Andrew Hills
On Sun, Jul 15, 2012 at 8:43 PM, Kurt H Maier wrote: > none of which indicates mk is any more similar to make than redo To actually answer your question, mk-files resemble Makefiles more than whatever redo is using. --Andrew Hills

Re: [dev] Build system: redo

2012-08-01 Thread Uriel
On Sun, Jul 15, 2012 at 3:28 PM, Prakhar Goel wrote: > I propose adding redo to the list of software that rocks. It'll also > give you a nice incremental build system to use. I like the design, but unless you rewrite it in C or Go it is not worth taking seriously. Uriel > > Info here: http://a

Re: [dev] Build system: redo

2012-08-01 Thread pancake
Anyone checked my cake? http://hg.youterm.com/cake On Aug 1, 2012, at 14:52, Uriel wrote: > On Sun, Jul 15, 2012 at 3:28 PM, Prakhar Goel wrote: >> I propose adding redo to the list of software that rocks. It'll also >> give you a nice incremental build system to use. > > I like the design, b

Re: [dev] Build system: redo

2012-08-01 Thread Kai Hendry
On 1 August 2012 16:48, pancake wrote: > Anyone checked my cake? > http://hg.youterm.com/cake What's your take on tup? http://gittup.org/building-firefox-with-tup.html

Re: [dev] Build system: redo

2012-08-01 Thread pancake
Tup is cool but i find it quite bloated to depend on sqlite. And requires to rebuild the cache for every new file. Apart from that the rules looks good and graph theory makes the papers cool. I had some issues trying to port r2 from makefiles to tupfiles so i end up keeping the good old makefil

Re: [dev] Build system: redo

2012-08-02 Thread Truls Becken
On 2012-08-02, at 00:15, pancake wrote: > Tup is cool but i find it quite bloated to depend on sqlite. And requires to > rebuild the cache for every new file. > > Apart from that the rules looks good and graph theory makes the papers cool. I have not tried Tup, but the idea of tracking dependen

Re: [dev] Build system: redo

2020-12-17 Thread Sergey Matveev
Greetings! I see that redo subject was already there before: https://lists.suckless.org/dev/1207/11916.html but much time passed since that discussion! That year I tried redo and it was really life-changing. And no, Plan9 mk is not full-fledged replacement for (POSIX/BSD/whatever) Make, that solv

Re: [dev] Build system: redo

2020-12-17 Thread Greg Reagle
I would love to see an example, Make translated to apenwarr redo. I would learn best seeing a real but fairly simple project's Makefile implemented in apenwarr redo, so I can look at both ways of doing it. Like st for example.

Re: [dev] Build system: redo

2020-12-18 Thread Sergey Matveev
*** Greg Reagle [2020-12-17 14:39]: >Makefile implemented in apenwarr redo Just a remark: when using "basic" features of redo, just what DJB described, there is no difference between various redo implementations. I used apenwarr/redo, apenwarr/do, redo-c and goredo with the same project, with the

Re: [dev] Build system: redo

2020-12-18 Thread Sergey Matveev
*** Sergey Matveev [2020-12-17 21:44]: >Now there are pure C https://github.com/leahneukirchen/redo-c And by the way, it is less than 1kLOC even with completely built-in SHA256 implementation and no dependencies. Supporint all necessary redo-ifchange/ifcreate/always commands, jobserver (parallel b

Re: [dev] Build system: redo

2020-12-18 Thread Greg Reagle
Thanks very much for you comprehensive and thorough reply. I'll be studying it over the course of many days. I disagree with your first point though, so read on. On Fri, Dec 18, 2020, at 05:08, Sergey Matveev wrote: > Just a remark: when using "basic" features of redo, just what DJB > describe

Re: [dev] Build system: redo

2020-12-18 Thread Sergey Matveev
*** Greg Reagle [2020-12-18 07:37]: >redo-c does *not* capture standard output by default. You are right. So yes, of course I had to export REDO_STDOUT=1 before, to make redo-c behaviour the same as DJB suggested. -- Sergey Matveev (http://www.stargrave.org/) OpenPGP: CF60 E89A 5923 1E76 E263 6

Re: [dev] Build system: redo

2020-12-19 Thread Georg Lehner
Hi Sergey, You might have overlooked, that jdebp not only did a documentation of redo, but also provides a C++ implementation:   http://jdebp.eu/Softwares/redo/ Best Regards,   Georg On 12/17/20 7:44 PM, Sergey Matveev wrote: Greetings! I see that redo subject was already there before: ht

Re: [dev] Build system: redo

2020-12-20 Thread Jeremy
Hey Sergey, Thank you for this in-depth example. This is helpful. Would you happen to know why $3 is necessary, and why one can't write to $1 directly? I'm working on a project that involves cloning & compiling musl-gcc, and am cuious whether redo could be a good fit. I've cloned musl, and I ha

Re: [dev] Build system: redo

2020-12-20 Thread Sergey Matveev
Greetings! *** Jeremy [2020-12-20 10:00]: >Would you happen to know why $3 is necessary, and why one can't write >to $1 directly? We need this to atomically create targets. How can one determine if $1 was completed successfully when some outage happens? For example: $ cat tarball.tar.do

Re: [dev] Build system: redo

2021-01-03 Thread Greg Reagle
Thank you very much Sergey Matveev. I have studied your proposed redo files for st and learned a lot. Here are my new and improved (you had a bug in default.o.do in that you forgot to depend on $src) redo files for st. Please take a look and tell me what you think. Note that there are neithe

Re: [dev] Build system: redo

2021-01-03 Thread Sergey Matveev
*** Greg Reagle [2021-01-03 13:07]: >'all' targets for simplicity--I don't that they are very useful "all" target is useful only as a default rule that is run by many implementations by default and you have just to type "redo" to build the program. But of course everything is fine without it. >Pl

Re: [dev] Build system: redo

2021-01-03 Thread Greg Reagle
On Sun, Jan 3, 2021, at 14:16, Sergey Matveev wrote: > "all" target is useful only as a default rule that is run by many > implementations by default and you have just to type "redo" to build the > program. Yes, agreed. > Everything looks good. But I am just curious: why do you use > > print

Re: [dev] Build system: redo

2021-01-03 Thread Sergey Matveev
*** Greg Reagle [2021-01-03 14:38]: >https://unix.stackexchange.com/questions/65803/why-is-printf-better-than-echo Interesting! Thank you for that! Will take into account. -- Sergey Matveev (http://www.stargrave.org/) OpenPGP: CF60 E89A 5923 1E76 E263 6422 AE1A 8109 E498 57EF

Re: [dev] Build system: redo

2021-01-03 Thread Hadrien Lacour
On Sun, Jan 03, 2021 at 02:38:30PM -0500, Greg Reagle wrote: > I am in the habit of using printf rather than echo because of the drawbacks > of echo as explained in > https://unix.stackexchange.com/questions/65803/why-is-printf-better-than-echo. > For > echo relinking > specifically, it doesn

Re: [dev] Build system: redo

2021-01-03 Thread Страхиња Радић
On 21/01/03 02:38, Greg Reagle wrote: > I am in the habit of using printf rather than echo because of the drawbacks > of echo as explained in > https://unix.stackexchange.com/questions/65803/why-is-printf-better-than-echo. > For > echo relinking > specifically, it doesn't matter. For > ec

Re: [dev] Build system: redo

2021-01-06 Thread Greg Reagle
Here is my attempt at a redo file for st, instead of a Makefile. I expect it is a complete replacement. If it interests any of you, please take a look and give me constructive criticism. Does it have any flaws? Could it be improved? I know that there are advantages to having the .do files s

Re: [dev] Build system: redo

2021-01-06 Thread Greg Reagle
On Wed, Jan 6, 2021, at 08:52, Greg Reagle wrote: > Here is my attempt at a redo file for st, instead of a Makefile. I I have made one improvement already, adding this to the end of the case statement: *) echo "no rule to build '$1'" >&2 exit 1

Re: [dev] Build system: redo

2021-01-06 Thread Sergey Matveev
*** Greg Reagle [2021-01-06 08:52]: >I know that there are advantages to having the .do files separated, so there >is no need to mention that. But single .do is huge disadvantage. Can not skip mention of that :-) Each changing of that single .do will expire all targets. Each different invocation

Re: [dev] Build system: redo

2021-01-06 Thread Sergey Matveev
*** Greg Reagle [2021-01-06 09:50]: >I have made one improvement already, adding this to the end of the case >statement: > echo "no rule to build '$1'" >&2 By using separate .do files, that won't be needed, because redo itself will tell you about unknown target. You single .do just

Re: [dev] Build system: redo

2021-01-06 Thread Greg Reagle
On Wed, Jan 6, 2021, at 09:57, Sergey Matveev wrote: > > clean) > > redo-always > > No need to add redo-always to the targets that only can be "called" by > the human/user. User uses "redo" command, that forces specified targets > to be rebuild. So "redo clean/dst/install/whatever"

Re: [dev] Build system: redo

2022-05-31 Thread Georg Lehner
Just a heads up, I tampered around with redo-c. Find it at https://github.com/jorge-leon/redo-c It: - Captures stdout of do files in the target file. - Does not create an empty target if $3 is empty. This allows for "phony" targets and protects against silly mistakes. - Truncates targets

Regarding "make"-systems [Was: Re: [dev] Build system: redo]

2012-08-10 Thread Ciprian Dorin Craciun
(I've changed the subject of the thread because I want to move the discussion in a more "general" direction not specific to one build system.) On Sun, Jul 15, 2012 at 7:53 PM, Anselm R Garbe wrote: > The holy make replacement is already there: > > http://man.suckless.org/9base/mk Sta

Re: Regarding "make"-systems [Was: Re: [dev] Build system: redo]

2012-08-10 Thread Connor Lane Smith
Hey, On 10 August 2012 10:48, Ciprian Dorin Craciun wrote: > As such -- if I get the "suckless" definition correctly (but see > the P.S.) -- such a tool is far from the original intent because it > does all sorts of things instead of doing exactly one correctly... We were actually talking ab

Re: Regarding "make"-systems [Was: Re: [dev] Build system: redo]

2012-08-10 Thread Kurt H Maier
On Fri, Aug 10, 2012 at 12:48:22PM +0300, Ciprian Dorin Craciun wrote: > P.S.: Everytime I hear "suckless" (or "pythonic", or > "the-java-way", or "the-unix-way", or "the-< language>>-way"), it makes me thing of a dogmatic priest chanting his > ritual... And most of the time I have the feeling

Re: Regarding "make"-systems [Was: Re: [dev] Build system: redo]

2012-08-10 Thread hiro
people like inventing words. so what?

Re: Regarding "make"-systems [Was: Re: [dev] Build system: redo]

2012-08-11 Thread Connor Lane Smith
I'm going to ignore the "dogma" subthread, because, Christ. On 10 August 2012 11:35, Connor Lane Smith wrote: > These are quite easy to fix; we'd have to play around with the syntax > and come up with our own. But I would definitely like a tool that > solves (C) and only (C). (D) follows triviall

Re: Regarding "make"-systems [Was: Re: [dev] Build system: redo]

2012-08-12 Thread Uriel
On Sun, Aug 12, 2012 at 1:17 AM, Connor Lane Smith wrote: > (A) This suggests that we need a macro system. cpp(1) would bring us > #define, #ifdefs, and #include for free. This is good, because it > means we don't need to invent our own whole scripting subsystem. This is great because it shows yo

Re: Regarding "make"-systems [Was: Re: [dev] Build system: redo]

2012-08-12 Thread Uriel
On Fri, Aug 10, 2012 at 11:48 AM, Ciprian Dorin Craciun wrote: > (I've changed the subject of the thread because I want to move the > discussion in a more "general" direction not specific to one build > system.) > > > On Sun, Jul 15, 2012 at 7:53 PM, Anselm R Garbe wrote: >> The holy make rep

Re: Regarding "make"-systems [Was: Re: [dev] Build system: redo]

2012-08-13 Thread Andrew Hills
On Sun, Aug 12, 2012 at 8:23 PM, Uriel wrote: > This whole topic is so silly, just use a language that doesn't need > any of this nonsense, like Go. Are you insinuating that Go is the best choice for all projects, regardless of requirements? Or just that C is never the right choice? --Andrew Hil

Re: Regarding "make"-systems [Was: Re: [dev] Build system: redo]

2012-08-13 Thread Kurt H Maier
On Mon, Aug 13, 2012 at 10:54:15AM -0400, Andrew Hills wrote: > > Are you insinuating that Go is the best choice for all projects, > regardless of requirements? Or just that C is never the right choice? > He is saying the language creators should also create build systems. He does not like flex

Re: Regarding "make"-systems [Was: Re: [dev] Build system: redo]

2012-08-14 Thread Uriel
On Mon, Aug 13, 2012 at 4:54 PM, Andrew Hills wrote: > On Sun, Aug 12, 2012 at 8:23 PM, Uriel wrote: >> This whole topic is so silly, just use a language that doesn't need >> any of this nonsense, like Go. > > Are you insinuating that Go is the best choice for all projects, For all projects, obv

Regarding "dogma" words [Was: Re: Regarding "make"-systems [Was: Re: [dev] Build system: redo]]

2012-08-10 Thread Ciprian Dorin Craciun
On Fri, Aug 10, 2012 at 5:06 PM, hiro <23h...@gmail.com> wrote: > people like inventing words. so what? I'm not against inventing words... On the contrary a language must evolve... But I'm against using a quasi meaningless word as an answer without also providing a meaningful or coherent

Re: Regarding "dogma" words [Was: Re: Regarding "make"-systems [Was: Re: [dev] Build system: redo]]

2012-08-10 Thread Anselm R Garbe
On 10 August 2012 16:32, Ciprian Dorin Craciun wrote: > On Fri, Aug 10, 2012 at 5:06 PM, hiro <23h...@gmail.com> wrote: >> people like inventing words. so what? > > I'm not against inventing words... On the contrary a language must > evolve... > > > But I'm against using a quasi meaningle

Re: Regarding "dogma" words [Was: Re: Regarding "make"-systems [Was: Re: [dev] Build system: redo]]

2012-08-10 Thread Sean Howard
Obviousness varies by experience and research. On 2012-08-10 2:27 PM, "Anselm R Garbe" wrote: > On 10 August 2012 16:32, Ciprian Dorin Craciun > wrote: > > On Fri, Aug 10, 2012 at 5:06 PM, hiro <23h...@gmail.com> wrote: > >> people like inventing words. so what? > > > > I'm not against inven

Re: Regarding "dogma" words [Was: Re: Regarding "make"-systems [Was: Re: [dev] Build system: redo]]

2012-08-10 Thread hiro
well, this is an elitist list of mothafockas who don't give a shit about others. that's why communication theorists can go away.

Re: Regarding "dogma" words [Was: Re: Regarding "make"-systems [Was: Re: [dev] Build system: redo]]

2012-08-10 Thread Strake
On 10/08/2012, hiro <23h...@gmail.com> wrote: > well, this is an elitist list of mothafockas who don't give a shit > about others. that's why communication theorists can go away. > Yep. We're so elite, we're not bound by any mere laws of physics. Just watch us squeeze many GB of entropy into this

Re: Regarding "dogma" words [Was: Re: Regarding "make"-systems [Was: Re: [dev] Build system: redo]]

2012-08-10 Thread Jacob Todd
ok kid. On Aug 10, 2012 5:29 PM, "Strake" wrote: > On 10/08/2012, hiro <23h...@gmail.com> wrote: > > well, this is an elitist list of mothafockas who don't give a shit > > about others. that's why communication theorists can go away. > > > > Yep. We're so elite, we're not bound by any mere laws o

Re: Regarding "dogma" words [Was: Re: Regarding "make"-systems [Was: Re:[dev] Build system: redo]]

2012-08-10 Thread Christoph Lohmann
Greetings. On Sat, 11 Aug 2012 00:58:35 +0200 Ciprian Dorin Craciun wrote: > On Fri, Aug 10, 2012 at 5:06 PM, hiro <23h...@gmail.com> wrote: > > people like inventing words. so what? > > I'm not against inventing words... On the contrary a language must > evolve... > > > But I'm agai

Re: Regarding "dogma" words [Was: Re: Regarding "make"-systems [Was: Re:[dev] Build system: redo]]

2012-08-13 Thread Michael Farnbach
Cute how you double-down with such rage. Troll is another word overused to utter meaninglessness. On Fri, Aug 10, 2012 at 3:58 PM, Christoph Lohmann <2...@r-36.net> wrote: > Greetings. > > On Sat, 11 Aug 2012 00:58:35 +0200 Ciprian Dorin Craciun < > ciprian.crac...@gmail.com> wrote: > > On Fri,

Re: Regarding "dogma" words [Was: Re: Regarding "make"-systems [Was: Re:[dev] Build system: redo]]

2012-11-26 Thread Sam Watkins
On Mon, Aug 13, 2012 at 01:24:57PM -0700, Michael Farnbach wrote: > Troll is another word overused to utter meaninglessness. "troll" is a fishing term, it means dragging a line behind a boat, hoping for a bite. It's clear enough what this means in conversation. People on here are blisteringly rud

Re: Regarding "dogma" words [Was: Re: Regarding "make"-systems [Was: Re:[dev] Build system: redo]]

2012-11-26 Thread Sam Watkins
On Mon, Aug 13, 2012 at 01:24:57PM -0700, Michael Farnbach wrote: > Troll is another word overused to utter meaninglessness. *time passes* On Tue, Nov 27, 2012 at 03:56:22PM +1100, Sam Watkins wrote: > "troll" is a fishing term, it means dragging a line behind a boat, > hoping for a bite. It's c