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

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

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 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 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 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

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 >

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

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 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 > >

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.

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

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

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

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:

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

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 >

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

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-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-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

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 rude,

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 clear

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 hills...@gmail.com wrote: On Sun, Aug 12, 2012 at 8:23 PM, Uriel ur...@berlinblue.org 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

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 ur...@berlinblue.org 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

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

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, Aug 10,

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 c...@lubutu.com 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

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 ciprian.crac...@gmail.com 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

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 c...@lubutu.com 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)

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 garb...@gmail.com wrote: The holy make replacement is already there:

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 ciprian.crac...@gmail.com 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

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-favorite tool / 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?

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 ciprian.crac...@gmail.com 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

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 garb...@gmail.com wrote: On 10 August 2012 16:32, Ciprian Dorin Craciun ciprian.crac...@gmail.com wrote: On Fri, Aug 10, 2012 at 5:06 PM, hiro 23h...@gmail.com wrote: people like inventing words. so what?

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 tiny

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 strake...@gmail.com 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

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 ciprian.crac...@gmail.com 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...

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

Re: [dev] Build system: redo

2012-08-01 Thread Uriel
On Sun, Jul 15, 2012 at 3:28 PM, Prakhar Goel newt0...@gmail.com 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

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 ur...@berlinblue.org wrote: On Sun, Jul 15, 2012 at 3:28 PM, Prakhar Goel newt0...@gmail.com wrote: I propose adding redo to the list of software that rocks. It'll also give you a nice incremental build system

Re: [dev] Build system: redo

2012-08-01 Thread Kai Hendry
On 1 August 2012 16:48, pancake panc...@youterm.com 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

[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 newt0...@gmail.com 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

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

Re: [dev] Build system: redo

2012-07-15 Thread Anselm R Garbe
On 15 July 2012 15:28, Prakhar Goel newt0...@gmail.com 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:

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 andreasbwag...@gmail.com 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

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:

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

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 andreasbwag...@gmail.com 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:

Re: [dev] Build system: redo

2012-07-15 Thread Prakhar Goel
On Sun, Jul 15, 2012 at 7:28 PM, Jacob Todd jaketodd...@gmail.com 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 khm-suckl...@intma.in wrote: On

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. none

Re: [dev] Build system: redo

2012-07-15 Thread Andrew Hills
On Sun, Jul 15, 2012 at 8:43 PM, Kurt H Maier khm-suckl...@intma.in 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.

2011-11-23 Thread Ramil Farkhshatov
Paul Onyschuk bl...@bojary.koba.pl wrote: The bad is that build system is written in bash. Speaking of build systems. I have implemented a simple build system in rc and mk [1]. Only two scripts (spmk_add and spmk_rm) are written in sh since I use 'smpk' to build packages for embedded system.