{"action":"created","issue":{"url":"https://api.github.com/repos/Frege/frege/issues/180","labels_url":"https://api.github.com/repos/Frege/frege/issues/180/labels{/name}","comments_url":"https://api.github.com/repos/Frege/frege/issues/180/comments","events_url":"https://api.github.com/repos/Frege/frege/issues/180/events","html_url":"https://github.com/Frege/frege/issues/180","id":108720383,"number":180,"title":"make frege build easier to bootstrap","user":{"login":"thkoch2001","id":94641,"avatar_url":"https://avatars.githubusercontent.com/u/94641?v=3","gravatar_id":"","url":"https://api.github.com/users/thkoch2001","html_url":"https://github.com/thkoch2001","followers_url":"https://api.github.com/users/thkoch2001/followers","following_url":"https://api.github.com/users/thkoch2001/following{/other_user}","gists_url":"https://api.github.com/users/thkoch2001/gists{/gist_id}","starred_url":"https://api.github.com/users/thkoch2001/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thkoch2001/subscriptions","organizations_url":"https://api.github.com/users/thkoch2001/orgs","repos_url":"https://api.github.com/users/thkoch2001/repos","events_url":"https://api.github.com/users/thkoch2001/events{/privacy}","received_events_url":"https://api.github.com/users/thkoch2001/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-09-28T18:37:12Z","updated_at":"2015-09-28T19:56:48Z","closed_at":null,"body":"As mentioned in #170, debian (and other distros) have good reasons to build everything from source. This is difficult (but not impossible) if something depends on itself for being built.\r\n\r\nAre there ways how Frege could become easier to build without Frege? Some Ideas:\r\n- Frege is a Haskell dialect. Can Frege be built with Haskell?\r\n- Frege compiles to Java source code. Can this Java Source code be shipped as a separate tarball? Than one just needs a JDK to compile the java code and have a Frege Stage 1 to build a fresh Frege from Frege source.\r\n- Is it possible to build a version of frege with fewer features but powerful enough to build the full frege without frege? (I think not, but ...?)"},"comment":{"url":"https://api.github.com/repos/Frege/frege/issues/comments/143857987","html_url":"https://github.com/Frege/frege/issues/180#issuecomment-143857987","issue_url":"https://api.github.com/repos/Frege/frege/issues/180","id":143857987,"user":{"login":"thkoch2001","id":94641,"avatar_url":"https://avatars.githubusercontent.com/u/94641?v=3","gravatar_id":"","url":"https://api.github.com/users/thkoch2001","html_url":"https://github.com/thkoch2001","followers_url":"https://api.github.com/users/thkoch2001/followers","following_url":"https://api.github.com/users/thkoch2001/following{/other_user}","gists_url":"https://api.github.com/users/thkoch2001/gists{/gist_id}","starred_url":"https://api.github.com/users/thkoch2001/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thkoch2001/subscriptions","organizations_url":"https://api.github.com/users/thkoch2001/orgs","repos_url":"https://api.github.com/users/thkoch2001/repos","events_url":"https://api.github.com/users/thkoch2001/events{/privacy}","received_events_url":"https://api.github.com/users/thkoch2001/received_events","type":"User","site_admin":false},"created_at":"2015-09-28T19:56:48Z","updated_at":"2015-09-28T19:56:48Z","body":"I've not yet worked on any compiled package in Debian. So I don't want to give false informations on how other debian packages solve this. However I believe that bootstrapping Frege from Java Source files is still beneficial.\r\n\r\n- There is no circular dependency. The Frege build would depend on a JDK.\r\n- The Java Source code could still be edited or patched if necessary. So the goal of being able to build the Debian archive from editable source is still somewhat kept.\r\n- It's harder to hide malicious bits in generated Java source files than in generated bytecode.\r\n- After building the Frege compiler we can test whether the compiled Frege compiler generates the same Java source files. It is possible but not trivial to cheat this test.\r\n- The diff between versions of the Java source files can be inspected.\r\n"}}