aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/table/e-table-item.c
blob: 7ddfc1040593c88505bef9a45fae65f64c0f70cf (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
/*
 * E-table-item.c: A view of a Table.
 *
 * Author:
 *   Miguel de Icaza (miguel@gnu.org)
 *
 * Copyright 1999, Helix Code, Inc.
 */
#include <config.h>
#include "e-table-item.h"

#define PARENT_OBJECT_TYPE gnome_canvas_item_get_type ()

static GnomeCanvasItemClass *eti_parent_class;

enum {
    ARG_0,
    ARG_TABLE_HEADER,
    ARG_TABLE_MODEL,
    ARG_TABLE_X,
    ARG_TABLE_Y,
};

static void
eti_update (GnomeCanvasItem *item, double *affine, ArtSVP *clip_path, int flags)
{
    ETableItem *eti = E_TABLE_ITEM (item);
    
    if (GNOME_CANVAS_ITEM_CLASS (eti_parent_class)->update)
        (*GNOME_CANVAS_ITEM_CLASS (eti_parent_class)->update)(item, affine, clip_path, flags);

    item->x1 = eti->x1;
    item->y1 = eti->y1;
    item->x2 = eti->x1 + eti->width;
    item->y2 = eti->y1 + eti->height;

    gnome_canvas_group_child_bounds (GNOME_CANVAS_GROUP (item->parent), item);
}

static void
eti_remove_table_model (ETableItem *eti)
{
    if (!eti->table_model)
        return;

    gtk_signal_disconnect (eti->table_model_change_id);
    gtk_object_unref (GTK_OBJECT (eti->table_model));

    eti->table_model_change_id = 0;
    eti->table_model = NULL;
}

static void
eti_remove_header_model (ETableItem *eti)
{
    if (!eti->header)
        return;

    gtk_signal_disconnect (eti->header_structure_change_id);
    gtk_signal_disconnect (eti->header_dim_change_id);
    gtk_object_unref (GTK_OBJECT (eti->header));

    eti->header_structure_change_id = 0;
    eti->header_dim_change_id = 0;
    eti->header = NULL;
}

static void
eti_table_model_changed (ETableModel *table_model, ETableItem *eti)
{
    eti->height = e_table_model_height (eti->table_model);

    eti_update (GNOME_CANVAS_ITEM (eti), NULL, NULL, 0);
}

static void
eti_add_table_model (ETableItem *eti, ETableModel *table_model)
{
    g_assert (eti->table_model == NULL);
    
    eti->table_model = table_model;
    gtk_object_ref (GTK_OBJECT (table_model));
    eti->table_model_change_id = gtk_signal_connect (
        GTK_OBJECT (table_model), "model_changed",
        GTK_SIGNAL_FUNC (eti_table_model_changed), eti);
}

static void
eti_request_redraw (ETableItem *eti)
{
    GnomeCanvas *canvas = GNOME_CANVAS_ITEM (eti)->canvas;

    gnome_canvas_request_redraw (canvas, eti->x1, eti->y1, eti->x1 + eti->width, eti->y1 + eti->height);
}

static void
eti_header_dim_changed (ETableHeader *eth, int col, ETableItem *eti)
{
    eti->width = e_table_header_total_width (eti->header);

    eti_update (GNOME_CANVAS_ITEM (eti), NULL, NULL, 0);
    eti_request_redraw (eti);
}

static void
eti_header_structure_changed (ETableHeader *eth, ETableItem *eti)
{
    eti->width = e_table_header_total_width (eti->header);

    eti_update (GNOME_CANVAS_ITEM (eti), NULL, NULL, 0);
    eti_request_redraw (eti);
}

static void
eti_add_header_model (ETableItem *eti, ETableHeader *header)
{
    g_assert (eti->header == NULL);
    
    eti->header = header;
    gtk_object_ref (GTK_OBJECT (header));

    eti->width = e_table_header_total_width (header);
    
    eti->header_dim_change_id = gtk_signal_connect (
        GTK_OBJECT (header), "dimension_change",
        GTK_SIGNAL_FUNC (eti_header_dim_changed), eti);

    eti->header_structure_change_id = gtk_signal_connect (
        GTK_OBJECT (header), "structure_change",
        GTK_SIGNAL_FUNC (eti_header_structure_changed), eti);
}

static void
eti_destroy (GtkObject *object)
{
    ETableItem *eti = E_TABLE_ITEM (object);

    eti_remove_header_model (eti);
    eti_remove_table_model (eti);
    
    if (GTK_OBJECT_CLASS (eti_parent_class)->destroy)
        (*GTK_OBJECT_CLASS (eti_parent_class)->destroy) (object);
}

static void
eti_set_arg (GtkObject *o, GtkArg *arg, guint arg_id)
{
    GnomeCanvasItem *item;
    ETableItem *eti;
    int v;

    item = GNOME_CANVAS_ITEM (o);
    eti = E_TABLE_ITEM (o);

    switch (arg_id){
    case ARG_TABLE_HEADER:
        eti_remove_header_model (eti);
        eti_add_header_model (eti, GTK_VALUE_POINTER (*arg));
        break;

    case ARG_TABLE_MODEL:
        eti_remove_table_model (eti);
        eti_add_table_model (eti, GTK_VALUE_POINTER (*arg));

        eti->height = e_table_model_height (eti->table_model);
        break;
        
    case ARG_TABLE_X:
        eti->x1 = GTK_VALUE_INT (*arg);
        break;

    case ARG_TABLE_Y:
        eti->y1 = GTK_VALUE_INT (*arg);
        break;

    }
    eti_update (item, NULL, NULL, 0);
}

static void
eti_init (GnomeCanvasItem *item)
{
    ETableItem *eti = E_TABLE_ITEM (item);
}

static void
eti_realize (GnomeCanvasItem *item)
{
    ETableItem *eti = E_TABLE_ITEM (item);
    GtkWidget *canvas_widget = GTK_WIDGET (item->canvas);
    GdkWindow *window;

    if (GNOME_CANVAS_ITEM_CLASS (eti_parent_class)->realize)
                (*GNOME_CANVAS_ITEM_CLASS (eti_parent_class)->realize)(item);

    window = canvas_widget->window;
    
    eti->fill_gc = canvas_widget->style->white_gc;
    gdk_gc_ref (canvas_widget->style->white_gc);
    eti->grid_gc = gdk_gc_new (window);
    gdk_gc_set_foreground (eti->grid_gc, &canvas_widget->style->fg [GTK_STATE_NORMAL]);
}

static void
eti_unrealize (GnomeCanvasItem *item)
{
    ETableItem *eti = E_TABLE_ITEM (item);

    gdk_gc_unref (eti->fill_gc);
    eti->fill_gc = NULL;
    gdk_gc_unref (eti->grid_gc);
    eti->grid_gc = NULL;
    
    if (GNOME_CANVAS_ITEM_CLASS (eti_parent_class)->unrealize)
                (*GNOME_CANVAS_ITEM_CLASS (eti_parent_class)->unrealize)(item);
}

static void
draw_cell (ETableItem *eti, GdkDrawable *drawable, int col, int row,
       int x1, int y1, int x2, int y2)
{
    GnomeCanvas *canvas = GNOME_CANVAS_ITEM (eti)->canvas;
    GdkFont *font;
    char  text [40];
        
    font = GTK_WIDGET (canvas)->style->font;
    
    sprintf (text, "%d:%d\n", col, row);
    gdk_draw_line (drawable, eti->grid_gc, x1, y1, x2, y2);
    gdk_draw_line (drawable, eti->grid_gc, x1, y2, x2, y1);

    gdk_draw_text (drawable, font, eti->grid_gc, x1, y2, text, strlen (text));
}

static void
eti_draw (GnomeCanvasItem *item, GdkDrawable *drawable, int x, int y, int width, int height)
{
    ETableItem *eti = E_TABLE_ITEM (item);
    const int rows = e_table_model_row_count (eti->table_model);
    const int cols = e_table_header_count (eti->header);
    int row, col, y1, y2;
    int first_col, last_col, x_offset;
    int x1, x2;

    /*
     * Clear the background
     */
    gdk_draw_rectangle (
        drawable, eti->fill_gc, TRUE,
        eti->x1 - x, eti->y1 - y, eti->width, eti->height);
    
    /*
     * First column to draw, last column to draw
     */
    first_col = -1;
    last_col = x_offset = 0;
    x1 = eti->x1;
    for (col = 0; col < cols; col++, x1 = x2){
        ETableCol *ecol = e_table_header_get_column (eti->header, col);

        x2 = x1 + ecol->width;
        
        if (x1 > (x + width))
            break;
        if (x2 < x)
            continue;
        if (first_col == -1){
            x_offset = x1 - x;
            first_col = col;
        }
    }
    last_col = col;

    /*
     * Nothing to paint
     */
    if (first_col == -1)
        return;

    printf ("Cols %d %d\n", first_col, last_col);
    /*
     * Draw individual lines
     */
    y1 = y2 = eti->y1;
    for (row = eti->top_item; row < rows; row++, y1 = y2){
        int xd;
        
        y2 += e_table_model_row_height (eti->table_model, row) + 1;

        if (y1 > y + height)
            break;

        if (y2 < y)
            continue;
        
        if (eti->draw_grid)
            gdk_draw_line (drawable, eti->grid_gc, 0, y - y2, width, y - y2);

        xd = x_offset;
        for (col = first_col; col < last_col; col++){
            ETableCol *ecol = e_table_header_get_column (eti->header, col);

            draw_cell (eti, drawable, col, row, xd, y1 - y, xd + ecol->width, y2);
            xd += ecol->width;
        }
    }
}

static double
eti_point (GnomeCanvasItem *item, double x, double y, int cx, int cy,
       GnomeCanvasItem **actual_item)
{
    *actual_item = item;

    return 0.0;
}

static int
eti_event (GnomeCanvasItem *item, GdkEvent *e)
{
    return FALSE;
}
    
static void
eti_class_init (GtkObjectClass *object_class)
{
    GnomeCanvasItemClass *item_class = (GnomeCanvasItemClass *) object_class;

    eti_parent_class = gtk_type_class (PARENT_OBJECT_TYPE);
    
    object_class->destroy = eti_destroy;
    object_class->set_arg = eti_set_arg;

    item_class->update      = eti_update;
    item_class->realize     = eti_realize;
    item_class->unrealize   = eti_unrealize;
    item_class->draw        = eti_draw;
    item_class->point       = eti_point;
    item_class->event       = eti_event;
    
    gtk_object_add_arg_type ("ETableItem::ETableHeader", GTK_TYPE_POINTER,
                 GTK_ARG_WRITABLE, ARG_TABLE_HEADER);
    gtk_object_add_arg_type ("ETableItem::ETableModel", GTK_TYPE_POINTER,
                 GTK_ARG_WRITABLE, ARG_TABLE_MODEL);
    gtk_object_add_arg_type ("ETableItem::x", GTK_TYPE_INT,
                 GTK_ARG_WRITABLE, ARG_TABLE_X);
    gtk_object_add_arg_type ("ETableItem::y", GTK_TYPE_INT,
                 GTK_ARG_WRITABLE, ARG_TABLE_Y);
}

GtkType
e_table_item_get_type (void)
{
    static GtkType type = 0;

    if (!type){
        GtkTypeInfo info = {
            "ETableItem",
            sizeof (ETableItem),
            sizeof (ETableItemClass),
            (GtkClassInitFunc) eti_class_init,
            (GtkObjectInitFunc) eti_init,
            NULL, /* reserved 1 */
            NULL, /* reserved 2 */
            (GtkClassInitFunc) NULL
        };

        type = gtk_type_unique (PARENT_OBJECT_TYPE, &info);
    }

    return type;
}

>187-188/+0 | * biology/pear-merger: enable on aarch64, armv6, armv7, riscv64Piotr Kubaj2021-04-061-5/+0 | | | | It should build now. * biology/trimadap: fix build on powerpc64lePiotr Kubaj2021-04-061-1/+8 | | | | Requires GCC for its SSE translation. * biology/pear-merger: fix build on non-x86Piotr Kubaj2021-04-061-0/+6 | | | | Builds fine with GCC. * biology/subread: Update to 2.0.2Jason W. Bacon2021-03-304-19/+20 | | | | | | Minor bug fixes and enhancements Reported by: portscout * biology/molden: Fix build with gfortran10Yuri Victorovich2021-03-301-1/+9 | * biology/igv: Update 2.8.13 -> 2.9.4Yuri Victorovich2021-03-293-42/+44 | * biology/vcflib: fix build on powerpc64lePiotr Kubaj2021-03-291-0/+7 | | | | | | | | | Use GCC for its SSE -> AltiVec translation: In file included from src/ssw.cpp:38: In file included from /usr/lib/clang/11.0.1/include/emmintrin.h:13: In file included from /usr/lib/clang/11.0.1/include/xmmintrin.h:13: /usr/lib/clang/11.0.1/include/mmintrin.h:33:5: error: use of undeclared identifier '__builtin_ia32_emms'; did you mean '__builtin_isless'? __builtin_ia32_emms(); * biology/vsearch: Update to 2.16.0Jason W. Bacon2021-03-252-4/+4 | | | | | | | Add "orient" subcommand A few other fixes and enhancements Reported by: portscout * Mark ports recursively depending on Python 2.7 for expiration on June 23.Rene Ladan2021-03-242-0/+6 | | | | | | | | | | | For ports optionally dependending on Python 2.7, just mark those options as expired. Remove konquerer from the x11/kde-baseapps metaport and bump its PORTREVISION. Submitted by: rene Reviewed by: portmgr, adridg, ehaupt, lme, madpilot, pizzamig, se, sunpoet, yuri Approved by: portmgr Differential Revision: https://reviews.freebsd.org/D28665 * biology/vcf2hap: Generate .hap file from VCF for haplohseqJason W. Bacon2021-03-244-0/+35 | | | | | | vcf2hap is a simple tool for generating a .hap file from a VCF. The .hap file is required by haplohseq. vcf2hap is extremely fast and requires a trivial amount of memory regardless of the size of the VCF file. * biology/ad2vcf: Add allelic depth info from a SAM stream to a VCF fileJason W. Bacon2021-03-234-0/+36 | | | | | | | ad2vdf extracts allelic depth info from a SAM stream and adds it to a corresponding single-sample VCF file. SAM input is read via stdin and the VCF input file is taken as a command-line argument. This allows expensive BAM/CRAM decoding to be performed in parallel by a separate samtools process. * - Update Unipro UGENE to version 38.0Alexey Dokuchaev2021-03-235-28/+8 | | | | | | - Garbage-collect no longer needed patches - Make COMMENT shorter and closer to upstream - Stop building bundled SQLite, use ours! * Fix spelling mistakes, typos, poor wording, hyphenation, jargonisms,Alexey Dokuchaev2021-03-221-1/+1 | | | | | contractions, "<portname> is ..." cases, missing Oxford commas, and other miscellaneous style bugs in the COMMENT line. * biology/vcf-split: Split a multi-sample VCF into single-sample VCFsJason W. Bacon2021-03-214-0/+35 | | | | | | | | | Vcf-split splits a multi-sample VCF into single-sample VCFs, writing thousands of output files simultaneously. Parsing the TOPMed human chromosome 1 BCF with bcftools takes two days, so extracting the 137,977 samples one at a time or using thousands of parallel readers of the same file is impractical. Vcf-split solves this by generating thousands of single-sample outputs during a single sweep through the multi-sample input. * biology/biolibc: Low-level high-performance bioinformatics libraryJason W. Bacon2021-03-215-0/+33 | | | | | | | | Biolibc is a library of fast, memory-efficient, low-level functions for processing biological data. Like libc, it consists of numerous disparate, general-purpose functions which could be used by a wide variety of applications. These include functions for streaming common file formats such as SAM and VCF, string functions specific to bioinformatics, etc. * biology/htslib: Update to 1.12Jason W. Bacon2021-03-2117-148/+32 | | | | | | | | | | | biology/samtools: Update to 1.12 biology/bcftools: Update to 1.12 Numerous enhancements, performance improvements, and bug fixes since 1.11 Build-tested all other htslib dependents, no revbumps should be needed Reported by: portscout * biology/generand: Update to 0.1.2Jason W. Bacon2021-03-202-4/+4 | | | | Generate proper VCF and SAM headers and valid CIGAR strings * biology/py-multiqc: Update to 1.10Jason W. Bacon2021-03-202-4/+5 | | | | | | Numerous new features, a few bug fixes since 1.9 Reported by: portscout * biology/ngs-sdk: Update 2.10.9 -> 2.11.0Yuri Victorovich2021-03-203-5/+6 | | | | Reported by: portscout * PyQt5: Update PyQt5 to 5.15.4 and py-qtbuilder to 1.9.1Loïc Bartoletti2021-03-161-1/+1 | | | | | PR: 254218 Exp-run by: antoine * biology/generand: Generate random genomic data in FAST[AQ], SAM, or VCF formatJason W. Bacon2021-03-164-0/+27 | | | | | | Generate random genomic data in FASTA/FASTQ, SAM, or VCF format, suitable for small academic examples or test inputs of arbitrary size. Output can be piped directly to programs or redirected to a file and edited to taste. * biology/abyss: Add PORTSCOUT lineYuri Victorovich2021-03-141-0/+2 | * Move: biology/py-fastTSNE -> math/py-openTSNEYuri Victorovich2021-03-145-49/+0 | | | | Project was renamed and reimplemented. * biology/gatk: Fix fetchYuri Victorovich2021-03-141-5/+5 | | | | Reported by: fallout * biology/gatk: Update 4.1.9.0 -> 4.2.0.0Yuri Victorovich2021-03-122-7/+6 | * biology/diamond: Update to 2.0.8Joseph Mingrone2021-03-112-4/+4 | | | | https://github.com/bbuchfink/diamond/releases/tag/v2.0.8 * biology/hmmer: disable on powerpc64le and powerpcspePiotr Kubaj2021-03-111-1/+1 | | | | | Altivec/VSX code in this port works only on big-endian POWER. powerpcspe has neither SSE2 nor Altivec. * biology/py-scikit-bio: fix build on powerpc64Piotr Kubaj2021-03-091-1/+1 | | | | | | | | | | GCC is also necessary on powerpc64: In file included from skbio/alignment/_ssw_wrapper.c:626: In file included from skbio/alignment/_lib/ssw.h:17: In file included from /usr/lib/clang/11.0.1/include/emmintrin.h:13: In file included from /usr/lib/clang/11.0.1/include/xmmintrin.h:13: /usr/lib/clang/11.0.1/include/mmintrin.h:50:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size return (__m64)__builtin_ia32_vec_init_v2si(__i, 0); * biology/py-scikit-bio: fix build on powerpc64lePiotr Kubaj2021-03-091-2/+5 | | | | | | | | | | Use GCC: In file included from skbio/alignment/_ssw_wrapper.c:626: In file included from skbio/alignment/_lib/ssw.h:17: In file included from /usr/lib/clang/11.0.1/include/emmintrin.h:13: In file included from /usr/lib/clang/11.0.1/include/xmmintrin.h:13: /usr/lib/clang/11.0.1/include/mmintrin.h:50:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size return (__m64)__builtin_ia32_vec_init_v2si(__i, 0); * PyQt5: Update PyQt5 to 5.15.3, QScintilla2 to 2.12.0, py-qtbuilder to 1.9.0Loïc Bartoletti2021-03-081-1/+1 | | | | | | | | | | | | | | | | | | | | | | | * PyQt5: update to 5.15.3 This is a minor feature and bug-fix release. There are corresponding releases of the other PyQt5-related packages. - Added the missing QImage.setAlphaChannel(). - Support for the QtNetworkAuth library has been moved to a separate PyQtNetworkAuth package. - Wheels no longer bundle the corresponding Qt libraries and instead automatically install them from an external wheel. * QScintilla2: update to 2.12.0 This adds support for Qt6 and removes support for Qt4. - Change the new distname (again)i due to a conflict - Use the new sip-build system * devel/py-qtbuilder: update to 1.9.0 * devel/py-sip: fix flavor for sip-distinfo PR: 253865 Exp-run by: antoine * Unbreak INDEXAntoine Brodin2021-03-071-1/+1 | * py-cutadapt: Update to 3.3Jason W. Bacon2021-03-072-5/+5 | | | | | | | | | | Numerous small bug fixes and enhancements, code refactoring py-xopen: Update to 1.1.0 Required by cutadapt 3.3 Drop python 3.5 support Add isal support (not yet utilized in FreeBSD port) * biology/libbigwig: Update 0.4.4 -> 0.4.6Yuri Victorovich2021-03-063-7/+17 | * biology/spoa: fix build on non-x86Piotr Kubaj2021-03-051-1/+7 | | | | | | In file included from /wrkdirs/usr/ports/biology/spoa/work/spoa-4.0.7/src/dispatcher.cpp:7: /usr/local/include/cpuinfo_x86.h:228:2: error: "Including cpuinfo_x86.h from a non-x86 target." #error "Including cpuinfo_x86.h from a non-x86 target." * biology/bwa: fix build on powerpc64lePiotr Kubaj2021-03-021-2/+5 | | | | | | | | | Use GCC's SSE->Altivec translation: In file included from ksw.c:29: In file included from /usr/lib/clang/11.0.1/include/emmintrin.h:13: In file included from /usr/lib/clang/11.0.1/include/xmmintrin.h:13: /usr/lib/clang/11.0.1/include/mmintrin.h:50:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size return (__m64)__builtin_ia32_vec_init_v2si(__i, 0); * biology/py-bx-python: Update 0.8.9 -> 0.8.10Yuri Victorovich2021-02-272-9/+6 | * biology/hyphy: Update to 2.5.29Joseph Mingrone2021-02-252-4/+4 | | | | https://github.com/veg/hyphy/releases/tag/2.5.29 * biology/hyphy: Update to 2.5.28Joseph Mingrone2021-02-243-4/+5 | | | | https://github.com/veg/hyphy/releases/tag/2.5.28 * Introduce devel/onetbb and mark devel/tbb as legacyGanael LAPLANCHE2021-02-191-2/+2 | | | | | | | | | | | | | | | | | | | | | | | Intel oneAPI tbb 2021.1 (onetbb) has been released[1][2] and has deprecated several interfaces over tbb 2020, breaking most dependent ports. Old tbb 2020 will be kept for a certain time to allow transition but will be removed in a near future as it CONFLICTS with devel/onetbb. New ports should now use devel/onetbb instead of devel/tbb. We tried to move a maximum number of dependent ports to devel/onetbb (or disable dependency when not possible), but some of them still remain stuck to devel/tbb. Remaining ones have not been identified as major dependencies themselves and will be fixed as soon as updates are available from upstream. PR: 252648, 252688 [3], 252683 [4], 252651 [5], 252690 [3], 252693 [3], 252695 [3], 252696 [3], 252786 [3], 252649, 252868 [6], 252870 [5], 252684 [7], 252785 [7] Approved by: yuri [3], jwb [4], thierry [5], FreeBSD@Shaneware.biz [6], maintainer timeout [7] [1] https://software.intel.com/content/www/us/en/develop/articles/intel-oneapi-threading-building-blocks-release-notes.html [2] https://software.intel.com/content/www/us/en/develop/articles/tbb-revamp.html * biology/spoa: Fix build after recent devel/cereal update; Fix LIB_DEPENDSYuri Victorovich2021-02-192-4/+16 | | | | Reported by: fallout * Mark BROKEN in 13/14 (via latest llvm update).Mark Linimon2021-02-181-0/+3 | * biology/diamond: Update to 2.0.7Joseph Mingrone2021-02-182-4/+4 | | | | https://github.com/bbuchfink/diamond/releases/tag/v2.0.7 * Update a few GNUstep ports:Neel Chauhan2021-02-151-1/+1 | | | | | | | | | * devel/gnustep-make: Update to 2.8.0 * lang/gnustep-base: Update to 1.27.0 * x11-toolkits/gnustep-back: update to 0.28.0 * x11-toolkits/gnustep-gui: update to 0.28.0 Also bump PORTREVISION on dependent ports. * biology/py-multiqc: Update to 1.9Jason W. Bacon2021-02-052-6/+7 | | | | | | Fix runtime error due to incompatibility of 1.8 with latest matplotlib Drop python2 support Numerous new features and bug fixes * biology/fastqc: Update to 0.11.9Jason W. Bacon2021-02-042-4/+4 | | | | Minor bug fixes since 0.11.8 * biology/bioparser: Update 3.0.12 -> 3.0.12-2Yuri Victorovich2021-02-043-17/+17 | | | | Install target is added. * biology/py-cutadapt: Update to 3.2Jason W. Bacon2021-02-034-12/+12 | | | | | | | | | | biology/py-dnaio: Update to 0.5.0 archivers/py-xopen: Update to 1.0.0 Numerous bug fixes and enhancements since cutadapt 3.2 Document cutadapt dependency versions dnaio~=0.5.0 xopen~=1.0.0 Bump python dependency to 3.6+ to restrict package builds * biology/bowtie2: Reverse switch to devel/onetbbJason W. Bacon2021-01-311-2/+2 | | | | | | Mistakenly believed onetbb was already committed PR: 252683 * biology/bowtie2: Switch to devel/onetbbJason W. Bacon2021-01-311-1/+2 | | | | | PR: 252683 Submitted by: martymac * biology/vsearch: Update to 2.15.2Jason W. Bacon2021-01-303-10/+11 | | | | | | Code clean up and modernization Reported by: portscout * Update USES=python: math/py-pandas 1.2.0 requires Python 3.7+Sunpoet Po-Chuan Hsieh2021-01-305-5/+5 | | | | PR: 250103 * biology/hyphy: Update to version 2.5.27Joseph Mingrone2021-01-272-4/+4 | | | | https://github.com/veg/hyphy/releases/tag/2.5.27 * biology/kallisto: Add -lz for pending hdf5 upgradeJason W. Bacon2021-01-261-1/+2 | | | | | PR: 252965 Submitted by: thierry * biology/bedtools: Upgrade to 2.30.0Jason W. Bacon2021-01-256-34/+46 | | | | | | Several bug fixes and performance enhancements Reported by: portscout * biology/haplohseq: Fix example scripts for python 3Jason W. Bacon2021-01-246-43/+81 | | | | Also clean up plist * biology/bedtools: License changed upstreamJason W. Bacon2021-01-221-1/+1 | * biology/gatk: Add the WITH_LARGE_FILES option.Yuri Victorovich2021-01-221-0/+30 | * biology/gatk: Update 4.1.8.1 -> 4.1.9.0Yuri Victorovich2021-01-222-6/+6 | * Fix build on GCC-based systems by adding compiler:c++14-lang to USES:Mark Linimon2021-01-201-1/+1 | | | | | | | | CMake Error in CMakeLists.txt: Target "runTests" requires the language dialect "CXX14" , but CMake does not know the compile flags to use to enable it. Approved by: portmgr (tier-2 blanket) * Add compiler:c++11-lang to USES to fix build on GCC-based systems:Mark Linimon2021-01-201-1/+1 | | | | | | | | CMake Error in CMakeLists.txt: Target "rampler" requires the language dialect "CXX11" , but CMake does not know the compile flags to use to enable it. Approved by: portmgr (tier-2 blanket) * biology/bioparser: Cosmetic changesYuri Victorovich2021-01-191-9/+9 | * New port: biology/rampler: Standalone module for sampling genomic sequencesYuri Victorovich2021-01-195-0/+66 | * New port: biology/edlib: Fast C++ library for sequence alignment using edit ↵Yuri Victorovich2021-01-195-0/+40 | | | | distance * New port: biology/spoa: C++ implementation of the partial order alignment ↵Yuri Victorovich2021-01-196-0/+166 | | | | (POA) algorithm * New port: biology/biosoup: Collection of C++ header-only data structures for ↵Yuri Victorovich2021-01-194-0/+46 | | | | bioinformatics * New port: biology/bioparser: C++ header only parsing library for several ↵Yuri Victorovich2021-01-194-0/+49 | | | | formats in bioinformatics * Mark BROKEN on riscv64 the same as on aarch64.Mark Linimon2021-01-191-2/+3 | | | | | | | While here, pet portlint (Makevar order). Approved by: portmgr (tier-2 blanket) Obtained from: lonesome.com build testing * Mark BROKEN on riscv64 the same as armv*:Mark Linimon2021-01-191-0/+1 | | | | | | | | | # make[2]: cannot open makefile.. Note the filname reported is "Makefile." (e.g. probably empty suffix). Approved by: portmgr (tier-2 blanket) Obtained from: lonesome.com build testing * biology/vsearch: enable on powerpc64lePiotr Kubaj2021-01-171-1/+1 | * biology/hyphy: Update to version 2.5.26Joseph Mingrone2021-01-162-5/+4 | | | | https://github.com/veg/hyphy/releases/tag/2.5.26 * biology/haplohseq: Restrict to python3Jason W. Bacon2021-01-152-2/+1 | | | | | | Also remove extraneous @dir from plist Reported by: rene * Hook haplohseq to the buildAntoine Brodin2021-01-151-0/+1 | * biology/haplohseq: Resurrect and fix python2 dependencyJason W. Bacon2021-01-1413-0/+308 | | | | Move upstream to Github fork * Remove PY_SPHINX from ports using Python 3Danilo G. Baio2021-01-141-1/+1 | | | | | Approved by: portmgr blanket Differential Revision: https://reviews.freebsd.org/D28093 * biology/iqtree: Remove USES=compiler:openmp, fix amd64 clang++ buildJoseph Mingrone2021-01-132-2/+14 | | | | | | | | | | | - USES=compiler:openmp still forces building with GCC. This is no longer necessary on tier 1 platforms, which have openmp in base. - Mark broken on i386, because base clang doesn't have 64 bit atomic functions for i386 (see bug 230888). PR: 247753, 252379 Submitted by: cmt (based on) * biology/hyphy: Remove USES=compiler:openmpJoseph Mingrone2021-01-121-1/+2 | | | | | | | USES=compiler:openmp still forces building with GCC. This is no longer necessary on tier 1 platforms, which have openmp in the base system. PR: 247753, 252379 * biology/star: Drop dependency on gccJason W. Bacon2021-01-122-15/+15 | | | | | | Replace compiler:openmp with compiler:c++11-lang and localbase PR: port/247753, ports/252379 * biology/stacks: Drop dependency on gccJason W. Bacon2021-01-121-4/+4 | | | | | | | Replace compiler:openmp with compiler:c++11-lang and localbase Set USE_GCC for i386 to work around limitations in clang atomic (PR 230888) PR: port/247753, ports/252379 * biology/ncbi-blast+: Drop dependency on gccJason W. Bacon2021-01-122-4/+26 | | | | | | | | | Replace compiler:openmp with compiler:c++14-lang Clang build also requires localbase:ldflags and a source patch to explicitly set variables to shared GCC-based platforms still require -latomic PR: port/247753, ports/252379 * biology/gcta: Drop dependency on gccJason W. Bacon2021-01-121-10/+4 | | | | | | | | Replace compiler:openmp with compiler:c++11-lang Clang build also requires localbase:ldflags Build tested on amd64, i386 and powerpc64 12.x-RELEASE PR: port/247753, ports/252379 * biology/fasttree: Drop dependency on gccJason W. Bacon2021-01-121-3/+1 | | | | | | | Simply remove compiler:openmp Builds with base compiler on amd64, i386, and powerpc64 12.x-RELEASE PR: port/247753, ports/252379 * biology/cd-hit: Drop dependency on gccJason W. Bacon2021-01-121-2/+2 | | | | | | | Simply remove compiler:openmp Builds with base compiler on amd64, i386, and powerpc64 PR: port/247753, ports/252379 * biology/canu: Drop dependency on gccJason W. Bacon2021-01-121-9/+3 | | | | | | Replace compiler:openmp with compiler:c++11-lang and localbase PR: port/247753, ports/252379 * biology/py-biom-format: Update to version 2.1.10Joseph Mingrone2021-01-112-5/+4 | | | | https://github.com/biocore/biom-format/releases/tag/2.1.10 * biology/hyphy: Update to version 2.5.25Joseph Mingrone2021-01-112-4/+4 | | | | https://github.com/veg/hyphy/releases/tag/2.5.25 * biology/pooler: Upgrade to 1.76Jason W. Bacon2021-01-092-4/+4 | | | | | | | Fixes race condition for make jobs in upstream Makefile PR: 252352 Submitted by: silas-freebsd@flatline.org.uk * biology/gemma: Upgrade to 0.98.3Jason W. Bacon2021-01-033-20/+4 | | | | | | Minor bug fixes and enhancements Reported by: portscout * For ports on riscv64 that fail the same (or similar ways) to aarch64, markMark Linimon2021-01-026-0/+6 | | | | | | | | them BROKEN. While here, pet portlint (Makevar order). Approved by: portmgr (tier-2 blanket) * - Update Unipro UGENE port to version 37.0Alexey Dokuchaev2020-12-3113-248/+56 | | | | | | - Drop no longer used WebEngine dependencies - Force SSE2 on i386 (required for the build) - Chase HTTP 301 redirection in the WWW line * Drop python 2.7 support from a few portsAntoine Brodin2020-12-299-9/+9 | | | | With hat: portmgr * Restrict to Java 8, since this doesn't compile with Java 11Greg Lewis2020-12-271-0/+1 | | | | PR: 251774 * scipy 1.5.4 is only compatible with python 3.6+Antoine Brodin2020-12-242-2/+2 | | | | Reported by: pkg-fallout * biology/hyphy: Update to version 2.5.24Joseph Mingrone2020-12-212-4/+4 | | | | https://github.com/veg/hyphy/releases/tag/2.5.24 * biology/diamond: Update to version 2.0.6Joseph Mingrone2020-12-212-4/+4 | | | | https://github.com/bbuchfink/diamond/releases/tag/v2.0.6 * Set CMAKE options explicitlySunpoet Po-Chuan Hsieh2020-12-201-0/+2 | * Add EXPAT, LIBXML and XERCES optionsSunpoet Po-Chuan Hsieh2020-12-201-2/+13 | | | | It allows choosing XML parser library. * biology/ngs-sdk: Update 2.10.5 -> 2.10.9Yuri Victorovich2020-12-183-5/+5 | | | | Reported by: portscout * biology/py-pyfaidx: Update 0.5.9.1 -> 0.5.9.2Yuri Victorovich2020-12-172-4/+4 | | | | Reported by: portscout * Update PyQt5 to 5.15.2, sip to 5.5.0, py-qtbuilder to 1.6.0 and py-qt5-sip ↵Loïc Bartoletti2020-12-161-1/+1 | | | | | | | to 12.8.1 PR: 251764 Exp-run by: antoine * - Upgrade math/eigen3 to 3.3.8;Thierry Thomas2020-12-134-3/+4 | | | | | | | | | | - Add some dependencies which might be detected by Find_Package but not registered; - Bump PORTREVISION of consumers. PR: 250833 Submitted by: /me Approved by: tcberner@ (KDE / maintainer) + exp-run * Update to 5.19.0Sunpoet Po-Chuan Hsieh2020-12-114-12/+18 | | | | Changes: https://github.com/sbmlteam/libsbml/releases * Update Qt/PySide2 to 5.15.2 / PyQt to 5.15.1 / SIP to 5.4.0Loïc Bartoletti2020-12-091-1/+1 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit combines several updates. - Update Qt to 5.12.2 - Update PyQt to 5.15.1 - Since PySide 5.15.1 is broken with Qt 5.15.2, so PySide and Shiboken are also updated to 5.15.2. - Update sip to 5.4.0 SIP is a collection of tools to create Python bindings for C and C++ libraries and used by PyQt and wxPython. There are some changes with sip5 [1]: - python 3.5+ is required - sip drops support of old deprecated methods as sipdistutils & cie. - this version breaks also PyQt5 extension ABI. SIP files will be installed in ${PYTHON_SITELIBDIR}/PyQt${_PYQT_VERSION}/bindings - some ports will use the new pyqtbuilder package with the pyproject.toml setup. Instead if the project have a setup.py, you should use sip-build to build it. - if a port needs sip, it should also needs pysip. BTW, py-qt5-core requires pysip, so that should be enough for PyQt packages. List of ports impacted by this change. Most of the patches have been integrated or are in the process of being integrated upstream: - devel/libsavitar - graphics/py-python-poppler-qt5 - net-im/scudcloud - net/libarcus - print/py-frescobaldi - science/py-veusz - graphics/qgis and graphics/qgis-ltr - deskutils/calibre A special note regarding calibre. New versions require sip>=5, we update it to the latest version (thanks to madpilot@) science/scidavis will remove the PyQt binding soon and there is no patch planned, so we remove the python option (ok makc@) While here, convert some ports to USE_PYQT (cad/cura, cad/uranium, devel/eric6, ...) Thanks to tcberner and adridg! [1] https://www.riverbankcomputing.com/static/Docs/sip/ PR: 250853 Exp-run by: antoine * biology/viennarna: Update 2.4.16 -> 2.4.17Yuri Victorovich2020-12-074-17/+6 | * biology/diamond: Update to version 2.0.5Joseph Mingrone2020-12-022-4/+4 | | | | https://github.com/bbuchfink/diamond/releases/tag/v2.0.5 * biology/igv: Fix fetch by fixing a small left-over mistakeYuri Victorovich2020-12-011-1/+1 | | | | | PR: 250980 Reported by: jwb * biology/igv: 2.5.3 -> 2.8.13Yuri Victorovich2020-11-304-26/+310 | | | | PR: 250980 * biology/tabixpp: fix build on GCC architecturesPiotr Kubaj2020-11-241-1/+1 | | | | | | | | | | | | | c++ -O2 -pipe -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing -isystem /usr/local/include -fPIC -c tabix.cpp -Ihtslib In file included from /usr/local/include/htslib/hts.h:37, from /usr/local/include/htslib/tbx.h:30, from tabix.hpp:5, from tabix.cpp:1: /usr/local/include/htslib/kstring.h: In function 'int ks_resize(kstring_t*, size_t)': /usr/local/include/htslib/kstring.h:149: error: 'SIZE_MAX' was not declared in this scope tabix.cpp: In constructor 'Tabix::Tabix(std::string&)': tabix.cpp:15: warning: 'bgzf_is_bgzf' is deprecated (declared at /usr/local/include/htslib/bgzf.h:263) tabix.cpp:15: warning: 'bgzf_is_bgzf' is deprecated (declared at /usr/local/include/htslib/bgzf.h:263) * Add education virtual categoryAdam Weinberger2020-11-202-2/+2 | | | | | PR: 248402 Submitted by: PauAmma * biology/hyphy: Update to version 2.5.23Joseph Mingrone2020-11-192-4/+4 | | | | Upstream changes: https://github.com/veg/hyphy/releases/tag/2.5.23 * biology/hyphy: Update to version 2.5.22Joseph Mingrone2020-11-182-4/+4 | | | | Upstream changes: https://github.com/veg/hyphy/releases/tag/2.5.22hf * biology/ncbi-blast+: Upgrade to 2.11.0Jason W. Bacon2020-11-174-21/+34 | | | | | | | | A few bug fixes and performance improvements since 2.10.0 Also overcomes GCC 10 build issues PR: ports/246700 Reported by: linimon * biology/py-pysam: Update 0.16.0 -> 0.16.0.1Yuri Victorovich2020-11-162-4/+4 | * biology/pooler: Optimise DNA sequencing primer-set combinationsJason W. Bacon2020-11-164-0/+52 | | | | | | | | | | | | | | | | | | | | | | | | | | | | Optimise combinations of primers and minimise the formation of dimers in multiplexed PCR. Primer Pooler can: * Check through each proposed pool for combinations that are likely to form dimers * Automatically move prospective amplicons between proposed pools to reduce dimer formation * Automatically search the genome sequence to find which amplicons overlap, and place their corresponding primers in separate pools * Optionally keep pool sizes within a specified range * Handle thousands of primers without being slow (useful for high-throughput sequencing applications) * Do all of the above with degenerate primers too. WWW: http://ssb22.user.srcf.net/pooler/ PR: ports/251065 Submitted by: Silas S. Brown <silas-freebsd@flatline.org.uk> * biology/viennarna: Update 2.4.15 -> 2.4.16Yuri Victorovich2020-11-12