Changeset 2798 in project
- Timestamp:
- 01/06/07 19:26:09 (14 years ago)
- Files:
-
- 1 added
- 14 edited
Legend:
- Unmodified
- Added
- Removed
-
README
r2794 r2798 1 Notes for Extension Maintainers 2 =============================== 1 This directory contains the development files for the official 2 extensions of the CHICKEN Scheme implementation. You will find one 3 directory for each extension containing all relevant files needed to 4 build and distribute it. 3 5 6 For more information, visit: 4 7 5 This directory contains the development files for the official extensions of the 6 CHICKEN Scheme implementation. You will find one directory for each extension 7 containing all relevant files needed to build and distribute it. 8 9 The extensions are stored in a subversion repository. If you want to know more 10 about Subversion, visit http://subversion.tigris.org/. 11 12 The URL of the repository is 13 14 https://galinha.ucpel.tche.br/svn/chicken-eggs 15 16 To download the tree, enter 17 18 $ svn co https://galinha.ucpel.tche.br/svn/chicken-eggs 19 20 (login "anonymous", password is "") 21 22 To gain write-access to the repository, contact felix@call-with-current-continuation.org, 23 or ask on the CHICKEN mailing list. 24 25 Each subdirectory for an egg should contain the following structure: 26 27 - If the author doesn't want to use the Subversion eggs' repository 28 much, just use it to occasionally upload releases, everything should 29 go directly under eggname. There should be a eggname/eggname.meta 30 file with the semantics described bellow. 31 32 - If the author does want to use the features provided by Subversion 33 and make the eggs repository its main development repository, it 34 should have the following structure: 35 36 trunk/ - Contains the latest (possibly experimental/unstable) 37 version of the code. 38 39 branches/ - Contains, as subdirectories, any special branches of 40 the code that need to be maintained apart of the trunk. 41 42 tags/ - Contains special tags for the code (such as those for each 43 release). Once created, a tag should never change (just like a 44 release should never change). 45 46 This layout is explained in the book Version Control with Subversion 47 and has become a standard for many projects. 48 49 To make a release the following should be done (where VERSION is of 50 the form "1.0", "1.1", etc.): 51 52 svn cp eggname/trunk eggname/tags/VERSION 53 svn ps latest VERSION eggname/tags 54 55 The ps (property set) sets a Subversion property on the tags 56 directory for the egg with the name (version) of the latest release, 57 to make it possible for tools (eg. egg-post-commit) to find it 58 (without requiring any intelligence to compare version numbers on 59 their part). 60 61 Note that every release must have the eggname.meta file with the semantics 62 described bellow (and, for that reason, so should trunk/, even though nothing 63 will read that file from there). 64 65 If you make any changes and commit them to the repository, a script on the 66 server will create the egg (the packaged extension) and move it to the official 67 site from which it can be downloaded via the `chicken-setup' tool. All that is 68 required is a separate description named `EXTENSION.meta' that holds meta-information 69 describing the author, required files and the category. The format is quite simple, 70 it simple contains a list of sub-lists holding meta-properties. Here a simple 71 example, taken from the `ajax' egg: 72 73 74 ((egg "ajax.egg") 75 (synopsis "Using xmlHttpRequest with the Spiffy web-server") 76 (needs md5 url spiffy) 77 (category web) 78 (license "MIT") 79 (author "felix <felix@call-with-current-continuation.org>") 80 (files "ajax.setup" "ajax.scm" "ajax.html" "prototype.js")) 81 82 83 You should at least provide the following properties: 84 85 (synopsis STRING) 86 87 A short description of the extension. 88 89 (author STRING) 90 91 The author, optionally with an e-mail address, if desired. 92 93 (files STRING ...) 94 95 The names of all files that should be contained in the egg. 96 97 (egg STRING) 98 99 The name of the egg file. 100 101 (license STRING) 102 103 The license under which the code is released. Please make sure you use the 104 proper license if you package code written by others. 105 106 (category SYMBOL) 107 108 A category under which the egg should be listed on the egg-index page at 109 http://www.call-with-current-continuation.org/eggs/index.html. 110 111 Currently the set of categories is fixed, use one of: 112 113 lang-exts Language extensions 114 graphics Graphics 115 debugging Debugging tools 116 net Networking 117 io Input/Output 118 db Databases 119 ffi Interfacing to other languages 120 web Web programming 121 xml XML processing 122 doc-tools Documentation tools 123 math Mathematical libraries 124 oop Object-oriented programming 125 data Algorithms and data-structures 126 parsing Data formats and parsing 127 tools Tools 128 testing Unit-testing 129 crypt Cryptography 130 ui User interface toolkits 131 code-generation Run-time code generation 132 misc Miscellaneous 133 macros Macros and meta-syntax 134 135 (needs SYMBOL ...) 136 137 Any extensions needed to build and use this extension. This should be the 138 raw extension-identifier, the same that you would use in a `require-extension' 139 form. 140 141 (doc-from-wiki) 142 143 Marks this extension as having a documentation page in the associated CHICKEN wiki 144 at <http://chicken.wiki.br>. 145 146 (hidden) 147 148 Marks this extension as being "hidden", that is: it is available for download and 149 the documentation page is generated, but it will not appear in the official list 150 (mainly intended for preliminary eggs and testing). 151 152 (static STRING) 153 154 If the extensions also provides a static library, then STRING shoould contain 155 the name of that library. Used by `csc' when compiling with the `-static-extensions' 156 option. 157 158 (static-options STRING) 159 160 Additional options that should be passed to the linker when linking with the 161 static version of an extension (see `static' above). Used by `csc' when compiling with 162 the `-static-extensions' option. 163 164 You should provide a HTML file with documentation, if possible using Zbigniew 165 Szadkowski's `eggdoc' extension (see http://www.call-with-current-continuation.org/eggs/eggdoc). 166 If named `EXTENSION-NAME.html', then it will be automatically uploaded to call/cc.org. 167 168 One final note: please keep the version numbers up-to date and add changes to the doc.scm 169 or (if no eggdoc-script exists) the html file. 170 171 172 Many thanks for contributing! 8 <http://chicken.wiki.br/Notes for extension maintainers> -
bb/bb.setup
r2794 r2798 73 73 'bb 74 74 '("bb-static.a" "bb.so" "bb.html") 75 '((version 1.22) 76 (static "bb-static.a") 77 (static-options "`fltk-config --use-images --use-gl --ldstaticflags`") 75 `((version 1.22) 76 ,@(cond-expand 77 (msvc '()) 78 (else '((static "bb-static.a") 79 (static-options "`fltk-config --use-images --use-gl --ldstaticflags`") ) ) ) 78 80 (documentation "bb.html"))) 79 81 80 #+macosx81 (when (setup-install-flag)82 (run (ranlib ,(make-pathname (repository-path) "bb-static.a"))) ) ; Thanks, Apple!83 84 82 ;;; vim: ft=scheme -
chicken/batch-driver.scm
r2794 r2798 408 408 (begin-time) 409 409 (unless (null? uses-units) 410 (set! ##sys#explicit-library-modules (append uses-units ##sys#explicit-library-modules))410 (set! ##sys#explicit-library-modules (append ##sys#explicit-library-modules uses-units)) 411 411 (set! forms (cons `(declare (uses ,@uses-units)) forms)) ) 412 412 (let* ([exps0 (map canonicalize-expression (append initforms forms))] -
chicken/chicken-setup.scm
r2776 r2798 579 579 (run (,*remove-command* ,to)) ) 580 580 (copy-file from to) 581 (and-let* ((static (assq 'static info))) 582 (when (and (eq? (software-version) 'macosx) 583 (equal? (cadr static) from) ) 584 (run (ranlib ,to)) ) ) 581 585 (make-dest-pathname rpath f))) 582 586 files) ) ) -
chicken/posixwin.scm
r2794 r2798 680 680 else { parent_end=a; child_io_handles[i]=b; } 681 681 } 682 exit_code=(io_fds[i]=_open_osfhandle(( intptr_t)parent_end,0))<0;682 exit_code=(io_fds[i]=_open_osfhandle((long)parent_end,0))<0; 683 683 } 684 684 } -
egg-post-commit
r2615 r2798 128 128 ") 129 129 (p "If you would like to access the subversion repository, see " 130 (a (@ (href " README")) "here") ".")130 (a (@ (href "http://chicken.wiki.br/Notes for extension maintainers")) "here") ".") 131 131 (p "If you are looking for 3rd party libraries used by one the extensions, check out the CHICKEN tarball " 132 132 (a (@ (href "http://www.call-with-current-continuation.org/tarballs/")) "repository") ".") -
rss/rss.html
r1270 r2798 39 39 <h3>Version:</h3> 40 40 <ul> 41 <li>1.2 fixed broken .meta file [reported by Mario Goulart] 41 42 <li>1.1 Small fix in <code>rss:item=?</code> by Daishi Kato 42 43 <li>1.0 -
rss/rss.meta
r2430 r2798 1 1 ;;; rss.meta -*- Hen -*- 2 2 ((egg "rss.egg") 3 (files "rss.scm" )3 (files "rss.scm" "rss.setup" "rss.html") 4 4 (license "BSD") 5 5 (author -
rss/rss.scm
r7 r2798 6 6 rss:feed? rss:feed-version rss:feed-channel rss:feed-items 7 7 rss:item=? 8 rss:read 9 rss:feed->simple-html) ) 8 rss:read)) 10 9 11 10 (require-extension ssax srfi-1) -
rss/rss.setup
r1270 r2798 1 (compile -s -O2 -d1 rss.scm) 2 (install-extension 'rss '("rss.so" "rss.html") 3 '((version 1.1) (documentation "rss.html"))) 1 (compile -s -O2 -d1 rss.scm -emit-exports rss.exports) 2 (install-extension 'rss '("rss.so" "rss.html") 3 '((version 1.2) 4 (exports "rss.exports") 5 (documentation "rss.html"))) -
wiki/Non standard macros and special forms
r2790 r2798 32 32 * If {{ID}} names a built in features {{chicken srfi-23 srfi-30 srfi-39 srfi-8 srfi-6 srfi-2 srfi-0 srfi-10 srfi-9 srfi-17 srfi-55}}, then nothing is done. 33 33 * If {{ID}} names one of syntactic extensions {{chicken-more-macros chicken-ffi-macros}}, then this extension will be loaded at compile-time, making the syntactic extensions available in compiled code. 34 * If {{ID}} names one of the core library units shipped with CHICKEN, then a {{(declare (uses ID))}} is generated.34 * If {{ID}} names one of the core library units shipped with CHICKEN, or if the option {{-uses ID}} has been passed to the compiler then a {{(declare (uses ID))}} is generated. 35 35 * If {{ID}} names an installed extension with the {{syntax}} or {{require-at-runtime}} attribute, then the equivalent of {{(require-for-syntax 'ID)}} is performed. 36 36 * Otherwise {{(require-extension ID)}} is equivalent to {{(require 'ID)}}. -
wiki/The User's Manual
r2776 r2798 3 3 == Introduction 4 4 5 ''(This document describes version 2.51 1)''5 ''(This document describes version 2.513)'' 6 6 7 7 '''CHICKEN is a compiler that translates Scheme source files into C''', which in -
wiki/Using the compiler
r2490 r2798 167 167 ; -raw : Disables the generation of any implicit code that uses the Scheme libraries (that is all runtime system files besides {{runtime.c}} and {{chicken.h}}). 168 168 169 ; -require-extension NAME : Loads the extension {{NAME}} before the compilation process commences. This is identical to adding {{(require-extension NAME)}} at the start of the compiled program. 169 ; -require-extension NAME : Loads the extension {{NAME}} before the compilation process commences. This is identical to adding {{(require-extension NAME)}} at the start of the compiled program. If {{-uses NAME}} is also given on the command line, then any occurrences of {{-require-extension NAME}} are replaced with {{(declare (uses NAME))}}. 170 170 171 171 ; -run-time-macros : Makes macros also available at run-time. By default macros are not available at run-time. -
wiki/chicken-setup
r2642 r2798 129 129 exported variables, as generated by the {{-emit-exports}} option or the 130 130 {{emit-exports}} declaration specifier. 131 132 ===== static 133 134 [property] (static STRING) 135 136 If the extension also provides a static library, then STRING should 137 contain the name of that library. Used by {{csc}} when compiling with 138 the {{-static-extensions}} option. 139 140 ===== static-options 141 142 [property] (static-options STRING) 143 144 Additional options that should be passed to the linker when linking 145 with the static version of an extension (see {{static}} above). Used 146 by {{csc}} when compiling with the {{-static-extensions}} option. 131 147 132 148 All other properties are currently ignored. The {{FILELIST}} argument may also be a single
Note: See TracChangeset
for help on using the changeset viewer.