{"id":16701695,"url":"https://github.com/massemanet/jungerl","last_synced_at":"2025-06-25T20:07:34.800Z","repository":{"id":136890713,"uuid":"120215227","full_name":"massemanet/jungerl","owner":"massemanet","description":"a mirror of the Jungerl","archived":false,"fork":false,"pushed_at":"2018-02-04T19:53:49.000Z","size":4916,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-14T06:41:57.931Z","etag":null,"topics":["erlang"],"latest_commit_sha":null,"homepage":"https://sourceforge.net/projects/jungerl","language":"Erlang","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/massemanet.png","metadata":{"files":{"readme":"README","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":"support/.cvsignore","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-02-04T19:21:05.000Z","updated_at":"2019-04-25T19:01:46.000Z","dependencies_parsed_at":"2023-04-14T01:30:54.436Z","dependency_job_id":null,"html_url":"https://github.com/massemanet/jungerl","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/massemanet/jungerl","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/massemanet%2Fjungerl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/massemanet%2Fjungerl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/massemanet%2Fjungerl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/massemanet%2Fjungerl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/massemanet","download_url":"https://codeload.github.com/massemanet/jungerl/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/massemanet%2Fjungerl/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261945376,"owners_count":23234237,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["erlang"],"created_at":"2024-10-12T18:45:13.887Z","updated_at":"2025-06-25T20:07:34.765Z","avatar_url":"https://github.com/massemanet.png","language":"Erlang","funding_links":[],"categories":[],"sub_categories":[],"readme":"  Jungerl was an experiment in code sharing, similar in spirit to\ngithub. It was well ahead of its time, started at \"Mon Feb 10\n22:13:03 2003\" by the inimitable Luke Gorrie. It was a CVS repo on\nSourceforge, where everyone had the commit bit. It was host of quite a\nfew early open-source Erlang programs. It was more or less abandoned\nby 2010. By then, not only had github started, but CVS was hopelessly\ninadequate compared to SVN.\n\n  Much of the code has found its way to github, but the Jungerl itself was\nabandoned on a Sourceforge backup. Purely out of a sense of archivological\nduty it was pulled off of that backup tape (kudos to Sourceforge for making\nthat easy) and pushed to github.\n\n  Everything is left untouched; I have no idea if any of it still builds.\nCopyrights etc. of course belongs to the original authors; I've just moved\nit from sourceforge to github.\n\n  - mats cronqvist, Feb 4th, 2018\n\n\nHow to use the Jungerl\n======================================================================\n\nSimple! You just do 'make' to build all the erlang programs.\n\nIf you want, you can add the bin/ directory to your $PATH, and use the\nuseful programs in there. One is 'jerl', a simple wrapper around 'erl'\nthat adds all the Jungerl applications to the code path.\n\nIf a program is giving you trouble, just put an empty file called SKIP\nin its top-level directory. For example, if you want to skip the\n'tuntap' program, you can do: touch lib/tuntap/SKIP\n\nIf you want to compile only one program or library, you can just do 'make conf'\nand then type make in the lib/PROGRAMNAME directory of your choice.\n\nHow to add an application to the Jungerl\n======================================================================\n\nEach application has its own directory called lib/\u003cappname\u003e.\n\nThe absolute minimum requirement for an application is to have a\nMakefile in the lib/\u003cappname\u003e directory with two targets:\n\n  'all' should build the program.\n\n  'clean' should delete any object files.\n\nRealistically, your lib/\u003cappname\u003e/ dir should also have any of these\nsubdirectories that are appropriate:\n\n  src/   containing erlang sources\n\n  ebin/  for putting compiled beam files\n\n  c_src/ containing C sources\n\n  priv/  containing files you want at runtime (e.g. built from c_src)\n\n  doc/   (not sure what this is for..)\n\nOnce you have created your application, you should edit the 'lib/'\ndirectory Makefile like this:\n\n  Add your \u003cappname\u003e to the \"LIBS\" variable.\n\n  If you depend on other applications, add a line that says so. (These\n  are down near the bottom.)\n\nNote that Applications in the Jungerl should be compatible with the\nlatest released version of Erlang/OTP!\n\n\nMakefile Helpers\n----------------------------------------------------------------------\n\nThe support/ directory contains a couple of useful include files for\nyour Makefiles:\n\n  subdirs.mk: Intended for your lib/\u003cappname\u003e/ directory, this defines\n    targets for 'all' and 'clean' that just cd into $(SUBDIRS) (by\n    default c_src and src) and does the same \"make\" in each of them.\n\n  include.mk: This defines a bunch of useful things for building C and\n    Erlang programs. For C it has 'configure'-detected CC and CFLAGS\n    variables, and ERL_C_INCLUDE_DIR for\n    \u003cprefix\u003e/lib/erlang/usr/include/ (e.g. for writing drivers)\n\n    For Erlang it has a 'configure'-detected ERLC, an\n    automatically-detected list of beam files to build (../ebin/*.beam\n    for all *.erl files) called ERL_OBJECTS, and\n    automatically-detected list of headers they depend on (*.hrl and\n    ../include/*.hrl) called ERL_HEADERS, and an implicit rule for\n    building ../ebin/*.beam from *.erl.\n\nThat probably wasn't very clear, but if you look at how the 'tuntap'\nprogram's Makefiles are done then it should be obvious!\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmassemanet%2Fjungerl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmassemanet%2Fjungerl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmassemanet%2Fjungerl/lists"}