summaryrefslogtreecommitdiff
path: root/extra/racket
diff options
context:
space:
mode:
authorParabola <dev@list.parabolagnulinux.org>2011-04-05 14:26:38 +0000
committerParabola <dev@list.parabolagnulinux.org>2011-04-05 14:26:38 +0000
commit415856bdd4f48ab4f2732996f0bae58595092bbe (patch)
treeede2018b591f6dfb477fe9341ba17b9bc000fab9 /extra/racket
Tue Apr 5 14:26:38 UTC 2011
Diffstat (limited to 'extra/racket')
-rw-r--r--extra/racket/PKGBUILD36
-rw-r--r--extra/racket/drracket.desktop9
-rw-r--r--extra/racket/jpeg-version.patch621
-rw-r--r--extra/racket/racket.install11
4 files changed, 677 insertions, 0 deletions
diff --git a/extra/racket/PKGBUILD b/extra/racket/PKGBUILD
new file mode 100644
index 000000000..21345b269
--- /dev/null
+++ b/extra/racket/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 110163 2011-02-17 06:55:24Z eric $
+# Maintainer: Eric BĂ©langer <eric@archlinux.org>
+
+pkgname=racket
+pkgver=5.1
+pkgrel=1
+pkgdesc="PLT Racket (a variant of Scheme) Environment"
+arch=('i686' 'x86_64')
+url="http://racket-lang.org/"
+license=('LGPL')
+depends=('gtk2' 'libjpeg' 'desktop-file-utils')
+provides=('drscheme')
+conflicts=('drscheme')
+replaces=('drscheme')
+options=('!strip')
+install=racket.install
+source=(http://download.racket-lang.org/installers/${pkgver}/racket/${pkgname}-${pkgver}-src-unix.tgz \
+ drracket.desktop jpeg-version.patch)
+md5sums=('c3b0bffb998ad530c06512d045a59f15' '9223c9736ead677431542b41271c7b3c'\
+ '0aae72b6f19963c569d20fa8793482e1')
+sha1sums=('6c314a71bab77eb48efad8f6c9fa597b6a5a305d' 'a20808f6b250225704856f82a544681a962a299d'\
+ 'afa13f3ef66f5434b209f545f82545a869ada2b2')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}/src"
+ (cd ..; patch -p1 -i "${srcdir}/jpeg-version.patch")
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}/src"
+ make DESTDIR="${pkgdir}" install
+ install -D -m644 ../collects/icons/plt.xpm "${pkgdir}/usr/share/pixmaps/drracket.xpm"
+ install -D -m644 "${srcdir}/drracket.desktop" "${pkgdir}/usr/share/applications/drracket.desktop"
+}
diff --git a/extra/racket/drracket.desktop b/extra/racket/drracket.desktop
new file mode 100644
index 000000000..79876de50
--- /dev/null
+++ b/extra/racket/drracket.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=DrRacket
+GenericName=IDE for Racket
+Comment=DrRacket is an interactive, integrated, graphical programming environment for the Racket programming languages.
+Exec=drracket
+Terminal=false
+Type=Application
+Categories=Education;Development;
+Icon=drracket
diff --git a/extra/racket/jpeg-version.patch b/extra/racket/jpeg-version.patch
new file mode 100644
index 000000000..253f08ae6
--- /dev/null
+++ b/extra/racket/jpeg-version.patch
@@ -0,0 +1,621 @@
+From: Matthew Flatt <mflatt@racket-lang.org>
+Date: Wed, 16 Feb 2011 14:30:34 +0000 (-0700)
+Subject: fix jpeg structs to better adapt to jpeglib versions and platforms
+X-Git-Url: http://git.racket-lang.org/plt/commitdiff_plain/e59b96e26c7f1edb193a42f16c97d30a085a182c
+
+fix jpeg structs to better adapt to jpeglib versions and platforms
+ --- specifically fixing jpeglib version 8 on x86_64
+---
+
+diff --git a/collects/racket/draw/unsafe/jpeg.rkt b/collects/racket/draw/unsafe/jpeg.rkt
+index 9399aec..77606d8 100644
+--- a/collects/racket/draw/unsafe/jpeg.rkt
++++ b/collects/racket/draw/unsafe/jpeg.rkt
+@@ -100,20 +100,24 @@
+ (unless (member JPEG_LIB_VERSION '(62 64 70 80))
+ (error 'jpeg "unsupported library version: ~e" JPEG_LIB_VERSION))
+
+-(define _scaled_size
+- (case JPEG_LIB_VERSION
+- [(62 64) _int]
+- [else (make-cstruct-type (list _int _int))]))
+-
+-(define _prog_scan_size
+- (case JPEG_LIB_VERSION
+- [(62 64 70) (make-cstruct-type (list _int _int _int _int))]
+- [else (make-cstruct-type (list _int _int _int _int _int _pointer _int))]))
+-
+-(define _comp_info_size
+- (case JPEG_LIB_VERSION
+- [(62 64 70) _pointer]
+- [else (make-cstruct-type (list _pointer _jbool))]))
++(define-syntax-rule (cstruct-type/version elem ...)
++ (make-cstruct-type (flatten-type (list (cstruct-type/version-elem elem) ...))))
++
++(define-syntax cstruct-type/version-elem
++ (syntax-rules (unquote)
++ [(_ (unquote ([vers (elem ...)] ...)))
++ (case JPEG_LIB_VERSION
++ [vers (list (cstruct-type/version-elem elem) ...)]
++ ...)]
++ [(_ [name type]) type]))
++
++(define (flatten-type l)
++ (cond
++ [(null? l) null]
++ [(list? (car l))
++ (append (flatten-type (car l)) (flatten-type (cdr l)))]
++ [else
++ (cons (car l) (flatten-type (cdr l)))]))
+
+ (define-cstruct _jpeg_decompress_struct ([err _jpeg_error_mgr-pointer]
+ [mem _jpeg_memory_mgr-pointer]
+@@ -150,7 +154,7 @@
+ [enable_2pass_quant _jbool]
+
+ [output_width _JDIMENSION]
+- [output_height _JDIMENSION]
++ [output_height _JDIMENSION] ; <-
+ [out_color_components _int]
+ [output_components _int]
+ [rec_outbuf_height _int]
+@@ -158,21 +162,230 @@
+ [actual_number_of_colors _int]
+ [colormap _pointer]
+
+- [output_scanline _JDIMENSION]
++ ;; We don't need to refer to any of the remaining
++ ;; fields, and the specific set of fields depends
++ ;; on the version
++ [rest
++ (cstruct-type/version
++ [output_scanline _JDIMENSION]
++
++ [input_scan_number _int]
++ [input_iMCU_row _JDIMENSION]
++
++ [output_scan_number _int]
++ [output_iMCU_row _JDIMENSION]
++
++ [coef_bits _pointer]
++
++ [quant_tbl_ptrs_1 _pointer]
++ [quant_tbl_ptrs_2 _pointer]
++ [quant_tbl_ptrs_3 _pointer]
++ [quant_tbl_ptrs_4 _pointer]
++
++ [dc_huff_tbl_ptrs_1 _pointer]
++ [dc_huff_tbl_ptrs_2 _pointer]
++ [dc_huff_tbl_ptrs_3 _pointer]
++ [dc_huff_tbl_ptrs_4 _pointer]
++ [ac_huff_tbl_ptrs_1 _pointer]
++ [ac_huff_tbl_ptrs_2 _pointer]
++ [ac_huff_tbl_ptrs_3 _pointer]
++ [ac_huff_tbl_ptrs_4 _pointer]
++
++ [data_precision _int]
++
++ [comp_info _pointer]
++
++ ,([(62 64 70) ()]
++ [else ([is_baseline _jbool])])
++ [progressive_mode _jbool]
++ [arith_code _jbool]
++
++ [arith_dc_L_1 _uint8]
++ [arith_dc_L_2 _uint8]
++ [arith_dc_L_3 _uint8]
++ [arith_dc_L_4 _uint8]
++ [arith_dc_L_5 _uint8]
++ [arith_dc_L_6 _uint8]
++ [arith_dc_L_7 _uint8]
++ [arith_dc_L_8 _uint8]
++ [arith_dc_L_9 _uint8]
++ [arith_dc_L_10 _uint8]
++ [arith_dc_L_11 _uint8]
++ [arith_dc_L_12 _uint8]
++ [arith_dc_L_13 _uint8]
++ [arith_dc_L_14 _uint8]
++ [arith_dc_L_15 _uint8]
++ [arith_dc_L_16 _uint8]
++
++ [arith_dc_U_1 _uint8]
++ [arith_dc_U_2 _uint8]
++ [arith_dc_U_3 _uint8]
++ [arith_dc_U_4 _uint8]
++ [arith_dc_U_5 _uint8]
++ [arith_dc_U_6 _uint8]
++ [arith_dc_U_7 _uint8]
++ [arith_dc_U_8 _uint8]
++ [arith_dc_U_9 _uint8]
++ [arith_dc_U_10 _uint8]
++ [arith_dc_U_11 _uint8]
++ [arith_dc_U_12 _uint8]
++ [arith_dc_U_13 _uint8]
++ [arith_dc_U_14 _uint8]
++ [arith_dc_U_15 _uint8]
++ [arith_dc_U_16 _uint8]
++
++ [arith_dc_K_1 _uint8]
++ [arith_dc_K_2 _uint8]
++ [arith_dc_K_3 _uint8]
++ [arith_dc_K_4 _uint8]
++ [arith_dc_K_5 _uint8]
++ [arith_dc_K_6 _uint8]
++ [arith_dc_K_7 _uint8]
++ [arith_dc_K_8 _uint8]
++ [arith_dc_K_9 _uint8]
++ [arith_dc_K_10 _uint8]
++ [arith_dc_K_11 _uint8]
++ [arith_dc_K_12 _uint8]
++ [arith_dc_K_13 _uint8]
++ [arith_dc_K_14 _uint8]
++ [arith_dc_K_15 _uint8]
++ [arith_dc_K_16 _uint8]
++
++ [restart_interval _uint]
++
++ [saw_JFIF_marker _jbool]
++ [JFIF_major_version _uint8]
++ [JFIF_minor_version _uint8]
++ [density_unit _uint8]
++ [X_density _uint16]
++ [Y_density _uint16]
++ [saw_Adobe_marker _jbool]
++ [Adobe_transform _uint8]
++
++ [CCIR601_sampling _jbool]
++
++ [marker_list _pointer]
++
++ [max_h_samp_factor _int]
++ [max_v_samp_factor _int]
++
++ ,([(62 64) ([min_DCT_scaled_size _int])]
++ [else ([min_DCT_h_scaled_size _int]
++ [min_DCT_v_scaled_size _int])])
++
++ [total_iMCU_rows _JDIMENSION]
++ [sample_range_limit _pointer]
++
++ [comps_in_scan _int]
++
++ [cur_comp_info_1 _pointer]
++ [cur_comp_info_2 _pointer]
++ [cur_comp_info_3 _pointer]
++ [cur_comp_info_4 _pointer]
++
++ [MCUs_per_row _JDIMENSION]
++ [MCU_rows_in_scan _JDIMENSION]
++
++ [blocks_in_MCU _int]
++
++ [MCU_membership_1 _int]
++ [MCU_membership_2 _int]
++ [MCU_membership_3 _int]
++ [MCU_membership_4 _int]
++ [MCU_membership_5 _int]
++ [MCU_membership_6 _int]
++ [MCU_membership_7 _int]
++ [MCU_membership_8 _int]
++ [MCU_membership_9 _int]
++ [MCU_membership_10 _int]
++
++ [Ss _int]
++ [Se _int]
++ [Ah _int]
++ [Al _int]
++
++ ,([(62 64 70) ()]
++ [else
++ ([block_size _int]
++ [natural_order _pointer]
++ [lim_Se _int])])
++
++ [unread_marker _int]
++
++ [master _pointer]
++ [main _pointer]
++ [coef _pointer]
++ [post _pointer]
++ [inputctl _pointer]
++ [marker _pointer]
++ [entropy _pointer]
++ [idct _pointer]
++ [upsample _pointer]
++ [cconvert _pointer]
++ [cquantize _pointer])]))
+
+- [input_scan_number _int]
+- [input_iMCU_row _JDIMENSION]
++(define _j_decompress_ptr _jpeg_decompress_struct-pointer)
+
+- [output_scan_number _int]
+- [output_iMCU_row _JDIMENSION]
++(define-cstruct _jpeg_source_mgr ([next_input_byte _pointer] ;; /* => next byte to read from buffer */
++ [bytes_in_buffer _size_t] ;; /* # of bytes remaining in buffer */
++ [init_source (_fun _j_decompress_ptr -> _void)]
++ [fill_input_buffer (_fun _j_decompress_ptr -> _jbool)]
++ [skip_input_data (_fun _j_decompress_ptr _long -> _void)]
++ [resync_to_restart (_fun _j_decompress_ptr _int -> _jbool)]
++ [term_source (_fun _j_decompress_ptr -> _void)]
++ ;; extra fields specific to this binding:
++ [buffer _pointer]))
+
+- [coef_bits _pointer]
++(define (jpeg_decompress_struct-src m)
++ (ptr-cast (jpeg_decompress_struct-src* m) _jpeg_source_mgr-pointer))
++
++(define-cstruct _jpeg_compress_struct ([err _jpeg_error_mgr-pointer]
++ [mem _jpeg_memory_mgr-pointer]
++ [progress _pointer] ; _jpeg_progress_mgr_pointer
++ [client_data _pointer]
++ [is_decompressor _jbool]
++ [global_state _int]
++
++ [dest* _pointer] ; actually jpeg_destination_mgr-pointer
++
++ [image_width _JDIMENSION]
++ [image_height _JDIMENSION]
++ [input_components _int]
++ [in_color_space _J_COLOR_SPACE] ; <-
++
++ [input_gamma _double]
++
++ ;; We don't need to refer to any of the remaining
++ ;; fields, and the specific set of fields depends
++ ;; on the version
++ [rest
++ (cstruct-type/version
++ ,([(62 64) ()]
++ [else
++ ([scale_num _uint]
++ [scale_denom _uint]
++ [jpeg_width _JDIMENSION]
++ [jpeg_height _JDIMENSION])])
++
++ [data_precission _int]
++
++ [num_components _int]
++ [jpeg_color_space _J_COLOR_SPACE]
++
++ [comp_info _pointer]
+
+ [quant_tbl_ptrs_1 _pointer]
+ [quant_tbl_ptrs_2 _pointer]
+ [quant_tbl_ptrs_3 _pointer]
+ [quant_tbl_ptrs_4 _pointer]
+
++ ,([(62 64) ()]
++ [else
++ ([q_scale_factor_1 _int]
++ [q_scale_factor_2 _int]
++ [q_scale_factor_3 _int]
++ [q_scale_factor_4 _int])])
++
+ [dc_huff_tbl_ptrs_1 _pointer]
+ [dc_huff_tbl_ptrs_2 _pointer]
+ [dc_huff_tbl_ptrs_3 _pointer]
+@@ -182,13 +395,6 @@
+ [ac_huff_tbl_ptrs_3 _pointer]
+ [ac_huff_tbl_ptrs_4 _pointer]
+
+- [data_precision _int]
+-
+- [comp_info&is_baseline _comp_info_size]
+-
+- [progressive_mode _jbool]
+- [arith_code _jbool]
+-
+ [arith_dc_L_1 _uint8]
+ [arith_dc_L_2 _uint8]
+ [arith_dc_L_3 _uint8]
+@@ -239,40 +445,54 @@
+ [arith_dc_K_14 _uint8]
+ [arith_dc_K_15 _uint8]
+ [arith_dc_K_16 _uint8]
++
++ [num_scans _int]
++ [scan_info _pointer]
+
+- [restart_interval _uint]
++ [raw_data_in _jbool]
++ [arith_code _jbool]
++ [optimize_coding _jbool]
++ [CCIR601_sampling _jbool]
++ ,([(62 64) ()]
++ [else
++ ([do_fancy_downsampling _jbool])])
+
+- [saw_JFIF_marker _jbool]
++ [smoothing_factor _int]
++ [dct_method _J_DCT_METHOD]
++
++ [restart_interval _uint]
++ [restart_in_rows _int]
++
++ [write_JFIF_header _jbool]
+ [JFIF_major_version _uint8]
+ [JFIF_minor_version _uint8]
+ [density_unit _uint8]
+ [X_density _uint16]
+ [Y_density _uint16]
+- [saw_Adobe_marker _jbool]
+- [Adobe_transform _uint8]
+-
+- [CCIR601_sampling _jbool]
+-
+- [marker_list _pointer]
+-
++ [write_Adobe_marker _jbool]
++
++ [next_scanline _JDIMENSION]
++
++ [progressive_mode _jbool]
++
+ [max_h_samp_factor _int]
+ [max_v_samp_factor _int]
+
+- [min_DCT_scaled_size _scaled_size]
++ ,([(62 64) ()]
++ [else ([min_DCT_h_scaled_size _int]
++ [min_DCT_v_scaled_size _int])])
+
+ [total_iMCU_rows _JDIMENSION]
+- [sample_range_limit _pointer]
+
+ [comps_in_scan _int]
+-
+ [cur_comp_info_1 _pointer]
+ [cur_comp_info_2 _pointer]
+ [cur_comp_info_3 _pointer]
+ [cur_comp_info_4 _pointer]
+-
++
+ [MCUs_per_row _JDIMENSION]
+ [MCU_rows_in_scan _JDIMENSION]
+-
++
+ [blocks_in_MCU _int]
+
+ [MCU_membership_1 _int]
+@@ -286,223 +506,28 @@
+ [MCU_membership_9 _int]
+ [MCU_membership_10 _int]
+
+- [prog_scan _prog_scan_size] ; Ss, Se, Ah, Al
+-
+- [unread_marker _int]
++ [Ss _int]
++ [Se _int]
++ [Ah _int]
++ [Al _int]
++
++ ,([(62 64 70) ()]
++ [else
++ ([block_size _int]
++ [natural_order _pointer]
++ [lim_Se _int])])
+
+ [master _pointer]
+ [main _pointer]
++ [prep _pointer]
+ [coef _pointer]
+- [post _pointer]
+- [inputctl _pointer]
+ [marker _pointer]
+- [entropy _pointer]
+- [idct _pointer]
+- [upsample _pointer]
+ [cconvert _pointer]
+- [cquantize _pointer]))
+-
+-(define _j_decompress_ptr _jpeg_decompress_struct-pointer)
+-
+-(define-cstruct _jpeg_source_mgr ([next_input_byte _pointer] ;; /* => next byte to read from buffer */
+- [bytes_in_buffer _size_t] ;; /* # of bytes remaining in buffer */
+- [init_source (_fun _j_decompress_ptr -> _void)]
+- [fill_input_buffer (_fun _j_decompress_ptr -> _jbool)]
+- [skip_input_data (_fun _j_decompress_ptr _long -> _void)]
+- [resync_to_restart (_fun _j_decompress_ptr _int -> _jbool)]
+- [term_source (_fun _j_decompress_ptr -> _void)]
+- ;; extra fields specific to this binding:
+- [buffer _pointer]))
+-
+-(define (jpeg_decompress_struct-src m)
+- (ptr-cast (jpeg_decompress_struct-src* m) _jpeg_source_mgr-pointer))
+-
+-(define-cstruct _jpeg7_compression_params ([scale_num _uint]
+- [scale_denom _uint]
+- [jpeg_width _JDIMENSION]
+- [jpeg_height _JDIMENSION]
+- [data_precision _int]))
+-(define _compression_params_t
+- (case JPEG_LIB_VERSION
+- [(62 64) _int] ; just data_precission
+- [else _jpeg7_compression_params]))
+-
+-(define-cstruct _quant_tbl_62_t ([quant_tbl_ptrs_1 _pointer]
+- [quant_tbl_ptrs_2 _pointer]
+- [quant_tbl_ptrs_3 _pointer]
+- [quant_tbl_ptrs_4 _pointer]))
+-(define-cstruct (_quant_tbl_70_t _quant_tbl_62_t) ([q_scale_factor_1 _int]
+- [q_scale_factor_2 _int]
+- [q_scale_factor_3 _int]
+- [q_scale_factor_4 _int]))
+-
+-(define _quant_tbl_t
+- (case JPEG_LIB_VERSION
+- [(62 64) _quant_tbl_62_t]
+- [else _quant_tbl_70_t]))
+-
+-(define _sampling_t
+- (case JPEG_LIB_VERSION
+- [(62 64) _jbool] ; just CCIR601_sampling
+- [else (make-cstruct-type (list _jbool _jbool))])) ; CCIR601_sampling and do_fancy_downsampling
+-
+-(define-cstruct _factors_62_t ([max_h_samp_factor _int]
+- [max_v_samp_factor _int]))
+-(define-cstruct (_factors_70_t _factors_62_t) ([scaled _scaled_size]))
+-(define _factors_t
+- (case JPEG_LIB_VERSION
+- [(62 64) _factors_62_t]
+- [else _factors_70_t]))
+-
+-
+-(define-cstruct _jpeg_compress_struct ([err _jpeg_error_mgr-pointer]
+- [mem _jpeg_memory_mgr-pointer]
+- [progress _pointer] ; _jpeg_progress_mgr_pointer
+- [client_data _pointer]
+- [is_decompressor _jbool]
+- [global_state _int]
+-
+- [dest* _pointer] ; actually jpeg_destination_mgr-pointer
+-
+- [image_width _JDIMENSION]
+- [image_height _JDIMENSION]
+- [input_components _int]
+- [in_color_space _J_COLOR_SPACE]
+-
+- [input_gamma _double]
+-
+- [compression_params _compression_params_t]
+-
+- [num_components _int]
+- [jpeg_color_space _J_COLOR_SPACE]
+-
+- [comp_info _pointer]
+-
+- [quant_tbl _quant_tbl_t]
+-
+- [dc_huff_tbl_ptrs_1 _pointer]
+- [dc_huff_tbl_ptrs_2 _pointer]
+- [dc_huff_tbl_ptrs_3 _pointer]
+- [dc_huff_tbl_ptrs_4 _pointer]
+- [ac_huff_tbl_ptrs_1 _pointer]
+- [ac_huff_tbl_ptrs_2 _pointer]
+- [ac_huff_tbl_ptrs_3 _pointer]
+- [ac_huff_tbl_ptrs_4 _pointer]
+-
+- [arith_dc_L_1 _uint8]
+- [arith_dc_L_2 _uint8]
+- [arith_dc_L_3 _uint8]
+- [arith_dc_L_4 _uint8]
+- [arith_dc_L_5 _uint8]
+- [arith_dc_L_6 _uint8]
+- [arith_dc_L_7 _uint8]
+- [arith_dc_L_8 _uint8]
+- [arith_dc_L_9 _uint8]
+- [arith_dc_L_10 _uint8]
+- [arith_dc_L_11 _uint8]
+- [arith_dc_L_12 _uint8]
+- [arith_dc_L_13 _uint8]
+- [arith_dc_L_14 _uint8]
+- [arith_dc_L_15 _uint8]
+- [arith_dc_L_16 _uint8]
+-
+- [arith_dc_U_1 _uint8]
+- [arith_dc_U_2 _uint8]
+- [arith_dc_U_3 _uint8]
+- [arith_dc_U_4 _uint8]
+- [arith_dc_U_5 _uint8]
+- [arith_dc_U_6 _uint8]
+- [arith_dc_U_7 _uint8]
+- [arith_dc_U_8 _uint8]
+- [arith_dc_U_9 _uint8]
+- [arith_dc_U_10 _uint8]
+- [arith_dc_U_11 _uint8]
+- [arith_dc_U_12 _uint8]
+- [arith_dc_U_13 _uint8]
+- [arith_dc_U_14 _uint8]
+- [arith_dc_U_15 _uint8]
+- [arith_dc_U_16 _uint8]
+-
+- [arith_dc_K_1 _uint8]
+- [arith_dc_K_2 _uint8]
+- [arith_dc_K_3 _uint8]
+- [arith_dc_K_4 _uint8]
+- [arith_dc_K_5 _uint8]
+- [arith_dc_K_6 _uint8]
+- [arith_dc_K_7 _uint8]
+- [arith_dc_K_8 _uint8]
+- [arith_dc_K_9 _uint8]
+- [arith_dc_K_10 _uint8]
+- [arith_dc_K_11 _uint8]
+- [arith_dc_K_12 _uint8]
+- [arith_dc_K_13 _uint8]
+- [arith_dc_K_14 _uint8]
+- [arith_dc_K_15 _uint8]
+- [arith_dc_K_16 _uint8]
+-
+- [num_scans _int]
+- [scan_info _pointer]
+-
+- [raw_data_in _jbool]
+- [arith_code _jbool]
+- [optimize_coding _jbool]
+- [sampling _sampling_t]
+- [smoothing_factor _int]
+- [dct_method _J_DCT_METHOD]
+-
+- [restart_interval _uint]
+- [restart_in_rows _int]
+-
+- [write_JFIF_header _jbool]
+- [JFIF_major_version _uint8]
+- [JFIF_minor_version _uint8]
+- [density_unit _uint8]
+- [X_density _uint16]
+- [Y_density _uint16]
+- [write_Adobe_marker _jbool]
+-
+- [next_scanline _JDIMENSION]
+-
+- [progressive_mode _jbool]
+- [factors _factors_t]
+-
+- [total_iMCU_rows _JDIMENSION]
+-
+- [comps_in_scan _int]
+- [cur_comp_info_1 _pointer]
+- [cur_comp_info_2 _pointer]
+- [cur_comp_info_3 _pointer]
+- [cur_comp_info_4 _pointer]
+-
+- [MCUs_per_row _JDIMENSION]
+- [MCU_rows_in_scan _JDIMENSION]
+-
+- [blocks_in_MCU _int]
+-
+- [MCU_membership_1 _int]
+- [MCU_membership_2 _int]
+- [MCU_membership_3 _int]
+- [MCU_membership_4 _int]
+- [MCU_membership_5 _int]
+- [MCU_membership_6 _int]
+- [MCU_membership_7 _int]
+- [MCU_membership_8 _int]
+- [MCU_membership_9 _int]
+- [MCU_membership_10 _int]
+-
+- [prog_scan _prog_scan_size] ; Ss, Se, Ah, Al
+-
+- [master _pointer]
+- [main _pointer]
+- [prep _pointer]
+- [coef _pointer]
+- [marker _pointer]
+- [cconvert _pointer]
+- [downsample _pointer]
+- [fdct _pointer]
+- [entropy _pointer]
+- [script_space _pointer]
+- [script_space_size _int]))
++ [downsample _pointer]
++ [fdct _pointer]
++ [entropy _pointer]
++ [script_space _pointer]
++ [script_space_size _int])]))
+
+ (define _j_compress_ptr _jpeg_compress_struct-pointer)
+
diff --git a/extra/racket/racket.install b/extra/racket/racket.install
new file mode 100644
index 000000000..660593cf5
--- /dev/null
+++ b/extra/racket/racket.install
@@ -0,0 +1,11 @@
+post_install() {
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}